📄 hmdoc.cpp
字号:
{
m_StoredProc->ProcedureName="sdSkill_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_SkillCode",ftString,pdInput,18,b_SkillCode);
m_StoredProc->Parameters->CreateParameter("@SkillCode",ftString,pdInput,18,m_SkillCode);
m_StoredProc->Parameters->CreateParameter("@SkillName",ftString,pdInput,20,m_SkillName);
m_StoredProc->Parameters->CreateParameter("@SkillDesc",ftString,pdInput,40,m_SkillDesc);
m_StoredProc->ExecProc();
}
m_StoredProc->Close();
TsdSkill *p=new TsdSkill();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->SkillCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->SkillCode,this->b_SkillCode);
}
}
//---------------------------------------------------------------------------
void TsdSkill::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_SkillCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdSkill_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_SkillCode",ftString,pdInput,18,b_SkillCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_SkillCode);
}
//---------------------------------------------------------------------------
void TsdSkill::Assign(TsdSkill *p)
{
this->SetActionID(p->CurStatus);
this->m_SkillCode=p->m_SkillCode;
this->m_SkillName=p->m_SkillName;
this->m_SkillDesc=p->m_SkillDesc;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdSkill::AssignValue()
{
TsdSkill *p=(TsdSkill *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdSkill::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();
TsdSkill *p=new TsdSkill();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->SkillCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdSkill::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdSkill 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;
}
}
//**************************************
// TsdWl工资等级
//**************************************
//--------------------------------------------------------------
void __fastcall TsdWl:: SetWlCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("工资等级代码不能为空!");
if(value.UpperCase()!=m_WlCode.UpperCase())
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdwl where WlCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("工资等级代码"+value+"已存在!");
}
m_Query->Close();
}
m_WlCode=value;
}
void __fastcall TsdWl:: SetWlDesc(AnsiString value)
{
if(value.IsEmpty())
throw Exception("工资等级名称不能为空!");
m_WlDesc=value;
}
void __fastcall TsdWl:: SetWlFix(double value)
{
if(value!=m_WlFix)
{
m_WlFix=value;
m_WlSum=m_WlFix+m_WlAnce+m_WlOther+m_WlBorus;
}
}
void __fastcall TsdWl:: SetWlBorus(double value)
{
if(value<0)
throw Exception("奖金值无效");
if(value!=m_WlBorus)
{
m_WlBorus=value;
m_WlSum=m_WlFix+m_WlAnce+m_WlOther+m_WlBorus;
}
}
void __fastcall TsdWl:: SetWlAnce(double value)
{
if(value<0)
throw Exception("津贴值无效");
if(value!=m_WlAnce)
{
m_WlAnce=value;
m_WlSum=m_WlFix+m_WlAnce+m_WlOther+m_WlBorus;
}
}
void __fastcall TsdWl:: SetWlOther(double value)
{
if(value<0)
throw Exception("其它紧额无效");
if(value!=m_WlOther)
{
m_WlOther=value;
m_WlSum=m_WlFix+m_WlAnce+m_WlOther+m_WlBorus;
}
}
void __fastcall TsdWl:: SetWlSum(double value)
{
m_WlSum=value;
}
//---------------------------------------------------------------------------
AnsiString TsdWl::GetFieldValue(euWl sdFieldName)
{
switch(sdFieldName)
{
case fiWlCode:
return WlCode;
case fiWlDesc:
return WlDesc;
case fiWlFix:
return FormatFloat("0.00",WlFix);
case fiWlBorus:
return FormatFloat("0.00",WlBorus);
case fiWlAnce:
return FormatFloat("0.00",WlAnce);
case fiWlOther:
return FormatFloat("0.00",WlOther);
case fiWlSum:
return FormatFloat("0.00",WlSum);
}
throw Exception("当前字段未定义可取值");
}
//---------------------------------------------------------------------------
void TsdWl::SetFieldValue(euWl sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiWlCode:
WlCode=value;
break;
case fiWlDesc:
WlDesc=value;
break;
case fiWlFix:
WlFix=value.ToDouble();
break;
case fiWlBorus:
WlBorus=value.ToDouble();
break;
case fiWlAnce:
WlAnce=value.ToDouble();
break;
case fiWlOther:
WlOther=value.ToDouble();
break;
case fiWlSum:
WlSum=value.ToDouble();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdWl::TsdWl(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdWl";
FilterString="";
OrderString="WlCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdWl::TsdWl()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdWl";
FilterString="";
OrderString="WlCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdWl::~TsdWl()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdWl::BackupValue()
{
b_WlCode=m_WlCode;
b_WlDesc=m_WlDesc;
b_WlFix=m_WlFix;
b_WlBorus=m_WlBorus;
b_WlAnce=m_WlAnce;
b_WlOther=m_WlOther;
b_WlSum=m_WlSum;
}
//---------------------------------------------------------------------------
void TsdWl::RestoreValue()
{
m_WlCode=b_WlCode;
m_WlDesc=b_WlDesc;
m_WlFix=b_WlFix;
m_WlBorus=b_WlBorus;
m_WlAnce=b_WlAnce;
m_WlOther=b_WlOther;
m_WlSum=b_WlSum;
}
//---------------------------------------------------------------------------
void TsdWl::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_WlCode="";
m_WlDesc="";
m_WlFix=0;
m_WlBorus=0;
m_WlAnce=0;
m_WlOther=0;
m_WlSum=0;
break;
case 1:
b_WlCode="";
b_WlDesc="";
b_WlFix=0;
b_WlBorus=0;
b_WlAnce=0;
b_WlOther=0;
b_WlSum=0;
break;
}
}
//---------------------------------------------------------------------------
void TsdWl::BatchLetValue()
{
m_WlCode=m_Query->FieldValues["WlCode"];
m_WlDesc=m_Query->FieldValues["WlDesc"];
m_WlFix=m_Query->FieldValues["WlFix"];
m_WlBorus=m_Query->FieldValues["WlBorus"];
m_WlAnce=m_Query->FieldValues["WlAnce"];
m_WlOther=m_Query->FieldValues["WlOther"];
m_WlSum=m_Query->FieldValues["WlSum"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdWl::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_WlCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdWl_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@WlCode",ftString,pdInputOutput,18,m_WlCode);
m_StoredProc->Parameters->CreateParameter("@WlDesc",ftString,pdInput,40,m_WlDesc);
m_StoredProc->Parameters->CreateParameter("@WlFix",ftFloat,pdInput,12,m_WlFix);
m_StoredProc->Parameters->CreateParameter("@WlBorus",ftFloat,pdInput,12,m_WlBorus);
m_StoredProc->Parameters->CreateParameter("@WlAnce",ftFloat,pdInput,12,m_WlAnce);
m_StoredProc->Parameters->CreateParameter("@WlOther",ftFloat,pdInput,12,m_WlOther);
m_StoredProc->Parameters->CreateParameter("@WlSum",ftFloat,pdInput,12,m_WlSum);
m_StoredProc->ExecProc();
m_WlCode=m_StoredProc->Parameters->ParamValues["@WlCode"];
}
else
{
m_StoredProc->ProcedureName="sdWl_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_WlCode",ftString,pdInput,18,b_WlCode);
m_StoredProc->Parameters->CreateParameter("@WlCode",ftString,pdInput,18,m_WlCode);
m_StoredProc->Parameters->CreateParameter("@WlDesc",ftString,pdInput,40,m_WlDesc);
m_StoredProc->Parameters->CreateParameter("@WlFix",ftFloat,pdInput,12,m_WlFix);
m_StoredProc->Parameters->CreateParameter("@WlBorus",ftFloat,pdInput,12,m_WlBorus);
m_StoredProc->Parameters->CreateParameter("@WlAnce",ftFloat,pdInput,12,m_WlAnce);
m_StoredProc->Parameters->CreateParameter("@WlOther",ftFloat,pdInput,12,m_WlOther);
m_StoredProc->Parameters->CreateParameter("@WlSum",ftFloat,pdInput,12,m_WlSum);
m_StoredProc->ExecProc();
}
m_StoredProc->Close();
TsdWl *p=new TsdWl();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->WlCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->WlCode,this->b_WlCode);
}
}
//---------------------------------------------------------------------------
void TsdWl::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_WlCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdWl_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_WlCode",ftString,pdInput,18,b_WlCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_WlCode);
}
//---------------------------------------------------------------------------
void TsdWl::Assign(TsdWl *p)
{
this->SetActionID(p->CurStatus);
this->m_WlCode=p->m_WlCode;
this->m_WlDesc=p->m_WlDesc;
this->m_WlFix=p->m_WlFix;
this->m_WlBorus=p->m_WlBorus;
this->m_WlAnce=p->m_WlAnce;
this->m_WlOther=p->m_WlOther;
this->m_WlSum=p->m_WlSum;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdWl::AssignValue()
{
TsdWl *p=(TsdWl *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdWl::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();
TsdWl *p=new TsdWl();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->WlCode);
m_Query->Next();
}
MoveFirst();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -