コード例 #1
0
 /// <summary>
 /// 网格数据处理
 /// </summary>
 /// <param name="data"></param>
 /// <param name="otherParams"></param>
 /// <param name="currUser"></param>
 public bool PageGridDataHandle(List <Bpm_WorkToDoList> data, object[] otherParams = null, UserInfo currUser = null)
 {
     if (data != null && data.Count > 0)
     {
         string errMsg = string.Empty;
         foreach (Bpm_WorkToDoList todo in data)
         {
             todo.ModuleName = SystemOperate.GetModuleNameById(todo.ModuleId);
             if (!todo.Bpm_WorkFlowInstanceId.HasValue)
             {
                 continue;
             }
             Bpm_WorkFlowInstance flowInst = BpmOperate.GetWorkflowInstanceById(todo.Bpm_WorkFlowInstanceId.Value);
             if (flowInst == null)
             {
                 continue;
             }
             todo.StatusOfEnum = flowInst.StatusOfEnum;
             int status = (int)flowInst.StatusOfEnum;
             Bpm_WorkToDoList tempTodo = CommonOperate.GetEntity <Bpm_WorkToDoList>(x => x.Bpm_WorkFlowInstanceId == todo.Bpm_WorkFlowInstanceId.Value && x.Status == status, null, out errMsg);
             if (tempTodo != null && !string.IsNullOrEmpty(todo.NextNodeHandler))
             {
                 List <Guid> tempEmpIds = tempTodo.NextNodeHandler.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(x => x.ObjToGuid()).Where(x => x != Guid.Empty).ToList();
                 if (tempEmpIds.Count > 0)
                 {
                     todo.OrgM_EmpName = string.Join(",", tempEmpIds.Select(x => OrgMOperate.GetEmpNameContainsQuit(x)).Where(x => !string.IsNullOrEmpty(x)));
                 }
             }
         }
     }
     return(false);
 }
コード例 #2
0
 /// <summary>
 /// 操作前验证,如果流程已经在运行则不能删除
 /// </summary>
 /// <param name="operateType"></param>
 /// <param name="t"></param>
 /// <param name="errMsg"></param>
 /// <param name="otherParams"></param>
 /// <returns></returns>
 public bool BeforeOperateVerifyOrHandle(ModelRecordOperateType operateType, Bpm_WorkFlow t, out string errMsg, object[] otherParams = null)
 {
     errMsg = string.Empty;
     if (operateType == ModelRecordOperateType.Del)
     {
         //如果该流程存在流程实例则不允许删除
         Bpm_WorkFlowInstance workflowInst = CommonOperate.GetEntity <Bpm_WorkFlowInstance>(x => x.Bpm_WorkFlowId == t.Id, null, out errMsg);
         if (workflowInst != null)
         {
             errMsg = "运行中的流程不允许删除!";
             return(false);
         }
     }
     else if (operateType == ModelRecordOperateType.Add)
     {
         if (t.ValidEndTime != null && t.ValidEndTime.Value <= DateTime.Now)
         {
             errMsg = "结束时间必须大于今天!";
             return(false);
         }
         if (t.ValidEndTime != null)
         {
             if (t.ValidStartTime == null)
             {
                 errMsg = "设置了结束时间必须也要设置起始时间!";
                 return(false);
             }
             else if (t.ValidStartTime.Value < DateTime.Now)
             {
                 errMsg = "起始时间必须大于等于今天!";
                 return(false);
             }
         }
         if (t.ValidStartTime == null && t.ValidEndTime == null)
         {
             if (BpmOperate.GetAllWorkflows(x => x.Sys_ModuleId == t.Sys_ModuleId && x.ValidStartTime == null && x.ValidEndTime == null).Count > 0)
             {
                 errMsg = "该模块已经存在了默认流程(起始时间和结束时间为空),不允许再添加默认流程!";
                 return(false);
             }
         }
     }
     return(true);
 }
コード例 #3
0
 /// <summary>
 /// 操作前验证
 /// </summary>
 /// <param name="operateType"></param>
 /// <param name="ts"></param>
 /// <param name="errMsg"></param>
 /// <param name="otherParams"></param>
 /// <returns></returns>
 public bool BeforeOperateVerifyOrHandles(ModelRecordOperateType operateType, List <Bpm_WorkFlow> ts, out string errMsg, object[] otherParams = null)
 {
     errMsg = string.Empty;
     if (operateType == ModelRecordOperateType.Del)
     {
         foreach (Bpm_WorkFlow t in ts)
         {
             //如果该流程存在流程实例则不允许删除
             Bpm_WorkFlowInstance workflowInst = CommonOperate.GetEntity <Bpm_WorkFlowInstance>(x => x.Bpm_WorkFlowId == t.Id, null, out errMsg);
             if (workflowInst != null)
             {
                 errMsg += string.Format("【{0}】,", t.Name);
             }
         }
         if (errMsg.Length > 0)
         {
             errMsg = string.Format("流程{0}正在运行不允许删除!", errMsg);
             return(false);
         }
     }
     return(true);
 }