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

📄 cmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      if(m_Query->RecordCount<=0)
      {
        m_Query->Close();
        throw Exception("物料编码 "+value+" 不存在或未初始化");
      }
      m_Query->Close();
    }
    if(value!=m_AdjCodGoods)
    {
      if(this->FindKey(value))
         throw Exception("物料 "+AnsiString(value)+" 已调整");
    }
     m_AdjCodGoods=value;
}
void __fastcall TsdAdjCod:: SetAdjCodAmt(double  value)
{
    if (value<0)
       throw Exception("调整金额不能小于零");
    m_AdjCodAmt=value;
}
void __fastcall TsdAdjCod:: SetAdjCodBatch(AnsiString value)
{

      m_Query->Close();      //是否需要批号管理
      m_Query->SQL->Clear();
      m_Query->SQL->Add("select goodsBatch from sdgoods where goodsCode='"+m_AdjCodGoods+"'");
      m_Query->Open();
      if(m_Query->RecordCount<1 )
      {
        m_Query->Close();
        if(value.IsEmpty()==false)
          throw Exception("物料 "+m_AdjCodGoods+" 不需要批号管理!");
      }
      else
      {
        if(value.IsEmpty())
        throw Exception("物料 "+m_AdjCodGoods+" 需要批号管理!");
        if (value!=m_AdjCodBatch)
        {
          m_Query->Close();
          m_Query->SQL->Clear();
          m_Query->SQL->Add("SELECT BatchCode FROM sdBatch where BatchCode='"+value+"'");
          m_Query->Open();
          if(m_Query->RecordCount<1 )
          {
           m_Query->Close();
           throw Exception("批号 "+value+" 不存在!");
          }
          m_Query->Close();
        }
      }
    if(value.Length()>18)
      throw Exception("批号长度不能超过18");
     m_AdjCodBatch=value;
}
void __fastcall TsdAdjCod:: SetAdjCodDesc(AnsiString value)
{
    if(value.Length()>40)
      throw Exception("备注不能超过40");
     m_AdjCodDesc=value;
}
//---------------------------------------------------------------------------
AnsiString TsdAdjCod::GetFieldValue(euAdjCod sdFieldName)
{
    switch(sdFieldName)
    {
      case fiAdjCodCode:
            return  AdjCodCode;
      case fiAdjCodLine:
            return  AdjCodLine;
      case fiAdjCodGoods:
            return  AdjCodGoods;
      case fiAdjCodAmt:
            return  AdjCodAmt;
      case fiAdjCodBatch:
            return  AdjCodBatch;
      case fiAdjCodDesc:
            return  AdjCodDesc;
      default:
           throw Exception("当前未定义可取值");
    }
}
//---------------------------------------------------------------------------
AnsiString TsdAdjCod::GetOldFieldValue(euAdjCod sdFieldName)
{
    switch(sdFieldName)
    {
      case fiAdjCodCode:
          return   b_AdjCodCode;
      case fiAdjCodLine:
          return   b_AdjCodLine;
      case fiAdjCodGoods:
          return   b_AdjCodGoods;
      case fiAdjCodAmt:
          return   b_AdjCodAmt;
      case fiAdjCodBatch:
          return   b_AdjCodBatch;
      case fiAdjCodDesc:
          return   b_AdjCodDesc;
      default:
           throw Exception("当前未定义可取值");
    }
}
//---------------------------------------------------------------------------
void TsdAdjCod::SetFieldValue(euAdjCod sdFieldName, AnsiString value)
{
    switch(sdFieldName)
    {
    case fiAdjCodCode:
          AdjCodCode=value;
        break;
    case fiAdjCodLine:
          AdjCodLine=value.ToInt();
        break;
    case fiAdjCodGoods:
          AdjCodGoods=value;
        break;
    case fiAdjCodAmt:
          AdjCodAmt=value.ToDouble();
        break;
    case fiAdjCodBatch:
          AdjCodBatch=value;
        break;
    case fiAdjCodDesc:
          AdjCodDesc=value;
        break;
    default:
         throw Exception("当前字段未定义可赋值");
    }
}
//---------------------------------------------------------------------------
TsdAdjCod::TsdAdjCod(TDataComm *DC)
                :TsdDetail(DC)
{
    try
    {
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdAdjCod";
        FilterString="";
        OrderString="AdjCodCode,AdjCodLine";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdAdjCod::TsdAdjCod()
                :TsdDetail()
{
    try
    {
        EmptyValue(0);
        EmptyValue(1);
        QueryString="SELECT * FROM sdAdjCod";
        FilterString="";
        OrderString="AdjCodCode,AdjCodLine";
    }
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdAdjCod::~TsdAdjCod()
{
  try{
  }
  catch(...)
  {
    throw Exception("析构函数出错");
  }
}
//---------------------------------------------------------------------------
void TsdAdjCod::BackupValue()
{
      b_AdjCodCode=m_AdjCodCode;
      b_AdjCodLine=m_AdjCodLine;
      b_AdjCodGoods=m_AdjCodGoods;
      b_AdjCodAmt=m_AdjCodAmt;
      b_AdjCodBatch=m_AdjCodBatch;
      b_AdjCodDesc=m_AdjCodDesc;
}
//---------------------------------------------------------------------------
void TsdAdjCod::RestoreValue()
{
      m_AdjCodCode=b_AdjCodCode;
      m_AdjCodLine=b_AdjCodLine;
      m_AdjCodGoods=b_AdjCodGoods;
      m_AdjCodAmt=b_AdjCodAmt;
      m_AdjCodBatch=b_AdjCodBatch;
      m_AdjCodDesc=b_AdjCodDesc;
}
//---------------------------------------------------------------------------
void TsdAdjCod::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
    m_AdjCodCode="";
    m_AdjCodLine=0;
    m_AdjCodGoods="";
    m_AdjCodAmt=0;
    m_AdjCodBatch="";
    m_AdjCodDesc="";
    break;
    case 1:
    b_AdjCodCode="";
    b_AdjCodLine=0;
    b_AdjCodGoods="";
    b_AdjCodAmt=0;
    b_AdjCodBatch="";
    b_AdjCodDesc="";
      break;
    }
}
//---------------------------------------------------------------------------
void TsdAdjCod::BatchLetValue()
{
    m_AdjCodCode=m_Query->FieldValues["AdjCodCode"];
    m_AdjCodLine=m_Query->FieldValues["AdjCodLine"];
    m_AdjCodGoods=m_Query->FieldValues["AdjCodGoods"];
    m_AdjCodAmt=m_Query->FieldValues["AdjCodAmt"];
    m_AdjCodBatch=m_Query->FieldValues["AdjCodBatch"];
    m_AdjCodDesc=m_Query->FieldValues["AdjCodDesc"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdAdjCod::Update()
{
    if(CurStatus==0||CurStatus==1)
        throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_AdjCodCode<=0)
    throw Exception("单行号不能小于等于零!");
    if(m_AdjCodCode.IsEmpty()==true)
        throw Exception("单号不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2||CurStatus==4)
    {
        m_StoredProc->ProcedureName="sdAdjcod_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@AdjCodCode",ftString,pdInput,18,m_AdjCodCode);
        m_StoredProc->Parameters->CreateParameter("@AdjCodLine",ftInteger,pdInput,10,m_AdjCodLine);
        m_StoredProc->Parameters->CreateParameter("@AdjCodGoods",ftString,pdInput,18,m_AdjCodGoods);
        m_StoredProc->Parameters->CreateParameter("@AdjCodAmt",ftFloat,pdInput,12,m_AdjCodAmt);
        m_StoredProc->Parameters->CreateParameter("@AdjCodBatch",ftString,pdInput,18,m_AdjCodBatch);
        m_StoredProc->Parameters->CreateParameter("@AdjCodDesc",ftString,pdInput,40,m_AdjCodDesc);

        m_StoredProc->ExecProc();

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

        m_StoredProc->Parameters->CreateParameter("@W_AdjCodCode",ftString,pdInput,18,b_AdjCodCode);
        m_StoredProc->Parameters->CreateParameter("@W_AdjCodGoods",ftString,pdInput,18,b_AdjCodGoods);
        m_StoredProc->Parameters->CreateParameter("@AdjCodCode",ftString,pdInput,18,m_AdjCodCode);
        m_StoredProc->Parameters->CreateParameter("@AdjCodLine",ftInteger,pdInput,10,m_AdjCodLine);
        m_StoredProc->Parameters->CreateParameter("@AdjCodGoods",ftString,pdInput,18,m_AdjCodGoods);
        m_StoredProc->Parameters->CreateParameter("@AdjCodAmt",ftFloat,pdInput,12,m_AdjCodAmt);
        m_StoredProc->Parameters->CreateParameter("@AdjCodBatch",ftString,pdInput,18,m_AdjCodBatch);
        m_StoredProc->Parameters->CreateParameter("@AdjCodDesc",ftString,pdInput,40,m_AdjCodDesc);

       m_StoredProc->ExecProc();


    }
    m_StoredProc->Close();
    TsdAdjCod *p=new TsdAdjCod();
     SetActionID(1);
     p->Assign(this);
     ChangeRecord((void *)p,p->AdjCodGoods,this->AdjCodGoods);
}
//---------------------------------------------------------------------------
void TsdAdjCod::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_AdjCodCode.IsEmpty()==true)
        throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdAdjcod_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_AdjCodCode",ftString,pdInput,18,b_AdjCodCode);
    m_StoredProc->Parameters->CreateParameter("@W_AdjCodGoods",ftString,pdInput,18,b_AdjCodGoods);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_AdjCodGoods);
}
//---------------------------------------------------------------------------
void TsdAdjCod::Assign(TsdAdjCod *p)
{
    this->SetActionID(p->CurStatus);
    this->m_AdjCodCode=p->m_AdjCodCode;
    this->m_AdjCodLine=p->m_AdjCodLine;
    this->m_AdjCodGoods=p->m_AdjCodGoods;
    this->m_AdjCodAmt=p->m_AdjCodAmt;
    this->m_AdjCodBatch=p->m_AdjCodBatch;
    this->m_AdjCodDesc=p->m_AdjCodDesc;

    if(CurStatus==3)
    {
      this->b_AdjCodCode=p->b_AdjCodCode;
      this->b_AdjCodLine=p->b_AdjCodLine;
      this->b_AdjCodGoods=p->b_AdjCodGoods;
      this->b_AdjCodAmt=p->b_AdjCodAmt;
      this->b_AdjCodBatch=p->b_AdjCodBatch;
      this->b_AdjCodDesc=p->b_AdjCodDesc;
    }
    else
      this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdAdjCod::AssignValue()
{
    TsdAdjCod *p=(TsdAdjCod *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TsdAdjCod::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();
            TsdAdjCod *p=new TsdAdjCod();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->AdjCodGoods);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TsdAdjCod::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
        throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdAdjCod 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;
    }
}
//**************************************
//     TsdScmbh 标准成本更改单头
//**************************************
//--------------------------------------------------------------
void __fastcall TsdScmbh:: SetScmbhCode(AnsiString value)
{
    if(value.IsEmpty())
        throw Exception("更改单号不能为空!");
    if(value.Length()>18)
      throw Exception("更改单号长度不能超过18");
    if(value!=m_ScmbhCode)
    {
        m_Query->Close();
        m_Query->SQL->Clear();
        m_Query->SQL->Add("SELECT ScmbhCODE FROM sdScmbh WHERE ScmbhCODE='" +value+"'");
        m_Query->Open();
        if(m_Query->RecordCount>0)
        {
            m_Query->Close();
            throw Exception("更改单号'"+value+"'已存在");
        }
        m_Query->Close();
    }
      m_ScmbhCode=value;
}
void __fastcall TsdScmbh:: SetScmbhDate(AnsiString value)
{
   if (value.IsEmpty())
       throw Exception("更改日期不能为空!");
    if(value.Length()>10)
        throw Exception("更改日期长度不能大于10");
    m_ScmbhDate=Validate(value);
}
void __fastcall TsdScmbh:: SetScmbhFmonth(AnsiString value)

⌨️ 快捷键说明

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