📄 updllqk.pas
字号:
unit updllqk;
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;
type
Tfrmpdllqk = class(TForm)
RzSizePanel1: TRzSizePanel;
Panel1: TPanel;
RzBitBtn4: TRzBitBtn;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
dtp1: TRzDateTimePicker;
dtp2: TRzDateTimePicker;
Label1: TLabel;
DBNavigator1: TDBNavigator;
TreeView1: TTreeView;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
DataSource1: TDataSource;
RzBitBtn7: TRzBitBtn;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
DBGrid1: TDBGrid;
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 DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
gcdh:string;
hthm:string;
rq1:string;
rq2:string;
n:integer; //用来标记报表选用那种
public
{ Public declarations }
end;
var
frmpdllqk: Tfrmpdllqk;
implementation
uses uconst,ufunction,udm1,ucx;
{$R *.dfm}
procedure tfrmpdllqk.csh();
var
node:ttreenode;
node1:ttreenode;
begin
TreeView1.Items.Clear;
strsql:='select distinct gdhm from order_wlfp where ldrq>=:rq1 and ldrq<=:rq2 order by gdhm asc';
if adoquery2.Active then adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(strsql);
adoquery2.Parameters.ParamByName('rq1').Value:=dtp1.Date;
adoquery2.Parameters.ParamByName('rq2').Value:=dtp2.Date;
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
treeview1.Items.AddChild(node,trim(adoquery2.fieldbyname('gdhm').AsString));
adoquery2.Next;
end;
end;
adoquery2.Close;
end;
procedure Tfrmpdllqk.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
dtp1.Date:=date-30;
dtp2.Date:=date;
csh;
end;
procedure Tfrmpdllqk.dtp1Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmpdllqk.dtp2Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmpdllqk.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
case node.Level of
0:
begin
strsql:='select order_wlfp.wldm as 物料代码,pym,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,sum(order_wlfp.xql) as 需求量,sum(ylsl) as 已领数量,'+
'sum(wlsl) as 未领数量,ldrq from order_wlfp,wldmk where order_wlfp.wldm=wldmk.wldm and'+
' ldrq>='+''''+datetostr(dtp1.Date)+''''+
' and ldrq<='+''''+datetostr(dtp2.Date)+''''+
' group by order_wlfp.wldm,pym,wlmc,wlys,wlsh,dw,gysdm,ldrq order by wldmk.pym asc';
n:=1;
rq1:=datetostr(dtp1.Date);
rq2:=datetostr(dtp2.Date);
end;
1:
begin
strsql:='select order_wlfp.wldm as 物料代码,wlmc as 物料名称,wlys as 颜色,wlsh as 色号,'+
'dw as 单位,gysdm as 供应商,order_wlfp.xql as 需求量,ylsl as 已领数量,'+
'wlsl as 未领数量,ldrq from order_wlfp,wldmk where order_wlfp.wldm=wldmk.wldm '+
' and gdhm='+''''+trim(node.Text)+''''+
' order by wldmk.pym asc';
n:=2;
hthm:=trim(node.Text);
end;
end;
adoexect(adoquery1,strsql);
end;
procedure Tfrmpdllqk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
frReport1.Free;
end;
procedure Tfrmpdllqk.RzBitBtn7Click(Sender: TObject);
begin
close;
end;
procedure Tfrmpdllqk.RzBitBtn6Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery1;
frmcx.ShowModal;
adoquery1:=frmcx.adocx;
ADOquery1.Requery();
dbgrid1.Refresh;
end;
procedure Tfrmpdllqk.RzBitBtn5Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
case n of
1:
begin
frReport1.LoadFromFile(strpath+'/report/pdllqk_3.frf');
frVariables['rq1']:=rq1;
frVariables['rq2']:=rq2;
end;
2:
begin
frReport1.LoadFromFile(strpath+'/report/pdllqk_2.frf');
frVariables['hthm']:=hthm;
end;
end;
frVariables['username']:=username;
frreport1.ShowReport;
end;
procedure Tfrmpdllqk.RzBitBtn4Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
case n of
1:
begin
frReport1.LoadFromFile(strpath+'/report/pdllqk_3.frf');
frVariables['rq1']:=rq1;
frVariables['rq2']:=rq2;
end;
2:
begin
frReport1.LoadFromFile(strpath+'/report/pdllqk_2.frf');
frVariables['hthm']:=hthm;
end;
end;
frVariables['username']:=username;
frreport1.DesignReport;
end;
procedure Tfrmpdllqk.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if adoquery1.FieldByName('未领数量').Value > 0 then
begin
dbgrid1.Canvas.Brush.Color:=clYellow;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,[gdfixed,gdfocused,gdselected]);
end;
end;
procedure Tfrmpdllqk.DBGrid1TitleClick(Column: TColumn);
begin
dgridpx(adoquery1,DBGrid1,Column);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -