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

📄 mgpch.cpp

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