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

📄 mwo.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "mWo.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)

TKSWo *sdWo;
//---------------------------------------------------------------------------
__fastcall TKSWo::TKSWo()
  :TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidHeadValues()
{
  //工单号
      ValidWoCode();
  //状态
      ValidWoStatus();
  //类型
      ValidWoType();
  //物料消耗方式
      ValidWoConsume();
  //工艺跟踪方式
      ValidWoTrace();
  //加工件
      ValidWoGoods();
  //销售订单号
      ValidWoSoCode();
  //订单行号
      ValidWoSodLine();
  //工艺路线
      ValidWoRoute();
  //来源
      ValidWoFrom();
  //检验标志
      ValidWoChkFlg();
  //要求数量
      ValidWoQty();
  //完工数量
      ValidWoCQty();
  //合格数量
      ValidWoEQty();
  //废品数量
      ValidWoWQty();
  //返修数量
      ValidWoRQty();
  //次品数量
      ValidWoSQty();
  //日期
      ValidWoDate();
  //要求完成日期
      ValidWoRdate();
  //MRP日期
      ValidWoMDate();
  //开始日期
      ValidWoSdate();
  //结清
      ValidWoClose();
  //结清日期
      ValidWoCloseDate();
  //计量单位
      ValidWoUnit();
  //总工时
      ValidWoTwt();
  //人工费
      ValidWoPamt();
  //材料费
      ValidWoMamt();
  //制造费用
      ValidWoEamt();
  //备注
      ValidWoDesc();
  //操作员
      ValidWoUser();
  //系统时间
      ValidWoSysDate();
  //批号
      ValidWoBatch();
  //审核
      ValidWoCheck();
  //审核人
      ValidWoChecker();
  //审核日期
      ValidWoCheckDate();
  //取消
      ValidWoCancel();
  //取消日期
      ValidWoCancelDate();
  //生管人员
      ValidWoProducter();
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCode()  //工单号
{

}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoStatus()  //状态
{
   int m_WoStatus;
   m_WoStatus=GetMasterValue("WoStatus");
   if(m_WoStatus!=1 && m_WoStatus!=2 && m_WoStatus!=3 && m_WoStatus!=4 && m_WoStatus!=5)
      throw Exception("加工单状态只能取值(1-预备,2-确认计划,3-待下达,4-已下达,5-已完工)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoType()  //类型
{
   int m_WoType;
   m_WoType=GetMasterValue("WoType");
   if(m_WoType!=1 && m_WoType!=2 && m_WoType!=3 && m_WoType!=4 && m_WoType!=5)
      throw Exception("加工单类型只能取值(1-常规加工,2-返工,3-改装,4-委外加工,5-副产品)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoConsume()  //物料消耗方式
{
   int m_WoConsume;
   m_WoConsume=GetMasterValue("WoConsume");
   if(m_WoConsume!=1 && m_WoConsume!=2 && m_WoConsume!=3)
      throw Exception("物料消耗方式只能取值(1-配套表,2-BOM表,3-不消耗)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoTrace()  //工艺跟踪方式
{
   int m_WoTrace;
   m_WoTrace=GetMasterValue("WoTrace");
   if(m_WoTrace!=1 && m_WoTrace!=2 && m_WoTrace!=3)
      throw Exception("跟踪标志只能取值(1-工艺路线,2-工单路线,3-不跟踪)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoGoods()  //加工件
{
   AnsiString  m_WoGoods;
   AnsiString  b_WoGoods;
   m_WoGoods=GetMasterValue("WoGoods");
   b_WoGoods=GetMasterOldValue("WoGoods");

   if(m_WoGoods.UpperCase()!=b_WoGoods.UpperCase())
   {
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select GoodsCode,GoodsUnitCode,GoodsTrackSo,GoodsBatch From sdGoods Where (GoodsType=1 or GoodsType=2) and GoodsFrom=2 and GoodsCode='"+m_WoGoods+"'");
      Query->Open();
      if(Query->RecordCount==0)
      {
         Query->Close();
         throw Exception("加工单的加工件编码:'"+m_WoGoods+"'不存在或不符合条件!");
      }
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoSoCode()  //销售订单号
{
   AnsiString  m_WoSoCode;
   AnsiString  b_WoSoCode;
   m_WoSoCode=GetMasterValue("WoSoCode");
   b_WoSoCode=GetMasterOldValue("WoSoCode");
   if(!m_WoSoCode.IsEmpty())
   {

     if(m_WoSoCode.IsEmpty()==false)
     {
       Query->Close();
       Query->SQL->Clear();
       Query->SQL->Add("select SohCode from sdSoh where SohCheck=1 and SohCancel=0 and SohClose=0 and SohCode='"+m_WoSoCode+"'");
       Query->Open();
       if(Query->RecordCount<=0)
       {
         Query->Close();
         throw Exception("销售订单:"+m_WoSoCode+"不存在,或未审核,或已作废,或已结清!");
       }
       Query->Close();
     }
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoSodLine()  //订单行号
{
   int m_WoSodLine;
   int b_WoSodLine;
   AnsiString m_WoSoCode;
   m_WoSodLine=GetMasterValue("WoSodLine");
   b_WoSodLine=GetMasterOldValue("WoSodLine");
   m_WoSoCode=GetMasterValue("WoSoCode");
   if(!m_WoSoCode.IsEmpty())
   {
      if(m_WoSodLine!=b_WoSodLine)
      {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select SodLine,SodGoods from sdSod where SodCode='"+m_WoSoCode+"' and SodLine="+AnsiString(m_WoSodLine));
        Query->Open();
        if(Query->RecordCount<=0)
        {
          Query->Close();
          throw Exception("订单号:'"+m_WoSoCode+"'的订单行号:'"+IntToStr(m_WoSodLine)+"'不存在!");
        }
        Query->Close();
      }
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoRoute()  //工艺路线
{
   AnsiString  m_WoRoute;
   AnsiString  b_WoRoute;
   int m_WoTrace;
   m_WoRoute=GetMasterValue("WoRoute");
   m_WoTrace=GetMasterValue("WoTrace");
   b_WoRoute=GetMasterOldValue("WoRoute");
   if(m_WoTrace==1)
   {
      if(m_WoRoute.IsEmpty())
          throw Exception("请输入工艺路线!");
   }
   if(!m_WoRoute.IsEmpty())
   {
      if(m_WoRoute.UpperCase()!=b_WoRoute.UpperCase())
      {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select RoutehCode from sdRouteh where RoutehCancel=0 and RoutehCode='"+m_WoRoute+"'");
        Query->Open();
        if(Query->RecordCount<=0)
        {
          Query->Close();
          throw Exception("工艺路线的代码:'"+m_WoRoute+"'不存在或已取消!");
        }
        Query->Close();
      }
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoFrom()  //来源
{
   int m_WoFrom;
   m_WoFrom=GetMasterValue("WoFrom");
   if(m_WoFrom!=1 && m_WoFrom!=2 && m_WoFrom!=3)
      throw Exception("加工单来源只能取值(1-手工录入,2-计划生成,3-返修单生成)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoChkFlg()  //检验标志
{
   int m_WoChkFlg;
   m_WoChkFlg=GetMasterValue("WoChkFlg");
   if(m_WoChkFlg!=0 && m_WoChkFlg!=1)
      throw Exception("质检标志只能取值(0-不需质检,1-需质检)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoQty()  //要求数量
{
  double m_WoQty;
   m_WoQty=GetMasterValue("WoQty");
   if(m_WoQty<0 || m_WoQty==0)
      throw Exception("加工的数量不能小于或等于0!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCQty()  //完工数量
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoEQty()  //合格数量
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoWQty()  //废品数量
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoRQty()  //返修数量
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoSQty()  //次品数量
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoDate()  //日期
{

}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoRdate()  //要求完成日期
{
   AnsiString  m_WoRdate;
   AnsiString  m_WoSdate;
   m_WoRdate=GetMasterValue("WoRdate");
   m_WoSdate=GetMasterValue("WoSdate");

   if(m_WoRdate<m_WoSdate)
      throw Exception("要求完工日期"+m_WoRdate+"不能小于开始日期!"+m_WoSdate);
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoMDate()  //MRP日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoSdate()  //开始日期
{

}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoClose()  //结清
{
   int m_WoClose;
   m_WoClose=GetMasterValue("WoClose");
   if(m_WoClose!=0 && m_WoClose!=1)
      throw Exception("结清标志只能取值(0-未结清,1-已结清)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCloseDate()  //结清日期
{
   AnsiString  m_WoCloseDate;
   int  m_WoClose;
   m_WoCloseDate=GetMasterValue("WoCloseDate");
   m_WoClose=GetMasterValue("WoClose");
   if(m_WoClose==1)
   {
     if(m_WoCloseDate.IsEmpty())
        throw Exception("结清日期不能为空!");
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoUnit()  //计量单位
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoTwt()  //总工时
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoPamt()  //人工费
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoMamt()  //材料费
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoEamt()  //制造费用
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoDesc()  //备注
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoUser()  //操作员
{

}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoSysDate()  //系统时间
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoBatch()  //批号
{

}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCheck()  //审核
{
   int m_WoCheck;
   m_WoCheck=GetMasterValue("WoCheck");
   if(m_WoCheck!=0 && m_WoCheck!=1)
      throw Exception("审核标志只能取值(0-未审核,1-已审核.)");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoChecker()  //审核人
{
   int m_WoCheck;
   AnsiString  m_WoChecker;
   AnsiString  b_WoChecker;
   m_WoCheck=GetMasterValue("WoCheck");
   m_WoChecker=GetMasterValue("WoChecker");
   b_WoChecker=GetMasterOldValue("WoChecker");
   if(m_WoCheck==1)
   {
      if(m_WoChecker!=b_WoChecker)
      {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select ProducterCode from sdProducter where ProducterCode='"+m_WoChecker+"' and ProducterCheck=1");
        Query->Open();
        if(Query->RecordCount<=0)
        {
           Query->Close();
           throw Exception("审核人:'"+m_WoChecker+"'无审核的权限或未定义!");
        }
        Query->Close();
      }
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCheckDate()  //审核日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCancel()  //取消
{
   int m_WoCancel;
   m_WoCancel=GetMasterValue("WoCancel");
   if(m_WoCancel!=0 && m_WoCancel!=1)
      throw Exception("取消标志只能取值(0-正常,1-取消)!");
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoCancelDate()  //取消日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWo::ValidWoProducter()  //生管人员
{

}
//---------------------------------------------------------------------------
void __fastcall TKSWo::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -