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

📄 cmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      if(m_Query->RecordCount<1 )
      {
        m_Query->Close();
        throw Exception("收发类型编码 "+value+" 未定义");
      }
      m_Query->Close();
    }
    m_AdjCohPosType=value;
}
void __fastcall TsdAdjCoh:: SetAdjCohDesc(AnsiString value)
{
    if(value.Length()>40)
      throw Exception("调整原因不能超过40");
    m_AdjCohDesc=value;
 }
void __fastcall TsdAdjCoh:: SetAdjCohKeeper(AnsiString value)
{
    if (value.IsEmpty())
      throw Exception("仓管员代码不能为空!");
    if(value.Length()>18)
      throw Exception("仓管员代码长度不能超过18");
    if (value!=m_AdjCohKeeper)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("select keepercode from sdkeeper ,sduser  where keepercode=usercode and keepercode='"+value+"'");
      m_Query->Open();
      if(m_Query->RecordCount<1 )
      {
        m_Query->Close();
        throw Exception("仓管员代码'"+value+"'未定义");
      }
      m_Query->Close();
    }
      m_AdjCohKeeper=value;
}
void __fastcall TsdAdjCoh:: SetAdjCohUser(AnsiString value)
{
    if(value.IsEmpty())
      throw Exception("操作员代码不能为空");
    if(value.Length()>18)
      throw Exception("操作员代码长度不能大于18");
    if(value!=m_AdjCohUser)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("select usercode from sduser where usercode='"+value+"'");
      m_Query->Open();
      if(m_Query->RecordCount<=0)
      {
        m_Query->Close();
        throw Exception("操作员代码'"+value+"'未定义");
      }
      m_Query->Close();
    }
      m_AdjCohUser=value;
}
void __fastcall TsdAdjCoh:: SetAdjCohCheck(int value)
{
   if(value!=0&&value!=1)
        throw Exception("审核标志只能取值0-未审核 1-审核");
    m_AdjCohCheck=value;
}
void __fastcall TsdAdjCoh:: SetAdjCohChecker(AnsiString value)
{
    if(m_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("审核员代码不能为空");
      if(value.Length()>18)
        throw Exception("审核员代码长度不能大于18");
      if(value!=m_AdjCohChecker)
      {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("select usercode from sduser where usercode='"+value+"'");
        m_Query->Open();
        if(m_Query->RecordCount<=0)
        {
          m_Query->Close();
          throw Exception("审核员代码未定义或没有审核权限");
        }
        m_Query->Close();
      }
      m_AdjCohChecker=value;
    }
    else
      m_AdjCohChecker="";
}
void __fastcall TsdAdjCoh:: SetAdjCohCheckDate(AnsiString value)
{
    if(m_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("审核日期不能为空");
      m_AdjCohCheckDate=Validate(value);
    }
    else
       m_AdjCohCheckDate="";
}
void __fastcall TsdAdjCoh:: SetAdjCohPost(int value)
{
    if(value!=0&&value!=1)
        throw Exception("记帐标志只能取值0-末计帐 1-计帐");
     m_AdjCohPost=value;
}
void __fastcall TsdAdjCoh:: SetAdjCohPoster(AnsiString value)
{
    if(m_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("记帐员代码不能为空");
      if(value.Length()>18)
        throw Exception("记帐员代码长度不能大于18");
      if(value!=m_AdjCohPoster)
      {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("select keepercode from sdkeeper where keepercode='"+value+"' and KeeperPost=1");
        m_Query->Open();
        if(m_Query->RecordCount<=0)
        {
          m_Query->Close();
          throw Exception("记帐员代码未定义或没有记帐权限");
        }
        m_Query->Close();
      }
      m_AdjCohPoster=value;
    }
    else
      m_AdjCohPoster="";
}
void __fastcall TsdAdjCoh:: SetAdjCohPostDate(AnsiString value)
{
    if(m_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("记帐日期不能为空");
      m_AdjCohPostDate=Validate(value);
    }
    else
       m_AdjCohPostDate="";
}
//---------------------------------------------------------------------------
AnsiString TsdAdjCoh::GetFieldValue(euAdjCoh sdFieldName)
{
    switch(sdFieldName)
    {
      case fiAdjCohCode:
           return  AdjCohCode;
      case fiAdjCohDate:
           return  AdjCohDate;
      case fiAdjCohFmonth:
           return  AdjCohFmonth;
      case fiAdjCohPosType:
           return  AdjCohPosType;
      case fiAdjCohDesc:
           return  AdjCohDesc;
      case fiAdjCohKeeper:
           return  AdjCohKeeper;
      case fiAdjCohUser:
           return  AdjCohUser;
      case fiAdjCohCheck:
           return  AdjCohCheck;
      case fiAdjCohChecker:
           return  AdjCohChecker;
      case fiAdjCohCheckDate:
           return  AdjCohCheckDate;
      case fiAdjCohPost:
           return  AdjCohPost;
      case fiAdjCohPoster:
           return  AdjCohPoster;
      case fiAdjCohPostDate:
           return  AdjCohPostDate;
      case fiAdjCohSysDate:
           return  AdjCohSysDate;
      default:
           throw Exception("当前未定义可取值");
    }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::SetFieldValue(euAdjCoh sdFieldName, AnsiString value)
{
    switch(sdFieldName)
    {
     case fiAdjCohCode:
             AdjCohCode=value;
           break;
     case fiAdjCohDate:
             AdjCohDate=value;
           break;
     case fiAdjCohFmonth:
             AdjCohFmonth=value;
           break;
     case fiAdjCohPosType:
             AdjCohPosType=value;
           break;
     case fiAdjCohDesc:
             AdjCohDesc=value;
           break;
     case fiAdjCohKeeper:
             AdjCohKeeper=value;
           break;
     case fiAdjCohUser:
             AdjCohUser=value;
           break;
     case fiAdjCohCheck:
             AdjCohCheck=value.ToInt();
           break;
     case fiAdjCohChecker:
             AdjCohChecker=value;
           break;
     case fiAdjCohCheckDate:
             AdjCohCheckDate=value;
           break;
     case fiAdjCohPost:
             AdjCohPost=value.ToInt();
           break;
     case fiAdjCohPoster:
             AdjCohPoster=value;
           break;
     case fiAdjCohPostDate:
             AdjCohPostDate=value;
           break;
    default:
         throw Exception("当前字段未定义可赋值");
    }
}
//---------------------------------------------------------------------------
TsdAdjCoh::TsdAdjCoh(TDataComm *DC)
                :TsdHead(DC)
{
    try
    {
        m_sdAdjCod=NULL;
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdAdjCoh";
        FilterString="";
        OrderString="AdjCohCode";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdAdjCoh::TsdAdjCoh()
                :TsdHead()
{
    try
    {
        m_sdAdjCod=NULL;
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdAdjCoh";
        FilterString="";
        OrderString="AdjCohCode";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdAdjCoh::~TsdAdjCoh()
{
  try{
    for(int i=0;i<this->Count;i++)
    {
      this->LocateByIndex(i);
      this->AssignValue();
      delete m_sdAdjCod;
     }

  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_AdjCohCode.IsEmpty()==true)
    throw Exception("单号不能为空!");
    if(ItemCount<=0)
        throw Exception("单没有定义明细字段");
    m_StoredProc->Close();
    switch(CurStatus)
    {
    case 2:
    case 4:
        m_StoredProc->ProcedureName="sdAdjCoh_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@AdjCohCode",ftString,pdInputOutput,18,m_AdjCohCode);
        m_StoredProc->Parameters->CreateParameter("@AdjCohDate",ftString,pdInput,10,m_AdjCohDate);
        m_StoredProc->Parameters->CreateParameter("@AdjCohFmonth",ftString,pdInput,6,m_AdjCohFmonth);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPosType",ftString,pdInput,18,m_AdjCohPosType);
        m_StoredProc->Parameters->CreateParameter("@AdjCohDesc",ftString,pdInput,40,m_AdjCohDesc);
        m_StoredProc->Parameters->CreateParameter("@AdjCohKeeper",ftString,pdInput,18,m_AdjCohKeeper);
        m_StoredProc->Parameters->CreateParameter("@AdjCohUser",ftString,pdInput,18,m_AdjCohUser);
        m_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftInteger,pdInput,1,m_AdjCohCheck);
        m_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,18,m_AdjCohChecker);
        m_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,m_AdjCohCheckDate);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPost",ftInteger,pdInput,1,m_AdjCohPost);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPoster",ftString,pdInput,18,m_AdjCohPoster);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPostDate",ftString,pdInput,10,m_AdjCohPostDate);
        m_StoredProc->Parameters->CreateParameter("@AdjCohSysDate",ftString,pdOutput,40,m_AdjCohSysDate);

        m_StoredProc->ExecProc();
        m_StoredProc->Close();
        m_AdjCohSysDate=m_StoredProc->Parameters->ParamValues["@AdjCohSysDate"];
        m_AdjCohCode=m_StoredProc->Parameters->ParamValues["@AdjCohCode"];

        for(int i=0;i<ItemCount;i++)
        {
            LocateItemByIndex(i);
            m_sdAdjCod->SetFieldValue(fiAdjCodCode,m_AdjCohCode);
            AddToObject();
            m_sdAdjCod->Update();
        }
        break;
    case 3:
        m_StoredProc->ProcedureName="sdAdjCoh_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,18,b_AdjCohCode);
        m_StoredProc->Parameters->CreateParameter("@AdjCohCode",ftString,pdInput,18,m_AdjCohCode);
        m_StoredProc->Parameters->CreateParameter("@AdjCohDate",ftString,pdInput,10,m_AdjCohDate);
        m_StoredProc->Parameters->CreateParameter("@AdjCohFmonth",ftString,pdInput,6,m_AdjCohFmonth);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPosType",ftString,pdInput,18,m_AdjCohPosType);
        m_StoredProc->Parameters->CreateParameter("@AdjCohDesc",ftString,pdInput,40,m_AdjCohDesc);
        m_StoredProc->Parameters->CreateParameter("@AdjCohKeeper",ftString,pdInput,18,m_AdjCohKeeper);
        m_StoredProc->Parameters->CreateParameter("@AdjCohUser",ftString,pdInput,18,m_AdjCohUser);
        m_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftInteger,pdInput,1,m_AdjCohCheck);
        m_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,18,m_AdjCohChecker);
        m_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,m_AdjCohCheckDate);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPost",ftInteger,pdInput,1,m_AdjCohPost);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPoster",ftString,pdInput,18,m_AdjCohPoster);
        m_StoredProc->Parameters->CreateParameter("@AdjCohPostDate",ftString,pdInput,10,m_AdjCohPostDate);
        m_StoredProc->Parameters->CreateParameter("@AdjCohSysDate",ftString,pdOutput,40,m_AdjCohSysDate);

       m_StoredProc->ExecProc();
       m_StoredProc->Close();
       m_AdjCohSysDate=m_StoredProc->Parameters->ParamValues["@AdjCohSysDate"];

      break;
    case 5:
    case 6:
        for(int i=0;i<ItemCount;i++)
          {
            LocateItemByIndex(i);
            if(m_sdAdjCod->CurStatus==2||m_sdAdjCod->CurStatus==3)
               m_sdAdjCod->Update();
           }
        break;
    }
    TsdAdjCoh *p=new TsdAdjCoh();
    if(CurStatus==2)
       {
        SetActionID(1);
        p->Assign(this);
        AddRecord((void *)p,p->AdjCohCode);
        }
    else
       {
        SetActionID(1);
        p->Assign(this);
        ChangeRecord((void *)p,p->AdjCohCode,this->AdjCohCode);
       }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::Check(int IsCheck)
{
    if(this->Count>0)
    {
      try
      {
        m_StoredProc->ProcedureName="sdAdjCoh_Check";
        m_StoredProc->Parameters->Clear();


        if(IsCheck==1)
        {
          AdjCohCheck=1;
          AdjCohChecker=g_sdUserCode;
          AdjCohCheckDate=g_sdCurDate;
          m_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,20,b_AdjCohCode);
          m_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftSmallint,pdInput,2,1);
          m_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,20,g_sdUserCode);
          m_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,g_sdCurDate);


          m_StoredProc->ExecProc();
          m_StoredProc->Close();
         }
         else
         {
          AdjCohCheck=0;
          AdjCohChecker="";
          AdjCohCheckDate="";
          AnsiString temp="";
          m_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,20,b_AdjCohCode);
          m_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftSmallint,pdInput,2,0);
          m_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,20,temp);

⌨️ 快捷键说明

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