timework.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 261 行
CPP
261 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "TimeWork.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmTimeWork *frmTimeWork;
//---------------------------------------------------------------------------
__fastcall TfrmTimeWork::TfrmTimeWork(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
IsUserCheck=true;
ClearControl(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::InitEditControl()
{
FillComboBox(Query,scTimeWorkItem,"select TimeItemName,TimeItemCode from ksTimeItem","TimeItemName","TimeItemCode");
FillEdit(Query,seTimeWorkEmployee,"select EmployeeName=EmployeeCode+'('+EmployeeName+')',EmployeeCode from sdEmployee order by EmployeeCode",
"EmployeeName","EmployeeCode");
FillEdit(Query,seTimeWorkDept,"select DeptCode,DeptName from sdDept order by DeptCode","DeptName","DeptCode");
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgTimeWork,sgTimeWork->Name);
ClientGroup->AddComponent(2,true,true,true, seTimeWorkDept,seTimeWorkDept->Name);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seTimeWorkCode->Text ="";
sdTimeWorkDate->Text =g_sdCurDate;
seTimeWorkEmployee->Text ="";
seTimeWorkDept->Text ="";
scTimeWorkItem->ItemIndex =-1;
sdTimeWorkSDate->Text =g_sdCurDate;
sdTimeWorkEDate->Text =g_sdCurDate;
seTimeWorkQty->Text ="";
labTimeWorkUser->Caption =g_sdUserCode;
chkTimeWorkCheck->Checked =false;
labTimeWorkChecker->Caption="";
labTimeWorkCheckDate->Caption="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::GetDataFromComObject()
{
seTimeWorkCode->Text=GetFieldValue("TimeWorkCode");
sgTimeWork->LocateGrid(0,seTimeWorkCode->Text);
sdTimeWorkDate->Text=GetFieldValue("TimeWorkDate");
seTimeWorkEmployee->LocateKey(GetFieldValue("TimeWorkEmployee"));
seTimeWorkDept->LocateKey(GetFieldValue("TimeWorkDept"));
scTimeWorkItem->LocateKey(GetFieldValue("TimeWorkItem"));
sdTimeWorkSDate->Text=GetFieldValue("TimeWorkSDate");
sdTimeWorkEDate->Text=GetFieldValue("TimeWorkEDate");
seTimeWorkQty->Text=GetFieldValue("TimeWorkQty");
chkTimeWorkCheck->Checked=(GetFieldValue("TimeWorkCheck")==1)? true: false;
if(chkTimeWorkCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
labTimeWorkChecker->Caption=GetFieldValue("TimeWorkChecker");
labTimeWorkCheckDate->Caption=GetFieldValue("TimeWorkCheckDate");
labTimeWorkUser->Caption =GetFieldValue("TimeWorkUser");
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::SendDataToComObject()
{
SetFieldValue("TimeWorkCode",seTimeWorkCode->Text);
SetFieldValue("TimeWorkDate",sdTimeWorkDate->Text);
SetFieldValue("TimeWorkEmployee",WideString(seTimeWorkEmployee->ItemData[cbItem2]));
SetFieldValue("TimeWorkDept",WideString(seTimeWorkDept->ItemData[cbItem2]));
SetFieldValue("TimeWorkItem",WideString(scTimeWorkItem->ItemData[cbItem2]));
SetFieldValue("TimeWorkSDate",sdTimeWorkSDate->Text);
SetFieldValue("TimeWorkEDate",sdTimeWorkEDate->Text);
SetFieldValue("TimeWorkQty",StrToFloat(seTimeWorkQty->Text));
SetFieldValue("TimeWorkUser",labTimeWorkUser->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::WaitUserInput()
{
seTimeWorkCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTimeWork::GetDataToGrid()
{
AnsiString s;
s = GetFieldValue("TimeWorkCode")+
"\t" +GetFieldValue("TimeWorkEmployee")+
"\t" +GetFieldValue("TimeWorkDept")+
"\t" +GetFieldValue("TimeWorkItem")+
"\t" +GetFieldValue("TimeWorkQty");
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgTimeWork->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgTimeWork->Row;
sgTimeWork->RemoveItem(i);
sgTimeWork->AddItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgTimeWork->RemoveItem(sgTimeWork->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgTimeWork->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgTimeWork->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
switch(MsgSrc)
{
case euSdFc:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Query,scFaDecFmonth,"select Fcmonth from sdfc order By fcmonth","fcmonth");
break;
case euSdFadn:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillEdit(Query,seFaDecFadn,"select fadncode,fadnname from sdfadn order By fadncode","fadncode","fadnname");
break;
case euSdFav:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Query,scFaDecFav,"select favcode ,favname from sdfav where favtype='2' order By favcode","favName","favcode");
break;
default:
break;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::seTimeWorkCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(seTimeWorkCode->Text);
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::sgTimeWorkClick(TObject *Sender)
{
if (sgTimeWork->Row > 0)
comServer->LocateByKey(sgTimeWork->TextMatrix[sgTimeWork->Row][0]);
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::seTimeWorkEmployeeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
SqlStr="003[员工代码][员工名称][员工部门]select Employeecode, Employeename,EmployeeDept from sdEmployee order by Employeecode ";
try{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"员工资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seTimeWorkEmployee->LocateKey(p->ColData[1]);
seTimeWorkDept->LocateKey(p->ColData[3]);
}
delete p;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmTimeWork::BeforeCheck()
{
SetFieldValue("TimeWorkCheck",1);
SetFieldValue("TimeWorkChecker",g_sdUserCode);
SetFieldValue("TimeWorkCheckDate",g_sdCurDate);
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmTimeWork::BeforeUnCheck()
{
SetFieldValue("TimeWorkCheck",0);
SetFieldValue("TimeWorkChecker","");
SetFieldValue("TimeWorkCheckDate",NULL);
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::CalculateDate()
{
TDateTime SDate,EDate;
int DQty;
SDate=StrToDate(sdTimeWorkSDate->Text);
EDate=StrToDate(sdTimeWorkEDate->Text);
DQty=EDate-SDate;
seTimeWorkQty->Text=IntToStr(DQty);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTimeWork::sdTimeWorkEDateExit(TObject *Sender)
{
CalculateDate();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?