⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 busicount.~pas

📁 一个电力企业的后台管理程序
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
    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 + -