?? emhdl.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#define _YW_SDERP_DLL
#include "Emhdl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//**************************************
// TsdFadn 設備增加
//**************************************
//--------------------------------------------------------------
void __fastcall TsdFadn:: SetFadnCode(AnsiString value)
{
if(value.IsEmpty())
throw Exception("設備編碼不能為空");
if(value.Length()>18)
throw Exception("設備編碼長度不能大于18");
if(value!=m_FadnCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT Fadncode FROM SDFadn WHERE fadncode='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("設備編碼 '" +value+"' 已存在");
}
m_Query->Close();
}
m_FadnCode=value;
}
void __fastcall TsdFadn:: SetFadnName(AnsiString value)
{
if (value.IsEmpty())
throw Exception("設備名稱不能為空");
if(value.Length()>20)
throw Exception("設備名稱長度不能大于20");
m_FadnName=value;
}
void __fastcall TsdFadn:: SetFadnDesc(AnsiString value)
{
if(value.Length()>40)
throw Exception("備注長度不能大于40");
m_FadnDesc=value;
}
void __fastcall TsdFadn:: SetFadnFat(AnsiString value)
{
if (value.IsEmpty())
throw Exception("設備類型編碼不能為空");
if(value.Length()>18)
throw Exception("設備類型編碼長度不能超過18");
if (value!=m_FadnFat)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT fatcode FROM sdFat where fatcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
{
m_Query->Close();
throw Exception("設備類型編碼'" +value+"'未定義");
}
m_Query->Close();
}
m_FadnFat=value;
}
void __fastcall TsdFadn:: SetFadnUnit(AnsiString value)
{
if (value.IsEmpty())
throw Exception("計量單位編碼不能為空");
if(value.Length()>18)
throw Exception("計量單位編碼長度不能超過18");
if (value!=m_FadnUnit)
{
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<1 )
{
m_Query->Close();
throw Exception("計量單位編碼'" +value+"'未定義");
}
m_Query->Close();
}
m_FadnUnit=value;
}
void __fastcall TsdFadn:: SetFadnDate(AnsiString value)
{
if (value.IsEmpty())
throw Exception("入帳日期不能為空");
if(value.Length()>10)
throw Exception("入帳日期長度不能超過10");
m_FadnDate=Validate(value);
}
void __fastcall TsdFadn:: SetFadnFmonth(AnsiString value)
{
if (value.IsEmpty())
throw Exception("財務月份不能為空");
if(value.Length()>6)
throw Exception("財務月份長度不能超過6");
m_FadnFmonth=value;
}
void __fastcall TsdFadn:: SetFadnFaUse(AnsiString value)
{
if (value.IsEmpty())
throw Exception("使用狀態編碼不能為空");
if(value.Length()>18)
throw Exception("使用狀態編碼長度不能超過18");
if (value!=m_FadnFaUse)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT fausecode FROM sdfause where fausecode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
{
m_Query->Close();
throw Exception("使用狀態編碼'" +value+"'未定義");
}
m_Query->Close();
}
m_FadnFaUse=value;
}
void __fastcall TsdFadn:: SetFadnAddr(AnsiString value)
{
if(value.Length()>40)
throw Exception("存放地點長度不能超過40");
m_FadnAddr=value;
}
void __fastcall TsdFadn:: SetFadnEuse(int value)
{
if(value!=1&&value!=2)
throw Exception("濟濟用途只能取: 1 -經營用固定資產, 2-非經營用固定資產");
m_FadnEuse=value;
}
void __fastcall TsdFadn:: SetFadnFav(AnsiString value)
{
if(value.Length()>18)
throw Exception("變動方式長度不能超過18");
m_FadnFav=value;
}
void __fastcall TsdFadn:: SetFadnModel(AnsiString value)
{
if(value.Length()>18)
throw Exception("規格型號長度不能超過18");
m_FadnModel=value;
}
void __fastcall TsdFadn:: SetFadnSupply(AnsiString value)
{
if(value.Length()>18)
throw Exception("供應商編碼長度不能超過18");
if (value!=m_FadnSupply)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT supplycode FROM sdsupply where SupplyCancel=0 and supplycode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
{
m_Query->Close();
throw Exception("供應商編碼'" +value+"'未定義或已停用");
}
m_Query->Close();
}
m_FadnSupply=value;
}
void __fastcall TsdFadn:: SetFadnFactory(AnsiString value)
{
if(value.Length()>40)
throw Exception("制造商長度不能超過40");
m_FadnFactory=value;
}
void __fastcall TsdFadn:: SetFadnArea(AnsiString value)
{
if(value.Length()>40)
throw Exception("產地長度不能超過40");
m_FadnArea=value;
}
void __fastcall TsdFadn:: SetFadnOfDate(AnsiString value)
{
AnsiString TempDate;
if (value.IsEmpty())
throw Exception("出產日期不能為空");
if(value.Length()>10)
throw Exception("出產日期長度不能超過10");
TempDate=Validate(value);
if(TempDate> m_FadnDate)
throw Exception("出產日期長度不能大于入帳日期。");
m_FadnOfDate=Validate(value);
}
void __fastcall TsdFadn:: SetFadnDept(AnsiString value)
{
if (value.IsEmpty())
throw Exception("所屬部門編碼不能為空");
if(value.Length()>18)
throw Exception("所屬部門編碼長度不能超過18");
if (value!=m_FadnDept)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT deptcode FROM sddept where deptcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
{
m_Query->Close();
throw Exception("所屬部門編碼'" +value+"'未定義");
}
m_Query->Close();
}
m_FadnDept=value;
}
void __fastcall TsdFadn:: SetFadnCurrency(AnsiString value)
{
if(value.Length()>18)
throw Exception("幣種代碼長度不能超過18");
if (value!=m_FadnCurrency)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT currencycode FROM sdcurrency where currencycode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
{
m_Query->Close();
throw Exception("幣種代碼'" +value+"'未定義");
}
m_Query->Close();
}
m_FadnCurrency=value;
}
void __fastcall TsdFadn:: SetFadnERate(double value)
{
if(value<=0)
throw Exception("匯率不能小于等于零");
m_FadnERate=value;
}
void __fastcall TsdFadn:: SetFadnOVal(double value)
{
if(value<0)
throw Exception("本幣原值不能小于零");
m_FadnOVal=value;
}
void __fastcall TsdFadn:: SetFadnWbOVal(double value)
{
if(value<0)
throw Exception("外幣原值不能小于零");
m_FadnWbOVal=value;
}
void __fastcall TsdFadn:: SetFadnPVal(double value)
{
if(value<0)
throw Exception("最初原值不能小于零");
if(m_FadnOVal>value)
throw Exception("本幣原值不能大于最初原值");
m_FadnPVal=value;
}
void __fastcall TsdFadn:: SetFadnEVal(double value)
{
if(value<0)
throw Exception("預計殘值不能小于零");
m_FadnEVal=value;
}
void __fastcall TsdFadn:: SetFadnCVal(double value)
{
if(value<0)
throw Exception("預計清理費用不能小于零");
m_FadnCVal=value;
}
void __fastcall TsdFadn:: SetFadnDVal(double value)
{
if(value<0)
throw Exception("累計折舊不能小于零");
if(value>m_FadnPVal-m_FadnEVal)
throw Exception("累計折舊不能大于最初原值減預計凈殘值");
/* if(value!=m_FadnPVal-m_FadnOVal)
throw Exception("累計折舊不能不等于最初原值減本幣原值");
*/ m_FadnDVal=value;
}
void __fastcall TsdFadn:: SetFadnBVal(double value)
{
if(value<0)
throw Exception("入帳前累計折舊不能小于零");
if(value>m_FadnDVal)
throw Exception("入帳前累計折舊不能大于累計折舊");
m_FadnBVal=value;
}
void __fastcall TsdFadn:: SetFadnTWork(double value)
{
if(value<0)
throw Exception("總工作量不能小于零");
m_FadnTWork=value;
}
void __fastcall TsdFadn:: SetFadnAWork(double value)
{
if(value<0)
throw Exception("累計工作量不能小于零");
m_FadnAWork=value;
}
void __fastcall TsdFadn:: SetFadnBWork(double value)
{
if(value<0)
throw Exception("入帳前累計工作量不能小于零");
m_FadnBWork=value;
}
void __fastcall TsdFadn:: SetFadnPeriod(int value)
{
if(value<0)
throw Exception("使用期限不能小于零");
m_FadnPeriod=value;
}
void __fastcall TsdFadn:: SetFadnAPeriod(int value)
{
if(value<0)
throw Exception("累計使用期限不能小于零。");
m_FadnAPeriod=value;
}
void __fastcall TsdFadn:: SetFadnBPeriod(int value)
{
if(value<0)
throw Exception("入帳前累計使用期限不能小于零。");
m_FadnBPeriod=value;
}
void __fastcall TsdFadn:: SetFadnFadm(AnsiString value)
{
if (value.IsEmpty())
throw Exception("折舊方法編碼不能為空!");
if(value.Length()>18)
throw Exception("折舊方法編碼長度不能超過18。");
if (value!=m_FadnFadm)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT fadmcode FROM sdfadm where fadmcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
{
m_Query->Close();
throw Exception("折舊方法編碼'"+value+"'未定義");
}
m_Query->Close();
}
if(value=="101")
{
if(m_FadnAWork>m_FadnTWork)
throw Exception("累計工作量不能大于總工作量");
if(m_FadnBWork>m_FadnAWork)
throw Exception("入帳前累計工作量不能大于累計工作量");
}
else
{
if(m_FadnPeriod<=2)
throw Exception("使用期限不能小于等于'2'");
if(m_FadnAPeriod>m_FadnPeriod)
throw Exception("累計使用期限不能大于使用期限");
if(m_FadnBPeriod>m_FadnAPeriod)
throw Exception("入帳前累計使用期限不能大于累計使用期限");
}
m_FadnFadm=value;
}
void __fastcall TsdFadn:: SetFadnUDate(AnsiString value)
{
AnsiString TempDate;
if (value.IsEmpty())
throw Exception("使用日期不能為空");
if(value.Length()>18)
throw Exception("使用日期長度不能超過18");
TempDate=Validate(value);
if(m_FadnOfDate>TempDate)
throw Exception("出產日期不能大于使用日期");
m_FadnUDate=Validate(value);
}
void __fastcall TsdFadn:: SetFadnAddType(AnsiString value)
{
if (value.IsEmpty())
throw Exception("增加方式不能為空");
if(value.Length()>18)
throw Exception("增加方式長度不能超過18");
if (value!=m_FadnAddType)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT favcode FROM sdfav where favcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1 )
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -