如果按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成

【应用场景】
按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成。目前的场景是适合于客户第一道序或者第二道序需要领料(汇报倒冲),后面的序不需要领料。后面不需要领料的序汇报的时候需要检查首序是否汇报倒冲完成。
【实现步骤】
<1> 需要在工序汇报的保存插件里面增加一个校验。重写方法SetValidator 示例的代码如下:
protected virtual void SetValidator(BOS.Core.DynamicForm.PlugIn.Args.AddValidatorsEventArgs e)
{
validators.Add(new Class1()
{
EntityKey = CONST_SFC_OPERATIONREPORT.CONST_FEntity.ENTITY_FEntity, //工序汇报单单据体
TimingPointString = ",Save,",
Option = this.Option
});
}
public class Class1 : AbstractMfgServiceValidator
{
public override void Validate(ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Context ctx)
{
base.Validate(dataEntities, validateContext, ctx);
if (dataEntities == null || dataEntities.Length == 0)
{
return;
}
foreach (ExtendedDataEntity dataEntity in dataEntities)
{
DynamicObject entry = dataEntity.DataEntity;
decimal FNoPickedQty = 0;
string FOptQueue="";
int FOperID = 0;
string sql = @" select qtpp.FNoPickedQty,FOptQueue,FOperID from T_PRD_PPBOM ppbom
inner join T_PRD_PPBOMENTRY tpp on ppbom .fid=tpp.FID
inner join T_PRD_PPBOMENTRY_C ctpp on tpp.FENTRYID=ctpp.FENTRYID
inner join T_PRD_PPBOMENTRY_Q qtpp on tpp.FENTRYID=qtpp.FENTRYID
where FBackFlushType=2 and tpp.FMOEntryID=@Id";
using (IDataReader dr = DBUtils.ExecuteReader(this.Context, sql, new SqlParam("@Id", KDDbType.Int64, Convert.ToInt64(entry["MoEntryId"]))))
如果按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成
【应用场景】按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成。目前的场景是适合于客户第一道...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



