📄 wj_taiz.pas
字号:
end;
procedure TfrmWJ_TaiZ.SpeedButton11Click(Sender: TObject);
begin
if (ADOQuery1.Active) and (ADOQuery1.RecordCount>0) then
if HeTongCaoZuo(1,ADOQuery1.FieldByName('ID').AsString,ADOQuery1.FieldByName('Name').AsString) then
ADOQueryRefresh;
end;
procedure TfrmWJ_TaiZ.SpeedButton12Click(Sender: TObject);
begin
if (ADOQuery1.Active) and (ADOQuery1.RecordCount>0) then
if HeTongCaoZuo(2,ADOQuery1.FieldByName('ID').AsString,ADOQuery1.FieldByName('Name').AsString) then
ADOQueryRefresh;
end;
procedure TfrmWJ_TaiZ.SpeedButton13Click(Sender: TObject);
begin
if (ADOQuery1.Active) and (ADOQuery1.RecordCount>0) then
if HeTongCaoZuo(3,ADOQuery1.FieldByName('ID').AsString,ADOQuery1.FieldByName('Name').AsString) then
ADOQueryRefresh;
end;
procedure TfrmWJ_TaiZ.SpeedButton10Click(Sender: TObject);
begin
if (ADOQuery1.Active) and (ADOQuery1.RecordCount>0) then
FuKuanMX(ADOQuery1.FieldByName('ID').AsString,ADOQuery1.FieldByName('NAME').AsString);
end;
procedure TfrmWJ_TaiZ.ADOQuery1CalcFields(DataSet: TDataSet);
begin
ADOQuery1.FieldByName('No').AsInteger := ABS(ADOQuery1.RecNo);
end;
procedure TfrmWJ_TaiZ.FormCreate(Sender: TObject);
begin
N1.Click;
HtTongJi('合同台帐统计表','');
HtFuKuanTongJi;
DBGrid1.Columns[3].Visible := false;
DBGrid1.Columns[4].Visible := false;
DBGrid1.Columns[9].Visible := false;
DBGrid1.Columns[10].Visible := false;
DBGrid1.Columns[11].Visible := false;
DBGrid1.Columns[12].Visible := false;
end;
procedure TfrmWJ_TaiZ.SpeedButton7Click(Sender: TObject);
begin
if ADOQuery1.SQL.Text<>'' then
ADOQueryRefresh;
end;
procedure TfrmWJ_TaiZ.ComboBox1DropDown(Sender: TObject);
procedure AddDataInToComBobox4;
begin
with ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add(' select distinct SORT from TAIZ ') ;
Prepared;
Open;
First;
while not eof do
begin
ComBobox1.Items.Add(ADOQuery2.FieldByName('SORT').AsString);
Next;
end;
end;
end;
begin
if ComBobox1.Items.Count=1 then
begin
AddDataInToComBobox4;
end;
end;
procedure TfrmWJ_TaiZ.ComboBox1Change(Sender: TObject);
var Text : string ;
begin
if ComBobox1.Text<>'<total>' then begin
text := 'select * from Taiz where SORT='+#39+ComBobox1.Text+#39+' order by QDRQ ';
end else text := 'select * from Taiz order by QDRQ,SORT ';
HeTong_GetQueryData(text,ADOQuery1);
end;
procedure TfrmWJ_TaiZ.ADOQueryRefresh;
begin
ADOQuery1.close;
ADOQuery1.open;
end;
procedure TfrmWJ_TaiZ.ShowTabSheet1;
begin
SpeedButton8.Visible := false;
PageControl1.ActivePageIndex := 0;
end;
procedure TfrmWJ_TaiZ.ShowTabSheet2;
begin
SpeedButton8.Visible := true;
PageControl1.ActivePageIndex := 1;
end;
procedure TfrmWJ_TaiZ.TabSet1Click(Sender: TObject);
begin
case TabSet1.TabIndex of
0 : ShowTabSheet1;
1 : ShowTabSheet2;
end;
end;
procedure TfrmWJ_TaiZ.WriteData(const tName,tData : string);
begin
ValueListEditor1.InsertRow(tName,tData,true);
end;
procedure TfrmWJ_TaiZ.HtTongJi(const Title,SqlText : string);
//******************************************
procedure HtSum(const SqlText : string);
var tData, sql : string;
begin
sql := ' select * from TAIZ '+sqltext;
tData := IntToStr(HeTong_TaiZTongJ(Sql,AdoQuery3));
WriteData('合同总数',tData);
end;
//******************************************
procedure HtFlSum(const SqlText : string);
var sql : string;
begin
sql := ' select count(id) as HtCount ,sort from Taiz '+sqltext+' group by Sort';
if HeTong_GetQueryData(Sql,AdoQuery3) then
begin
with AdoQuery3 do begin
First;
while not eof do begin
WriteData(FieldByName('Sort').Asstring,FieldByName('HtCount').Asstring);
Next;
end;
end;
end;
end;
//*********************************************
procedure HtSumJinE(const SqlText : string);
var sql : string;
begin
sql := ' select sum(HtJE) as tHtJE from TAIZ '+sqltext;
if HeTong_GetQueryData(Sql,AdoQuery3) then
WriteData('合同金额','¥'+AdoQuery3.FieldByName('tHtJE').Asstring);
end;
//*********************************************
procedure HtSumJinEHasPay(const SqlText : string);
var sql : string;
begin
sql := ' select sum(JINE之SUM) as tHtJE from V_TAIZ '+sqltext;
if HeTong_GetQueryData(Sql,AdoQuery3) then
WriteData('已付金额','¥'+AdoQuery3.FieldByName('tHtJE').Asstring);
end;
//**********************************************
procedure HtSumHasWanG(const SqlText : string);
var tData, sql : string;
begin
if SqlText<>'' then begin
sql := ' select * from TAIZ '+sqltext+' and SFWG='+#39+'是'+#39;
end else sql := ' select * from TAIZ where SFWG='+#39+'是'+#39;
tData := IntToStr(HeTong_TaiZTongJ(Sql,AdoQuery3));
WriteData('已完工项目',tData);
end;
//***********************************************
procedure HtSumHasYanS(const SqlText : string);
var tData, sql : string;
begin
if SqlText<>'' then begin
sql := ' select * from TAIZ '+sqltext+' and SFYS='+#39+'是'+#39;
end else sql := ' select * from TAIZ where SFYS='+#39+'是'+#39;
tData := IntToStr(HeTong_TaiZTongJ(Sql,AdoQuery3));
WriteData('已验收项目',tData);
end;
//**********************************************
procedure HtSumHasJieS(const SqlText : string);
var tData, sql : string;
begin
if SqlText<>'' then begin
sql := ' select * from TAIZ '+sqltext+' and SFJS='+#39+'是'+#39;
end else sql := ' select * from TAIZ where SFJS='+#39+'是'+#39;
tData := IntToStr(HeTong_TaiZTongJ(Sql,AdoQuery3));
WriteData('已结算项目',tData);
end;
//*************************************************
var i : integer;
begin
if ValueListEditor1.RowCount>1 then begin
for i:=0 to ValueListEditor1.RowCount-1 do
ValueListEditor1.DeleteRow(0);
end;
Panel1.Caption := Title ;
HtSum(SqlText); //合同总数
HtFlSum(SqlText);//合同分类总数
WriteData('------------','------------');
HtSumJinE(SqlText);//合同总金额
HtSumJinEHasPay(SqlText);//合同已付总金额
WriteData('------------','------------');
HtSumHasWanG(SqlText);//已经完工项目数
HtSumHasYanS(SqlText);//...验收
HtSumHasJieS(SqlText);//..结算
end;
procedure TfrmWJ_TaiZ.WriteStringGrid(const Row : integer;const HtName,HtJinE,YFJinE : string);
begin
StringGrid1.Cells[0,Row]:=HtName;
StringGrid1.Cells[1,Row]:=HtJinE;
StringGrid1.Cells[2,Row]:=YFJinE;
end;
procedure TfrmWJ_TaiZ.HtFuKuanTongJi;
procedure Tongji;
function FindData(const HtID : string ;const tAdoQuery : TAdoQuery) : boolean;
begin
with tAdoQuery do
begin
Close;
SQL.Clear;
SQL.Add(' select * from V_TAIZ where ID= '+#39+HtID+#39);
Prepared;
Open;
if RecordCount>0 then begin
result := true;
end else result := false;
end;
end;
procedure InitStringGrid;
begin
with StringGrid1 do begin
ColCount := 3;
RowCount := ADOQuery3.RecordCount+1;
Cols[0].Add('项目名称');
ColWidths[0] :=200;
Cols[1].Add('合同金额');
ColWidths[1] :=80;
Cols[2].Add('已付金额');
ColWidths[2] :=80;
end;
end;
var i : integer;
begin
InitStringGrid;
with ADOQuery3 do
begin
First;
i:=1;
while not eof do
begin
if FindData(FieldByName('ID').AsString,ADOQuery4) then begin
WriteStringGrid(i,ADOQuery4.FieldByName('Name').AsString,'¥'+ADOQuery4.FieldByName('HtJE').AsString,'¥'+ADOQuery4.FieldByName('JINE之SUM').AsString);
end else
WriteStringGrid(i,ADOQuery3.FieldByName('Name').AsString,'¥'+ADOQuery3.FieldByName('HtJE').AsString,'¥0');
i:=i+1;
Next;
end;
end;
end;
var sql : string;
begin
sql := ' select * from TAIZ ';
if HeTong_GetQueryData(Sql,AdoQuery3) then
TongJi;
end;
procedure TfrmWJ_TaiZ.TabSheet2Show(Sender: TObject);
begin
{if ValueListEditor1.RowCount=1 then begin
HtTongJi('合同台帐统计表','');
HtFuKuanTongJi;
end;}
end;
procedure TfrmWJ_TaiZ.SpeedButton8Click(Sender: TObject);
var Title,SqlText : string;
begin
if TongJCondition(Title,SqlText ) then
HtTongJi(Title,SqlText);
HtFuKuanTongJi;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -