wageitem.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 252 行
CPP
252 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "WageItem.h"
#include "WageItemF.h"
//#include "FadmF.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmWageItem *frmWageItem;
//---------------------------------------------------------------------------
__fastcall TfrmWageItem::TfrmWageItem(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgWageItem,sgWageItem->Name);
ClientGroup->AddComponent(2,false,false,false, seWageItemCode,seWageItemCode->Name);
// ClientGroup->AddComponent(2,false,false,false, seWageItemNO,seWageItemNO->Name);
// ClientGroup->AddComponent(2,true,false,true,seWageItemFormula,seWageItemFormula->Name);
ClientGroup->AddComponent(2,false,false,true,seWageItemFormula,seWageItemFormula->Name);
// scWageItemType->AddItems("1-固定项目",1);
// scWageItemType->AddItems("2-客户定义项目",2);
scWageItemInPut->AddItems("1-输入项目",1);
scWageItemInPut->AddItems("2-计算项目",2);
// scWageItemType->AddItems("减项项目",3);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seWageItemCode->Text="";
seWageItemNO->Text="";
scWageItemInPut->ItemIndex=-1;
seWageItemType->Text="";
seWageItemFormula->Text="";
seWageItemFrName->Text="";
seWageItemName->Text ="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::GetDataFromComObject()
{
seWageItemCode->Text=GetFieldValue("WageItemCode");
seWageItemNO->Text=GetFieldValue("WageItemNO");
sgWageItem->LocateGrid(1,seWageItemCode->Text);
scWageItemInPut->LocateKey(GetFieldValue("WageItemInPut"));
scWageItemInPut->Text=scWageItemInPut->ItemData[0];
seWageItemType->Text=GetFieldValue("WageItemType");
seWageItemFormula->Text=GetFieldValue("WageItemFormula");
seWageItemFrName->Text=GetFieldValue("WageItemFrName");
seWageItemName->Text=GetFieldValue("WageItemName");
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::SendDataToComObject()
{
if(scWageItemInPut->Text.IsEmpty())
throw(Exception("项目类型不能为空!"));
if(seWageItemNO->Text.IsEmpty())
throw(Exception("项目序号不能为空!"));
SetFieldValue("WageItemCode",seWageItemCode->Text);
SetFieldValue("WageItemNO",seWageItemNO->Text);
SetFieldValue("WageItemInPut",scWageItemInPut->ItemData[1]);
SetFieldValue("WageItemType",seWageItemType->Text);
SetFieldValue("WageItemFormula",seWageItemFormula->Text);
SetFieldValue("WageItemFrName",seWageItemFrName->Text);
SetFieldValue("WageItemName",seWageItemName->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::WaitUserInput()
{
// seWageItemCode->SetFocus();
seWageItemName->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWageItem::GetDataToGrid()
{
AnsiString s;
scWageItemInPut->LocateKey(GetFieldValue("WageItemInPut"));
s = "\t" + GetFieldValue("WageItemCode")+
"\t" + GetFieldValue("WageItemName")+
"\t" + scWageItemInPut->ItemData[0];
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgWageItem->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgWageItem->Row;
sgWageItem->RemoveItem(i);
sgWageItem->AddItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgWageItem->RemoveItem(sgWageItem->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgWageItem->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgWageItem->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::scWageItemTypeClick(TObject *Sender)
{
// seWageItemFormula->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::muEditDetailClick(TObject *Sender)
{
int i;
TRecBaseForm::muEditDetailClick(Sender);
// seWageItemFormula->Enabled=true;
/* if(scWageItemType->Text=="折旧额")
{
seWageItemVFormula->Enabled=true;
seWageItemRFormula->Enabled=false;
seWageItemRFormula->Text="";
}
else
{
seWageItemRFormula->Enabled=true;
seWageItemVFormula->Enabled=false;
seWageItemVFormula->Text="";
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::seWageItemFrNameButtonClick(TObject *Sender)
{
TfrmWageItemF *TempWageItemF= new TfrmWageItemF(this,seWageItemFormula->Text,seWageItemFrName->Text);
TempWageItemF->GroupBox1->Caption="工资项目公式";
TempWageItemF->Caption="工资项目公式";
TempWageItemF->ShowModal();
if(TempWageItemF->WageItemFSure)
{
seWageItemFrName->Text=TempWageItemF->WageItemFResultName;
seWageItemFormula->Text=TempWageItemF->WageItemFResultCode;
}
delete TempWageItemF;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::seWageItemCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
/* if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(seWageItemCode->Text);
GetDataFromComObject();
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::sgWageItemClick(TObject *Sender)
{
if (sgWageItem->Row > 0)
comServer->LocateByKey(sgWageItem->TextMatrix[sgWageItem->Row][1]);
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::muAddDetailClick(TObject *Sender)
{
TRecBaseForm::AddDetailRecord();
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
AnsiString WageItemCoden;
int Qcount;
// sSql="select wageitemcode from kswageitem order by wageitemcode"; //取Head查询的SQL语句
sSql="select wageitemcode from kswageitem "; //取Head查询的SQL语句
RsQuery=new TComResultSet(Handle,g_ClientHandle);
RsQuery->Open(sSql,"");
Qcount = RsQuery->RecordCount ;
if (Qcount >= 30)
throw(Exception("工资项目不能超过30项!"));
RsQuery->MoveFirst();
WageItemCoden="" ;
while(RsQuery->Eof == 0)
{
WageItemCoden=WageItemCoden + RsQuery->FieldByName("WageItemCode")+",";
RsQuery->MoveNext();
}
RsQuery->MoveFirst();
itemi=0;
while(Qcount >= itemi )
{
itemi++;
ItemStr= "WageItem" + IntToStr(itemi)+',';
if (WageItemCoden.Pos(ItemStr)==0)
break;
}
RsQuery->Close();
delete RsQuery;
seWageItemCode->Text = "WageItem"+IntToStr(itemi);
// scWageItemType->Text = scWageItemType->ItemData[2] ;
seWageItemType->Text = "2" ;
seWageItemCode->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItem::muSaveClick(TObject *Sender)
{
TRecBaseForm::muSaveClick(Sender);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?