📄 unitjhth.~pas
字号:
unit UnitJHTH;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, Buttons;
type
TFrmJHTH = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
Label2: TLabel;
GroupBox2: TGroupBox;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Label7: TLabel;
Edit5: TEdit;
Label8: TLabel;
Edit6: TEdit;
Label9: TLabel;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label1: TLabel;
Memo1: TMemo;
procedure DIS;
procedure CLS;
procedure ENA;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure ComboBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure BitBtn1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1CellClick(Column: TColumn);
procedure ComboBox1Change(Sender: TObject);
private
totalmon,tempmon: real;
form_id: integer;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmJHTH: TFrmJHTH;
implementation
uses UnitDM;
{$R *.dfm}
procedure TFrmJHTH.DIS;
begin
Edit1.Enabled := false;
Edit1.Color := clLtGray;
Edit2.Enabled := false;
Edit2.Color := clLtGray;
Edit5.Enabled := false;
Edit5.Color := clLtGray;
Edit6.Enabled := false;
Edit6.Color := clLtGray;
Memo1.Enabled := false;
Memo1.Color := clLtGray;
end;
procedure TFrmJHTH.CLS;
begin
Edit1.Clear;
Edit2.Clear;
Edit5.Clear;
Edit6.Clear;
Memo1.Clear;
end;
procedure TFrmJHTH.ENA;
begin
Edit1.Enabled := true;
Edit1.Color := clwindow;
Edit2.Enabled := true;
Edit2.Color := clwindow;
Edit5.Enabled := true;
Edit5.Color := clwindow;
Edit6.Enabled := true;
Edit6.Color := clwindow;
Memo1.Enabled := true;
Memo1.Color := clwindow;
end;
procedure TFrmJHTH.BitBtn2Click(Sender: TObject);
begin
ENA;
CLS;
with DM.ADOQCHTH do
begin
Edit1.Text := fieldbyname('order_prod_id').Value;
Edit5.Text := fieldbyname('order_prod_name').Value;
Edit6.Text := fieldbyname('order_prod_price').AsString;
Edit2.Text := fieldbyname('order_prod_number').AsString;
Memo1.Text := fieldbyname('order_memo').Value;
end;
BitBtn4.Enabled := true;
BitBtn5.Enabled := true;
end;
procedure TFrmJHTH.BitBtn4Click(Sender: TObject);
var
str1,str2: string;
destmoney: real;//已经更改过的销售金额
begin
tempmon := DM.ADOQCHTH.fieldbyname('order_money').Value;
form_id := DM.ADOQCHTH.fieldbyname('order_form_id').Value;
destmoney := strtofloat(Edit6.Text) * strtoint(Edit2.Text);
str1 := 'update orders set order_prod_id = :id, order_prod_name = :name, order_prod_price = :price, order_prod_number = :number, order_memo = :memo where order_id = :orid';
str2 := 'update order_pay set order_total_money = :money where order_form_id = :id';
with DM.ADOQTEMP1 do
begin
close;
SQL.Clear;
SQL.Add(str1);
parameters.ParamByName('id').Value := trim(Edit1.Text);
parameters.ParamByName('name').Value := trim(Edit5.Text);
parameters.ParamByName('price').Value := strtofloat(Edit6.Text);
parameters.ParamByName('number').Value := strtofloat(Edit2.Text);
parameters.ParamByName('memo').Value := trim(memo1.Text);
parameters.ParamByName('orid').Value := DM.ADOQCHTH.fieldbyname('order_id').Value;
if (not prepared) then
prepared := true;
try
ExecSQL;
except
BitBtn4.Enabled := false;
BitBtn5.Enabled := false;
showmessage('操作失败,请再试!');
exit;
end;
close;
SQL.Clear;
SQL.Add(str2);
parameters.ParamByName('money').Value := totalmon - tempmon + destmoney;
parameters.ParamByName('id').Value := form_id;
if (not prepared) then
prepared := true;
try
ExecSQL;
except
messagebox(0,pchar('发生错误,请把订单号为' + inttostr(form_id) + '的订单的总金额改为' + floattostr(totalmon - tempmon + destmoney) + '元') , '错误',MB_OK);
end;
end;
CLS;
DIS;
end;
procedure TFrmJHTH.BitBtn3Click(Sender: TObject);
var
str1,str2: string;
mon1: real;
ids: integer;
begin
mon1 := DM.ADOQCHTH.fieldbyname('order_money').Value;
ids := DM.ADOQCHTH.fieldbyname('order_form_id').Value;
str1 := 'delete from orders where order_form_id = :formid and order_id = :id';
str2 := 'update order_pay set order_total_money = :money where order_form_id = :id';
if (messagebox(0, pchar('确实要删除这条订单记录吗?'), '警告', MB_OKCANCEL) = IDOK) then
begin
with DM.ADOQTEMP1 do
begin
close;
SQL.Clear;
SQL.Add(str1);
parameters.ParamByName('formid').Value := DM.ADOQCHTH.fieldbyname('order_form_id').Value;
parameters.ParamByName('id').Value := DM.ADOQCHTH.fieldbyname('order_id').Value;
if (not prepared) then
prepared := true;
try
ExecSQL;
except
showmessage('操作失败,请再试!');
end;
close;
SQL.Clear;
SQL.Add(str2);
parameters.ParamByName('money').Value := mon1;
parameters.ParamByName('id').Value := ids;
if (not prepared) then
prepared := true;
try
ExecSQL;
except
messagebox(0,pchar('发生错误,请把订单号为' + inttostr(ids) + '的订单金额改为' + floattostr(totalmon - mon1) + '元'), '错误',MB_OK);
exit;
end;
end;
end;
end;
procedure TFrmJHTH.BitBtn5Click(Sender: TObject);
begin
CLS;
DIS;
end;
procedure TFrmJHTH.ComboBox1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var
i: integer;
str1, str2: string;
begin
combobox1.Clear;
str1 := 'select order_form_id from order_pay';
str2 := 'select order_form_id from order_pay where order_finish = :finish';
if (RadioButton1.Checked) then
begin
with DM.ADOQTEMP1 do
begin
close;
SQL.Clear;
SQL.Add(str1);
if (not prepared) then
prepared := true;
try
open;
except
ExecSQL;
end;
if recordcount <> 0 then
first;
for i := 0 to recordcount - 1 do
begin
Combobox1.Items.Add(fieldbyname('order_form_id').AsString);
next;
end;
end;
end;
if (RadioButton2.Checked) then
begin
with DM.ADOQTEMP1 do
begin
close;
SQL.Clear;
SQL.Add(str2);
parameters.ParamByName('finish').Value := 1;
if (not prepared) then
prepared := true;
try
open;
except
ExecSQL;
end;
if recordcount <> 0 then
first;
for i := 0 to recordcount - 1 do
begin
Combobox1.Items.Add(fieldbyname('order_form_id').AsString);
next;
end;
end;
end;
if (RadioButton3.Checked) then
begin
with DM.ADOQTEMP1 do
begin
close;
SQL.Clear;
SQL.Add(str2);
parameters.ParamByName('finish').Value := 0;
if (not prepared) then
prepared := true;
try
open;
except
ExecSQL;
end;
if recordcount <> 0 then
first;
for i := 0 to recordcount - 1 do
begin
Combobox1.Items.Add(fieldbyname('order_form_id').AsString);
next;
end;
end;
end;
end;
procedure TFrmJHTH.BitBtn1Click(Sender: TObject);
var
str1, str2, str3, str4: string;
begin
if (RadioButton1.Checked = false) and (RadioButton2.Checked = false) and (RadioButton3.Checked = false) then
begin
str1 := 'select order_form_id,operator_id,order_person_id,order_person_name,order_total_money,order_pre_money,order_owe_money from order_pay where order_form_id = :id';
with DM.ADOQJHTH do
begin
close;
SQL.Clear;
SQL.Add(str1);
parameters.ParamByName('id').Value := trim(Combobox1.Text);
if (not prepared) then
prepared := true;
try
open;
except
ExecSQL;
exit;
end;
if (recordcount = 0) then
begin
showmessage('无此定单号的商品订货!');
exit;
end;
end;
end
else
if (RadioButton1.Checked) then
begin
str2 := 'select order_form_id,operator_id,order_person_id,order_person_name,order_total_money,order_pre_money,order_owe_money from order_pay';
with DM.ADOQJHTH do
begin
close;
SQL.Clear;
SQL.Add(str2);
if (not prepared) then
prepared := true;
try
open;
except
ExecSQL;
end;
end;
end;
if (RadioButton2.Checked) then
begin
str3 := 'select order_form_id,operator_id,order_person_id,order_person_name,order_total_money,order_pre_money,order_owe_money from order_pay where pay_finish = 1';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -