⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uchangedata.pas

📁 港口货物管理系统
💻 PAS
字号:
unit uchangedata;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, Grids, DBGrids, DB, DBTables,
  ExtCtrls, DBCtrls;

type
  Tfmchangedata = class(TForm)
    GroupBox1: TGroupBox;
    RadioGroup1: TRadioGroup;
    GroupBox2: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox3: TCheckBox;
    DataSource1: TDataSource;
    Table1: TTable;
    Table2: TTable;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    CheckBox2: TCheckBox;
    DateTimePicker1: TDateTimePicker;
    Query1: TQuery;
    DBLookupComboBox1: TDBLookupComboBox;
    DataSource2: TDataSource;
    DBLookupComboBox2: TDBLookupComboBox;
    Query2: TQuery;
    DataSource3: TDataSource;
    Table1Ddate: TStringField;
    Table1Atnum: TStringField;
    Table1Agname: TStringField;
    Table1Adime: TStringField;
    Table1Ncoil: TFloatField;
    Table1Nton: TFloatField;
    Table1Atname: TStringField;
    Table1Aqd: TStringField;
    Table1Aspot: TStringField;
    Table1Agoodd: TStringField;
    Table1Auser: TStringField;
    Table1Abz: TStringField;
    Table2Ddate: TStringField;
    Table2Atnum: TStringField;
    Table2Agname: TStringField;
    Table2Adime: TStringField;
    Table2Ncoil: TFloatField;
    Table2Nton: TFloatField;
    Table2Atname: TStringField;
    Table2Aqd: TStringField;
    Table2Aspot: TStringField;
    Table2Agoodd: TStringField;
    Table2Auser: TStringField;
    Table2Adir: TStringField;
    Table2Abz: TStringField;
    GroupBox3: TGroupBox;
    Query3: TQuery;
    Query4: TQuery;
    Table3: TTable;
    Query5: TQuery;
    Table1Npiece: TFloatField;
    Table2Npiece: TFloatField;
    Panel1: TPanel;
    Label1: TLabel;
    Table1Ahw: TStringField;
    Table2Ahw: TStringField;
    Query6: TQuery;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure RadioGroup1Enter(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmchangedata: Tfmchangedata;

implementation

uses ulogin;

{$R *.dfm}

procedure Tfmchangedata.FormCreate(Sender: TObject);
begin
application.OnMessage:=fmlogin.doenterastab;
datetimepicker1.Date:=now;
datetimepicker1.Visible:=false;
dblookupcombobox2.Visible:=false;
dblookupcombobox1.Visible:=false;
//dblookupcombobox2.text:='';
//dblookupcombobox1.text:='';
end;

procedure Tfmchangedata.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then datetimepicker1.Visible:=true
else datetimepicker1.Visible:=false;

radiogroup1.ItemIndex:=-1;
end;


procedure Tfmchangedata.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then
dblookupcombobox2.Visible:=true
else
begin
dblookupcombobox2.Visible:=false;
//dblookupcombobox2.text:='';
end;
radiogroup1.ItemIndex:=-1;
end;

procedure Tfmchangedata.CheckBox3Click(Sender: TObject);
begin
if checkbox3.Checked then dblookupcombobox1.Visible:=true
else
begin
dblookupcombobox1.Visible:=false;
//dblookupcombobox1.text:='';
end;
radiogroup1.ItemIndex:=-1;
end;

procedure Tfmchangedata.RadioGroup1Click(Sender: TObject);
var fstr:string;
begin
fstr:='';
if checkbox1.Checked then
begin
fstr:='ddate='''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+'''';
if (checkbox2.Checked) and (dblookupcombobox2.Text<>'') then fstr:=fstr+' and agoodd='''+trim(dblookupcombobox2.Text)+'''';
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' and agname='''+trim(dblookupcombobox1.Text)+'''';
end
else
begin
if (checkbox2.Checked) and (dblookupcombobox2.Text<>'') then
begin
fstr:=fstr+'agoodd='''+trim(dblookupcombobox2.Text)+'''';
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' and agname='''+trim(dblookupcombobox1.Text)+'''';
end
else
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+'agname='''+trim(dblookupcombobox1.Text)+'''';
end;
//fstr:=fstr+')';

case radiogroup1.ItemIndex of
0: begin
  datasource2.DataSet:=table1;
  table1.Filter:=fstr;
  table1.Filtered:=true;
  table1.Open;
  end;

1:
  begin
   datasource2.DataSet:=table2;
   table2.Filter:=fstr;
   table2.Filtered:=true;
   table2.Open;
  end;
end;

end;

procedure Tfmchangedata.RadioGroup1Enter(Sender: TObject);
begin
if (checkbox1.Checked=false) and (dblookupcombobox2.text='') and (dblookupcombobox1.text='') then
begin
showmessage('修改过滤选项不能为空!');
checkbox1.SetFocus;
end;
end;

procedure Tfmchangedata.BitBtn1Click(Sender: TObject);
begin
if  datasource2.DataSet.RecordCount>0 then
begin
if messagebox(0,'确认删除本记录吗?','系统提示',mb_yesno)=idyes then
datasource2.DataSet.Delete;
end
else
showmessage('库中没有记录!不能做删除操作!');
end;

procedure Tfmchangedata.BitBtn2Click(Sender: TObject);
var i:integer;
   // oldcoil,oldpiece:integer;
   // oldton:single;
begin
table1.Edit;
table1.Post;
table2.Edit;
table2.Post;

query3.Close;
query3.SQL.clear;
query3.SQL.add('select atnum,agname,adime,agoodd,aspot,ahw,sum(ncoil) as ncoil,sum(npiece) as npiece,sum(nton) as nton from mimport group by atnum,agname,adime,agoodd,aspot,ahw');
query3.ExecSQL;
query3.Open;

query4.Close;
query4.SQL.clear;
query4.SQL.add('select atnum,agname,adime,agoodd,aspot,ahw,sum(ncoil) as ncoil,sum(npiece) as npiece,sum(nton) as nton from mexport group by atnum,agname,adime,agoodd,aspot,ahw');
query4.ExecSQL;
query4.Open;
table3.Close;
table3.EmptyTable;
table3.Active:=true;
query3.First;
for i:=1 to query3.RecordCount do
begin
query6.Locate('atnum;agname;adime;agoodd',vararrayof([query3.FieldValues['atnum'],query3.FieldValues['agname'],query3.FieldValues['adime'],query3.FieldValues['agoodd']]),[]);
table3.Append;
table3.FieldValues['atnum']:=query3.FieldValues['atnum'];
table3.FieldValues['agname']:=query3.FieldValues['agname'];
table3.FieldValues['adime']:=query3.FieldValues['adime'];
table3.FieldValues['agoodd']:=query3.FieldValues['agoodd'];
table3.FieldValues['aspot']:=query3.FieldValues['aspot'];
table3.FieldValues['ahw']:=query3.FieldValues['ahw'];
table3.FieldValues['ncoil']:=query3.FieldValues['ncoil'];
table3.FieldValues['npiece']:=query3.FieldValues['npiece'];
table3.FieldValues['nton']:=query3.FieldValues['nton'];
table3.FieldValues['nplanton']:=query6.FieldValues['nton'];
query3.Next;
end;

table3.Edit;
table3.Post;
table3.Active:=true;
table3.First;
for i:=1 to table3.RecordCount do
begin
if query4.Locate('atnum;agname;adime;agoodd;aspot;ahw',vararrayof([table3.FieldValues['atnum'],table3.FieldValues['agname'],table3.FieldValues['adime'],table3.FieldValues['agoodd'],table3.FieldValues['aspot'],table3.FieldValues['ahw']]),[])=true
then
begin
table3.Edit;
table3.FieldValues['ncoil']:=table3.FieldValues['ncoil']-query4.FieldValues['ncoil'];
table3.FieldValues['npiece']:=table3.FieldValues['npiece']-query4.FieldValues['npiece'];
table3.FieldValues['nton']:=table3.fieldValues['nton']-query4.FieldValues['nton'];
table3.Post;
//if table3.FieldValues['ncoil']<query4.FieldValues['ncoil'] then
//showmessage('你修改进货件数小于出货件数!请核实!!');
end;
table3.Next;
end;

table3.First;
for i:=1 to table3.RecordCount do
begin
if table3.FieldValues['ncoil']=0 then
table3.Delete;
table3.Next;
end;


table2.Active:=true;
table2.First;
for i:=1 to table2.RecordCount do
begin
if query5.Locate('atnum;agname;adime;agoodd;aspot;ahw',vararrayof([table2.FieldValues['atnum'],table2.FieldValues['agname'],table3.FieldValues['adime'],table2.FieldValues['agoodd'],table2.FieldValues['aspot'],table2.FieldValues['ahw']]),[])=true
then if query5.FieldValues['ncoil']>table2.FieldValues['ncoil'] then
begin
query6.Locate('atnum;agname;adime;agoodd',vararrayof([query5.FieldValues['atnum'],query5.FieldValues['agname'],query5.FieldValues['adime'],query5.FieldValues['agoodd']]),[]);
table3.Append;
table3.FieldValues['atnum']:=query5.FieldValues['atnum'];
table3.FieldValues['agname']:=query5.FieldValues['agname'];
table3.FieldValues['adime']:=query5.FieldValues['adime'];
table3.FieldValues['agoodd']:=query5.FieldValues['agoodd'];
table3.FieldValues['aspot']:=query5.FieldValues['aspot'];
table3.FieldValues['ahw']:=query5.FieldValues['ahw'];
table3.FieldValues['ncoil']:=query5.FieldValues['ncoil']-table2.FieldValues['ncoil'];
table3.FieldValues['npiece']:=query5.FieldValues['npiece']-table2.FieldValues['npiece'];
table3.FieldValues['nton']:=query5.FieldValues['nton']-table2.FieldValues['nton'];
table3.FieldValues['nplanton']:=query6.FieldValues['nton'];
end;
table2.Next;
end;


end;

procedure Tfmchangedata.BitBtn3Click(Sender: TObject);
begin
fmchangedata.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -