瀏覽代碼

流程更新

zt 5 月之前
父節點
當前提交
95c911f19f
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      pro-base/src/main/java/com/idea/oa/activiti/service/ProActiService.java

+ 15 - 0
pro-base/src/main/java/com/idea/oa/activiti/service/ProActiService.java

@@ -1940,6 +1940,7 @@ public class ProActiService {
             String flowRole = targetUserAndFlowRole.getFlowRole();
             FrameUser targetUser = targetUserAndFlowRole.getFrameUser();
             String[] onlyFlowFlowStep = targetUserAndFlowRole.getOnlyFlowFlowStep();
+            boolean isFlowRole = false;//是否是领导角色
             if (flowRole != null && targetUser != null&&onlyFlowFlowStep!=null) {
                 List<FrameRoleData> FrameRoleDatas = flowMainService.findFrameRoleDatasByUserId(targetUser.getId(), ConstantFlowType.ROLETYPE);//"FLOW"
                 for (int i = onlyFlowFlowStep.length-1; i >=0; i--) {
@@ -1951,6 +1952,20 @@ public class ProActiService {
                     }
 
                 }
+                if (!isFlowRole) {//没有更新到领导角色,查一下是不是部门领导
+                    SysDept sysDept = sysDeptService.selectByPrimaryKey(flowMain.getDeptId());
+                    if (sysDept != null) {
+                        if (targetUser.getId().equals(sysDept.getChargedBy())) {
+                            //说明目标人是部门负责人
+                            for (String onlyFlowStep : onlyFlowFlowStep) {
+                                if (onlyFlowStep.startsWith(ConstantFlowType.FLOW_ROLES_DEPT[2])) {
+                                    targetUserAndFlowRole.setFlowRole(onlyFlowStep);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                }
             }
         }