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

📄 imdoc.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    SetActionID(1);
    p->Assign(this);
    AddRecord((void *)p,p->BatchCode);
  }
  else
  {
    SetActionID(1);
    p->Assign(this);
    ChangeRecord((void *)p,p->BatchCode,this->b_BatchCode);
  }
}
//-------------------------------------------------------------------------
void TsdBatch::Delete()
{
    if(CurStatus!=1)
      throw Exception("当前状态不能进行删除操作!");
    if(m_BatchCode.IsEmpty()==true)
      throw Exception("当前没有记录可以删除!");
    m_StoredProc->Close();
    m_StoredProc->ProcedureName="sdBatch_Delete";
    m_StoredProc->Parameters->Clear();
        m_StoredProc->Parameters->CreateParameter("@W_BatchCode",ftString,pdInput,18,b_BatchCode);
    m_StoredProc->ExecProc();
    DeleteRecord(this->b_BatchCode);
}
//-------------------------------------------------------------------------
void TsdBatch::BackupValue()
{
    b_BatchCode=m_BatchCode;
    b_BatchDesc=m_BatchDesc;
    b_BatchQty=m_BatchQty;
    b_BatchEffectDate=m_BatchEffectDate;
    b_BatchAbateDate=m_BatchAbateDate;
}
//-------------------------------------------------------------------------
void TsdBatch::RestoreValue()
{
    m_BatchCode=b_BatchCode;
    m_BatchDesc=b_BatchDesc;
    m_BatchQty=b_BatchQty;
    m_BatchEffectDate=b_BatchEffectDate;
    m_BatchAbateDate=b_BatchAbateDate;
}
//-------------------------------------------------------------------------
void TsdBatch::EmptyValue(int Index)
{
   switch(Index)
   {
     case 0:
        m_BatchCode="";
        m_BatchDesc="";
        m_BatchQty=1;
        m_BatchEffectDate="";
        m_BatchAbateDate="";
        break;
     case 1:
        b_BatchCode="";
        b_BatchDesc="";
        b_BatchQty=1;
        b_BatchEffectDate="";
        m_BatchAbateDate="";
        break;
    }
}
//-------------------------------------------------------------------------
void TsdBatch::BatchLetValue()
{
    m_BatchCode=m_Query->FieldValues["BatchCode"];
    m_BatchDesc=m_Query->FieldValues["BatchDesc"];
    m_BatchQty=m_Query->FieldValues["BatchQty"];
    m_BatchEffectDate=m_Query->FieldValues["BatchEffectDate"];
    m_BatchAbateDate=m_Query->FieldValues["BatchAbateDate"];
    BackupValue();
}
//-------------------------------------------------------------------------
void TsdBatch::Assign(TsdBatch *p)
{
    SetActionID(p->CurStatus);
    m_BatchCode=p->m_BatchCode;
    m_BatchDesc=p->m_BatchDesc;
    m_BatchQty=p->m_BatchQty;
    m_BatchEffectDate=p->m_BatchEffectDate;
    m_BatchAbateDate=p->m_BatchAbateDate;
    BackupValue();
}
//-------------------------------------------------------------------------
void TsdBatch::AssignValue()
{
    TsdBatch *p=(TsdBatch *)Records(CurRecNo);
    Assign(p);
}
//-------------------------------------------------------------------------
int TsdBatch::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();
        TsdBatch *p=new TsdBatch();
        SetActionID(1);
        p->Assign(this);
        AddRecord((void *)p,p->BatchCode);
        m_Query->Next();
      }
      MoveFirst();
    }
    m_Query->Close();
    return Count;
}
//-------------------------------------------------------------------------
bool TsdBatch::Find(AnsiString WhereStr)
{
    AnsiString m_SqlStr;

    if(WhereStr.IsEmpty()==true)
      throw Exception("查找表达式不能为空");
    m_SqlStr="SELECT * From SDBatch 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;
    }
}
//-------------------------------------------------------------------------
TsdBatch::~TsdBatch()
{
    try
    {
    }
    catch(...)
    {
      throw Exception("析构函数出错");
    }
}
//-------------------------------------------------------------------------

///////////////////////////////////////////////////////
//          货物基本资料(TsdGoods)
///////////////////////////////////////////////////////
void __fastcall TsdGoods::SetGoodsCode(AnsiString value)
{
    if(value.IsEmpty())
       throw Exception("货物编码不能为空!");
    if(value.Length()>18)
      throw Exception("物料编码长度不能大于18");
    if(value.UpperCase() != m_GoodsCode.UpperCase())
    {
       m_Query->Close();
       m_Query->SQL->Clear();
       m_Query->SQL->Add("select GoodsCode from sdGoods where GoodsCode='"+value+"'");
       m_Query->Open();
       if(m_Query->RecordCount>0)
       {
          m_Query->Close();
          throw Exception("货物编码:'"+value+"'已经存在,不能重复.");
       }
       m_Query->Close();
    }

    m_GoodsCode = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsName(AnsiString value)
{
    if(value.IsEmpty())
       throw Exception("货物编码的名称不能为空!");
    if(value.Length()>40)
      throw Exception("物料名称长度不能大于40");
    m_GoodsName = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsDesc(AnsiString value)
{
    if(value.Length()>40)
      throw Exception("物料编码备注长度不能大于40");
    m_GoodsDesc = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsPmpcCode(AnsiString value)
{
    if(value.IsEmpty())
      throw Exception("物料分类码不能为空");
    if(value.Length()>18)
      throw Exception("物料分类码长度不能大于18");
    if(value != m_GoodsPmpcCode)
    {
       m_Query->Close();
       m_Query->SQL->Clear();
       m_Query->SQL->Add("select PmpcCode from sdPmpc where PmpcCode='"+value+"' and pmpcend=1");
       m_Query->Open();
       if(m_Query->RecordCount<=0)
       {
          m_Query->Close();
          throw Exception("物料分类码:'"+value+"'未定义或不是末级");
       }
       m_Query->Close();
    }
    m_GoodsPmpcCode = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsUnitCode(AnsiString value)
{
    if(value.IsEmpty())
      throw Exception("计量单位不能为空");
    if(value.Length()>18)
      throw Exception("计量单位长度不能大于18");
    if(value != m_GoodsUnitCode)
    {
       m_Query->Close();
       m_Query->SQL->Clear();
       m_Query->SQL->Add("select UnitCode from sdUnit where UnitCode='"+value+"'");
       m_Query->Open();
       if(m_Query->RecordCount<=0)
       {
          m_Query->Close();
          throw Exception("计量单位:'"+value+"'未定义");
       }
       m_Query->Close();
    }
    m_GoodsUnitCode = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsMUnit(int value)
{
    if(value!=0 && value!=1)
      throw Exception("多计量单取值只能是0-单计量单位1-多计量单位");
    m_GoodsMUnit = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsIUnit(int value)
{
    if(value!=0&&value!=1)
      throw Exception("整计量单位只能取值0-非整计量单位1-整计量单位");
    m_GoodsIUnit = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsBatch(int value)
{
    if(value!=0&&value!=1)
      throw Exception("批号管理标志只能取值0-非批次管理1-批次管理");
    m_GoodsBatch = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsSingle(int value)
{
    if(value!=0&&value!=1)
      throw Exception("单件管理标志只能取值0-不需单件管理1-需单件管理");
    m_GoodsSingle = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsSale(int value)
{
    if(value!=0&&value!=1)
      throw Exception("销售标志只能取值0-不可销售1-可销售");
    m_GoodsSale = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsType(int value)
{
    if(value!=1&&value!=2 && value!=3 && value!=4 && value!=5 && value!=6 && value!=7 && value!=8 && value!=9)
      throw Exception("物料类型只能取值1-成品,2-半成品,3-原材料,4-零件,5-备用件,6-工具,7-费用件,8-虚拟件,9-在流件");
    m_GoodsType = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsCancel(int value)
{
    if(value!=0 && value!=1)
      throw Exception("取消标志只能取值0-正常1-取消");
    m_GoodsCancel = value;
}
//-------------------------------------------------------------------

void __fastcall TsdGoods::SetGoodsSpec(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("规格长度不能大于18");
    m_GoodsSpec = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsModel(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("型号长度不能大于18");
    m_GoodsModel = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsBpNo(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("图号长度不能大于18");
    m_GoodsBpNo = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsVer(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("版本号长度不能大于18");
    m_GoodsVer = value;
}
//-------------------------------------------------------------------

void __fastcall TsdGoods::SetGoodsMold(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("模具编码长度不能大于18");
    m_GoodsMold = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsCheck(int value)
{
    if(value!=0 && value!=1)
      throw Exception("需质检标志只能取值0-不需质检1-需质检");
    m_GoodsCheck = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsWunit(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("重量单位长度不能大于18");
    m_GoodsWunit = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsWeight(double value)
{
    if(value<0)
      throw Exception("重量不能小于0");
    m_GoodsWeight = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsCunit(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("体积单位长度不能大于18");
    m_GoodsCunit = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsCubage(double value)
{
    if(value<0)
      throw Exception("体积不能小于0");
    m_GoodsCubage = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsLocCode(AnsiString value)
{
    if(value.Length()>18)
      throw Exception("缺省货位编码长度不能大于18");
    if(value.IsEmpty()==false && value!=m_GoodsLocCode)
    {
       m_Query->Close();
       m_Query->SQL->Clear();
       m_Query->SQL->Add("select LocCode from sdloc where LocCode='"+value+"'");
       m_Query->Open();
       if(m_Query->RecordCount<=0)
       {
          m_Query->Close();
          throw Exception("货位编码:'"+value+"'未定义");
       }
       m_Query->Close();
    }
    m_GoodsLocCode = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsFrom(int value)
{
    if(value!=1 && value!=2)
      throw Exception("物料来源只能取值1-采购件,2-制造件");
    m_GoodsFrom = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsSafeQty(double value)
{
    if(value<0)
      throw Exception("安全库存量不能小于0");
    m_GoodsSafeQty = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsRopQty(double value)
{
    if(value<0)
      throw Exception("再订货点不能小于0");
    m_GoodsRopQty = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsEoq(double value)
{
    if(value<0)
      throw Exception("订货批量不能小于0");
    m_GoodsEoq = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsEoi(int value)
{
    if(value<0)
      throw Exception("订货周期不能小于0");
    m_GoodsEoi = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsMaxQty(double value)
{
    if(value<0)
      throw Exception("最大库存量不能小于0");
    m_GoodsMaxQty = value;
}
//-------------------------------------------------------------------
void __fastcall TsdGoods::SetGoodsOoq(double value)
{
    if(value<0)
      throw Exception("发放批量不能小于0");
    m_GoodsOoq = value;
}
//--------------------

⌨️ 快捷键说明

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