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

📄 fmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#define _YW_SDERP_DLL
#include "Fmhdl.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)

//**************************************
//     TsdBcs
//**************************************
//--------------------------------------------------------------
void __fastcall TsdBcs:: SetBcsCode(AnsiString value)
{
    if (value.IsEmpty() )
       throw Exception("单号不能为空!");
    if(value.Length()>18)
      throw Exception("单号长度不能大于18");
    m_BcsCode=value;
}
void __fastcall TsdBcs:: SetBcsLine(int    value)
{
    if (value<=0)
       throw Exception("行号必须大于零!");
    if (value!=m_BcsLine)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("Select Bcscode from sdBcs where Bcsline='"+AnsiString(value)
                         +"' and Bcscode='"+m_BcsCode+"'");
      m_Query->Open();
      if(m_Query->RecordCount>0)
      {
        m_Query->Close();
        throw Exception("对帐单:'"+m_BcsCode+"的行号:"+AnsiString(value)+"已经存在");
      }
    }
    m_BcsLine=value;
}
void __fastcall TsdBcs:: SetBcsDate(AnsiString value)
{
    if (value.IsEmpty())
       throw Exception("必须填写对帐日期!");
       m_BcsDate=value;
}
void __fastcall TsdBcs:: SetBcsSettleMode(AnsiString value)
{
    if (value.IsEmpty())
       throw Exception("必须选择结算方式!");
    m_BcsSettleMode=value;
}
void __fastcall TsdBcs:: SetBcsSettleNo(AnsiString value)
{
    if (value.IsEmpty())
       throw Exception("必须填写结算号!");
    m_BcsSettleNo=value;
}
void __fastcall TsdBcs:: SetBcsDir(double  value)
{
    if(value<1 ||value>2)
       throw Exception("方向必须为1-收入,2-支出!");
    m_BcsDir=value;
}
void __fastcall TsdBcs:: SetBcsAmt(double  value)
{
    if (value<=0)
       throw Exception("金额必须大于零!");
    m_BcsAmt=value;
}
void __fastcall TsdBcs:: SetBcsZy(AnsiString value)
{
    if (value.IsEmpty())
       throw Exception("必须填写摘要!");
    m_BcsZy=value;
}
void __fastcall TsdBcs:: SetBcsCac(AnsiString value)
{
    if (value.IsEmpty())
       throw Exception("必须选择银行帐号!");
    m_BcsCac=value;
}
void __fastcall TsdBcs:: SetBcsFMonth(AnsiString value)
{
       m_BcsFMonth=value;
}
void __fastcall TsdBcs:: SetBcsFbbNo(int    value)
{
       m_BcsFbbNo=value;
}
void __fastcall TsdBcs:: SetBcsVeriry(int    value)
{
       m_BcsVeriry=value;
}
void __fastcall TsdBcs:: SetBcsUser(AnsiString value)
{
    if (value.IsEmpty())
       throw Exception("操作员不能为空!");
    if (value!=m_BcsUser)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("Select cashiercode from sdcashier where cashiercode='"+value+"'");
      m_Query->Open();
      if(m_Query->RecordCount<=0)
      {
        m_Query->Close();
        throw Exception("操作员:"+value+"未定义");
      }
    }
    m_BcsUser=value;
}
void __fastcall TsdBcs:: SetBcsSysDate(AnsiString value)
{
       m_BcsSysDate=value;
}
//---------------------------------------------------------------------------
AnsiString TsdBcs::GetFieldValue(euBcs sdFieldName)
{
    switch(sdFieldName)
    {
      case fiBcsCode:
           return BcsCode;
      case fiBcsLine:
           return BcsLine;
      case fiBcsDate:
           return BcsDate;
      case fiBcsSettleMode:
           return BcsSettleMode;
      case fiBcsSettleNo:
           return BcsSettleNo;
      case fiBcsDir:
           return BcsDir;
      case fiBcsAmt:
           return BcsAmt;
      case fiBcsZy:
           return BcsZy;
      case fiBcsCac:
           return BcsCac;
      case fiBcsFMonth:
           return BcsFMonth;
      case fiBcsFbbNo:
           return BcsFbbNo;
      case fiBcsVeriry:
           return BcsVeriry;
      case fiBcsUser:
           return BcsUser;
      case fiBcsSysDate:
           return BcsSysDate;
      default:
           throw Exception("当前未定义可取值");
     }
}
//---------------------------------------------------------------------------
void TsdBcs::SetFieldValue(euBcs sdFieldName, AnsiString value)
{
    switch(sdFieldName)
     {
    case fiBcsCode:  
         BcsCode=value;
          break;
    case fiBcsLine:  
         BcsLine=value.ToInt();
          break;
    case fiBcsDate:  
         BcsDate=value;
          break;
    case fiBcsSettleMode:  
         BcsSettleMode=value;
          break;
    case fiBcsSettleNo:  
         BcsSettleNo=value;
          break;
    case fiBcsDir:
         BcsDir=value.ToDouble();
          break;
    case fiBcsAmt:
         BcsAmt=value.ToDouble();
          break;
    case fiBcsZy:  
         BcsZy=value;
          break;
    case fiBcsCac:  
         BcsCac=value;
          break;
    case fiBcsFMonth:  
         BcsFMonth=value;
          break;
    case fiBcsFbbNo:  
         BcsFbbNo=value.ToInt();
          break;
    case fiBcsVeriry:  
         BcsVeriry=value.ToInt();
          break;
    case fiBcsUser:
         BcsUser=value;
          break;
    case fiBcsSysDate:
         BcsSysDate=value;
          break;
    default:
         throw Exception("当前字段未定义可赋值");
      }
}
//---------------------------------------------------------------------------
TsdBcs::TsdBcs(TDataComm *DC)
                :TsdStandard(DC)
{
    try
    {
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdBcs";
        FilterString="";
        OrderString="BcsCode,BcsLine";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdBcs::TsdBcs()
                :TsdStandard()
{
    try
    {
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdBcs";
        FilterString="";
        OrderString="BcsCode,BcsLine";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdBcs::~TsdBcs()
{
  try{
     }
  catch(...)
    {
     throw Exception("析构函数出错");
    }
}
//---------------------------------------------------------------------------
void TsdBcs::BackupValue()
{
      b_BcsCode=m_BcsCode;
      b_BcsLine=m_BcsLine;
      b_BcsDate=m_BcsDate;
      b_BcsSettleMode=m_BcsSettleMode;
      b_BcsSettleNo=m_BcsSettleNo;
      b_BcsDir=m_BcsDir;
      b_BcsAmt=m_BcsAmt;
      b_BcsZy=m_BcsZy;
      b_BcsCac=m_BcsCac;
      b_BcsFMonth=m_BcsFMonth;
      b_BcsFbbNo=m_BcsFbbNo;
      b_BcsVeriry=m_BcsVeriry;
      b_BcsUser=m_BcsUser;
      b_BcsSysDate=m_BcsSysDate;
}
//---------------------------------------------------------------------------
void TsdBcs::RestoreValue()
{
      m_BcsCode=b_BcsCode;
      m_BcsLine=b_BcsLine;
      m_BcsDate=b_BcsDate;
      m_BcsSettleMode=b_BcsSettleMode;
      m_BcsSettleNo=b_BcsSettleNo;
      m_BcsDir=b_BcsDir;
      m_BcsAmt=b_BcsAmt;
      m_BcsZy=b_BcsZy;
      m_BcsCac=b_BcsCac;
      m_BcsFMonth=b_BcsFMonth;
      m_BcsFbbNo=b_BcsFbbNo;
      m_BcsVeriry=b_BcsVeriry;
      m_BcsUser=b_BcsUser;
      m_BcsSysDate=b_BcsSysDate;
}
//---------------------------------------------------------------------------
void TsdBcs::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
        m_BcsCode="";
        m_BcsLine=0;
        m_BcsDate="";
        m_BcsSettleMode="";
        m_BcsSettleNo="";
        m_BcsDir=0;
        m_BcsAmt=0;
        m_BcsZy="";
        m_BcsCac="";
        m_BcsFMonth="";
        m_BcsFbbNo=0;
        m_BcsVeriry=0;
        m_BcsUser="";
        m_BcsSysDate="";
    break;
    case 1:
        b_BcsCode="";
        b_BcsLine=0;
        b_BcsDate="";
        b_BcsSettleMode="";
        b_BcsSettleNo="";
        b_BcsDir=0;
        b_BcsAmt=0;
        b_BcsZy="";
        b_BcsCac="";
        b_BcsFMonth="";
        b_BcsFbbNo=0;
        b_BcsVeriry=0;
        b_BcsUser="";
        b_BcsSysDate="";
      break;
     }
}
//---------------------------------------------------------------------------
void TsdBcs::BatchLetValue()
{
    m_BcsCode=m_Query->FieldValues["BcsCode"];
    m_BcsLine=m_Query->FieldValues["BcsLine"];
    m_BcsDate=m_Query->FieldValues["BcsDate"];
    m_BcsSettleMode=m_Query->FieldValues["BcsSettleMode"];
    m_BcsSettleNo=m_Query->FieldValues["BcsSettleNo"];
    m_BcsDir=m_Query->FieldValues["BcsDir"];
    m_BcsAmt=m_Query->FieldValues["BcsAmt"];
    m_BcsZy=m_Query->FieldValues["BcsZy"];
    m_BcsCac=m_Query->FieldValues["BcsCac"];
    m_BcsFMonth=m_Query->FieldValues["BcsFMonth"];
    m_BcsFbbNo=m_Query->FieldValues["BcsFbbNo"];
    m_BcsVeriry=m_Query->FieldValues["BcsVeriry"];
    m_BcsUser=m_Query->FieldValues["BcsUser"];
    m_BcsSysDate=m_Query->FieldValues["BcsSysDate"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdBcs::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_BcsCode.IsEmpty()==true)
        throw Exception("单号不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2||CurStatus==4)
      {
        m_StoredProc->ProcedureName="sdBcs_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@BcsCode",ftString,pdInput,18,m_BcsCode);
        m_StoredProc->Parameters->CreateParameter("@BcsLine",ftInteger,pdInput,10,m_BcsLine);
        m_StoredProc->Parameters->CreateParameter("@BcsDate",ftString,pdInput,10,m_BcsDate);
        m_StoredProc->Parameters->CreateParameter("@BcsSettleMode",ftString,pdInput,18,m_BcsSettleMode);
        m_StoredProc->Parameters->CreateParameter("@BcsSettleNo",ftString,pdInput,18,m_BcsSettleNo);
        m_StoredProc->Parameters->CreateParameter("@BcsDir",ftFloat,pdInput,5,m_BcsDir);
        m_StoredProc->Parameters->CreateParameter("@BcsAmt",ftFloat,pdInput,12,m_BcsAmt);
        m_StoredProc->Parameters->CreateParameter("@BcsZy",ftString,pdInput,40,m_BcsZy);
        m_StoredProc->Parameters->CreateParameter("@BcsCac",ftString,pdInput,18,m_BcsCac);
        m_StoredProc->Parameters->CreateParameter("@BcsFMonth",ftString,pdInput,6,m_BcsFMonth);
        m_StoredProc->Parameters->CreateParameter("@BcsFbbNo",ftInteger,pdInput,10,m_BcsFbbNo);
        m_StoredProc->Parameters->CreateParameter("@BcsVeriry",ftInteger,pdInput,1,m_BcsVeriry);
        m_StoredProc->Parameters->CreateParameter("@BcsUser",ftString,pdInput,18,m_BcsUser);
        m_StoredProc->Parameters->CreateParameter("@BcsSysDate",ftString,pdOutput,30,m_BcsSysDate);

        m_StoredProc->ExecProc();
       m_BcsSysDate=m_StoredProc->Parameters->ParamValues["@BcsSysDate"];

   }
  else
    {
        m_StoredProc->ProcedureName="sdBcs_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_BcsCode",ftString,pdInput,18,b_BcsCode);
        m_StoredProc->Parameters->CreateParameter("@W_BcsLine",ftString,pdInput,10,b_BcsLine);
        m_StoredProc->Parameters->CreateParameter("@BcsCode",ftString,pdInput,18,m_BcsCode);
        m_StoredProc->Parameters->CreateParameter("@BcsLine",ftInteger,pdInput,10,m_BcsLine);
        m_StoredProc->Parameters->CreateParameter("@BcsDate",ftString,pdInput,10,m_BcsDate);
        m_StoredProc->Parameters->CreateParameter("@BcsSettleMode",ftString,pdInput,18,m_BcsSettleMode);
        m_StoredProc->Parameters->CreateParameter("@BcsSettleNo",ftString,pdInput,18,m_BcsSettleNo);
        m_StoredProc->Parameters->CreateParameter("@BcsDir",ftFloat,pdInput,5,m_BcsDir);
        m_StoredProc->Parameters->CreateParameter("@BcsAmt",ftFloat,pdInput,12,m_BcsAmt);
        m_StoredProc->Parameters->CreateParameter("@BcsZy",ftString,pdInput,40,m_BcsZy);
        m_StoredProc->Parameters->CreateParameter("@BcsCac",ftString,pdInput,18,m_BcsCac);
        m_StoredProc->Parameters->CreateParameter("@BcsFMonth",ftString,pdInput,6,m_BcsFMonth);
        m_StoredProc->Parameters->CreateParameter("@BcsFbbNo",ftInteger,pdInput,10,m_BcsFbbNo);
        m_StoredProc->Parameters->CreateParameter("@BcsVeriry",ftInteger,pdInput,1,m_BcsVeriry);
        m_StoredProc->Parameters->CreateParameter("@BcsUser",ftString,pdInput,18,m_BcsUser);
        m_StoredProc->Parameters->CreateParameter("@BcsSysDate",ftString,pdOutput,30,m_BcsSysDate);

       m_StoredProc->ExecProc();

⌨️ 快捷键说明

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