Jelajahi Sumber

修改教职工添加岗位

DESKTOP-USV654P\pc 4 bulan lalu
induk
melakukan
69817b0571

+ 9 - 0
src/main/java/com/xjrsoft/module/teacher/controller/TeacherbaseManagerController.java

@@ -16,7 +16,9 @@ import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.hikvision.util.DataUtil;
 import com.xjrsoft.module.organization.entity.UserDeptRelation;
+import com.xjrsoft.module.organization.entity.UserPostRelation;
 import com.xjrsoft.module.organization.service.IUserDeptRelationService;
+import com.xjrsoft.module.organization.service.IUserPostRelationService;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.system.service.IDictionarydetailService;
 import com.xjrsoft.module.teacher.dto.AddXjrUserDto;
@@ -59,6 +61,7 @@ public class TeacherbaseManagerController {
     private final ITeacherbaseManagerService teacherbaseManagerService;
     private final IDictionarydetailService dictionarydetailService;
     private final IUserDeptRelationService userDeptRelationService;
+    private final IUserPostRelationService  userPostRelationService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="XjrUser列表(分页)")
@@ -116,6 +119,12 @@ public class TeacherbaseManagerController {
         String allDeptIdStr = StrUtil.join(StringPool.COMMA, deptIds);
         userVo.setDepartmentIds(allDeptIdStr);
 
+        List<Long> postIds = userPostRelationService.list(Wrappers.lambdaQuery(UserPostRelation.class)
+                .eq(UserPostRelation::getUserId,userVo.getId()))
+                .stream().map(UserPostRelation::getPostId).collect(Collectors.toList());
+        String allPostIdStr = StrUtil.join(StringPool.COMMA, postIds);
+        userVo.setPostIds(allPostIdStr);
+
         return R.ok(userVo);
     }
 

+ 3 - 0
src/main/java/com/xjrsoft/module/teacher/dto/AddXjrUserDto.java

@@ -136,4 +136,7 @@ public class AddXjrUserDto implements Serializable {
 
     @ApiModelProperty("部门id")
     private String departmentIds;
+
+    @ApiModelProperty("岗位id")
+    private String postIds;
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/teacher/dto/UpdateXjrUserDto.java

@@ -142,4 +142,7 @@ public class UpdateXjrUserDto implements Serializable {
 
     @ApiModelProperty("部门id")
     private String departmentIds;
+
+    @ApiModelProperty("岗位id")
+    private String postIds;
 }

+ 36 - 0
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -14,10 +14,12 @@ import com.xjrsoft.common.utils.RedisUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
 import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.entity.UserDeptRelation;
+import com.xjrsoft.module.organization.entity.UserPostRelation;
 import com.xjrsoft.module.organization.entity.UserRoleRelation;
 import com.xjrsoft.module.organization.mapper.UserDeptRelationMapper;
 import com.xjrsoft.module.organization.mapper.UserRoleRelationMapper;
 import com.xjrsoft.module.organization.service.IUserDeptRelationService;
+import com.xjrsoft.module.organization.service.IUserPostRelationService;
 import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.teacher.dto.AddXjrUserDto;
 import com.xjrsoft.module.teacher.dto.UpdateXjrUserDto;
@@ -73,6 +75,7 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
     private final UserDeptRelationMapper userDeptRelationMapper;
     private final IUserService userService;
     private final CommonPropertiesConfig propertiesConfig;
+    private final IUserPostRelationService userPostRelationService;
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(AddXjrUserDto dto) {
@@ -128,6 +131,22 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
             userDeptRelationService.saveBatch(userDeptRelationList);
         }
 
+        List<UserPostRelation> userPostRelationList = new ArrayList<>();
+        if (StrUtil.isNotBlank(dto.getPostIds())) {
+            String allPostIdStr = StrUtil.join(StringPool.COMMA, dto.getPostIds());
+            List<Long> postIds = Arrays.stream(allPostIdStr.split(StringPool.COMMA)).map(Convert::toLong).collect(Collectors.toList());
+            if (CollectionUtil.isNotEmpty(postIds)) {
+                for (Long postId : postIds) {
+                    //将用户所选岗位保存到关联表中
+                    UserPostRelation userPostRelation = new UserPostRelation();
+                    userPostRelation.setUserId(xjrUser.getId());
+                    userPostRelation.setPostId(postId);
+                    userPostRelationList.add(userPostRelation);
+                }
+            }
+            userPostRelationService.saveBatch(userPostRelationList);
+        }
+
         // 添加角色
         UserRoleRelation userRoleRelation = new UserRoleRelation();
         userRoleRelation.setUserId(xjrUser.getId());
@@ -174,6 +193,23 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
             userDeptRelationService.saveBatch(userDeptRelationList);
         }
 
+        userPostRelationService.remove(Wrappers.<UserPostRelation>query().lambda().eq(UserPostRelation::getUserId,xjrUser.getId()));
+        List<UserPostRelation> userPostRelationList = new ArrayList<>();
+        if (StrUtil.isNotBlank(dto.getPostIds())) {
+            String allPostIdStr = StrUtil.join(StringPool.COMMA, dto.getPostIds());
+            List<Long> postIds = Arrays.stream(allPostIdStr.split(StringPool.COMMA)).map(Convert::toLong).collect(Collectors.toList());
+            if (CollectionUtil.isNotEmpty(postIds)) {
+                for (Long postId : postIds) {
+                    //将用户所选岗位保存到关联表中
+                    UserPostRelation userPostRelation = new UserPostRelation();
+                    userPostRelation.setUserId(xjrUser.getId());
+                    userPostRelation.setPostId(postId);
+                    userPostRelationList.add(userPostRelation);
+                }
+            }
+            userPostRelationService.saveBatch(userPostRelationList);
+        }
+
         //********************************* BaseTeacher  增删改  开始 *******************************************/
         {
             // 查出所有子级的id

+ 3 - 0
src/main/java/com/xjrsoft/module/teacher/vo/XjrUserVo.java

@@ -140,4 +140,7 @@ public class XjrUserVo {
     @ApiModelProperty("部门id")
     private String departmentIds;
 
+    @ApiModelProperty("岗位id")
+    private String postIds;
+
 }