mszrh.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 330 行

CPP
330
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "mSzrh.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)
TKSSzrh *sdSzrh;
//---------------------------------------------------------------------------
__fastcall TKSSzrh::TKSSzrh()
  :TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidMasterField(int FieldNo)
{
  switch(FieldNo)
  {
    case 1:  //折让单号
      ValidSzrhCode();
      break;
    case 2:  //日期
      ValidSzrhDate();
      break;
    case 3:  //客户编码
      ValidSzrhClient();
      break;
    case 4:  //客户名称
      ValidSzrhClientName();
      break;
    case 5:  //币种
      ValidSzrhCurrency();
      break;
    case 6:  //汇率
      ValidSzrhEnrate();
      break;
    case 7:  //折让金额
      ValidSzrhAmt();
      break;
    case 8:  //经办人
      ValidSzrhUser();
      break;
    case 9:  //审核标志
      ValidSzrhCheck();
      break;
    case 10:  //审核人
      ValidSzrhChecker();
      break;
    case 11:  //审核日期
      ValidSzrhCheckDate();
      break;
    case 12:  //取消
      ValidSzrhCancel();
      break;
    case 13:  //取消日期
      ValidSzrhCancelDate();
      break;
    case 14:  //备注
      ValidSzrhDesc();
      break;
  }
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCode()  //折让单号
{                            /*/
   AnsiString  m_SzrhCode;
   AnsiString  b_SzrhCode;
   m_SzrhCode=GetMasterValue("SzrhCode");
   b_SzrhCode=GetMasterOldValue("SzrhCode");
  if(m_SzrhCode.IsEmpty())
    throw Exception("折让单据号不能为空!");
  if(m_SzrhCode.Length()>18)
     throw Exception("折让单据号长度不能大于18");
  if(m_SzrhCode.UpperCase()!=b_SzrhCode.UpperCase())
    {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select SzrhCode from sdSzrh where SzrhCode='"+m_SzrhCode+"'");
        Query->Open();
        if(Query->RecordCount>0)
        {
           Query->Close();
           throw Exception("该折让单号:'"+m_SzrhCode+"'已经存在!");
        }
        Query->Close();
    }                           /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhDate()  //日期
{
   AnsiString  m_SzrhDate;
   m_SzrhDate=GetMasterValue("SzrhDate");
    if(m_SzrhDate.IsEmpty())
      throw Exception("开单日期不能为空");
     // throw Exception("开单日期不能大于系统日期");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhClient()  //客户编码
{                            /*/
   AnsiString  m_SzrhClient;
   AnsiString  b_SzrhClient;
   m_SzrhClient=GetMasterValue("SzrhClient");
   b_SzrhClient=GetMasterOldValue("SzrhClient");
 if(m_SzrhClient.IsEmpty())
   throw Exception("客户代码不能为空!");
 if(m_SzrhClient!=b_SzrhClient)
   {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select ClientName from sdClient where ClientCode='"+m_SzrhClient+"'");
        Query->Open();
        if(Query->RecordCount<1)
        {
           Query->Close();
           throw Exception("客户代码'"+m_SzrhClient+"'不存在!");
        }
     Query->Close();
   }/*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhClientName()  //客户名称
{
 
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCurrency()  //币种
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhEnrate()  //汇率
{
  double m_SzrhEnrate;
   m_SzrhEnrate=GetMasterValue("SzrhEnrate");
  if(m_SzrhEnrate<0)
     throw Exception("汇率需大于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhAmt()  //折让金额
{

}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhUser()  //经办人
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCheck()  //审核标志
{
   int m_SzrhCheck;
   m_SzrhCheck=GetMasterValue("SzrhCheck");
   int b_SzrhCheck=GetMasterOldValue("SzrhCheck");
  if(m_SzrhCheck!=b_SzrhCheck)
  {
  Query->Close();
  Query->SQL->Clear();
  Query->SQL->Add("Select SalerCode,SalerCheck,SalerCancel from sdSaler where SalerCode='"+GetMasterValue("SzrhUser")+"'");
  Query->Open();
  if(Query->RecordCount<1)
  {
   Query->Close();
     throw Exception("您没在销售员表中定义!");
   }
   else
   {
   if(Query->FieldValues["SalerCheck"]==0)
     {
      Query->Close();
      throw Exception("您没有审核/反审核权限");
     }
  }
  }
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhChecker()  //审核人
{
   AnsiString  m_SzrhChecker;
   int m_SzrhCheck=GetMasterValue("SzrhCheck");
   m_SzrhChecker=GetMasterValue("SzrhChecker");
  if(m_SzrhCheck==1&&m_SzrhChecker.IsEmpty())
     throw Exception("审核人不能为空!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCheckDate()  //审核日期
{
  AnsiString  m_SzrhCheckDate;
   m_SzrhCheckDate=GetMasterValue("SzrhCheckDate");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCancel()  //取消
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCancelDate()  //取消日期
{
  AnsiString  m_SzrhCancelDate;
   m_SzrhCancelDate=GetMasterValue("SzrhCancelDate");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhDesc()  //备注
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidDetailField(int FieldNo)
{
 switch(FieldNo)
  {
    case 1:
      ValidSzrdLine();
      break;
    case 2:
      ValidSzrdCode();
      break;
    case 3:
      ValidSzrdSogCode();
      break;
    case 4:
      ValidSzrdSogdLine();
      break;
    case 5:
      ValidSzrdSoCode();
      break;
    case 6:
      ValidSzrdSodLine();
      break;
    case 7:
      ValidSzrdQty();
      break;
    case 8:
      ValidSzrdAmt();
      break;
    case 9:
      ValidSzrdCashAmt();
      break;
    case 10:
      ValidSzrdDesc();
      break;
  }
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdLine()
{
   int m_SzrdLine;
   m_SzrdLine=GetDetailValue("SzrdLine");
    if(m_SzrdLine<=0)
      throw Exception("行号不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdCode()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSogCode()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSogdLine()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSoCode()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSodLine()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdQty()
{
  double m_SzrdQty;
   m_SzrdQty=GetDetailValue("SzrdQty");
 if(m_SzrdQty<=0)
    throw Exception("发货数量不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdAmt()
{
  double m_SzrdAmt;
  double b_SzrdAmt;
   m_SzrdAmt=GetDetailValue("SzrdAmt");
   b_SzrdAmt=GetDetailOldValue("SzrdAmt");
 if(m_SzrdAmt<=0)
    throw Exception("折让金额需大于零");
 if(m_SzrdAmt!=b_SzrdAmt)
 {
    Query->Close();
    Query->SQL->Clear();
    Query->SQL->Add("select SogdAmt from sdSogd where SogdCode='"+GetDetailValue("SzrdSogCode")+"' and SogdLine="+GetDetailValue("SzrdSogdLine"));
    Query->Open();
    if(Query->RecordCount>0)
    {
    if(m_SzrdAmt>Query->FieldValues["SogdAmt"])
      {
      Query->Close();
       throw Exception("折让金额不能大于销售金额");
      }
    }
   else
   {
    Query->Close();
    throw Exception("找不到该发货行号");
    }
 }
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdCashAmt()
{
  double m_SzrdCashAmt;
  double m_SzrdAmt=GetDetailValue("SzrdAmt");
   m_SzrdCashAmt=GetDetailValue("SzrdCashAmt");
 if(m_SzrdCashAmt<0)
   throw Exception("折让现金金额不能小于零");
 if(m_SzrdCashAmt>m_SzrdAmt)
   throw Exception("折让现金不能大于折让金额");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdDesc()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::CmdExec(AnsiString Param)
{

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


⌨️ 快捷键说明

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