From e5b21bde35b01da68ea6935090b622ea6b957612 Mon Sep 17 00:00:00 2001 From: wulin Date: Fri, 30 Oct 2020 09:54:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=BB=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E7=BB=84=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E8=A1=A8lz=5Fstaff=5Frole=E6=95=B0=E6=8D=AE=E7=9A=84=E6=8F=92?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/dao/StaffRoleMapper.java | 2 + .../flow/service/StaffRoleService.java | 2 + .../service/impl/StaffRoleServiceImpl.java | 5 ++ .../controller/EvaluationGroupController.java | 48 +++++++++++++++---- .../resources/mapper/flow/StaffRoleMapper.xml | 8 ++++ 5 files changed, 55 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java index 9a93afca..94302f52 100644 --- a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java @@ -42,4 +42,6 @@ public interface StaffRoleMapper extends BaseMapper { List selectByCondition(@Param("page") IPage page, @Param("params") Map params); List selectByGroupId(@Param("id") Long id); + + List selectStaffRolesByStaffId(@Param("list") List mIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java index fe116ab3..25c5d639 100644 --- a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java +++ b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java @@ -49,4 +49,6 @@ public interface StaffRoleService extends IService { List selectMenuList(); List selectByGroupId(Long id); + + List selectStaffRolesByStaffId(List mIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java index 1d3702c8..fd493e9e 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java @@ -270,4 +270,9 @@ public class StaffRoleServiceImpl extends ServiceImpl selectStaffRolesByStaffId(List mIds){ + return staffRoleMapper.selectStaffRolesByStaffId(mIds); + } + } diff --git a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java index 6fa9fe19..1cda07d8 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -11,21 +11,16 @@ import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowManager; import com.lz.modules.flow.entity.ResultModel; +import com.lz.modules.flow.entity.StaffRole; import com.lz.modules.flow.model.EvaluationGroupDto; import com.lz.modules.flow.req.EvaluationGroupReq; -import com.lz.modules.flow.service.EvaluationGroupService; -import com.lz.modules.flow.service.FlowManagerService; -import com.lz.modules.flow.service.ResultModelService; -import com.lz.modules.flow.service.StaffRoleDepartmentService; +import com.lz.modules.flow.service.*; import io.swagger.annotations.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -49,6 +44,9 @@ public class EvaluationGroupController { @Autowired private StaffRoleDepartmentService staffRoleDepartmentService; + @Autowired + private StaffRoleService staffRoleService; + @@ -133,8 +131,8 @@ public class EvaluationGroupController { @ApiOperation("保存考评组") @ApiResponses({@ApiResponse(code = 200, message = "成功", response = EvaluationGroup.class)}) public R save(@RequestBody @ApiParam EvaluationGroup evaluationGroup) { + EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup.getId() != null && evaluationGroup.getId().intValue() > 0){ - EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup1 == null || evaluationGroup1.getId().equals(evaluationGroup.getId())){ evaluationGroupService.updateEvaluationGroupById(evaluationGroup); }else { @@ -142,13 +140,43 @@ public class EvaluationGroupController { } }else{ - EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup1 != null){ return R.error("已经存在相同名称考核组"); } evaluationGroupService.insertEvaluationGroup(evaluationGroup); } + //更新组管理员信息 + if(evaluationGroup.getManagerIds() != null && evaluationGroup.getManagerIds().length() > 0){ + List mIds = Arrays.stream(evaluationGroup.getManagerIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + List staffRoles = staffRoleService.selectByGroupId(evaluationGroup.getId()); + if(staffRoles.size() > 0){ + Map staffRoleMap = + staffRoles.stream().collect(Collectors.toMap(StaffRole::getStaffId, Function.identity(), (e, repace) -> e)); + for(int i = 0; i < mIds.size();){ + Long l = mIds.get(i); + if(staffRoleMap.containsKey(l)){ + mIds.remove(l); + } + } + } + if(mIds.size() > 0){ + staffRoles = new ArrayList<>(); + for (Long id:mIds + ) { + StaffRole staffRole = new StaffRole(); + staffRole.setStaffId(id); + staffRole.setEvaluationGroupId(evaluationGroup.getId()); + staffRoles.add(staffRole); + } + staffRoleService.saveBatch(staffRoles); + } + } return R.ok().put("data", evaluationGroup); } diff --git a/src/main/resources/mapper/flow/StaffRoleMapper.xml b/src/main/resources/mapper/flow/StaffRoleMapper.xml index fd55ce3c..05692e43 100644 --- a/src/main/resources/mapper/flow/StaffRoleMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleMapper.xml @@ -115,6 +115,14 @@ select * from lz_staff_role where is_delete = 0 and evaluation_group_id = #{id} + +