📄 mpbomh.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "mPbomh.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
TKSPbomh *sdPbomh;
//---------------------------------------------------------------------------
__fastcall TKSPbomh::TKSPbomh()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidHeadValues()
{
//父件编码
ValidPbomhGoods();
//开始日期
ValidPbomhEdate();
//结束日期
ValidPbomhIdate();
//计量单位
ValidPbomhUnit();
//批量
ValidPbomhEoq();
//提前期
ValidPbomhRlt();
//成品率
ValidPbomhFpr();
//计划策略
ValidPbomhPp();
//订货策略
ValidPbomhOp();
//类型
ValidPbomhType();
//备注
ValidPbomhDesc();
//操作员
ValidPbomhUser();
//系统日期
ValidPbomhSysDate();
//生管员
ValidPbomhProducter();
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhGoods() //父件编码
{
AnsiString m_PbomhGoods;
AnsiString b_PbomhGoods;
m_PbomhGoods=GetMasterValue("PbomhGoods");
b_PbomhGoods=GetMasterOldValue("PbomhGoods");
if(m_PbomhGoods.UpperCase()!=b_PbomhGoods.UpperCase())
{
//合法性
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select GoodsUnitCode,GoodsType,GoodsEoq from sdGoods Where (GoodsType=1 or GoodsType=2) and GoodsFrom=2 and GoodsCode='"+m_PbomhGoods+"'");
Query->Open();
if(Query->RecordCount==0)
{
Query->Close();
throw Exception("该物料编码:'"+m_PbomhGoods+"'不存在或者不符合条件!");
}
}
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhEdate() //开始日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhIdate() //结束日期
{
AnsiString m_PbomhIdate;
AnsiString m_PbomhEdate;
m_PbomhIdate=GetMasterValue("PbomhIdate");
m_PbomhEdate=GetMasterValue("PbomhEdate");
if(m_PbomhIdate<=m_PbomhEdate)
throw Exception("失效日期不能小于等于生效日期!");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhUnit() //计量单位
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhEoq() //批量
{
double m_PbomhEoq;
m_PbomhEoq=GetMasterValue("PbomhEoq");
if(m_PbomhEoq<0)
throw Exception("批量的大小不能够小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhRlt() //提前期
{
double m_PbomhRlt;
m_PbomhRlt=GetMasterValue("PbomhRlt");
if(m_PbomhRlt<0)
throw Exception("运行提前期不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhFpr() //成品率
{
double m_PbomhFpr;
m_PbomhFpr=GetMasterValue("PbomhFpr");
if(m_PbomhFpr<0 && m_PbomhFpr>1)
throw Exception("成品率不能小于零或大于100%");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhPp() //计划策略
{
int m_PbomhPp;
m_PbomhPp=GetMasterValue("PbomhPp");
if(m_PbomhPp!=1 && m_PbomhPp!=2 && m_PbomhPp!=3 && m_PbomhPp!=4 && m_PbomhPp!=5 && m_PbomhPp!=6)
throw Exception("计划方法只能取值(1-MRP,2-MPS,3-订货点,4-预测,5-成套件,6-自定义.)");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhOp() //订货策略
{
int m_PbomhOp;
m_PbomhOp=GetMasterValue("PbomhOp");
if(m_PbomhOp!=1 && m_PbomhOp!=1 && m_PbomhOp!=2 && m_PbomhOp!=3 && m_PbomhOp!=4 && m_PbomhOp!=5 && m_PbomhOp!=6)
throw Exception("订货策略只能取值(1-无策略,2-订货点策略,3-订货上限策略,\n4-定期订货策略,5-定量订货策略,6-手工订货策略.)");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhType() //类型
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhDesc() //备注
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhUser() //操作员
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhSysDate() //系统日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomhProducter() //生管员
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidItemValues()
{
ValidPbomdGoods();
ValidPbomdPgoods();
ValidPbomdUnit();
ValidPbomdQty();
ValidPbomdFcp();
ValidPbomdOptNo();
ValidPbomdShl();
ValidPbomdType();
ValidPbomdSn();
ValidPbomdPp();
ValidPbomdOp();
ValidPbomdFrom();
ValidPbomdProcess();
ValidPbomdOption();
ValidPbomdLot();
ValidPbomdDesc();
ValidPbomdLlc();
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdGoods()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdPgoods()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdUnit()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdQty()
{
double m_PbomdQty;
m_PbomdQty=GetDetailValue("PbomdQty");
if(m_PbomdQty<=0)
throw Exception("消耗定额不能小于等于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdFcp()
{
double m_PbomdFcp;
m_PbomdFcp=GetDetailValue("PbomdFcp");
if(m_PbomdFcp<=0 || m_PbomdFcp>1)
throw Exception("构成百分比不能大于1或小于等于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdOptNo()
{
int m_PbomdOptNo;
m_PbomdOptNo=GetDetailValue("PbomdOptNo");
if(m_PbomdOptNo<=0)
throw Exception("选项号不能小于0");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdShl()
{
double m_PbomdShl;
m_PbomdShl=GetDetailValue("PbomdShl");
if(m_PbomdShl<0 || m_PbomdShl>1)
throw Exception("损耗率不能小于零或大于1");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdType()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdSn()
{
int m_PbomdSn,b_PbomdSn;
AnsiString m_PbomhGoods;
m_PbomdSn=GetDetailValue("PbomdSn");
b_PbomdSn=GetDetailOldValue("PbomdSn");
m_PbomhGoods=GetMasterValue("PbomhGoods");
if((m_PbomdSn<0) || (m_PbomdSn==0))
throw Exception("计划物料清行明细的序号必须为整数且大于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdPp()
{
int m_PbomdPp;
m_PbomdPp=GetDetailValue("PbomdPp");
if(m_PbomdPp!=1 && m_PbomdPp!=2 && m_PbomdPp!=3 && m_PbomdPp!=4 && m_PbomdPp!=5 && m_PbomdPp!=6)
throw Exception("计划方法只能取值1-MRP,2-MPS,3-订货点,4-预测,5-成套件,6-自定义");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdOp()
{
int m_PbomdOp;
m_PbomdOp=GetDetailValue("PbomdOp");
if(m_PbomdOp!=1 && m_PbomdOp!=1 && m_PbomdOp!=2 && m_PbomdOp!=3 && m_PbomdOp!=4 && m_PbomdOp!=5 && m_PbomdOp!=6)
throw Exception("订货策略只能取值1-无策略,2-订货点策略,3-订货上限策略,\n4-定期订货策略,5-定量订货策略,6-手工订货策略!");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdFrom()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdProcess()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdOption()
{
int m_PbomdOption;
m_PbomdOption=GetDetailValue("PbomdOption");
if(m_PbomdOption!=0 && m_PbomdOption!=1)
throw Exception("可选件标志只能取值0-必选件,1-可选件");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdLot()
{
double m_PbomdLot;
m_PbomdLot=GetDetailValue("PbomdLot");
if(m_PbomdLot<0)
throw Exception("偏置时间不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdDesc()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::ValidPbomdLlc()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSPbomh::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -