|
@@ -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);
|
|
|
}
|