Przeglądaj źródła

职位体系,名称唯一

lizhenhao 2 lat temu
rodzic
commit
58b45f04ac

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/controller/JobPositionController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.jobPosion.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -120,11 +121,21 @@ public class JobPositionController {
         JobPosition oldPosition = null;
         PositionLogDTO positionLogDTO = new PositionLogDTO();
         if(StrUtil.isEmpty(jobPositionDTO.getId())){
+            List<JobPosition> jobPositions = jobPositionService.list(new QueryWrapper<JobPosition>()
+                    .eq("name", jobPositionDTO.getName()));
+            if(CollectionUtil.isNotEmpty(jobPositions)){
+                return ResponseEntity.badRequest().body("职位名称不可以重复");
+            }
             jobPosition.setUseFlag("1");
             positionLogDTO.setType(PositionTypeEnum.JOB_POSITION.getValue());
             positionLogDTO.setOperationType("新建职位");
             positionLogDTO.setOperationContent("新建职位: "+jobPositionDTO.getName());
         }else{
+            List<JobPosition> jobPositions = jobPositionService.list(new QueryWrapper<JobPosition>()
+                    .ne("id",jobPositionDTO.getId()).eq("name", jobPositionDTO.getName()));
+            if(CollectionUtil.isNotEmpty(jobPositions)){
+                return ResponseEntity.badRequest().body("职位名称不可以重复");
+            }
             oldPosition = jobPositionService.getById(jobPosition.getId());
             if(ObjectUtil.isNotEmpty(oldPosition)){
                 if(StrUtil.isNotEmpty(oldPosition.getPositionId())){

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/controller/PositionCategoryController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.jobPosion.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -27,6 +28,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Api("职务分类管理")
 @RestController
@@ -81,11 +83,21 @@ public class PositionCategoryController {
         PositionLogDTO positionLogDTO = new PositionLogDTO();
         PositionCategory positionCategory = PositionCategoryWrapper.INSTANCE.toEntity(positionCategoryDTO);
         if(StrUtil.isNotEmpty(positionCategoryDTO.getId())){
+            List<PositionCategory> positionCategories = positionCategoryService.list(new QueryWrapper<PositionCategory>()
+                    .ne("id",positionCategoryDTO.getId()).eq("name", positionCategoryDTO.getName()));
+            if(CollectionUtil.isNotEmpty(positionCategories)){
+                return ResponseEntity.badRequest().body("职务分类名称不可以重复");
+            }
             PositionCategory byId = positionCategoryService.getById(positionCategoryDTO.getId());
             positionLogDTO.setType(PositionTypeEnum.POSITION_CATEGORY.getValue());
             positionLogDTO.setOperationType("编辑职务分类");
             positionLogDTO.setOperationContent("编辑职务分类: 职务分类名称由“"+byId.getName()+"”变更为“"+positionCategoryDTO.getName()+"”");
         }else{
+            List<PositionCategory> positionCategories = positionCategoryService.list(new QueryWrapper<PositionCategory>()
+                        .eq("name", positionCategoryDTO.getName()));
+            if(CollectionUtil.isNotEmpty(positionCategories)){
+                return ResponseEntity.badRequest().body("职务分类名称不可以重复");
+            }
             positionLogDTO.setType(PositionTypeEnum.POSITION_CATEGORY.getValue());
             positionLogDTO.setOperationType("创建职务分类");
             positionLogDTO.setOperationContent("创建职务分类: "+positionCategoryDTO.getName());

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/controller/PositionController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.jobPosion.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -99,6 +100,11 @@ public class PositionController {
         Position position = PositionWrapper.INSTANCE.toEntity(positionDTO);
         Position oldPosition = null;
         if(StrUtil.isNotEmpty(positionDTO.getId())){
+            List<Position> positions = positionService.list(new QueryWrapper<Position>()
+                    .ne("id",positionDTO.getId()).eq("name", positionDTO.getName()));
+            if(CollectionUtil.isNotEmpty(positions)){
+                return ResponseEntity.badRequest().body("职务名称不可以重复");
+            }
             oldPosition = positionService.getById(positionDTO.getId());
             if(ObjectUtil.isNotEmpty(oldPosition)){
                 if(StrUtil.isNotEmpty(oldPosition.getCategoryId())){
@@ -114,6 +120,11 @@ public class PositionController {
             positionLogDTO.setOperationType("修改职务");
 
         }else{
+            List<Position> positions = positionService.list(new QueryWrapper<Position>()
+                    .eq("name", positionDTO.getName()));
+            if(CollectionUtil.isNotEmpty(positions)){
+                return ResponseEntity.badRequest().body("职务名称不可以重复");
+            }
             positionLogDTO.setType(PositionTypeEnum.POSITION.getValue());
             positionLogDTO.setOperationType("新建职务");
             positionLogDTO.setOperationContent("新建职务: "+positionDTO.getName());

+ 5 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankController.java

@@ -68,7 +68,11 @@ public class RankController {
             if(CollectionUtil.isNotEmpty(rankDTO.getSequenceIdList())){
                 List<RankRRs> rankRRs = rankRRSService.list(new QueryWrapper<RankRRs>().in("rs_id", rankDTO.getSequenceIdList()));
                 List<String> collect = rankRRs.stream().distinct().map(RankRRs::getRankId).collect(Collectors.toList());
-                queryWrapper.in("r.id",collect);
+                if(CollectionUtil.isNotEmpty(collect)){
+                    queryWrapper.in("r.id",collect);
+                }else{
+                    return ResponseEntity.ok (null);
+                }
             }
         }
         IPage<RankDTO> result = rankService.findList (page,queryWrapper);

+ 5 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankSequenceController.java

@@ -89,7 +89,11 @@ public class RankSequenceController {
             if(CollectionUtil.isNotEmpty(rankSequenceDTO.getOfficeIdList())){
                 List<RankRsOffice> rankRsOffices = rankRsOfficeService.list(new QueryWrapper<RankRsOffice>().in("office_id", rankSequenceDTO.getOfficeIdList()));
                 List<String> collect = rankRsOffices.stream().distinct().map(RankRsOffice::getRsId).collect(Collectors.toList());
-                queryWrapper.in("rs.id",collect);
+                if(CollectionUtil.isNotEmpty(collect)){
+                    queryWrapper.in("rs.id",collect);
+                }else{
+                    return ResponseEntity.ok (null);
+                }
             }
         }
         List<RankSequenceDTO> result = rankSequenceService.getList (queryWrapper);

+ 8 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/domain/RankSystemTable.java

@@ -5,6 +5,8 @@ import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -42,5 +44,11 @@ public class RankSystemTable extends BaseEntity {
      */
     private String levelId;
 
+    /**
+     * 职级
+     */
+    @Query(tableColumn = "rc.name",type = QueryType.LIKE)
+    private String rankName;
+
     private static final long serialVersionUID = 1L;
 }