📄 busindustry_report.pas
字号:
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 + -