📄 fmhdl.cpp
字号:
//---------------------------------------------------------------------------
TsdCts::TsdCts(TDataComm *DC)
:TsdStandard(DC)
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdCts";
FilterString="";
OrderString="CtsCode";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdCts::TsdCts()
:TsdStandard()
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdCts";
FilterString="";
OrderString="CtsCode";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdCts::~TsdCts()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdCts::BackupValue()
{
b_CtsCode=m_CtsCode;
b_CtsDate=m_CtsDate;
b_CtsCac=m_CtsCac;
b_Cts100yQty=m_Cts100yQty;
b_Cts50yQty=m_Cts50yQty;
b_Cts20yQty=m_Cts20yQty;
b_Cts10yQty=m_Cts10yQty;
b_Cts5yQty=m_Cts5yQty;
b_Cts2yQty=m_Cts2yQty;
b_Cts1yQty=m_Cts1yQty;
b_Cts5jQty=m_Cts5jQty;
b_Cts2jQty=m_Cts2jQty;
b_Cts1jQty=m_Cts1jQty;
b_Cts5fQty=m_Cts5fQty;
b_Cts2fQty=m_Cts2fQty;
b_Cts1fQty=m_Cts1fQty;
b_CtsTAmt=m_CtsTAmt;
b_CtsAAmt=m_CtsAAmt;
b_CtsUser=m_CtsUser;
b_CtsSysDate=m_CtsSysDate;
}
//---------------------------------------------------------------------------
void TsdCts::RestoreValue()
{
m_CtsCode=b_CtsCode;
m_CtsDate=b_CtsDate;
m_CtsCac=b_CtsCac;
m_Cts100yQty=b_Cts100yQty;
m_Cts50yQty=b_Cts50yQty;
m_Cts20yQty=b_Cts20yQty;
m_Cts10yQty=b_Cts10yQty;
m_Cts5yQty=b_Cts5yQty;
m_Cts2yQty=b_Cts2yQty;
m_Cts1yQty=b_Cts1yQty;
m_Cts5jQty=b_Cts5jQty;
m_Cts2jQty=b_Cts2jQty;
m_Cts1jQty=b_Cts1jQty;
m_Cts5fQty=b_Cts5fQty;
m_Cts2fQty=b_Cts2fQty;
m_Cts1fQty=b_Cts1fQty;
m_CtsTAmt=b_CtsTAmt;
m_CtsAAmt=b_CtsAAmt;
m_CtsUser=b_CtsUser;
m_CtsSysDate=b_CtsSysDate;
}
//---------------------------------------------------------------------------
void TsdCts::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_CtsCode="";
m_CtsDate="";
m_CtsCac="";
m_Cts100yQty=0;
m_Cts50yQty=0;
m_Cts20yQty=0;
m_Cts10yQty=0;
m_Cts5yQty=0;
m_Cts2yQty=0;
m_Cts1yQty=0;
m_Cts5jQty=0;
m_Cts2jQty=0;
m_Cts1jQty=0;
m_Cts5fQty=0;
m_Cts2fQty=0;
m_Cts1fQty=0;
m_CtsTAmt=0;
m_CtsAAmt=0;
m_CtsUser="";
m_CtsSysDate="";
break;
case 1:
b_CtsCode="";
b_CtsDate="";
b_CtsCac="";
b_Cts100yQty=0;
b_Cts50yQty=0;
b_Cts20yQty=0;
b_Cts10yQty=0;
b_Cts5yQty=0;
b_Cts2yQty=0;
b_Cts1yQty=0;
b_Cts5jQty=0;
b_Cts2jQty=0;
b_Cts1jQty=0;
b_Cts5fQty=0;
b_Cts2fQty=0;
b_Cts1fQty=0;
b_CtsTAmt=0;
b_CtsAAmt=0;
b_CtsUser="";
b_CtsSysDate="";
break;
}
}
//---------------------------------------------------------------------------
void TsdCts::BatchLetValue()
{
m_CtsCode=m_Query->FieldValues["CtsCode"];
m_CtsDate=m_Query->FieldValues["CtsDate"];
m_CtsCac=m_Query->FieldValues["CtsCac"];
m_Cts100yQty=m_Query->FieldValues["Cts100yQty"];
m_Cts50yQty=m_Query->FieldValues["Cts50yQty"];
m_Cts20yQty=m_Query->FieldValues["Cts20yQty"];
m_Cts10yQty=m_Query->FieldValues["Cts10yQty"];
m_Cts5yQty=m_Query->FieldValues["Cts5yQty"];
m_Cts2yQty=m_Query->FieldValues["Cts2yQty"];
m_Cts1yQty=m_Query->FieldValues["Cts1yQty"];
m_Cts5jQty=m_Query->FieldValues["Cts5jQty"];
m_Cts2jQty=m_Query->FieldValues["Cts2jQty"];
m_Cts1jQty=m_Query->FieldValues["Cts1jQty"];
m_Cts5fQty=m_Query->FieldValues["Cts5fQty"];
m_Cts2fQty=m_Query->FieldValues["Cts2fQty"];
m_Cts1fQty=m_Query->FieldValues["Cts1fQty"];
m_CtsTAmt=m_Query->FieldValues["CtsTAmt"];
m_CtsAAmt=m_Query->FieldValues["CtsAAmt"];
m_CtsUser=m_Query->FieldValues["CtsUser"];
m_CtsSysDate=m_Query->FieldValues["CtsSysDate"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdCts::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_CtsCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdCts_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@CtsCode",ftString,pdInput,18,m_CtsCode);
m_StoredProc->Parameters->CreateParameter("@CtsDate",ftString,pdInput,10,m_CtsDate);
m_StoredProc->Parameters->CreateParameter("@CtsCac",ftString,pdInput,18,m_CtsCac);
m_StoredProc->Parameters->CreateParameter("@Cts100yQty",ftInteger,pdInput,10,m_Cts100yQty);
m_StoredProc->Parameters->CreateParameter("@Cts50yQty",ftInteger,pdInput,10,m_Cts50yQty);
m_StoredProc->Parameters->CreateParameter("@Cts20yQty",ftInteger,pdInput,10,m_Cts20yQty);
m_StoredProc->Parameters->CreateParameter("@Cts10yQty",ftInteger,pdInput,10,m_Cts10yQty);
m_StoredProc->Parameters->CreateParameter("@Cts5yQty",ftInteger,pdInput,10,m_Cts5yQty);
m_StoredProc->Parameters->CreateParameter("@Cts2yQty",ftInteger,pdInput,10,m_Cts2yQty);
m_StoredProc->Parameters->CreateParameter("@Cts1yQty",ftInteger,pdInput,10,m_Cts1yQty);
m_StoredProc->Parameters->CreateParameter("@Cts5jQty",ftInteger,pdInput,10,m_Cts5jQty);
m_StoredProc->Parameters->CreateParameter("@Cts2jQty",ftInteger,pdInput,10,m_Cts2jQty);
m_StoredProc->Parameters->CreateParameter("@Cts1jQty",ftInteger,pdInput,10,m_Cts1jQty);
m_StoredProc->Parameters->CreateParameter("@Cts5fQty",ftInteger,pdInput,10,m_Cts5fQty);
m_StoredProc->Parameters->CreateParameter("@Cts2fQty",ftInteger,pdInput,10,m_Cts2fQty);
m_StoredProc->Parameters->CreateParameter("@Cts1fQty",ftInteger,pdInput,10,m_Cts1fQty);
m_StoredProc->Parameters->CreateParameter("@CtsTAmt",ftFloat,pdInput,12,m_CtsTAmt);
m_StoredProc->Parameters->CreateParameter("@CtsAAmt",ftFloat,pdInput,12,m_CtsAAmt);
m_StoredProc->Parameters->CreateParameter("@CtsUser",ftString,pdInput,18,m_CtsUser);
m_StoredProc->Parameters->CreateParameter("@CtsSysDate",ftString,pdOutput,30,m_CtsSysDate);
m_StoredProc->ExecProc();
m_CtsSysDate=m_StoredProc->Parameters->ParamValues["@CtsSysDate"];
}
else
{
m_StoredProc->ProcedureName="sdCts_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_CtsCode",ftString,pdInput,18,b_CtsCode);
m_StoredProc->Parameters->CreateParameter("@CtsCode",ftString,pdInput,18,m_CtsCode);
m_StoredProc->Parameters->CreateParameter("@CtsDate",ftString,pdInput,10,m_CtsDate);
m_StoredProc->Parameters->CreateParameter("@CtsCac",ftString,pdInput,18,m_CtsCac);
m_StoredProc->Parameters->CreateParameter("@Cts100yQty",ftInteger,pdInput,10,m_Cts100yQty);
m_StoredProc->Parameters->CreateParameter("@Cts50yQty",ftInteger,pdInput,10,m_Cts50yQty);
m_StoredProc->Parameters->CreateParameter("@Cts20yQty",ftInteger,pdInput,10,m_Cts20yQty);
m_StoredProc->Parameters->CreateParameter("@Cts10yQty",ftInteger,pdInput,10,m_Cts10yQty);
m_StoredProc->Parameters->CreateParameter("@Cts5yQty",ftInteger,pdInput,10,m_Cts5yQty);
m_StoredProc->Parameters->CreateParameter("@Cts2yQty",ftInteger,pdInput,10,m_Cts2yQty);
m_StoredProc->Parameters->CreateParameter("@Cts1yQty",ftInteger,pdInput,10,m_Cts1yQty);
m_StoredProc->Parameters->CreateParameter("@Cts5jQty",ftInteger,pdInput,10,m_Cts5jQty);
m_StoredProc->Parameters->CreateParameter("@Cts2jQty",ftInteger,pdInput,10,m_Cts2jQty);
m_StoredProc->Parameters->CreateParameter("@Cts1jQty",ftInteger,pdInput,10,m_Cts1jQty);
m_StoredProc->Parameters->CreateParameter("@Cts5fQty",ftInteger,pdInput,10,m_Cts5fQty);
m_StoredProc->Parameters->CreateParameter("@Cts2fQty",ftInteger,pdInput,10,m_Cts2fQty);
m_StoredProc->Parameters->CreateParameter("@Cts1fQty",ftInteger,pdInput,10,m_Cts1fQty);
m_StoredProc->Parameters->CreateParameter("@CtsTAmt",ftFloat,pdInput,12,m_CtsTAmt);
m_StoredProc->Parameters->CreateParameter("@CtsAAmt",ftFloat,pdInput,12,m_CtsAAmt);
m_StoredProc->Parameters->CreateParameter("@CtsUser",ftString,pdInput,18,m_CtsUser);
m_StoredProc->Parameters->CreateParameter("@CtsSysDate",ftString,pdOutput,30,m_CtsSysDate);
m_StoredProc->ExecProc();
m_CtsSysDate=m_StoredProc->Parameters->ParamValues["@CtsSysDate"];
}
m_StoredProc->Close();
TsdCts *p=new TsdCts();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->CtsCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->CtsCode,this->b_CtsCode);
}
}
//---------------------------------------------------------------------------
void TsdCts::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_CtsCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdCts_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_CtsCode",ftString,pdInput,18,b_CtsCode);
m_StoredProc->ExecProc();
DeleteRecord(this->b_CtsCode);
}
//---------------------------------------------------------------------------
void TsdCts::Assign(TsdCts *p)
{
this->SetActionID(p->CurStatus);
this->m_CtsCode=p->m_CtsCode;
this->m_CtsDate=p->m_CtsDate;
this->m_CtsCac=p->m_CtsCac;
this->m_Cts100yQty=p->m_Cts100yQty;
this->m_Cts50yQty=p->m_Cts50yQty;
this->m_Cts20yQty=p->m_Cts20yQty;
this->m_Cts10yQty=p->m_Cts10yQty;
this->m_Cts5yQty=p->m_Cts5yQty;
this->m_Cts2yQty=p->m_Cts2yQty;
this->m_Cts1yQty=p->m_Cts1yQty;
this->m_Cts5jQty=p->m_Cts5jQty;
this->m_Cts2jQty=p->m_Cts2jQty;
this->m_Cts1jQty=p->m_Cts1jQty;
this->m_Cts5fQty=p->m_Cts5fQty;
this->m_Cts2fQty=p->m_Cts2fQty;
this->m_Cts1fQty=p->m_Cts1fQty;
this->m_CtsTAmt=p->m_CtsTAmt;
this->m_CtsAAmt=p->m_CtsAAmt;
this->m_CtsUser=p->m_CtsUser;
this->m_CtsSysDate=p->m_CtsSysDate;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdCts::AssignValue()
{
TsdCts *p=(TsdCts *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdCts::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();
TsdCts *p=new TsdCts();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->CtsCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdCts::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdCts 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;
}
}
//**************************************
// TsdFbb
//**************************************
//--------------------------------------------------------------
void __fastcall TsdFbb:: SetFbbNo(int value)
{
if (value<=0)
throw Exception("流水号必须大于零!");
if (value!=m_FbbNo)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("Select Fbbcac from sdFbb where Fbbno="+AnsiString(value)
+" and Fbbcac='"+m_FbbCac+"' and FbbFMonth='"+m_FbbFMonth+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("流水号:"+AnsiString(value)+"已经存在");
}
}
m_FbbNo=value;
}
void __fastcall TsdFbb:: SetFbbCac(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("帐号不能为空!");
if(value.Length()>18)
throw Exception("帐号长度不能大于18");
if (value!=m_FbbCac)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select caccode from sdcac where caccode='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("帐号:'"+value+"'未定义");
}
}
m_FbbCac=value;
}
void __fastcall TsdFbb:: SetFbbFMonth(AnsiString value)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -