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

📄 busindustry_report.pas

📁 公交行业的管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
        end;
        // ********************  MNS43--------MNS47************************
        sqlstr := 'SELECT sum(企业注册资本金) AS capital, count(*) as amount, 营业状况 as type FROM 公用事业单位基本情况表  where 统计年份='+sumyear+' group by 营业状况';
        AdoQuery1.Close;
        AdoQuery1.SQL.Clear;
        AdoQuery1.SQL.Add(sqlstr);
        AdoQuery1.Open;
        while (not AdoQuery1.Eof)
        do
        begin
                s1 :=AdoQuery1.FieldByName('type').AsString;
                rownumber := GetIndex(s1);
                if (rownumber <> -1)
                then
                begin
                        listview3.Items.Item[rownumber-40].SubItems[1]:= AdoQuery1.FieldByName('amount').AsString;
                        listview3.Items.Item[rownumber-40].SubItems[4]:= ConverterPercent(AdoQuery1.FieldByName('capital').AsString);
                        listview3.Items.Item[rownumber-40].SubItems[2]:= GetIncrDecr(sumyear,s1,'营业状况').incrnum;
                        listview3.Items.Item[rownumber-40].SubItems[3]:= GetIncrDecr(sumyear,s1,'营业状况').decrnum;
                end;
                AdoQuery1.Next;
        end;

        // ********************  MNS49--------MNS53************************
        sqlstr := 'SELECT sum(企业注册资本金) AS capital, count(*) as amount, 企业规模 as type FROM 公用事业单位基本情况表  where 统计年份='+sumyear+' group by 企业规模';
        AdoQuery1.Close;
        AdoQuery1.SQL.Clear;
        AdoQuery1.SQL.Add(sqlstr);
        AdoQuery1.Open;
        while (not AdoQuery1.Eof)
        do
        begin
                s1 :=AdoQuery1.FieldByName('type').AsString;
                //rownumber := GetIndex2(s1,46);
                rownumber := GetIndex(s1);
                if (rownumber <> -1)
                then
                begin
                        listview3.Items.Item[rownumber-40].SubItems[1]:= AdoQuery1.FieldByName('amount').AsString;
                        listview3.Items.Item[rownumber-40].SubItems[4]:= ConverterPercent(AdoQuery1.FieldByName('capital').AsString);
                        listview3.Items.Item[rownumber-40].SubItems[2]:= GetIncrDecr(sumyear,s1,'营业状况').incrnum;
                        listview3.Items.Item[rownumber-40].SubItems[3]:= GetIncrDecr(sumyear,s1,'营业状况').decrnum;
                end;
                AdoQuery1.Next;
        end;

        // Call procedure to deal with the increasing and decreasing amount
        annexdeal();       //deal with some special record

        iState := 'Ful';
        ShowMessage('浏览结束!');
        Screen.Cursor := crDefault;
        //SetBtn();
        Bitbtn1.Enabled:= true;
        Bitbtn2.Enabled:= true;
        Bitbtn3.Enabled:= true;
        Bitbtn4.Enabled:= true;

end;

procedure TAnnualReport.ComboBox1Change(Sender: TObject);
begin
        iState := 'Ini';
        //SetBtn();
        sumyear := ComboBox1.Text;
        InitListViews();

end;

procedure TAnnualReport.FormCreate(Sender: TObject);
begin
        iState := 'Nul';
        itemnumber := 52;
end;

procedure TAnnualReport.BitBtn3Click(Sender: TObject);
var
        sqlstr1,sqlstr2,sqlstr3,sqlstr4 : string;
        sumnum : array [1..52] of single;
        incr: array [1..52] of single;
        decr: array [1..52] of single;
        capital: array [1..52] of single;
        ind: integer;
        ss1,ss2,ss3,ss4,sqlstr: string;
        isum,iincr,idecr,icapi,icode: string;
begin
        BitBtn2.Click;

        Bitbtn1.Enabled:= false;
        Bitbtn2.Enabled:= false;
        Bitbtn3.Enabled:= false;
        Bitbtn4.Enabled:= false;

        AdoQuery1.Close;
        AdoQuery1.SQL.Clear;
        sqlstr := 'select * from 公交行业名录统计年报表 where 统计年份='+sumyear;
        AdoQuery1.SQL.Add(sqlstr);
        AdoQuery1.Open;
        if (AdoQuery1.RecordCount > 0)
        then
        begin
                if (MessageBox(self.Handle,'本年的统计记录已经存在!覆盖按是,否则按否','',MB_YESNO)=6) then
                begin
                        sqlstr := 'delete * from 公交行业名录统计年报表 where 统计年份='+sumyear+' and 城市代码='+''''+'022'+'''';
                        AdoCommand1.CommandText:= sqlstr;
                        AdoCommand1.Execute;
                        sqlstr := 'delete * from 公交行业名录统计年报表_z where 统计年份='+sumyear+' and 城市代码='+''''+'022'+'''';
                        AdoCommand1.CommandText:= sqlstr;
                        AdoCommand1.Execute;
                end
                else
                begin
                        Bitbtn1.Enabled:= true;
                        Bitbtn2.Enabled:= true;
                        Bitbtn3.Enabled:= true;
                        Bitbtn4.Enabled:= true;
                        exit;
                end;
        end;

        iState := 'Run';
        Screen.Cursor := crHourGlass;
        //SetBtn();
        //************ add code here to get through the inputing database
        ind := 1;    ss1 := '';   ss2 := '';   ss3 := '';   ss4 := '';
        while (ind < 20)
        do
        begin
                sumnum[ind]:= strToFloat(Listview1.Items.Item[ind-1].SubItems[1]);
                incr[ind]:= strToFloat(Listview1.Items.Item[ind-1].SubItems[2]);
                decr[ind]:= strToFloat(Listview1.Items.Item[ind-1].SubItems[3]);
                capital[ind]:= strToFloat(Listview1.Items.Item[ind-1].SubItems[4]);
                ind := ind + 1;
        end;
        while (ind < 41)
        do
        begin
                sumnum[ind]:= strToFloat(Listview2.Items.Item[ind-20].SubItems[1]);
                incr[ind]:= strToFloat(Listview2.Items.Item[ind-20].SubItems[2]);
                decr[ind]:= strToFloat(Listview2.Items.Item[ind-20].SubItems[3]);
                capital[ind]:= strToFloat(Listview2.Items.Item[ind-20].SubItems[4]);
                ind := ind + 1;
        end;
        while (ind < 53)
        do
        begin
                sumnum[ind]:= strToFloat(Listview3.Items.Item[ind-41].SubItems[1]);
                incr[ind]:= strToFloat(Listview3.Items.Item[ind-41].SubItems[2]);
                decr[ind]:= strToFloat(Listview3.Items.Item[ind-41].SubItems[3]);
                capital[ind]:= strToFloat(Listview3.Items.Item[ind-41].SubItems[4]);
                ind := ind + 1;
        end;

        for ind := 1 to 51  do
        begin
                ss1 := ss1 + FloatToStr(sumnum[ind]) +',';
                ss2 := ss2 + FloatToStr(incr[ind]) + ',';
                ss3 := ss3 + FloatToStr(decr[ind]) + ',';
                ss4 := ss4 + FloatToStr(capital[ind]) + ',';
        end;
        ss1 := ss1 + FloatToStr(sumnum[52]);
        ss2 := ss2 + FloatToStr(incr[52]);
        ss3 := ss3 + FloatToStr(decr[52]);
        ss4 := ss4 + FloatToStr(capital[52]);

        sqlstr1 := 'insert into 公交行业名录统计年报表 values ('+''''+'022'+''''+','+sumyear+','+''''+' '+''''+','+''''+'合计'+''''+',';
        sqlstr1 := sqlstr1 + ss1 + ')';
        sqlstr2 := 'insert into 公交行业名录统计年报表 values ('+''''+'022'+''''+','+sumyear+','+''''+' '+''''+','+''''+'本年新增'+''''+',';
        sqlstr2 := sqlstr2 + ss2 + ')';
        sqlstr3 := 'insert into 公交行业名录统计年报表 values ('+''''+'022'+''''+','+sumyear+','+''''+' '+''''+','+''''+'本年减少'+''''+',';
        sqlstr3 := sqlstr3 + ss3 + ')';
        sqlstr4 := 'insert into 公交行业名录统计年报表 values ('+''''+'022'+''''+','+sumyear+','+''''+' '+''''+','+''''+'企业注册资本金'+''''+',';
        sqlstr4 := sqlstr4 + ss4 + ')';

        AdoCommand1.CommandText := sqlstr1;
        AdoCommand1.Execute;
        AdoCommand1.CommandText := sqlstr2;
        AdoCommand1.Execute;
        AdoCommand1.CommandText := sqlstr3;
        AdoCommand1.Execute;
        AdoCommand1.CommandText := sqlstr4;
        AdoCommand1.Execute;

        for ind := 0 to 18 do
        begin
                icode:= Listview1.Items.Item[ind].SubItems[0];
                isum := Listview1.Items.Item[ind].SubItems[1];
                iincr:= Listview1.Items.Item[ind].SubItems[2];
                idecr:= Listview1.Items.Item[ind].SubItems[3];
                icapi:= Listview1.Items.Item[ind].SubItems[4];
                sqlstr := 'insert into 公交行业名录统计年报表_z values('+sumyear+','+''''+icode+''''+','+isum+','+iincr+','+idecr+','+icapi+','+''''+'022'+''''+')';
                AdoCommand1.CommandText := sqlstr;
                AdoCommand1.Execute;
        end;
        for ind := 0 to 20 do
        begin
                icode:= Listview2.Items.Item[ind].SubItems[0];
                isum := Listview2.Items.Item[ind].SubItems[1];
                iincr:= Listview2.Items.Item[ind].SubItems[2];
                idecr:= Listview2.Items.Item[ind].SubItems[3];
                icapi:= Listview2.Items.Item[ind].SubItems[4];
                sqlstr := 'insert into 公交行业名录统计年报表_z values('+sumyear+','+''''+icode+''''+','+isum+','+iincr+','+idecr+','+icapi+','+''''+'022'+''''+')';
                AdoCommand1.CommandText := sqlstr;
                AdoCommand1.Execute;
        end;
        for ind := 0 to 11 do
        begin
                icode:= Listview3.Items.Item[ind].SubItems[0];
                isum := Listview3.Items.Item[ind].SubItems[1];
                iincr:= Listview3.Items.Item[ind].SubItems[2];
                idecr:= Listview3.Items.Item[ind].SubItems[3];
                icapi:= Listview3.Items.Item[ind].SubItems[4];
                sqlstr := 'insert into 公交行业名录统计年报表_z values('+sumyear+','+''''+icode+''''+','+isum+','+iincr+','+idecr+','+icapi+','+''''+'022'+''''+')';
                AdoCommand1.CommandText := sqlstr;
                AdoCommand1.Execute;
        end;
        //*********** end
        ComboBox1.Enabled := true;
        iState := 'Nul';
        //SetBtn();
        Screen.Cursor := crDefault;
        ShowMessage('生成结束!');

        Bitbtn1.Enabled:= true;
        Bitbtn2.Enabled:= true;
        Bitbtn3.Enabled:= true;
        Bitbtn4.Enabled:= true;
        //AnnualReport.Close;
end;

procedure TAnnualReport.BitBtn4Click(Sender: TObject);
var
        iRow,iCol,iRecNum,idx:integer;
begin
        if(PrnInfoFrm.ShowModal<>mrOK)then
        begin
                exit;
        end;

        OpenExcelApp;
        PrintInit(ExtractFilePath(Application.ExeName),'BusTradeNameBookCountTab');

        iRow := 6;
        for idx := 0 to 18 do
        begin
                WriteCell(iRow,3,listview1.Items[idx].SubItems[1]);
                WriteCell(iRow,4,listview1.Items[idx].SubItems[2]);
                WriteCell(iRow,5,listview1.Items[idx].SubItems[3]);
                WriteCell(iRow,6,listview1.Items[idx].SubItems[4]);
                iRow:= iRow+1;
        end;
        iRow := 31;
        for idx := 0 to 20 do
        begin
                WriteCell(iRow,3,listview2.Items[idx].SubItems[1]);
                WriteCell(iRow,4,listview2.Items[idx].SubItems[2]);
                WriteCell(iRow,5,listview2.Items[idx].SubItems[3]);
                WriteCell(iRow,6,listview2.Items[idx].SubItems[4]);
                iRow:= iRow+1;
        end;
        iRow := 58;
        for idx := 0 to 11 do
        begin
                WriteCell(iRow,3,listview3.Items[idx].SubItems[1]);
                WriteCell(iRow,4,listview3.Items[idx].SubItems[2]);
                WriteCell(iRow,5,listview3.Items[idx].SubItems[3]);
                WriteCell(iRow,6,listview3.Items[idx].SubItems[4]);
                iRow:= iRow+1;
        end;

        WriteCell(2,2,ComboBox1.text+'年');
        WriteCell(27,2,ComboBox1.text+'年');
        WriteCell(54,2,ComboBox1.text+'年');

        WriteCell(2,1,'汇总单位:'+Edit3.text);
        WriteCell(27,1,'汇总单位:'+Edit3.text);
        WriteCell(54,1,'汇总单位:'+Edit3.text);

        WriteCell(25,1,'统计负责人:'+PrnInfoFrm.StatMainPerson);
        WriteCell(52,1,'统计负责人:'+PrnInfoFrm.StatMainPerson);
        WriteCell(78,1,'统计负责人:'+PrnInfoFrm.StatMainPerson);

        WriteCell(25,3,'统计人员:'+PrnInfoFrm.StatPerson);
        WriteCell(52,3,'统计人员:'+PrnInfoFrm.StatPerson);
        WriteCell(78,3,'统计人员:'+PrnInfoFrm.StatPerson);

        WriteCell(25,5,'填报日期:'+DateToStr(PrnInfoFrm.StatDate));
        WriteCell(52,5,'填报日期:'+DateToStr(PrnInfoFrm.StatDate));
        WriteCell(78,5,'填报日期:'+DateToStr(PrnInfoFrm.StatDate));


        PrintExcelShow;
        PrintPreview;
        CloseActiveBook;
        CloseExcelApp;
end;

end.

⌨️ 快捷键说明

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