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