📄 fadn.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Fadn.h"
#include "FaAe.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma resource "*.dfm"
TfrmFadn *frmFadn;
//---------------------------------------------------------------------------
__fastcall TfrmFadn::TfrmFadn(TComponent* Owner)
: TRecBaseForm(Owner,euSdFadn,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::InitEditControl()
{
AnsiString sSql;
FillEdit(seFadnFat,"select fatcode,fatname from sdfat order By fatcode","fatName","fatcode");
FillComboBox(scFadnFadm,"select fadmcode,fadmname from sdfadm order By fadmcode","fadmName","fadmCode");
FillComboBox(scFadnUnit,"select unitcode,unitname from sdunit order By unitcode","unitName","unitCode");
FillEdit(seFadnSupply,"select supplycode,supplyname from sdsupply order By supplycode","supplyName","supplyCode");
FillComboBox(scFadnFaUse,"select FaUsecode,FaUsename from sdFaUse order By FaUsecode","FaUseName","FaUseCode");
FillComboBox(scFadnAddType,"select Favcode,Favname from sdFav where favtype='1' order By Favcode","FavName","FavCode");
FillComboBox(scFadnDecType,"select Favcode,Favname from sdFav where favtype='2' order By Favcode","FavName","FavCode");
FillComboBox(scFadnFav,"select Favcode,Favname from sdFav where favtype='3' order By Favcode","FavName","FavCode");
FillEdit(seFadnDept,"select Deptcode,Deptname from sdDept order By Deptcode","DeptName","DeptCode");
FillComboBox(scFadnFmonth,"select FcMonth from sdFc order By FcMonth","FcMonth");
sSql=AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1) ,currencylocal from sdcurrency,sdrate");
sSql+=" where currencycode*=ratecurrency and ratefmonth='"+g_sdEMonth+"'";
FillEdit(seFadnCurrency,sSql,"CurrencyCode","CurrencyName","Currencyrate","currencyLocal");
FillComboBox(scFadnFvct,"select Fvctcode,Fvctname from sdFvct order By FvctCode","FvctName","FvctCode");
scFadnEuse->AddItems("经营用","1");
scFadnEuse->AddItems("非经营用","2");
ClientGroup->AddComponent(2,true,true,false, sgFadn,sgFadn->Name);
ClientGroup->AddComponent(2,false,false,true, tpFadn,tpFadn->Name);
ClientGroup->AddComponent(2,true,true,true, sbadFaAe,sbadFaAe->Name);
ClientGroup->AddComponent(2,false,false,false, seFadnCode,seFadnCode->Name);
ClientGroup->AddComponent(2,true,true,true,GroupBox3,GroupBox3->Name);
ClientGroup->AddComponent(2,true,true,true,scFadnFmonth,scFadnFmonth->Name);
ClientGroup->AddComponent(2,true,true,true,scFadnFav,scFadnFav->Name);
ClientGroup->AddComponent(2,true,true,true,scFadnDecType,scFadnDecType->Name);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFadn::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seFadnCode->Text ="";
memFadnDesc->Text ="";
scFadnUnit->ItemIndex =-1;
sdFadnDate->Text =g_sdCurDate;
seFadnAddr->Text ="";
scFadnFav->ItemIndex =-1;
scFadnDecType->ItemIndex =-1;
seFadnSupply->Text ="";
seFadnArea->Text ="";
seFadnDept->Text ="";
seFadnCurrency->Text ="";
seFadnERate->Text ="0";
seFadnOVal->Text ="0";
seFadnWbOVal->Text ="0" ;
seFadnEVal->Text ="0";
seFadnCVal->Text ="0";
seFadnDVal->Text ="0";
seFadnBVal->Text ="0";
seFadnTWork->Text ="0";
seFadnAWork->Text ="0";
seFadnBWork->Text ="0";
seFadnPeriod->Text ="0";
seFadnAPeriod->Text ="0";
seFadnBPeriod->Text ="0";
scFadnFadm->ItemIndex =-1;
sdFadnUDate->Text =g_sdCurDate;
scFadnFmonth->Text =g_sdEMonth;
seFadnPVal->Text ="0";
chkFadnDiscard->Checked =false;
chkFadnFix->Checked =false;
chkFadnAe->Checked =false;
scFadnFvct->ItemIndex =-1;
raFadnYzDir0->Checked =false;
raFadnYzDir1->Checked =false;
raFadnZjDir0->Checked =false;
raFadnZjDir1->Checked =false;
raFadnQoDir0->Checked =false;
raFadnQoDir1->Checked =false;
raFadnCzDir0->Checked =false;
raFadnCzDir1->Checked =false;
seFadnName->Text ="";
seFadnFat->Text ="";
scFadnFaUse->ItemIndex =-1;
scFadnEuse->ItemIndex =-1;
seFadnModel->Text ="";
seFadnFactory->Text ="";
sdFadnOfDate->Text ="";
scFadnAddType->ItemIndex =-1;
chkFadnStop->Checked =false;
chkFadnRent->Checked =false;
chkFadnDec->Checked =false;
chkFadnFc->Checked =false;
seFadnYzGlkm->Text ="";
seFadnZjGlkm->Text ="";
seFadnQoGlkm->Text ="";
seFadnCzGlkm->Text ="";
seFadnQiGlkm->Text ="";
raFadnQiDir0->Checked =false;
raFadnQiDir1->Checked =false;
seFadnZlGlkm->Text ="";
raFadnZlDir0->Checked =false;
raFadnZlDir1->Checked =false;
PW->Visible=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::GetDataFromComObject()
{
seFadnCode->Text=GetFieldValue(fiFadnCode);
sgFadn->LocateGrid(1,seFadnCode->Text);
memFadnDesc->Text=GetFieldValue(fiFadnDesc);
scFadnUnit->LocateKey(GetFieldValue(fiFadnUnit));
scFadnUnit->Text=scFadnUnit->ItemData[0];
sdFadnDate->Text=GetFieldValue(fiFadnDate);
scFadnFmonth->Text=GetFieldValue(fiFadnFmonth);
seFadnAddr->Text=GetFieldValue(fiFadnAddr);
seFadnSupply->LocateKey(GetFieldValue(fiFadnSupply));
seFadnSupply->Text=seFadnSupply->ItemData[0];
seFadnArea->Text=GetFieldValue(fiFadnArea);
seFadnDept->LocateKey(GetFieldValue(fiFadnDept));
seFadnDept->Text=seFadnDept->ItemData[0];
seFadnCurrency->LocateKey(GetFieldValue(fiFadnCurrency));
seFadnCurrency->Text=seFadnCurrency->ItemData[1];
seFadnERate->Text=GetFieldValue(fiFadnERate);
seFadnOVal->Text=GetFieldValue(fiFadnOVal);
seFadnWbOVal->Text=GetFieldValue(fiFadnWbOVal);
seFadnEVal->Text=GetFieldValue(fiFadnEVal);
seFadnCVal->Text=GetFieldValue(fiFadnCVal);
seFadnDVal->Text=GetFieldValue(fiFadnDVal);
seFadnBVal->Text=GetFieldValue(fiFadnBVal);
seFadnTWork->Text=GetFieldValue(fiFadnTWork);
seFadnAWork->Text=GetFieldValue(fiFadnAWork);
seFadnBWork->Text=GetFieldValue(fiFadnBWork);
seFadnPeriod->Text=GetFieldValue(fiFadnPeriod);
seFadnAPeriod->Text=GetFieldValue(fiFadnAPeriod);
seFadnBPeriod->Text=GetFieldValue(fiFadnBPeriod);
scFadnFadm->LocateKey(GetFieldValue(fiFadnFadm));
scFadnFadm->Text=scFadnFadm->ItemData[0];
if(scFadnFadm->Text=="工作量法")
{
PW->Visible=true;
}
else
{
PW->Visible=false;
}
sdFadnUDate->Text=GetFieldValue(fiFadnUDate);
seFadnPVal->Text=GetFieldValue(fiFadnPVal);
chkFadnDiscard->Checked=GetFieldValue(fiFadnDiscard)=="1";
chkFadnFix->Checked=GetFieldValue(fiFadnFix)=="1";
chkFadnAe->Checked=GetFieldValue(fiFadnAe)=="1";
scFadnFvct->LocateKey(GetFieldValue(fiFadnFvct));
scFadnFvct->Text=scFadnFvct->ItemData[0];
if(GetFieldValue(fiFadnYzDir)=="1")
raFadnYzDir0->Checked=true;
else
raFadnYzDir1->Checked=true;
if(GetFieldValue(fiFadnZjDir)=="1")
raFadnZjDir0->Checked=true;
else
raFadnZjDir1->Checked=true;
if(GetFieldValue(fiFadnQoDir)=="1")
raFadnQoDir0->Checked=true;
else
raFadnQoDir1->Checked=true;
if(GetFieldValue(fiFadnCzDir)=="1")
raFadnCzDir0->Checked=true;
else
raFadnCzDir1->Checked=true;
seFadnName->Text=GetFieldValue(fiFadnName);
seFadnFat->LocateKey(GetFieldValue(fiFadnFat));
seFadnFat->Text=seFadnFat->ItemData[0];
scFadnFaUse->LocateKey(GetFieldValue(fiFadnFaUse));
scFadnFaUse->Text=scFadnFaUse->ItemData[0];
scFadnEuse->LocateKey(GetFieldValue(fiFadnEuse));
scFadnEuse->Text=scFadnEuse->ItemData[0];
seFadnModel->Text=GetFieldValue(fiFadnModel);
seFadnFactory->Text=GetFieldValue(fiFadnFactory);
sdFadnOfDate->Text=GetFieldValue(fiFadnOfDate);
scFadnAddType->LocateKey(GetFieldValue(fiFadnAddType));
scFadnAddType->Text=scFadnAddType->ItemData[0];
scFadnDecType->LocateKey(GetFieldValue(fiFadnDecType));
scFadnDecType->Text=scFadnDecType->ItemData[0];
scFadnFav->LocateKey(GetFieldValue(fiFadnFav));
scFadnFav->Text=scFadnFav->ItemData[0];
chkFadnStop->Checked=GetFieldValue(fiFadnStop)=="1";
chkFadnRent->Checked=GetFieldValue(fiFadnRent)=="1";
chkFadnDec->Checked=GetFieldValue(fiFadnDec)=="1";
chkFadnFc->Checked=GetFieldValue(fiFadnFc)=="1";
seFadnYzGlkm->Text=GetFieldValue(fiFadnYzGlkm);
seFadnZjGlkm->Text=GetFieldValue(fiFadnZjGlkm);
seFadnQoGlkm->Text=GetFieldValue(fiFadnQoGlkm);
seFadnCzGlkm->Text=GetFieldValue(fiFadnCzGlkm);
seFadnQiGlkm->Text=GetFieldValue(fiFadnQiGlkm);
seFadnZlGlkm->Text=GetFieldValue(fiFadnZlGlkm);
if(GetFieldValue(fiFadnQiDir)=="1")
raFadnQiDir0->Checked=true;
else
raFadnQiDir1->Checked=true;
if(GetFieldValue(fiFadnZlDir)=="1")
raFadnZlDir0->Checked=true;
else
raFadnZlDir1->Checked=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::SendDataToComObject()
{
if(scFadnEuse->Text.IsEmpty())
throw Exception("经济用途不能为空");
WriteFieldValue(comServer,fiFadnCode,seFadnCode->Text);
WriteFieldValue(comServer,fiFadnDesc,memFadnDesc->Text);
WriteFieldValue(comServer,fiFadnUnit,scFadnUnit->ItemData[1]);
WriteFieldValue(comServer,fiFadnDate,sdFadnDate->Text);
WriteFieldValue(comServer,fiFadnFmonth,scFadnFmonth->Text);
WriteFieldValue(comServer,fiFadnAddr,seFadnAddr->Text);
WriteFieldValue(comServer,fiFadnSupply,seFadnSupply->ItemData[1]);
WriteFieldValue(comServer,fiFadnArea,seFadnArea->Text);
WriteFieldValue(comServer,fiFadnDept,seFadnDept->ItemData[1]);
WriteFieldValue(comServer,fiFadnCurrency,seFadnCurrency->ItemData[0]);
WriteFieldValue(comServer,fiFadnERate,seFadnERate->Text);
WriteFieldValue(comServer,fiFadnOVal,seFadnOVal->Text);
WriteFieldValue(comServer,fiFadnWbOVal,seFadnWbOVal->Text);
WriteFieldValue(comServer,fiFadnPVal,seFadnPVal->Text);
WriteFieldValue(comServer,fiFadnEVal,seFadnEVal->Text);
WriteFieldValue(comServer,fiFadnCVal,seFadnCVal->Text);
WriteFieldValue(comServer,fiFadnDVal,seFadnDVal->Text);
WriteFieldValue(comServer,fiFadnBVal,seFadnBVal->Text);
WriteFieldValue(comServer,fiFadnTWork,seFadnTWork->Text);
WriteFieldValue(comServer,fiFadnAWork,seFadnAWork->Text);
WriteFieldValue(comServer,fiFadnBWork,seFadnBWork->Text);
WriteFieldValue(comServer,fiFadnPeriod,seFadnPeriod->Text);
WriteFieldValue(comServer,fiFadnAPeriod,seFadnAPeriod->Text);
WriteFieldValue(comServer,fiFadnBPeriod,seFadnBPeriod->Text);
WriteFieldValue(comServer,fiFadnFadm,scFadnFadm->ItemData[1]);
WriteFieldValue(comServer,fiFadnDiscard,chkFadnDiscard->Checked ?"1":"0");
WriteFieldValue(comServer,fiFadnFix,chkFadnFix->Checked ?"1":"0");
WriteFieldValue(comServer,fiFadnAe,chkFadnAe->Checked ?"1":"0");
WriteFieldValue(comServer,fiFadnFvct,scFadnFvct->ItemData[1]);
WriteFieldValue(comServer,fiFadnYzDir,raFadnYzDir0->Checked?"1":"-1");
WriteFieldValue(comServer,fiFadnZjDir,raFadnZjDir0->Checked?"1":"-1");
WriteFieldValue(comServer,fiFadnQoDir,raFadnQoDir0->Checked?"1":"-1");
WriteFieldValue(comServer,fiFadnCzDir,raFadnCzDir0->Checked?"1":"-1");
WriteFieldValue(comServer,fiFadnName,seFadnName->Text);
WriteFieldValue(comServer,fiFadnFat,seFadnFat->ItemData[1]);
WriteFieldValue(comServer,fiFadnFaUse,scFadnFaUse->ItemData[1]);
WriteFieldValue(comServer,fiFadnEuse,scFadnEuse->ItemData[1]);
WriteFieldValue(comServer,fiFadnModel,seFadnModel->Text);
WriteFieldValue(comServer,fiFadnFactory,seFadnFactory->Text);
WriteFieldValue(comServer,fiFadnOfDate,sdFadnOfDate->Text);
WriteFieldValue(comServer,fiFadnUDate,sdFadnUDate->Text);
WriteFieldValue(comServer,fiFadnAddType,scFadnAddType->ItemData[1]);
WriteFieldValue(comServer,fiFadnStop,chkFadnStop->Checked?"1":"0");
WriteFieldValue(comServer,fiFadnRent,chkFadnRent->Checked?"1":"0");
WriteFieldValue(comServer,fiFadnDec,chkFadnDec->Checked?"1":"0");
WriteFieldValue(comServer,fiFadnFc,chkFadnFc->Checked?"1":"0");
WriteFieldValue(comServer,fiFadnYzGlkm,seFadnYzGlkm->Text);
WriteFieldValue(comServer,fiFadnZjGlkm,seFadnZjGlkm->Text);
WriteFieldValue(comServer,fiFadnQoGlkm,seFadnQoGlkm->Text);
WriteFieldValue(comServer,fiFadnCzGlkm,seFadnCzGlkm->Text);
WriteFieldValue(comServer,fiFadnQiGlkm,seFadnQiGlkm->Text);
WriteFieldValue(comServer,fiFadnQiDir,raFadnQiDir0->Checked?"1":"-1");
WriteFieldValue(comServer,fiFadnZlGlkm,seFadnZlGlkm->Text);
WriteFieldValue(comServer,fiFadnZlDir,raFadnZlDir0->Checked?"1":"-1");
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::WaitUserInput()
{
tpFadn->ActivePage=TabSheet1;
seFadnCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmFadn::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue(fiFadnCode)+
"\t" + GetFieldValue(fiFadnName);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgFadn->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgFadn->Row;
sgFadn->RemoveItem(i);
sgFadn->AddItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgFadn->RemoveItem(sgFadn->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgFadn->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgFadn->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::chkFadnAeMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(chkFadnAe->Checked)
sbadFaAe->Enabled=false;
else
sbadFaAe->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::seFadnYzGlkmButtonClick(TObject *Sender)
{
OpenGlkmQuery();
if(QueryStatus==1)
{
seFadnYzGlkm->Text=GetGlkmValue("GLKMCODE");
if(GetGlkmValue("GLKMDIR")=="1")
raFadnYzDir0->Checked=true;
else
raFadnYzDir1->Checked=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmFadn::muEditDetailClick(TObject *Sender)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -