zt 5 місяців тому
батько
коміт
95c911f19f

+ 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;
+                                }
+                            }
+                        }
+                    }
+                }
             }
         }