📄 dfsf.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "DFSF.h"
#include "YDdatam.h"
#include "YDmain.h"
#include "YHDL.h"
#include "YDdffp.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFdfsf *Fdfsf;
//---------------------------------------------------------------------------
__fastcall TFdfsf::TFdfsf(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFdfsf::FormCreate(TObject *Sender)
{
YDData->TByhda->Open();
YDData->TBdbda->Open();
YDData->TBfjjj->Open();
YDData->TBdjkp->Open();
YDData->TBxtcs->Open();
Caption=YDData->TBxtcs->FieldByName("XT_HSQX")->AsString.SubString(1,4)+"年"+
YDData->TBxtcs->FieldByName("XT_HSQX")->AsString.SubString(6,2)+"月电费收费";
Label26->Caption=DateToStr(Date()).SubString(1,4)+"年"+DateToStr(Date()).SubString(6,2)+"月"+DateToStr(Date()).SubString(9,2)+"日";
Label16->Caption=CLogin->czyname;
refresh();
}
//---------------------------------------------------------------------------
void TFdfsf::cl()
{
double hjdf=YDData->TByhda->FieldByName("hjdf")->AsFloat;
double cl=YDData->TByhda->FieldByName("cl")->AsFloat;
AnsiString chjdf=FloatToStr(hjdf);
double zcl,cll;
if (chjdf.AnsiPos(".")>1)
zcl=StrToFloat("0."+chjdf.SubString(chjdf.AnsiPos(".")+1,chjdf.Length()-chjdf.AnsiPos(".")))+cl;
else
zcl=cl;
AnsiString ccl=FloatToStr(zcl);
if (ccl.AnsiPos(".")>0)
cll=StrToFloat("0."+ccl.SubString(ccl.AnsiPos(".")+1,ccl.Length()-ccl.AnsiPos(".")));
else
cll=zcl;
if (YDData->TBxtcs->FieldByName("xt_qzsf")->AsString=="1")
{
if (zcl>=1)
{
Table1->FieldByName("dfhj")->AsFloat=int(hjdf)+int(zcl);
Table1->FieldByName("bcye")->AsFloat=cll;
}
else
{
Table1->FieldByName("dfhj")->AsFloat=int(hjdf);
Table1->FieldByName("bcye")->AsFloat=zcl;
}
}
else
{
Table1->FieldByName("dfhj")->AsFloat=hjdf+cl;
Table1->FieldByName("bcye")->AsFloat=0;
}
}
//------------------------------------------
void __fastcall TFdfsf::SpeedButton4Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFdfsf::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
void TFdfsf::refresh()
{
int zt=StrToInt(YDData->TByhda->FieldByName("CSZT")->AsString);
switch (zt)
{
case 0:
// MessageBox(NULL,"该用户尚未抄录电表,无需收费!","提示",MB_OK|MB_ICONWARNING);
Label27->Caption="未抄录电表";
SpeedButton1->Enabled=false;
break;
case 1:
// MessageBox(NULL,"该用户尚未计算电费,请先计算后收费!","提示",MB_OK|MB_ICONWARNING);
Label27->Caption="尚未计算电费";
SpeedButton1->Enabled=false;
break;
case 3:
// MessageBox(NULL,"该用户本月电费已结清,无需收费!","提示",MB_OK|MB_ICONWARNING);
Label27->Caption="本月电费已结清";
SpeedButton1->Enabled=false;
break;
default :
Label27->Caption="本月电费未结";
SpeedButton1->Enabled=true;
break;
}
}
//---------------------------
void __fastcall TFdfsf::Edit11Exit(TObject *Sender)
{
YDData->TByhda->Close();
YDData->TByhda->IndexFieldNames="hhhh";
YDData->TByhda->Open();
if (!YDData->TByhda->FindKey(new TVarRec(Edit11->Text),0))
MessageBox(NULL,"用户不存在,请重查找!","提示",MB_OK|MB_ICONWARNING);
refresh();
fpjs();
}
//---------------------------------------------------------------------------
void __fastcall TFdfsf::SpeedButton1Click(TObject *Sender)
{
AnsiString fpbhqz="00000000";
int bhcd=FloatToStr(YDData->TBxtcs->FieldByName("XT_FPQSH")->AsFloat).Length();
YDData->TBxtcs->Edit();
YDData->TBxtcs->FieldByName("XT_FPQSH")->AsFloat+=1;
YDData->TBxtcs->Post();
YDData->TByhda->Edit();
YDData->TByhda->FieldByName("SFRQ")->AsDateTime=Date();
YDData->TByhda->FieldByName("SFY")->AsString=CLogin->czyname;
YDData->TByhda->FieldByName("SKFS")->AsString=ComboBox1->Text;
YDData->TByhda->FieldByName("FPBH")->AsString=fpbhqz.SubString(1,9-bhcd)+
FloatToStr(YDData->TBxtcs->FieldByName("XT_FPQSH")->AsFloat);
YDData->TByhda->FieldByName("yjdfye")->AsFloat=0;
YDData->TByhda->Post();
// SpeedButton1->Enabled=true;
Fdffp=new TFdffp(Application);
Fdffp->QuickRep1->Preview();
delete Fdffp;
refresh();
YDData->TByhda->Edit();
YDData->TByhda->FieldByName("CSZT")->AsString="3";
YDData->TByhda->FieldByName("hjdf")->AsFloat=Table1->FieldByName("dfhj")->AsFloat;
YDData->TByhda->FieldByName("cl")->AsFloat=Table1->FieldByName("bcye")->AsFloat;
YDData->TByhda->Post();
YDData->TBdbda->First();
while (!YDData->TBdbda->Eof)
{
YDData->TBdbda->Edit();
YDData->TBdbda->FieldByName("cszt")->AsString="3";
YDData->TBdjkp->First();
while (!YDData->TBdjkp->Eof)
{
YDData->TBdjkp->Edit();
YDData->TBdjkp->FieldByName("cszt")->AsString="3";
YDData->TBdjkp->Post();
YDData->TBdjkp->Next();
}
YDData->TBdbda->Post();
YDData->TBdbda->Next();
}
SpeedButton1->Enabled=false;
}
//------------------------------------------
void TFdfsf::fpjs()
{
bool tj;
Table1->Close();
Table1->EmptyTable();
Table1->Open();
Table1->Append();
Table1->FieldByName("hhhh")->AsString=YDData->TByhda->FieldByName("hhhh")->AsString;
Table1->FieldByName("yhmc")->AsString=YDData->TByhda->FieldByName("yhmc")->AsString;
Table1->FieldByName("yhdz")->AsString=YDData->TByhda->FieldByName("yhdz")->AsString;
AnsiString lb,dl,dj,df,bz;
int kps=1;
AnsiString dblb,bb,sycj,bycj,cs,bl,bldl,bsdl,xsdl,fldl,zdl;
int dbs=1;
YDData->TBdbda->First();
while (!YDData->TBdbda->Eof&&dbs<=5)
{
dblb=YDData->TBdbda->FieldByName("dblb")->AsString;
bb="B"+IntToStr(dbs)+"01";
sycj="B"+IntToStr(dbs)+"02";
bycj="B"+IntToStr(dbs)+"03";
cs="B"+IntToStr(dbs)+"04";
bl="B"+IntToStr(dbs)+"05";
bldl="B"+IntToStr(dbs)+"06";
bsdl="B"+IntToStr(dbs)+"07";
xsdl="B"+IntToStr(dbs)+"08";
fldl="B"+IntToStr(dbs)+"09";
zdl="B"+IntToStr(dbs)+"10";
Table1->FieldByName(sycj)->AsFloat=YDData->TBdbda->FieldByName("sycj")->AsFloat;
Table1->FieldByName(bycj)->AsFloat=YDData->TBdbda->FieldByName("bycj")->AsFloat;
Table1->FieldByName(cs)->AsFloat=YDData->TBdbda->FieldByName("cs")->AsFloat;
Table1->FieldByName(bl)->AsFloat=YDData->TBdbda->FieldByName("bl")->AsFloat;
Table1->FieldByName(bldl)->AsFloat=YDData->TBdbda->FieldByName("bldl")->AsFloat;
Table1->FieldByName(bsdl)->AsFloat=YDData->TBdbda->FieldByName("bsdl")->AsFloat;
Table1->FieldByName(xsdl)->AsFloat=YDData->TBdbda->FieldByName("xsdl")->AsFloat;
Table1->FieldByName(fldl)->AsFloat=YDData->TBdbda->FieldByName("fldl")->AsFloat;
Table1->FieldByName(zdl)->AsFloat=YDData->TBdbda->FieldByName("zdl")->AsFloat;
if (dblb.SubString(5,2)!="复")
Table1->FieldByName(bb)->AsString=YDData->TBdbda->FieldByName("dblb")->AsString;
else
{
Table1->FieldByName(bb)->AsString=YDData->TBdbda->FieldByName("dblb")->AsString.SubString(1,4)+"(平)";
dbs=dbs+1;
bb="B"+IntToStr(dbs)+"01";
sycj="B"+IntToStr(dbs)+"02";
bycj="B"+IntToStr(dbs)+"03";
cs="B"+IntToStr(dbs)+"04";
bl="B"+IntToStr(dbs)+"05";
bldl="B"+IntToStr(dbs)+"06";
bsdl="B"+IntToStr(dbs)+"07";
xsdl="B"+IntToStr(dbs)+"08";
fldl="B"+IntToStr(dbs)+"09";
zdl="B"+IntToStr(dbs)+"10";
Table1->FieldByName(bb)->AsString=YDData->TBdbda->FieldByName("dblb")->AsString.SubString(1,4)+"(峰)";
Table1->FieldByName(sycj)->AsFloat=YDData->TBdbda->FieldByName("sycjf")->AsFloat;
Table1->FieldByName(bycj)->AsFloat=YDData->TBdbda->FieldByName("bycjf")->AsFloat;
Table1->FieldByName(cs)->AsFloat=YDData->TBdbda->FieldByName("csf")->AsFloat;
Table1->FieldByName(bl)->AsFloat=YDData->TBdbda->FieldByName("blf")->AsFloat;
Table1->FieldByName(bldl)->AsFloat=YDData->TBdbda->FieldByName("bldlf")->AsFloat;
Table1->FieldByName(bsdl)->AsFloat=YDData->TBdbda->FieldByName("bsdlf")->AsFloat;
Table1->FieldByName(xsdl)->AsFloat=YDData->TBdbda->FieldByName("xsdlf")->AsFloat;
Table1->FieldByName(fldl)->AsFloat=YDData->TBdbda->FieldByName("fldlf")->AsFloat;
Table1->FieldByName(zdl)->AsFloat=YDData->TBdbda->FieldByName("zdlf")->AsFloat;
dbs=dbs+1;
bb="B"+IntToStr(dbs)+"01";
sycj="B"+IntToStr(dbs)+"02";
bycj="B"+IntToStr(dbs)+"03";
cs="B"+IntToStr(dbs)+"04";
bl="B"+IntToStr(dbs)+"05";
bldl="B"+IntToStr(dbs)+"06";
bsdl="B"+IntToStr(dbs)+"07";
xsdl="B"+IntToStr(dbs)+"08";
fldl="B"+IntToStr(dbs)+"09";
zdl="B"+IntToStr(dbs)+"10";
Table1->FieldByName(bb)->AsString=YDData->TBdbda->FieldByName("dblb")->AsString.SubString(1,4)+"(谷)";
Table1->FieldByName(sycj)->AsFloat=YDData->TBdbda->FieldByName("sycjg")->AsFloat;
Table1->FieldByName(bycj)->AsFloat=YDData->TBdbda->FieldByName("bycjg")->AsFloat;
Table1->FieldByName(cs)->AsFloat=YDData->TBdbda->FieldByName("csg")->AsFloat;
Table1->FieldByName(bl)->AsFloat=YDData->TBdbda->FieldByName("blg")->AsFloat;
Table1->FieldByName(bldl)->AsFloat=YDData->TBdbda->FieldByName("bldlg")->AsFloat;
Table1->FieldByName(bsdl)->AsFloat=YDData->TBdbda->FieldByName("bsdlg")->AsFloat;
Table1->FieldByName(xsdl)->AsFloat=YDData->TBdbda->FieldByName("xsdlg")->AsFloat;
Table1->FieldByName(fldl)->AsFloat=YDData->TBdbda->FieldByName("fldlg")->AsFloat;
Table1->FieldByName(zdl)->AsFloat=YDData->TBdbda->FieldByName("zdlg")->AsFloat;
}
YDData->TBdjkp->First();
while (!YDData->TBdjkp->Eof&&kps<=9)
{
if (YDData->TBdjkp->FieldByName("jsfsp")->AsString=="居民优待"||YDData->TBdjkp->FieldByName("jsfsp")->AsString=="职工优待")
{
if (dblb.SubString(1,4)!="无功"&&dblb.SubString(1,4)!="反向")
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -