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

📄 apputil.~pas

📁 delphi开发的抄表数据管理系统
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT count(*) as num FROM 问题数据分析 where (区号='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') and (故障标记=''113'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[5].cells[i+7,11].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);}
            //******差额(111)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT count(*) as num FROM 问题数据分析 where (区号='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') and (故障标记=''111'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,10].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //****************
            WorkBook.Sheets[1].cells[i+7,11].value:=inttostr(strtoint(WorkBook.Sheets[1].cells[i+7,9])+strtoint(WorkBook.Sheets[1].cells[i+7,10]));
            if(strtoint(WorkBook.Sheets[1].cells[i+7,4])<>0) then
              WorkBook.Sheets[1].cells[i+7,12]:=floattostr(strtoint(WorkBook.Sheets[1].cells[i+7,11]) / strtoint(WorkBook.Sheets[1].cells[i+7,4]))
            else
              WorkBook.Sheets[1].cells[i+7,12]:='0';
            //****************
            //******停转时间异常
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT count(*) as num FROM 问题数据分析 where (区号='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') and (问题标记=''000'' and 故障标记=''000'') and 停转时间>=''48''');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,13].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //******机械表(114)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT COUNT(*) AS num FROM 问题数据分析 WHERE (区号 ='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') AND (问题标记 = ''114'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,14].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //******丢失(106)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT COUNT(*) AS num FROM 问题数据分析 WHERE (区号 ='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') AND (故障标记 = ''106'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,15].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //*****************
            WorkBook.Sheets[1].cells[i+7,16].value:=inttostr(strtoint(WorkBook.Sheets[1].cells[i+7,13])+strtoint(WorkBook.Sheets[1].cells[i+7,14])++strtoint(WorkBook.Sheets[1].cells[i+7,15]));
            if (strtoint(WorkBook.Sheets[1].cells[i+7,4])<>0) then
              WorkBook.Sheets[1].cells[i+7,17]:=floattostr(strtoint(WorkBook.Sheets[1].cells[i+7,16]) / strtoint(WorkBook.Sheets[1].cells[i+7,4]))
            else
              WorkBook.Sheets[1].cells[i+7,17]:='0';
            WorkBook.Sheets[1].cells[i+7,18].value:=inttostr(strtoint(WorkBook.Sheets[1].cells[i+7,11])+strtoint(WorkBook.Sheets[1].cells[i+7,16]));
            if (strtoint(WorkBook.Sheets[1].cells[i+7,4])<>0) then
              WorkBook.Sheets[1].cells[i+7,19]:=floattostr(strtoint(WorkBook.Sheets[1].cells[i+7,18]) / strtoint(WorkBook.Sheets[1].cells[i+7,4]))
            else
              WorkBook.Sheets[1].cells[i+7,19]:='0';
            //*****************
            //******井塌(108)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT COUNT(*) AS num FROM 问题数据分析 WHERE (区号 ='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') AND (问题标记 = ''108'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,20].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //******压井(110)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT COUNT(*) AS num FROM 问题数据分析 WHERE (区号 ='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') AND (问题标记 = ''110'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,21].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //******锁门(109)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT COUNT(*) AS num FROM 问题数据分析 WHERE (区号 ='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') AND (问题标记 = ''109'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,22].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //******表污(107)
            DataModule1.adoquery6.Connection:=DataModule1.ADOConnection1;
            DataModule1.adoquery6.SQL.Clear;
            DataModule1.adoquery6.Close;
            datamodule1.ADOQuery6.Filtered:=false;
            datamodule1.ADOQuery6.SQL.Add('SELECT COUNT(*) AS num FROM 问题数据分析 WHERE (区号 ='''+QuNoStr+''' and 抄表员号 ='''+tempstrop+''') AND (问题标记 = ''107'')');
            DataModule1.adoquery6.Prepared;
            DataModule1.adoquery6.open;
            WorkBook.Sheets[1].cells[i+7,23].value:=inttostr(DataModule1.adoquery6.fieldbyname('num').AsInteger);
            //********************
            WorkBook.Sheets[1].cells[i+7,24].value:=inttostr(strtoint(WorkBook.Sheets[1].cells[i+7,20])+strtoint(WorkBook.Sheets[1].cells[i+7,21])+strtoint(WorkBook.Sheets[1].cells[i+7,22])+strtoint(WorkBook.Sheets[1].cells[i+7,23]));
            if (strtoint(WorkBook.Sheets[1].cells[i+7,4])<>0) then
              WorkBook.Sheets[1].cells[i+7,25]:=floattostr(strtoint(WorkBook.Sheets[1].cells[i+7,24]) / strtoint(WorkBook.Sheets[1].cells[i+7,4]))
            else
              WorkBook.Sheets[1].cells[i+7,25]:='0';
            //********************
        end;
        k:=i;
        for j:=2 to 25 do
        begin
            WorkBook.Sheets[1].cells[k+7,j]:=0;
        end;
        for i:=k-1 downto 0 do
        begin
            WorkBook.Sheets[1].cells[k+7,1]:='合计';
            WorkBook.Sheets[1].cells[k+7,2]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,2])+strtoint(WorkBook.Sheets[1].cells[i+7,2]));
            WorkBook.Sheets[1].cells[k+7,3]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,3])+strtoint(WorkBook.Sheets[1].cells[i+7,3]));
            WorkBook.Sheets[1].cells[k+7,4]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,4])+strtoint(WorkBook.Sheets[1].cells[i+7,4]));
            WorkBook.Sheets[1].cells[k+7,5].value:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,5].value)+strtoint(WorkBook.Sheets[1].cells[i+7,5].value));
            WorkBook.Sheets[1].cells[k+7,6]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,6])+strtoint(WorkBook.Sheets[1].cells[i+7,6]));
            WorkBook.Sheets[1].cells[k+7,7]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,7])+strtoint(WorkBook.Sheets[1].cells[i+7,7]));
            if (strtoint(WorkBook.Sheets[1].cells[K+7,4])<>0) then
              WorkBook.Sheets[1].cells[k+7,8]:=floattostr(strtoint(WorkBook.Sheets[1].cells[k+7,7]) / strtoint(WorkBook.Sheets[1].cells[k+7,4]))
            else
              WorkBook.Sheets[1].cells[k+7,8]:='0';
            WorkBook.Sheets[1].cells[k+7,9]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,9])+strtoint(WorkBook.Sheets[1].cells[i+7,9]));
            WorkBook.Sheets[1].cells[k+7,10]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,10])+strtoint(WorkBook.Sheets[1].cells[i+7,10]));
            WorkBook.Sheets[1].cells[k+7,11]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,11])+strtoint(WorkBook.Sheets[1].cells[i+7,11]));
            if (strtoint(WorkBook.Sheets[1].cells[K+7,4])<>0) then
              WorkBook.Sheets[1].cells[k+7,12]:=floattostr(strtoint(WorkBook.Sheets[1].cells[k+7,11]) / strtoint(WorkBook.Sheets[1].cells[k+7,4]))
            else
              WorkBook.Sheets[1].cells[k+7,12]:='0';
            WorkBook.Sheets[1].cells[k+7,13]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,13])+strtoint(WorkBook.Sheets[1].cells[i+7,13]));
            WorkBook.Sheets[1].cells[k+7,14]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,14])+strtoint(WorkBook.Sheets[1].cells[i+7,14]));
            WorkBook.Sheets[1].cells[k+7,15]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,15])+strtoint(WorkBook.Sheets[1].cells[i+7,15]));
            WorkBook.Sheets[1].cells[k+7,16]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,16])+strtoint(WorkBook.Sheets[1].cells[i+7,16]));
            if (strtoint(WorkBook.Sheets[1].cells[K+7,4])<>0) then
              WorkBook.Sheets[1].cells[k+7,17]:=floattostr(strtoint(WorkBook.Sheets[1].cells[k+7,16]) / strtoint(WorkBook.Sheets[1].cells[k+7,4]))
            else
              WorkBook.Sheets[1].cells[k+7,17]:='0';
            WorkBook.Sheets[1].cells[k+7,18]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,18])+strtoint(WorkBook.Sheets[1].cells[i+7,18]));
            if (strtoint(WorkBook.Sheets[1].cells[K+7,4])<>0) then
              WorkBook.Sheets[1].cells[k+7,19]:=floattostr(strtoint(WorkBook.Sheets[1].cells[k+7,18]) / strtoint(WorkBook.Sheets[1].cells[k+7,4]))
            else
              WorkBook.Sheets[1].cells[k+7,19]:='0';
            WorkBook.Sheets[1].cells[k+7,20]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,20])+strtoint(WorkBook.Sheets[1].cells[i+7,20]));
            WorkBook.Sheets[1].cells[k+7,21]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,21])+strtoint(WorkBook.Sheets[1].cells[i+7,21]));
            WorkBook.Sheets[1].cells[k+7,22]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,22])+strtoint(WorkBook.Sheets[1].cells[i+7,22]));
            WorkBook.Sheets[1].cells[k+7,23]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,23])+strtoint(WorkBook.Sheets[1].cells[i+7,23]));
            WorkBook.Sheets[1].cells[k+7,24]:=inttostr(strtoint(WorkBook.Sheets[1].cells[k+7,24])+strtoint(WorkBook.Sheets[1].cells[i+7,24]));
            if (strtoint(WorkBook.Sheets[1].cells[K+7,4])<>0) then
              WorkBook.Sheets[1].cells[k+7,25]:=floattostr(strtoint(WorkBook.Sheets[1].cells[k+7,24]) / strtoint(WorkBook.Sheets[1].cells[k+7,4]))
            else
              WorkBook.Sheets[1].cells[k+7,25]:='0';
            //showmessage(WorkBook.Sheets[5].cells[k+7,4]);
        end;
        Screen.Cursors[crMyCursor]:=crdefault;
        Screen.Cursor:=crdefault;
        eclApp.Visible := True;
        //workbook.sheets[5].printpreview;
        //savedialog1.Filter:='Microsoft Excel 工作簿 (*.xls)|*.xls';
        //if savedialog1.Execute then
            //eclapp.sheets[5].saveas(savedialog1.FileName+'.xls'); //ActiveSheet
        //WorkBook.Close;
        //eclApp.Quit;
        eclApp:=Unassigned;
        //for i:=1 to 4 do
        for i:=low(selectoperatorform.operatorlist) to high(selectoperatorform.operatorlist) do
             SelectOperatorForm.operatorlist[i]:='';
        SelectOperatorForm.tempquno:='';
    end;
end;

function getNum(str:string):string;
var
  i:integer;
  ret:string;
begin
    i:=pos('-',str);
    if(i=0) then
    begin
      result:=str;
      exit;
    end;
    ret:=leftbstr(str,i-1);
    result:=ret;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -