📄 hmhdl.cpp
字号:
}
}
void __fastcall TsdWage:: SetWageBorus(double value)
{
if(value<0)
throw Exception("奖金需大于等于零");
if(m_WageBorus!=value)
{
m_WageBorus=value;
m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;
}
}
void __fastcall TsdWage:: SetWageAnce(double value)
{
if(value<0)
throw Exception("津贴需大于等于零");
if(value!=m_WageAnce)
{
m_WageAnce=value;
m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;
}
}
void __fastcall TsdWage:: SetWageOther(double value)
{
if(value<0)
throw Exception("其他需大于等于零");
if(value!=m_WageOther)
{
m_WageOther=value;
m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;
}
}
void __fastcall TsdWage:: SetWagePiece(double value)
{
if(value<0)
throw Exception("计件工资需大于等于零");
if(value!=m_WagePiece)
{
m_WagePiece=value;
m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;
}
}
void __fastcall TsdWage:: SetWageLab(double value)
{
if(value<0)
throw Exception("计时工资需大于等于零");
if(value!=m_WageLab)
{
m_WageLab=value;
m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;
}
}
void __fastcall TsdWage:: SetWageTax(double value)
{
if(value<0)
throw Exception("税金需大于等于零");
m_WageTax=value;
}
//---------------------------------------------------------------------------
AnsiString TsdWage::GetFieldValue(euWage sdFieldName)
{
switch(sdFieldName)
{
case fiWageFmonth:
return WageFmonth;
case fiWageEmployee:
return WageEmployee;
case fiWageFix:
return FormatFloat("0.00",WageFix);
case fiWageBorus:
return FormatFloat("0.00",WageBorus);
case fiWageAnce:
return FormatFloat("0.00",WageAnce);
case fiWageOther:
return FormatFloat("0.00",WageOther);
case fiWagePiece:
return FormatFloat("0.00",WagePiece);
case fiWageLab:
return FormatFloat("0.00",WageLab);
case fiWageTax:
return FormatFloat("0.00",WageTax);
case fiWageSum:
return FormatFloat("0.00",WageSum);
}
throw Exception("当前字段未定义可取值");
}
//---------------------------------------------------------------------------
void TsdWage::SetFieldValue(euWage sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiWageFmonth:
WageFmonth=value;
break;
case fiWageEmployee:
WageEmployee=value;
break;
case fiWageFix:
WageFix=value.ToDouble();
break;
case fiWageBorus:
WageBorus=value.ToDouble();
break;
case fiWageAnce:
WageAnce=value.ToDouble();
break;
case fiWageOther:
WageOther=value.ToDouble();
break;
case fiWagePiece:
WagePiece=value.ToDouble();
break;
case fiWageLab:
WageLab=value.ToDouble();
break;
case fiWageTax:
WageTax=value.ToDouble();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdWage::TsdWage(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdWage";
FilterString="";
OrderString="WageFmonth,WageEmployee";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdWage::TsdWage()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdWage";
FilterString="";
OrderString="WageFmonth,WageEmployee";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdWage::~TsdWage()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdWage::BackupValue()
{
b_WageFmonth=m_WageFmonth;
b_WageEmployee=m_WageEmployee;
b_WageFix=m_WageFix;
b_WageBorus=m_WageBorus;
b_WageAnce=m_WageAnce;
b_WageOther=m_WageOther;
b_WagePiece=m_WagePiece;
b_WageLab=m_WageLab;
b_WageTax=m_WageTax;
b_WageSum=m_WageSum;
}
//---------------------------------------------------------------------------
void TsdWage::RestoreValue()
{
m_WageFmonth=b_WageFmonth;
m_WageEmployee=b_WageEmployee;
m_WageFix=b_WageFix;
m_WageBorus=b_WageBorus;
m_WageAnce=b_WageAnce;
m_WageOther=b_WageOther;
m_WagePiece=b_WagePiece;
m_WageLab=b_WageLab;
m_WageTax=b_WageTax;
m_WageSum=b_WageSum;
}
//---------------------------------------------------------------------------
void TsdWage::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_WageFmonth="";
m_WageEmployee="";
m_WageFix=0;
m_WageBorus=0;
m_WageAnce=0;
m_WageOther=0;
m_WagePiece=0;
m_WageLab=0;
m_WageTax=0;
m_WageSum=0;
break;
case 1:
b_WageFmonth="";
b_WageEmployee="";
b_WageFix=0;
b_WageBorus=0;
b_WageAnce=0;
b_WageOther=0;
b_WagePiece=0;
b_WageLab=0;
b_WageTax=0;
b_WageSum=0;
break;
}
}
//---------------------------------------------------------------------------
void TsdWage::BatchLetValue()
{
m_WageFmonth=m_Query->FieldValues["WageFmonth"];
m_WageEmployee=m_Query->FieldValues["WageEmployee"];
m_WageFix=m_Query->FieldValues["WageFix"];
m_WageBorus=m_Query->FieldValues["WageBorus"];
m_WageAnce=m_Query->FieldValues["WageAnce"];
m_WageOther=m_Query->FieldValues["WageOther"];
m_WagePiece=m_Query->FieldValues["WagePiece"];
m_WageLab=m_Query->FieldValues["WageLab"];
m_WageTax=m_Query->FieldValues["WageTax"];
m_WageSum=m_Query->FieldValues["WageSum"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdWage::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_WageFmonth.IsEmpty()==true)
throw Exception("财务月份不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdWage_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@WageFmonth",ftString,pdInput,6,m_WageFmonth);
m_StoredProc->Parameters->CreateParameter("@WageEmployee",ftString,pdInput,18,m_WageEmployee);
m_StoredProc->Parameters->CreateParameter("@WageFix",ftFloat,pdInput,12,m_WageFix);
m_StoredProc->Parameters->CreateParameter("@WageBorus",ftFloat,pdInput,12,m_WageBorus);
m_StoredProc->Parameters->CreateParameter("@WageAnce",ftFloat,pdInput,12,m_WageAnce);
m_StoredProc->Parameters->CreateParameter("@WageOther",ftFloat,pdInput,12,m_WageOther);
m_StoredProc->Parameters->CreateParameter("@WagePiece",ftFloat,pdInput,12,m_WagePiece);
m_StoredProc->Parameters->CreateParameter("@WageLab",ftFloat,pdInput,12,m_WageLab);
m_StoredProc->Parameters->CreateParameter("@WageTax",ftFloat,pdInput,12,m_WageTax);
m_StoredProc->Parameters->CreateParameter("@WageSum",ftFloat,pdInput,12,m_WageSum);
m_StoredProc->ExecProc();
}
else
{
m_StoredProc->ProcedureName="sdWage_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_WageFmonth",ftString,pdInput,6,b_WageFmonth);
m_StoredProc->Parameters->CreateParameter("@W_WageEmployee",ftString,pdInput,18,b_WageEmployee);
m_StoredProc->Parameters->CreateParameter("@WageFmonth",ftString,pdInput,6,m_WageFmonth);
m_StoredProc->Parameters->CreateParameter("@WageEmployee",ftString,pdInput,18,m_WageEmployee);
m_StoredProc->Parameters->CreateParameter("@WageFix",ftFloat,pdInput,12,m_WageFix);
m_StoredProc->Parameters->CreateParameter("@WageBorus",ftFloat,pdInput,12,m_WageBorus);
m_StoredProc->Parameters->CreateParameter("@WageAnce",ftFloat,pdInput,12,m_WageAnce);
m_StoredProc->Parameters->CreateParameter("@WageOther",ftFloat,pdInput,12,m_WageOther);
m_StoredProc->Parameters->CreateParameter("@WagePiece",ftFloat,pdInput,12,m_WagePiece);
m_StoredProc->Parameters->CreateParameter("@WageLab",ftFloat,pdInput,12,m_WageLab);
m_StoredProc->Parameters->CreateParameter("@WageTax",ftFloat,pdInput,12,m_WageTax);
m_StoredProc->Parameters->CreateParameter("@WageSum",ftFloat,pdInput,12,m_WageSum);
m_StoredProc->ExecProc();
}
m_StoredProc->Close();
TsdWage *p=new TsdWage();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->WageFmonth+p->WageEmployee);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->WageFmonth+p->WageEmployee,this->WageFmonth+this->b_WageEmployee);
}
}
//---------------------------------------------------------------------------
void TsdWage::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_WageFmonth.IsEmpty()||m_WageEmployee.IsEmpty())
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdWage_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_WageFmonth",ftString,pdInput,6,b_WageFmonth);
m_StoredProc->Parameters->CreateParameter("@W_WageEmployee",ftString,pdInput,18,b_WageEmployee);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_WageFmonth+this->b_WageEmployee);
}
//---------------------------------------------------------------------------
void TsdWage::Assign(TsdWage *p)
{
this->SetActionID(p->CurStatus);
this->m_WageFmonth=p->m_WageFmonth;
this->m_WageEmployee=p->m_WageEmployee;
this->m_WageFix=p->m_WageFix;
this->m_WageBorus=p->m_WageBorus;
this->m_WageAnce=p->m_WageAnce;
this->m_WageOther=p->m_WageOther;
this->m_WagePiece=p->m_WagePiece;
this->m_WageLab=p->m_WageLab;
this->m_WageTax=p->m_WageTax;
this->m_WageSum=p->m_WageSum;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdWage::AssignValue()
{
TsdWage *p=(TsdWage *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdWage::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();
TsdWage *p=new TsdWage();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->WageFmonth+p->WageEmployee);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdWage::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdWage 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;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -