diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java index 9f93486f..2f6db09b 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java @@ -45,7 +45,7 @@ public interface EvaluationGroupMapper extends BaseMapper { void deleteByCopyIds(@Param("ids") List ids); - List selectIdsByCopyIds(@Param("copyIds")String copyIds); + List selectIdsByCopyIds(@Param("copyIds")String copyIds,@Param("startId")Long startId); EvaluationGroup selectEvaluationGroupByCopyId(@Param("copyId")Long copyId,@Param("startId")Long startId); diff --git a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java index 2d6db490..543168f9 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -54,4 +54,7 @@ public interface EvaluationGroupService extends IService { void deleteByCopyIds(List ids); R checkStaff(CheckStaffReq checkStaffReq); + + String getEvaluationCopyIdsByEvaluationIds(String evaluationIds,Long startId); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java index ac58fc0a..b3468410 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java @@ -349,4 +349,17 @@ public class EvaluationGroupServiceImpl extends ServiceImpl ids = evaluationGroupMapper.selectIdsByCopyIds(evaluationIds,startId); + if(CollectionUtils.isEmpty(ids)){ + return StringUtil.EMPTY; + } + return StringUtils.join(ids,","); + } } 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 c8818327..7329fb9e 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -15,6 +15,7 @@ import com.lz.modules.performance.res.ChartStatistical; import com.lz.modules.performance.res.ChartStatisticalRes; import com.lz.modules.performance.service.AssessManagerService; import com.lz.modules.performance.service.ChartResultService; +import com.lz.modules.sys.controller.AbstractController; import com.lz.modules.sys.dao.app.ResultRecordMapper; import com.lz.modules.sys.service.app.ResultRecordService; import io.swagger.annotations.*; @@ -33,7 +34,7 @@ import java.util.List; @RequestMapping("/performance") @Slf4j @Api(value="考核管理接口", tags={"考核管理"}) -public class AssessManagerController { +public class AssessManagerController extends AbstractController{ @Autowired private FlowStartMapper flowStartMapper; @@ -49,8 +50,14 @@ public class AssessManagerController { @ApiOperation("获取考核列表") @ApiResponses({@ApiResponse(code = 200,message = "成功",response = AssessManagerListRes.class)}) public R assessList(@RequestBody AssessListReq req){ - PageUtils pageUtils = assessManagerService.assessList(req); - return R.ok().put("data",pageUtils); + try { + Long userId = getUserId(); + req.setLoginUserId(userId); + PageUtils pageUtils = assessManagerService.assessList(req); + return R.ok().put("data",pageUtils); + } catch (Exception e) { + return R.error(); + } } @PostMapping("assess/manager/detail") @@ -62,6 +69,8 @@ public class AssessManagerController { } PageUtils pageUtils = null; try { + Long userId = getUserId(); + req.setLoginUserId(userId); pageUtils = assessManagerService.assessDetail(req); } catch (Exception e) { log.error("获取考核详情列表异常" ,e); @@ -82,6 +91,8 @@ public class AssessManagerController { } List process = null; try { + Long userId = getUserId(); + req.setLoginUserId(userId); process = chartResultService.countAssessNumByFlowProcess(req); } catch (Exception e) { log.error("获取详情顶部人数统计异常" ,e); 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 64d25b01..2ea6de62 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -79,6 +79,8 @@ public class ChartController extends AbstractController{ public R chartDetailList(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true) ChartResultReq req){ PageUtils pageUtils = null; try { + Long userId = getUserId(); + req.setLoginUserId(userId); pageUtils = chartResultService.selectChartDetailList(req); } catch (Exception e) { log.error("获取报表等级详情异常" ,e); 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 81eb257e..02ac4fc5 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 @@ -134,8 +134,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { public PageUtils assessDetail(AssessDetailReq req) { //拼接拷贝组 if(StringUtil.isNotBlank(req.getEvaluationIds())){ - List evaluationIds = evaluationGroupMapper.selectIdsByCopyIds(req.getEvaluationIds()); - req.setCopyEvaluationIds(StringUtils.join(evaluationIds,",")); + req.setCopyEvaluationIds(evaluationGroupService.getEvaluationCopyIdsByEvaluationIds(req.getEvaluationIds(),req.getStartId())); } 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 f1ddd27e..a0329ee3 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 @@ -12,6 +12,7 @@ import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; +import com.lz.modules.flow.dao.EvaluationGroupMapper; import com.lz.modules.flow.dao.FlowChartMapper; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.FlowChart; @@ -67,6 +68,8 @@ public class ChartResultServiceImpl implements ChartResultService { private FlowChartService flowChartService; @Autowired private AssessService assessService; + @Autowired + private EvaluationGroupMapper evaluationGroupMapper; private static final Long processId = 1L; @@ -97,7 +100,7 @@ public class ChartResultServiceImpl implements ChartResultService { res = new ChartStatisticalRes(); res.setType(0); - res.setStatisticals(buildProcess(process,startId,mandepartmentIds)); + res.setStatisticals(buildProcess(process,startId,mandepartmentIds,null)); res.setDefaultTime(defaultTime); if(StringUtil.isNotBlank(defaultTime)){ res.setDefaultId(startId); @@ -222,22 +225,29 @@ public class ChartResultServiceImpl implements ChartResultService { @Override public List countAssessNumByFlowProcess(AssessDetailReq req) { - List process = resultRecordMapper.countAssessNumByFlowProcess(req); + req.setCopyEvaluationIds(evaluationGroupService.getEvaluationCopyIdsByEvaluationIds(req.getEvaluationIds(),req.getStartId())); //获取自己管理的部门 List mandepartmentIds = assessService.roleDepartments(req.getLoginUserId()); - List data = buildProcess(process, req.getStartId(),mandepartmentIds); + req.setDepartmentIds(mandepartmentIds); + List process = resultRecordMapper.countAssessNumByFlowProcess(req); + List data = buildProcess(process, req.getStartId(),mandepartmentIds,req); return data; } //构建流程默认人数 - private List buildProcess(List process,Long startId,List mandepartmentIds){ + private List buildProcess(List process,Long startId,List mandepartmentIds,AssessDetailReq req){ List data = Lists.newArrayList(); Map map = Maps.newHashMap(); - int count = resultRecordService.count(new QueryWrapper() - .eq("is_delete", 0) - .eq("start_id", startId) - .in(CollectionUtils.isNotEmpty(mandepartmentIds),"department_id",mandepartmentIds)); - + int count; + if(req == null){ + count = resultRecordService.count(new QueryWrapper() + .eq("is_delete", 0) + .eq("start_id", startId) + .in(CollectionUtils.isNotEmpty(mandepartmentIds),"department_id",mandepartmentIds)); + } + else { + count = resultRecordMapper.countAssessNumJoin(req); + } ChartStatistical all = new ChartStatistical(); all.setDesc("参与人数"); all.setNum(count); 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 135d0210..4b129a6c 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 @@ -94,4 +94,6 @@ public interface ResultRecordMapper extends BaseMapper { int batchDeleteByStartIdAndStaffId(@Param("startId")Long startId,@Param("staffIds") List staffIds); List selectToScoreList(@Param("startId")Long startId, @Param("evaluationId")Long evaluationId); + + int countAssessNumJoin(@Param("req")AssessDetailReq req); } \ 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 aac875cf..5f0d2b69 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -476,37 +476,75 @@ + + + diff --git a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml index 411704b7..360bc4e6 100644 --- a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml @@ -155,6 +155,7 @@ #{copy_id} ) + and start_id = #{startId}