📄 pmhdl.cpp
字号:
{
if(value.IsEmpty())
throw Exception("系统生成单据行时必须记录请购单号");
if(value!=m_PodFromCode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdRpoh where RpohCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("请购单:"+value+"不存在");
}
m_Query->Close();
m_PodFromCode=value;
}
}
else
m_PodFromCode="";
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodFromLine(int value)
{
if(m_PodType==2)
{
if(m_PodFromCode.IsEmpty())
throw Exception("系统生成单据行时必须记录请购单号");
if(value!=m_PodFromLine)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select * from sdRpod where RpodCode='"+m_PodFromCode+"' and RpodLine="+AnsiString(value));
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("请购单行:"+AnsiString(value)+"不存在");
}
m_Query->Close();
m_PodFromLine=value;
}
}
else
m_PodFromLine=0;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodStatus(int value)
{
//备用
if(value!=1 && value!=2 && value!=3 && value!=4 )
throw Exception("行状态只能取值1-待审核 2-已确认 3-已下达 4-已关闭");
m_PodStatus = value;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodLoc(AnsiString value)
{
if(value.Length()>18)
throw Exception("需求货位编码长度不能大于18");
if(value.IsEmpty()==false && value!=PodLoc)
{
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_Query->SQL->Clear();
m_Query->SQL->Add("select lgloccode from sdlg where lgstate=1 and lgloccode='"+value+"' and lggoodscode='"+m_PodGoods+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("货位'"+value+"'中未定义物料'"+m_PodGoods+"'或不能使用");
}
}
m_PodLoc = value;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodDept(AnsiString value)
{
if(value.Length()>18)
throw Exception("部门编码长度不能大于18");
if(value.IsEmpty()==false && value!=m_PodDept)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select Deptcode from sdDept where Deptcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("部门编码:"+value+"未定义");
}
m_Query->Close();
}
m_PodDept = value;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodReqDate(AnsiString value)
{
if(m_PodRecDate.IsEmpty())
throw Exception("交货日期不能为空");
if(value.IsEmpty())
throw Exception("需求日期不能为空");
if(Validate(value)<Validate(m_PodRecDate))
throw Exception("需求日期必须在交货日期之后");
m_PodReqDate = Validate(value);
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodRecDate(AnsiString value)
{
if(m_PodSendDate.IsEmpty())
throw Exception("发货日期不能为空");
if(value.IsEmpty())
throw Exception("交货日期不能为空");
if(Validate(value)<Validate(m_PodSendDate))
throw Exception("交货日期必须在发货日期之后");
m_PodRecDate = Validate(value);
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodSendDate(AnsiString value)
{
if(value.IsEmpty())
throw Exception("发货日期不能为空");
m_PodSendDate = Validate(value);
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodDesc(AnsiString value)
{
if(value.Length()>40)
throw Exception("备注长度不能大于40");
m_PodDesc = value;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodBatch(AnsiString value)
{
int FBatch;
if(m_PodGoods.IsEmpty())
throw Exception("采购物料不能为空");
if(value.Length()>18)
throw Exception("批号长度不能大于18");
if(value.IsEmpty()==false && value!=m_PodBatch)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select Batchcode from sdBatch where Batchcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("批号'"+value+"'未定义");
}
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select goodsbatch from sdgoods where goodscode='"+m_PodGoods+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("采购物料:"+m_PodGoods+"在物料主文件中没找到");
}
FBatch=m_Query->FieldValues["GoodsBatch"];
m_Query->Close();
if(FBatch!=1)
throw Exception("当前物料不能进行批次管理");
}
m_PodBatch = value;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodSo(AnsiString value)
{
int FSod;
if(m_PodGoods.IsEmpty())
throw Exception("采购物料不能为空");
if(value.Length()>18)
throw Exception("销售订单号长度能大于18");
if(value.IsEmpty()==false && value!=m_PodSo)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select SohCode from sdSoh where Sohcode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("销售订单'"+value+"'未定义");
}
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select GoodsTrackSo from sdgoods where goodscode='"+m_PodGoods+"'");
m_Query->Open();
if(m_Query->RecordCount<1)
{
m_Query->Close();
throw Exception("物料:"+m_PodGoods+"在物料主文件中未找到");
}
FSod=m_Query->FieldValues["GoodsTrackSo"];
m_Query->Close();
if(FSod!=1)
throw Exception("当前物料不能进行订单跟踪");
}
m_PodSo = value;
}
void __fastcall TsdPod::SetPodSodLine(int value)
{
if(m_PodSo.IsEmpty()==false)
{
if(value<1)
throw Exception("订单行号不能小于1");
else
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select Sodcode from sdSod where Sodcode='"+m_PodSo+"' and SodLine="+value);
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("订单行:'"+AnsiString(value)+"'未定义");
}
m_Query->Close();
}
}
m_PodSodLine = value;
}
//---------------------------------------------------------------------------
void __fastcall TsdPod::SetPodClose(int value)
{
if(value!=0 && value!=1)
throw Exception("结清标志只能取值0-未结清 1-已结清");
m_PodClose=value;
}
void __fastcall TsdPod::SetPodCloseDate(AnsiString value)
{
if(value.IsEmpty()==false)
m_PodCloseDate=Validate(value);
else
m_PodCloseDate="";
}
AnsiString TsdPod::GetFieldValue(euPod sdFieldName)
{
switch(sdFieldName)
{
case fiPodLine:
return AnsiString(PodLine);
case fiPodCode:
return PodCode;
case fiPodGoods:
return PodGoods;
case fiPodUnit:
return PodUnit;
case fiPodConvRate:
return AnsiString(PodConvRate);
case fiPodQty:
return AnsiString(PodQty);
case fiPodPrice:
return AnsiString(PodPrice);
case fiPodAmt:
return AnsiString(PodAmt);
case fiPodType:
return AnsiString(PodType);
case fiPodFrom:
return AnsiString(PodFrom);
case fiPodFromCode:
return PodFromCode;
case fiPodFromLine:
return PodFromLine;
case fiPodDQty:
return PodDQty;
case fiPodRQty:
return PodRQty;
case fiPodBQty:
return PodBQty;
case fiPodWQty:
return PodWQty;
case fiPodFQty:
return PodFQty;
case fiPodEQty:
return PodEQty;
case fiPodStatus:
return AnsiString(PodStatus);
case fiPodLoc:
return PodLoc;
case fiPodDept:
return PodDept;
case fiPodBatch:
return PodBatch;
case fiPodSendDate:
return PodSendDate;
case fiPodReqDate:
return PodReqDate;
case fiPodRecDate:
return PodRecDate;
case fiPodDesc:
return PodDesc;
case fiPodClose:
return AnsiString(PodClose);
case fiPodCloseDate:
return PodCloseDate;
case fiPodSo:
return PodSo;
case fiPodSodLine:
return AnsiString(PodSodLine);
default:
throw Exception("当前未定义可取值");
}
}
AnsiString TsdPod::GetOldFieldValue(euPod sdFieldName)
{
switch(sdFieldName)
{
case fiPodLine:
return AnsiString(b_PodLine);
case fiPodCode:
return b_PodCode;
case fiPodGoods:
return b_PodGoods;
case fiPodUnit:
return b_PodUnit;
case fiPodConvRate:
return AnsiString(b_PodConvRate);
case fiPodQty:
return AnsiString(b_PodQty);
case fiPodPrice:
return AnsiString(b_PodPrice);
case fiPodAmt:
return AnsiString(b_PodAmt);
case fiPodType:
return AnsiString(b_PodType);
case fiPodFrom:
return AnsiString(b_PodFrom);
case fiPodFromCode:
return b_PodFromCode;
case fiPodFromLine:
return b_PodFromLine;
case fiPodDQty:
return b_PodDQty;
case fiPodRQty:
return b_PodRQty;
case fiPodBQty:
return b_PodBQty;
case fiPodWQty:
return b_PodWQty;
case fiPodFQty:
return b_PodFQty;
case fiPodEQty:
return b_PodEQty;
case fiPodStatus:
return AnsiString(b_PodStatus);
case fiPodLoc:
return b_PodLoc;
case fiPodDept:
return b_PodDept;
case fiPodBatch:
return b_PodBatch;
case fiPodSendDate:
return b_PodSendDate;
case fiPodReqDate:
return b_PodReqDate;
case fiPodRecDate:
return b_PodRecDate;
case fiPodDesc:
return b_PodDesc;
case fiPodClose:
return AnsiString(b_PodClose);
case fiPodCloseDate:
return b_PodCloseDate;
case fiPodSo:
return b_PodSo;
case fiPodSodLine:
return AnsiString(b_PodSodLine);
default:
throw Exception("当前未定义可取值");
}
}
//---------------------------------------------------------------------------
void TsdPod::SetFieldValue(euPod sdFieldName, AnsiString Value)
{
switch(sdFieldName)
{
case fiPodLine:
PodLine=Value.ToInt();
break;
case fiPodCode:
PodCode=Value;
break;
case fiPodGoods:
PodGoods=Value;
break;
case fiPodUnit:
PodUnit=Value;
break;
case fiPodConvRate:
PodConvRate=Value.ToD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -