📄 commondata.cpp
字号:
return SettleModeGlKm;
case fiSettleModeKmDir:
return AnsiString(SettleModeKmDir);
default:
throw Exception("当前未定义可取值");
}
}
void TsdSettleMode::SetFieldValue(euSettleMode sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiSettleModeCode:
SettleModeCode=value;
break;
case fiSettleModeName:
SettleModeName=value;
break;
case fiSettleModeDesc:
SettleModeDesc=value;
break;
case fiSettleModeGlKm:
SettleModeGlKm=value;
break;
case fiSettleModeKmDir:
SettleModeKmDir=value.ToInt();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
void TsdSettleMode::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_SettleModeCode.IsEmpty()==true)
throw Exception("编码不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdSettleMode_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@SettleModeCode",ftString,pdInput,18,m_SettleModeCode);
m_StoredProc->Parameters->CreateParameter("@SettleModeName",ftString,pdInput,20,m_SettleModeName);
m_StoredProc->Parameters->CreateParameter("@SettleModeDesc",ftString,pdInput,40,m_SettleModeDesc);
m_StoredProc->Parameters->CreateParameter("@SettleModeGlKm",ftString,pdInput,18,m_SettleModeGlKm);
m_StoredProc->Parameters->CreateParameter("@SettleModeKmDir",ftFloat,pdInput,5,m_SettleModeKmDir);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
else
{
m_StoredProc->ProcedureName="sdSettleMode_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_SettleModeCode",ftString,pdInput,18,b_SettleModeCode);
m_StoredProc->Parameters->CreateParameter("@SettleModeCode",ftString,pdInput,18,m_SettleModeCode);
m_StoredProc->Parameters->CreateParameter("@SettleModeName",ftString,pdInput,20,m_SettleModeName);
m_StoredProc->Parameters->CreateParameter("@SettleModeDesc",ftString,pdInput,40,m_SettleModeDesc);
m_StoredProc->Parameters->CreateParameter("@SettleModeGlKm",ftString,pdInput,18,m_SettleModeGlKm);
m_StoredProc->Parameters->CreateParameter("@SettleModeKmDir",ftFloat,pdInput,5,m_SettleModeKmDir);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
TsdSettleMode *p=new TsdSettleMode();
if(CurStatus==2) {
SetActionID(1); // for browsing only
p->Assign(this);
AddRecord((void *)p,p->SettleModeCode);
}
else {
SetActionID(1); // for browsing only
p->Assign(this);
ChangeRecord((void *)p,p->SettleModeCode,this->b_SettleModeCode);
}
}
void TsdSettleMode::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_SettleModeCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdSettleMode_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_SettleModeCode",ftString,pdInput,18,b_SettleModeCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_SettleModeCode);
}
void TsdSettleMode::BackupValue()
{
b_SettleModeCode=m_SettleModeCode;
b_SettleModeName=m_SettleModeName;
b_SettleModeDesc=m_SettleModeDesc;
b_SettleModeGlKm=m_SettleModeGlKm;
b_SettleModeKmDir=m_SettleModeKmDir;
}
void TsdSettleMode::RestoreValue()
{
m_SettleModeCode=b_SettleModeCode;
m_SettleModeName=b_SettleModeName;
m_SettleModeDesc=b_SettleModeDesc;
m_SettleModeGlKm=b_SettleModeGlKm;
m_SettleModeKmDir=b_SettleModeKmDir;
}
void TsdSettleMode::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_SettleModeCode="";
m_SettleModeName="";
m_SettleModeDesc="";
m_SettleModeGlKm="";
m_SettleModeKmDir=1;
break;
case 1:
b_SettleModeCode="";
b_SettleModeName="";
b_SettleModeDesc="";
b_SettleModeGlKm="";
b_SettleModeKmDir=1;
break;
}
}
void TsdSettleMode::BatchLetValue()
{
m_SettleModeCode=m_Query->FieldValues["SettleModeCode"];
m_SettleModeName=m_Query->FieldValues["SettleModeName"];
m_SettleModeDesc=m_Query->FieldValues["SettleModeDesc"];
m_SettleModeGlKm=m_Query->FieldValues["SettleModeGlKm"];
m_SettleModeKmDir=m_Query->FieldValues["SettleModeKmDir"];
BackupValue();
}
void TsdSettleMode::Assign(TsdSettleMode *p)
{
this->SetActionID(p->CurStatus);
m_SettleModeCode=p->m_SettleModeCode;
m_SettleModeName=p->m_SettleModeName;
m_SettleModeDesc=p->m_SettleModeDesc;
m_SettleModeGlKm=p->m_SettleModeGlKm;
m_SettleModeKmDir=p->m_SettleModeKmDir;
BackupValue();
}
void TsdSettleMode::AssignValue()
{
TsdSettleMode *p=(TsdSettleMode *)Records(CurRecNo);
this->SetActionID(p->CurStatus);
m_SettleModeCode=p->m_SettleModeCode;
m_SettleModeName=p->m_SettleModeName;
m_SettleModeDesc=p->m_SettleModeDesc;
m_SettleModeGlKm=p->m_SettleModeGlKm;
m_SettleModeKmDir=p->m_SettleModeKmDir;
BackupValue();
}
int TsdSettleMode::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();
TsdSettleMode *p=new TsdSettleMode();
SetActionID(1); // for browsing only
p->Assign(this);
AddRecord((void *)p,p->SettleModeCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
bool TsdSettleMode::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="SELECT * FROM SDSettleMode 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;
}
}
TsdSettleMode::~TsdSettleMode()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
/////////////////////////////////////////////////////////////////////
// 单位编码
/////////////////////////////////////////////////////////////////////
void __fastcall TsdUnit::SetUnitCode(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("单位编码不能为空!");
if(value.Length()>18)
throw Exception("单位编码长度不能大于18");
if (value!=m_UnitCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT UnitCODE FROM SDUnit WHERE UnitCODE='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("单位编码'"+value+"'已存在");
}
m_Query->Close();
}
m_UnitCode=value;
}
void __fastcall TsdUnit::SetUnitName(AnsiString value)
{
if(value.IsEmpty())
throw Exception("单位名称不能为空");
if(value.Length()>20)
throw Exception("单位名称长度不能大于20");
if (value!=m_UnitName)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT UnitCODE FROM SDUnit WHERE UnitName='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("单位名称'"+value+"'已存在");
}
m_Query->Close();
}
m_UnitName=value;
}
void __fastcall TsdUnit::SetUnitRate(double value)
{
if (value<=0)
throw Exception("换算率不能小于等于零");
m_UnitRate=value;
}
void __fastcall TsdUnit::SetUnitDefault(int value)
{
if (value!=0 && value!=1)
throw Exception("税码默认标志必须为0,非默认;1,默认税码");
if(m_UnitDefault==0 && value==1)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdunit where unitcode<>'"+m_UnitCode+" 'and Unitdefault=1");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("已有计量单位被定义为缺省单位");
}
m_Query->Close();
}
if(value==1 && m_UnitRate!=1)
throw Exception("缺省计量单位交换比率只能为 1 ");
if(value!=1 && m_UnitRate==1)
throw Exception("非缺省计量单位交换比率不能为 1 ");
m_UnitDefault=value;
}
TsdUnit::TsdUnit(TDataComm *DC)
:TsdStandard(DC)
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM SDUnit";
FilterString="";
OrderString="UNITCODE";
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
TsdUnit::TsdUnit()
:TsdStandard()
{
try
{
EmptyValue(0);
EmptyValue(1);
QueryString="SELECT * FROM SDUnit";
FilterString="";
OrderString="UNITCODE";
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
AnsiString TsdUnit::GetFieldValue(euUnit sdFieldName)
{
switch(sdFieldName)
{
case fiUnitCode:
return UnitCode;
case fiUnitName:
return UnitName;
case fiUnitRate:
return UnitRate;
case fiUnitDefault:
return UnitDefault;
default:
throw Exception("当前未定义可取值");
}
}
void TsdUnit::SetFieldValue(euUnit sdFieldName, AnsiString value)
{
switch(sdFieldName)
{
case fiUnitCode:
UnitCode=value;
break;
case fiUnitName:
UnitName=value;
break;
case fiUnitRate:
UnitRate=value.ToDouble();
break;
case fiUnitDefault:
UnitDefault=value.ToInt();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
void TsdUnit::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_UnitCode.IsEmpty()==true)
throw Exception("税务编码不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdUnit_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@UnitCode",ftString,pdInput,18,m_UnitCode);
m_StoredProc->Parameters->CreateParameter("@UnitName",ftString,pdInput,20,m_UnitName);
m_StoredProc->Parameters->CreateParameter("@UnitDefault",ftInteger,pdInput,1,m_UnitDefault);
m_StoredProc->Parameters->CreateParameter("@UnitRate",ftFloat,pdInput,12,m_UnitRate);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
else
{
m_StoredProc->ProcedureName="sdUnit_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_UnitCode",ftString,pdInput,18,b_UnitCode);
m_StoredProc->Parameters->CreateParameter("@UnitCode",ftString,pdInput,18,m_UnitCode);
m_StoredProc->Parameters->CreateParameter("@UnitName",ftString,pdInput,20,m_UnitName);
m_StoredProc->Parameters->CreateParameter("@UnitDefault",ftInteger,pdInput,1,m_UnitDefault);
m_StoredProc->Parameters->CreateParameter("@UnitRate",ftFloat,pdInput,12,m_UnitRate);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
TsdUnit *p=new TsdUnit();
if(CurStatus==2) {
SetActionID(1); // for browsing only
p->Assign(this);
AddRecord((void *)p,p->UnitCode);
}
else {
SetActionID(1); // for browsing only
p->Assign(this);
ChangeRecord((void *)p,p->UnitCode,this->b_UnitCode);
}
}
void TsdUnit::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_UnitCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdUnit_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_UnitCode",ftString,pdInput,18,b_UnitCode);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_UnitCode);
}
void
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -