📄 ydsjqf.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "YDSJQF.h"
#include "YDdatam.h"
#include "YHDL.h"
#include "YDmain.h"
#include "YDqffp.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFsjqf *Fsjqf;
//---------------------------------------------------------------------------
__fastcall TFsjqf::TFsjqf(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFsjqf::FormCreate(TObject *Sender)
{
YDData->TBxtcs->Open();
Caption=ComboBox2->Text+"年"+
ComboBox3->Text+"月电费收费";
Label26->Caption=DateToStr(Date()).SubString(1,4)+"年"+DateToStr(Date()).SubString(6,2)+"月"+DateToStr(Date()).SubString(9,2)+"日";
Label16->Caption=CLogin->czyname;
TTable *Table2=new TTable(this);
Table2->DatabaseName="YDDB";
Table2->TableName="H_YEAR";
Table2->Open();
Table2->First();
while (!Table2->Eof)
{
ComboBox2->Items->Add(Table2->FieldByName("Y_YEAR")->AsString);
Table2->Next();
}
ComboBox2->Text=ComboBox2->Items->Strings[0];
Table2->Close();
delete Table2;
}
//---------------------------------------------------------------------------
void __fastcall TFsjqf::SpeedButton3Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
int TFsjqf::znts(AnsiString znrq)
{
int n1,n2,y1,y2,d1,d2,znts;
n1=StrToInt(DateToStr(Date()).SubString(1,4));
y1=StrToInt(DateToStr(Date()).SubString(6,2));
d1=StrToInt(DateToStr(Date()).SubString(9,2));
n2=StrToInt(znrq.SubString(1,4));
y2=StrToInt(znrq.SubString(6,2));
d2=StrToInt(znrq.SubString(9,2));
if (n2>n1||n1==n2&&y2>y1||n1==n2&&y1==y2&&d2>d1)
return 0;
switch (y2)
{
case 1:
znts=(n1-n2-1)*365+(365-d2);
break;
case 2:
znts=(n1-n2-1)*365+(334-d2);
break;
case 3:
if (n2/4==int(n2/4))
znts=(n1-n2-1)*365+(305-d2);
else
znts=(n1-n2-1)*365+(306-d2);
break;
case 4:
znts=(n1-n2-1)*365+(275-d2);
break;
case 5:
znts=(n1-n2-1)*365+(245-d2);
break;
case 6:
znts=(n1-n2-1)*365+(214-d2);
break;
case 7:
znts=(n1-n2-1)*365+(184-d2);
break;
case 8:
znts=(n1-n2-1)*365+(153-d2);
break;
case 9:
znts=(n1-n2-1)*365+(122-d2);
break;
case 10:
znts=(n1-n2-1)*365+(92-d2);
break;
case 11:
znts=(n1-n2-1)*365+(61-d2);
break;
case 12:
znts=(n1-n2-1)*365+(31-d2);
break;
}
switch (y1)
{
case 1:
znts=znts+d1;
break;
case 2:
znts=znts+(31+d1);
break;
case 3:
znts=znts+(59+d1);
break;
case 4:
znts=znts+(90+d1);
break;
case 5:
znts=znts+(120+d1);
break;
case 6:
znts=znts+(151+d1);
break;
case 7:
znts=znts+(181+d1);
break;
case 8:
znts=znts+(212+d1);
break;
case 9:
znts=znts+(243+d1);
break;
case 10:
znts=znts+(273+d1);
break;
case 11:
znts=znts+(304+d1);
break;
case 12:
znts=znts+(335+d1);
break;
}
if (n1/4==int(n1/4))
znts=znts+1;
return znts;
}
//------------------------------------------------
void __fastcall TFsjqf::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();
Qyhda->Edit();
Qyhda->FieldByName("CSZT")->AsString="3";
Qyhda->FieldByName("SFRQ")->AsDateTime=Date();
Qyhda->FieldByName("SFY")->AsString=CLogin->czyname;
Qyhda->FieldByName("SKFS")->AsString=ComboBox1->Text;
Qyhda->FieldByName("FPBH")->AsString=fpbhqz.SubString(1,9-bhcd)+
FloatToStr(YDData->TBxtcs->FieldByName("XT_FPQSH")->AsFloat);
Qyhda->Post();
YDData->TByhda->IndexFieldNames="hhhh";
YDData->TByhda->Open();
if (YDData->TByhda->FindKey(new TVarRec(Edit11->Text),0))
{
YDData->TByhda->Edit();
YDData->TByhda->FieldByName("syye")->AsFloat=YDData->TByhda->FieldByName("syye")->AsFloat-Qyhda->FieldByName("hjdf")->AsFloat;
YDData->TByhda->Post();
}
YDData->TByhda->Close();
Fqffp=new TFqffp(Application);
Fqffp->QuickRep1->Preview();
delete Fqffp;
Qdbda->First();
while (!Qdbda->Eof)
{
Qdbda->Edit();
Qdbda->FieldByName("cszt")->AsString="3";
Qdbda->Post();
Qdbda->Next();
}
SpeedButton1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TFsjqf::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
//-------------------------
void TFsjqf::qfjs()
{
bool tj;
AnsiString sql;
Table1->Close();
Table1->EmptyTable();
Table1->Open();
Table1->Append();
Table1->FieldByName("hhhh")->AsString=Qyhda->FieldByName("hhhh")->AsString;
Table1->FieldByName("yhmc")->AsString=Qyhda->FieldByName("yhmc")->AsString;
Table1->FieldByName("yhdz")->AsString=Qyhda->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;
sql="select * from dbda"+ComboBox2->Text+" where hsqx='"+ComboBox2->Text+"-"+ComboBox3->Text+"'";
sql=sql+" and hhhh='"+Edit11->Text+"'";
Qdbda->Close();
Qdbda->SQL->Clear();
Qdbda->SQL->Add(sql);
Qdbda->ExecSQL();
Qdbda->Open();
Qdbda->First();
while (!Qdbda->Eof&&dbs<5)
{
dblb=Qdbda->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=Qdbda->FieldByName("sycj")->AsFloat;
Table1->FieldByName(bycj)->AsFloat=Qdbda->FieldByName("bycj")->AsFloat;
Table1->FieldByName(cs)->AsFloat=Qdbda->FieldByName("cs")->AsFloat;
Table1->FieldByName(bl)->AsFloat=Qdbda->FieldByName("bl")->AsFloat;
Table1->FieldByName(bldl)->AsFloat=Qdbda->FieldByName("bldl")->AsFloat;
Table1->FieldByName(bsdl)->AsFloat=Qdbda->FieldByName("bsdl")->AsFloat;
Table1->FieldByName(xsdl)->AsFloat=Qdbda->FieldByName("xsdl")->AsFloat;
Table1->FieldByName(fldl)->AsFloat=Qdbda->FieldByName("fldl")->AsFloat;
Table1->FieldByName(zdl)->AsFloat=Qdbda->FieldByName("zdl")->AsFloat;
if (dblb.SubString(5,2)!="复")
Table1->FieldByName(bb)->AsString=Qdbda->FieldByName("dblb")->AsString;
else
{
Table1->FieldByName(bb)->AsString=Qdbda->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=Qdbda->FieldByName("dblb")->AsString.SubString(1,4)+"(峰)";
Table1->FieldByName(sycj)->AsFloat=Qdbda->FieldByName("sycjf")->AsFloat;
Table1->FieldByName(bycj)->AsFloat=Qdbda->FieldByName("bycjf")->AsFloat;
Table1->FieldByName(cs)->AsFloat=Qdbda->FieldByName("csf")->AsFloat;
Table1->FieldByName(bl)->AsFloat=Qdbda->FieldByName("blf")->AsFloat;
Table1->FieldByName(bldl)->AsFloat=Qdbda->FieldByName("bldlf")->AsFloat;
Table1->FieldByName(bsdl)->AsFloat=Qdbda->FieldByName("bsdlf")->AsFloat;
Table1->FieldByName(xsdl)->AsFloat=Qdbda->FieldByName("xsdlf")->AsFloat;
Table1->FieldByName(fldl)->AsFloat=Qdbda->FieldByName("fldlf")->AsFloat;
Table1->FieldByName(zdl)->AsFloat=Qdbda->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=Qdbda->FieldByName("dblb")->AsString.SubString(1,4)+"(谷)";
Table1->FieldByName(sycj)->AsFloat=Qdbda->FieldByName("sycjg")->AsFloat;
Table1->FieldByName(bycj)->AsFloat=Qdbda->FieldByName("bycjg")->AsFloat;
Table1->FieldByName(cs)->AsFloat=Qdbda->FieldByName("csg")->AsFloat;
Table1->FieldByName(bl)->AsFloat=Qdbda->FieldByName("blg")->AsFloat;
Table1->FieldByName(bldl)->AsFloat=Qdbda->FieldByName("bldlg")->AsFloat;
Table1->FieldByName(bsdl)->AsFloat=Qdbda->FieldByName("bsdlg")->AsFloat;
Table1->FieldByName(xsdl)->AsFloat=Qdbda->FieldByName("xsdlg")->AsFloat;
Table1->FieldByName(fldl)->AsFloat=Qdbda->FieldByName("fldlg")->AsFloat;
Table1->FieldByName(zdl)->AsFloat=Qdbda->FieldByName("zdlg")->AsFloat;
}
sql="select * from djkp"+ComboBox2->Text+" where hsqx='"+ComboBox2->Text+"-"+ComboBox3->Text+"'";
sql=sql+" and hhhh='"+Edit11->Text+"' and dbbh='"+Qdbda->FieldByName("dbbh")->AsString+"'";
Qdjkp->Close();
Qdjkp->SQL->Clear();
Qdjkp->SQL->Add(sql);
Qdjkp->ExecSQL();
Qdjkp->Open();
Qdjkp->First();
while (!Qdjkp->Eof&&kps<9)
{
if (Qdjkp->FieldByName("jsfsp")->AsString=="居民优待"||Qdjkp->FieldByName("jsfsp")->AsString=="职工优待")
{
if (dblb.SubString(1,4)!="无功"&&dblb.SubString(1,4)!="反向")
{
kps=ydjs(kps);
Qdjkp->Next();
continue;
}
}
if (dblb.SubString(1,4)!="无功"&&dblb.SubString(1,4)!="反向")
{
lb="F"+IntToStr(kps)+"01";
dl="F"+IntToStr(kps)+"02";
dj="F"+IntToStr(kps)+"03";
df="F"+IntToStr(kps)+"04";
bz="F"+IntToStr(kps)+"05";
Table1->FieldByName(dl)->AsFloat=Qdjkp->FieldByName("dlp")->AsFloat;
Table1->FieldByName(dj)->AsFloat=Qdjkp->FieldByName("djp")->AsFloat;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -