如果按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成
【应用场景】
按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成。目前的场景是适合于客户第一道序或者第二道序需要领料(汇报倒冲),后面的序不需要领料。后面不需要领料的序汇报的时候需要检查首序是否汇报倒冲完成。
【实现步骤】
<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"])))) { if (dr.Read()) { FNoPickedQty = Convert.ToDecimal(dr["FNoPickedQty"]); FOptQueue = Convert.ToString(dr["FOptQueue"]); FOperID = Convert.ToInt32(dr["FOperID"]); } } //找出当前汇报的工序和序列 string FSeqNumber = Convert.ToString(entry["SeqNumber"]); int FOperNumber = Convert.ToInt32(entry["OperNumber"]); if (FSeqNumber.Equals(FOptQueue) && FOperNumber > FOperID) { //需要校验未料数量是否不为0 if (FNoPickedQty > 0) { validateContext.AddError(entry, new ValidationErrorInfo(CONST_SFC_OPERATIONREPORT.CONST_FEntity.KEY_FFinishQty, this.GetHeadPkValue(entry), dataEntity.DataEntityIndex, dataEntity.RowIndex, "FNoPickedQty", "工序汇报倒冲没有完成,不允许报工", string.Empty)); } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
【参考资料】
【二开案例.基础资料.联动查询(GetValue)】
https://vip.kingdee.com/article/127710528226504960
【金蝶云星空BOS二次开发案例演示】
https://vip.kingdee.com/article/94751030918525696
如果按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成
【应用场景】按汇报倒冲的情况下,如果第一道工序汇报倒冲没有完成,再做下一道工序汇报时提示没有倒冲完成。目前的场景是适合于客户第一道...
点击下载文档
本文2024-09-23 03:29:28发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-159195.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章