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

📄 cmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
          m_StoredProc->Parameters->CreateParameter("@AdjCohCheckDate",ftString,pdInput,10,temp);
          m_StoredProc->ExecProc();
          m_StoredProc->Close();
          }
         TsdAdjCoh *p=(TsdAdjCoh*)Records(CurRecNo);
         p->Assign(this);
         BackupValue();
       }
       catch(...)
       {
         m_AdjCohCheck=b_AdjCohCheck;
         m_AdjCohChecker=b_AdjCohChecker;
         m_AdjCohCheckDate=b_AdjCohCheckDate;
         throw Exception("审核/反审核失败");
        }
     }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::Delete()
{
    if(CurStatus!=1)
        throw Exception("当前状态不能进行删除操作!");
    if(m_AdjCohCode.IsEmpty()==true)
        throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdAdjCoh_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_AdjCohCode",ftString,pdInput,18,b_AdjCohCode);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    delete m_sdAdjCod;
    DeleteRecord(this->b_AdjCohCode);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::AddItem()
{
    m_sdAdjCod->AddNew();
    if(CurStatus!=2)
        SetActionID(5);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::InsertItem()
{
/*  m_sdField->AddNew();
  TsdField *p=new TsdField(m_SessionName,m_DatabaseName);
  p->Assign(m_sdField);
  if(CurStatus==2)
    m_sdField->AddRecord((void *)p,p->GetFieldValue(fiFieldName));
  else
    m_sdField->Update();
*/
}
//---------------------------------------------------------------------------
void TsdAdjCoh::EditItem()
{
    m_sdAdjCod->Edit();
    if(CurStatus==1)
    {
        SetActionID(6);
    }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::DeleteItem()
{
    if(CurStatus==2||CurStatus==5)
        m_sdAdjCod->DeleteRecord(m_sdAdjCod->Key);
    else
        m_sdAdjCod->Delete();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::RemoveItem()
{
    if(CurStatus==2)
        m_sdAdjCod->RemoveRecord(m_sdAdjCod->Index);
    else
        m_sdAdjCod->Delete();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::ClearItem()
{
    int iCount;
    if(CurStatus==2)
        m_sdAdjCod->ClearRecord();
    else
    {
        iCount=m_sdAdjCod->Count;
        for(int i=0;i<iCount;i++)
        {
            m_sdAdjCod->LocateByIndex(0);
            m_sdAdjCod->Delete();
        }
    }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::CancelItem()
{
    m_sdAdjCod->Cancel();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::AddToObject()
{
    TsdAdjCod *p=new TsdAdjCod();
    p->Assign(m_sdAdjCod);
    if(m_sdAdjCod->FindKey(m_sdAdjCod->GetOldFieldValue(fiAdjCodGoods)))
        m_sdAdjCod->ChangeRecord((void*)p,p->GetFieldValue(fiAdjCodGoods),m_sdAdjCod->GetOldFieldValue(fiAdjCodGoods));
    else
        m_sdAdjCod->AddRecord((void *)p,p->GetFieldValue(fiAdjCodGoods));
}
//---------------------------------------------------------------------------
bool TsdAdjCoh::LocateItemByIndex(int Index)
{
    return m_sdAdjCod->LocateByIndex(Index);
}
//---------------------------------------------------------------------------
bool TsdAdjCoh::LocateItemByKey(AnsiString Key)
{
    return m_sdAdjCod->LocateByKey(Key);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::BackupValue()
{
     b_sdAdjCod=m_sdAdjCod;
     b_AdjCohCode=m_AdjCohCode;
     b_AdjCohDate=m_AdjCohDate;
     b_AdjCohFmonth=m_AdjCohFmonth;
     b_AdjCohPosType=m_AdjCohPosType;
     b_AdjCohDesc=m_AdjCohDesc;
     b_AdjCohKeeper=m_AdjCohKeeper;
     b_AdjCohUser=m_AdjCohUser;
     b_AdjCohCheck=m_AdjCohCheck;
     b_AdjCohChecker=m_AdjCohChecker;
     b_AdjCohCheckDate=m_AdjCohCheckDate;
     b_AdjCohPost=m_AdjCohPost;
     b_AdjCohPoster=m_AdjCohPoster;
     b_AdjCohPostDate=m_AdjCohPostDate;
     b_AdjCohSysDate=m_AdjCohSysDate;
}
//---------------------------------------------------------------------------
void TsdAdjCoh::RestoreValue()
{
    m_sdAdjCod= b_sdAdjCod;
    m_AdjCohCode=b_AdjCohCode;
    m_AdjCohDate=b_AdjCohDate;
    m_AdjCohFmonth=b_AdjCohFmonth;
    m_AdjCohPosType=b_AdjCohPosType;
    m_AdjCohDesc=b_AdjCohDesc;
    m_AdjCohKeeper=b_AdjCohKeeper;
    m_AdjCohUser=b_AdjCohUser;
    m_AdjCohCheck=b_AdjCohCheck;
    m_AdjCohChecker=b_AdjCohChecker;
    m_AdjCohCheckDate=b_AdjCohCheckDate;
    m_AdjCohPost=b_AdjCohPost;
    m_AdjCohPoster=b_AdjCohPoster;
    m_AdjCohPostDate=b_AdjCohPostDate;
    m_AdjCohSysDate=b_AdjCohSysDate;
}
//---------------------------------------------------------------------------
void TsdAdjCoh::RestoreItem()
{
    m_sdAdjCod->RestoreValue();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::EmptyValue(int Index)
{
   switch(Index)
   {
    case 0:
     m_AdjCohCode="";
     m_AdjCohDate="";
     m_AdjCohFmonth="";
     m_AdjCohPosType="";
     m_AdjCohDesc="";
     m_AdjCohKeeper="";
     m_AdjCohUser="";
     m_AdjCohCheck=0;
     m_AdjCohChecker="";
     m_AdjCohCheckDate="";
     m_AdjCohPost=0;
     m_AdjCohPoster="";
     m_AdjCohPostDate="";
     m_AdjCohSysDate="";
    break;
    case 1:
    b_AdjCohCode="";
    b_AdjCohDate="";
    b_AdjCohFmonth="";
    b_AdjCohPosType="";
    b_AdjCohDesc="";
    b_AdjCohKeeper="";
    b_AdjCohUser="";
    b_AdjCohCheck=0;
    b_AdjCohChecker="";
    b_AdjCohCheckDate="";
    b_AdjCohPost=0;
    b_AdjCohPoster="";
    b_AdjCohPostDate="";
    b_AdjCohSysDate="";
      break;
    }
}
//---------------------------------------------------------------------------
void TsdAdjCoh::BatchLetValue()
{
     m_AdjCohCode=m_Query->FieldValues["AdjCohCode"];
     m_AdjCohDate=m_Query->FieldValues["AdjCohDate"];
     m_AdjCohFmonth=m_Query->FieldValues["AdjCohFmonth"];
     m_AdjCohPosType=m_Query->FieldValues["AdjCohPosType"];
     m_AdjCohDesc=m_Query->FieldValues["AdjCohDesc"];
     m_AdjCohKeeper=m_Query->FieldValues["AdjCohKeeper"];
     m_AdjCohUser=m_Query->FieldValues["AdjCohUser"];
     m_AdjCohCheck=m_Query->FieldValues["AdjCohCheck"];
     m_AdjCohChecker=m_Query->FieldValues["AdjCohChecker"];
     m_AdjCohCheckDate=m_Query->FieldValues["AdjCohCheckDate"];
     m_AdjCohPost=m_Query->FieldValues["AdjCohPost"];
     m_AdjCohPoster=m_Query->FieldValues["AdjCohPoster"];
     m_AdjCohPostDate=m_Query->FieldValues["AdjCohPostDate"];
     m_AdjCohSysDate=m_Query->FieldValues["AdjCohSysDate"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::Assign(TsdAdjCoh *p)
{
    this->SetActionID(p->CurStatus);
    this->m_sdAdjCod=p->m_sdAdjCod;
    this->m_AdjCohCode=p->m_AdjCohCode;
    this->m_AdjCohDate=p->m_AdjCohDate;
    this->m_AdjCohFmonth=p->m_AdjCohFmonth;
    this->m_AdjCohPosType=p->m_AdjCohPosType;
    this->m_AdjCohDesc=p->m_AdjCohDesc;
    this->m_AdjCohKeeper=p->m_AdjCohKeeper;
    this->m_AdjCohUser=p->m_AdjCohUser;
    this->m_AdjCohCheck=p->m_AdjCohCheck;
    this->m_AdjCohChecker=p->m_AdjCohChecker;
    this->m_AdjCohCheckDate=p->m_AdjCohCheckDate;
    this->m_AdjCohPost=p->m_AdjCohPost;
    this->m_AdjCohPoster=p->m_AdjCohPoster;
    this->m_AdjCohPostDate=p->m_AdjCohPostDate;
    this->m_AdjCohSysDate=p->m_AdjCohSysDate;
    if(this->CurStatus==3)
    {
      this->b_sdAdjCod=p->b_sdAdjCod;
      this->b_AdjCohCode=p->b_AdjCohCode;
      this->b_AdjCohDate=p->b_AdjCohDate;
      this->b_AdjCohFmonth=p->b_AdjCohFmonth;
      this->b_AdjCohPosType=p->b_AdjCohPosType;
      this->b_AdjCohDesc=p->b_AdjCohDesc;
      this->b_AdjCohKeeper=p->b_AdjCohKeeper;
      this->b_AdjCohUser=p->b_AdjCohUser;
      this->b_AdjCohCheck=p->b_AdjCohCheck;
      this->b_AdjCohChecker=p->b_AdjCohChecker;
      this->b_AdjCohCheckDate=p->b_AdjCohCheckDate;
      this->b_AdjCohPost=p->b_AdjCohPost;
      this->b_AdjCohPoster=p->b_AdjCohPoster;
      this->b_AdjCohPostDate=p->b_AdjCohPostDate;
      this->b_AdjCohSysDate=p->b_AdjCohSysDate;
    }
    else
      this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdAdjCoh::AssignValue()
{
    TsdAdjCoh *p=(TsdAdjCoh *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TsdAdjCoh::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();
    for(int i=0;i<this->Count;i++)
    {
        this->LocateByIndex(i);
        this->AssignValue();
        delete m_sdAdjCod;
      }

    ClearRecord();
    if(m_Query->RecordCount>0)
    {
        m_Query->First();
        while(!m_Query->Eof)
        {
            BatchLetValue();
            NewDetail();
            m_sdAdjCod->FilterString="AdjCodCode='"+m_AdjCohCode+"'";
            m_sdAdjCod->Query();
            TsdAdjCoh *p=new TsdAdjCoh();
            SetActionID(1);
            p->Assign(this);
            AddRecord((void *)p,p->AdjCohCode);
            m_Query->Next();
        }
        MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TsdAdjCoh::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
        throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdAdjCoh 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_sdAdjCod->FilterString="AdjCodCode='"+m_AdjCohCode+"'";
        m_sdAdjCod->OrderString="AdjCodLine";
        m_sdAdjCod->Query();
        m_Query->Close();
        return true;
    }
}
//---------------------------------------------------------------------------
AnsiString TsdAdjCoh::GetItemValue(euAdjCod FieldName)
{
    return m_sdAdjCod->GetFieldValue(FieldName);
}
//---------------------------------------------------------------------------
void TsdAdjCoh::SetItemValue(euAdjCod FieldName, AnsiString value)
{
    m_sdAdjCod->SetFieldValue(FieldName,value);
}
//---------------------------------------------------------------------------
int __fastcall TsdAdjCoh::GetItemCount()
{
  if(m_sdAdjCod->Count)
     return m_sdAdjCod->Count;
  else
     return 0;

}
//---------------------------------------------------------------------------
int __fastcall TsdAdjCoh::GetCurItemNo()
{
    return m_sdAdjCod->CurRecNo;
}
//---------------------------------------------------------------------------
char __fastcall TsdAdjCoh::GetCurItemStatus()
{
    return m_sdAdjCod->CurStatus;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TsdAdjCoh::GetItemBookMark()
{
    return m_sdAdjCod->BookMark;
}
//---------------------------------------------------------------------------
void TsdAdjCoh::NewDetail()
{
  m_sdAdjCod=new TsdAdjCod(DataComm);
  m_sdAdjCod->sdParent=this;

}

void TsdAdjCoh::DeleteDetail()
{
  delete m_sdAdjCod;
  m_sdAdjCod=NULL;
}
//=============================================
//		(TsdAdjCod)入库调整单明细
//=============================================
void __fastcall TsdAdjCod:: SetAdjCodCode(AnsiString value)
{
    if(value.IsEmpty())
         throw Exception("入库调整单不能为空");
      m_AdjCodCode=value;
}
void __fastcall TsdAdjCod:: SetAdjCodLine(int    value)
{
    if(m_AdjCodCode.IsEmpty())
         throw Exception("入库调整单不能为空");
    if(value<0)
         throw Exception("行号不能小于零");
     m_AdjCodLine=value;
}
void __fastcall TsdAdjCod:: SetAdjCodGoods(AnsiString value)
{
    if(value.IsEmpty())
      throw Exception("物料编码不能为空");
    if(value.Length()>18)
      throw Exception("物料编码长度不能大于18");
    if(value!=m_AdjCodGoods)
    {
      m_Query->Close();
      m_Query->SQL->Clear();
      m_Query->SQL->Add("select GOODSCODE,GoodsName,GoodsUnitCode from Sdcd,sdgoods,sdstock where goodscode=stockgoodscode and cdgoods=goodscode and GOODSCODE='"+value+"'");
      m_Query->Open();

⌨️ 快捷键说明

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