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

📄 plnhdl.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    catch(Exception &e)
    {
        ShowMessage(e.Message);
    }
}
//---------------------------------------------------------------------------
TsdMps::~TsdMps()
{
    try
    {
    }
    catch(...)
    {
       throw Exception("析构函数出错!");
    }
}
//---------------------------------------------------------------------------
void TsdMps::BackupValue()
{
      b_MpsGoods=m_MpsGoods;
      b_MpsRDate=m_MpsRDate;
      b_MpsRQty=m_MpsRQty;
      b_MpsGQty=m_MpsGQty;
      b_MpsDate=m_MpsDate;
      b_MpsPlanner=m_MpsPlanner;
      b_MpsCheck=m_MpsCheck;
      b_MpsChecker=m_MpsChecker;
      b_MpsCheckDate=m_MpsCheckDate;
      b_MpsState=m_MpsState;
      b_MpsSysDate=m_MpsSysDate;
}
//---------------------------------------------------------------------------
void TsdMps::RestoreValue()
{
      m_MpsGoods=b_MpsGoods;
      m_MpsRDate=b_MpsRDate;
      m_MpsRQty=b_MpsRQty;
      m_MpsGQty=b_MpsGQty;
      m_MpsDate=b_MpsDate;
      m_MpsPlanner=b_MpsPlanner;
      m_MpsCheck=b_MpsCheck;
      m_MpsChecker=b_MpsChecker;
      m_MpsCheckDate=b_MpsCheckDate;
      m_MpsState=b_MpsState;
      m_MpsSysDate=b_MpsSysDate;
}
//---------------------------------------------------------------------------
void TsdMps::EmptyValue(int Index)
{
   switch(Index)
   {
     case 0:
        m_MpsGoods="";
        m_MpsRDate="";
        m_MpsRQty=0;
        m_MpsGQty=0;
        m_MpsDate="";
        m_MpsPlanner="";
        m_MpsCheck=0;
        m_MpsChecker="";
        m_MpsCheckDate="";
        m_MpsState=0;
        m_MpsSysDate="";
        break;
     case 1:
        b_MpsGoods="";
        b_MpsRDate="";
        b_MpsRQty=0;
        b_MpsGQty=0;
        b_MpsDate="";
        b_MpsPlanner="";
        b_MpsCheck=0;
        b_MpsChecker="";
        b_MpsCheckDate="";
        b_MpsState=0;
        b_MpsSysDate="";
        break;
     }
}
//---------------------------------------------------------------------------
void TsdMps::BatchLetValue()
{
    m_MpsGoods=m_Query->FieldValues["MpsGoods"];
    m_MpsRDate=m_Query->FieldValues["MpsRDate"];
    m_MpsRQty=m_Query->FieldValues["MpsRQty"];
    m_MpsGQty=m_Query->FieldValues["MpsGQty"];
    m_MpsDate=m_Query->FieldValues["MpsDate"];
    m_MpsPlanner=m_Query->FieldValues["MpsPlanner"];
    m_MpsCheck=m_Query->FieldValues["MpsCheck"];
    m_MpsChecker=m_Query->FieldValues["MpsChecker"];
    m_MpsCheckDate=m_Query->FieldValues["MpsCheckDate"];
    m_MpsState=m_Query->FieldValues["MpsState"];
    m_MpsSysDate=m_Query->FieldValues["MpsSysDate"];
    BackupValue();
}
//---------------------------------------------------------------------------
void TsdMps::Update()
{
    if(CurStatus==0||CurStatus==1)
      throw Exception("当前不是编辑状态,不能进行存盘操作!");
    if(m_MpsGoods.IsEmpty()==true)
      throw Exception("货物编号不能为空!");
    m_StoredProc->Close();
    if(CurStatus==2 || CurStatus==4)
    {
        m_StoredProc->ProcedureName="sdMps_Insert";
        m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@MpsGoods",ftString,pdInput,18,m_MpsGoods);
        m_StoredProc->Parameters->CreateParameter("@MpsRDate",ftString,pdInput,10,m_MpsRDate);
        m_StoredProc->Parameters->CreateParameter("@MpsRQty",ftFloat,pdInput,12,m_MpsRQty);
        m_StoredProc->Parameters->CreateParameter("@MpsGQty",ftFloat,pdInput,12,m_MpsGQty);
        m_StoredProc->Parameters->CreateParameter("@MpsDate",ftString,pdInput,10,m_MpsDate);
        m_StoredProc->Parameters->CreateParameter("@MpsPlanner",ftString,pdInput,18,m_MpsPlanner);
        m_StoredProc->Parameters->CreateParameter("@MpsCheck",ftInteger,pdInput,1,m_MpsCheck);
        m_StoredProc->Parameters->CreateParameter("@MpsChecker",ftString,pdInput,18,m_MpsChecker);
        m_StoredProc->Parameters->CreateParameter("@MpsCheckDate",ftString,pdInput,10,m_MpsCheckDate);
        m_StoredProc->Parameters->CreateParameter("@MpsState",ftInteger,pdInput,1,m_MpsState);
        m_StoredProc->Parameters->CreateParameter("@MpsSysDate",ftString,pdOutput,30,m_MpsSysDate);
        m_StoredProc->ExecProc();
        m_MpsSysDate=m_StoredProc->Parameters->ParamValues["@MpsSysDate"];
        m_StoredProc->Close();
    }
    else
    {
        m_StoredProc->ProcedureName="sdMps_Update";
        m_StoredProc->Parameters->Clear();

        m_StoredProc->Parameters->CreateParameter("@W_MpsGoods",ftString,pdInput,18,b_MpsGoods);
        m_StoredProc->Parameters->CreateParameter("@W_MpsRDate",ftString,pdInput,10,b_MpsRDate);
        m_StoredProc->Parameters->CreateParameter("@MpsGoods",ftString,pdInput,18,m_MpsGoods);
        m_StoredProc->Parameters->CreateParameter("@MpsRDate",ftString,pdInput,10,m_MpsRDate);
        m_StoredProc->Parameters->CreateParameter("@MpsRQty",ftFloat,pdInput,12,m_MpsRQty);
        m_StoredProc->Parameters->CreateParameter("@MpsGQty",ftFloat,pdInput,12,m_MpsGQty);
        m_StoredProc->Parameters->CreateParameter("@MpsDate",ftString,pdInput,10,m_MpsDate);
        m_StoredProc->Parameters->CreateParameter("@MpsPlanner",ftString,pdInput,18,m_MpsPlanner);
        m_StoredProc->Parameters->CreateParameter("@MpsCheck",ftInteger,pdInput,1,m_MpsCheck);
        m_StoredProc->Parameters->CreateParameter("@MpsChecker",ftString,pdInput,18,m_MpsChecker);
        m_StoredProc->Parameters->CreateParameter("@MpsCheckDate",ftString,pdInput,10,m_MpsCheckDate);
        m_StoredProc->Parameters->CreateParameter("@MpsState",ftInteger,pdInput,1,m_MpsState);
        m_StoredProc->Parameters->CreateParameter("@MpsSysDate",ftString,pdOutput,30,m_MpsSysDate);
        m_StoredProc->ExecProc();
        m_MpsSysDate=m_StoredProc->Parameters->ParamValues["@MpsSysDate"];
        m_StoredProc->Close();
    }
    m_StoredProc->Close();
    TsdMps *p=new TsdMps();
    if(CurStatus==2)
    {
      SetActionID(1);
      p->Assign(this);
      AddRecord((void *)p,p->MpsGoods+p->MpsRDate);
    }
    else
    {
      SetActionID(1);
      p->Assign(this);
      ChangeRecord((void *)p,p->MpsGoods+p->MpsRDate,this->b_MpsGoods+this->b_MpsRDate);
    }
}
//---------------------------------------------------------------------------
void TsdMps::Check(int IsCheck)
{
    if(this->Count>0)
    {
      try
      {
        m_StoredProc->Close();
        m_StoredProc->ProcedureName="sdMps_Check";
        m_StoredProc->Parameters->Clear();
        if(IsCheck==1)
        {
          MpsCheck=1;
          m_MpsCheckDate=g_sdCurDate;
          m_MpsChecker=g_sdUserCode;
          m_StoredProc->Parameters->CreateParameter("@W_MpsGoods",ftString,pdInput,18,b_MpsGoods);
          m_StoredProc->Parameters->CreateParameter("@MpsRDate",ftString,pdInput,10,m_MpsRDate);
          m_StoredProc->Parameters->CreateParameter("@MpsCheck",ftInteger,pdInput,1,m_MpsCheck);
          m_StoredProc->Parameters->CreateParameter("@MpsChecker",ftString,pdInput,18,m_MpsChecker);
          m_StoredProc->Parameters->CreateParameter("@MpsCheckDate",ftString,pdInput,10,m_MpsCheckDate);
          m_StoredProc->ExecProc();
        }
        else
        {
          MpsCheck=0;
          m_MpsChecker="";
          m_MpsCheckDate="";
          m_StoredProc->Parameters->CreateParameter("@W_MpsGoods",ftString,pdInput,18,b_MpsGoods);
          m_StoredProc->Parameters->CreateParameter("@MpsRDate",ftString,pdInput,10,m_MpsRDate);
          m_StoredProc->Parameters->CreateParameter("@MpsCheck",ftInteger,pdInput,1,m_MpsCheck);
          m_StoredProc->Parameters->CreateParameter("@MpsChecker",ftString,pdInput,18,m_MpsChecker);
          m_StoredProc->Parameters->CreateParameter("@MpsCheckDate",ftString,pdInput,10,m_MpsCheckDate);
          m_StoredProc->ExecProc();
        }
        TsdMps *p=(TsdMps*)Records(CurRecNo);
        p->Assign(this);
      }
      catch(Exception &e)
      {
        m_MpsCheck=b_MpsCheck;
        m_MpsChecker=b_MpsChecker;
        m_MpsCheckDate=b_MpsCheckDate;
        throw Exception(e.Message);
      }
    }
}
//---------------------------------------------------------------------------
void TsdMps::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_MpsGoods.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdMps_Delete";
    m_StoredProc->Parameters->Clear();
    m_StoredProc->Parameters->CreateParameter("@W_MpsGoods",ftString,pdInput,18,b_MpsGoods);
    m_StoredProc->Parameters->CreateParameter("@W_MpsRDate",ftString,pdInput,10,b_MpsRDate);
    m_StoredProc->ExecProc();
    m_StoredProc->Close();
    DeleteRecord(this->b_MpsGoods+this->b_MpsRDate);
}
//---------------------------------------------------------------------------
void TsdMps::Assign(TsdMps *p)
{
    this->SetActionID(p->CurStatus);
    this->m_MpsGoods=p->m_MpsGoods;
    this->m_MpsRDate=p->m_MpsRDate;
    this->m_MpsRQty=p->m_MpsRQty;
    this->m_MpsGQty=p->m_MpsGQty;
    this->m_MpsDate=p->m_MpsDate;
    this->m_MpsPlanner=p->m_MpsPlanner;
    this->m_MpsCheck=p->m_MpsCheck;
    this->m_MpsChecker=p->m_MpsChecker;
    this->m_MpsCheckDate=p->m_MpsCheckDate;
    this->m_MpsState=p->m_MpsState;
    this->m_MpsSysDate=p->m_MpsSysDate;
    this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdMps::AssignValue()
{
    TsdMps *p=(TsdMps *)Records(CurRecNo);
    Assign(p);
}
//---------------------------------------------------------------------------
int TsdMps::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();
          TsdMps *p=new TsdMps();
          SetActionID(1);
          p->Assign(this);
          AddRecord((void *)p,p->MpsGoods+p->m_MpsRDate);
          m_Query->Next();
       }
       MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//---------------------------------------------------------------------------
bool TsdMps::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;
    if(WhereStr.IsEmpty()==true)
       throw Exception("查找表达式不能为空");
    m_SqlStr="select * from sdMps 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;
    }
}
//---------------------------------------------------------------------------

//*********************************
//  ClassName:TsdMir             //
//  Description:独立需求计划     //
//  Created on:20001/01/03       //
//*********************************
void __fastcall TsdMir:: SetMirGoods(AnsiString value)
{
    if(value.IsEmpty()==true)
       throw Exception("物料编码不能为空!");
    if(value != m_MirGoods)
    {
       m_Query->Close();
       m_Query->SQL->Clear();
       AnsiString m_SqlStr="select GoodsCode from sdGoods where GoodsCode='"+value+"'";
       m_Query->SQL->Add(m_SqlStr);
       m_Query->Open();
       if(m_Query->RecordCount <= 0)
       {
          m_Query->Close();
          throw Exception("物料编码'"+value+"'未定义!");
       }
       m_Query->Close();
    }
    m_MirGoods=value;
}
//---------------------------------------------------------------------------
void __fastcall TsdMir:: SetMirRDate(AnsiString value)
{
    if(value.IsEmpty()==true)
      throw Exception("需求日期不能为空");
    if(value != m_MirRDate)
    {
     AnsiString m_SqlStr="select MirRDate from sdMir where MirGoods='"+m_MirGoods+"' and ";
     m_SqlStr+=" MirRDate='"+value+"'";
     m_Query->Close();
     m_Query->SQL->Clear();
     m_Query->SQL->Add(m_SqlStr);
     m_Query->Open();
     if(m_Query->RecordCount > 0)
     {
       m_Query->Close();
       throw Exception("该物料编码在日期'"+value+"'的独立需求已定义");
     }
     m_Query->Close();
    }
    m_MirRDate=Validate(value);
}
void __fastcall TsdMir:: SetMirRQty(double  value)
{
      if(value < 0)
       throw Exception("需求数量不能小于零");
      m_MirRQty=value;
}
void __fastcall TsdMir:: SetMirGQty(double  value)
{
      if(value < 0)
       throw Exception("生成数量不能小于零");
      m_MirGQty=value;
}
void __fastcall TsdMir:: SetMirDate(AnsiString value)
{
      if(value.IsEmpty()==true)
       throw Exception("操作日期不能为空");
       m_MirDate=Validate(value);
}
void __fastcall TsdMir:: SetMirPlanner(AnsiString value)
{
    if(value.IsEmpty()==true)
       throw Exception("计划员不能为空");
    if(value != m_MirPlanner)
    {
     AnsiString m_SqlStr="select PlannerCode from sdPlanner where PlannerCode='"+value+"'";
     m_Query->Close();
     m_Query->SQL->Clear();
     m_Query->SQL->Add(m_SqlStr);
     m_Query->Open();
     if(m_Query->RecordCount <= 0)
     {
       m_Query->Close();
       throw Exception("计划员'"+value+"'未定义");
     }
     m_Query->Close();
    }
    m_MirPlanner=value;
}
void __fastcall TsdMir:: SetMirCheck(int    value)
{
   m_MirCheck=value;
}
void __fastcall TsdMir:: SetMirChecker(AnsiString value)
{

⌨️ 快捷键说明

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