📄 mgpch.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mGpch.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSGpch *sdGpch;
//---------------------------------------------------------------------------
__fastcall TKSGpch::TKSGpch()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSGpch::ValidHeadValues()
{
AnsiString m_GpchCode;
AnsiString b_GpchCode;
m_GpchCode=GetMasterValue("GpchCode");
b_GpchCode=GetMasterOldValue("GpchCode");
if(m_GpchCode.IsEmpty())
throw Exception("更改单号不能为空");
if(m_GpchCode.Length()>18)
throw Exception("更改单号长度不能大于18");
AnsiString m_GpchDate;
m_GpchDate=GetMasterValue("GpchDate");
if(m_GpchDate.IsEmpty())
throw Exception("质检日期不能为空");
/*
AnsiString m_GpchUser;
AnsiString b_GpchUser;
m_GpchUser=GetMasterValue("GpchUser");
b_GpchUser=GetMasterOldValue("GpchUser");
if(m_GpchUser.IsEmpty())
throw Exception("操作员代码不能为空");
if(m_GpchUser.Length()>18)
throw Exception("操作员代码长度不能大于18");
if(m_GpchUser!=b_GpchUser)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT KeeperCode FROM SDKeeper WHERE KeeperCode='" +m_GpchUser+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("操作员'"+m_GpchUser+"'未定义");
}
Query->Close();
}
*/
int m_GpchCheck;
m_GpchCheck=GetMasterValue("GpchCheck");
if(m_GpchCheck!=0 && m_GpchCheck!=1)
throw Exception("审核标志只能取值0-未审核1-已审");
/*
AnsiString m_GpchChecker;
AnsiString b_GpchChecker;
m_GpchChecker=GetMasterValue("GpchChecker");
b_GpchChecker=GetMasterOldValue("GpchChecker");
int m_GpchCheck;
m_GpchCheck=GetMasterValue("GpchCheck");
if(m_GpchCheck==1)
{
if(m_GpchChecker.IsEmpty())
throw Exception("审核员代码不能为空");
if(m_GpchChecker.Length()>18)
throw Exception("审核员代码长度不能大于18");
if(m_GpchChecker!=b_GpchChecker)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select Keepercode from sdKeeper where KeeperCheck=1 and Keepercode='"+m_GpchChecker+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("审核员代码未定义");
}
Query->Close();
}
}
else
b_GpchChecker="";
*/
AnsiString m_GpchCheckDate;
m_GpchCheckDate=GetMasterValue("GpchCheckDate");
m_GpchCheck=GetMasterValue("GpchCheck");
if(m_GpchCheck==1)
{
if(m_GpchCheckDate.IsEmpty())
throw Exception("审核日期不能为空");
}
AnsiString m_GpchSysDate;
m_GpchSysDate=GetMasterValue("GpchSysDate");
}
//---------------------------------------------------------------------------
void __fastcall TKSGpch::ValidItemValues()
{
AnsiString m_GpcdCode;
m_GpcdCode=GetDetailValue("GpcdCode");
if(m_GpcdCode.IsEmpty())
throw Exception("更改单号不能为空!");
if(m_GpcdCode.Length()>18)
throw Exception("更改单号长度不能大于18");
int m_GpcdLine;
int b_GpcdLine;
m_GpcdLine=GetDetailValue("GpcdLine");
b_GpcdLine=GetDetailOldValue("GpcdLine");
m_GpcdCode=GetDetailValue("GpcdCode");
if(m_GpcdLine<=0)
throw Exception("更改单行号不能小于等于零");
AnsiString m_GpcdGoods;
AnsiString b_GpcdGoods;
m_GpcdGoods=GetDetailValue("GpcdGoods");
b_GpcdGoods=GetDetailOldValue("GpcdGoods");
m_GpcdCode=GetDetailValue("GpcdCode");
if(m_GpcdGoods.IsEmpty())
throw Exception("物料编码不能为空");
if(m_GpcdGoods.Length()>18)
throw Exception("物料编码长度不能大于18");
if(m_GpcdGoods!=b_GpcdGoods)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add(" select GoodsCode from sdGoods where GoodsCancel=0 and ");
Query->SQL->Add(" GoodsCode='"+m_GpcdGoods+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("物料编码'"+m_GpcdGoods+"'未定义");
}
Query->Close();
Query->SQL->Clear();
Query->SQL->Add(" select GpcdGoods from sdGpcd where GpcdCode='"+m_GpcdCode+"' and ");
Query->SQL->Add(" GpcdGoods='"+m_GpcdGoods+"'");
Query->Open();
if(Query->RecordCount>0)
{
Query->Close();
throw Exception("该物料'"+m_GpcdGoods+"'的更改记录已经定义");
}
Query->Close();
}
double m_GpcdOSoQ;
m_GpcdOSoQ=GetDetailValue("GpcdOSoQ");
if(m_GpcdOSoQ < 0)
throw Exception("安全库存量不能小于零");
double m_GpcdNSoq;
m_GpcdNSoq=GetDetailValue("GpcdNSoq");
if(m_GpcdNSoq < 0)
throw Exception("安全库存量不能小于零");
double m_GpcdORoq;
m_GpcdORoq=GetDetailValue("GpcdORoq");
if(m_GpcdORoq < 0)
throw Exception("再订货点不能小于零");
double m_GpcdNRoq;
m_GpcdNRoq=GetDetailValue("GpcdNRoq");
if(m_GpcdNRoq < 0)
throw Exception("再订货点不能小于零");
double m_GpcdOEoq;
m_GpcdOEoq=GetDetailValue("GpcdOEoq");
if(m_GpcdOEoq < 0)
throw Exception("批量不能小于零");
double m_GpcdNEoq;
m_GpcdNEoq=GetDetailValue("GpcdNEoq");
if(m_GpcdNEoq < 0)
throw Exception("批量不能小于零");
double m_GpcdOEoi;
m_GpcdOEoi=GetDetailValue("GpcdOEoi");
if(m_GpcdOEoi < 0)
throw Exception("订货周期不能小于零");
double m_GpcdNEoi;
m_GpcdNEoi=GetDetailValue("GpcdNEoi");
if(m_GpcdNEoi < 0)
throw Exception("订货周期不能小于零");
double m_GpcdOXoq;
m_GpcdOXoq=GetDetailValue("GpcdOXoq");
if(m_GpcdOXoq < 0)
throw Exception("最大库存不能小于零");
double m_GpcdNXoq;
m_GpcdNXoq=GetDetailValue("GpcdNXoq");
if(m_GpcdNXoq < 0)
throw Exception("最大库存不能小于零");
double m_GpcdOOoq;
m_GpcdOOoq=GetDetailValue("GpcdOOoq");
if(m_GpcdOOoq < 0)
throw Exception("发放批量不能小于零");
double m_GpcdNOoq;
m_GpcdNOoq=GetDetailValue("GpcdNOoq");
if(m_GpcdNOoq < 0)
throw Exception("发放批量不能小于零");
double m_GpcdOWr;
m_GpcdOWr=GetDetailValue("GpcdOWr");
if(m_GpcdOWr < 0)
throw Exception("损耗率不能小于零");
double m_GpcdNWr;
m_GpcdNWr=GetDetailValue("GpcdNWr");
if(m_GpcdNWr < 0)
throw Exception("损耗率不能小于零");
double m_GpcdOMpq;
m_GpcdOMpq=GetDetailValue("GpcdOMpq");
if(m_GpcdOMpq < 0)
throw Exception("最小包装数不能小于零");
double m_GpcdNMpq;
m_GpcdNMpq=GetDetailValue("GpcdNMpq");
if(m_GpcdNMpq < 0)
throw Exception("最小包装数不能小于零");
double m_GpcdOPlt;
m_GpcdOPlt=GetDetailValue("GpcdOPlt");
if(m_GpcdOPlt < 0)
throw Exception("采购提前期不能小于零");
double m_GpcdNPlt;
m_GpcdNPlt=GetDetailValue("GpcdNPlt");
if(m_GpcdNPlt < 0)
throw Exception("采购提前期不能小于零");
double m_GpcdOPot;
m_GpcdOPot=GetDetailValue("GpcdOPot");
if(m_GpcdOPot < 0)
throw Exception("完工停放期不能小于零");
double m_GpcdNPot;
m_GpcdNPot=GetDetailValue("GpcdNPot");
if(m_GpcdNPot < 0)
throw Exception("完工停放期不能小于零");
int m_GpcdOPlan;
m_GpcdOPlan=GetDetailValue("GpcdOPlan");
if(m_GpcdOPlan < 1 || m_GpcdOPlan > 6)
throw Exception("计划方法只能为:1-MRP,2-MPS,3-定货点,4-预测,5-成套件,6-自定义");
int m_GpcdNPlan;
m_GpcdNPlan=GetDetailValue("GpcdNPlan");
if(m_GpcdNPlan < 1 || m_GpcdNPlan > 6)
throw Exception("计划方法只能为:1-MRP,2-MPS,3-定货点,4-预测,5-成套件,6-自定义");
double m_GpcdONoq;
m_GpcdONoq=GetDetailValue("GpcdONoq");
if(m_GpcdONoq < 0)
throw Exception("最小库存不能小于零");
double m_GpcdNNoq;
m_GpcdNNoq=GetDetailValue("GpcdNNoq");
m_GpcdNXoq=GetDetailValue("GpcdNXoq");
if(m_GpcdNNoq < 0)
throw Exception("最小库存不能小于零");
if(m_GpcdNNoq > 0 && m_GpcdNXoq>0 && m_GpcdNNoq>m_GpcdNXoq)
throw Exception("最小库存不能大于最大库存");
int m_GpcdOOd;
m_GpcdOOd=GetDetailValue("GpcdOOd");
if(m_GpcdOOd < 0)
throw Exception("积压天数不能小于零");
int m_GpcdNOd;
m_GpcdNOd=GetDetailValue("GpcdNOd");
if(m_GpcdNOd < 0)
throw Exception("积压天数不能小于零");
int m_GpcdOId;
m_GpcdOId=GetDetailValue("GpcdOId");
if(m_GpcdOId < 0)
throw Exception("呆滞天数不能小于零");
int m_GpcdNId;
m_GpcdNId=GetDetailValue("GpcdNId");
if(m_GpcdNId < 0)
throw Exception("呆滞天数不能小于零");
AnsiString m_GpcdDesc;
m_GpcdDesc=GetDetailValue("GpcdDesc");
AnsiString m_GpcdGccr;
AnsiString b_GpcdGccr;
m_GpcdGccr=GetDetailValue("GpcdGccr");
b_GpcdGccr=GetDetailOldValue("GpcdGccr");
if(m_GpcdGccr.IsEmpty())
throw Exception("更改原因不能为空");
if(m_GpcdGccr.Length()>18)
throw Exception("更改原因代码长度不能大于18");
if(m_GpcdGccr!=b_GpcdGccr)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add(" select GccrCode from sdGccr where ");
Query->SQL->Add(" GccrCode='"+m_GpcdGccr+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("更改原因'"+m_GpcdGccr+"'未定义");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSGpch::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -