📄 updwlap.pas
字号:
unit updwlap;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, RzPanel, RzSplit, RzButton, DBCtrls, StdCtrls,
ComCtrls, RzDTP, RzTabs, Grids, DBGrids, DB, ADODB, Mask, FR_DSet,
FR_DBSet, FR_Class, Menus, RzDBGrid, DBGridEh, GridsEh;
type
Tfrmpdwlap = class(TForm)
RzSizePanel1: TRzSizePanel;
Panel1: TPanel;
Panel2: TPanel;
RzBitBtn4: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
dtp1: TRzDateTimePicker;
dtp2: TRzDateTimePicker;
Label1: TLabel;
DBNavigator1: TDBNavigator;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
TreeView1: TTreeView;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
RzBitBtn7: TRzBitBtn;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
Edit1: TEdit;
Label7: TLabel;
Edit2: TEdit;
RzBitBtn8: TRzBitBtn;
RzBitBtn9: TRzBitBtn;
Panel3: TPanel;
CheckBox1: TCheckBox;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
ADOQuery4: TADOQuery;
DataSource2: TDataSource;
editwldm: TEdit;
editwlmc: TEdit;
editwlys: TEdit;
editwlsh: TEdit;
ADOQuery5: TADOQuery;
DataSource3: TDataSource;
N3: TMenuItem;
GroupBox2: TGroupBox;
Edit3: TEdit;
ADOQuery6: TADOQuery;
Panel4: TPanel;
Panel5: TPanel;
RzDBGrid1: TRzDBGrid;
DBGridEh1: TDBGridEh;
procedure FormCreate(Sender: TObject);
procedure csh();
procedure dtp1Exit(Sender: TObject);
procedure dtp2Exit(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzBitBtn7Click(Sender: TObject);
procedure RzBitBtn6Click(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
procedure TabSheet2Enter(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure RzBitBtn8Click(Sender: TObject);
procedure RzBitBtn9Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure RzDBGrid2CellClick(Column: TColumn);
procedure TabSheet1Enter(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure N3Click(Sender: TObject);
procedure DBGridEh1CellClick(Column: TColumnEh);
procedure Edit2DblClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
gcdh:string;
gcdh1:string;
gdhm:string;
chang:string;
strsql1:string;
rq1:string;
rq2:string;
n:integer;
public
{ Public declarations }
num1:longint;
num2:longint;
end;
var
frmpdwlap: Tfrmpdwlap;
implementation
uses uconst,ufunction,udm1,ucx,uwllb;
{$R *.dfm}
procedure tfrmpdwlap.csh();
var
node:ttreenode;
node1:ttreenode;
node2:ttreenode;
begin
TreeView1.Items.Clear;
strsql:='select distinct gdhm from ddk where'+
' ldrq>='+''''+datetostr(dtp1.Date)+''''+' and ldrq<='+''''+datetostr(dtp2.Date)+''''+
' and yclwl=1 and yscwb<>1 order by'+
' gdhm asc';
if adoquery2.Active then adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(strsql);
adoquery2.Open;
if not(adoquery2.Recordset.EOF and adoquery2.Recordset.BOF) then
begin
adoquery2.First;
node:=treeview1.Items.AddFirst(nil,'排单安排列表');
while not adoquery2.Eof do
begin
node1:=treeview1.Items.AddChild(node,trim(adoquery2.fieldbyname('gdhm').AsString));
strsql:='select distinct chang from llqk_detail where hthm='+''''+
trim(adoquery2.fieldbyname('gdhm').AsString)+
''''+' order by chang asc';
adoexect(adoquery6,strsql);
adoquery6.First;
while not adoquery6.Eof do
begin
node2:=treeview1.Items.AddChild(node1,trim(adoquery6.fieldbyname('chang').AsString));
strsql:='select distinct gdhm from llqk_detail where chang='+''''+trim(adoquery6.fieldbyname('chang').asstring)+
''''+ ' and hthm='+''''+
trim(adoquery2.fieldbyname('gdhm').AsString)+
''''+' order by gdhm asc';
adoexect(adoquery3,strsql);
adoquery3.First;
while not adoquery3.Eof do
begin
treeview1.Items.AddChild(node2,trim(adoquery3.fieldbyname('gdhm').AsString));
adoquery3.Next;
end;
adoquery6.Next;
end;
adoquery2.Next;
end;
end;
adoquery6.Close;
adoquery2.Close;
adoquery3.Close;
end;
procedure Tfrmpdwlap.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
adoquery5.Connection:=dm1.ADOConnection1;
gcdh:='';
gcdh:='';
dtp1.Date:=date;
dtp2.Date:=date+30;
csh;
end;
procedure Tfrmpdwlap.dtp1Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmpdwlap.dtp2Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmpdwlap.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
i:integer;
begin
adoquery1.Filtered:=false;
case node.Level of
0:
begin
if CheckBox1.Checked then
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) 需求量,sum(yfpsl) 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm '+
' and ldrq>='+''''+datetostr(dtp1.Date)+''''+
' and ldrq<='+''''+datetostr(dtp2.Date)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym having sum(llqk_detail.xql)>sum(yfpsl) order by wldmk.pym asc'
else
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm and'+
' ldrq>='+''''+datetostr(dtp1.Date)+''''+
' and ldrq<='+''''+datetostr(dtp2.Date)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,pym order by wldmk.pym asc';
gcdh:='';
gcdh1:='';
chang:='';
n:=1;
rq1:=datetostr(dtp1.Date);
rq2:=datetostr(dtp2.Date);
end;
1:
begin
if CheckBox1.Checked then
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm and'+
' hthm='+''''+trim(node.text)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym having sum(llqk_detail.xql)>sum(yfpsl) order by wldmk.pym asc'
else
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm and'+
' hthm='+''''+trim(node.text)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym order by wldmk.pym asc';
gdhm:=trim(node.text);
gcdh:='';
gcdh1:='';
n:=2;
end;
2:
begin
if CheckBox1.Checked then
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm '+' and hthm='+''''+trim(gdhm)+''''+
' and chang='+''''+trim(node.Text)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym having sum(llqk_detail.xql)>sum(yfpsl) order by wldmk.pym asc'
else
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm '+' and hthm='+''''+trim(gdhm)+''''+
' and chang='+''''+trim(node.Text)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym order by wldmk.pym asc';
chang:=trim(node.Text);
gdhm:=trim(node.Parent.text);
gcdh:='';
gcdh1:='';
n:=3;
end;
3:
begin
if CheckBox1.Checked then
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm and'+
' gdhm='+''''+trim(node.text)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym having sum(llqk_detail.xql)>sum(yfpsl) order by wldmk.pym asc'
else
strsql:='select llqk_detail.wldm as 物料代码,pym as 拼音码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(llqk_detail.xql) as 需求量,sum(yfpsl) as 已分配量,ldrq,pym'+
' from llqk_detail,wldmk where llqk_detail.wldm=wldmk.wldm and'+
' gdhm='+''''+trim(node.text)+''''+
' group by llqk_detail.wldm,wlmc,wlys,wlsh,dw,pym,gysdm,ldrq,pym order by wldmk.pym asc';
gcdh:=trim(node.Text);
gcdh1:=gcdh;
chang:=trim(node.Parent.text);
gdhm:=trim(node.Parent.Parent.Text);
n:=3;
end;
end;
adoexect(adoquery1,strsql);
if (gdhm='') and (gcdh='') then
begin
gcdh:='';
gdhm:=''
end;
//showmessage(gcdh+','+gdhm+','+hthm);
end;
procedure Tfrmpdwlap.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfrmpdwlap.RzBitBtn7Click(Sender: TObject);
begin
close;
end;
procedure Tfrmpdwlap.RzBitBtn6Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery1;
frmcx.ShowModal;
adoquery1:=frmcx.adocx;
ADOquery1.Requery();
dbgrid1.Refresh;
end;
procedure Tfrmpdwlap.RzBitBtn5Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
case n of
1:
begin
frReport1.LoadFromFile(strpath+'/report/pdwlap_3.frf');
frVariables['rq1']:=rq1;
frVariables['rq2']:=rq2;
end;
2:
begin
frReport1.LoadFromFile(strpath+'/report/pdwlap_2.frf');
frVariables['hthm']:=gdhm;
end;
3:
begin
frReport1.LoadFromFile(strpath+'/report/pdwlap.frf');
frVariables['gcdh']:=gcdh;
end;
end;
frVariables['username']:=username;
frreport1.ShowReport;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -