📄 fmdoc.cpp
字号:
m_GlkmCurrency=m_Query->FieldValues["GlkmCurrency"];
m_GlkmSl=m_Query->FieldValues["GlkmSl"];
m_GlkmUnit=m_Query->FieldValues["GlkmUnit"];
m_GlkmDir=m_Query->FieldValues["GlkmDir"];
m_GlkmBookType=m_Query->FieldValues["GlkmBookType"];
m_GlkmCash=m_Query->FieldValues["GlkmCash"];
m_GlkmBank=m_Query->FieldValues["GlkmBank"];
m_GlkmDept=m_Query->FieldValues["GlkmDept"];
m_GlkmHuman=m_Query->FieldValues["GlkmHuman"];
m_GlkmClient=m_Query->FieldValues["GlkmClient"];
m_GlkmSupply=m_Query->FieldValues["GlkmSupply"];
m_GlkmProject=m_Query->FieldValues["GlkmProject"];
m_GlkmCc=m_Query->FieldValues["GlkmCc"];
m_GlkmAer=m_Query->FieldValues["GlkmAer"];
m_GlkmNoUse=m_Query->FieldValues["GlkmNoUse"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdGlkm::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_GlkmCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdGlkm_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@GlkmCode",ftString,pdInput,18,m_GlkmCode);
m_StoredProc->Parameters->CreateParameter("@GlkmItem",ftString,pdInput,18,m_GlkmItem);
m_StoredProc->Parameters->CreateParameter("@GlkmUpperCode",ftString,pdInput,18,m_GlkmUpperCode);
m_StoredProc->Parameters->CreateParameter("@GlkmLevel",ftInteger,pdInput,10,m_GlkmLevel);
m_StoredProc->Parameters->CreateParameter("@GlkmName",ftString,pdInput,20,m_GlkmName);
m_StoredProc->Parameters->CreateParameter("@GlkmShortCut",ftString,pdInput,10,m_GlkmShortCut);
m_StoredProc->Parameters->CreateParameter("@GlkmType",ftInteger,pdInput,1,m_GlkmType);
m_StoredProc->Parameters->CreateParameter("@GlkmMx",ftInteger,pdInput,1,m_GlkmMx);
m_StoredProc->Parameters->CreateParameter("@GlkmWb",ftInteger,pdInput,1,m_GlkmWb);
m_StoredProc->Parameters->CreateParameter("@GlkmCurrency",ftString,pdInput,18,m_GlkmCurrency);
m_StoredProc->Parameters->CreateParameter("@GlkmSl",ftInteger,pdInput,1,m_GlkmSl);
m_StoredProc->Parameters->CreateParameter("@GlkmUnit",ftString,pdInput,18,m_GlkmUnit);
m_StoredProc->Parameters->CreateParameter("@GlkmDir",ftFloat,pdInput,5,m_GlkmDir);
m_StoredProc->Parameters->CreateParameter("@GlkmBookType",ftInteger,pdInput,1,m_GlkmBookType);
m_StoredProc->Parameters->CreateParameter("@GlkmCash",ftInteger,pdInput,1,m_GlkmCash);
m_StoredProc->Parameters->CreateParameter("@GlkmBank",ftInteger,pdInput,1,m_GlkmBank);
m_StoredProc->Parameters->CreateParameter("@GlkmDept",ftInteger,pdInput,1,m_GlkmDept);
m_StoredProc->Parameters->CreateParameter("@GlkmHuman",ftInteger,pdInput,1,m_GlkmHuman);
m_StoredProc->Parameters->CreateParameter("@GlkmClient",ftInteger,pdInput,1,m_GlkmClient);
m_StoredProc->Parameters->CreateParameter("@GlkmSupply",ftInteger,pdInput,1,m_GlkmSupply);
m_StoredProc->Parameters->CreateParameter("@GlkmProject",ftInteger,pdInput,1,m_GlkmProject);
m_StoredProc->Parameters->CreateParameter("@GlkmCc",ftInteger,pdInput,1,m_GlkmCc);
m_StoredProc->Parameters->CreateParameter("@GlkmAer",ftInteger,pdInput,1,m_GlkmAer);
m_StoredProc->Parameters->CreateParameter("@GlkmNoUse",ftInteger,pdInput,1,m_GlkmNoUse);
m_StoredProc->ExecProc();
}
else
{
m_StoredProc->ProcedureName="sdGlkm_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_GlkmCode",ftString,pdInput,18,b_GlkmCode);
m_StoredProc->Parameters->CreateParameter("@GlkmCode",ftString,pdInput,18,m_GlkmCode);
m_StoredProc->Parameters->CreateParameter("@GlkmItem",ftString,pdInput,18,m_GlkmItem);
m_StoredProc->Parameters->CreateParameter("@GlkmUpperCode",ftString,pdInput,18,m_GlkmUpperCode);
m_StoredProc->Parameters->CreateParameter("@GlkmLevel",ftInteger,pdInput,10,m_GlkmLevel);
m_StoredProc->Parameters->CreateParameter("@GlkmName",ftString,pdInput,20,m_GlkmName);
m_StoredProc->Parameters->CreateParameter("@GlkmShortCut",ftString,pdInput,10,m_GlkmShortCut);
m_StoredProc->Parameters->CreateParameter("@GlkmType",ftInteger,pdInput,1,m_GlkmType);
m_StoredProc->Parameters->CreateParameter("@GlkmMx",ftInteger,pdInput,1,m_GlkmMx);
m_StoredProc->Parameters->CreateParameter("@GlkmWb",ftInteger,pdInput,1,m_GlkmWb);
m_StoredProc->Parameters->CreateParameter("@GlkmCurrency",ftString,pdInput,18,m_GlkmCurrency);
m_StoredProc->Parameters->CreateParameter("@GlkmSl",ftInteger,pdInput,1,m_GlkmSl);
m_StoredProc->Parameters->CreateParameter("@GlkmUnit",ftString,pdInput,18,m_GlkmUnit);
m_StoredProc->Parameters->CreateParameter("@GlkmDir",ftFloat,pdInput,5,m_GlkmDir);
m_StoredProc->Parameters->CreateParameter("@GlkmBookType",ftInteger,pdInput,1,m_GlkmBookType);
m_StoredProc->Parameters->CreateParameter("@GlkmCash",ftInteger,pdInput,1,m_GlkmCash);
m_StoredProc->Parameters->CreateParameter("@GlkmBank",ftInteger,pdInput,1,m_GlkmBank);
m_StoredProc->Parameters->CreateParameter("@GlkmDept",ftInteger,pdInput,1,m_GlkmDept);
m_StoredProc->Parameters->CreateParameter("@GlkmHuman",ftInteger,pdInput,1,m_GlkmHuman);
m_StoredProc->Parameters->CreateParameter("@GlkmClient",ftInteger,pdInput,1,m_GlkmClient);
m_StoredProc->Parameters->CreateParameter("@GlkmSupply",ftInteger,pdInput,1,m_GlkmSupply);
m_StoredProc->Parameters->CreateParameter("@GlkmProject",ftInteger,pdInput,1,m_GlkmProject);
m_StoredProc->Parameters->CreateParameter("@GlkmCc",ftInteger,pdInput,1,m_GlkmCc);
m_StoredProc->Parameters->CreateParameter("@GlkmAer",ftInteger,pdInput,1,m_GlkmAer);
m_StoredProc->Parameters->CreateParameter("@GlkmNoUse",ftInteger,pdInput,1,m_GlkmNoUse);
m_StoredProc->ExecProc();
}
TsdGlkm *p=new TsdGlkm();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->GlkmCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->GlkmCode,this->b_GlkmCode);
}
}
//---------------------------------------------------------------------------
void TsdGlkm::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_GlkmCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdGlkm_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_GlkmCode",ftString,pdInput,18,b_GlkmCode);
m_StoredProc->ExecProc();
DeleteRecord(this->b_GlkmCode);
}
//---------------------------------------------------------------------------
void TsdGlkm::Assign(TsdGlkm *p)
{
this->SetActionID(p->CurStatus);
this->m_GlkmCode=p->m_GlkmCode;
this->m_GlkmItem=p->m_GlkmItem;
this->m_GlkmUpperCode=p->m_GlkmUpperCode;
this->m_GlkmLevel=p->m_GlkmLevel;
this->m_GlkmName=p->m_GlkmName;
this->m_GlkmShortCut=p->m_GlkmShortCut;
this->m_GlkmType=p->m_GlkmType;
this->m_GlkmMx=p->m_GlkmMx;
this->m_GlkmWb=p->m_GlkmWb;
this->m_GlkmCurrency=p->m_GlkmCurrency;
this->m_GlkmSl=p->m_GlkmSl;
this->m_GlkmUnit=p->m_GlkmUnit;
this->m_GlkmDir=p->m_GlkmDir;
this->m_GlkmBookType=p->m_GlkmBookType;
this->m_GlkmCash=p->m_GlkmCash;
this->m_GlkmBank=p->m_GlkmBank;
this->m_GlkmDept=p->m_GlkmDept;
this->m_GlkmHuman=p->m_GlkmHuman;
this->m_GlkmClient=p->m_GlkmClient;
this->m_GlkmSupply=p->m_GlkmSupply;
this->m_GlkmProject=p->m_GlkmProject;
this->m_GlkmCc=p->m_GlkmCc;
this->m_GlkmAer=p->m_GlkmAer;
this->m_GlkmNoUse=p->m_GlkmNoUse;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdGlkm::AssignValue()
{
TsdGlkm *p=(TsdGlkm *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdGlkm::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();
TsdGlkm *p=new TsdGlkm();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->GlkmCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdGlkm::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdGlkm 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;
}
}
//**************************************
// TsdPurser
//**************************************
//--------------------------------------------------------------
void __fastcall TsdPurser:: SetPurserCode(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("会计员编码不能为空!");
if(value.Length()>18)
throw Exception("会计员编码长度不能大于18");
if (value!=m_PurserCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT PurserCode FROM SDPurser WHERE PurserCODE='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("会计员编码'"+value+"'已存在");
}
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("Select usercode from sduser where usercode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("操作员:'"+value+"'未定义");
}
m_Query->Close();
}
m_PurserCode = value;
}
void __fastcall TsdPurser:: SetPurserCheck(int value)
{
m_PurserCheck=value;
}
void __fastcall TsdPurser:: SetPurserPost(int value)
{
m_PurserPost=value;
}
void __fastcall TsdPurser:: SetPurserCancel(int value)
{
m_PurserCancel=value;
}
void __fastcall TsdPurser:: SetPurserClose(int value)
{
m_PurserClose=value;
}
void __fastcall TsdPurser:: SetPurserTel(AnsiString value)
{
m_PurserTel=value;
}
void __fastcall TsdPurser:: SetPurserBeepPage(AnsiString value)
{
m_PurserBeepPage=value;
}
//---------------------------------------------------------------------------
AnsiString TsdPurser::GetFieldValue(euPurser sdFieldName)
{
switch(sdFieldName)
{
case fiPurserCode:
return PurserCode;
case fiPurserCheck:
return PurserCheck;
case fiPurserPost:
return PurserPost;
case fiPurserCancel:
return PurserCancel;
case fiPurserClose:
return PurserClose;
case fiPurserTel:
return PurserTel;
case fiPurserBeepPage:
return PurserBeepPage;
default:
throw Exception("当前未定义可取值");
}
}
//---------------------------------------------------------------------------
void TsdPurser::SetFieldValue(euPurser sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiPurserCode:
PurserCode=value;
break;
case fiPurserCheck:
PurserCheck=value.ToInt();
break;
case fiPurserPost:
PurserPost=value.ToInt();
break;
case fiPurserCancel:
PurserCancel=value.ToInt();
break;
case fiPurserClose:
PurserClose=value.ToInt();
break;
case fiPurserTel:
PurserTel=value;
break;
case fiPurserBeepPage:
PurserBeepPage=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdPurser::TsdPurser(TDataComm *DC)
:TsdStandard(DC)
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdPurser";
FilterString="";
OrderString="PurserCode";
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
//---------------------------------------------------------------------------
TsdPurser::TsdPurser()
:TsdStandard()
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdPurser";
FilterString="";
OrderString="PurserCode";
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
//---------------------------------------------------------------------------
TsdPurser::~TsdPurser()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdPurser::BackupValue()
{
b_PurserCode=m_PurserCode;
b_PurserCheck=m_PurserCheck;
b_PurserPost=m_PurserPost;
b_PurserCancel=m_PurserCancel;
b_PurserClose=m_PurserClose;
b_PurserTel=m_PurserTel;
b_PurserBeepPage=m_PurserBeepPage;
}
//---------------------------------------------------------------------------
void TsdPurser::RestoreValue()
{
m_PurserCode=b_PurserCode;
m_PurserCheck=b_PurserCheck;
m_PurserPost=b_PurserPost;
m_PurserCancel=b_PurserCancel;
m_PurserClose=b_PurserClose;
m_PurserTel=b_PurserTel;
m_PurserBeepPage=b_PurserBeepPage;
}
//---------------------------------------------------------------------------
void TsdPurser::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_PurserCode="";
m_PurserCheck=0;
m_PurserPost=0;
m_PurserCancel=0;
m_PurserClose=0;
m_PurserTel="";
m_PurserBeepPage="";
break;
case 1:
b_PurserCode="";
b_PurserCheck=0;
b_PurserPost=0;
b_PurserCancel=0;
b_PurserClose=0;
b_PurserTel="";
b_PurserBeepPage="";
break;
}
}
//---------------------------------------------------------------------------
void TsdPurser::BatchLetValue()
{
m_PurserCode=m_Query->FieldValues["PurserCode"];
m_PurserCheck=m_Query->FieldValues["PurserCheck"];
m_PurserPost=m_Query->FieldValues["PurserPost"];
m_PurserCancel=m_Query->FieldValues["PurserCancel"];
m_PurserClose=m_Query->FieldValues["PurserClose"];
m_PurserTel=m_Query->FieldValues["PurserTel"];
m_PurserBeepPage=m_Query->FieldValues["PurserBeepPage"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdPurser::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_PurserCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdPurser_Inser
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -