📄 transfer.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Transfer.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmTransfer *frmTransfer;
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTransfer::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seTransferCode->Text="";
memTransferDesc->Text="";
scTransferEmployee->Text="";
scTransferMgr->Text="";
deTransferDate->Text=g_sdCurDate;
deTransferEdate->Text="";
scTransferState->ItemIndex=1;
lbTransferUser->Caption=g_sdUserCode;
lbTransferSysDate->Caption="";
seTransferODept->Text="";
seTransferOShop->Text="";
seTransferOTeam->Text="";
scTransferIDept->ItemIndex=-1;
scTransferIShop->ItemIndex=-1;
scTransferITeam->ItemIndex=-1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::GetDataFromComObject()
{
seTransferCode->Text=GetFieldValue(fiTransferCode);
scTransferEmployee->LocateKey(GetFieldValue(fiTransferEmployee));
scTransferEmployee->Text=scTransferEmployee->ItemData[cbItem1];
scTransferMgr->Text=GetFieldValue(fiTransferMgr);
deTransferDate->Text=GetFieldValue(fiTransferDate);
deTransferEdate->Text=GetFieldValue(fiTransferEdate);
scTransferState->LocateKey(GetFieldValue(fiTransState));
lbTransferUser->Caption=GetFieldValue(fiTransferUser);
lbTransferSysDate->Caption=GetFieldValue(fiTransferSysDate);
seTransferODept->LocateKey(GetFieldValue(fiTransferODept));
seTransferOShop->LocateKey(GetFieldValue(fiTransferOShop));
seTransferOTeam->LocateKey(GetFieldValue(fiTransferTeam));
scTransferIDept->LocateKey(GetFieldValue(fiTransIDept));
scTransferIShop->LocateKey(GetFieldValue(fiTransferIShop));
scTransferITeam->LocateKey(GetFieldValue(fiTransferITeam));
memTransferDesc->Text=GetFieldValue(fiTransferDesc);
sgTransfer->LocateGrid(1,seTransferCode->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::SendDataToComObject()
{
if(scTransferIDept->Text.IsEmpty())
throw Exception("调入部门不能为空");
if(seTransferODept->ItemData[cbItem2]==scTransferIDept->ItemData[cbItem2]&&
seTransferOShop->ItemData[cbItem2]==scTransferIShop->ItemData[cbItem2]&&
seTransferOTeam->ItemData[cbItem2]==scTransferITeam->ItemData[cbItem2])
throw Exception("该调动单没意义");
WriteFieldValue(comServer,fiTransferCode,WideString(seTransferCode->Text));
WriteFieldValue(comServer,fiTransferEmployee,WideString(scTransferEmployee->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferMgr,WideString(scTransferMgr->Text));
WriteFieldValue(comServer,fiTransferDate,WideString(deTransferDate->Text));
WriteFieldValue(comServer,fiTransferEdate,WideString(deTransferEdate->Text));
WriteFieldValue(comServer,fiTransState,WideString(scTransferState->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferUser,WideString(g_sdUserCode/*lbTransferUser->Caption*/));
// WriteFieldValue(comServer,fiTransferSysDate,WideString(seTransferSysDate->Text));
WriteFieldValue(comServer,fiTransferODept,WideString(seTransferODept->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferOShop,WideString(seTransferOShop->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferTeam,WideString(seTransferOTeam->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransIDept,WideString(scTransferIDept->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferIShop,WideString(scTransferIShop->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferITeam,WideString(scTransferITeam->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTransferDesc,WideString(memTransferDesc->Text));
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::WaitUserInput()
{
if(seTransferCode->Enabled)
seTransferCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTransfer::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue(fiTransferCode)+
"\t" + GetFieldValue(fiTransferEmployee)+
"\t" + GetFieldValue(fiTransferODept)+
"\t" + GetFieldValue(fiTransIDept);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgTransfer->AddItem(ItemStr);
sgTransfer->Row=sgTransfer->RowCount-1;
}
// 修改
else if(mAction == 1)
{
sgTransfer->ChangeItem(ItemStr,sgTransfer->Row);
}
// 删除
else if(mAction == 2)
{
sgTransfer->RemoveItem(sgTransfer->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgTransfer->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgTransfer->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgTransfer,sgTransfer->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,false,true,true, scTransferEmployee,scTransferEmployee->Name);
ClientGroup->AddComponent(2,false,true,false, seTransferCode,seTransferCode->Name);
ClientGroup->AddComponent(2,true,true,true, seTransferODept,seTransferODept->Name);
ClientGroup->AddComponent(2,true,true,true, seTransferOShop,seTransferOShop->Name);
ClientGroup->AddComponent(2,true,true,true, seTransferOTeam,seTransferOTeam->Name);
ClientGroup->AddComponent(2,true,true,true, scTransferState,scTransferState->Name);
FillComboBox(scTransferEmployee,"select Employee=EmployeeCode+'|'+EmployeeName,EmployeeCode from sdEmployee","Employee","EmployeeCode");
scTransferState->ClearAll();
scTransferState->AddItems("预备","1");
scTransferState->AddItems("确认","2");
scTransferState->AddItems("待下达","3");
scTransferState->AddItems("已下达","4");
scTransferState->AddItems("已完成","5");
FillEdit(seTransferODept,"select DeptCode,DeptName from sdDept","DeptName","DeptCode");
FillComboBox(scTransferIDept,"select DeptCode,DeptName from sdDept","DeptName","DeptCode");
FillEdit(seTransferOShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
FillEdit(seTransferOTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
}
//---------------------------------------------------------------------------
__fastcall TfrmTransfer::TfrmTransfer(TComponent* Owner)
: TRecBaseForm(Owner,euSdTransfer,"")
{
AutoCtl=seTransferCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::FormShow(TObject *Sender)
{
FillGridWithData();
ClearControl(false);
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::scTransferEmployeeClick(TObject *Sender)
{
try
{
WriteFieldValue(comServer,fiTransferEmployee,scTransferEmployee->ItemData[cbItem2]);
seTransferODept->LocateKey(GetFieldValue(fiTransferODept));
seTransferOShop->LocateKey(GetFieldValue(fiTransferOShop));
seTransferOTeam->LocateKey(GetFieldValue(fiTransferTeam));
}
catch(...)
{
CancelChange();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::sgTransferClick(TObject *Sender)
{
if (sgTransfer->Row > 0)
comServer->LocateByKey(WideString(sgTransfer->TextMatrix[sgTransfer->Row][1]));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
{
case euSdEmployee:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTransferEmployee->ItemData[cbItem2];
FillComboBox(scTransferEmployee,"select Employee=EmployeeCode+'|'+EmployeeName,EmployeeCode from sdEmployee","Employee","EmployeeCode");
scTransferEmployee->LocateKey(KeyCode);
}
break;
case euSdDept:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTransferIDept->ItemData[cbItem2];
FillComboBox(scTransferIDept,"select DeptCode,DeptName from sdDept","DeptName","DeptCode");
scTransferIDept->LocateKey(KeyCode);
}
break;
case euSdShop:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTransferIShop->ItemData[cbItem2];
if(CurrentState==caNormal)
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
else
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+scTransferIDept->ItemData[cbItem2]+"'","ShopName","ShopCode");
scTransferIShop->LocateKey(KeyCode);
}
break;
case euSdTeam:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTransferITeam->ItemData[cbItem2];
if(CurrentState==caNormal)
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
else
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTransferIShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
scTransferITeam->LocateKey(KeyCode);
}
break;
}
}
void __fastcall TfrmTransfer::scTransferIDeptClick(TObject *Sender)
{
KeyCode=scTransferIShop->ItemData[cbItem2];
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+scTransferIDept->ItemData[cbItem2]+"'","ShopName","ShopCode");
scTransferIShop->LocateKey(KeyCode);
scTransferIShopClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::scTransferIShopClick(TObject *Sender)
{
KeyCode=scTransferITeam->ItemData[cbItem2];
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTransferIShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::muSaveClick(TObject *Sender)
{
TRecBaseForm::muSaveClick(Sender);
KeyCode=scTransferIShop->ItemData[cbItem2];
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
scTransferIShop->LocateKey(KeyCode);
KeyCode=scTransferITeam->ItemData[cbItem2];
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::muCancelClick(TObject *Sender)
{
TRecBaseForm::muCancelClick(Sender);
KeyCode=scTransferIShop->ItemData[cbItem2];
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
scTransferIShop->LocateKey(KeyCode);
KeyCode=scTransferITeam->ItemData[cbItem2];
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::seTransferCodeKeyDown(TObject *Sender,
WORD &Key, TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(WideString(seTransferCode->Text));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::muEditDetailClick(TObject *Sender)
{
TRecBaseForm::muEditDetailClick(Sender);
KeyCode=scTransferIShop->ItemData[cbItem2];
FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+scTransferIDept->ItemData[cbItem2]+"'","ShopName","ShopCode");
scTransferIShop->LocateKey(KeyCode);
KeyCode=scTransferITeam->ItemData[cbItem2];
FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTransferIShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -