📄 yddljs.cpp
字号:
YDData->TBdbda->Edit();
bsdl=YDData->TBdbda->FieldByName("bsdl")->AsFloat;
bsdlf=YDData->TBdbda->FieldByName("bsdlf")->AsFloat;
bsdlg=YDData->TBdbda->FieldByName("bsdlg")->AsFloat;
jfdl=YDData->TBdbda->FieldByName("hjdl")->AsFloat;
jfdlf=YDData->TBdbda->FieldByName("hjdlf")->AsFloat;
jfdlg=YDData->TBdbda->FieldByName("hjdlg")->AsFloat;
xs=YDData->TBdbda->FieldByName("xs")->AsInteger;
if (xs>0)
if (YDData->TBdbda->FieldByName("dblb")->AsString.SubString(5,2)!="复")
{
if (YDData->TBdbda->FieldByName("xshbs")->AsString=="Y")
YDData->TBdbda->FieldByName("xsdl")->AsFloat=(bsdl+jfdl)*xs/1000;
else
YDData->TBdbda->FieldByName("xsdl")->AsFloat=jfdl*xs/1000;
}
else
{
if (YDData->TBdbda->FieldByName("xshbs")->AsString=="Y")
{
YDData->TBdbda->FieldByName("xsdl")->AsFloat=(bsdl+jfdl)*xs/1000;
YDData->TBdbda->FieldByName("xsdlf")->AsFloat=(bsdlf+jfdlf)*xs/1000;
YDData->TBdbda->FieldByName("xsdlg")->AsFloat=(bsdlg+jfdlg)*xs/1000;
}
else
{
YDData->TBdbda->FieldByName("xsdl")->AsFloat=jfdl*xs/1000;
YDData->TBdbda->FieldByName("xsdlf")->AsFloat=jfdlf*xs/1000;
YDData->TBdbda->FieldByName("xsdlg")->AsFloat=jfdlg*xs/1000;
}
}
YDData->TBdbda->Post();
YDData->TBdbda->Next();
}
}
//---------------------------------------------------------------------------
void TFdljs::jlxss()
{
AnsiString hhhh,hhhh1,sql,dblb,tbjs,bz;
hhhh=YDData->TByhda->FieldByName("hhhh")->AsString;
tbjs=YDData->TByhda->FieldByName("tbjs")->AsString;
if (tbjs!="按用电量分摊"&&tbjs!="按用户数分摊") return;
// if (YDData->TBdbda->FieldByName("bldl")->AsFloat==0) return;
double jlxdl,jlxss,sydl,pdl,fdl,gdl;
sydl=0;
jlxdl=YDData->TBdbda->FieldByName("bldl")->AsFloat;
int hs;
TQuery *Query1=new TQuery(this);
Query1->DatabaseName="YDDB";
YDData->QUyh->SQL->Clear();
YDData->QUyh->SQL->Add("select * from YHDA0000 where tbjs='"+hhhh+"'" );
YDData->QUyh->ExecSQL();
YDData->QUyh->Open();
hs=YDData->QUyh->RecordCount;
YDData->TBdb->Open();
YDData->QUyh->First();
while (!YDData->QUyh->Eof)
{
YDData->TBdb->First();
while (!YDData->TBdb->Eof)
{
dblb=YDData->TBdb->FieldByName("dblb")->AsString;
pdl=YDData->TBdb->FieldByName("hjdl")->AsFloat;
fdl=YDData->TBdb->FieldByName("hjdlf")->AsFloat;
gdl=YDData->TBdb->FieldByName("hjdlg")->AsFloat;
if (dblb!="无功表"&&dblb!="无功复"&&dblb!="反向表")
sydl=sydl+pdl+fdl+gdl;
YDData->TBdb->Next();
}
YDData->QUyh->Next();
}
jlxss=jlxdl-sydl;
YDData->QUyh->First();
while (!YDData->QUyh->Eof)
{
// hhhh1=YDData->QUyh->FieldByName("hhhh")->AsString;
YDData->TBdb->First();
while (!YDData->TBdb->Eof)
{
dblb=YDData->TBdb->FieldByName("dblb")->AsString;
// bz=YDData->TBdb->FieldByName("bz")->AsString;
if (dblb!="无功表"&&dblb!="无功复"&&dblb!="反向表")
{
if (tbjs=="按用电量分摊"&&sydl>0)
{
YDData->TBdb->Edit();
YDData->TBdb->FieldByName("tzdl")->AsFloat=
(YDData->TBdb->FieldByName("hjdl")->AsFloat/sydl)*jlxss;
YDData->TBdb->FieldByName("tzdlf")->AsFloat=
(YDData->TBdb->FieldByName("hjdlf")->AsFloat/sydl)*jlxss;
YDData->TBdb->FieldByName("tzdlg")->AsFloat=
(YDData->TBdb->FieldByName("hjdlg")->AsFloat/sydl)*jlxss;
YDData->TBdb->Post();
}
if (tbjs=="按用户数分摊"&&hs>0)
{
YDData->TBdb->Edit();
YDData->TBdb->FieldByName("tzdl")->AsFloat=(1/hs)*jlxss;
YDData->TBdb->Post();
break;
}
}
YDData->TBdb->Next();
}
YDData->QUyh->Next();
}
YDData->TBdb->Close();
YDData->QUyh->Close();
delete Query1;
}
// ------------------------------------------
void TFdljs::zfdljs()
{
TQuery *Query1=new TQuery(this);
Query1->DatabaseName="YDDB";
AnsiString hhhh,dbbh,bbzj,zjbx,jsql;
double pdl,fdl,gdl,p,f,g;
YDData->TBdbda->First();
while (!YDData->TBdbda->Eof)
{
if (YDData->TBdbda->FieldByName("dblb")->AsString.SubString(5,2)=="复"&&YDData->TBdbda->FieldByName("p_fg")->AsString=="Y")
{
YDData->TBdbda->Edit();
YDData->TBdbda->FieldByName("fldl")->AsFloat=YDData->TBdbda->FieldByName("fldl")->AsFloat-(YDData->TBdbda->FieldByName("hjdlf")->AsFloat+YDData->TBdbda->FieldByName("hjdlg")->AsFloat);
YDData->TBdbda->Post();
}
if (Trim(YDData->TBdbda->FieldByName("bz")->AsString)!="")
{
hhhh=YDData->TByhda->FieldByName("hhhh")->AsString;
dbbh=YDData->TBdbda->FieldByName("dbbh")->AsString;
bbzj=YDData->TBdbda->FieldByName("bbzj")->AsString;
zjbx=YDData->TBdbda->FieldByName("zjbx")->AsString;
if (YDData->TBdbda->FieldByName("fgp")->AsString=="")
{
if (YDData->TBdbda->FieldByName("bz")->AsString!="户间分表")
{
pdl=-(YDData->TBdbda->FieldByName("hjdl")->AsFloat+YDData->TBdbda->FieldByName("hjdlf")->AsFloat+YDData->TBdbda->FieldByName("hjdlg")->AsFloat);
fdl=0;
gdl=0;
}
else
{
pdl=YDData->TBdbda->FieldByName("hjdl")->AsFloat+YDData->TBdbda->FieldByName("hjdlf")->AsFloat+YDData->TBdbda->FieldByName("hjdlg")->AsFloat;
fdl=0;
gdl=0;
}
}
else
{
double ff=StrToFloat(YDData->TBdbda->FieldByName("fgp")->AsString.SubString(4,2));
double gg=StrToFloat(YDData->TBdbda->FieldByName("fgp")->AsString.SubString(7,2));
double pp=StrToFloat(YDData->TBdbda->FieldByName("fgp")->AsString.SubString(1,2));
p=YDData->TBdbda->FieldByName("hjdl")->AsFloat;
f=YDData->TBdbda->FieldByName("hjdlf")->AsFloat;
g=YDData->TBdbda->FieldByName("hjdlg")->AsFloat;
if (YDData->TBdbda->FieldByName("bz")->AsString!="户间分表")
{
fdl=-(p+f+g)*(ff/100);
gdl=-(p+f+g)*(gg/100);
pdl=-(p+f+g)*(pp/100);
}
else
{
fdl=(p+f+g)*(ff/100);
gdl=(p+f+g)*(gg/100);
pdl=(p+f+g)*(pp/100);
}
}
Query1->Close();
Query1->SQL->Clear();
jsql="update dbda0000 set fldl=fldl+"+FloatToStr(pdl)+",fldlf=fldlf+"+FloatToStr(fdl)+",fldlg=fldlg+"+FloatToStr(gdl)+" where hhhh='"+bbzj+"' and dbbh='"+zjbx+"'";
jsql=jsql+" or hhhh='"+hhhh+"' and dbbh='"+zjbx+"'";
Query1->SQL->Add(jsql);
Query1->ExecSQL();
}
YDData->TBdbda->Next();
}
delete Query1;
}
//---------------------------------------
void TFdljs::jsjddl()
{
AnsiString dblb;
double jdygdl,tjbsdl,tjxsdl;
double jdwgdl;
YDData->TByhda->First();
while (!YDData->TByhda->Eof)
{
jdygdl=0;jdwgdl=0;tjbsdl=0;tjxsdl=0;
YDData->TByhda->Edit();
YDData->TBdbda->First();
while (!YDData->TBdbda->Eof)
{
dblb=YDData->TBdbda->FieldByName("dblb")->AsString;
if (dblb!="无功表"&&dblb!="无功复"&&dblb!="反向表")
{
jdygdl=jdygdl+YDData->TBdbda->FieldByName("zdl")->AsFloat+
YDData->TBdbda->FieldByName("zdlf")->AsFloat+
YDData->TBdbda->FieldByName("zdlg")->AsFloat;
tjbsdl=tjbsdl+YDData->TBdbda->FieldByName("bsdl")->AsFloat+
YDData->TBdbda->FieldByName("bsdlf")->AsFloat+
YDData->TBdbda->FieldByName("bsdlg")->AsFloat;
tjxsdl=tjxsdl+YDData->TBdbda->FieldByName("xsdl")->AsFloat+
YDData->TBdbda->FieldByName("xsdlf")->AsFloat+
YDData->TBdbda->FieldByName("xsdlg")->AsFloat;
}
else
jdwgdl=jdwgdl+YDData->TBdbda->FieldByName("zdl")->AsFloat+
YDData->TBdbda->FieldByName("zdlf")->AsFloat+
YDData->TBdbda->FieldByName("zdlg")->AsFloat;
YDData->TBdbda->Next();
}
YDData->TByhda->FieldByName("zjygdl")->AsFloat=jdygdl;
YDData->TByhda->FieldByName("zjwgdl")->AsFloat=jdwgdl;
YDData->TByhda->FieldByName("tjbsdl")->AsFloat=tjbsdl;
YDData->TByhda->FieldByName("tjxsdl")->AsFloat=tjxsdl;
YDData->TByhda->FieldByName("sdl")->AsFloat=jdygdl;
YDData->TByhda->Post();
YDData->TByhda->Next();
}
}
void __fastcall TFdljs::SpeedButton2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFdljs::FormClose(TObject *Sender, TCloseAction &Action)
{
YDData->TBdbda->Close();
YDData->TByhda->Close();
Fmain->gnjs(Fmain->tcjc);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -