瀏覽代碼

体系表加筛选条件

lizhenhao 2 年之前
父節點
當前提交
df87aab9a5

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

@@ -90,7 +90,7 @@ public class RankSequenceController {
                 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());
                 if(CollectionUtil.isNotEmpty(collect)){
-                    queryWrapper.in("rs.id",collect);
+                    queryWrapper.eq("rs.id",collect);
                 }else{
                     return ResponseEntity.ok (null);
                 }

+ 44 - 7
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/controller/RankSystemTableController.java

@@ -1,9 +1,11 @@
 package com.jeeplus.test.rank.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;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.collect.Lists;
 import com.jeeplus.aop.logging.annotation.ApiLog;
 import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.sys.constant.enums.LogTypeEnum;
@@ -15,17 +17,14 @@ import com.jeeplus.test.jobPosion.domain.Position;
 import com.jeeplus.test.jobPosion.service.PositionService;
 import com.jeeplus.test.jobPosion.service.dto.PositionDTO;
 import com.jeeplus.test.jobPosion.service.mapstruct.PositionWrapper;
-import com.jeeplus.test.rank.domain.RankLevel;
-import com.jeeplus.test.rank.domain.RankSequence;
-import com.jeeplus.test.rank.domain.RankSystemTable;
+import com.jeeplus.test.rank.domain.*;
 import com.jeeplus.test.rank.service.RankLevelService;
+import com.jeeplus.test.rank.service.RankRstLevelService;
+import com.jeeplus.test.rank.service.RankSequenceService;
 import com.jeeplus.test.rank.service.RankSystemTableService;
-import com.jeeplus.test.rank.service.dto.RankDTO;
 import com.jeeplus.test.rank.service.dto.RankLevelDTO;
-import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
 import com.jeeplus.test.rank.service.dto.RankSystemTableDTO;
 import com.jeeplus.test.rank.service.mapstruct.RankLevelWrapper;
-import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
 import com.jeeplus.test.rank.service.mapstruct.RankSystemTableWrapper;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +36,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
 
 @Api("职级体系-体系表管理")
 @RestController
@@ -55,6 +55,12 @@ public class RankSystemTableController {
     @Autowired
     private PostService postService;
 
+    @Autowired
+    private RankRstLevelService rankRstLevelService;
+
+    @Autowired
+    private RankSequenceService rankSequenceService;
+
     /**
      * 查询职层列表
      * @param rankSystemTableDTO
@@ -68,6 +74,37 @@ public class RankSystemTableController {
     public ResponseEntity<IPage<RankSystemTableDTO>> data(RankSystemTableDTO rankSystemTableDTO, Page<RankSystemTableDTO> page) throws Exception {
         RankSystemTable rankSystemTable = RankSystemTableWrapper.INSTANCE.toEntity(rankSystemTableDTO);
         QueryWrapper<RankSystemTable> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( rankSystemTable, RankSystemTable.class );
+        if(ObjectUtil.isNotEmpty(rankSystemTableDTO)){
+            if(StrUtil.isNotEmpty(rankSystemTableDTO.getLevelId())){
+                List<RankRstLevel> rankRstLevels = rankRstLevelService.list(new QueryWrapper<RankRstLevel>().in("level_id", rankSystemTableDTO.getLevelId()));
+                if(CollectionUtil.isEmpty(rankRstLevels)){
+                    return ResponseEntity.ok (null);
+                }
+                List<RankSequence> list = rankSequenceService.list(new QueryWrapper<RankSequence>().eq("del_flag", "0").ne("parent_id", "0"));
+                if(CollectionUtil.isNotEmpty(list)){
+                    AtomicInteger num = new AtomicInteger();
+                    num.set(0);
+                    rankRstLevels.stream().forEach(item->{
+                        if(num.get() !=0){
+                            queryWrapper.or();
+                        }
+                        queryWrapper.eq("rc.id",item.getRcId()).eq("rs_c.id",item.getRsId()).eq("rst.id",item.getRstId());
+                        num.set(num.get()+1);
+                    });
+                }else{
+                    AtomicInteger num = new AtomicInteger();
+                    num.set(0);
+                    rankRstLevels.stream().forEach(item->{
+                        if(num.get() !=0){
+                            queryWrapper.or();
+                        }
+                        queryWrapper.eq("rc.id",item.getRcId()).eq("rs_p.id",item.getRsId()).eq("rst.id",item.getRstId());
+                        num.set(num.get()+1);
+                    });
+                }
+
+            }
+        }
         IPage<RankSystemTableDTO> result = this.rankSystemTableService.findList (page,queryWrapper);
         return ResponseEntity.ok (result);
     }

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

@@ -3,6 +3,7 @@ package com.jeeplus.test.rank.domain;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.jeeplus.core.domain.BaseEntity;
 import com.jeeplus.core.query.Query;
@@ -48,6 +49,7 @@ public class RankSystemTable extends BaseEntity {
      * 职级
      */
     @Query(tableColumn = "rc.name",type = QueryType.LIKE)
+    @TableField(exist = false)
     private String rankName;
 
     private static final long serialVersionUID = 1L;

+ 34 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankRstLevelService.java

@@ -0,0 +1,34 @@
+package com.jeeplus.test.rank.service;
+
+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;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.sys.service.dto.PostDTO;
+import com.jeeplus.test.jobPosion.service.dto.PositionDTO;
+import com.jeeplus.test.rank.domain.*;
+import com.jeeplus.test.rank.mapper.RankRstLevelMapper;
+import com.jeeplus.test.rank.mapper.RankRstPositionMapper;
+import com.jeeplus.test.rank.mapper.RankRstPostMapper;
+import com.jeeplus.test.rank.mapper.RankSystemTableMapper;
+import com.jeeplus.test.rank.service.dto.RankSystemTableDTO;
+import com.jeeplus.test.rank.service.mapstruct.RankSystemTableWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@Transactional
+public class RankRstLevelService extends ServiceImpl<RankRstLevelMapper, RankRstLevel> {
+
+
+    @Autowired
+    private RankRstLevelMapper rankRstLevelMapper;
+
+}