code/Athena0.0.1/mydal/MyDAL/workflowHelper.cs

(完整代码) 2KB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Athena.model;
using Athena.Idal;

//项目名称:Athena标准开发框架
//版本:0.0.1
//开发团队成员:周庆 王露 张婷婷 陈祚松 张梦丽 艾美珍 胡凯雨 陈兰兰 夏萍萍 康文洋 易传佳
//模块及代码页功能描述:对工作流帮助表的数据处理
//最后修改时间:2018-01-25
//修改日志:

namespace Athena.mydal
{
    public class workflowHelper:IworkflowHelper
    {
      
        public bool checkNodeAction(string workflowName, int dataid, int actionid, int operatorid)
        {
            workflow wf = workflowEx.Instance.getworkflow(workflowName);
            if (wf.wfstatus == 2 || wf.wflock == 2)//工作流启用且未锁定
            {
                return false;
            }
            workflowinstances wfinstances = workflowinstancesEx.Instance.getworkflowinstances(wf.id, dataid);
            workflownodeaction wfna = workflownodeactionEx.Instance.getworkflownodeaction(wf.id, actionid);
            workflownodeoperator wfno = workflownodeoperatorEx.Instance.getworkflownodeoperator(wfna.id, operatorid);
            if (wfinstances != null)
            {
                 if (wfna.nastatus == 2 || wfna.nalock == 2)//跃迁锁定
                    return false;
                if (wfna.currentnodeid != wfinstances.currentnodeid)//不存在以当前状态为起点的跃迁
                {
                    return false;
                }
                 if (wfno == null)//不存在指定执行者的 执行条件
                {
                    return false;
                }
                if (wfno.operatorlock == 2)//操作锁定
                    return false;
                return true;
            }
            else//新增动作只判断当前操作者是否有权限执行这个动作
            { 
                if (wfno == null)
                {
                    return false;
                }
                return true;
            }
        }

       
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。