📄 supply.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Supply.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "DateEdit"
#pragma resource "*.dfm"
TfrmSupply *frmSupply;
//---------------------------------------------------------------------------
__fastcall TfrmSupply::TfrmSupply(TComponent* Owner)
: TRecBaseForm(Owner,euSdSupply,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmSupply::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::ClearControl(bool BringToNext)
{
if (!BringToNext)
{
seSupplyCode->Text="";
seSupplyName->Text="";
seSupplyDesc->Text="";
chkSupplyCancel->Checked=False;
scSupplyType->Text="";
scSupplyType->ItemIndex=-1;
seSupplyLegalMan->Text="";
seSupplyLinkMan->Text="";
seSupplyAddr->Text="";
seSupplyZip->Text="";
seSupplyTel->Text="";
seSupplyFax->Text="";
seSupplyEmail->Text="";
scSupplyCredit->Text="";
scSupplyCredit->ItemIndex=-1;
chkSupplyCancel->Checked=False;
scSupplyTaxCode->Text="";
scSupplyTaxCode->ItemIndex=-1;
seSupplyTaxNo->Text="";
scSupplyTrade->Text="";
scSupplyTrade->ItemIndex=-1;
scSupplyPmode->Text="";
scSupplyPmode->ItemIndex=-1;
scSupplyBuyer->Text="";
scSupplyBuyer->ItemIndex=-1;
// add 9 fields
seSupplyFreq->Text="0";
deSupplyCreateDate->Text=g_sdCurDate;
deSupplyCancelDate->Text="";
seSupplyApAmt->Text="0.0";
seSupplyCreditTerm->Text="";
deSupplyLtDate->Text=deSupplyLtDate->InitDate;
seSupplyLtAmt->Text="0.0";
deSupplyLpDate->Text=deSupplyLpDate->InitDate;
seSupplyLpAmt->Text="0.0";
}
SupplyInfo->ActivePage =BaseInfo;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::GetDataFromComObject()
{
seSupplyCode->Text=GetFieldValue(fiSupplyCode);
seSupplyName->Text=GetFieldValue(fiSupplyName);
seSupplyDesc->Text=GetFieldValue(fiSupplyDesc);
scSupplyType->LocateKey(GetFieldValue(fiSupplyType));
scSupplyType->Text=scSupplyType->ItemData[0];
seSupplyLegalMan->Text=GetFieldValue(fiSupplyLegalman);
seSupplyLinkMan->Text=GetFieldValue(fiSupplyLinkman);
seSupplyAddr->Text=GetFieldValue(fiSupplyAddr);
seSupplyZip->Text=GetFieldValue(fiSupplyZip);
seSupplyTel->Text=GetFieldValue(fiSupplyTel);
seSupplyFax->Text=GetFieldValue(fiSupplyFax);
seSupplyEmail->Text=GetFieldValue(fiSupplyEmail);
scSupplyCredit->Text=GetFieldValue(fiSupplyCredit);
chkSupplyCancel->Checked=(GetFieldValue(fiSupplyCancel)==1);
scSupplyTaxCode->LocateKey(GetFieldValue(fiSupplyTaxCode));
scSupplyTaxCode->Text=scSupplyTaxCode->ItemData[0];
seSupplyTaxNo->Text=GetFieldValue(fiSupplyTaxNo);
seSupplyArea->Text=GetFieldValue(fiSupplyArea);
scSupplyTrade->LocateKey(GetFieldValue(fiSupplyTrade));
scSupplyTrade->Text=scSupplyTrade->ItemData[0];
scSupplyPmode->LocateKey(GetFieldValue(fiSupplyPmode));
scSupplyPmode->Text=scSupplyPmode->ItemData[0];
scSupplyBuyer->LocateKey(GetFieldValue(fiSupplyBuyer));
scSupplyBuyer->Text=scSupplyBuyer->ItemData[0];
// add 9 fields
seSupplyFreq->Text=GetFieldValue(fiSupplyFreq);
deSupplyCreateDate->Text=GetFieldValue(fiSupplyCreateDate);
deSupplyCancelDate->Text=GetFieldValue(fiSupplyCancelDate);
seSupplyApAmt->Text=GetFieldValue(fiSupplyApAmt);
seSupplyCreditTerm->Text=GetFieldValue(fiSupplyCreditTerm);
deSupplyLtDate->Text=GetFieldValue(fiSupplyLtDate);
seSupplyLtAmt->Text=GetFieldValue(fiSupplyLtAmt);
deSupplyLpDate->Text=GetFieldValue(fiSupplyLpDate);
seSupplyLpAmt->Text=GetFieldValue(fiSupplyLpAmt);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::SendDataToComObject()
{
WriteFieldValue(comServer,fiSupplyCode, seSupplyCode->Text);
WriteFieldValue(comServer,fiSupplyName, seSupplyName->Text);
WriteFieldValue(comServer,fiSupplyDesc, seSupplyDesc->Text);
WriteFieldValue(comServer,fiSupplyType, scSupplyType->ItemData[1]);
WriteFieldValue(comServer,fiSupplyLegalman, seSupplyLegalMan->Text);
WriteFieldValue(comServer,fiSupplyLinkman, seSupplyLinkMan->Text);
WriteFieldValue(comServer,fiSupplyAddr, seSupplyAddr->Text);
WriteFieldValue(comServer,fiSupplyZip, seSupplyZip->Text);
WriteFieldValue(comServer,fiSupplyTel, seSupplyTel->Text);
WriteFieldValue(comServer,fiSupplyFax, seSupplyFax->Text);
WriteFieldValue(comServer,fiSupplyEmail, seSupplyEmail->Text);
WriteFieldValue(comServer,fiSupplyCredit, scSupplyCredit->Text);
WriteFieldValue(comServer,fiSupplyCancel, AnsiString(chkSupplyCancel->Checked ? 1:0));
WriteFieldValue(comServer,fiSupplyTaxCode, scSupplyTaxCode->ItemData[1]);
WriteFieldValue(comServer,fiSupplyTaxNo, seSupplyTaxNo->Text);
// 如果是增加状态
if( CurrentState == caAddDetail)
{
AnsiString m;
m=tvSupply->Selected->Text;
m = m.SubString(2,m.AnsiPos(")")-2);
WriteFieldValue(comServer,fiSupplyArea, m);
}
WriteFieldValue(comServer,fiSupplyTrade, scSupplyTrade->ItemData[1]);
WriteFieldValue(comServer,fiSupplyPmode, scSupplyPmode->ItemData[1]);
WriteFieldValue(comServer,fiSupplyBuyer, scSupplyBuyer->ItemData[1]);
// sysDate for Read-only
//add 9 fields
WriteFieldValue(comServer,fiSupplyCreateDate, deSupplyCreateDate->Text);
WriteFieldValue(comServer,fiSupplyCancelDate, deSupplyCancelDate->Text);
if(seSupplyCreditTerm->Text == "")
throw Exception("请输入信用期限");
WriteFieldValue(comServer,fiSupplyCreditTerm, seSupplyCreditTerm->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::WaitUserInput()
{
if(seSupplyCode->Enabled)
seSupplyCode->SetFocus ();
scSupplyTaxCodeExit(NULL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::RefreshGridData(int mAction)
{
AnsiString TempText;
TTreeNode *TempNode;
// 新增
if (mAction == 0)
{
if(tvSupply->Selected) // Tree chosen
{
TempText = "(" + GetFieldValue(fiSupplyCode)
+ ")" + GetFieldValue(fiSupplyName);
TempNode = tvSupply->Selected;
TempNode = tvSupply->Items->AddChild(TempNode,TempText);
TempNode->StateIndex = 2;
TempNode->SelectedIndex = 2;
TempNode->Text = TempText;
}
}
// 修改
else if(mAction == 1)
{
if(tvSupply->Selected) // Tree chosen
{
TempNode=tvSupply->Selected;
TempNode->StateIndex = 2;
TempNode->SelectedIndex = 2;
TempNode->Text = "(" + GetFieldValue(fiSupplyCode) + ")" + GetFieldValue(fiSupplyName);
}
}
// 删除
else if(mAction == 2)
{
tvSupply->Items->Delete(tvSupply->Selected);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::FillTreeWithPtype()
{
TTreeNode *TempNode[7];
int mLevel;
TComResultSet *RsArea=NewResultSet();
tvSupply->Items->Clear();
TempNode[0]=tvSupply->Items->Add(NULL,"所有的供应商");
TempNode[0]->StateIndex=-1;
TempNode[0]->SelectedIndex=-1;
RsArea->Open("select AreaCode,AreaName,AreaLevel,AreaEnd from sdArea order by AreaCode","");
RsArea->MoveFirst();
while( RsArea->Eof == 0 )
{
mLevel=RsArea->FieldByName("AreaLevel").ToInt();
TempNode[mLevel] = tvSupply->Items->AddChild(TempNode[mLevel-1],"(" + RsArea->FieldByName("AreaCode") + ")" +RsArea->FieldByName("AreaName"));
if(RsArea->FieldByName("AreaEnd")=="1") //地区末节点
{
TempNode[mLevel]->StateIndex = 1;
TempNode[mLevel]->SelectedIndex = 1;
}
else
{
TempNode[mLevel]->StateIndex = -1;
TempNode[mLevel]->SelectedIndex = -1;
}
RsArea->MoveNext();
}
RsArea->Close();
if (tvSupply->Items->Count > 0)
tvSupply->FullExpand();
delete RsArea;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::FillGridWithData()
{
FillTreeWithPtype();
TTreeNode *TempNode;
comServer->MoveFirst();
while (comServer->Eof == 0)
{
AnsiString s,m;
s = GetFieldValue(fiSupplyArea);
TempNode=NULL;
for(int i=1;i < tvSupply->Items->Count;i++)
{
m = tvSupply->Items->Item[i]->Text;
m = m.SubString(2,m.AnsiPos(")")-2);
if(m == s)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -