From 26e1247663d92b561e3e455a7a65c3f75a3d1d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Tue, 10 Nov 2020 14:52:03 +0800 Subject: [PATCH 1/2] fix --- .../impl/AssessManagerServiceImpl.java | 16 ++++++++++++-- .../service/impl/ChartResultServiceImpl.java | 21 +++++++++++++++---- .../sys/dao/app/ResultRecordMapper.java | 2 +- .../mapper/app/ResultRecordMapper.xml | 8 +++---- 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 02ac4fc5..c8a901a2 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -116,9 +116,15 @@ public class AssessManagerServiceImpl implements AssessManagerService { res.setCycleTime(name.substring(0,name.lastIndexOf("绩效考核"))); } //过滤非自己管理的人员 - int i = resultRecordMapper.countStartAndGroupNum(flowStart.getId(),mandepartmentIds); ResultRecord resultRecord = resultRecordMapper.selectOneByStartId(flowStart.getId()); - res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + i + "等人"); + //没有管理的部门 + if(mandepartmentIds!=null && mandepartmentIds.size()==0){ + res.setJoinNum("0人"); + }else { + int i = resultRecordMapper.countStartAndGroupNum(flowStart.getId(),mandepartmentIds); + res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + i + "等人"); + } + data.add(res); }); PageUtils pages = new PageUtils(); @@ -136,6 +142,12 @@ public class AssessManagerServiceImpl implements AssessManagerService { if(StringUtil.isNotBlank(req.getEvaluationIds())){ req.setCopyEvaluationIds(evaluationGroupService.getEvaluationCopyIdsByEvaluationIds(req.getEvaluationIds(),req.getStartId())); } + List mandepartmentIds = assessService.roleDepartments(req.getLoginUserId()); + //没有管理的部门 + if(mandepartmentIds!=null && mandepartmentIds.size()==0){ + return new PageUtils(); + } + req.setDepartmentIds(mandepartmentIds); PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(),req.getPageSize()).doSelect( page -> resultRecordMapper.selectAssessListByStartId(page,req) ); diff --git a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java index a0329ee3..bf009aff 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java @@ -93,6 +93,9 @@ public class ChartResultServiceImpl implements ChartResultService { } //自己管理的部门 List mandepartmentIds = assessService.roleDepartments(staffId); + if(mandepartmentIds!=null && mandepartmentIds.size()==0){ + return Lists.newArrayList(); + } List data = Lists.newArrayList(); ChartStatisticalRes res; @@ -187,12 +190,19 @@ public class ChartResultServiceImpl implements ChartResultService { //自己管理的和所有的部门交集 log.info("selectChartDetailList 管理部门:" + JSON.toJSONString(allDeparmentIds)); List mandepartmentIds = assessService.roleDepartments(req.getLoginUserId()); - log.info("selectChartDetailList 管理部门:" + JSON.toJSONString(mandepartmentIds)); - mandepartmentIds.retainAll(allDeparmentIds); + if(mandepartmentIds!=null ){ + if(mandepartmentIds.size()==0){ + return new PageUtils(); + } + log.info("selectChartDetailList 管理部门:" + JSON.toJSONString(mandepartmentIds)); + mandepartmentIds.retainAll(allDeparmentIds); + if(mandepartmentIds.size()==0){ + return new PageUtils(); + } + } log.info("selectChartDetailList 交集部门:" + JSON.toJSONString(mandepartmentIds)); - List ids = staffService.staffsByAllDeparmentIds(mandepartmentIds); PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect( - page -> resultRecordMapper.selectChartDetailList(page,ids,req.getStartId(),req.getScoreLevel()) + page -> resultRecordMapper.selectChartDetailList(page,mandepartmentIds,req.getStartId(),req.getScoreLevel()) ); return pageUtils; } @@ -228,6 +238,9 @@ public class ChartResultServiceImpl implements ChartResultService { req.setCopyEvaluationIds(evaluationGroupService.getEvaluationCopyIdsByEvaluationIds(req.getEvaluationIds(),req.getStartId())); //获取自己管理的部门 List mandepartmentIds = assessService.roleDepartments(req.getLoginUserId()); + if(mandepartmentIds!=null && mandepartmentIds.size()==0){ + return Lists.newArrayList(); + } req.setDepartmentIds(mandepartmentIds); List process = resultRecordMapper.countAssessNumByFlowProcess(req); List data = buildProcess(process, req.getStartId(),mandepartmentIds,req); diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 4b129a6c..5b84502d 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -79,7 +79,7 @@ public interface ResultRecordMapper extends BaseMapper { List countNumByScoreLevel(@Param("startId") Long startId,@Param("evaluationIds")List evaluationIds,@Param("departmentIds")List departmentIds); - List selectChartDetailList(@Param("page") IPage page, @Param("staffIds") List staffIds, @Param("startId")Long startId,@Param("scoreLevel")Long scoreLevel); + List selectChartDetailList(@Param("page") IPage page, @Param("departmentIds") List departmentIds, @Param("startId")Long startId,@Param("scoreLevel")Long scoreLevel); int batchDeleteByStartId(@Param("startId")Long startId); diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 5f0d2b69..96ca166f 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -404,10 +404,10 @@ on r.staff_id = s.id where r.is_delete =0 and s.is_delete=0 and r.start_id = #{startId} - - and r.staff_id in ( - - #{staff_id} + + and r.department_id in ( + + #{department_id} ) From 0b93cceee96313b6de71861f66f830c08b8119b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Tue, 10 Nov 2020 15:32:08 +0800 Subject: [PATCH 2/2] fix --- .../controller/ChartController.java | 2 +- .../service/impl/ChartResultServiceImpl.java | 29 ++++++++----------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/lz/modules/performance/controller/ChartController.java b/src/main/java/com/lz/modules/performance/controller/ChartController.java index 2ea6de62..062cb7a6 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -91,7 +91,7 @@ public class ChartController extends AbstractController{ - @RequestMapping("/own/result") + @PostMapping("/own/result") @ApiOperation("获取个人成长曲线") @ApiResponses({@ApiResponse(code = 200,message = "成功",response = OwnResultResp.class)}) public R ownResult(Long userId){ diff --git a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java index bf009aff..05b77272 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java @@ -9,6 +9,7 @@ import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; +import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; @@ -38,6 +39,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @Author: djc @@ -123,24 +126,16 @@ public class ChartResultServiceImpl implements ChartResultService { data.add(res); //如果不是默认,获得发起考核信息 - if(flowStart == null){ - flowStart = flowStartMapper.selectFlowStartById(startId); - } - String[] split = flowStart.getGroupIds().split(","); - Set staffIds = new HashSet<>(); - for(String s:split){ - List strings = evaluationGroupService.selectAllStaffIdsByGroupId(Long.valueOf(s)); - staffIds.addAll(strings); - } - log.info("chartReport 所有人员:" + JSON.toJSONString(staffIds)); - //自己管理的和发起的人员交集 - List manstaffIds = staffService.staffsByAllDeparmentIds(mandepartmentIds); - log.info("chartReport 管理人员:" + JSON.toJSONString(manstaffIds)); - manstaffIds.retainAll(staffIds); - log.info("chartReport 交集人员:" + JSON.toJSONString(manstaffIds)); - List all = new ArrayList<>(manstaffIds); - List depstaff = this.countDepartmentAndStaffNum(all); + List objects = resultRecordService.listObjs(new QueryWrapper() + .eq("is_delete", 0) + .eq("start_id", startId) + .in(mandepartmentIds != null, "department_id", mandepartmentIds).select("staff_id")); + if(CollectionUtils.isEmpty(objects)){ + return data; + } + List collect = objects.stream().map(o -> String.valueOf(o)).collect(Collectors.toList()); + List depstaff = this.countDepartmentAndStaffNum(collect); res = new ChartStatisticalRes(); res.setType(2); res.setStatisticals(buildDepStaffs(depstaff));