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

📄 mwpe.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "mWpe.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
TKSWpe *sdWpe;
//---------------------------------------------------------------------------
__fastcall TKSWpe::TKSWpe()
  :TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidHeadValues()
{
  //工单号
      ValidWpeWo();
  //工序号
      ValidWpeProcess();
  //员工编号
      ValidWpeEmployee();
  //车间
      ValidWpeShop();
  //班组
      ValidWpeTeam();
  //计时工资率
      ValidWpeLabRate();
  //计件工资率
      ValidWpePieceRate();
  //工资计算方式
      ValidWpeWageType();
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeWo()  //工单号
{
   AnsiString  m_WpeWo;
   AnsiString  b_WpeWo;
   m_WpeWo=GetMasterValue("WpeWo");
   b_WpeWo=GetMasterOldValue("WpeWo");
   if(m_WpeWo.UpperCase()!=b_WpeWo.UpperCase())
   {
      //Exist Property
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select WoCode from sdWo where WoCode='"+m_WpeWo+"'");
      Query->Open();
      if(Query->RecordCount==0)
      {
          Query->Close();
          throw Exception("工序员工对应的加工单号的代码:'"+m_WpeWo+"'不存在.");
      }
      Query->Close();
    }
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeProcess()  //工序号
{
   AnsiString  m_WpeProcess;
   AnsiString  b_WpeProcess;
   m_WpeProcess=GetMasterValue("WpeProcess");
   b_WpeProcess=GetMasterOldValue("WpeProcess");

   if(m_WpeProcess!=b_WpeProcess)
   {
      //Exist Property
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select ProcessCode from sdProcess where ProcessCode='"+m_WpeProcess+"'");
      Query->Open();
      if(Query->RecordCount==0)
      {
          Query->Close();
          throw Exception("工序员工对应的工序代码:'"+m_WpeProcess+"'不存在.");
      }
      Query->Close();
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeEmployee()  //员工编号
{
   AnsiString  m_WpeWo;
   AnsiString  m_WpeProcess;
   AnsiString  m_WpeEmployee;
   AnsiString  b_WpeEmployee;
   m_WpeWo=GetMasterValue("WpeWo");
   m_WpeProcess=GetMasterValue("WpeProcess");
   m_WpeEmployee=GetMasterValue("WpeEmployee");
   b_WpeEmployee=GetMasterOldValue("WpeEmployee");

   if(UpperCase(m_WpeEmployee)!=UpperCase(b_WpeEmployee))
   {
      //Exist Property
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select EmployeeCode from sdEmployee where EmployeeCode='"+m_WpeEmployee+"'");
      Query->Open();
      if(Query->RecordCount==0)
      {
          Query->Close();
          throw Exception("工序员工对应的员工代码:'"+m_WpeEmployee+"'不存在!");
      }
      //Only Property
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select WpeEmployee from sdWpe where WpeWo='"+m_WpeWo+"' and WpeProcess='"+m_WpeProcess+"' and WpeEmployee='"+m_WpeEmployee+"'");
      Query->Open();
      if(Query->RecordCount>0)
      {
          Query->Close();
          throw Exception("加工单对应工序下的员工编号:'"+m_WpeEmployee+"'已经存在,不能重复!");
      }
      Query->Close();
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeShop()  //车间
{
   AnsiString  m_WpeShop;
   AnsiString  b_WpeShop;
   m_WpeShop=GetMasterValue("WpeShop");
   b_WpeShop=GetMasterOldValue("WpeShop");

   if(m_WpeShop.UpperCase()!=b_WpeShop.UpperCase())
   {
      //Exist Property
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select ShopCode from sdShop where ShopCode='"+m_WpeShop+"'");
      Query->Open();
      if(Query->RecordCount==0)
      {
          Query->Close();
          throw Exception("工序员工对应的车间代码:'"+m_WpeShop+"'不存在.");
      }
      Query->Close();
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeTeam()  //班组
{
   AnsiString  m_WpeTeam;
   AnsiString  b_WpeTeam;
   m_WpeTeam=GetMasterValue("WpeTeam");
   b_WpeTeam=GetMasterOldValue("WpeTeam");

   if(m_WpeTeam!=b_WpeTeam)
   {
      //Exist Property
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select TeamCode from sdTeam where TeamCode='"+m_WpeTeam+"'");
      Query->Open();
      if(Query->RecordCount==0)
      {
          Query->Close();
          throw Exception("工序员工对应的班组代码:'"+m_WpeTeam+"'不存在.");
      }
      Query->Close();
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeLabRate()  //计时工资率
{
   int m_WpeWageType;
   double m_WpeLabRate;
   m_WpeWageType=GetMasterValue("WpeWageType");
   m_WpeLabRate=GetMasterValue("WpeLabRate");
   if(m_WpeWageType==1)
     if(m_WpeLabRate<0 || m_WpeLabRate==0)
        throw Exception("工资为计时工资时,计时的费率不能小于和等于零.");
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpePieceRate()  //计件工资率
{
   int m_WpeWageType;
   double m_WpePieceRate;
   m_WpeWageType=GetMasterValue("WpeWageType");
   m_WpePieceRate=GetMasterValue("WpePieceRate");
   if(m_WpeWageType==2)
      if(m_WpePieceRate<0 || m_WpePieceRate==0)
         throw Exception("工资为计件工资时,计件的费率不能小于和等于零.");
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::ValidWpeWageType()  //工资计算方式
{
   int m_WpeWageType;
   m_WpeWageType=GetMasterValue("WpeWageType");
   if(m_WpeWageType!=1 && m_WpeWageType!=2)
      throw Exception("工资的计算方式只能为1-计时,2-计件.");
}
//---------------------------------------------------------------------------
void __fastcall TKSWpe::CmdExec(AnsiString Param)
{

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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