📄 busicount.~pas
字号:
Add(Format('TSfin_total=%d',[iFinishtotal_Num_TS])); Add(Format('TSno_month=%d',[iNoFinishmonth_Num_TS])); Add(Format('TSno_total=%d',[iNoFinishtotal_Num_TS]));
Add(Format('TSne_month=%d',[iOverTimeFinishmonth_Num_TS])); Add(Format('TSne_total=%d',[iOverTimeFinishtotal_Num_TS])); Add(Format('TSrate_month=%s',[OverTimeRate_month_TS]));
Add(Format('TSrate_total=%s',[OverTimeRate_total_TS])); Add(Format('TSsa_month=%d',[iSatisfymonth_Num_TS])); Add(Format('TSsa_total=%d',[iSatisfytotal_Num_TS]));
Add(Format('TSsara_month=%s',[SatisfyRate_month_TS])); Add(Format('TSsara_total=%s',[SatisfyRate_total_TS]));
Add(Format('YWTo_month=%d',[iSendmonth_Num_YW])); Add(Format('YWTo_total=%d',[iSendtotal_Num_YW])); Add(Format('YWfin_month=%d',[iFinishmonth_Num_YW]));
Add(Format('YWfin_total=%d',[iFinishtotal_Num_YW])); Add(Format('YWno_month=%d',[iNoFinishmonth_Num_YW])); Add(Format('YWno_total=%d',[iNoFinishtotal_Num_YW]));
Add(Format('YWne_month=%d',[iOverTimeFinishmonth_Num_YW])); Add(Format('YWne_total=%d',[iOverTimeFinishtotal_Num_YW])); Add(Format('YWrate_month=%s',[OverTimeRate_month_YW]));
Add(Format('YWrate_total=%s',[OverTimeRate_total_YW])); Add(Format('YWsa_month=%d',[iSatisfymonth_Num_YW])); Add(Format('YWsa_total=%d',[iSatisfytotal_Num_YW]));
Add(Format('YWsara_month=%s',[SatisfyRate_month_YW])); Add(Format('YWsara_total=%s',[SatisfyRate_total_YW]));
Add(Format('TDTo_month=%d',[iSendmonth_Num_TD])); Add(Format('TDTo_total=%d',[iSendtotal_Num_TD])); Add(Format('TDfin_month=%d',[iFinishmonth_Num_TD]));
Add(Format('TDfin_total=%d',[iFinishmonth_Num_TD])); Add(Format('TDno_month=%d',[iNoFinishmonth_Num_TD])); Add(Format('TDno_total=%d',[iNoFinishmonth_Num_TD]));
Add(Format('TDne_month=%s',[cst_simulate])); Add(Format('TDne_total=%s',[cst_simulate])); Add(Format('TDrate_month=%s',[cst_simulate]));
Add(Format('TDrate_total=%s',[cst_simulate])); Add(Format('TDsa_month=%s',[cst_simulate])); Add(Format('TDsa_total=%s',[cst_simulate]));
Add(Format('TDsara_month=%s',[cst_simulate])); Add(Format('TDsara_total=%s',[cst_simulate]));
Add(Format('KHTo_month=%d',[iSendmonth_Num_CJ])); Add(Format('KHTo_total=%s',[cst_simulate])); Add(Format('KHfin_month=%d',[iFinishmonth_Num_CJ]));
Add(Format('KHfin_total=%s',[cst_simulate])); Add(Format('KHno_month=%d',[iNoFinishmonth_Num_CJ])); Add(Format('KHno_total=%s',[cst_simulate]));
Add(Format('KHne_month=%s',[cst_simulate])); Add(Format('KHne_total=%s',[cst_simulate])); Add(Format('KHrate_month=%s',[cst_simulate]));
Add(Format('KHrate_total=%s',[cst_simulate])); Add(Format('KHsa_month=%s',[cst_simulate])); Add(Format('KHsa_total=%s',[cst_simulate]));
Add(Format('KHsara_month=%s',[cst_simulate])); Add(Format('KHsara_total=%s',[cst_simulate]));
Add(Format('TOTo_month=%d',[iSendmonth_Total])); Add(Format('TOTo_total=%d',[iSendtotal_Total])); Add(Format('TOfin_month=%d',[iFinishmonth_Total]));
Add(Format('TOfin_total=%d',[iFinishtotal_Total])); Add(Format('TOno_month=%d',[iNoFinishmonth_Total])); Add(Format('TOno_total=%d',[iNoFinishtotal_Total]));
Add(Format('TOne_month=%d',[iOverTimeFinishmonth_Total])); Add(Format('TOne_total=%d',[iOverTimeFinishtotal_Total])); Add(Format('TOrate_month=%s',[OverTimeRate_month_Total]));
Add(Format('TOrate_total=%s',[OverTimeRate_total_Total])); Add(Format('TOsa_month=%d',[SatisfyRatemonth_total])); Add(Format('TOsa_total=%d',[SatisfyRatetotal_total]));
Add(Format('TOsara_month=%s',[SatisfyRate_month_total])); Add(Format('TOsara_total=%s',[SatisfyRate_total_total]));
Add(Format('limityear=%s',[FormatDateTime('YYYY',Dt_Curr)]));
Add(Format('limitmonth=%s',[FormatDateTime('MM',Dt_Curr)]));
Add(Format('CountDate=%s',[FormatDateTime('YYYY"-"MM"-"DD',Dt_AddUp)]));
Add(Format('PrintDate=%s',[FormatDateTime('YYYY"-"MM"-"DD',NOW)]));
end;
WorddotRpt1.MasterDataset := nil;
WorddotRpt1.Preview := True;
WorddotRpt1.TemplateName := ExtractFilePath(Application.ExeName)+'StatWorkTotal.dot';
WorddotRpt1.Execute;
end;
procedure TFrm_BusiCount.GetStatNum(const TOTALTIME, starttime,
endtime: TDateTime; serv_id, serv_type: string; var month_num,total_num:integer);
var
i, Recount:integer;
sqlstring:string;
begin
Recount:=0;
with TQuery.Create (nil) do
try
DataBaseName:=SysDM.DBMain.DataBaseName;
close; sql.clear;
sqlstring :='select * from stat_day_service_num where serv_class_id='+#39+serv_id+#39+' and serv_class_type='+#39+serv_type+#39+' and stat_time<=:A and stat_time>=:B';
sql.Text:=sqlstring;
ParamByName('A').AsDateTime:=endtime;
ParamByName('B').AsDateTime:=starttime;
open;
if not IsEmpty then
begin
for i:=0 to RecordCount-1 do
begin
Recount:=Recount+FieldByName('all_num').AsInteger;
next;
end;
month_num:=ReCount;
end else month_num:=0;
close; sql.clear;
sqlstring :='select * from stat_day_service_num where serv_class_id='+#39+serv_id+#39+' and serv_class_type='+#39+serv_type+#39+' and stat_time<=:A and stat_time>=:B';
sql.Text:=sqlstring;
ParamByName('A').AsDateTime:=endtime;
ParamByName('B').AsDateTime:=TOTALTIME;
open;
if not IsEmpty then
begin
for i:=0 to RecordCount-1 do
begin
Recount:=Recount+FieldByName('all_num').AsInteger;
next;
end;
total_num:=ReCount;
end else total_num:=0;
finally
Free;
end;
end;
procedure TFrm_BusiCount.ServeType(const TOTALTIME, starttime,
endtime: TDateTime; var month_num, total_num: integer);
begin
with TQuery.Create(nil) do
try
Databasename:=SysDM.DBMain.databasename;
close; sql.Clear;
sql.Text:='select * from AgentChgRec where StartTime>=:Start and StartTime<=:End and chgtype=5';
ParamByName('Start').asdatetime:=starttime;
ParamByName('End').asdatetime:=endtime;
open;
month_num:=recordcount;
close; sql.Clear;
sql.Text:='select * from AgentChgRec where StartTime>=:Start and StartTime<=:End and chgtype=5';
ParamByName('Start').asdatetime:=TOTALTIME;
ParamByName('End').asdatetime:=endtime;
open;
total_num:=recordcount;
finally
Free;
end;
end;
procedure TFrm_BusiCount.CalWXGZ(const totaltime, starttime,
endtime: TDateTIme; var iSendmonth_Num, iSendtotal_Num, iFinishmonth_Num,
iFinishtotal_Num, iNoFinishmonth_Num, iNoFinishtotal_Num,
iOverTimeFinishmonth_Num, iOverTimeFinishtotal_Num, iSatisfymonth_Num,
iSatisfytotal_Num: integer; var OverTimeRate_month, OverTimeRate_total,
SatisfyRate_month, SatisfyRate_total: string);
//var
//Satisfy_month, Satisfy_total:integer;
begin
with TQuery.Create(nil) do
try
//总件数
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select count(*) RecCount from ClientElecOut where zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=starttime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iSendmonth_Num:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select count(*) RecCount from ClientElecOut where zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=totaltime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iSendtotal_Num:=Fieldbyname('RecCount').AsInteger;
//完成数
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select count(*) RecCount from ClientElecOut where State=2 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=starttime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iFinishmonth_Num:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select count(*) RecCount from ClientElecOut where State=2 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=totaltime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iFinishtotal_Num:=Fieldbyname('RecCount').AsInteger;
//未完成数
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select count(*) RecCount from ClientElecOut where State=0 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=starttime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iNoFinishmonth_Num:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select count(*) RecCount from ClientElecOut where State=0 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=totaltime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iNoFinishtotal_Num:=Fieldbyname('RecCount').AsInteger;
//超期完成数
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select ');
Sql.Add('(select Count(*) from ClientElecOut where IsOverTime=1 and state=2 and datediff(minute,zzflsj,pcsj)>45 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1)+');
Sql.Add('(select Count(*) from ClientElecOut where IsOverTime=2 and state=2 and datediff(minute,zzflsj,pcsj)>90 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1)+');
Sql.Add('(select Count(*) from ClientElecOut where IsOverTime=3 and state=2 and datediff(hour,zzflsj,pcsj)>2 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1) ');
Sql.Add('RecCount');
Parambyname('A').AsDateTime:=starttime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iOverTimeFinishmonth_Num:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('Select ');
Sql.Add('(select Count(*) from ClientElecOut where IsOverTime=1 and state=2 and datediff(minute,zzflsj,pcsj)>45 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1)+');
Sql.Add('(select Count(*) from ClientElecOut where IsOverTime=2 and state=2 and datediff(minute,zzflsj,pcsj)>90 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1)+');
Sql.Add('(select Count(*) from ClientElecOut where IsOverTime=3 and state=2 and datediff(hour,zzflsj,pcsj)>2 and zzsbsj>=:A and zzsbsj<=:B and ELECOUT_LEVEL=1) ');
Sql.Add('RecCount');
Parambyname('A').AsDateTime:=totaltime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iOverTimeFinishtotal_Num:=Fieldbyname('RecCount').AsInteger;
//超期率
if iFinishmonth_Num=0 then OverTimeRate_month:='0' else OverTimeRate_month:=Format('%2.2f',[iOverTimeFinishmonth_Num/iFinishmonth_Num*100]);
if iFinishtotal_Num=0 then OverTimeRate_total:='0' else OverTimeRate_total:=Format('%2.2f',[iOverTimeFinishtotal_Num/iFinishtotal_Num*100]);
//满意数
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('select Count(*) Reccount from ClientElecOut where (usersatisfy=1 or usersatisfy=2 or usersatisfy=3) and zzflsj>=:A and zzflsj<=:B and (state=2 or state=7 or state=8 or state=9) and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=starttime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iSatisfymonth_Num:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('select Count(*) Reccount from ClientElecOut where (usersatisfy=1 or usersatisfy=2 or usersatisfy=3) and zzflsj>=:A and zzflsj<=:B and (state=2 or state=7 or state=8 or state=9) and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=totaltime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
iSatisfytotal_Num:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
close; Sql.Clear ;
Sql.Add('select Count(*) Reccount from ClientElecOut where zzflsj>=:A and zzflsj<=:B and (state=2 or state=7 or state=8 or state=9) and ELECOUT_LEVEL=1');
Parambyname('A').AsDateTime:=starttime; Parambyname('B').AsDateTime:=endtime;
Prepare; Open;
Satisfy_month_WX:=Fieldbyname('RecCount').AsInteger;
Databasename:=SysDM.DBMain.databasename;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -