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

📄 hmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      case fiLopLr:
            return LopLr;       
    }
        throw Exception("当前字段未定义可取值");  
}
//---------------------------------------------------------------------------
void TsdLop::SetFieldValue(euLop sdFieldName, AnsiString value)
{
    value=Trim(value);
    switch(sdFieldName)
    {
    case fiLopCode:
            LopCode=value;
        break;
    case fiLopEmployee:
            LopEmployee=value;
        break;
    case fiLopAdate:
            LopAdate=value;
        break;
    case fiLopRdate:
            LopRdate=value;
        break;
    case fiLopLdate:
            LopLdate=value;
        break;
    case fiLopCdate:
            LopCdate=value;
        break;
    case fiLopMgr:
            LopMgr=value;
        break;
    case fiLopState:
            LopState=value.ToInt();
        break;
    case fiLopUser:
            LopUser=value;
        break;
    case fiLopDesc:
            LopDesc=value;
        break;
    case fiLopLr:
           LopLr=value;
         break;      
    default: 
        throw Exception("当前字段未定义可赋值");  
        
    }
}
//---------------------------------------------------------------------------
TsdLop::TsdLop(TDataComm *DC)
                :TsdStandard(DC)
{
    try
    {
        QueryString="SELECT * FROM sdLop";
        FilterString="";
        OrderString="LopCode";
        EmptyValue(0);
        EmptyValue(1);
        
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
TsdLop::TsdLop()
            :TsdStandard()
{
    try
    {
        QueryString="SELECT * FROM sdLop";
        FilterString="";
        OrderString="LopCode";
        EmptyValue(0);
        EmptyValue(1);

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

//---------------------------------------------------------------------------
TsdLop::~TsdLop()
{
  try{
  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}
//---------------------------------------------------------------------------
void TsdLop::BackupValue()
{
      b_LopCode=m_LopCode;
      b_LopEmployee=m_LopEmployee;
      b_LopAdate=m_LopAdate;
      b_LopRdate=m_LopRdate;
      b_LopLdate=m_LopLdate;
      b_LopCdate=m_LopCdate;
      b_LopMgr=m_LopMgr;
      b_LopState=m_LopState;
      b_LopUser=m_LopUser;
      b_LopSyaDate=m_LopSyaDate;
      b_LopDesc=m_LopDesc;
      b_LopLr=m_LopLr;
}
//---------------------------------------------------------------------------
void TsdLop::RestoreValue()
{
      m_LopCode=b_LopCode;
      m_LopEmployee=b_LopEmployee;
      m_LopAdate=b_LopAdate;
      m_LopRdate=b_LopRdate;
      m_LopLdate=b_LopLdate;
      m_LopCdate=b_LopCdate;
      m_LopMgr=b_LopMgr;
      m_LopState=b_LopState;
      m_LopUser=b_LopUser;
      m_LopSyaDate=b_LopSyaDate;
      m_LopDesc=b_LopDesc;
      m_LopLr=b_LopLr;
     
}
//---------------------------------------------------------------------------
void TsdLop::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
    m_LopCode="";
    m_LopEmployee="";
    m_LopAdate="";
    m_LopRdate="";
    m_LopLdate="";
    m_LopCdate="";
    m_LopMgr="";
    m_LopState=0;
    m_LopUser="";
    m_LopSyaDate="";
    m_LopDesc="";
    m_LopLr="";
    break;
    case 1:
    b_LopCode="";
    b_LopEmployee="";
    b_LopAdate="";
    b_LopRdate="";
    b_LopLdate="";
    b_LopCdate="";
    b_LopMgr="";
    b_LopState=0;
    b_LopUser="";
    b_LopSyaDate="";
    b_LopDesc="";
    b_LopLr="";
      break;
    }
}
//---------------------------------------------------------------------------
void TsdLop::BatchLetValue()
{
    m_LopCode=m_Query->FieldValues["LopCode"];
    m_LopEmployee=m_Query->FieldValues["LopEmployee"];
    m_LopAdate=m_Query->FieldValues["LopAdate"];
    m_LopRdate=m_Query->FieldValues["LopRdate"];
    m_LopLdate=m_Query->FieldValues["LopLdate"];
    m_LopCdate=m_Query->FieldValues["LopCdate"];
    m_LopMgr=m_Query->FieldValues["LopMgr"];
    m_LopState=m_Query->FieldValues["LopState"];
    m_LopUser=m_Query->FieldValues["LopUser"];
    m_LopSyaDate=m_Query->FieldValues["LopSyaDate"];
    m_LopDesc=m_Query->FieldValues["LopDesc"];
    m_LopLr=m_Query->FieldValues["LopLr"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdLop::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_LopCode.IsEmpty()==true)
        throw Exception("单号不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2||CurStatus==4)
    {
        m_StoredProc->ProcedureName="sdLop_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@LopCode",ftString,pdInputOutput,18,m_LopCode);
        m_StoredProc->Parameters->CreateParameter("@LopEmployee",ftString,pdInput,18,m_LopEmployee);
        m_StoredProc->Parameters->CreateParameter("@LopAdate",ftString,pdInput,10,m_LopAdate);
        m_StoredProc->Parameters->CreateParameter("@LopRdate",ftString,pdInput,10,m_LopRdate);
        m_StoredProc->Parameters->CreateParameter("@LopLdate",ftString,pdInput,10,m_LopLdate);
        m_StoredProc->Parameters->CreateParameter("@LopCdate",ftString,pdInput,10,m_LopCdate);
        m_StoredProc->Parameters->CreateParameter("@LopMgr",ftString,pdInput,18,m_LopMgr);
        m_StoredProc->Parameters->CreateParameter("@LopState",ftInteger,pdInput,1,m_LopState);
        m_StoredProc->Parameters->CreateParameter("@LopUser",ftString,pdInput,18,m_LopUser);
        m_StoredProc->Parameters->CreateParameter("@LopSyaDate",ftString,pdOutput,30,m_LopSyaDate);
        m_StoredProc->Parameters->CreateParameter("@LopDesc",ftString,pdInput,40,m_LopDesc);
        m_StoredProc->Parameters->CreateParameter("@LopLr",ftString,pdInput,18,m_LopLr);


        m_StoredProc->ExecProc();
        m_LopCode=m_StoredProc->Parameters->ParamValues["@LopCode"];
       m_LopSyaDate=m_StoredProc->Parameters->ParamValues["@LopSyaDate"];

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

        m_StoredProc->Parameters->CreateParameter("@W_LopCode",ftString,pdInput,18,b_LopCode);
        m_StoredProc->Parameters->CreateParameter("@LopCode",ftString,pdInput,18,m_LopCode);
        m_StoredProc->Parameters->CreateParameter("@LopEmployee",ftString,pdInput,18,m_LopEmployee);
        m_StoredProc->Parameters->CreateParameter("@LopAdate",ftString,pdInput,10,m_LopAdate);
        m_StoredProc->Parameters->CreateParameter("@LopRdate",ftString,pdInput,10,m_LopRdate);
        m_StoredProc->Parameters->CreateParameter("@LopLdate",ftString,pdInput,10,m_LopLdate);
        m_StoredProc->Parameters->CreateParameter("@LopCdate",ftString,pdInput,10,m_LopCdate);
        m_StoredProc->Parameters->CreateParameter("@LopMgr",ftString,pdInput,18,m_LopMgr);
        m_StoredProc->Parameters->CreateParameter("@LopState",ftInteger,pdInput,1,m_LopState);
        m_StoredProc->Parameters->CreateParameter("@LopUser",ftString,pdInput,18,m_LopUser);
        m_StoredProc->Parameters->CreateParameter("@LopSyaDate",ftString,pdOutput,30,m_LopSyaDate);
        m_StoredProc->Parameters->CreateParameter("@LopDesc",ftString,pdInput,40,m_LopDesc);
        m_StoredProc->Parameters->CreateParameter("@LopLr",ftString,pdInput,18,m_LopLr);

       m_StoredProc->ExecProc();
       m_LopSyaDate=m_StoredProc->Parameters->ParamValues["@LopSyaDate"];

   }
    m_StoredProc->Close();
  TsdLop *p=new TsdLop();
  if(CurStatus==2)
    {
     SetActionID(1);
     p->Assign(this);
     AddRecord((void *)p,p->LopCode);
     }
  else
    {
     SetActionID(1);
     p->Assign(this);
    ChangeRecord((void *)p,p->LopCode,this->b_LopCode);
    }
}
//---------------------------------------------------------------------------
void TsdLop::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_LopCode.IsEmpty()==true)
        throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdLop_Delete";
    m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@W_LopCode",ftString,pdInput,18,b_LopCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_LopCode);
}
//---------------------------------------------------------------------------
void TsdLop::Assign(TsdLop *p)
{
    this->SetActionID(p->CurStatus);
    this->m_LopCode=p->m_LopCode;
    this->m_LopEmployee=p->m_LopEmployee;
    this->m_LopAdate=p->m_LopAdate;
    this->m_LopRdate=p->m_LopRdate;
    this->m_LopLdate=p->m_LopLdate;
    this->m_LopCdate=p->m_LopCdate;
    this->m_LopMgr=p->m_LopMgr;
    this->m_LopState=p->m_LopState;
    this->m_LopUser=p->m_LopUser;
    this->m_LopSyaDate=p->m_LopSyaDate;
    this->m_LopDesc=p->m_LopDesc;
    this->m_LopLr=p->m_LopLr;    
    this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdLop::AssignValue()
{
    TsdLop *p=(TsdLop *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TsdLop::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();
            TsdLop *p=new TsdLop();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->LopCode);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TsdLop::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
        throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdLop 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;
    }
}
//**************************************
//     TsdWage
//**************************************
//--------------------------------------------------------------
void __fastcall TsdWage:: SetWageFmonth(AnsiString value)
{
 if(value.IsEmpty())
   throw Exception("财务月份不能为空!");
 if(value!=m_WageFmonth)
  {
   m_Query->Close();
   m_Query->SQL->Clear();
   m_Query->SQL->Add("select FcMonth from sdfc where FcMonth='"+value+"'");
   m_Query->Open();
   if(m_Query->RecordCount<1)
    {
    m_Query->Close();
    throw Exception("该财务月份'"+value+"'未定义");
    }
    m_Query->Close();
    m_WageFmonth=value;
  }
}
void __fastcall TsdWage:: SetWageEmployee(AnsiString value)
{
 if(value.IsEmpty())
   throw Exception("员工编号不能为空!");
 if(value!=m_WageEmployee)
   {
   m_Query->Close();
   m_Query->SQL->Clear();
   m_Query->SQL->Add("select EmployeeCode from sdEmployee where EmployeeCode='"+value+"'");
   m_Query->Open();
   if(m_Query->RecordCount<1)
    {
    m_Query->Close();
    throw Exception("该员工号'"+value+"'不存在");
    }
    m_Query->Close();
     m_Query->SQL->Clear();
     m_Query->SQL->Add("select * from sdWage where WageFmonth='"+m_WageFmonth+"' and WageEmployee='"+value+"'");
     m_Query->Open();
     if(m_Query->RecordCount>0)
      {
       m_Query->Close();
       throw Exception("该员工号'"+value+"'在财务月份'"+m_WageFmonth+"'的工资记录已存在");
     }
      m_Query->Close();
    m_WageEmployee=value;
   }
}
void __fastcall TsdWage:: SetWageFix(double  value)
{
if(value<0)
  throw Exception("固定工资需大于等于零");
  if(value!=m_WageFix)
  {
  m_WageFix=value;
  m_WageSum=m_WageFix+m_WageBorus+m_WageAnce+m_WageOther+m_WagePiece+m_WageLab;

⌨️ 快捷键说明

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