?? tap.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Tap.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"
TfrmTap *frmTap;
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTap::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seTapCode->Text="";
memTapDesc->Text="";
scTapEmployee->Text="";
scTapMgr->Text="";
deTapDate->Text=g_sdCurDate;
deTapEdate->Text="";
scTapState->ItemIndex=1;
seTapUser->LocateKey(g_sdUserCode);
lbTapSysDate->Caption="";
seTapORank->Text="";
seTapOShop->Text="";
seTapOTeam->Text="";
scTapNRank->Text="";
scTapNShop->Text="";
scTapNTeam->Text="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::GetDataFromComObject()
{
seTapCode->Text=GetFieldValue(fiTapCode);
memTapDesc->Text=GetFieldValue(fiTapDesc);
scTapEmployee->LocateKey(GetFieldValue(fiTapEmployee));
scTapEmployee->Text=scTapEmployee->ItemData[cbItem1];
scTapMgr->Text=GetFieldValue(fiTapMgr);
deTapDate->Text=GetFieldValue(fiTapDate);
deTapEdate->Text=GetFieldValue(fiTapEdate);
scTapState->LocateKey(GetFieldValue(fiTapState));
seTapUser->LocateKey(GetFieldValue(fiTapUser));
lbTapSysDate->Caption=GetFieldValue(fiTapSysDate);
seTapORank->LocateKey(GetFieldValue(fiTapORank));
seTapOShop->LocateKey(GetFieldValue(fiTapOShop));
seTapOTeam->LocateKey(GetFieldValue(fiTapOTeam));
scTapNRank->LocateKey(GetFieldValue(fiTapNRank));
scTapNShop->LocateKey(GetFieldValue(fiTapNShop));
scTapNTeam->LocateKey(GetFieldValue(fiTapNTeam));
sgTap->LocateGrid(1,seTapCode->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::SendDataToComObject()
{
if(scTapNRank->Text.IsEmpty())
throw Exception("新職務不能為空");
// if(scTapNShop->Text.IsEmpty())
// throw Exception("新車間不能為空");
// if(scTapNTeam->Text.IsEmpty())
// throw Exception("新班組不能為空");
if(seTapORank->ItemData[cbItem2]==scTapNRank->ItemData[cbItem2]&&
seTapOShop->ItemData[cbItem2]==scTapNShop->ItemData[cbItem2]&&
seTapOTeam->ItemData[cbItem2]==scTapNTeam->ItemData[cbItem2])
throw Exception("該調職單沒意義");
WriteFieldValue(comServer,fiTapCode,WideString(seTapCode->Text));
WriteFieldValue(comServer,fiTapDesc,WideString(memTapDesc->Text));
WriteFieldValue(comServer,fiTapEmployee,WideString(scTapEmployee->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapMgr,WideString(scTapMgr->Text));
WriteFieldValue(comServer,fiTapDate,WideString(deTapDate->Text));
WriteFieldValue(comServer,fiTapEdate,WideString(deTapEdate->Text));
WriteFieldValue(comServer,fiTapState,WideString(scTapState->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapUser,WideString(g_sdUserCode/*lbTapUser->Caption*/));
// WriteFieldValue(comServer,fiTapSysDate,WideString(seTapSysDate->Text));
WriteFieldValue(comServer,fiTapORank,WideString(seTapORank->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapOShop,WideString(seTapOShop->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapOTeam,WideString(seTapOTeam->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapNRank,WideString(scTapNRank->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapNShop,WideString(scTapNShop->ItemData[cbItem2]));
WriteFieldValue(comServer,fiTapNTeam,WideString(scTapNTeam->ItemData[cbItem2]));
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::WaitUserInput()
{
if(seTapCode->Enabled)
seTapCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTap::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue(fiTapCode) +
"\t" + GetFieldValue(fiTapEmployee)+
"\t" + GetFieldValue(fiTapORank)+
"\t" + GetFieldValue(fiTapNRank);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgTap->AddItem(ItemStr);
sgTap->Row=sgTap->RowCount-1;
}
// 修改
else if(mAction == 1)
{
sgTap->ChangeItem(ItemStr,sgTap->Row);
}
// 刪除
else if(mAction == 2)
{
sgTap->RemoveItem(sgTap->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgTap->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgTap->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgTap,sgTap->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,false,true,true, scTapEmployee,scTapEmployee->Name);
ClientGroup->AddComponent(2,false,true,false, seTapCode,seTapCode->Name);
ClientGroup->AddComponent(2,true,true,true, seTapORank,seTapORank->Name);
ClientGroup->AddComponent(2,true,true,true, seTapOShop,seTapOShop->Name);
ClientGroup->AddComponent(2,true,true,true, seTapOTeam,seTapOTeam->Name);
ClientGroup->AddComponent(2,true,true,true, scTapState,scTapState->Name);
FillComboBox(scTapEmployee,"select Employee=EmployeeCode+'|'+EmployeeName,EmployeeCode from sdEmployee","Employee","EmployeeCode");
scTapState->ClearAll();
scTapState->AddItems("預備","1");
scTapState->AddItems("確認","2");
scTapState->AddItems("待下達","3");
scTapState->AddItems("已下達","4");
scTapState->AddItems("已完成","5");
FillEdit(seTapORank,"select RankCode,RankName from sdRank","RankName","RankCode");
FillComboBox(scTapNRank,"select RankCode,RankName from sdRank","RankName","RankCode");
FillEdit(seTapOShop,"Select ShopCode,ShopName,ShopDeptCode from sdShop","ShopName","ShopCode","ShopDeptCode");
FillComboBox(scTapNShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
FillEdit(seTapOTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
FillComboBox(scTapNTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
FillEdit(seTapUser,"select UserCode,UserName from SdUser","UserName","UserCode");
}
//---------------------------------------------------------------------------
__fastcall TfrmTap::TfrmTap(TComponent* Owner)
: TRecBaseForm(Owner,euSdTap,"")
{
AutoCtl=seTapCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::FormShow(TObject *Sender)
{
FillGridWithData();
ClearControl(false);
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::scTapEmployeeClick(TObject *Sender)
{
try
{
WriteFieldValue(comServer,fiTapEmployee,scTapEmployee->ItemData[cbItem2]);
seTapORank->LocateKey(GetFieldValue(fiTapORank));
seTapOShop->LocateKey(GetFieldValue(fiTapOShop));
FillComboBox(scTapNShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+seTapOShop->ItemData[cbItem3]+"'","ShopName","ShopCode");
seTapOTeam->LocateKey(GetFieldValue(fiTapOTeam));
scTapNShopClick(Sender);
}
catch(...)
{
CancelChange();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::sgTapClick(TObject *Sender)
{
if (sgTap->Row > 0)
comServer->LocateByKey(WideString(sgTap->TextMatrix[sgTap->Row][1]));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
{
case euSdEmployee:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTapEmployee->ItemData[cbItem2];
FillComboBox(scTapEmployee,"select Employee=EmployeeCode+'|'+EmployeeName,EmployeeCode from sdEmployee","Employee","EmployeeCode");
scTapEmployee->LocateKey(KeyCode);
}
break;
case euSdRank:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTapNRank->ItemData[cbItem2];
FillComboBox(scTapNRank,"select RankCode,RankName from sdRank","RankName","RankCode");
scTapNRank->LocateKey(KeyCode);
}
break;
case euSdShop:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTapNShop->ItemData[cbItem2];
if(CurrentState==caNormal)
FillComboBox(scTapNShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
else
FillComboBox(scTapNShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+seTapOShop->ItemData[cbItem3]+"'","ShopName","ShopCode");
scTapNShop->LocateKey(KeyCode);
}
break;
case euSdTeam:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scTapNTeam->ItemData[cbItem2];
if(CurrentState==caNormal)
FillComboBox(scTapNTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
else
FillComboBox(scTapNTeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTapNShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
scTapNTeam->LocateKey(KeyCode);
}
break;
}
}
void __fastcall TfrmTap::scTapNShopClick(TObject *Sender)
{
KeyCode=scTapNTeam->ItemData[cbItem2];
FillComboBox(scTapNTeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTapNShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
scTapNTeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::muCancelClick(TObject *Sender)
{
TRecBaseForm::muCancelClick(Sender);
KeyCode=scTapNTeam->ItemData[cbItem2];
FillComboBox(scTapNTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
scTapNTeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::muSaveClick(TObject *Sender)
{
TRecBaseForm::muSaveClick(Sender);
KeyCode=scTapNShop->ItemData[cbItem2];
FillComboBox(scTapNShop,"Select ShopCode,ShopName from sdShop ","ShopName","ShopCode");
scTapNShop->LocateKey(KeyCode);
KeyCode=scTapNTeam->ItemData[cbItem2];
FillComboBox(scTapNTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
scTapNTeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::seTapCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(WideString(seTapCode->Text));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::muEditDetailClick(TObject *Sender)
{
TRecBaseForm::muEditDetailClick(Sender);
KeyCode=scTapNShop->ItemData[cbItem2];
FillComboBox(scTapNShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+seTapOShop->ItemData[cbItem3]+"'","ShopName","ShopCode");
scTapNShop->LocateKey(KeyCode);
scTapNShopClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTap::muAddDetailClick(TObject *Sender)
{
TRecBaseForm::muAddDetailClick(Sender);
scTapNShop->ClearAll();
scTapNTeam->ClearAll();
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -