📄 atddealrep.pas
字号:
unit atddealrep;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, wwdbdatetimepicker, Db, ADODB, ppProd, ppClass, ppReport,
ppComm, ppRelatv, ppDB, ppDBPipe, ppDBBDE, ppBands, ppCtrls, ppPrnabl,
ppCache, ppVar;
type
Tformatddealrep = class(TForm)
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
wwDBDateTimePicker1: TwwDBDateTimePicker;
ComboBox1: TComboBox;
Label4: TLabel;
wwDBDateTimePicker2: TwwDBDateTimePicker;
Label5: TLabel;
RadioButton1: TRadioButton;
DataSource1: TDataSource;
ADODataSet1: TADODataSet;
ppBDEPipeline1: TppBDEPipeline;
ppReport1: TppReport;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
ppFooterBand1: TppFooterBand;
ppDBText1: TppDBText;
ppLabel2: TppLabel;
ppDBText2: TppDBText;
ppLabel3: TppLabel;
ppDBText3: TppDBText;
ppLabel4: TppLabel;
ppDBText4: TppDBText;
ppLabel5: TppLabel;
ppDBText5: TppDBText;
ppLabel6: TppLabel;
ppDBText6: TppDBText;
ppLabel7: TppLabel;
ppDBText7: TppDBText;
ppLabel8: TppLabel;
ppDBText8: TppDBText;
ppLabel9: TppLabel;
ppDBText9: TppDBText;
ppLabel10: TppLabel;
ppDBText10: TppDBText;
ppLabel11: TppLabel;
ppDBText11: TppDBText;
ppLabel12: TppLabel;
ppDBText12: TppDBText;
ppLabel13: TppLabel;
ppLabel14: TppLabel;
ppDBText14: TppDBText;
ppLabel15: TppLabel;
ppLabel1: TppLabel;
ppLabel17: TppLabel;
ppLabel18: TppLabel;
ppSummaryBand1: TppSummaryBand;
ppDBText13: TppDBText;
ppLabel16: TppLabel;
ppLabel19: TppLabel;
ppLabel20: TppLabel;
ppLabel21: TppLabel;
ppLabel22: TppLabel;
ppLabel23: TppLabel;
ppLabel24: TppLabel;
ppLabel25: TppLabel;
ppLabel26: TppLabel;
ppLabel27: TppLabel;
ppLabel28: TppLabel;
ppLabel29: TppLabel;
ppSystemVariable1: TppSystemVariable;
ppLabel30: TppLabel;
ppSystemVariable2: TppSystemVariable;
ppLine1: TppLine;
RadioButton2: TRadioButton;
DataSource2: TDataSource;
ADODataSet2: TADODataSet;
ppBDEPipeline2: TppBDEPipeline;
ppReport2: TppReport;
ppHeaderBand2: TppHeaderBand;
ppDetailBand2: TppDetailBand;
ppFooterBand2: TppFooterBand;
ppDBText15: TppDBText;
ppLabel32: TppLabel;
ppDBText16: TppDBText;
ppLabel33: TppLabel;
ppDBText17: TppDBText;
ppLabel34: TppLabel;
ppDBText18: TppDBText;
ppLabel35: TppLabel;
ppDBText19: TppDBText;
ppLabel36: TppLabel;
ppLine2: TppLine;
ppSummaryBand2: TppSummaryBand;
ppLabel31: TppLabel;
ppDBCalc1: TppDBCalc;
ppDBCalc2: TppDBCalc;
ppDBCalc3: TppDBCalc;
ppLabel37: TppLabel;
ppLabel38: TppLabel;
ppLabel39: TppLabel;
ppLabel40: TppLabel;
ppLabel41: TppLabel;
ppLabel42: TppLabel;
ppLabel43: TppLabel;
ppSystemVariable3: TppSystemVariable;
ppLabel44: TppLabel;
ppSystemVariable4: TppSystemVariable;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
DataSource3: TDataSource;
ADODataSet3: TADODataSet;
ppBDEPipeline3: TppBDEPipeline;
ppReport3: TppReport;
ppHeaderBand3: TppHeaderBand;
ppDetailBand3: TppDetailBand;
ppFooterBand3: TppFooterBand;
ppDBText20: TppDBText;
ppLabel46: TppLabel;
ppDBText21: TppDBText;
ppLabel47: TppLabel;
ppDBText27: TppDBText;
ppLabel53: TppLabel;
ppLine3: TppLine;
ppGroup1: TppGroup;
ppGroupHeaderBand1: TppGroupHeaderBand;
ppGroupFooterBand1: TppGroupFooterBand;
ppLabel45: TppLabel;
ppDBText30: TppDBText;
ppLine4: TppLine;
ppLabel56: TppLabel;
ppLabel57: TppLabel;
ppLabel58: TppLabel;
ppLabel60: TppLabel;
ppLabel61: TppLabel;
ppLabel62: TppLabel;
ppSystemVariable5: TppSystemVariable;
ppLabel63: TppLabel;
ppSystemVariable6: TppSystemVariable;
ppLabel64: TppLabel;
ppDBCalc4: TppDBCalc;
ppDBCalc5: TppDBCalc;
ppSummaryBand3: TppSummaryBand;
ppLabel65: TppLabel;
ppDBCalc6: TppDBCalc;
ppDBCalc7: TppDBCalc;
DataSource4: TDataSource;
ADODataSet4: TADODataSet;
ppBDEPipeline4: TppBDEPipeline;
ppReport4: TppReport;
ppHeaderBand4: TppHeaderBand;
ppDetailBand4: TppDetailBand;
ppFooterBand4: TppFooterBand;
ppDBText31: TppDBText;
ppLabel67: TppLabel;
ppDBText32: TppDBText;
ppLabel68: TppLabel;
ppDBText33: TppDBText;
ppLabel69: TppLabel;
ppDBText34: TppDBText;
ppLabel70: TppLabel;
ppDBText35: TppDBText;
ppLabel71: TppLabel;
ppDBText36: TppDBText;
ppLabel72: TppLabel;
ppDBText37: TppDBText;
ppLabel73: TppLabel;
ppDBText38: TppDBText;
ppLabel74: TppLabel;
ppDBText40: TppDBText;
ppLabel76: TppLabel;
ppLabel66: TppLabel;
ppLabel77: TppLabel;
ppLabel78: TppLabel;
ppLine5: TppLine;
ppSummaryBand4: TppSummaryBand;
ppLabel79: TppLabel;
ppDBCalc8: TppDBCalc;
ppDBCalc9: TppDBCalc;
ppDBCalc10: TppDBCalc;
ppDBCalc11: TppDBCalc;
ppDBCalc12: TppDBCalc;
ppDBCalc13: TppDBCalc;
ppDBCalc15: TppDBCalc;
ppLabel80: TppLabel;
ppLabel81: TppLabel;
ppLabel82: TppLabel;
ppLabel83: TppLabel;
ppSystemVariable7: TppSystemVariable;
ppLabel84: TppLabel;
ppSystemVariable8: TppSystemVariable;
ppLabel48: TppLabel;
ppDBText22: TppDBText;
ppLabel49: TppLabel;
ppDBText23: TppDBText;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1Change(Sender: TObject);
procedure ppReport1AfterPrint(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure ppReport2AfterPrint(Sender: TObject);
procedure ppReport2PreviewFormCreate(Sender: TObject);
procedure ppReport3AfterPrint(Sender: TObject);
procedure ppReport3PreviewFormCreate(Sender: TObject);
procedure ppReport4AfterPrint(Sender: TObject);
procedure ppReport4PreviewFormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
formatddealrep: Tformatddealrep;
implementation
uses datamol, main;
{$R *.DFM}
procedure Tformatddealrep.Button2Click(Sender: TObject);
begin
close;
end;
procedure Tformatddealrep.Button1Click(Sender: TObject);
var qry:tadoquery;
begin
if radiobutton1.checked then
begin
if (wwDBDateTimePicker1.Text <>'') and (wwDBDateTimePicker2.Text<>'') then
begin
adodataset1.Close;
adodataset1.CommandText:='select * from atd32010 where musthours<>facthours and rq between convert(datetime,'''+wwDBDateTimePicker1.text+''') and convert(datetime,'''+wwDBDateTimePicker2.text+''')';
adodataset1.Open;
pplabel18.Caption:=wwDBDateTimePicker1.Text+'~~'+wwDBDateTimePicker2.Text;
end else if (wwDBDateTimePicker1.Text ='') and (wwDBDateTimePicker2.Text ='') then
begin
adodataset1.Close;
adodataset1.CommandText:='select * from atd32010 where musthours<>facthours ';
adodataset1.Open;
pplabel18.Caption:='';
end;
qry:=tadoquery.Create(self);
qry.Connection:=datamod.Database1;
qry.SQL.Text:='select count(workno) as num1 from atd32010 where late>0';
qry.Open;
pplabel19.Caption:=inttostr(qry.fieldbyname('num1').asinteger);
qry.Close;
qry.SQL.Text:='select count(workno) as num2 from atd32010 where early>0';
qry.Open;
pplabel21.Caption:=inttostr(qry.fieldbyname('num2').asinteger);
qry.Close;
qry.SQL.Text:='select count(workno) as num3 from atd32010 where musthours<>facthours and kuanggong>0';
qry.Open;
pplabel23.Caption:=inttostr(qry.fieldbyname('num3').asinteger);
qry.Close;
qry.SQL.Text:='select count(workno) as num4 from atd32010 where musthours<>facthours and leavehave>0';
qry.Open;
pplabel25.Caption:=inttostr(qry.fieldbyname('num4').asinteger);
pplabel1.Caption:=companyname1;
pplabel28.caption:=pubworkname;
ppreport1.DeviceType:='Screen';
ppreport1.Print;
end;
if radiobutton2.Checked then
begin
if (wwDBDateTimePicker1.Text<>'') and (wwDBDateTimePicker2.Text<>'') then
begin
adodataset2.close;
adodataset2.CommandText:='select rq,dept,sum(facthours) as facthours,sum(isnull(eveninghours,0)) as eveninghours,sum(ot) as ot from vatd32010 where rq between convert(datetime,'''+wwDBDateTimePicker1.Text+''') and convert(datetime,'''+wwDBDateTimePicker2.Text+''') group by rq,dept order by rq';
adodataset2.Open;
pplabel39.Caption:=wwDBDateTimePicker1.Text+'~~'+wwDBDateTimePicker2.Text
end else
begin
adodataset2.Close;
adodataset2.CommandText:='select rq,dept,sum(facthours) as facthours,sum(isnull(eveninghours,0)) as eveninghours,sum(ot) as ot from vatd32010 group by rq,dept order by rq';
adodataset2.Open;
pplabel39.Caption:='';
end;
pplabel37.Caption:=companyname1;
pplabel42.Caption:=pubworkname;
ppreport2.DeviceType:='Screen';
ppreport2.Print;
end;
if radiobutton4.Checked then
begin
if (wwDBDateTimePicker1.Text<>'') and (wwDBDateTimePicker2.Text<>'') then
begin
adodataset3.close;
adodataset3.CommandText:='select * from vatd32010 where ot>0 and rq between '''+datetostr(wwdbdatetimepicker1.date)+''' and '''+datetostr(wwdbdatetimepicker2.date)+''' order by dept,workno' ;
adodataset3.Open;
pplabel58.Caption:=wwDBDateTimePicker1.Text+'~~'+wwDBDateTimePicker2.Text
end else
begin
adodataset3.Close;
adodataset3.CommandText:='select * from vatd32010 where ot>0 order by dept,workno ';
adodataset3.Open;
pplabel58.Caption:='';
end;
pplabel56.Caption:=companyname1;
pplabel61.Caption:=pubworkname;
ppreport3.DeviceType:='Screen';
ppreport3.Print;
end;
if radiobutton3.Checked then
begin
if (wwDBDateTimePicker1.Text<>'') and (wwDBDateTimePicker2.Text<>'') then
begin
datamod.Query1.close;
datamod.Query1.SQL.text:='Exec rep_atdtotal '+datetostr(wwdbdatetimepicker1.date)+','+datetostr(wwdbdatetimepicker2.date)+' ';
datamod.query1.execsql;
adodataset4.close;
adodataset4.CommandText:='select * from report_atdtotal where rq between convert(datetime,'''+wwDBDateTimePicker1.Text+''') and convert(datetime,'''+wwDBDateTimePicker2.Text+''') order by rq';
adodataset4.Open;
pplabel78.Caption:=wwDBDateTimePicker1.Text+'~~'+wwDBDateTimePicker2.Text
end else
begin
adodataset4.Close;
adodataset4.CommandText:='select * from report_atdtotal order by rq';
adodataset4.Open;
pplabel78.Caption:='';
end;
pplabel66.Caption:=companyname1;
pplabel82.Caption:=pubworkname;
ppreport4.DeviceType:='Screen';
ppreport4.Print;
end;
end;
procedure Tformatddealrep.FormCreate(Sender: TObject);
begin
wwDBDateTimePicker1.Date:=date;
wwDBDateTimePicker2.Date:=date;
with datamod.ADOQuery1 do
begin
close;
sql.Clear;
sql.add('select dno from pub05010'); // 部门
open;
while not eof do
begin
combobox1.Items.Add(fieldbyname('dno').asstring);
next;
end;
end;
end;
procedure Tformatddealrep.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
formatddealrep:=nil;
action:=cafree;
end;
procedure Tformatddealrep.ComboBox1Change(Sender: TObject);
var aqy:tadoquery;
begin
if length(trim(combobox1.text))<1 then
begin
label5.caption:='';
exit;
end;
aqy:=Tadoquery.create(self); //判断部门编号输入的是否正确
aqy.connection:=datamod.database1;
aqy.sql.Clear;
aqy.sql.Add('select * from pub05010 where dno='''+combobox1.text+'''');
aqy.open;
if aqy.eof then
Application.messagebox('没有此部门','Warning',mb_ok+mb_iconwarning)
else
begin
label5.Caption:=aqy.fieldbyname('dept').asstring;
aqy.close;
aqy.free;
end;
end;
procedure Tformatddealrep.ppReport1AfterPrint(Sender: TObject);
begin
adodataset1.Close;
end;
procedure Tformatddealrep.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure Tformatddealrep.ppReport2AfterPrint(Sender: TObject);
begin
adodataset2.Close;
end;
procedure Tformatddealrep.ppReport2PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure Tformatddealrep.ppReport3AfterPrint(Sender: TObject);
begin
adodataset3.Close;
end;
procedure Tformatddealrep.ppReport3PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure Tformatddealrep.ppReport4AfterPrint(Sender: TObject);
begin
adodataset4.Close;
end;
procedure Tformatddealrep.ppReport4PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -