📄 hmdoc.cpp
字号:
//---------------------------------------------------------------------------
void TsdRank::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_RankCode="";
m_RankName="";
m_RankItem="";
m_RankUpperCode="";
m_RankLevel=0;
m_RankDesc="";
break;
case 1:
b_RankCode="";
b_RankName="";
b_RankItem="";
b_RankUpperCode="";
b_RankLevel=0;
b_RankDesc="";
break;
}
}
//---------------------------------------------------------------------------
void TsdRank::BatchLetValue()
{
m_RankCode=m_Query->FieldValues["RankCode"];
m_RankName=m_Query->FieldValues["RankName"];
m_RankItem=m_Query->FieldValues["RankItem"];
m_RankUpperCode=m_Query->FieldValues["RankUpperCode"];
m_RankLevel=m_Query->FieldValues["RankLevel"];
m_RankDesc=m_Query->FieldValues["RankDesc"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdRank::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_RankCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdRank_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@RankCode",ftString,pdInput,18,m_RankCode);
m_StoredProc->Parameters->CreateParameter("@RankName",ftString,pdInput,20,m_RankName);
m_StoredProc->Parameters->CreateParameter("@RankItem",ftString,pdInput,18,m_RankItem);
m_StoredProc->Parameters->CreateParameter("@RankUpperCode",ftString,pdInput,18,m_RankUpperCode);
m_StoredProc->Parameters->CreateParameter("@RankLevel",ftFloat,pdInput,5,m_RankLevel);
m_StoredProc->Parameters->CreateParameter("@RankDesc",ftString,pdInput,40,m_RankDesc);
m_StoredProc->ExecProc();
}
else
{
m_StoredProc->ProcedureName="sdRank_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_RankCode",ftString,pdInput,18,b_RankCode);
m_StoredProc->Parameters->CreateParameter("@RankCode",ftString,pdInput,18,m_RankCode);
m_StoredProc->Parameters->CreateParameter("@RankName",ftString,pdInput,20,m_RankName);
m_StoredProc->Parameters->CreateParameter("@RankItem",ftString,pdInput,18,m_RankItem);
m_StoredProc->Parameters->CreateParameter("@RankDesc",ftString,pdInput,40,m_RankDesc);
m_StoredProc->ExecProc();
}
m_StoredProc->Close();
TsdRank *p=new TsdRank();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->RankCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->RankCode,this->b_RankCode);
}
}
//---------------------------------------------------------------------------
void TsdRank::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_RankCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdRank_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_RankCode",ftString,pdInput,18,b_RankCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_RankCode);
}
//---------------------------------------------------------------------------
void TsdRank::Assign(TsdRank *p)
{
this->SetActionID(p->CurStatus);
this->m_RankCode=p->m_RankCode;
this->m_RankName=p->m_RankName;
this->m_RankItem=p->m_RankItem;
this->m_RankUpperCode=p->m_RankUpperCode;
this->m_RankLevel=p->m_RankLevel;
this->m_RankDesc=p->m_RankDesc;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdRank::AssignValue()
{
TsdRank *p=(TsdRank *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdRank::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();
TsdRank *p=new TsdRank();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->RankCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdRank::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdRank 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;
}
}
//**************************************
// TsdVacType 假别
//**************************************
//--------------------------------------------------------------
void __fastcall TsdVacType:: SetVacTypeCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("假别代码不能为空!");
if(value.UpperCase()!=m_VacTypeCode.UpperCase())
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdVacType where VacTypeCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("假别代码"+value+"已存在!");
}
m_Query->Close();
}
m_VacTypeCode=value;
}
void __fastcall TsdVacType:: SetVacTypeName(AnsiString value)
{
if(value.IsEmpty())
throw Exception("假别名称不能为空!");
m_VacTypeName=value;
}
void __fastcall TsdVacType:: SetVacTypeDc(double value)
{
if(value<0)
throw Exception("扣款系数无效");
m_VacTypeDc=value;
}
void __fastcall TsdVacType:: SetVacTypeDa(double value)
{
if(value<0)
throw Exception("扣款金额无效");
m_VacTypeDa=value;
}
//---------------------------------------------------------------------------
AnsiString TsdVacType::GetFieldValue(euVacType sdFieldName)
{
switch(sdFieldName)
{
case fiVacTypeCode:
return VacTypeCode;
case fiVacTypeName:
return VacTypeName;
case fiVacTypeDc:
return VacTypeDc;
case fiVacTypeDa:
return FormatFloat("0.00",VacTypeDa);
}
throw Exception("当前字段未定义可取值");
}
//---------------------------------------------------------------------------
void TsdVacType::SetFieldValue(euVacType sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiVacTypeCode:
VacTypeCode=value;
break;
case fiVacTypeName:
VacTypeName=value;
break;
case fiVacTypeDc:
VacTypeDc=value.ToDouble();
break;
case fiVacTypeDa:
VacTypeDa=value.ToDouble();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdVacType::TsdVacType(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdVacType";
FilterString="";
OrderString="VacTypeCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdVacType::TsdVacType()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdVacType";
FilterString="";
OrderString="VacTypeCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdVacType::~TsdVacType()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdVacType::BackupValue()
{
b_VacTypeCode=m_VacTypeCode;
b_VacTypeName=m_VacTypeName;
b_VacTypeDc=m_VacTypeDc;
b_VacTypeDa=m_VacTypeDa;
}
//---------------------------------------------------------------------------
void TsdVacType::RestoreValue()
{
m_VacTypeCode=b_VacTypeCode;
m_VacTypeName=b_VacTypeName;
m_VacTypeDc=b_VacTypeDc;
m_VacTypeDa=b_VacTypeDa;
}
//---------------------------------------------------------------------------
void TsdVacType::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_VacTypeCode="";
m_VacTypeName="";
m_VacTypeDc=0;
m_VacTypeDa=0;
break;
case 1:
b_VacTypeCode="";
b_VacTypeName="";
b_VacTypeDc=0;
b_VacTypeDa=0;
break;
}
}
//---------------------------------------------------------------------------
void TsdVacType::BatchLetValue()
{
m_VacTypeCode=m_Query->FieldValues["VacTypeCode"];
m_VacTypeName=m_Query->FieldValues["VacTypeName"];
m_VacTypeDc=m_Query->FieldValues["VacTypeDc"];
m_VacTypeDa=m_Query->FieldValues["VacTypeDa"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdVacType::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_VacTypeCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdVacType_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@VacTypeCode",ftString,pdInputOutput,18,m_VacTypeCode);
m_StoredProc->Parameters->CreateParameter("@VacTypeName",ftString,pdInput,20,m_VacTypeName);
m_StoredProc->Parameters->CreateParameter("@VacTypeDc",ftFloat,pdInput,12,m_VacTypeDc);
m_StoredProc->Parameters->CreateParameter("@VacTypeDa",ftFloat,pdInput,12,m_VacTypeDa);
m_StoredProc->ExecProc();
m_VacTypeCode=m_StoredProc->Parameters->ParamValues["@VacTypeCode"];
}
else
{
m_StoredProc->ProcedureName="sdVacType_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_VacTypeCode",ftString,pdInput,18,b_VacTypeCode);
m_StoredProc->Parameters->CreateParameter("@VacTypeCode",ftString,pdInput,18,m_VacTypeCode);
m_StoredProc->Parameters->CreateParameter("@VacTypeName",ftString,pdInput,20,m_VacTypeName);
m_StoredProc->Parameters->CreateParameter("@VacTypeDc",ftFloat,pdInput,12,m_VacTypeDc);
m_StoredProc->Parameters->CreateParameter("@VacTypeDa",ftFloat,pdInput,12,m_VacTypeDa);
m_StoredProc->ExecProc();
}
m_StoredProc->Close();
TsdVacType *p=new TsdVacType();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->VacTypeCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->VacTypeCode,this->b_VacTypeCode);
}
}
//---------------------------------------------------------------------------
void TsdVacType::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_VacTypeCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdVacType_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_VacTypeCode",ftString,pdInput,18,b_VacTypeCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_VacTypeCode);
}
//---------------------------------------------------------------------------
void TsdVacType::Assign(TsdVacType *p)
{
this->SetActionID(p->CurStatus);
this->m_VacTypeCode=p->m_VacTypeCode;
this->m_VacTypeName=p->m_VacTypeName;
this->m_VacTypeDc=p->m_VacTypeDc;
this->m_VacTypeDa=p->m_VacTypeDa;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdVacType::AssignValue()
{
TsdVacType *p=(TsdVacType *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdVacType::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();
TsdVacType *p=new TsdVacType();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->VacTypeCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdVacType::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -