📄 hmhdl.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#define _YW_SDERP_DLL
#include "Hmhdl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//**************************************
// TsdTransfer
//**************************************
//--------------------------------------------------------------
void __fastcall TsdTransfer:: SetTransferCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("调动单号不能为空");
if(value.UpperCase()!=m_TransferCode.UpperCase())
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select TransferCode from sdTransfer where TransferCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount >0)
{
m_Query->Close();
throw Exception("该调动单号'"+value+"'已存在");
}
m_Query->Close();
}
m_TransferCode=value;
}
void __fastcall TsdTransfer:: SetTransferEmployee(AnsiString value)
{
if(value.IsEmpty())
throw Exception("员工号不能为空");
if(value!=m_TransferEmployee)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select EmployeeCode,EmployeeDept,EmployeeShop,EmployeeTeam from sdEmployee where EmployeeCode='"+value+"' and EmployeeState=0");
m_Query->Open();
if(m_Query->RecordCount <1)
{
m_Query->Close();
throw Exception("该员工'"+value+"'不存在或已离职");
}
m_TransferODept=m_Query->FieldValues["EmployeeDept"];
m_TransferOShop=m_Query->FieldValues["EmployeeShop"];
m_TransferTeam=m_Query->FieldValues["EmployeeTeam"];
m_Query->Close();
m_TransferEmployee=value;
}
}
void __fastcall TsdTransfer:: SetTransferDate(AnsiString value)
{
if(value.IsEmpty())
throw Exception("制单日期不能为空");
if(Validate(value)>FormatDateTime("YYYY-MM-DD",Date()))
throw Exception("制单日期不能在系统日期之后");
m_TransferDate=Validate(value);
}
void __fastcall TsdTransfer:: SetTransferEdate(AnsiString value)
{
if(value.IsEmpty())
throw Exception("生效日期不能为空");
if(Validate(value)<m_TransferDate)
throw Exception("生效日期不可能在制单日期之前");
m_TransferEdate=Validate(value);
}
void __fastcall TsdTransfer:: SetTransferODept(AnsiString value)
{
if(value.IsEmpty())
throw Exception("原部门不能为空");
m_TransferODept=value;
}
void __fastcall TsdTransfer:: SetTransferOShop(AnsiString value)
{
m_TransferOShop=value;
}
void __fastcall TsdTransfer:: SetTransferTeam(AnsiString value)
{
m_TransferTeam=value;
}
void __fastcall TsdTransfer:: SetTransIDept(AnsiString value)
{
if(value.IsEmpty())
throw Exception("新部门不能为空");
m_TransIDept=value;
}
void __fastcall TsdTransfer:: SetTransferIShop(AnsiString value)
{
if(!value.IsEmpty()&&value!=m_TransferIShop)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdShop where ShopDeptCode='"+m_TransIDept+"' and ShopCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("该部门"+m_TransIDept+"没有编号为:"+value+"的车间!");
}
m_Query->Close();
}
m_TransferIShop=value;
}
void __fastcall TsdTransfer:: SetTransferITeam(AnsiString value)
{
if(!value.IsEmpty()&&value!=m_TransferITeam)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdTeam where TeamShopCode='"+m_TransferIShop+"' and TeamCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("该车间"+m_TransferIShop+"没有编号为:"+value+"的班组!");
}
m_Query->Close();
}
m_TransferITeam=value;
}
void __fastcall TsdTransfer:: SetTransState(int value)
{
if(value<0||value>5)
throw Exception("调动单状态非法");
m_TransState=value;
}
void __fastcall TsdTransfer:: SetTransferDesc(AnsiString value)
{
m_TransferDesc=value;
}
void __fastcall TsdTransfer:: SetTransferUser(AnsiString value)
{
m_TransferUser=value;
}
void __fastcall TsdTransfer:: SetTransferMgr(AnsiString value)
{
if(value.IsEmpty())
throw Exception("主管不能为空");
m_TransferMgr=value;
}
//---------------------------------------------------------------------------
AnsiString TsdTransfer::GetFieldValue(euTransfer sdFieldName)
{
switch(sdFieldName)
{
case fiTransferCode:
return TransferCode;
case fiTransferEmployee:
return TransferEmployee;
case fiTransferDate:
return TransferDate;
case fiTransferEdate:
return TransferEdate;
case fiTransferODept:
return TransferODept;
case fiTransferOShop:
return TransferOShop;
case fiTransferTeam:
return TransferTeam;
case fiTransIDept:
return TransIDept;
case fiTransferIShop:
return TransferIShop;
case fiTransferITeam:
return TransferITeam;
case fiTransState:
return TransState;
case fiTransferDesc:
return TransferDesc;
case fiTransferUser:
return TransferUser;
case fiTransferMgr:
return TransferMgr;
case fiTransferSysDate:
return TransferSysDate;
}
throw Exception("当前字段未定义可取值");
}
//---------------------------------------------------------------------------
void TsdTransfer::SetFieldValue(euTransfer sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiTransferCode:
TransferCode=value;
break;
case fiTransferEmployee:
TransferEmployee=value;
break;
case fiTransferDate:
TransferDate=value;
break;
case fiTransferEdate:
TransferEdate=value;
break;
case fiTransferODept:
TransferODept=value;
break;
case fiTransferOShop:
TransferOShop=value;
break;
case fiTransferTeam:
TransferTeam=value;
break;
case fiTransIDept:
TransIDept=value;
break;
case fiTransferIShop:
TransferIShop=value;
break;
case fiTransferITeam:
TransferITeam=value;
break;
case fiTransState:
TransState=value.ToInt();
break;
case fiTransferDesc:
TransferDesc=value;
break;
case fiTransferUser:
TransferUser=value;
break;
case fiTransferMgr:
TransferMgr=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdTransfer::TsdTransfer(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdTransfer";
FilterString="";
OrderString="TransferCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdTransfer::TsdTransfer()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdTransfer";
FilterString="";
OrderString="TransferCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdTransfer::~TsdTransfer()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdTransfer::BackupValue()
{
b_TransferCode=m_TransferCode;
b_TransferEmployee=m_TransferEmployee;
b_TransferDate=m_TransferDate;
b_TransferEdate=m_TransferEdate;
b_TransferODept=m_TransferODept;
b_TransferOShop=m_TransferOShop;
b_TransferTeam=m_TransferTeam;
b_TransIDept=m_TransIDept;
b_TransferIShop=m_TransferIShop;
b_TransferITeam=m_TransferITeam;
b_TransState=m_TransState;
b_TransferDesc=m_TransferDesc;
b_TransferUser=m_TransferUser;
b_TransferMgr=m_TransferMgr;
b_TransferSysDate=m_TransferSysDate;
}
//---------------------------------------------------------------------------
void TsdTransfer::RestoreValue()
{
m_TransferCode=b_TransferCode;
m_TransferEmployee=b_TransferEmployee;
m_TransferDate=b_TransferDate;
m_TransferEdate=b_TransferEdate;
m_TransferODept=b_TransferODept;
m_TransferOShop=b_TransferOShop;
m_TransferTeam=b_TransferTeam;
m_TransIDept=b_TransIDept;
m_TransferIShop=b_TransferIShop;
m_TransferITeam=b_TransferITeam;
m_TransState=b_TransState;
m_TransferDesc=b_TransferDesc;
m_TransferUser=b_TransferUser;
m_TransferMgr=b_TransferMgr;
m_TransferSysDate=b_TransferSysDate;
}
//---------------------------------------------------------------------------
void TsdTransfer::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_TransferCode="";
m_TransferEmployee="";
m_TransferDate="";
m_TransferEdate="";
m_TransferODept="";
m_TransferOShop="";
m_TransferTeam="";
m_TransIDept="";
m_TransferIShop="";
m_TransferITeam="";
m_TransState=0;
m_TransferDesc="";
m_TransferUser="";
m_TransferMgr="";
m_TransferSysDate="";
break;
case 1:
b_TransferCode="";
b_TransferEmployee="";
b_TransferDate="";
b_TransferEdate="";
b_TransferODept="";
b_TransferOShop="";
b_TransferTeam="";
b_TransIDept="";
b_TransferIShop="";
b_TransferITeam="";
b_TransState=0;
b_TransferDesc="";
b_TransferUser="";
b_TransferMgr="";
b_TransferSysDate="";
break;
}
}
//---------------------------------------------------------------------------
void TsdTransfer::BatchLetValue()
{
m_TransferCode=m_Query->FieldValues["TransferCode"];
m_TransferEmployee=m_Query->FieldValues["TransferEmployee"];
m_TransferDate=m_Query->FieldValues["TransferDate"];
m_TransferEdate=m_Query->FieldValues["TransferEdate"];
m_TransferODept=m_Query->FieldValues["TransferODept"];
m_TransferOShop=m_Query->FieldValues["TransferOShop"];
m_TransferTeam=m_Query->FieldValues["TransferTeam"];
m_TransIDept=m_Query->FieldValues["TransIDept"];
m_TransferIShop=m_Query->FieldValues["TransferIShop"];
m_TransferITeam=m_Query->FieldValues["TransferITeam"];
m_TransState=m_Query->FieldValues["TransState"];
m_TransferDesc=m_Query->FieldValues["TransferDesc"];
m_TransferUser=m_Query->FieldValues["TransferUser"];
m_TransferMgr=m_Query->FieldValues["TransferMgr"];
m_TransferSysDate=m_Query->FieldValues["TransferSysDate"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdTransfer::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_TransferCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdTransfer_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@TransferCode",ftString,pdInputOutput,18,m_TransferCode);
m_StoredProc->Parameters->CreateParameter("@TransferEmployee",ftString,pdInput,18,m_TransferEmployee);
m_StoredProc->Parameters->CreateParameter("@TransferDate",ftString,pdInput,10,m_TransferDate);
m_StoredProc->Parameters->CreateParameter("@TransferEdate",ftString,pdInput,10,m_TransferEdate);
m_StoredProc->Parameters->CreateParameter("@TransferODept",ftString,pdInput,18,m_TransferODept);
m_StoredProc->Parameters->CreateParameter("@TransferOShop",ftString,pdInput,18,m_TransferOShop);
m_StoredProc->Parameters->CreateParameter("@TransferTeam",ftString,pdInput,18,m_TransferTeam);
m_StoredProc->Parameters->CreateParameter("@TransIDept",ftString,pdInput,18,m_TransIDept);
m_StoredProc->Parameters->CreateParameter("@TransferIShop",ftString,pdInput,18,m_TransferIShop);
m_StoredProc->Parameters->CreateParameter("@TransferITeam",ftString,pdInput,18,m_TransferITeam);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -