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

📄 mgoods.cpp

📁 一个以前收集的基于C/S架构的ERP客户端源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#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 + -