如何在生产订单行状态变更前后处理自定义事件原创
3人赞赏了该文章
556次浏览
编辑于2022年09月05日 13:21:52
【原贴】https://vip.kingdee.com/article/306357106494839808?productLineId=1
背景:希望在生产订单行执行或反行执行操作前后处理相关的业务,则可在该插件中编写。
下达、开工、完工等状态时处理业务。
一、代码示例
[Description("生产订单状态机插件")] public class MOStatePlugIn : AbstractStateTransferServicePlugIn { /// <summary> /// 状态执行转换后 /// </summary> /// <remarks> /// e.StateCode表示状态执行到哪个状态 1:计划 2:计划确认 3:下达 4:开工 5:完工 6:结案 7:结算 /// e.IsExecuteForward == true 表示正向执行,执行至 反之false就是反执行 /// e.InputDataItems 状态机数据执行包 /// </remarks> /// <param name="e"></param> public override void AfterExecuteState(AfterExecuteArg e) { base.AfterExecuteState(e); if (e.StateCode == 3 && e.IsExecuteForward == true) { //Todo } } /// <summary> /// 状态执行转换前 /// </summary> public override void BeforeExecuteState(BeforeExecuteArg e) { base.BeforeExecuteState(e); } }
二、注册方式(sql语句插入)
INSERT INTO T_MFG_BIZPLUGINENTRY(FID,FENTRYID,FSEQ,FPLUGIN,FPLUGINID) VALUES (40371,100003,1,‘EK.Kingdee.K3.MFG.PRD.App.ServicePlugIn.MOStartPlugIn,EK.Kingdee.K3.MFG.PRD.App.ServicePlugIn’,‘D0AAEEA0-4D56-4901-B733-9B9E61609111’) ;
字段说明:
生产订单FID:40371
委外订单FID:40373
FENTRY:为主键,不重复即可,
FPLUGINID:使用随机ID不重复标识即可。
FPLUGIN:插件
推荐阅读