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

📄 bmhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      {
        m_PbomhIdate="";
        throw Exception("失效日期不能小于等于生效日期!");
      }
    }
    else
      m_PbomhIdate="";
}
//---------------------------------------------------------------------------

void __fastcall TsdPbomh::SetPbomhDesc(AnsiString value)
{
    if(value.Length()>40)
       throw Exception("备注长度不能大于40!");
    m_PbomhDesc = value;
}
//---------------------------------------------------------------------------
AnsiString TsdPbomh::GetFieldValue(euPbomh sdFieldName)
{
    switch(sdFieldName)
    {
      case fiPbomhGoods:
        return PbomhGoods;
      case fiPbomhUnit:
        return PbomhUnit;
      case fiPbomhType:
        return AnsiString(PbomhType);
      case fiPbomhEoq:
        return AnsiString(PbomhEoq);
      case fiPbomhRlt:
        return AnsiString(PbomhRlt);
      case fiPbomhFpr:
        return AnsiString(PbomhFpr);
      case fiPbomhPp:
        return AnsiString(PbomhPp);
      case fiPbomhOp:
        return AnsiString(PbomhOp);
      case fiPbomhUser:
        return PbomhUser;
      case fiPbomhProducter:
        return PbomhProducter;
      case fiPbomhEdate:
        return PbomhEdate;
      case fiPbomhIdate:
        return PbomhIdate;
      case fiPbomhDesc:
        return PbomhDesc;
      case fiPbomhSysDate:
        return PbomhSysDate;
      default:
        throw Exception("当前字段未定义可取值!");
    }
}
//----------------------------------------------------------------------------

void TsdPbomh::SetFieldValue(euPbomh sdFieldName, AnsiString value)
{
    switch(sdFieldName)
    {
      case fiPbomhGoods:
        PbomhGoods=value;
        break;
      case fiPbomhEoq:
        PbomhEoq=value.ToDouble();
        break;
      case fiPbomhRlt:
        PbomhRlt=value.ToDouble();
        break;
      case fiPbomhFpr:
        PbomhFpr=value.ToDouble();
        break;
      case fiPbomhPp:
        PbomhPp=value.ToInt();
        break;
      case fiPbomhOp:
        PbomhOp=value.ToInt();
        break;
      case fiPbomhUser:
        PbomhUser=value;
        break;
      case fiPbomhProducter:
        PbomhProducter=value;
        break;
      case fiPbomhEdate:
        PbomhEdate=value;
        break;
      case fiPbomhIdate:
        PbomhIdate=value;
        break;
      case fiPbomhDesc:
        PbomhDesc=value;
        break;
      default:
        throw Exception("当前字段未定义可赋值!");
    }
}
//----------------------------------------------------------------------------

void TsdPbomh::Update()
{
    if(CurStatus==0 || CurStatus==1)
      throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_PbomhGoods.IsEmpty()==true)
      throw Exception("计划物料清单的父件编码不能为空!");
    if(ItemCount<=0)
      throw Exception("计划物料清单没有没有定义行明细字段!");
    m_StoredProc->Close();
    switch(CurStatus)
    {
      case 2:
      case 4:
          m_StoredProc->ProcedureName="sdPbomh_Insert";
          m_StoredProc->Parameters->Clear();
          m_StoredProc->Parameters->CreateParameter("@PbomhGoods",ftString,pdInput,18,m_PbomhGoods);
          m_StoredProc->Parameters->CreateParameter("@PbomhType",ftInteger,pdInput,1,m_PbomhType);
          m_StoredProc->Parameters->CreateParameter("@PbomhUnit",ftString,pdInput,18,m_PbomhUnit);
          m_StoredProc->Parameters->CreateParameter("@PbomhEoq",ftFloat,pdInput,12,m_PbomhEoq);
          m_StoredProc->Parameters->CreateParameter("@PbomhRlt",ftFloat,pdInput,12,m_PbomhRlt);
          m_StoredProc->Parameters->CreateParameter("@PbomhFpr",ftFloat,pdInput,5,m_PbomhFpr);
          m_StoredProc->Parameters->CreateParameter("@PbomhPp",ftInteger,pdInput,1,m_PbomhPp);
          m_StoredProc->Parameters->CreateParameter("@PbomhOp",ftInteger,pdInput,1,m_PbomhOp);
          m_StoredProc->Parameters->CreateParameter("@PbomhUser",ftString,pdInput,18,m_PbomhUser);
          m_StoredProc->Parameters->CreateParameter("@PbomhProducter",ftString,pdInput,18,m_PbomhProducter);
          m_StoredProc->Parameters->CreateParameter("@PbomhEdate",ftString,pdInput,10,m_PbomhEdate);
          m_StoredProc->Parameters->CreateParameter("@PbomhIdate",ftString,pdInput,10,m_PbomhIdate);
          m_StoredProc->Parameters->CreateParameter("@PbomhDesc",ftString,pdInput,40,m_PbomhDesc);
          m_StoredProc->Parameters->CreateParameter("@PbomhSysDate",ftString,pdOutput,40,m_PbomhSysDate);

          m_StoredProc->ExecProc();
          m_PbomhSysDate=m_StoredProc->Parameters->ParamValues["@PbomhSysDate"];
          m_StoredProc->Close();

          for(int i=0;i<ItemCount;i++)
          {
           LocateItemByIndex(i);
           m_sdPbomd->Update();
          }
          break;
      case 3:
          m_StoredProc->ProcedureName="sdPbomh_Update";
          m_StoredProc->Parameters->Clear();
          m_StoredProc->Parameters->CreateParameter("@W_PbomhGoods",ftString,pdInput,18,b_PbomhGoods);
          m_StoredProc->Parameters->CreateParameter("@PbomhRlt",ftFloat,pdInput,12,m_PbomhRlt);
          m_StoredProc->Parameters->CreateParameter("@PbomhFpr",ftFloat,pdInput,5,m_PbomhFpr);
          m_StoredProc->Parameters->CreateParameter("@PbomhPp",ftInteger,pdInput,1,m_PbomhPp);
          m_StoredProc->Parameters->CreateParameter("@PbomhOp",ftInteger,pdInput,1,m_PbomhOp);
          m_StoredProc->Parameters->CreateParameter("@PbomhUser",ftString,pdInput,18,m_PbomhUser);
          m_StoredProc->Parameters->CreateParameter("@PbomhProducter",ftString,pdInput,18,m_PbomhProducter);
          m_StoredProc->Parameters->CreateParameter("@PbomhEdate",ftString,pdInput,10,m_PbomhEdate);
          m_StoredProc->Parameters->CreateParameter("@PbomhIdate",ftString,pdInput,10,m_PbomhIdate);
          m_StoredProc->Parameters->CreateParameter("@PbomhDesc",ftString,pdInput,40,m_PbomhDesc);
          m_StoredProc->Parameters->CreateParameter("@PbomhSysDate",ftString,pdOutput,40,m_PbomhSysDate);
          m_StoredProc->ExecProc();
          m_PbomhSysDate=m_StoredProc->Parameters->ParamValues["@PbomhSysDate"];
          m_StoredProc->Close();
          break;
      case 5:
      case 6:
      case 7:
        for(int i=0;i<ItemCount;i++)
        {
          LocateItemByIndex(i);
          if(m_sdPbomd->CurStatus==2 || m_sdPbomd->CurStatus==3)
            m_sdPbomd->Update();
        }
        break;
    }
    TsdPbomh *p=new TsdPbomh();
    if(CurStatus==2)
    {
       SetActionID(1);
       p->Assign(this);
       AddRecord((void *)p,p->PbomhGoods);
    }
    else
    {
       SetActionID(1);
       p->Assign(this);
       ChangeRecord((void *)p,p->PbomhGoods,this->b_PbomhGoods);
    }
}
//---------------------------------------------------------------------------

void TsdPbomh::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_PbomhGoods.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdPbomh_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_PbomhGoods",ftString,pdInput,18,b_PbomhGoods);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    delete m_sdPbomd;
    DeleteRecord(this->b_PbomhGoods);
}
//---------------------------------------------------------------------------

void TsdPbomh::NewDetail()
{
    m_sdPbomd=new TsdPbomd(DataComm);
    m_sdPbomd->sdParent=this;
}
//---------------------------------------------------------------------------

void TsdPbomh::DeleteDetail()
{
    delete m_sdPbomd;
    m_sdPbomd=NULL;
}
//---------------------------------------------------------------------------

void TsdPbomh::AddItem()
{
    m_sdPbomd->AddNew();
    if(CurStatus!=2)
       SetActionID(5);
}
//---------------------------------------------------------------------------

void TsdPbomh::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 TsdPbomh::EditItem()
{
    m_sdPbomd->Edit();
    if(CurStatus==1)
    {
      SetActionID(6);
    }
}
//---------------------------------------------------------------------------

void TsdPbomh::DeleteItem()
{
   if(CurStatus==2 || CurStatus==5)
      m_sdPbomd->DeleteRecord(m_sdPbomd->Key);
   else
      m_sdPbomd->Delete();
}
//---------------------------------------------------------------------------

void TsdPbomh::RemoveItem()
{
   if(CurStatus==2 || CurStatus==5)
      m_sdPbomd->RemoveRecord(m_sdPbomd->Index);
   else
      m_sdPbomd->Delete();
}
//---------------------------------------------------------------------------
void TsdPbomh::ClearItem()
{
   int iCount;
   if(CurStatus==2)
     m_sdPbomd->ClearRecord();
   else
   {
     iCount=m_sdPbomd->Count;
     for(int i=0;i<iCount;i++)
     {
       m_sdPbomd->LocateByIndex(0);
       m_sdPbomd->Delete();
     }
   }
}
//---------------------------------------------------------------------------
void TsdPbomh::CancelItem()
{
    m_sdPbomd->Cancel();
}
//---------------------------------------------------------------------------

void TsdPbomh::RestoreItem()
{
    m_sdPbomd->RestoreValue();
}
//---------------------------------------------------------------------------

void TsdPbomh::AddToObject()
{
  TsdPbomd *p=new TsdPbomd();
  p->Assign(m_sdPbomd);
  if(m_sdPbomd->FindKey(m_sdPbomd->GetOldFieldValue(fiPbomdSn)))
     m_sdPbomd->ChangeRecord((void *)p,p->GetFieldValue(fiPbomdSn),m_sdPbomd->GetOldFieldValue(fiPbomdSn));
  else
     m_sdPbomd->AddRecord((void *)p,p->GetFieldValue(fiPbomdSn));
}
//---------------------------------------------------------------------------

bool TsdPbomh::LocateItemByIndex(int Index)
{
   return m_sdPbomd->LocateByIndex(Index);
}
//---------------------------------------------------------------------------

bool TsdPbomh::LocateItemByKey(AnsiString Key)
{
   return m_sdPbomd->LocateByKey(Key);
}
//---------------------------------------------------------------------------

void TsdPbomh::BackupValue()
{
    b_sdPbomd=m_sdPbomd;
    b_PbomhGoods=m_PbomhGoods;
    b_PbomhUnit=m_PbomhUnit;
    b_PbomhType=m_PbomhType;
    b_PbomhEoq=m_PbomhEoq;
    b_PbomhRlt=m_PbomhRlt;
    b_PbomhFpr=m_PbomhFpr;
    b_PbomhPp=m_PbomhPp;
    b_PbomhOp=m_PbomhOp;
    b_PbomhUser=m_PbomhUser;
    b_PbomhProducter=m_PbomhProducter;
    b_PbomhEdate=m_PbomhEdate;
    b_PbomhIdate=m_PbomhIdate;
    b_PbomhDesc=m_PbomhDesc;
    b_PbomhSysDate=m_PbomhSysDate;
}
//---------------------------------------------------------------------------

void TsdPbomh::RestoreValue()
{
    m_sdPbomd=b_sdPbomd;
    m_PbomhGoods=b_PbomhGoods;
    m_PbomhUnit=b_PbomhUnit;
    m_PbomhType=b_PbomhType;
    m_PbomhEoq=b_PbomhEoq;
    m_PbomhRlt=b_PbomhRlt;
    m_PbomhFpr=b_PbomhFpr;
    m_PbomhPp=b_PbomhPp;
    m_PbomhOp=b_PbomhOp;
    m_PbomhUser=b_PbomhUser;
    m_PbomhProducter=b_PbomhProducter;
    m_PbomhEdate=b_PbomhEdate;
    m_PbomhIdate=b_PbomhIdate;
    m_PbomhDesc=b_PbomhDesc;
    m_PbomhSysDate=b_PbomhSysDate;
}
//---------------------------------------------------------------------------

void TsdPbomh::EmptyValue(int Index)
{
   switch(Index)
   {
     case 0:
        m_sdPbomd=NULL;
        m_PbomhGoods="";
        m_PbomhUnit="";
        m_PbomhType=0;
        m_PbomhEoq=0;
        m_PbomhRlt=0;
        m_PbomhFpr=0;
        m_PbomhPp=0;
        m_PbomhOp=0;
        m_PbomhUser="";
        m_PbomhProducter="";
        m_PbomhEdate="";
        m_PbomhIdate="";
        m_PbomhDesc="";
        m_PbomhSysDate="";
        break;
     case 1:
        b_sdPbomd=NULL;
        b_PbomhGoods="";
        b_PbomhUnit="";
        b_PbomhType=0;
        b_PbomhEoq=0;
        b_PbomhRlt=0;
        b_PbomhFpr=0;
        b_PbomhPp=0;
        b_PbomhOp=0;
        b_PbomhUser="";
        b_PbomhProducter="";
        b_PbomhEdate="";
        b_PbomhIdate="";
        b_PbomhDesc="";
        b_PbomhSysDate="";
        break;
    }
}
//---------------------------------------------------------------------------
void TsdPbomh::BatchLetValue()
{
    m_PbomhGoods=m_Query->FieldValues["PbomhGoods"];
    m_PbomhUnit=m_Query->FieldValues["PbomhUnit"];
    m_PbomhType=m_Query->FieldValues["PbomhType"];
    m_PbomhEoq=m_Query->FieldValues["PbomhEoq"];
    m_PbomhRlt=m_Query->FieldValues["PbomhRlt"];
    m_PbomhFpr=m_Query

⌨️ 快捷键说明

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