⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpbomh.cpp

📁 科思ERP部分源码及控件
💻 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 + -