📄 system.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#define _YW_SDERP_DLL
#include "System.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//=============================================
//(TsdCompany)公司基本资料
//=============================================
void __fastcall TsdCompany::SetCompanyCode(AnsiString value)
{
if(value.IsEmpty()==true)
throw Exception("公司代码不能为空!");
if(value.Length()>18)
throw Exception("公司代码长度不能超过18");
if(value!=m_CompanyCode) //仅当增加时才检测唯一性
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select companycode from sdcompany where companycode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("公司代码已存在");
}
m_Query->Close();
}
m_CompanyCode = value;
}
void __fastcall TsdCompany::SetCompanyName(AnsiString value)
{
if(value.IsEmpty()==true)
throw Exception("公司名称不能为空!");
if(value.Length()>40)
throw Exception("公司名称长度不能超过40");
if(value!=m_CompanyName) //仅当增加时才检测唯一性
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select companyName from sdcompany where companyname='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("公司名称已存在");
}
m_Query->Close();
}
m_CompanyName = value;
}
void __fastcall TsdCompany::SetCompanyFullName(AnsiString value)
{
if(value.Length()>80)
throw Exception("公司全称长度不能超过80");
m_CompanyFullName = value;
}
void __fastcall TsdCompany::SetCompanyAddr1(AnsiString value)
{
if(value.Length()>40)
throw Exception("公司地址一长度不能超过40");
m_CompanyAddr1 = value;
}
void __fastcall TsdCompany::SetCompanyAddr2(AnsiString value)
{
if(value.Length()>40)
throw Exception("公司地址二长度不能超过40");
m_CompanyAddr2 = value;
}
void __fastcall TsdCompany::SetCompanyTel(AnsiString value)
{
if(value.Length()>18)
throw Exception("公司联系电话长度不能超过18");
m_CompanyTel = value;
}
void __fastcall TsdCompany::SetCompanyFax(AnsiString value)
{
if(value.Length()>18)
throw Exception("公司传真号码长度不能超过18");
m_CompanyFax = value;
}
void __fastcall TsdCompany::SetCompanyEmail(AnsiString value)
{
if(value.Length()>18)
throw Exception("公司电子邮件信箱长度不能超过18");
m_CompanyEmail = value;
}
void __fastcall TsdCompany::SetCompanyHomepage(AnsiString value)
{
if(value.Length()>18)
throw Exception("公司主页地址长度不能超过18");
m_CompanyHomepage = value;
}
void __fastcall TsdCompany::SetCompanyTaxNo(AnsiString value)
{
if(value.Length()>18)
throw Exception("公司税号长度不能超过18");
m_CompanyBankNo = value;
}
void __fastcall TsdCompany::SetCompanyLegalPerson(AnsiString value)
{
if(value.Length()>18)
throw Exception("公司法人代表名称长度不能超过18");
m_CompanyLegalPerson = value;
}
void __fastcall TsdCompany::SetCompanyBankNo(AnsiString value)
{
if(value.Length()>30)
throw Exception("公司银行帐号长度不能超过30");
m_CompanyBankNo = value;
}
void __fastcall TsdCompany::SetCompanySdate(AnsiString value)
{
m_CompanySdate = Validate(value);
}
void __fastcall TsdCompany::SetCompanyEdate(AnsiString value)
{
if(value.IsEmpty())
m_CompanyEdate="";
else
m_CompanyEdate = Validate(value);
}
void __fastcall TsdCompany::SetCompanyCancel(int value)
{
if(value!=0 && value!=1)
throw Exception("停用标识值只能是0-未停用,1-已停用");
m_CompanyCancel = value;
}
void __fastcall TsdCompany::SetCompanyNewCode(AnsiString value)
{
if(value.Length()>18)
throw Exception("新公司代码长度不能大于18");
if(value!=m_CompanyNewCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select companyCode from sdcompany where companycode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("公司编码已存在");
}
m_Query->Close();
}
m_CompanyNewCode = value;
}
void __fastcall TsdCompany::SetCompanyOldCode(AnsiString value)
{
if(value.Length()>18)
throw Exception("旧公司代码长度不能大于18");
m_CompanyOldCode = value;
}
void __fastcall TsdCompany::SetCompanyFmonth(AnsiString value)
{
if(value.Length()!=6)
throw Exception("财务月份长度只能是6");
m_CompanyFmonth = value;
}
void __fastcall TsdCompany::SetCompanyCurrency(AnsiString value)
{
if(value.Length()>18)
throw Exception("货币代码长度不能超过18");
m_CompanyCurrency = value;
}
void __fastcall TsdCompany::SetCompanyBackupPath(AnsiString value)
{
if(value.Length()>80)
throw Exception("系统文件备份路径长度不能超过80");
m_CompanyBackupPath = value;
}
void __fastcall TsdCompany::SetCompanyLanguage(int value)
{
if(value!=1 && value!=2 && value!=3)
throw Exception("系统语言只能设置为:1-简体中文,2-繁体中文,3-英语");
m_CompanyLanguage = value;
}
TsdCompany::TsdCompany(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="select * from sdCompany ";
FilterString="";
OrderString="";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
TsdCompany::TsdCompany()
:TsdStandard()
{
try
{
QueryString="select * from sdCompany ";
FilterString="";
OrderString="";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
AnsiString TsdCompany::GetFieldValue(euCompany FieldName)
{
switch(FieldName)
{
case fiCompanyCode:
return CompanyCode;
case fiCompanyName:
return CompanyName;
case fiCompanyFullName:
return CompanyFullName;
case fiCompanyAddr1:
return CompanyAddr1;
case fiCompanyAddr2:
return CompanyAddr2;
case fiCompanyTel:
return CompanyTel;
case fiCompanyFax:
return CompanyFax;
case fiCompanyEmail:
return CompanyEmail;
case fiCompanyHomepage:
return CompanyHomepage;
case fiCompanyLegalPerson:
return CompanyLegalPerson;
case fiCompanyTaxNo:
return CompanyTaxNo;
case fiCompanyBankNo:
return CompanyBankNo;
case fiCompanySdate:
return CompanySdate;
case fiCompanyEdate:
return CompanyEdate;
case fiCompanyCancel:
return AnsiString(CompanyCancel);
case fiCompanyNewCode:
return CompanyNewCode;
case fiCompanyOldCode:
return CompanyOldCode;
case fiCompanyFmonth:
return CompanyFmonth;
case fiCompanyCurrency:
return CompanyCurrency;
case fiCompanyBackupPath:
return CompanyBackupPath;
case fiCompanyLanguage:
return AnsiString(CompanyLanguage);
default:
throw Exception("当前字段未定义成可取值");
}
}
void TsdCompany::SetFieldValue(euCompany FieldName, AnsiString Value)
{
switch(FieldName)
{
case fiCompanyCode:
CompanyCode=Value;
break;
case fiCompanyName:
CompanyName=Value;
break;
case fiCompanyFullName:
CompanyFullName=Value;
break;
case fiCompanyAddr1:
CompanyAddr1=Value;
break;
case fiCompanyAddr2:
CompanyAddr2=Value;
break;
case fiCompanyTel:
CompanyTel=Value;
break;
case fiCompanyFax:
CompanyFax=Value;
break;
case fiCompanyEmail:
CompanyEmail=Value;
break;
case fiCompanyHomepage:
CompanyHomepage=Value;
break;
case fiCompanyLegalPerson:
CompanyLegalPerson=Value;
break;
case fiCompanyTaxNo:
CompanyTaxNo=Value;
break;
case fiCompanyBankNo:
CompanyBankNo=Value;
break;
case fiCompanySdate:
CompanySdate=Value;
break;
case fiCompanyEdate:
CompanyEdate=Value;
break;
case fiCompanyCancel:
CompanyCancel=Value.ToInt();
break;
case fiCompanyNewCode:
CompanyNewCode=Value;
break;
case fiCompanyOldCode:
CompanyOldCode=Value;
break;
case fiCompanyFmonth:
CompanyFmonth=Value;
break;
case fiCompanyCurrency:
CompanyCurrency=Value;
break;
case fiCompanyBackupPath:
CompanyBackupPath=Value;
break;
case fiCompanyLanguage:
CompanyLanguage=Value.ToInt();
break;
default:
throw Exception("当前字段未定义成可赋值");
}
}
void TsdCompany::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_CompanyCode.IsEmpty()==true)
throw Exception("公司代码不能为空!");
if(m_CompanyName.IsEmpty()==true)
throw Exception("公司名称不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdCompany_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@CompanyCode",ftString,pdInput,18,m_CompanyCode);
m_StoredProc->Parameters->CreateParameter("@CompanyName",ftString,pdInput,40,m_CompanyName);
m_StoredProc->Parameters->CreateParameter("@CompanyFullName",ftString,pdInput,255,m_CompanyFullName);
m_StoredProc->Parameters->CreateParameter("@CompanySdate",ftString,pdInput,10,m_CompanySdate);
m_StoredProc->Parameters->CreateParameter("@CompanyEdate",ftString,pdInput,10,m_CompanyEdate);
m_StoredProc->Parameters->CreateParameter("@CompanyLanguage",ftSmallint,pdInput,10,m_CompanyLanguage);
m_StoredProc->ExecProc();
}
else
{
m_StoredProc->ProcedureName="sdCompany_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_CompanyCode",ftString,pdInput,18,b_CompanyCode);
m_StoredProc->Parameters->CreateParameter("@CompanyName",ftString,pdInput,80,m_CompanyName);
m_StoredProc->Parameters->CreateParameter("@CompanyFullName",ftString,pdInput,80,m_CompanyFullName);
m_StoredProc->Parameters->CreateParameter("@CompanyAddr1",ftString,pdInput,80,m_CompanyAddr1);
m_StoredProc->Parameters->CreateParameter("@CompanyAddr2",ftString,pdInput,80,m_CompanyAddr2);
m_StoredProc->Parameters->CreateParameter("@CompanyTel",ftString,pdInput,20,m_CompanyTel);
m_StoredProc->Parameters->CreateParameter("@CompanyFax",ftString,pdInput,20,m_CompanyFax);
m_StoredProc->Parameters->CreateParameter("@CompanyEmail",ftString,pdInput,20,m_CompanyEmail);
m_StoredProc->Parameters->CreateParameter("@CompanyHomepage",ftString,pdInput,40,m_CompanyHomepage);
m_StoredProc->Parameters->CreateParameter("@CompanyLegalPerson",ftString,pdInput,20,m_CompanyLegalPerson);
m_StoredProc->Parameters->CreateParameter("@CompanyTaxNo",ftString,pdInput,18,m_CompanyTaxNo);
m_StoredProc->Parameters->CreateParameter("@CompanyBankNo",ftString,pdInput,30,m_CompanyBankNo);
m_StoredProc->Parameters->CreateParameter("@CompanyEDate",ftString,pdInput,10,m_CompanyEdate);
m_StoredProc->Parameters->CreateParameter("@CompanyCancel",ftSmallint,pdInput,10,m_CompanyCancel);
m_StoredProc->Parameters->CreateParameter("@CompanyNewCode",ftString,pdInput,20,m_CompanyNewCode);
m_StoredProc->Parameters->CreateParameter("@CompanyOldCode",ftString,pdInput,20,m_CompanyOldCode);
m_StoredProc->Parameters->CreateParameter("@CompanyFMonth",ftString,pdInput,6,m_CompanyFmonth);
m_StoredProc->Parameters->CreateParameter("@CompanyCurrency",ftString,pdInput,18,m_CompanyCurrency);
m_StoredProc->Parameters->CreateParameter("@CompanyBackupPath",ftString,pdInput,80,m_CompanyBackupPath);
m_StoredProc->Parameters->CreateParameter("@CompanyLanguage",ftSmallint,pdInput,10,m_CompanyLanguage);
m_StoredProc->ExecProc();
}
TsdCompany *p=new TsdCompany();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->CompanyCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->CompanyCode,this->b_CompanyCode);
}
}
void TsdCompany::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -