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

📄 cmhdl.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      if(l_Query->RecordCount<1 )
      {
        l_Query->Close();
        throw Exception("收发类型编码 "+value+" 未定义");
      }
      l_Query->Close();
    }
    l_AdjCohPosType=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohDesc(AnsiString value)
{
    if(value.Length()>40)
      throw Exception("调整原因不能超过40");
    l_AdjCohDesc=value;
 }
void __fastcall TKSAdjCoh:: SetAdjCohKeeper(AnsiString value)
{
    if (value.IsEmpty())
      throw Exception("仓管员代码不能为空!");
    if(value.Length()>18)
      throw Exception("仓管员代码长度不能超过18");
    if (value!=l_AdjCohKeeper)
    {
      l_Query->Close();
      l_Query->SQL->Clear();
      l_Query->SQL->Add("select keepercode from sdkeeper ,sduser  where keepercode=usercode and keepercode='"+value+"'");
      l_Query->Open();
      if(l_Query->RecordCount<1 )
      {
        l_Query->Close();
        throw Exception("仓管员代码'"+value+"'未定义");
      }
      l_Query->Close();
    }
      l_AdjCohKeeper=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohUser(AnsiString value)
{
    if(value.IsEmpty())
      throw Exception("操作员代码不能为空");
    if(value.Length()>18)
      throw Exception("操作员代码长度不能大于18");
    if(value!=l_AdjCohUser)
    {
      l_Query->Close();
      l_Query->SQL->Clear();
      l_Query->SQL->Add("select usercode from sduser where usercode='"+value+"'");
      l_Query->Open();
      if(l_Query->RecordCount<=0)
      {
        l_Query->Close();
        throw Exception("操作员代码'"+value+"'未定义");
      }
      l_Query->Close();
    }
      l_AdjCohUser=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohCheck(int value)
{
   if(value!=0&&value!=1)
        throw Exception("审核标志只能取值0-未审核 1-审核");
    l_AdjCohCheck=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohChecker(AnsiString value)
{
    if(l_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("审核员代码不能为空");
      if(value.Length()>18)
        throw Exception("审核员代码长度不能大于18");
      if(value!=l_AdjCohChecker)
      {
        l_Query->Close();
        l_Query->SQL->Clear();
        l_Query->SQL->Add("select usercode from sduser where usercode='"+value+"'");
        l_Query->Open();
        if(l_Query->RecordCount<=0)
        {
          l_Query->Close();
          throw Exception("审核员代码未定义或没有审核权限");
        }
        l_Query->Close();
      }
      l_AdjCohChecker=value;
    }
    else
      l_AdjCohChecker="";
}
void __fastcall TKSAdjCoh:: SetAdjCohCheckDate(AnsiString value)
{
    if(l_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("审核日期不能为空");
      l_AdjCohCheckDate=Validate(value);
    }
    else
       l_AdjCohCheckDate="";
}
void __fastcall TKSAdjCoh:: SetAdjCohPost(int value)
{
    if(value!=0&&value!=1)
        throw Exception("记帐标志只能取值0-末计帐 1-计帐");
     l_AdjCohPost=value;
}
void __fastcall TKSAdjCoh:: SetAdjCohPoster(AnsiString value)
{
    if(l_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("记帐员代码不能为空");
      if(value.Length()>18)
        throw Exception("记帐员代码长度不能大于18");
      if(value!=l_AdjCohPoster)
      {
        l_Query->Close();
        l_Query->SQL->Clear();
        l_Query->SQL->Add("select keepercode from sdkeeper where keepercode='"+value+"' and KeeperPost=1");
        l_Query->Open();
        if(l_Query->RecordCount<=0)
        {
          l_Query->Close();
          throw Exception("记帐员代码未定义或没有记帐权限");
        }
        l_Query->Close();
      }
      l_AdjCohPoster=value;
    }
    else
      l_AdjCohPoster="";
}
void __fastcall TKSAdjCoh:: SetAdjCohPostDate(AnsiString value)
{
    if(l_AdjCohCheck==1)
    {
      if(value.IsEmpty())
        throw Exception("记帐日期不能为空");
      l_AdjCohPostDate=Validate(value);
    }
    else
       l_AdjCohPostDate="";
}
//---------------------------------------------------------------------------
AnsiString TKSAdjCoh::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 TKSAdjCoh::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("当前字段未定义可赋值");
    }
}
//---------------------------------------------------------------------------
TKSAdjCoh::TKSAdjCoh(TDataComm *DC)
                :TKSHead(DC)
{
    try
    {
        l_sdAdjCod=NULL;
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdAdjCoh";
        FilterString="";
        OrderString="AdjCohCode";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TKSAdjCoh::TKSAdjCoh()
                :TKSHead()
{
    try
    {
        l_sdAdjCod=NULL;
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdAdjCoh";
        FilterString="";
        OrderString="AdjCohCode";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TKSAdjCoh::~TKSAdjCoh()
{
  try{
    for(int i=0;i<this->Count;i++)
    {
      this->LocateByIndex(i);
      this->AssignValue();
      delete l_sdAdjCod;
     }

  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}
//---------------------------------------------------------------------------
void TKSAdjCoh::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(l_AdjCohCode.IsEmpty()==true)
    throw Exception("单号不能为空!");
    if(ItemCount<=0)
        throw Exception("单没有定义明细字段");
    l_StoredProc->Close();
    switch(CurStatus)
    {
    case 2:
    case 4:
        l_StoredProc->ProcedureName="sdAdjCoh_Insert";
        l_StoredProc->Parameters->Clear();
        l_StoredProc->Parameters->CreateParameter("@AdjCohCode",ftString,pdInputOutput,18,l_AdjCohCode);
        l_StoredProc->Parameters->CreateParameter("@AdjCohDate",ftString,pdInput,10,l_AdjCohDate);
        l_StoredProc->Parameters->CreateParameter("@AdjCohFmonth",ftString,pdInput,6,l_AdjCohFmonth);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPosType",ftString,pdInput,18,l_AdjCohPosType);
        l_StoredProc->Parameters->CreateParameter("@AdjCohDesc",ftString,pdInput,40,l_AdjCohDesc);
        l_StoredProc->Parameters->CreateParameter("@AdjCohKeeper",ftString,pdInput,18,l_AdjCohKeeper);
        l_StoredProc->Parameters->CreateParameter("@AdjCohUser",ftString,pdInput,18,l_AdjCohUser);
        l_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftInteger,pdInput,1,l_AdjCohCheck);
        l_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,18,l_AdjCohChecker);
        l_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,l_AdjCohCheckDate);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPost",ftInteger,pdInput,1,l_AdjCohPost);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPoster",ftString,pdInput,18,l_AdjCohPoster);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPostDate",ftString,pdInput,10,l_AdjCohPostDate);
        l_StoredProc->Parameters->CreateParameter("@AdjCohSysDate",ftString,pdOutput,40,l_AdjCohSysDate);

        l_StoredProc->ExecProc();
        l_StoredProc->Close();
        l_AdjCohSysDate=l_StoredProc->Parameters->ParamValues["@AdjCohSysDate"];
        l_AdjCohCode=l_StoredProc->Parameters->ParamValues["@AdjCohCode"];

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

        l_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,18,b_AdjCohCode);
        l_StoredProc->Parameters->CreateParameter("@AdjCohCode",ftString,pdInput,18,l_AdjCohCode);
        l_StoredProc->Parameters->CreateParameter("@AdjCohDate",ftString,pdInput,10,l_AdjCohDate);
        l_StoredProc->Parameters->CreateParameter("@AdjCohFmonth",ftString,pdInput,6,l_AdjCohFmonth);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPosType",ftString,pdInput,18,l_AdjCohPosType);
        l_StoredProc->Parameters->CreateParameter("@AdjCohDesc",ftString,pdInput,40,l_AdjCohDesc);
        l_StoredProc->Parameters->CreateParameter("@AdjCohKeeper",ftString,pdInput,18,l_AdjCohKeeper);
        l_StoredProc->Parameters->CreateParameter("@AdjCohUser",ftString,pdInput,18,l_AdjCohUser);
        l_StoredProc->Parameters->CreateParameter("@AdjCohCheck",ftInteger,pdInput,1,l_AdjCohCheck);
        l_StoredProc->Parameters->CreateParameter("@AdjCohChecker",ftString,pdInput,18,l_AdjCohChecker);
        l_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,l_AdjCohCheckDate);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPost",ftInteger,pdInput,1,l_AdjCohPost);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPoster",ftString,pdInput,18,l_AdjCohPoster);
        l_StoredProc->Parameters->CreateParameter("@AdjCohPostDate",ftString,pdInput,10,l_AdjCohPostDate);
        l_StoredProc->Parameters->CreateParameter("@AdjCohSysDate",ftString,pdOutput,40,l_AdjCohSysDate);

       l_StoredProc->ExecProc();
       l_StoredProc->Close();
       l_AdjCohSysDate=l_StoredProc->Parameters->ParamValues["@AdjCohSysDate"];

      break;
    case 5:
    case 6:
        for(int i=0;i<ItemCount;i++)
          {
            LocateItemByIndex(i);
            if(l_sdAdjCod->CurStatus==2||l_sdAdjCod->CurStatus==3)
               l_sdAdjCod->Update();
           }
        break;
    }
    TKSAdjCoh *p=new TKSAdjCoh();
    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 TKSAdjCoh::Check(int IsCheck)
{
    if(this->Count>0)
    {
      try
      {
        l_StoredProc->ProcedureName="sdAdjCoh_Check";
        l_StoredProc->Parameters->Clear();


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


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

⌨️ 快捷键说明

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