/// <summary> /// 检查操作者是否有权限执行该动作 /// </summary> /// <param name="workflowName">工作流名称</param> /// <param name="dataid">业务表id</param> /// <param name="actionName">动作名称</param> /// <param name="operatorid">操作者ID</param> /// <returns></returns> public bool checkNodeAction(string workflowName, int dataid, string actionName, int operatorid) { workflowEx workflowEx = new workflowEx(); workflow wf = workflowEx.getworkflow(workflowName); //获取该工作流名称对应的工作流数据 workflowinstancesEx wfinstancesEx = new workflowinstancesEx(); workflowinstances wfinstances = wfinstancesEx.getworkflowinstances(wf.id, dataid); //获得工作流执行结果 //状态跃迁时 //判断操作者是否有权限 if (wfinstances != null) { return(checkNodeAction(actionName, operatorid, wf, wfinstances)); } else//新增动作只判断当前操作者是否有权限执行这个动作 { workflownodeactionEx wfnaEx = new workflownodeactionEx(); workflownodeaction wfna = wfnaEx.getworkflownodeaction(wf.id, actionName); workflownodeoperatorEx wfnoEx = new workflownodeoperatorEx(); workflownodeoperator wfno = wfnoEx.getworkflownodeoperator(wfna.id, operatorid); if (wfno == null) { return(false); } return(true); } }
/// <summary> /// 获取表单数据 /// </summary> public void GetFormJson() { int id = Convert.ToInt32(ctx.Request["keyValue"]); workflownodeoperator wfnodeoperator = IdalCommon.IworkflownodeoperatorEx.getEntityById(id); writeJsonBack(wfnodeoperator.ToJson()); }
//跃迁执行规则 保存 private workflownodeoperator saveoperator(int nodeactionid) { workflownodeoperator wfnoperator = new workflownodeoperator(); wfnoperator.nodeactionid = nodeactionid; wfnoperator.operatortype = this.operatortype == null ? 0 : (int)this.operatortype; wfnoperator.nodeoperator = this.nodeoperator; wfnoperator.operatorlock = this.operatorlock; wfnoperator.operatorstatus = this.operatorstatus; wfnoperator.id = IdalCommon.IworkflownodeoperatorEx.insert(wfnoperator); this.opid = wfnoperator.id; return(wfnoperator); }
/// <summary> /// 提交表单数据 /// </summary> public void SubmitForm() { try { string keyValue = !string.IsNullOrEmpty(ctx.Request["keyValue"]) ? ctx.Request["keyValue"] : ctx.Request["id"]; workflownodeoperator wfnodeoperator = HttpContextDataWrapper.DataToObject <workflownodeoperator>(ctx); IdalCommon.IworkflownodeoperatorEx.SubmitForm(wfnodeoperator, keyValue); Success("操作成功!"); } catch (Exception) { Error("操作失败!"); } }
private bool updateoperator() { workflownodeoperator wfnoperator = new workflownodeoperator(); wfnoperator.id = this.opid; wfnoperator.nodeactionid = this.id; wfnoperator.operatortype = this.operatortype == null ? 0 : (int)this.operatortype; wfnoperator.operatorid = Convert.ToInt32(this.operatorid); wfnoperator.nodeoperator = this.nodeoperator; wfnoperator.operatorlock = this.operatorlock; wfnoperator.operatorstatus = this.operatorstatus; IdalCommon.IworkflownodeoperatorEx.update(wfnoperator); return(true); }
/// <summary> /// 检查操作者是否有权限执行该动作 /// </summary> /// <param name="actionName">动作名称</param> /// <param name="operatorid">操作者ID</param> /// <param name="wf">工作流数据</param> /// <param name="wfinstances">工作流执行结果数据</param> /// <returns></returns> public bool checkNodeAction(string actionName, int operatorid, workflow wf, workflowinstances wfinstances) { workflownodeactionEx wfnaEx = new workflownodeactionEx(); workflownodeaction wfna = wfnaEx.getworkflownodeaction(wf.id, actionName); if (wfna.currentnodeid != wfinstances.currentnodeid) { return(false); } workflownodeoperatorEx wfnoEx = new workflownodeoperatorEx(); workflownodeoperator wfno = wfnoEx.getworkflownodeoperator(wfna.id, operatorid); if (wfno == null) { return(false); } return(true); }
public static 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); } }
public ActionResult Update(workflownodeoperator input) { IdalCommon.IworkflownodeoperatorEx.update(input); return(this.UpdateSuccessMsg()); }
public ActionResult Add(workflownodeoperator input) { IdalCommon.IworkflownodeoperatorEx.insert(input); return(this.AddSuccessMsg()); }
/// <summary> /// 提交表单数据 /// </summary> /// <param name="workflownodeaction">分组对象</param> /// <param name="keyValue">分组对象的主键</param> /// <returns></returns> public ActionResult SubmitForm(workflownodeoperator workflownodeoperator, string keyValue) { IdalCommon.IworkflownodeoperatorEx.SubmitForm(workflownodeoperator, keyValue); return(Success("操作成功。")); }