MRP运算如何增加逻辑模型

【应用场景】
MRP运算有特殊业务场景逻辑需要二开处理。
【注意事项】
MRP是运算一般涉及数据量较大,二开逻辑单元实现须特别注意性能,尽可能在内存中批量处理。
【案例演示】
本示例实现的是在MRP收尾环节自动收集物料供需数据表,因此本逻辑单元须在MRP各标准逻辑单元之后执行。
【实现步骤】
<1>编写逻辑实现类,代码如下。
using Kingdee.BOS.Util;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using Kingdee.K3.Core.MFG.Common;
using Kingdee.K3.MFG.App;
using Kingdee.K3.MFG.Contracts.PLN;
using Kingdee.K3.MFG.PLN.App.MrpModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MrpLogicUnitTest_20231120
{
/// <summary>
/// 自定义MRP逻辑单元实现类
/// </summary>
/// <retremarks>
/// 须继承标准类AbstractMrpLogicUnit,引用Kingdee.K3.MFG.PLN.App.MrpModel.dll组件,并引入Kingdee.K3.MFG.PLN.App.MrpModel命名空间即可继承该类
/// </retremarks>
public class MyMrpCustLogicUnit1 : AbstractMrpLogicUnit
{
/// <summary>
/// 逻辑单元描述,该属性必须实现,因基类中它是abstract性质
/// </summary>
public override string Description
{
get { return "这是自定义逻辑单元类"; }
}
/// <summary>
/// 逻辑单元核心逻辑实现,自定义业务逻辑在此实现
/// </summary>
protected override void OnExecuteLogicUnit()
{
base.OnExecuteLogicUnit();
//本示例实现在MRP收尾环节自动收集物料供需数据表,本逻辑单元须在MRP各标准逻辑单元之后执行
OperateOption option = OperateOption.Create();
option.SetVariableValue("ComputeId", this.MrpGlobalDataContext.ComputeId);
TaskProxyItem taskProxyItem = new TaskProxyItem();
option.SetVariableValue("TaskId", taskProxyItem.TaskId);
AppServiceContext.GetMFGService<IMtrlDSDataSumCalcService>().Execute(this.Context, option);
//MRP全局变量拥有丰富的信息,二开用户可
MRP运算如何增加逻辑模型
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



