📄 urep.pas
字号:
unit uRep;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, se_controls, KsSkinTabs, KsSkinPanels, Grids, DBGrids,
JvExDBGrids, JvDBGrid, KsSkinComboBoxs, KsSkinLabels, ComCtrls,
KsSkinButtons, DB, ADODB, StdCtrls, frxClass, frxDBSet, ExtCtrls,
JvExControls, JvComponent, JvDBLookup, wwdblook;
type
TfrmRep = class(TForm)
SeSkinPageControl1: TSeSkinPageControl;
SeCustomTabSheet1: TSeCustomTabSheet;
JvDBGrid1: TJvDBGrid;
SeSkinPanel1: TSeSkinPanel;
SeSkinLabel21: TSeSkinLabel;
SeSkinComboBox1: TSeSkinComboBox;
SeSkinLabel1: TSeSkinLabel;
DateTimePicker1: TDateTimePicker;
SeSkinLabel2: TSeSkinLabel;
DateTimePicker2: TDateTimePicker;
SeSkinLabel3: TSeSkinLabel;
SeSkinComboBox2: TSeSkinComboBox;
SeSkinButton18: TSeSkinButton;
SeSkinButton1: TSeSkinButton;
SeSkinButton2: TSeSkinButton;
Query1: TADOQuery;
SeCustomTabSheet3: TSeCustomTabSheet;
Memo1: TMemo;
DataSource1: TDataSource;
frxDBDataset1: TfrxDBDataset;
Memo2: TMemo;
Memo3: TMemo;
SeCustomTabSheet2: TSeCustomTabSheet;
SeCustomTabSheet4: TSeCustomTabSheet;
JvDBGrid2: TJvDBGrid;
SeSkinPanel2: TSeSkinPanel;
SeSkinLabel8: TSeSkinLabel;
SeSkinButton3: TSeSkinButton;
SeSkinButton4: TSeSkinButton;
SeSkinButton5: TSeSkinButton;
wwDBLookupCombo7: TwwDBLookupCombo;
Memo4: TMemo;
JvDBGrid3: TJvDBGrid;
SeSkinPanel3: TSeSkinPanel;
SeSkinLabel4: TSeSkinLabel;
SeSkinButton6: TSeSkinButton;
SeSkinButton7: TSeSkinButton;
SeSkinButton8: TSeSkinButton;
wwDBLookupCombo1: TwwDBLookupCombo;
SeCustomTabSheet5: TSeCustomTabSheet;
JvDBGrid4: TJvDBGrid;
SeSkinPanel4: TSeSkinPanel;
SeSkinLabel5: TSeSkinLabel;
SeSkinComboBox3: TSeSkinComboBox;
SeSkinButton9: TSeSkinButton;
SeSkinButton10: TSeSkinButton;
SeSkinButton11: TSeSkinButton;
SeCustomTabSheet6: TSeCustomTabSheet;
JvDBGrid5: TJvDBGrid;
SeSkinPanel5: TSeSkinPanel;
SeSkinLabel7: TSeSkinLabel;
SeSkinLabel9: TSeSkinLabel;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
SeSkinButton12: TSeSkinButton;
SeSkinButton13: TSeSkinButton;
SeSkinButton14: TSeSkinButton;
Memo5: TMemo;
SeSkinLabel6: TSeSkinLabel;
SeSkinComboBox4: TSeSkinComboBox;
SeCustomTabSheet7: TSeCustomTabSheet;
JvDBGrid6: TJvDBGrid;
SeSkinPanel6: TSeSkinPanel;
SeSkinLabel10: TSeSkinLabel;
SeSkinLabel11: TSeSkinLabel;
SeSkinLabel12: TSeSkinLabel;
SeSkinLabel13: TSeSkinLabel;
SeSkinComboBox5: TSeSkinComboBox;
DateTimePicker5: TDateTimePicker;
DateTimePicker6: TDateTimePicker;
SeSkinComboBox6: TSeSkinComboBox;
SeSkinButton15: TSeSkinButton;
SeSkinButton16: TSeSkinButton;
SeSkinButton17: TSeSkinButton;
Memo6: TMemo;
SeCustomTabSheet8: TSeCustomTabSheet;
SeSkinPanel7: TSeSkinPanel;
SeSkinLabel16: TSeSkinLabel;
SeSkinButton19: TSeSkinButton;
SeSkinButton20: TSeSkinButton;
SeSkinButton21: TSeSkinButton;
SeSkinComboBox7: TSeSkinComboBox;
Memo7: TMemo;
JvDBGrid7: TJvDBGrid;
SeCustomTabSheet9: TSeCustomTabSheet;
JvDBGrid8: TJvDBGrid;
SeSkinPanel8: TSeSkinPanel;
SeSkinLabel14: TSeSkinLabel;
SeSkinButton22: TSeSkinButton;
SeSkinButton23: TSeSkinButton;
SeSkinButton24: TSeSkinButton;
SeSkinComboBox8: TSeSkinComboBox;
Memo8: TMemo;
frxReport1: TfrxReport;
procedure FormShow(Sender: TObject);
procedure SeSkinButton2Click(Sender: TObject);
procedure SeSkinButton18Click(Sender: TObject);
procedure SeSkinButton1Click(Sender: TObject);
procedure frxReport1GetValue(const VarName: String;
var Value: Variant);
procedure SeSkinButton3Click(Sender: TObject);
procedure SeSkinButton6Click(Sender: TObject);
procedure SeSkinButton9Click(Sender: TObject);
procedure SeSkinButton10Click(Sender: TObject);
procedure SeSkinButton12Click(Sender: TObject);
// procedure wwDBLookupCombo2Change(Sender: TObject);
// procedure wwDBLookupCombo3Change(Sender: TObject);
procedure SeSkinButton13Click(Sender: TObject);
procedure SeSkinButton15Click(Sender: TObject);
procedure SeSkinButton16Click(Sender: TObject);
procedure SeSkinButton19Click(Sender: TObject);
procedure SeSkinButton20Click(Sender: TObject);
procedure SeSkinButton22Click(Sender: TObject);
procedure SeSkinButton23Click(Sender: TObject);
private
pageCap,khname: string;
procedure PreparePage;
{ Private declarations }
public
{ Public declarations }
end;
var
frmRep: TfrmRep;
curPageIndex: integer;
implementation
uses uFunc, uDM;
{$R *.dfm}
procedure TfrmRep.FormShow(Sender: TObject);
begin
HidePageTabs(SeSkinPageControl1);
SeSkinPageControl1.ActivePage := SeSkinPageControl1.Pages[curPageIndex];
PreparePage;
Caption := Caption + ' - ' + SeSkinPageControl1.ActivePage.Caption ;
end;
procedure TfrmRep.PreparePage;
begin
pageCap := SeSkinPageControl1.ActivePage.Caption ;
if pageCap='业务对帐单' then begin
FillItems(SeSkinComboBox1.Items, 'select khname from kh where khType=0 order by khname');
FillItems(SeSkinComboBox2.Items, 'select poid from poHead order by 1 desc');
DateTimePicker2.DateTime := Date;
DateTimePicker1.DateTime := Date-30;
SeSkinComboBox1.ItemIndex := 0;
JvDBGrid1.DataSource := DataSource1;
end
else
if pageCap='采购对帐单' then begin
DateTimePicker6.DateTime := Date;
DateTimePicker5.DateTime := Date-30;
FillItems(SeSkinComboBox5.Items, 'select khname from kh where khType=1 order by khname');
JvDBGrid6.DataSource := DataSource1;
end
else
if pageCap='仓库日报表' then begin
DateTimePicker4.DateTime := Date;
DateTimePicker3.DateTime := Date;
FillItems(SeSkinComboBox4.Items, 'select poid from poHead order by 1 desc');
JvDBGrid5.DataSource := DataSource1;
end
else
if pageCap='料件库存统计' then begin
JvDBGrid3.DataSource := DataSource1;
SeSkinButton6Click(nil);
end
else
if pageCap='成品库存统计' then begin
JvDBGrid2.DataSource := DataSource1;
SeSkinButton3Click(nil);
end
else
if pageCap='生产备料情况表' then begin
JvDBGrid7.DataSource := DataSource1;
FillItems(SeSkinComboBox7.Items, 'select poid from poHead order by 1 desc');
end
else
if pageCap='生产进度表' then begin
JvDBGrid8.DataSource := DataSource1;
FillItems(SeSkinComboBox8.Items, 'select poid from poHead order by 1 desc');
end
else
if pageCap='订单欠货情况表' then begin
FillItems(SeSkinComboBox3.Items, 'select khname from kh where khType=0 or khType=2 order by khname');
SeSkinComboBox3.ItemIndex := 0;
JvDBGrid4.DataSource := DataSource1;
end
end;
procedure TfrmRep.SeSkinButton2Click(Sender: TObject);
begin
Close;
end;
procedure TfrmRep.SeSkinButton18Click(Sender: TObject);
begin
if SeSkinComboBox1.ItemIndex = -1 then
AbortMsg('请选择正确的客户名称!');
DropTempTables;
ExecQuery(Memo1.Text
,[SeSkinComboBox1.Text
,FormatDateTime('YYYY-MM-DD',DateTimePicker1.DateTime)
,FormatDateTime('YYYY-MM-DD',DateTimePicker2.DateTime)
,SeSkinComboBox2.Text
]);
with Query1 do begin
Close;
SQL.Text := 'select * from #temp1 order by poid,spno,invDate';
Open;
end;
khname := SeSkinComboBox1.Text;
end;
procedure TfrmRep.SeSkinButton1Click(Sender: TObject);
begin
if not Query1.Active then
AbortMsg('请先查询后再打印!');
PrintFr3(frxReport1,'业务对帐单模板.fr3');
end;
procedure TfrmRep.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if VarName='khname' then Value := khname
else if VarName='startDate' then Value := FormatDateTime('YYYY-MM-DD',DateTimePicker3.DateTime)
else if VarName='endDate' then Value := FormatDateTime('YYYY-MM-DD',DateTimePicker4.DateTime)
end;
procedure TfrmRep.SeSkinButton3Click(Sender: TObject);
var
spno: string;
begin
spno := trim(wwDBLookupCombo7.Text);
//重算
if spno = '' then begin
DropTempTables;
ExecQuery(Memo4.Text,[spno]);
end;
with Query1 do begin
Close;
if spno = '' then
SQL.Text := 'select * from sp where spType=1 and invQty<>0 order by spno'
else
SQL.Text := 'select * from sp where spType=1 and invQty<>0 and spno='+ QuotedStr(spno) +' order by spno' ;
Open;
end;
end;
procedure TfrmRep.SeSkinButton6Click(Sender: TObject);
var
spno: string;
begin
spno := trim(wwDBLookupCombo1.Text);
//重算
if spno = '' then begin
DropTempTables;
ExecQuery(Memo4.Text,[spno]);
end;
with Query1 do begin
Close;
if spno = '' then
SQL.Text := 'select * from sp where spType=0 and invQty<>0 order by spno'
else
SQL.Text := 'select * from sp where spType=0 and invQty<>0 and spno='+ QuotedStr(spno) +' order by spno' ;
Open;
end;
end;
procedure TfrmRep.SeSkinButton9Click(Sender: TObject);
begin
if SeSkinComboBox3.ItemIndex = -1 then
AbortMsg('请选择正确的客户名称!');
DropTempTables;
ExecQuery(Memo3.Text
,[SeSkinComboBox3.Text
]);
with Query1 do begin
Close;
SQL.Text := 'select * from #temp3 order by id';
Open;
end;
khname := SeSkinComboBox3.Text;
end;
procedure TfrmRep.SeSkinButton10Click(Sender: TObject);
begin
if not Query1.Active then
AbortMsg('请先查询后再打印!');
PrintFr3(frxReport1,'订单欠货统计模板.fr3');
end;
procedure TfrmRep.SeSkinButton12Click(Sender: TObject);
begin
DropTempTables;
ExecQuery(Memo5.Text
,[FormatDateTime('YYYY-MM-DD 00:00:00',DateTimePicker3.DateTime)
,FormatDateTime('YYYY-MM-DD 23:59:59',DateTimePicker4.DateTime)
,SeSkinComboBox4.Text
]);
with Query1 do begin
Close;
SQL.Text := 'select * from #temp2 order by poid, spno, invDate';
Open;
end;
khname := SeSkinComboBox1.Text;
end;
var
GWorking: Boolean=False;
//procedure TfrmRep.wwDBLookupCombo2Change(Sender: TObject);
//begin
// if GWorking then exit;
// GWorking := True;
//
// try
// wwDBLookupCombo3.Text := '';
// finally
// GWorking := False;
// end;
//
//end;
//
//procedure TfrmRep.wwDBLookupCombo3Change(Sender: TObject);
//begin
// if GWorking then exit;
// GWorking := True;
//
// try
// wwDBLookupCombo2.Text := '';
// finally
// GWorking := False;
// end;
//
//end;
procedure TfrmRep.SeSkinButton13Click(Sender: TObject);
begin
if not Query1.Active then
AbortMsg('请先查询后再打印!');
PrintFr3(frxReport1,'仓库日报表模板.fr3');
end;
procedure TfrmRep.SeSkinButton15Click(Sender: TObject);
begin
if SeSkinComboBox5.ItemIndex = -1 then
AbortMsg('请选择正确的供应商名称!');
DropTempTables;
ExecQuery(Memo6.Text
,[SeSkinComboBox5.Text
,FormatDateTime('YYYY-MM-DD',DateTimePicker5.DateTime)
,FormatDateTime('YYYY-MM-DD',DateTimePicker6.DateTime)
,SeSkinComboBox6.Text
]);
with Query1 do begin
Close;
SQL.Text := 'select * from #temp1 order by poid,spno,invDate';
Open;
end;
khname := SeSkinComboBox1.Text;
end;
procedure TfrmRep.SeSkinButton16Click(Sender: TObject);
begin
if not Query1.Active then
AbortMsg('请先查询后再打印!');
PrintFr3(frxReport1,'采购对帐单模板.fr3');
end;
procedure TfrmRep.SeSkinButton19Click(Sender: TObject);
begin
DropTempTables;
ExecQuery(Memo7.Text
,[SeSkinComboBox7.Text
]);
with Query1 do begin
Close;
SQL.Text := 'select * from #temp3';
Open;
end;
end;
procedure TfrmRep.SeSkinButton20Click(Sender: TObject);
begin
if not Query1.Active then
AbortMsg('请先查询后再打印!');
PrintFr3(frxReport1,'生产备料情况表模板.fr3');
end;
procedure TfrmRep.SeSkinButton22Click(Sender: TObject);
begin
DropTempTables;
ExecQuery(Memo8.Text
,[SeSkinComboBox8.Text
]);
with Query1 do begin
Close;
SQL.Text := 'select * from #temp3';
Open;
end;
end;
procedure TfrmRep.SeSkinButton23Click(Sender: TObject);
begin
if not Query1.Active then
AbortMsg('请先查询后再打印!');
PrintFr3(frxReport1,'生产进度表模板.fr3');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -