📄 mgoods.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mGoods.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSGoods *sdGoods;
//---------------------------------------------------------------------------
__fastcall TKSGoods::TKSGoods()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSGoods::ValidHeadValues()
{
AnsiString m_GoodsCode;
AnsiString b_GoodsCode;
m_GoodsCode=GetMasterValue("GoodsCode");
b_GoodsCode=GetMasterOldValue("GoodsCode");
if(m_GoodsCode.IsEmpty())
throw Exception("货物编码不能为空!");
if(m_GoodsCode.Length()>18)
throw Exception("物料编码长度不能大于18");
b_GoodsCode = m_GoodsCode;
AnsiString m_GoodsName;
AnsiString b_GoodsName;
m_GoodsName=GetMasterValue("GoodsName");
b_GoodsName=GetMasterOldValue("GoodsName");
if(m_GoodsName.IsEmpty())
throw Exception("货物编码的名称不能为空!");
if(m_GoodsName.Length()>40)
throw Exception("物料名称长度不能大于40");
b_GoodsName = m_GoodsName;
AnsiString m_GoodsDesc;
AnsiString b_GoodsDesc;
m_GoodsDesc=GetMasterValue("GoodsDesc");
b_GoodsDesc=GetMasterOldValue("GoodsDesc");
if(m_GoodsDesc.Length()>40)
throw Exception("物料编码备注长度不能大于40");
b_GoodsDesc = m_GoodsDesc;
AnsiString m_GoodsPmpcCode;
AnsiString b_GoodsPmpcCode;
m_GoodsPmpcCode=GetMasterValue("GoodsPmpcCode");
b_GoodsPmpcCode=GetMasterOldValue("GoodsPmpcCode");
if(m_GoodsPmpcCode.IsEmpty())
throw Exception("物料分类码不能为空");
if(m_GoodsPmpcCode.Length()>18)
throw Exception("物料分类码长度不能大于18");
if(m_GoodsPmpcCode != b_GoodsPmpcCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select PmpcCode from sdPmpc where PmpcCode='"+m_GoodsPmpcCode+"' and pmpcend=1");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("物料分类码:'"+m_GoodsPmpcCode+"'未定义或不是末级");
}
Query->Close();
}
b_GoodsPmpcCode = m_GoodsPmpcCode;
AnsiString m_GoodsUnitCode;
AnsiString b_GoodsUnitCode;
m_GoodsUnitCode=GetMasterValue("GoodsUnitCode");
b_GoodsUnitCode=GetMasterOldValue("GoodsUnitCode");
if(!m_GoodsUnitCode.IsEmpty())
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select UnitCode from sdunit where unitCode='"+m_GoodsUnitCode+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("计量单位:'"+m_GoodsUnitCode+"'未定义");
}
Query->Close();
}
if(m_GoodsUnitCode.IsEmpty())
throw Exception("计量单位不能为空");
if(m_GoodsUnitCode.Length()>18)
throw Exception("计量单位长度不能大于18");
if(m_GoodsUnitCode != b_GoodsUnitCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select UnitCode from sdUnit where UnitCode='"+m_GoodsUnitCode+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("计量单位:'"+m_GoodsUnitCode+"'未定义");
}
Query->Close();
}
b_GoodsUnitCode = m_GoodsUnitCode;
int m_GoodsMUnit;
int b_GoodsMUnit;
m_GoodsMUnit=GetMasterValue("GoodsMUnit");
if(m_GoodsMUnit!=0 && m_GoodsMUnit!=1)
throw Exception("多计量单取值只能是0-单计量单位1-多计量单位");
int m_GoodsIUnit;
int b_GoodsIUnit;
m_GoodsIUnit=GetMasterValue("GoodsIUnit");
if(m_GoodsIUnit!=0&&m_GoodsIUnit!=1)
throw Exception("整计量单位只能取值0-非整计量单位1-整计量单位");
int m_GoodsBatch;
int b_GoodsBatch;
m_GoodsBatch=GetMasterValue("GoodsBatch");
if(m_GoodsBatch!=0&&m_GoodsBatch!=1)
throw Exception("批号管理标志只能取值0-非批次管理1-批次管理");
int m_GoodsSingle;
int b_GoodsSingle;
m_GoodsSingle=GetMasterValue("GoodsSingle");
if(m_GoodsSingle!=0&&m_GoodsSingle!=1)
throw Exception("单件管理标志只能取值0-不需单件管理1-需单件管理");
int m_GoodsSale;
int b_GoodsSale;
m_GoodsSale=GetMasterValue("GoodsSale");
if(m_GoodsSale!=0&&m_GoodsSale!=1)
throw Exception("销售标志只能取值0-不可销售1-可销售");
int m_GoodsCancel;
int b_GoodsCancel;
m_GoodsCancel=GetMasterValue("GoodsCancel");
if(m_GoodsCancel!=0 && m_GoodsCancel!=1)
throw Exception("取消标志只能取值0-正常1-取消");
int m_GoodsType;
int b_GoodsType;
m_GoodsType=GetMasterValue("GoodsType");
if(m_GoodsType!=1&&m_GoodsType!=2 && m_GoodsType!=3 && m_GoodsType!=4 && m_GoodsType!=5 && m_GoodsType!=6 && m_GoodsType!=7 && m_GoodsType!=8 && m_GoodsType!=9)
throw Exception("物料类型只能取值1-成品,2-半成品,3-原材料,4-零件,5-备用件,6-工具,7-费用件,8-虚拟件,9-在流件");
AnsiString m_GoodsSpec;
AnsiString b_GoodsSpec;
m_GoodsSpec=GetMasterValue("GoodsSpec");
if(m_GoodsSpec.Length()>18)
throw Exception("规格长度不能大于18");
b_GoodsSpec = m_GoodsSpec;
AnsiString m_GoodsModel;
AnsiString b_GoodsModel;
m_GoodsModel=GetMasterValue("GoodsModel");
if(m_GoodsModel.Length()>18)
throw Exception("型号长度不能大于18");
AnsiString m_GoodsBpNo;
AnsiString b_GoodsBpNo;
m_GoodsBpNo=GetMasterValue("GoodsBpNo");
if(m_GoodsBpNo.Length()>18)
throw Exception("图号长度不能大于18");
AnsiString m_GoodsVer;
AnsiString b_GoodsVer;
m_GoodsVer=GetMasterValue("GoodsVer");
if(m_GoodsVer.Length()>18)
throw Exception("版本号长度不能大于18");
AnsiString m_GoodsMold;
AnsiString b_GoodsMold;
m_GoodsMold=GetMasterValue("GoodsMold");
if(m_GoodsMold.Length()>18)
throw Exception("模具编码长度不能大于18");
int m_GoodsCheck;
int b_GoodsCheck;
m_GoodsCheck=GetMasterValue("GoodsCheck");
if(m_GoodsCheck!=0 && m_GoodsCheck!=1)
throw Exception("需质检标志只能取值0-不需质检1-需质检");
AnsiString m_GoodsWunit;
AnsiString b_GoodsWunit;
m_GoodsWunit=GetMasterValue("GoodsWunit");
b_GoodsWunit=GetMasterOldValue("GoodsWunit");
if(m_GoodsWunit.Length()>18)
throw Exception("重量单位长度不能大于18");
b_GoodsWunit = m_GoodsWunit;
double m_GoodsWeight;
double b_GoodsWeight;
m_GoodsWeight=GetMasterValue("GoodsWeight");
if(m_GoodsWeight<0)
throw Exception("重量不能小于0");
AnsiString m_GoodsCunit;
AnsiString b_GoodsCunit;
m_GoodsCunit=GetMasterValue("GoodsCunit");
if(m_GoodsCunit.Length()>18)
throw Exception("体积单位长度不能大于18");
double m_GoodsCubage;
double b_GoodsCubage;
m_GoodsCubage=GetMasterValue("GoodsCubage");
if(m_GoodsCubage<0)
throw Exception("体积不能小于0");
AnsiString m_GoodsLocCode;
AnsiString b_GoodsLocCode;
m_GoodsLocCode=GetMasterValue("GoodsLocCode");
b_GoodsLocCode=GetMasterOldValue("GoodsLocCode");
if(m_GoodsLocCode.Length()>18)
throw Exception("缺省货位编码长度不能大于18");
if(m_GoodsLocCode.IsEmpty()==false && m_GoodsLocCode!=b_GoodsLocCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select LocCode from sdloc where LocCode='"+m_GoodsLocCode+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("货位编码:'"+m_GoodsLocCode+"'未定义");
}
Query->Close();
}
b_GoodsLocCode = m_GoodsLocCode;
int m_GoodsFrom;
int b_GoodsFrom;
m_GoodsFrom=GetMasterValue("GoodsFrom");
if(m_GoodsFrom!=1 && m_GoodsFrom!=2)
throw Exception("物料来源只能取值1-采购件,2-制造件");
double m_GoodsSafeQty;
double b_GoodsSafeQty;
m_GoodsSafeQty=GetMasterValue("GoodsSafeQty");
if(m_GoodsSafeQty<0)
throw Exception("安全库存量不能小于0");
double m_GoodsRopQty;
double b_GoodsRopQty;
m_GoodsRopQty=GetMasterValue("GoodsRopQty");
if(m_GoodsRopQty<0)
throw Exception("再订货点不能小于0");
double m_GoodsEoq;
double b_GoodsEoq;
m_GoodsEoq=GetMasterValue("GoodsEoq");
if(m_GoodsEoq<0)
throw Exception("订货批量不能小于0");
int m_GoodsEoi;
int b_GoodsEoi;
m_GoodsEoi=GetMasterValue("GoodsEoi");
if(m_GoodsEoi<0)
throw Exception("订货周期不能小于0");
double m_GoodsMaxQty;
double b_GoodsMaxQty;
m_GoodsMaxQty=GetMasterValue("GoodsMaxQty");
if(m_GoodsMaxQty<0)
throw Exception("最大库存量不能小于0");
double m_GoodsOoq;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -