Prechádzať zdrojové kódy

职级加筛选条件

lizhenhao 2 rokov pred
rodič
commit
ffc11b1372

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

@@ -1,5 +1,7 @@
 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;
@@ -13,7 +15,9 @@ import com.jeeplus.sys.service.OfficeService;
 import com.jeeplus.sys.service.dto.OfficeDTO;
 import com.jeeplus.sys.service.mapstruct.OfficeWrapper;
 import com.jeeplus.test.jobPosion.service.mapstruct.JobPositionWrapper;
+import com.jeeplus.test.rank.domain.RankRsOffice;
 import com.jeeplus.test.rank.domain.RankSequence;
+import com.jeeplus.test.rank.service.RankRsOfficeService;
 import com.jeeplus.test.rank.service.RankSequenceService;
 import com.jeeplus.test.rank.service.dto.RankSequenceDTO;
 import com.jeeplus.test.rank.service.mapstruct.RankSequenceWrapper;
@@ -27,6 +31,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
@@ -39,6 +44,9 @@ public class RankSequenceController {
     @Autowired
     private OfficeService officeService;
 
+    @Autowired
+    private RankRsOfficeService rankRsOfficeService;
+
     /**
      * 查询序列列表
      * @param rankSequenceDTO
@@ -52,6 +60,13 @@ public class RankSequenceController {
     public ResponseEntity<IPage<RankSequenceDTO>> data(RankSequenceDTO rankSequenceDTO, Page<RankSequenceDTO> page) throws Exception {
         RankSequence rankSequence = RankSequenceWrapper.INSTANCE.toEntity(rankSequenceDTO);
         QueryWrapper<RankSequence> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( rankSequence, RankSequence.class );
+        if(ObjectUtil.isNotEmpty(rankSequenceDTO)){
+            if(CollectionUtil.isNotEmpty(rankSequenceDTO.getOfficeIdList())){
+                List<RankRsOffice> rankRsOffices = rankRsOfficeService.list(new QueryWrapper<RankRsOffice>().in("office_id", rankSequenceDTO.getOfficeIdList()));
+                List<String> collect = rankRsOffices.stream().distinct().collect(Collectors.toList()).stream().map(RankRsOffice::getRsId).collect(Collectors.toList());
+                queryWrapper.in("rs.id",collect);
+            }
+        }
         IPage<RankSequenceDTO> result = rankSequenceService.findList (page,queryWrapper);
         return ResponseEntity.ok (result);
     }

+ 4 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/rank/service/RankSequenceService.java

@@ -1,5 +1,6 @@
 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;
@@ -36,7 +37,9 @@ public class RankSequenceService extends ServiceImpl<RankSequenceMapper,RankSequ
         if(ObjectUtil.isNotEmpty(rankSequenceDTO)){
             if(StrUtil.isNotEmpty(rankSequenceDTO.getId())){
                 rankRsOfficeMapper.delete(new QueryWrapper<RankRsOffice>().eq("rs_id",rankSequenceDTO.getId()));
-                rankRsOfficeMapper.insertListById(rankSequenceDTO.getId(),rankSequenceDTO, UserUtils.getCurrentUserDTO().getId());
+                if(CollectionUtil.isNotEmpty(rankSequenceDTO.getOfficeIdList())){
+                    rankRsOfficeMapper.insertListById(rankSequenceDTO.getId(),rankSequenceDTO, UserUtils.getCurrentUserDTO().getId());
+                }
             }
         }
     }