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

📄 hmdoc.cpp

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

//---------------------------------------------------------------------------
#pragma package(smart_init)
//**************************************
//     TsdTow 工种
//**************************************
//--------------------------------------------------------------
void __fastcall TsdTow:: SetTowCode(AnsiString value)
{
  if(value.IsEmpty())
   throw Exception("工种代码不能为空!");
 if(value.UpperCase()!=m_TowCode.UpperCase())
  {
   m_Query->Close();
   m_Query->SQL->Clear();
   m_Query->SQL->Add("select * from sdTow where TowCode='"+value+"'");
   m_Query->Open();
   if(m_Query->RecordCount>0)
     {
      m_Query->Close();
      throw Exception("工种代码"+value+"已存在!");
     }
   m_Query->Close();
  }
  m_TowCode=value;
}
void __fastcall TsdTow:: SetTowName(AnsiString value)
{
 if(value.IsEmpty())
   throw Exception("工种名称不能为空");
 m_TowName=value;
}
void __fastcall TsdTow:: SetTowDesc(AnsiString value)
{
 m_TowDesc=value;
}
//---------------------------------------------------------------------------
AnsiString TsdTow::GetFieldValue(euTow sdFieldName)
{
    switch(sdFieldName)
    {
      case fiTowCode:
           return  TowCode;
      case fiTowName:
            return  TowName;
      case fiTowDesc:
            return  TowDesc;
    }
        throw Exception("当前字段未定义可取值");  
}
//---------------------------------------------------------------------------
void TsdTow::SetFieldValue(euTow sdFieldName, AnsiString value)
{
    value=Trim(value);
    switch(sdFieldName)
    {
    case fiTowCode:
        TowCode=value;
        break;
    case fiTowName:
        TowName=value;
        break;
    case fiTowDesc:
        TowDesc=value;
        break;
      default: 
        throw Exception("当前字段未定义可赋值");  
        
    }
}
//---------------------------------------------------------------------------
TsdTow::TsdTow(TDataComm *DC)
                :TsdStandard(DC)
{
    try
    {
        QueryString="SELECT * FROM sdTow";
        FilterString="";
        OrderString="TowCode";
        EmptyValue(0);
        EmptyValue(1);

    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
TsdTow::TsdTow()
           :TsdStandard()
{
    try
    {
        QueryString="SELECT * FROM sdTow";
        FilterString="";
        OrderString="TowCode";
        EmptyValue(0);
        EmptyValue(1);

    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}

//---------------------------------------------------------------------------
TsdTow::~TsdTow()
{
  try{
  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}
//---------------------------------------------------------------------------
void TsdTow::BackupValue()
{
      b_TowCode=m_TowCode;
      b_TowName=m_TowName;
      b_TowDesc=m_TowDesc;
}
//---------------------------------------------------------------------------
void TsdTow::RestoreValue()
{
      m_TowCode=b_TowCode;
      m_TowName=b_TowName;
      m_TowDesc=b_TowDesc;
}
//---------------------------------------------------------------------------
void TsdTow::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
    m_TowCode="";
    m_TowName="";
    m_TowDesc="";
    break;
    case 1:
    b_TowCode="";
    b_TowName="";
    b_TowDesc="";
      break;
    }
}
//---------------------------------------------------------------------------
void TsdTow::BatchLetValue()
{
    m_TowCode=m_Query->FieldValues["TowCode"];
    m_TowName=m_Query->FieldValues["TowName"];
    m_TowDesc=m_Query->FieldValues["TowDesc"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdTow::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_TowCode.IsEmpty()==true)
        throw Exception("单号不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2||CurStatus==4)
    {
        m_StoredProc->ProcedureName="sdTow_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@TowCode",ftString,pdInputOutput,18,m_TowCode);
        m_StoredProc->Parameters->CreateParameter("@TowName",ftString,pdInput,20,m_TowName);
        m_StoredProc->Parameters->CreateParameter("@TowDesc",ftString,pdInput,40,m_TowDesc);

        m_StoredProc->ExecProc();
        m_TowCode=m_StoredProc->Parameters->ParamValues["@TowCode"];

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

        m_StoredProc->Parameters->CreateParameter("@W_TowCode",ftString,pdInput,18,b_TowCode);
        m_StoredProc->Parameters->CreateParameter("@TowCode",ftString,pdInput,18,m_TowCode);
        m_StoredProc->Parameters->CreateParameter("@TowName",ftString,pdInput,20,m_TowName);
        m_StoredProc->Parameters->CreateParameter("@TowDesc",ftString,pdInput,40,m_TowDesc);
 
       m_StoredProc->ExecProc();


   }
    m_StoredProc->Close();
  TsdTow *p=new TsdTow();
  if(CurStatus==2)
    {
     SetActionID(1);
     p->Assign(this);
     AddRecord((void *)p,p->TowCode);
     }
  else
    {
     SetActionID(1);
     p->Assign(this);
    ChangeRecord((void *)p,p->TowCode,this->b_TowCode);
    }
}
//---------------------------------------------------------------------------
void TsdTow::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_TowCode.IsEmpty()==true)
        throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdTow_Delete";
    m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@W_TowCode",ftString,pdInput,18,b_TowCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_TowCode);
}
//---------------------------------------------------------------------------
void TsdTow::Assign(TsdTow *p)
{
    this->SetActionID(p->CurStatus);
    this->m_TowCode=p->m_TowCode;
    this->m_TowName=p->m_TowName;
    this->m_TowDesc=p->m_TowDesc;
    this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdTow::AssignValue()
{
    TsdTow *p=(TsdTow *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TsdTow::Query()
{
    AnsiString m_SqlStr;
    m_SqlStr=QueryString;
    if(FilterString.IsEmpty()==false)
        m_SqlStr=m_SqlStr+" where  "+FilterString;
    if(OrderString.IsEmpty()==false)
        m_SqlStr=m_SqlStr+" Order by "+OrderString;
    m_Query->Close();
    m_Query->SQL->Clear();
    m_Query->SQL->Add(m_SqlStr);
    m_Query->Open();
    ClearRecord();
    if(m_Query->RecordCount>0)
    {
        m_Query->First();
        while(!m_Query->Eof)
        {
            BatchLetValue();
            TsdTow *p=new TsdTow();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->TowCode);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TsdTow::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
        throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdTow where  "+WhereStr;
    m_Query->Close();
    m_Query->SQL->Clear();
    m_Query->SQL->Add(m_SqlStr);
    m_Query->Open();
    if(m_Query->RecordCount!=1)
    {
        m_Query->Close();
        return false;
    }
    else
    {
        BatchLetValue();
        m_Query->Close();
        return true;
    }
}
//**************************************
//     TsdRank职务
//**************************************
//--------------------------------------------------------------
void __fastcall TsdRank:: SetRankCode(AnsiString value)
{
 if(value.IsEmpty())
   throw Exception("职务代码不能为空!");
 if(value.UpperCase()!=m_RankCode.UpperCase())
  {
   m_Query->Close();
   m_Query->SQL->Clear();
   m_Query->SQL->Add("select * from sdRank where RankCode='"+value+"'");
   m_Query->Open();
   if(m_Query->RecordCount>0)
     {
      m_Query->Close();
      throw Exception("职务代码"+value+"已存在!");
     }
   m_Query->Close();
   m_RankCode=value;
  }
}
void __fastcall TsdRank:: SetRankName(AnsiString value)
{
 if(value.IsEmpty())
   throw Exception("职务名称不能为空!");
  m_RankName=value;
}
void __fastcall TsdRank:: SetRankItem(AnsiString value)
{
 if(value.IsEmpty())
   throw Exception("本级不能为空!");
 if(value.Length()!=3)
  throw Exception("请保持结点长度为3!");
  m_RankItem=value;
 RankCode=m_RankUpperCode+value;
}
void __fastcall TsdRank:: SetRankUpperCode(AnsiString value)
{
 m_RankUpperCode=value;
}
void __fastcall TsdRank:: SetRankLevel(double  value)
{
  if(value<0||value>5)
   throw Exception("职位等级应为(0,5]");
  m_RankLevel=value;

}
void __fastcall TsdRank:: SetRankDesc(AnsiString value)
{
 m_RankDesc=value;
}
//---------------------------------------------------------------------------
AnsiString TsdRank::GetFieldValue(euRank sdFieldName)
{
    switch(sdFieldName)
    {
      case fiRankCode:
           return  RankCode;
      case fiRankName:
           return  RankName;
      case fiRankItem:
           return  RankItem;
      case fiRankUpperCode:
           return  RankUpperCode;
      case fiRankLevel:
           return  RankLevel;
      case fiRankDesc:
           return  RankDesc;
    }
        throw Exception("当前字段未定义可取值");  
}
//---------------------------------------------------------------------------
void TsdRank::SetFieldValue(euRank sdFieldName, AnsiString value)
{
    value=Trim(value);
    switch(sdFieldName)
    {
    case fiRankCode:
        RankCode=value;
        break;
    case fiRankName:
        RankName=value;
        break;
    case fiRankItem:
        RankItem=value;
        break;
    case fiRankUpperCode:
        RankUpperCode=value;
        break;
    case fiRankLevel:
        RankLevel=value.ToDouble();
        break;
    case fiRankDesc:
        RankDesc=value;
        break;
      default: 
        throw Exception("当前字段未定义可赋值");  
        
    }
}
//---------------------------------------------------------------------------
TsdRank::TsdRank(TDataComm *DC)
                :TsdStandard(DC)
{
    try
    {
        QueryString="SELECT * FROM sdRank";
        FilterString="";
        OrderString="RankCode";
        EmptyValue(0);
        EmptyValue(1);

    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
TsdRank::TsdRank()
                :TsdStandard()
{
    try
    {
        QueryString="SELECT * FROM sdRank";
        FilterString="";
        OrderString="RankCode";
        EmptyValue(0);
        EmptyValue(1);

    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}

//---------------------------------------------------------------------------
TsdRank::~TsdRank()
{
  try{
  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}
//---------------------------------------------------------------------------
void TsdRank::BackupValue()
{
      b_RankCode=m_RankCode;
      b_RankName=m_RankName;
      b_RankItem=m_RankItem;
      b_RankUpperCode=m_RankUpperCode;
      b_RankLevel=m_RankLevel;
      b_RankDesc=m_RankDesc;
}
//---------------------------------------------------------------------------
void TsdRank::RestoreValue()
{
      m_RankCode=b_RankCode;
      m_RankName=b_RankName;
      m_RankItem=b_RankItem;
      m_RankUpperCode=b_RankUpperCode;
      m_RankLevel=b_RankLevel;
      m_RankDesc=b_RankDesc;
}

⌨️ 快捷键说明

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