BOM更新用料清单界面如何新增二开字段展示原创
7人赞赏了该文章
1,173次浏览
编辑于2019年06月12日 15:09:29
1、BOS设计器,生产订单列表显示表体新增下达日期字段,如下图:
2、新增表单插件,处理下达日期的展示,代码实例如下:
[Description("BOM更新用料清单界面展示新增二开下达日期字段")] public class BomSynsPPBom : AbstractDynamicFormPlugIn { public override void AfterBindData(EventArgs e) { base.AfterBindData(e); //获取生产订单列表显示数据 DynamicObjectCollection entryDatas = this.View.Model.DataObject.GetDynamicValue<DynamicObjectCollection>(CONST_PRD_MoListShow.CONST_FEntity.ENTITY_ORM_PRD_SUB_Entity); List<long> moEntryIds = entryDatas.Select(s => s.GetDynamicValue<long>(CONST_PRD_MoListShow.CONST_FEntity.ORM_MoEntryID)).ToList(); List<string> lstSelectFields = new List<string>(); lstSelectFields.Add("FTreeEntity_FEntryId as FENTRYID,"); lstSelectFields.Add("FCONVEYDATE as FCONVEYDATE"); QueryBuilderParemeter para = new QueryBuilderParemeter() { FormId = MFGFormIdConst.SubSys_PRD.MOBill, SelectItems = SelectorItemInfo.CreateItems(lstSelectFields.ToArray()), FilterClauseWihtKey = string.Format(" FTreeEntity_FEntryId IN({0}) ", string.Join("','", moEntryIds)) }; DynamicObjectCollection moEntryDatas = MFGServiceHelper.GetDynamicObjectCollection(this.Context, para); Dictionary<long, IGrouping<long, DynamicObject>> dicMoEntryDatas = moEntryDatas.GroupBy(g => g.GetDynamicValue<long>("FENTRYID")).ToDictionary(d => d.Key);
foreach (DynamicObject entryData in entryDatas) { long moEntryId = entryData.GetDynamicValue<long>(CONST_PRD_MoListShow.CONST_FEntity.ORM_MoEntryID); IGrouping<long, DynamicObject> igMoEntryDatas; if (dicMoEntryDatas.TryGetValue(moEntryId, out igMoEntryDatas)) { DateTime converyDate = igMoEntryDatas.FirstOrDefault().GetDynamicValue<DateTime>("FCONVEYDATE"); entryData.SetDynamicObjectItemValue("CONVEYDATE", converyDate); } } this.View.UpdateView(CONST_PRD_MoListShow.CONST_FEntity.ENTITY_FEntity); } }
赞 7
7人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0