📄 ydxstj.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "YDxstj.h"
#include "YDdatam.h"
#include "YDmain.h"
#include "YDxstjdy.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFdyxstj *Fdyxstj;
//---------------------------------------------------------------------------
__fastcall TFdyxstj::TFdyxstj(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFdyxstj::SpeedButton5Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFdyxstj::FormCreate(TObject *Sender)
{
YDData->TBhsdw->Open();
YDData->TBxtcs->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFdyxstj::FormClose(TObject *Sender, TCloseAction &Action)
{
YDData->TBhsdw->Close();
YDData->TBxtcs->Close();
Table1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFdyxstj::SpeedButton3Click(TObject *Sender)
{
Fxstjdy=new TFxstjdy(Application);
Fxstjdy->QuickRep1->Preview();
delete Fxstjdy;
}
//---------------------------------------------------------------------------
void TFdyxstj::bbcs()
{
Table1->Close();
Table1->EmptyTable();
Table1->Open();
AnsiString sql;
AnsiString c1,c2,c3,c4;
TQuery * Query1=new TQuery(this);
Query1->DatabaseName="YDDB";
TQuery * Query2=new TQuery(this);
Query2->DatabaseName="YDDB";
TQuery * Query3=new TQuery(this);
Query3->DatabaseName="YDDB";
if (RadioButton1->Checked)
{
sql="select * from xlcs";
}
if (RadioButton2->Checked)
{
c1=YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(1,1);
sql="select * from pqdm where datalength(Rtrim(pqdm))="+c1;
}
if (RadioButton3->Checked)
{
c2=IntToStr(StrToInt(YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(1,1)+
YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(3,1)));
sql="select * from pqdm where datalength(Rtrim(pqdm))="+c2;
}
if (RadioButton4->Checked)
{
c3=IntToStr(StrToInt(YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(1,1)+
YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(3,1)+
YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(5,1)));
sql="select * from pqdm where datalength(Rtrim(pqdm))="+c3;
}
if (RadioButton5->Checked)
{
c4=IntToStr(StrToInt(YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(1,1)+
YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(3,1)+
YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(5,1)+
YDData->TBhsdw->FieldByName("xt_pqbm")->AsString.SubString(7,1)));
sql="select * from pqdm where datalength(Rtrim(pqdm))="+c4;
}
double xs,bs,df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13;
bs=0;xs=0;df1=0;df2=0;df3=0;df4=0;df5=0;df6=0;df7=0;df8=0;df9=0;df10=0;df11=0;df12=0;df13=0;
Query1->SQL->Clear();
Query1->SQL->Add(sql);
Query1->ExecSQL();
Query1->Open();
while (!Query1->Eof)
{
Table1->Append();
if (RadioButton1->Checked)
{
Table1->FieldByName("name")->AsString=Query1->FieldByName("xlmc")->AsString;
sql="select 'bs'=sum(tjbsdl),'xs'=sum(tjxsdl),'df2'=sum(zjygdl) from yhda0000 where klbs='"+Query1->FieldByName("xlmc")->AsString+"'";
sql=sql+" and ydfl='关口表'";
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add(sql);
Query2->ExecSQL();
Query2->Open();
sql="select 'df5'=sum(sdl),'df7'=sum(tjxsdl)+sum(tjbsdl),'df6'=sum(sdl)-sum(tjbsdl)-sum(tjxsdl) from yhda0000 where klbs='"+Query1->FieldByName("xlmc")->AsString+"'";
sql=sql+" and (ydfl='照明户' or ydfl='动力户' or ydfl='大用户')";
Query3->Close();
Query3->SQL->Clear();
Query3->SQL->Add(sql);
Query3->ExecSQL();
Query3->Open();
}
else
{
Table1->FieldByName("name")->AsString=Query1->FieldByName("pqmc")->AsString;
sql="select 'bs'=sum(tjbsdl),'xs'=sum(tjxsdl),'df2'=sum(zjygdl) from yhda0000";
sql=sql+" where ydfl='总表' and xzq like '"+Query1->FieldByName("pqdm")->AsString+"%'";
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add(sql);
Query2->ExecSQL();
Query2->Open();
sql="select 'df5'=sum(sdl),'df7'=sum(tjxsdl)+sum(tjbsdl),'df6'=sum(sdl)-sum(tjbsdl)-sum(tjxsdl)";
sql=sql+" from yhda0000 where xzq like '"+Query1->FieldByName("pqdm")->AsString+"%'";
sql=sql+" and (ydfl='照明户' or ydfl='动力户' or ydfl='大用户')";
Query3->Close();
Query3->SQL->Clear();
Query3->SQL->Add(sql);
Query3->ExecSQL();
Query3->Open();
}
Table1->FieldByName("bs")->AsFloat=Query2->FieldByName("bs")->AsFloat;
Table1->FieldByName("xs")->AsFloat=Query2->FieldByName("xs")->AsFloat;
Table1->FieldByName("df2")->AsFloat=Query2->FieldByName("df2")->AsFloat;
Table1->FieldByName("df5")->AsFloat=Query3->FieldByName("df5")->AsFloat;
Table1->FieldByName("df6")->AsFloat=Query3->FieldByName("df6")->AsFloat;
Table1->FieldByName("df7")->AsFloat=Query3->FieldByName("df7")->AsFloat;
Table1->FieldByName("df8")->AsFloat=Query2->FieldByName("df2")->AsFloat-Query3->FieldByName("df6")->AsFloat;
Table1->FieldByName("df9")->AsFloat=Query2->FieldByName("df2")->AsFloat-Query3->FieldByName("df6")->AsFloat-
Query3->FieldByName("df7")->AsFloat;
if (Query2->FieldByName("df2")->AsFloat>0)
{
Table1->FieldByName("df10")->AsFloat=((Query2->FieldByName("df2")->AsFloat-
Query3->FieldByName("df6")->AsFloat)/Query2->FieldByName("df2")->AsFloat)*100;
Table1->FieldByName("df11")->AsFloat=((Query2->FieldByName("df2")->AsFloat-
Query3->FieldByName("df6")->AsFloat-Query3->FieldByName("df7")->AsFloat)/Query2->FieldByName("df2")->AsFloat)*100;
Table1->FieldByName("df12")->AsFloat=(Query2->FieldByName("bs")->AsFloat/Query2->FieldByName("df2")->AsFloat)*100;
Table1->FieldByName("df13")->AsFloat=(Query2->FieldByName("xs")->AsFloat/Query2->FieldByName("df2")->AsFloat)*100;
}
Table1->Post();
bs=bs+Table1->FieldByName("bs")->AsFloat;
xs=xs+Table1->FieldByName("xs")->AsFloat;
df1=df1+Table1->FieldByName("df1")->AsFloat;
df2=df2+Table1->FieldByName("df2")->AsFloat;
df3=df3+Table1->FieldByName("df3")->AsFloat;
df4=df4+Table1->FieldByName("df4")->AsFloat;
df5=df5+Table1->FieldByName("df5")->AsFloat;
df6=df6+Table1->FieldByName("df6")->AsFloat;
df7=df7+Table1->FieldByName("df7")->AsFloat;
df8=df8+Table1->FieldByName("df8")->AsFloat;
df9=df9+Table1->FieldByName("df9")->AsFloat;
Query1->Next();
}
Table1->Append();
Table1->FieldByName("name")->AsString="合计";
Table1->FieldByName("bs")->AsFloat=bs;
Table1->FieldByName("xs")->AsFloat=xs;
Table1->FieldByName("df1")->AsFloat=df1;
Table1->FieldByName("df2")->AsFloat=df2;
Table1->FieldByName("df3")->AsFloat=df3;
Table1->FieldByName("df4")->AsFloat=df4;
Table1->FieldByName("df5")->AsFloat=df5;
Table1->FieldByName("df6")->AsFloat=df6;
Table1->FieldByName("df7")->AsFloat=df7;
Table1->FieldByName("df8")->AsFloat=df8;
Table1->FieldByName("df9")->AsFloat=df9;
Table1->FieldByName("df10")->AsFloat=df8/df2*100;
Table1->FieldByName("df11")->AsFloat=df9/df2*100;
Table1->FieldByName("df12")->AsFloat=bs/df2*100;
Table1->FieldByName("df13")->AsFloat=xs/df2*100;
if (StrToFloat(MaskEdit1->Text)>0)
{
Table1->FieldByName("df1")->AsFloat=StrToFloat(MaskEdit1->Text);
Table1->FieldByName("df3")->AsFloat=StrToFloat(MaskEdit1->Text)-df2;
Table1->FieldByName("df4")->AsFloat=(StrToFloat(MaskEdit1->Text)-df2)/StrToFloat(MaskEdit1->Text)*100;
}
Table1->Post();
delete Query1;
delete Query2;
delete Query3;
}
//---------------------------------
void __fastcall TFdyxstj::SpeedButton1Click(TObject *Sender)
{
bbcs();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -