电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

PLM.二开案例.项目最后一个任务完成时,项目自动完成

来源:金蝶云社区作者:金蝶2024-09-233

PLM.二开案例.项目最后一个任务完成时,项目自动完成

【应用场景】

当完成最后一个任务时,项目自动完成。

【案例演示】

最后一个任务进行中。

完成最后一个任务

【设计思路】

1. 二开执行计划。执行计划开发教程:

https://vip.kingdee.com/article/35401?productLineId=1

https://vip.kingdee.com/article/172011048747176704?productLineId=1

2. 使用PLM标准状态转换接口,在任务完成时对项目任务进行判断,符合业务场景的项目自动完成。本示例演示此方案。

【实现步骤】

如果你刚接触PLM二开,你可能需要参考:

如何编写二开插件配置等请参考:二次开发扩展程序开发之插件模式https://vip.kingdee.com/article/83591896433330944?productLineId=1

其他星空PLM开发指南也可以参考 【汇总】星空PLM二开指南(持续更新)https://vip.kingdee.com/article/329914697153905408?productLineId=1&isKnowledge=2

更多详细的金蝶云星空BOS二次开发指南:https://vip.kingdee.com/article/94751030918525696?productLineId=1&isKnowledge=2


<1>编写二开插件

本示例二开的主要接口方法位于标准插件Kingdee.K3.PLM.CFG.Common.Interface.dll中,接口方法为Kingdee.K3.PLM.CFG.Common.Interface.Switchers. IControlStageSwitcher


本示例必要的引用

实现接口IControlStageSwitcher,使用StageSwitcher特性标记[任务]业务类型,指定状态为[完成],实现方法AfterEnterStatus处理任务到完成时的业务

* 本示例只演示简单的状态转换,如果项目转换涉及流程,请另作处理。可在PLM二开指南中查找相关资料。

* 使用标准方案转化项目生命周期不涉及规则类校验,请根据自身业务场景设置必要的校验逻辑

示例代码:

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.K3.PLM.CFG.Common.BusinessEntity.CategoryStatus;

using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Manager;

using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Operation;

using Kingdee.K3.PLM.CFG.Common.Interface.CategoryStatus;

using Kingdee.K3.PLM.CFG.Common.Interface.EventArgument;

using Kingdee.K3.PLM.CFG.Common.Interface.Switchers;

using Kingdee.K3.PLM.Common.BusinessEntity.Operation;

using Kingdee.K3.PLM.Common.Core.BOSBridge;

using Kingdee.K3.PLM.Common.Core.Log;

using Kingdee.K3.PLM.Common.Core.ServiceHelper;

using Kingdee.K3.PLM.STD.Common.BusinessEntity.Project.Plugins;

using System;

using System.Linq;


namespace ISV.TaskDemo.Common.BusinessEntity

{

    [StageSwitcher(CategoryId1 = (long)StandardCategoryType.TaskStage = ControlStage.Finish)]

    public class TaskFinishStageSwitchDemo : IControlStageSwitcher

    {

        public void AfterEnterStatus(PLMContext ctxDynamicObject objControlStageChangeEventArgs e)

        {

            //获取所属项目

            var projectId = Convert.ToInt64(obj["PROJECT

PLM.二开案例.项目最后一个任务完成时,项目自动完成

【应用场景】当完成最后一个任务时,项目自动完成。【案例演示】最后一个任务进行中。完成最后一个任务【设计思路】1. 二开执行计划。执行...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信