📄 fmhdl.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#define _YW_SDERP_DLL
#include "Fmhdl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//**************************************
// TsdBcs
//**************************************
//--------------------------------------------------------------
void __fastcall TsdBcs:: SetBcsCode(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("单号不能为空!");
if(value.Length()>18)
throw Exception("单号长度不能大于18");
m_BcsCode=value;
}
void __fastcall TsdBcs:: SetBcsLine(int value)
{
if (value<=0)
throw Exception("行号必须大于零!");
if (value!=m_BcsLine)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("Select Bcscode from sdBcs where Bcsline='"+AnsiString(value)
+"' and Bcscode='"+m_BcsCode+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("对帐单:'"+m_BcsCode+"的行号:"+AnsiString(value)+"已经存在");
}
}
m_BcsLine=value;
}
void __fastcall TsdBcs:: SetBcsDate(AnsiString value)
{
if (value.IsEmpty())
throw Exception("必须填写对帐日期!");
m_BcsDate=value;
}
void __fastcall TsdBcs:: SetBcsSettleMode(AnsiString value)
{
if (value.IsEmpty())
throw Exception("必须选择结算方式!");
m_BcsSettleMode=value;
}
void __fastcall TsdBcs:: SetBcsSettleNo(AnsiString value)
{
if (value.IsEmpty())
throw Exception("必须填写结算号!");
m_BcsSettleNo=value;
}
void __fastcall TsdBcs:: SetBcsDir(double value)
{
if(value<1 ||value>2)
throw Exception("方向必须为1-收入,2-支出!");
m_BcsDir=value;
}
void __fastcall TsdBcs:: SetBcsAmt(double value)
{
if (value<=0)
throw Exception("金额必须大于零!");
m_BcsAmt=value;
}
void __fastcall TsdBcs:: SetBcsZy(AnsiString value)
{
if (value.IsEmpty())
throw Exception("必须填写摘要!");
m_BcsZy=value;
}
void __fastcall TsdBcs:: SetBcsCac(AnsiString value)
{
if (value.IsEmpty())
throw Exception("必须选择银行帐号!");
m_BcsCac=value;
}
void __fastcall TsdBcs:: SetBcsFMonth(AnsiString value)
{
m_BcsFMonth=value;
}
void __fastcall TsdBcs:: SetBcsFbbNo(int value)
{
m_BcsFbbNo=value;
}
void __fastcall TsdBcs:: SetBcsVeriry(int value)
{
m_BcsVeriry=value;
}
void __fastcall TsdBcs:: SetBcsUser(AnsiString value)
{
if (value.IsEmpty())
throw Exception("操作员不能为空!");
if (value!=m_BcsUser)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("Select cashiercode from sdcashier where cashiercode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("操作员:"+value+"未定义");
}
}
m_BcsUser=value;
}
void __fastcall TsdBcs:: SetBcsSysDate(AnsiString value)
{
m_BcsSysDate=value;
}
//---------------------------------------------------------------------------
AnsiString TsdBcs::GetFieldValue(euBcs sdFieldName)
{
switch(sdFieldName)
{
case fiBcsCode:
return BcsCode;
case fiBcsLine:
return BcsLine;
case fiBcsDate:
return BcsDate;
case fiBcsSettleMode:
return BcsSettleMode;
case fiBcsSettleNo:
return BcsSettleNo;
case fiBcsDir:
return BcsDir;
case fiBcsAmt:
return BcsAmt;
case fiBcsZy:
return BcsZy;
case fiBcsCac:
return BcsCac;
case fiBcsFMonth:
return BcsFMonth;
case fiBcsFbbNo:
return BcsFbbNo;
case fiBcsVeriry:
return BcsVeriry;
case fiBcsUser:
return BcsUser;
case fiBcsSysDate:
return BcsSysDate;
default:
throw Exception("当前未定义可取值");
}
}
//---------------------------------------------------------------------------
void TsdBcs::SetFieldValue(euBcs sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiBcsCode:
BcsCode=value;
break;
case fiBcsLine:
BcsLine=value.ToInt();
break;
case fiBcsDate:
BcsDate=value;
break;
case fiBcsSettleMode:
BcsSettleMode=value;
break;
case fiBcsSettleNo:
BcsSettleNo=value;
break;
case fiBcsDir:
BcsDir=value.ToDouble();
break;
case fiBcsAmt:
BcsAmt=value.ToDouble();
break;
case fiBcsZy:
BcsZy=value;
break;
case fiBcsCac:
BcsCac=value;
break;
case fiBcsFMonth:
BcsFMonth=value;
break;
case fiBcsFbbNo:
BcsFbbNo=value.ToInt();
break;
case fiBcsVeriry:
BcsVeriry=value.ToInt();
break;
case fiBcsUser:
BcsUser=value;
break;
case fiBcsSysDate:
BcsSysDate=value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdBcs::TsdBcs(TDataComm *DC)
:TsdStandard(DC)
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdBcs";
FilterString="";
OrderString="BcsCode,BcsLine";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdBcs::TsdBcs()
:TsdStandard()
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM sdBcs";
FilterString="";
OrderString="BcsCode,BcsLine";
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdBcs::~TsdBcs()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdBcs::BackupValue()
{
b_BcsCode=m_BcsCode;
b_BcsLine=m_BcsLine;
b_BcsDate=m_BcsDate;
b_BcsSettleMode=m_BcsSettleMode;
b_BcsSettleNo=m_BcsSettleNo;
b_BcsDir=m_BcsDir;
b_BcsAmt=m_BcsAmt;
b_BcsZy=m_BcsZy;
b_BcsCac=m_BcsCac;
b_BcsFMonth=m_BcsFMonth;
b_BcsFbbNo=m_BcsFbbNo;
b_BcsVeriry=m_BcsVeriry;
b_BcsUser=m_BcsUser;
b_BcsSysDate=m_BcsSysDate;
}
//---------------------------------------------------------------------------
void TsdBcs::RestoreValue()
{
m_BcsCode=b_BcsCode;
m_BcsLine=b_BcsLine;
m_BcsDate=b_BcsDate;
m_BcsSettleMode=b_BcsSettleMode;
m_BcsSettleNo=b_BcsSettleNo;
m_BcsDir=b_BcsDir;
m_BcsAmt=b_BcsAmt;
m_BcsZy=b_BcsZy;
m_BcsCac=b_BcsCac;
m_BcsFMonth=b_BcsFMonth;
m_BcsFbbNo=b_BcsFbbNo;
m_BcsVeriry=b_BcsVeriry;
m_BcsUser=b_BcsUser;
m_BcsSysDate=b_BcsSysDate;
}
//---------------------------------------------------------------------------
void TsdBcs::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_BcsCode="";
m_BcsLine=0;
m_BcsDate="";
m_BcsSettleMode="";
m_BcsSettleNo="";
m_BcsDir=0;
m_BcsAmt=0;
m_BcsZy="";
m_BcsCac="";
m_BcsFMonth="";
m_BcsFbbNo=0;
m_BcsVeriry=0;
m_BcsUser="";
m_BcsSysDate="";
break;
case 1:
b_BcsCode="";
b_BcsLine=0;
b_BcsDate="";
b_BcsSettleMode="";
b_BcsSettleNo="";
b_BcsDir=0;
b_BcsAmt=0;
b_BcsZy="";
b_BcsCac="";
b_BcsFMonth="";
b_BcsFbbNo=0;
b_BcsVeriry=0;
b_BcsUser="";
b_BcsSysDate="";
break;
}
}
//---------------------------------------------------------------------------
void TsdBcs::BatchLetValue()
{
m_BcsCode=m_Query->FieldValues["BcsCode"];
m_BcsLine=m_Query->FieldValues["BcsLine"];
m_BcsDate=m_Query->FieldValues["BcsDate"];
m_BcsSettleMode=m_Query->FieldValues["BcsSettleMode"];
m_BcsSettleNo=m_Query->FieldValues["BcsSettleNo"];
m_BcsDir=m_Query->FieldValues["BcsDir"];
m_BcsAmt=m_Query->FieldValues["BcsAmt"];
m_BcsZy=m_Query->FieldValues["BcsZy"];
m_BcsCac=m_Query->FieldValues["BcsCac"];
m_BcsFMonth=m_Query->FieldValues["BcsFMonth"];
m_BcsFbbNo=m_Query->FieldValues["BcsFbbNo"];
m_BcsVeriry=m_Query->FieldValues["BcsVeriry"];
m_BcsUser=m_Query->FieldValues["BcsUser"];
m_BcsSysDate=m_Query->FieldValues["BcsSysDate"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdBcs::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_BcsCode.IsEmpty()==true)
throw Exception("单号不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdBcs_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@BcsCode",ftString,pdInput,18,m_BcsCode);
m_StoredProc->Parameters->CreateParameter("@BcsLine",ftInteger,pdInput,10,m_BcsLine);
m_StoredProc->Parameters->CreateParameter("@BcsDate",ftString,pdInput,10,m_BcsDate);
m_StoredProc->Parameters->CreateParameter("@BcsSettleMode",ftString,pdInput,18,m_BcsSettleMode);
m_StoredProc->Parameters->CreateParameter("@BcsSettleNo",ftString,pdInput,18,m_BcsSettleNo);
m_StoredProc->Parameters->CreateParameter("@BcsDir",ftFloat,pdInput,5,m_BcsDir);
m_StoredProc->Parameters->CreateParameter("@BcsAmt",ftFloat,pdInput,12,m_BcsAmt);
m_StoredProc->Parameters->CreateParameter("@BcsZy",ftString,pdInput,40,m_BcsZy);
m_StoredProc->Parameters->CreateParameter("@BcsCac",ftString,pdInput,18,m_BcsCac);
m_StoredProc->Parameters->CreateParameter("@BcsFMonth",ftString,pdInput,6,m_BcsFMonth);
m_StoredProc->Parameters->CreateParameter("@BcsFbbNo",ftInteger,pdInput,10,m_BcsFbbNo);
m_StoredProc->Parameters->CreateParameter("@BcsVeriry",ftInteger,pdInput,1,m_BcsVeriry);
m_StoredProc->Parameters->CreateParameter("@BcsUser",ftString,pdInput,18,m_BcsUser);
m_StoredProc->Parameters->CreateParameter("@BcsSysDate",ftString,pdOutput,30,m_BcsSysDate);
m_StoredProc->ExecProc();
m_BcsSysDate=m_StoredProc->Parameters->ParamValues["@BcsSysDate"];
}
else
{
m_StoredProc->ProcedureName="sdBcs_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_BcsCode",ftString,pdInput,18,b_BcsCode);
m_StoredProc->Parameters->CreateParameter("@W_BcsLine",ftString,pdInput,10,b_BcsLine);
m_StoredProc->Parameters->CreateParameter("@BcsCode",ftString,pdInput,18,m_BcsCode);
m_StoredProc->Parameters->CreateParameter("@BcsLine",ftInteger,pdInput,10,m_BcsLine);
m_StoredProc->Parameters->CreateParameter("@BcsDate",ftString,pdInput,10,m_BcsDate);
m_StoredProc->Parameters->CreateParameter("@BcsSettleMode",ftString,pdInput,18,m_BcsSettleMode);
m_StoredProc->Parameters->CreateParameter("@BcsSettleNo",ftString,pdInput,18,m_BcsSettleNo);
m_StoredProc->Parameters->CreateParameter("@BcsDir",ftFloat,pdInput,5,m_BcsDir);
m_StoredProc->Parameters->CreateParameter("@BcsAmt",ftFloat,pdInput,12,m_BcsAmt);
m_StoredProc->Parameters->CreateParameter("@BcsZy",ftString,pdInput,40,m_BcsZy);
m_StoredProc->Parameters->CreateParameter("@BcsCac",ftString,pdInput,18,m_BcsCac);
m_StoredProc->Parameters->CreateParameter("@BcsFMonth",ftString,pdInput,6,m_BcsFMonth);
m_StoredProc->Parameters->CreateParameter("@BcsFbbNo",ftInteger,pdInput,10,m_BcsFbbNo);
m_StoredProc->Parameters->CreateParameter("@BcsVeriry",ftInteger,pdInput,1,m_BcsVeriry);
m_StoredProc->Parameters->CreateParameter("@BcsUser",ftString,pdInput,18,m_BcsUser);
m_StoredProc->Parameters->CreateParameter("@BcsSysDate",ftString,pdOutput,30,m_BcsSysDate);
m_StoredProc->ExecProc();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -