guarantee-lsq 1 سال پیش
والد
کامیت
a6d2f34f3f

+ 1 - 0
platform-dao/src/main/resources/mapper/upms/SysUserDeptMapper.xml

@@ -86,4 +86,5 @@
         set dept_id=#{deptId}
         where user_id=#{userId}
     </select>
+
 </mapper>

+ 14 - 2
platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java

@@ -15,6 +15,7 @@ import com.platform.dao.dto.upms.SysUserDTO;
 import com.platform.dao.entity.preparation.Preparation;
 import com.platform.dao.entity.preparation.PreparationRecord;
 import com.platform.dao.entity.upms.SysConfig;
+import com.platform.dao.entity.upms.SysDept;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.enums.*;
@@ -324,8 +325,19 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
             queryUserDTO.setRoleCode(SysRoleCodeEnum.DEPT_LEADER.name());
             queryUserDTO.setDeptId(model.getDepartId());
             userVOS = sysUserMapper.selectDeptRoleUser(queryUserDTO);
-            if (userVOS == null || userVOS.size() != 1) {
-                throw new DeniedException("报修失败,申请部门,无审批负责人或存在多个");
+            if(userVOS == null || userVOS.size() == 0){
+                // 获取父级ID
+                SysDept sysDept = sysDeptMapper.selectByPrimaryKey(applyDept);
+                if(sysDept == null){
+                    throw new DeniedException("报修失败,申请部门,无审批负责人");
+                }
+                queryUserDTO.setDeptId(sysDept.getParentId());
+                userVOS = sysUserMapper.selectDeptRoleUser(queryUserDTO);
+                if(userVOS == null || userVOS.size() != 1){
+                    throw new DeniedException("报修失败,申请部门,无审批负责人或存在多个");
+                }
+            }else if(userVOS.size() > 1){
+                throw new DeniedException("报修失败,申请部门,审批负责人存在多个");
             }
             model.setApplyVerifyLeader(userVOS.get(0).getUserId());
         }