From 36e06f47ac368fd7e66bc86528182566faa93fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Thu, 22 Oct 2020 17:24:07 +0800 Subject: [PATCH 1/2] fix --- .../performance/controller/AssessManagerController.java | 6 ++++-- .../java/com/lz/modules/sys/dao/app/ResultRecordMapper.java | 2 ++ src/main/resources/mapper/app/ResultRecordMapper.xml | 5 +++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java index 9ac16041..d65e2ebd 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -3,6 +3,7 @@ package com.lz.modules.performance.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; +import com.lz.common.utils.StringUtil; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowStart; @@ -63,8 +64,9 @@ public class AssessManagerController { if(name.contains("绩效考核")){ res.setCycleTime(name.substring(0,name.lastIndexOf("绩效考核"))); } - - res.setJoinNum(""); + int i = resultRecordMapper.countStartAndGroupNum(flowStart.getId()); + ResultRecord resultRecord = resultRecordMapper.selectOneByStartId(flowStart.getId()); + res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + i + "人"); data.add(res); }); PageUtils pages = new PageUtils(); 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 6bc57278..8a78825d 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 @@ -82,4 +82,6 @@ public interface ResultRecordMapper extends BaseMapper { void batchDeleteByStaffIdsAndMonth(@Param("staffIds")List staffIds,@Param("startTime")String startTime,@Param("endTime")String endTime); int countStartAndGroupNum(@Param("startId")Long startId); + + ResultRecord selectOneByStartId(@Param("startId")Long startId); } \ No newline at end of file diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 5d58efd4..2c570ee5 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -368,5 +368,10 @@ + + + From 246ee43638e3410c38322935295ab476fd84fc06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Thu, 22 Oct 2020 17:33:48 +0800 Subject: [PATCH 2/2] fix --- .../controller/AssessManagerController.java | 50 ++--------- .../service/AssessManagerService.java | 17 ++++ .../impl/AssessManagerServiceImpl.java | 85 +++++++++++++++++++ 3 files changed, 107 insertions(+), 45 deletions(-) create mode 100644 src/main/java/com/lz/modules/performance/service/AssessManagerService.java create mode 100644 src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java diff --git a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java index d65e2ebd..6d39ac42 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -13,6 +13,7 @@ import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.res.AssessManagerDetailRes; import com.lz.modules.performance.res.AssessManagerListRes; import com.lz.modules.performance.res.ChartStatisticalRes; +import com.lz.modules.performance.service.AssessManagerService; import com.lz.modules.sys.dao.app.ResultRecordMapper; import com.lz.modules.sys.entity.app.ResultRecord; import io.swagger.annotations.ApiImplicitParam; @@ -41,41 +42,13 @@ public class AssessManagerController { @Autowired private FlowStartMapper flowStartMapper; @Autowired - private EvaluationGroupService evaluationGroupService; - @Autowired - private ResultRecordMapper resultRecordMapper; + private AssessManagerService assessManagerService; @RequestMapping("assess/manager/list") public R assessList(@RequestBody AssessListReq req){ - List data = new ArrayList<>(); - PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(),req.getPageSize()).doSelect( - page -> flowStartMapper.selectListByTime(page,req.getCycleType(),req.getName()) - ); - List list = pageUtils.getList(); - if(CollectionUtils.isEmpty(list)){ - return R.ok().put("data",pageUtils); - } - list.forEach(flowStart -> { - AssessManagerListRes res = new AssessManagerListRes(); - String name = flowStart.getName(); - res.setId(flowStart.getId()); - res.setName(name); - if(name.contains("绩效考核")){ - res.setCycleTime(name.substring(0,name.lastIndexOf("绩效考核"))); - } - int i = resultRecordMapper.countStartAndGroupNum(flowStart.getId()); - ResultRecord resultRecord = resultRecordMapper.selectOneByStartId(flowStart.getId()); - res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + i + "人"); - data.add(res); - }); - PageUtils pages = new PageUtils(); - pages.setTotalPage(pageUtils.getTotalPage()); - pages.setTotalCount(pageUtils.getTotalCount()); - pages.setCurrPage(req.getCurrPage()); - pages.setPageSize(req.getPageSize()); - pages.setList(data); - return R.ok().put("data",pages); + PageUtils pageUtils = assessManagerService.assessList(req); + return R.ok().put("data",pageUtils); } @RequestMapping("assess/manager/detail") @@ -96,20 +69,7 @@ public class AssessManagerController { if(flowStart == null){ return R.error("没有此条记录"); } - String[] split = flowStart.getGroupIds().split(","); - List collect = Arrays.asList(split).stream().map(s -> Long.valueOf(s)).collect(Collectors.toList()); - List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(collect); - if(CollectionUtils.isEmpty(evaluationGroups)){ - return R.ok(); - } - Set staffIds = new HashSet<>(); - evaluationGroups.stream().forEach(evaluationGroup -> { - List strings = evaluationGroupService.selectAllStaffIdsByGroupId(evaluationGroup.getId()); - staffIds.addAll(strings); - }); - List distStaffIds = new ArrayList<>(staffIds); - // 批量删除 - resultRecordMapper.batchDeleteByStaffIdsAndMonth(distStaffIds,"",""); + assessManagerService.assessDelete(flowStart); return R.ok(); diff --git a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java new file mode 100644 index 00000000..e367e08c --- /dev/null +++ b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java @@ -0,0 +1,17 @@ +package com.lz.modules.performance.service; + +import com.lz.common.utils.PageUtils; +import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.performance.req.AssessListReq; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/22 17:27 + */ +public interface AssessManagerService { + + PageUtils assessList(AssessListReq req); + + void assessDelete(FlowStart flowStart); +} 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 new file mode 100644 index 00000000..226d51bf --- /dev/null +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -0,0 +1,85 @@ +package com.lz.modules.performance.service.impl; + +import com.lz.common.utils.PageUtils; +import com.lz.common.utils.R; +import com.lz.common.utils.StringUtil; +import com.lz.modules.flow.dao.FlowStartMapper; +import com.lz.modules.flow.entity.EvaluationGroup; +import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.flow.service.EvaluationGroupService; +import com.lz.modules.performance.req.AssessListReq; +import com.lz.modules.performance.res.AssessManagerListRes; +import com.lz.modules.performance.service.AssessManagerService; +import com.lz.modules.sys.dao.app.ResultRecordMapper; +import com.lz.modules.sys.entity.app.ResultRecord; +import com.sun.org.apache.regexp.internal.RE; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/22 17:28 + */ +public class AssessManagerServiceImpl implements AssessManagerService { + @Autowired + private FlowStartMapper flowStartMapper; + @Autowired + private ResultRecordMapper resultRecordMapper; + @Autowired + private EvaluationGroupService evaluationGroupService; + + @Override + public PageUtils assessList(AssessListReq req) { + List data = new ArrayList<>(); + PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(),req.getPageSize()).doSelect( + page -> flowStartMapper.selectListByTime(page,req.getCycleType(),req.getName()) + ); + List list = pageUtils.getList(); + if(CollectionUtils.isEmpty(list)){ + return pageUtils; + } + list.forEach(flowStart -> { + AssessManagerListRes res = new AssessManagerListRes(); + String name = flowStart.getName(); + res.setId(flowStart.getId()); + res.setName(name); + if(name.contains("绩效考核")){ + res.setCycleTime(name.substring(0,name.lastIndexOf("绩效考核"))); + } + int i = resultRecordMapper.countStartAndGroupNum(flowStart.getId()); + ResultRecord resultRecord = resultRecordMapper.selectOneByStartId(flowStart.getId()); + res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + i + "人"); + data.add(res); + }); + PageUtils pages = new PageUtils(); + pages.setTotalPage(pageUtils.getTotalPage()); + pages.setTotalCount(pageUtils.getTotalCount()); + pages.setCurrPage(req.getCurrPage()); + pages.setPageSize(req.getPageSize()); + pages.setList(data); + return pages; + } + + @Override + public void assessDelete(FlowStart flowStart) { + String[] split = flowStart.getGroupIds().split(","); + List collect = Arrays.asList(split).stream().map(s -> Long.valueOf(s)).collect(Collectors.toList()); + List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(collect); + if(CollectionUtils.isEmpty(evaluationGroups)){ + return ; + } + Set staffIds = new HashSet<>(); + evaluationGroups.stream().forEach(evaluationGroup -> { + List strings = evaluationGroupService.selectAllStaffIdsByGroupId(evaluationGroup.getId()); + staffIds.addAll(strings); + }); + List distStaffIds = new ArrayList<>(staffIds); + // 批量删除 + resultRecordMapper.batchDeleteByStaffIdsAndMonth(distStaffIds,"",""); + return; + } +}