📄 imdoc.cpp
字号:
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 + -