📄 emdoc.cpp
字号:
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();
TKSFaUse *p=new TKSFaUse();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->FaUseCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TKSFaUse::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdFaUse 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;
}
}
//**************************************
// TKSFav 变动类型
//**************************************
//--------------------------------------------------------------
void __fastcall TKSFav:: SetFavCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("变动类型代码不能为空");
if(value.Length()>18)
throw Exception("变动类型代码长度不能大于18");
if(value!=m_FavCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT FAVCODE FROM sdfav WHERE FAVCODE='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("变动类型代码'"+value+"'已存在");
}
m_Query->Close();
}
m_FavCode=value;
}
void __fastcall TKSFav:: SetFavName(AnsiString value)
{
if(value.IsEmpty())
throw Exception("变动类型名称不能为空");
if(value.Length()>20)
throw Exception("变动类型名称长度不能大于20");
if(value!=m_FavName)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT FAVname FROM sdfav WHERE FAVname='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("变动类型名称'"+value+"'已存在");
}
m_Query->Close();
}
m_FavName=value;
}
void __fastcall TKSFav:: SetFavType(int value)
{
if(value!=1&&value!=2&&value!=3)
throw Exception("变动类型只能取值 1-增加 2-减少 3-变动");
m_FavType=value;
}
void __fastcall TKSFav:: SetFavFvct(AnsiString value)
{
if(value.Length()>18)
throw Exception("凭证类型代码长度不能大于18");
m_FavFvct=value;
}
void __fastcall TKSFav:: SetFavGlkm(AnsiString value)
{
if(!value.IsEmpty())
{
if(value.Length()>18)
throw Exception("科目编码长不能大于18");
if(m_FavGlkm!=value)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdGlkm where glkmcode='"+value+"' and glkmmx=1");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("科目编码不存在或不是明细科目");
}
m_Query->Close();
}
}
m_FavGlkm=value;
}
void __fastcall TKSFav:: SetFavGlDir(int value)
{
if(value!=-1&&value!=1)
throw Exception("科目方向只能取值 1-借方, -1-贷方");
m_FavGlDir=value;
}
void __fastcall TKSFav:: SetFavSummary(AnsiString value)
{
if(value.Length()>40)
throw Exception("摘要长度不能大于40");
m_FavSummary=value;
}
void __fastcall TKSFav:: SetFavOppGlkm(AnsiString value)
{
if(!value.IsEmpty())
{
if(value.Length()>18)
throw Exception("科目编码长不能大于18");
if(m_FavOppGlkm!=value)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdGlkm where glkmcode='"+value+"' and glkmmx=1");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("科目编码不存在或不是明细科目");
}
m_Query->Close();
}
}
m_FavOppGlkm=value;
}
void __fastcall TKSFav:: SetFavDesc(AnsiString value)
{
if(value.Length()>40)
throw Exception("备注长度不能大于40");
m_FavDesc=value;
}
//---------------------------------------------------------------------------
AnsiString TKSFav::GetFieldValue(euFav sdFieldName)
{
switch(sdFieldName)
{
case fiFavCode:
return FavCode;
case fiFavName:
return FavName;
case fiFavType:
return FavType;
case fiFavFvct:
return FavFvct;
case fiFavGlkm:
return FavGlkm;
case fiFavGlDir:
return FavGlDir;
case fiFavSummary:
return FavSummary;
case fiFavOppGlkm:
return FavOppGlkm;
case fiFavDesc:
return FavDesc;
default:
throw Exception("当前未定义可取值");
}
}
//---------------------------------------------------------------------------
void TKSFav::SetFieldValue(euFav sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiFavCode:
FavCode=value;
break;
case fiFavName:
FavName=value;
break;
case fiFavType:
FavType=value.ToInt();
break;
case fiFavFvct:
FavFvct=value;
break;
case fiFavGlkm:
FavGlkm=value;
break;
case fiFavGlDir:
FavGlDir=value.ToDouble();
break;
case fiFavSummary:
FavSummary=value;
break;
case fiFavOppGlkm:
FavOppGlkm=value;
break;
case fiFavDesc:
FavDesc=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TKSFav::TKSFav(TDataComm *DC)
:TKSStandard(DC)
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdFav";
FilterString="";
OrderString="FavCode";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TKSFav::TKSFav()
:TKSStandard()
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdFav";
FilterString="";
OrderString="FavCode";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TKSFav::~TKSFav()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TKSFav::BackupValue()
{
b_FavCode=m_FavCode;
b_FavName=m_FavName;
b_FavType=m_FavType;
b_FavFvct=m_FavFvct;
b_FavGlkm=m_FavGlkm;
b_FavGlDir=m_FavGlDir;
b_FavSummary=m_FavSummary;
b_FavOppGlkm=m_FavOppGlkm;
b_FavDesc=m_FavDesc;
}
//---------------------------------------------------------------------------
void TKSFav::RestoreValue()
{
m_FavCode=b_FavCode;
m_FavName=b_FavName;
m_FavType=b_FavType;
m_FavFvct=b_FavFvct;
m_FavGlkm=b_FavGlkm;
m_FavGlDir=b_FavGlDir;
m_FavSummary=b_FavSummary;
m_FavOppGlkm=b_FavOppGlkm;
m_FavDesc=b_FavDesc;
}
//---------------------------------------------------------------------------
void TKSFav::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_FavCode="";
m_FavName="";
m_FavType=0;
m_FavFvct="";
m_FavGlkm="";
m_FavGlDir=0;
m_FavSummary="";
m_FavOppGlkm="";
m_FavDesc="";
break;
case 1:
b_FavCode="";
b_FavName="";
b_FavType=0;
b_FavFvct="";
b_FavGlkm="";
b_FavGlDir=0;
b_FavSummary="";
b_FavOppGlkm="";
b_FavDesc="";
break;
}
}
//---------------------------------------------------------------------------
void TKSFav::BatchLetValue()
{
m_FavCode=m_Query->FieldValues["FavCode"];
m_FavName=m_Query->FieldValues["FavName"];
m_FavType=m_Query->FieldValues["FavType"];
m_FavFvct=m_Query->FieldValues["FavFvct"];
m_FavGlkm=m_Query->FieldValues["FavGlkm"];
m_FavGlDir=m_Query->FieldValues["FavGlDir"];
m_FavSummary=m_Query->FieldValues["FavSummary"];
m_FavOppGlkm=m_Query->FieldValues["FavOppGlkm"];
m_FavDesc=m_Query->FieldValues["FavDesc"];
BackupValue();
}
//---------------------------------------------------------------------------
void TKSFav::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_FavCode.IsEmpty()==true)
throw Exception("变动类型不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdFav_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@FavCode",ftString,pdInput,18,m_FavCode);
m_StoredProc->Parameters->CreateParameter("@FavName",ftString,pdInput,20,m_FavName);
m_StoredProc->Parameters->CreateParameter("@FavType",ftInteger,pdInput,1,m_FavType);
m_StoredProc->Parameters->CreateParameter("@FavFvct",ftString,pdInput,18,m_FavFvct);
m_StoredProc->Parameters->CreateParameter("@FavGlkm",ftString,pdInput,18,m_FavGlkm);
m_StoredProc->Parameters->CreateParameter("@FavGlDir",ftFloat,pdInput,5,m_FavGlDir);
m_StoredProc->Parameters->CreateParameter("@FavSummary",ftString,pdInput,40,m_FavSummary);
m_StoredProc->Parameters->CreateParameter("@FavOppGlkm",ftString,pdInput,18,m_FavOppGlkm);
m_StoredProc->Parameters->CreateParameter("@FavDesc",ftString,pdInput,40,m_FavDesc);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
else
{
m_StoredProc->ProcedureName="sdFav_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_FavCode",ftString,pdInput,18,b_FavCode);
m_StoredProc->Parameters->CreateParameter("@FavCode",ftString,pdInput,18,m_FavCode);
m_StoredProc->Parameters->CreateParameter("@FavName",ftString,pdInput,20,m_FavName);
m_StoredProc->Parameters->CreateParameter("@FavType",ftInteger,pdInput,1,m_FavType);
m_StoredProc->Parameters->CreateParameter("@FavFvct",ftString,pdInput,18,m_FavFvct);
m_StoredProc->Parameters->CreateParameter("@FavGlkm",ftString,pdInput,18,m_FavGlkm);
m_StoredProc->Parameters->CreateParameter("@FavGlDir",ftFloat,pdInput,5,m_FavGlDir);
m_StoredProc->Parameters->CreateParameter("@FavSummary",ftString,pdInput,40,m_FavSummary);
m_StoredProc->Parameters->CreateParameter("@FavOppGlkm",ftString,pdInput,18,m_FavOppGlkm);
m_StoredProc->Parameters->CreateParameter("@FavDesc",ftString,pdInput,40,m_FavDesc);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
TKSFav *p=new TKSFav();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->FavCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->FavCode,this->b_FavCode);
}
}
//---------------------------------------------------------------------------
void TKSFav::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_FavCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdFav_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_FavCode",ftString,pdInput,18,b_FavCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_FavCode);
}
//---------------------------------------------------------------------------
void TKSFav::Assign(TKSFav *p)
{
this->SetActionID(p->CurStatus);
this->m_FavCode=p->m_FavCode;
this->m_FavName=p->m_FavName;
this->m_FavType=p->m_FavType;
this->m_FavFvct=p->m_FavFvct;
this->m_FavGlkm=p->m_FavGlkm;
this->m_FavGlDir=p->m_FavGlDir;
this->m_FavSummary=p->m_FavSummary;
this->m_FavOppGlkm=p->m_FavOppGlkm;
this->m_FavDesc=p->m_FavDesc;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TKSFav::AssignValue()
{
TKSFav *p=(TKSFav *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TKSFav::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();
TKSFav *p=new TKSFav();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->FavCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TKSFav::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdFav 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 + -