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

📄 bustramonlrunit.pas

📁 公交行业的管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                                iExistFlag:=1;
                                break;
                        end;
                        ADOQuery1.Next;
                end;
                if iExistFlag=0 then
                begin
                        ShowMessage('对不起!数据库中没有'+LastYear+'年'+StartMon+'月的测算数据数据,请先录入!');
                        if iAddFlag=1 then
                        begin
                                ClearData(ListView1,20,0,6,2);
                                ClearData(ListView2,20,0,6,2);
                                ClearData(ListView3,21,0,6,2);
                                ClearData(ListView4,20,0,6,2);
                        end;

                        exit;
                end;
        end;

        iExistFlag:=0;
        ADOQuery1.First;
        for j:=0 to ADOQuery1.RecordCount do
        begin
                if StrToFloat(ADOQuery1.FieldByName('本月实际').AsString)=0 then
                begin
                        showmessage('对不起!去年本月测算数据中有零值!请重新选择或修改去年本月测算值!');
                        if iAddFlag=1 then
                        begin
                                ClearData(ListView1,20,0,6,2);
                                ClearData(ListView2,20,0,6,2);
                                ClearData(ListView3,21,0,6,2);
                                ClearData(ListView4,20,0,6,2);
                        end;

                        exit;
                end;
                ADOQuery1.Next;
        end;

        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        sqlString:='select distinct 统计月份 from 公交行业统计月报_z'
                       +' where 城市代码=' + iCityCode + ' and 统计年份='+LastYear+' and 统计月份>=1 and 统计月份<='+StartMon;
        ADOQuery1.SQL.Add(sqlString);
        ADOQuery1.Open;
        MonTime:=IntToStr(ADOQuery1.RecordCount);

        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        sqlString:='select a.指标代码, max(a.测算值) AS 本年本月实际,'
                       +' sum(b.测算值)/'+MonTime+' AS 本年累计, max(c.测算值) AS 去年本月实际,'
                       +' sum(d.测算值)/'+MonTime+' AS 去年累计,'
                       +' (本年本月实际-去年本月实际)/去年本月实际*100 AS 本月比较百分比,'
                       +' (本年累计-去年累计)/去年累计*100 AS 累计比较百分比'
                       +' from 公交行业统计月报_z AS a, 公交行业统计月报_z AS b, 公交行业统计月报_z AS c, 公交行业统计月报_z AS d'
                       +' where a.城市代码=' + iCityCode + ' and b.城市代码=a.城市代码 and c.城市代码=a.城市代码 and d.城市代码=a.城市代码'
                       +' and a.统计年份='+ThisYear+' and a.统计月份='+StartMon
                       +' and b.统计年份=a.统计年份 and b.统计月份>=1 and b.统计月份<='+StartMon
                       +' and c.统计年份='+LastYear+' and c.统计月份='+StartMon
                       +' and d.统计年份=c.统计年份 and d.统计月份>=1 and d.统计月份<='+StartMon
                       +' and a.指标代码=b.指标代码 and b.指标代码=c.指标代码 and c.指标代码=d.指标代码'
                       +' GROUP BY a.指标代码'
                       +' ORDER BY a.指标代码';
        ADOQuery1.SQL.Add(sqlString);
        ADOQuery1.Open;

        if ADOQuery1.RecordCount<>0 then
        begin
                WriteListView(ListView1,20,ADOQuery1);
                WriteListView(ListView2,20,ADOQuery1);
                WriteListView(ListView3,21,ADOQuery1);
                WriteListView(ListView4,20,ADOQuery1);

                ADOQuery1.First;
                for j:=0 to 19 do
                begin
                        ListView1.Items[j].SubItems[2]:=TwoDisim(ADOQuery1.fieldbyname('本年本月实际').AsString);
                        ListView1.Items[j].SubItems[3]:=TwoDisim(ADOQuery1.fieldbyname('本年本月实际').AsString);
                        ListView1.Items[j].SubItems[4]:=TwoDisim(ADOQuery1.fieldbyname('去年本月实际').AsString);
                        ListView1.Items[j].SubItems[5]:=TwoDisim(ADOQuery1.fieldbyname('去年本月实际').AsString);
                        ListView1.Items[j].SubItems[6]:=TwoDisim(ADOQuery1.fieldbyname('本月比较百分比').AsString);
                        ListView1.Items[j].SubItems[7]:=TwoDisim(ADOQuery1.fieldbyname('本月比较百分比').AsString);
                        ADOQuery1.Next;
                end;
                for j:=0 to 4 do
                begin
                        ListView2.Items[j].SubItems[2]:=TwoDisim(ADOQuery1.fieldbyname('本年本月实际').AsString);
                        ListView2.Items[j].SubItems[3]:=TwoDisim(ADOQuery1.fieldbyname('本年本月实际').AsString);
                        ListView2.Items[j].SubItems[4]:=TwoDisim(ADOQuery1.fieldbyname('去年本月实际').AsString);
                        ListView2.Items[j].SubItems[5]:=TwoDisim(ADOQuery1.fieldbyname('去年本月实际').AsString);
                        ListView2.Items[j].SubItems[6]:=TwoDisim(ADOQuery1.fieldbyname('本月比较百分比').AsString);
                        ListView2.Items[j].SubItems[7]:=TwoDisim(ADOQuery1.fieldbyname('本月比较百分比').AsString);
                        ADOQuery1.Next;
                end;
                iAddFlag:=1;
                BitBtn2.Enabled:=true;
     end;
     {特殊指标的处理}
     ListView4.Items[1].SubItems[3]:=SpecDataDiv(ListView4.Items[2].SubItems[3],ListView4.Items[3].SubItems[3],10000);
     ListView4.Items[4].SubItems[3]:=SpecDataDiv(ListView4.Items[5].SubItems[3],ListView4.Items[6].SubItems[3],100);
     ListView4.Items[7].SubItems[3]:=SpecDataDiv(ListView4.Items[8].SubItems[3],ListView4.Items[9].SubItems[3],100);
     ListView4.Items[10].SubItems[3]:=SpecDataDiv(ListView4.Items[11].SubItems[3],ListView4.Items[12].SubItems[3],100);
     ListView4.Items[14].SubItems[3]:=SpecDataDiv(ListView3.Items[13].SubItems[3],ListView4.Items[13].SubItems[3],1);

     ListView4.Items[1].SubItems[5]:=SpecDataDiv(ListView4.Items[2].SubItems[5],ListView4.Items[3].SubItems[5],10000);
     ListView4.Items[4].SubItems[5]:=SpecDataDiv(ListView4.Items[5].SubItems[5],ListView4.Items[6].SubItems[5],100);
     ListView4.Items[7].SubItems[5]:=SpecDataDiv(ListView4.Items[8].SubItems[5],ListView4.Items[9].SubItems[5],100);
     ListView4.Items[10].SubItems[5]:=SpecDataDiv(ListView4.Items[11].SubItems[5],ListView4.Items[12].SubItems[5],100);
     ListView4.Items[14].SubItems[5]:=SpecDataDiv(ListView3.Items[13].SubItems[5],ListView4.Items[13].SubItems[5],1);

     {百分比}
     iDiv:=DealString(ListView4.Items[2].SubItems[7])-DealString(ListView4.Items[3].SubItems[7]);
     iDivD:= DealString(ListView4.Items[3].SubItems[7]);
     ListView4.Items[1].SubItems[7]:=SpecDataDiv(FloattoStr(iDiv),FloatToStr(iDivD),100);

     iDiv:=DealString(ListView4.Items[4].SubItems[7])-DealString(ListView4.Items[5].SubItems[7]);
     iDivD:= DealString(ListView4.Items[5].SubItems[7]);
     ListView4.Items[4].SubItems[7]:=SpecDataDiv(FloattoStr(iDiv),FloatToStr(iDivD),100);

     iDiv:=DealString(ListView4.Items[8].SubItems[7])-DealString(ListView4.Items[9].SubItems[7]);
     iDivD:= DealString(ListView4.Items[9].SubItems[7]);
     ListView4.Items[7].SubItems[7]:=SpecDataDiv(FloattoStr(iDiv),FloatToStr(iDivD),100);

     iDiv:=DealString(ListView4.Items[11].SubItems[7])-DealString(ListView4.Items[12].SubItems[7]);
     iDivD:= DealString(ListView4.Items[12].SubItems[7]);
     ListView4.Items[10].SubItems[7]:=SpecDataDiv(FloattoStr(iDiv),FloatToStr(iDivD),100);

     iDiv:=DealString(ListView3.Items[13].SubItems[7])-DealString(ListView4.Items[13].SubItems[7]);
     iDivD:= DealString(ListView4.Items[13].SubItems[7]);
     ListView4.Items[14].SubItems[7]:=SpecDataDiv(FloattoStr(iDiv),FloatToStr(iDivD),100);

end;

procedure TBusTraMonLRFm.BitBtn2Click(Sender: TObject);
var
        iRow:Integer;
        iCol:Integer;
begin
        if (DeviceDetect=0) then
        begin
                exit;
        end;

        if(PrnInfoFrm.ShowModal<>mrOK)then
        begin
                exit;
        end;

        PrintInit(ExtractFilePath(application.exeName),'BusTradeCountMonTab');

        for iRow:=0 to 19 do
        begin
                for iCol:=2 to 7 do
                        WriteCell(iRow+8,iCol+2,ListView1.Items[iRow].SubItems[iCol]);
                WriteCell(4,1,'汇总单位:'+Edit1.Text);
                WriteCell(28,1,'统计负责人:'+PrnInfoFrm.StatMainPerson);
                WriteCell(28,6,PrnInfoFrm.StatPerson);
                WriteCell(28,10,DateToStr(PrnInfoFrm.StatDate));
                WriteCell(3,5,ComboBox1.Text+'年  '+ComboBox2.Text+'月');
        end;

        for iRow:=0 to 19 do
        begin
                for iCol:=2 to 7 do
                        WriteCell(iRow+8,iCol+12,ListView2.Items[iRow].SubItems[iCol]);
                WriteCell(4,11,'汇总单位:'+Edit1.Text);
                WriteCell(28,11,'统计负责人:'+PrnInfoFrm.StatMainPerson);
                WriteCell(28,16,PrnInfoFrm.StatPerson);
                WriteCell(28,20,DateToStr(PrnInfoFrm.StatDate));
                WriteCell(3,15,ComboBox1.Text+'年  '+ComboBox2.Text+'月');
        end;

        for iRow:=0 to 20 do
        begin
                for iCol:=2 to 7 do
                        WriteCell(iRow+38,iCol+2,ListView3.Items[iRow].SubItems[iCol]);
                WriteCell(34,1,'汇总单位:'+Edit1.Text);
                WriteCell(59,1,'统计负责人:'+PrnInfoFrm.StatMainPerson);
                WriteCell(59,6,PrnInfoFrm.StatPerson);
                WriteCell(59,10,DateToStr(PrnInfoFrm.StatDate));
                WriteCell(33,5,ComboBox1.Text+'年  '+ComboBox2.Text+'月');
        end;

        for iRow:=0 to 19 do
        begin
                for iCol:=2 to 7 do
                        WriteCell(iRow+38,iCol+12,ListView4.Items[iRow].SubItems[iCol]);
                WriteCell(34,11,'汇总单位:'+Edit1.Text);
                WriteCell(59,11,'统计负责人:'+PrnInfoFrm.StatMainPerson);
                WriteCell(59,16,PrnInfoFrm.StatPerson);
                WriteCell(59,20,DateToStr(PrnInfoFrm.StatDate));
                WriteCell(33,15,ComboBox1.Text+'年  '+ComboBox2.Text+'月');
        end;

        PrintExcelShow;
        PrintPreview;
        CloseActiveBook;

end;

procedure TBusTraMonLRFm.BitBtn3Click(Sender: TObject);
begin
        Close;
end;

procedure TBusTraMonLRFm.FormCreate(Sender: TObject);
begin
        iAddFlag:=0;
end;

end.

⌨️ 快捷键说明

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