Browse Source

Merge branch 'feat-20230913-investmanager' into temp-pre

lixuesong 1 year ago
parent
commit
933bc62a89

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysRoleController.java

@@ -151,6 +151,7 @@ public class SysRoleController {
 	 * 全职学术信息沟通专员
 	 * 兼职学术信息沟通专员
 	 * 财务管理员
+	 * 招商经理
 	 *
 	 *
 	 * 2.CSO管理员:可见:
@@ -190,7 +191,7 @@ public class SysRoleController {
 		} else if (rolesIdList.contains(1)){
 			queryWrapper.orderByAsc(SysRole::getRoleId);
 		} else {
-			List<Integer> drugEntAdmin = Stream.of(3,4,5,6,7).collect(Collectors.toList());
+			List<Integer> drugEntAdmin = Stream.of(3,4,5,6,7,31).collect(Collectors.toList());
 			List<Integer> CSOAdmin = Stream.of(4,5,6,7).collect(Collectors.toList());
 			List<Integer> CROAdmin = Stream.of(7,9,10).collect(Collectors.toList());
 			List<Integer> HCPAdmin = Stream.of(7,11,13).collect(Collectors.toList());

+ 43 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -405,6 +405,9 @@ public class SysUserController {
 							if (sysRole.getRoleId() == 7) {
 								return R.failed("用户已存在平台管理员角色,不能同时为财务管理员");
 							}
+							if (sysRole.getRoleId() == 31) {
+								return R.failed("用户已存在平台管理员角色,不能同时为招商经理");
+							}
 						}
 					}
 				}
@@ -474,6 +477,17 @@ public class SysUserController {
 									}
 								}
 							}
+							if (sysRole.getRoleId() == 31) {
+								SysUserRole sysUserRole = new SysUserRole();
+								sysUserRole.setUserId(userVO.getUserId());
+								List<SysUserRole> sysUserRoleList = sysUserRoleMapper.selectById(sysUserRole);
+								for (int i = 0; i < sysUserRoleList.size(); i++) {
+									SysUser sysUser = userService.getById(sysUserRoleList.get(i).getUserId());
+									if (!sysUser.getDeptId().equals(userDto.getDeptId())) {
+										return R.failed("用户已存在招商经理角色,不能为其他机构CSO管理员");
+									}
+								}
+							}
 						}
 					}
 				}
@@ -584,7 +598,33 @@ public class SysUserController {
 				}
 			}
 
+		} else if (userDto.getRole().contains(31)) {
+			UserDTO userDTO = new UserDTO();
+			userDTO.setUsername(userDto.getUsername());
+			userDTO.setDelFlag("0");
+			List<UserVO> userDTOList = sysUserMapper.selectByPhone(userDTO);
+			if (CollUtil.isNotEmpty(userDTOList)) {
+				for (UserVO userVO : userDTOList) {
+					for (SysRole sysRole : userVO.getRoleList()) {
+						if (sysRole.getRoleId() == 2) {
+							return R.failed("用户已存在平台管理员,不能同时为招商经理");
+						}
+						if (sysRole.getRoleId() == 3) {
+							if (sysDept.getLevel() == 3 || sysDept.getLevel() == 4) {
+								return R.failed("用户已存在药企管理员,不能为CSO的招商经理");
+							}
+						}
+						if (sysRole.getRoleId() == 4) {
+							if (sysDept.getLevel() == 3 || sysDept.getLevel() == 4) {
+								return R.failed("用户已存在CSO管理员,不能为其他CSO的招商经理");
+							}
+						}
+
+					}
+				}
+			}
 		}
+
 		if (userDto.getRole().contains(3)) {
 			if (sysDept.getLevel() != 2) {
 				return R.failed("角色选为药企管理员时,组织架构必须为药企");
@@ -595,6 +635,9 @@ public class SysUserController {
 			if (userDto.getRole().contains(5) || userDto.getRole().contains(6)) {
 				return R.failed("不能跨机构维护学术推广员");
 			}
+			if (userDto.getRole().contains(31)) {
+				return R.failed("不能跨机构维护招商经理");
+			}
 		}
 		SysUser query = new SysUser();
 		query.setUsername(userDto.getUsername());

+ 5 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/MobileServiceImpl.java

@@ -91,6 +91,7 @@ public class MobileServiceImpl implements MobileService {
 					boolean isLevel6 = false;
 					boolean isLevel10 = false;
 					boolean isLevel13 = false;
+					boolean isLevel31 = false;
 
 					for (SysRole sysRole : userVO.getRoleList()) {
 						if (sysRole.getRoleId() == 2) {
@@ -108,9 +109,12 @@ public class MobileServiceImpl implements MobileService {
 						} else if (sysRole.getRoleId() == 13) {
 							// 患者教育-HCP角色
 							isLevel13 = true;
+						} else if (sysRole.getRoleId() == 31) {
+							// 招商经理角色
+							isLevel31 = true;
 						}
 
-						if (isLevel5 || isLevel6 || isLevel10 || isLevel13) {
+						if (isLevel5 || isLevel6 || isLevel10 || isLevel13 || isLevel31) {
 							userList.add(userVO);
 						}
 					}