📄 hmhdl.cpp
字号:
case fiLopLr:
return LopLr;
}
throw Exception("当前字段未定义可取值");
}
//---------------------------------------------------------------------------
void TsdLop::SetFieldValue(euLop sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiLopCode:
LopCode=value;
break;
case fiLopEmployee:
LopEmployee=value;
break;
case fiLopAdate:
LopAdate=value;
break;
case fiLopRdate:
LopRdate=value;
break;
case fiLopLdate:
LopLdate=value;
break;
case fiLopCdate:
LopCdate=value;
break;
case fiLopMgr:
LopMgr=value;
break;
case fiLopState:
LopState=value.ToInt();
break;
case fiLopUser:
LopUser=value;
break;
case fiLopDesc:
LopDesc=value;
break;
case fiLopLr:
LopLr=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdLop::TsdLop(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdLop";
FilterString="";
OrderString="LopCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdLop::TsdLop()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdLop";
FilterString="";
OrderString="LopCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdLop::~TsdLop()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdLop::BackupValue()
{
b_LopCode=m_LopCode;
b_LopEmployee=m_LopEmployee;
b_LopAdate=m_LopAdate;
b_LopRdate=m_LopRdate;
b_LopLdate=m_LopLdate;
b_LopCdate=m_LopCdate;
b_LopMgr=m_LopMgr;
b_LopState=m_LopState;
b_LopUser=m_LopUser;
b_LopSyaDate=m_LopSyaDate;
b_LopDesc=m_LopDesc;
b_LopLr=m_LopLr;
}
//---------------------------------------------------------------------------
void TsdLop::RestoreValue()
{
m_LopCode=b_LopCode;
m_LopEmployee=b_LopEmployee;
m_LopAdate=b_LopAdate;
m_LopRdate=b_LopRdate;
m_LopLdate=b_LopLdate;
m_LopCdate=b_LopCdate;
m_LopMgr=b_LopMgr;
m_LopState=b_LopState;
m_LopUser=b_LopUser;
m_LopSyaDate=b_LopSyaDate;
m_LopDesc=b_LopDesc;
m_LopLr=b_LopLr;
}
//---------------------------------------------------------------------------
void TsdLop::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_LopCode="";
m_LopEmployee="";
m_LopAdate="";
m_LopRdate="";
m_LopLdate="";
m_LopCdate="";
m_LopMgr="";
m_LopState=0;
m_LopUser="";
m_LopSyaDate="";
m_LopDesc="";
m_LopLr="";
break;
case 1:
b_LopCode="";
b_LopEmployee="";
b_LopAdate="";
b_LopRdate="";
b_LopLdate="";
b_LopCdate="";
b_LopMgr="";
b_LopState=0;
b_LopUser="";
b_LopSyaDate="";
b_LopDesc="";
b_LopLr="";
break;
}
}
//---------------------------------------------------------------------------
void TsdLop::BatchLetValue()
{
m_LopCode=m_Query->FieldValues["LopCode"];
m_LopEmployee=m_Query->FieldValues["LopEmployee"];
m_LopAdate=m_Query->FieldValues["LopAdate"];
m_LopRdate=m_Query->FieldValues["LopRdate"];
m_LopLdate=m_Query->FieldValues["LopLdate"];
m_LopCdate=m_Query->FieldValues["LopCdate"];
m_LopMgr=m_Query->FieldValues["LopMgr"];
m_LopState=m_Query->FieldValues["LopState"];
m_LopUser=m_Query->FieldValues["LopUser"];
m_LopSyaDate=m_Query->FieldValues["LopSyaDate"];
m_LopDesc=m_Query->FieldValues["LopDesc"];
m_LopLr=m_Query->FieldValues["LopLr"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdLop::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_LopCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdLop_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@LopCode",ftString,pdInputOutput,18,m_LopCode);
m_StoredProc->Parameters->CreateParameter("@LopEmployee",ftString,pdInput,18,m_LopEmployee);
m_StoredProc->Parameters->CreateParameter("@LopAdate",ftString,pdInput,10,m_LopAdate);
m_StoredProc->Parameters->CreateParameter("@LopRdate",ftString,pdInput,10,m_LopRdate);
m_StoredProc->Parameters->CreateParameter("@LopLdate",ftString,pdInput,10,m_LopLdate);
m_StoredProc->Parameters->CreateParameter("@LopCdate",ftString,pdInput,10,m_LopCdate);
m_StoredProc->Parameters->CreateParameter("@LopMgr",ftString,pdInput,18,m_LopMgr);
m_StoredProc->Parameters->CreateParameter("@LopState",ftInteger,pdInput,1,m_LopState);
m_StoredProc->Parameters->CreateParameter("@LopUser",ftString,pdInput,18,m_LopUser);
m_StoredProc->Parameters->CreateParameter("@LopSyaDate",ftString,pdOutput,30,m_LopSyaDate);
m_StoredProc->Parameters->CreateParameter("@LopDesc",ftString,pdInput,40,m_LopDesc);
m_StoredProc->Parameters->CreateParameter("@LopLr",ftString,pdInput,18,m_LopLr);
m_StoredProc->ExecProc();
m_LopCode=m_StoredProc->Parameters->ParamValues["@LopCode"];
m_LopSyaDate=m_StoredProc->Parameters->ParamValues["@LopSyaDate"];
}
else
{
m_StoredProc->ProcedureName="sdLop_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_LopCode",ftString,pdInput,18,b_LopCode);
m_StoredProc->Parameters->CreateParameter("@LopCode",ftString,pdInput,18,m_LopCode);
m_StoredProc->Parameters->CreateParameter("@LopEmployee",ftString,pdInput,18,m_LopEmployee);
m_StoredProc->Parameters->CreateParameter("@LopAdate",ftString,pdInput,10,m_LopAdate);
m_StoredProc->Parameters->CreateParameter("@LopRdate",ftString,pdInput,10,m_LopRdate);
m_StoredProc->Parameters->CreateParameter("@LopLdate",ftString,pdInput,10,m_LopLdate);
m_StoredProc->Parameters->CreateParameter("@LopCdate",ftString,pdInput,10,m_LopCdate);
m_StoredProc->Parameters->CreateParameter("@LopMgr",ftString,pdInput,18,m_LopMgr);
m_StoredProc->Parameters->CreateParameter("@LopState",ftInteger,pdInput,1,m_LopState);
m_StoredProc->Parameters->CreateParameter("@LopUser",ftString,pdInput,18,m_LopUser);
m_StoredProc->Parameters->CreateParameter("@LopSyaDate",ftString,pdOutput,30,m_LopSyaDate);
m_StoredProc->Parameters->CreateParameter("@LopDesc",ftString,pdInput,40,m_LopDesc);
m_StoredProc->Parameters->CreateParameter("@LopLr",ftString,pdInput,18,m_LopLr);
m_StoredProc->ExecProc();
m_LopSyaDate=m_StoredProc->Parameters->ParamValues["@LopSyaDate"];
}
m_StoredProc->Close();
TsdLop *p=new TsdLop();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->LopCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->LopCode,this->b_LopCode);
}
}
//---------------------------------------------------------------------------
void TsdLop::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_LopCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdLop_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_LopCode",ftString,pdInput,18,b_LopCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_LopCode);
}
//---------------------------------------------------------------------------
void TsdLop::Assign(TsdLop *p)
{
this->SetActionID(p->CurStatus);
this->m_LopCode=p->m_LopCode;
this->m_LopEmployee=p->m_LopEmployee;
this->m_LopAdate=p->m_LopAdate;
this->m_LopRdate=p->m_LopRdate;
this->m_LopLdate=p->m_LopLdate;
this->m_LopCdate=p->m_LopCdate;
this->m_LopMgr=p->m_LopMgr;
this->m_LopState=p->m_LopState;
this->m_LopUser=p->m_LopUser;
this->m_LopSyaDate=p->m_LopSyaDate;
this->m_LopDesc=p->m_LopDesc;
this->m_LopLr=p->m_LopLr;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdLop::AssignValue()
{
TsdLop *p=(TsdLop *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdLop::Query()
{
AnsiString m_SqlStr;
m_SqlStr=QueryString;
if(FilterString.IsEmpty()==false)
m_SqlStr=m_SqlStr+" where "+FilterString;
if(OrderString.IsEmpty()==false)
m_SqlStr=m_SqlStr+" Order by "+OrderString;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
ClearRecord();
if(m_Query->RecordCount>0)
{
m_Query->First();
while(!m_Query->Eof)
{
BatchLetValue();
TsdLop *p=new TsdLop();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->LopCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdLop::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdLop where "+WhereStr;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
if(m_Query->RecordCount!=1)
{
m_Query->Close();
return false;
}
else
{
BatchLetValue();
m_Query->Close();
return true;
}
}
//**************************************
// TsdWage
//**************************************
//--------------------------------------------------------------
void __fastcall TsdWage:: SetWageFmonth(AnsiString value)
{
if(value.IsEmpty())
throw Exception("财务月份不能为空!");
if(value!=m_WageFmonth)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select FcMonth from sdfc where FcMonth='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("该财务月份'"+value+"'未定义");
}
m_Query->Close();
m_WageFmonth=value;
}
}
void __fastcall TsdWage:: SetWageEmployee(AnsiString value)
{
if(value.IsEmpty())
throw Exception("员工编号不能为空!");
if(value!=m_WageEmployee)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select EmployeeCode from sdEmployee where EmployeeCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("该员工号'"+value+"'不存在");
}
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdWage where WageFmonth='"+m_WageFmonth+"' and WageEmployee='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("该员工号'"+value+"'在财务月份'"+m_WageFmonth+"'的工资记录已存在");
}
m_Query->Close();
m_WageEmployee=value;
}
}
void __fastcall TsdWage:: SetWageFix(double value)
{
if(value<0)
throw Exception("固定工资需大于等于零");
if(value!=m_WageFix)
{
m_WageFix=value;
m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -