From 4ac8b8d51cb9a255a6a36fa060068f4d53adb534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Wed, 28 Oct 2020 10:18:10 +0800 Subject: [PATCH] fix --- .../controller/AssessManagerController.java | 12 ++--- .../performance/req/AssessChangeReq.java | 2 +- .../service/AssessManagerService.java | 3 +- .../impl/AssessManagerServiceImpl.java | 45 +++++++++++++++++-- 4 files changed, 51 insertions(+), 11 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 d72ecff6..756e545d 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -2,6 +2,7 @@ package com.lz.modules.performance.controller; 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.FlowStart; import com.lz.modules.performance.req.AssessChangeReq; @@ -86,12 +87,13 @@ public class AssessManagerController { if(req.getChangeType()==null){ return R.error("变动类型无效"); } - FlowStart flowStart = flowStartMapper.selectFlowStartById(req.getStartId()); - if(flowStart == null){ - return R.error("暂无此考核组信息"); + if(StringUtil.isBlank(req.getStaffIds())){ + return R.error("变动人员不能为空"); + } + String errorMsg = assessManagerService.assessChange(req); + if(StringUtil.isNotBlank(errorMsg)){ + return R.error(errorMsg); } - flowStart.getGroupIds(); - assessManagerService.assessChange(req); return R.ok(); } diff --git a/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java b/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java index 3595b3be..ad2536fb 100644 --- a/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java +++ b/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java @@ -21,6 +21,6 @@ public class AssessChangeReq { private Integer changeType; @ApiModelProperty(value = "变动人员ids",name = "staffIds") - private List staffIds; + private String staffIds; } diff --git a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java index 9f5e49f3..c7d7d06f 100644 --- a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java +++ b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java @@ -15,10 +15,9 @@ public interface AssessManagerService { PageUtils assessList(AssessListReq req); - PageUtils assessDetail(AssessDetailReq req); void accessDelete(FlowStart flowStart); - void assessChange(AssessChangeReq req); + String assessChange(AssessChangeReq req); } 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 682fa865..3c9c6305 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 @@ -3,6 +3,8 @@ 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.app.dto.StaffSimpleDto; +import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowStart; @@ -22,9 +24,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Collectors; +import static java.util.stream.Collectors.toList; + /** * @Author: djc * @Desc: @@ -40,6 +45,8 @@ public class AssessManagerServiceImpl implements AssessManagerService { private EvaluationGroupService evaluationGroupService; @Autowired private EvaluationStartStaffService evaluationStartStaffService; + @Autowired + private StaffService staffService; @Override public PageUtils assessList(AssessListReq req) { @@ -89,7 +96,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { if(StringUtil.isNotBlank(groupIds)){ String[] split = groupIds.split(","); List ids = Arrays.asList(split); - List collect = ids.stream().map(s -> Long.valueOf(s)).collect(Collectors.toList()); + List collect = ids.stream().map(s -> Long.valueOf(s)).collect(toList()); evaluationGroupService.deleteByIds(collect); } resultRecordMapper.batchDeleteByStartId(flowStart.getId()); @@ -98,15 +105,47 @@ public class AssessManagerServiceImpl implements AssessManagerService { @Override - public void assessChange(AssessChangeReq req) { - + public String assessChange(AssessChangeReq req) { + String ok = StringUtil.EMPTY; + FlowStart flowStart = flowStartMapper.selectFlowStartById(req.getStartId()); + if(flowStart == null){ + return "暂无此考核组信息"; + } + String[] split = flowStart.getGroupIds().split(","); + String[] changeStaffIds = req.getStaffIds().split(","); + List strings = Arrays.asList(split); + List ids = strings.stream().map(s -> Long.valueOf(s)).collect(toList()); + List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(ids); + Set staffIds = new HashSet<>(); + for(EvaluationGroup group:evaluationGroups){ + List staff = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId()); + staffIds.addAll(staff); + } + List all = new ArrayList<>(staffIds); + List change = Arrays.asList(changeStaffIds); if(req.getChangeType() == 0){ + //获取不在考评组的人员 + List notInGroup = change.stream().filter(item -> !all.contains(item)).collect(toList()); + if(CollectionUtils.isNotEmpty(notInGroup)){ + List collect = notInGroup.stream().map(s -> Long.valueOf(s)).collect(toList()); + List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(collect); + String notInGroupNames = StringUtil.EMPTY; + for(StaffSimpleDto dto:staffSimpleDtos){ + notInGroupNames = notInGroupNames + dto.getName() + " "; + } + return notInGroupNames; + } + //初始化添加用户的数据 TODO + + return ok; } if(req.getChangeType() == 1){ + } + return ok; } }