From d8a4bf513a1ccfe68b137c224cd4621f3335ab32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 30 Oct 2020 09:27:38 +0800 Subject: [PATCH 1/4] fix --- .../flow/dao/EvaluationStartStaffMapper.java | 1 + .../service/EvaluationStartStaffService.java | 2 ++ .../impl/EvaluationStartStaffServiceImpl.java | 4 ++++ .../impl/AssessManagerServiceImpl.java | 24 ++++++++++++++++--- .../sys/dao/app/ResultRecordMapper.java | 2 ++ .../mapper/app/ResultRecordMapper.xml | 7 ++++++ .../flow/EvaluationStartStaffMapper.xml | 10 ++++++++ 7 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java index 11b182e2..bb9dba39 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java @@ -41,4 +41,5 @@ public interface EvaluationStartStaffMapper extends BaseMapper longs = resultRecordMapper.selectToScoreList(req.getStartId(), evaluation); + } + List strings = Arrays.asList(split); + + //更新流程绩效 + ApprovalDto approvalDto = new ApprovalDto(); + try { + resultRecordService.newApproval(approvalDto); + } catch (Exception e) { + e.printStackTrace(); + } } 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 91ac06e9..78189749 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 @@ -90,4 +90,6 @@ public interface ResultRecordMapper extends BaseMapper { List countAssessNumByFlowProcess(@Param("req")AssessDetailReq req); void batchDeleteByStartIdAndStaffId(@Param("startId")Long startId,@Param("staffIds") List staffIds); + + List selectToScoreList(@Param("startId")Long startId,@Param("evaluationId")Long evaluationId); } \ 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 19403641..fd3c7dec 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -461,5 +461,12 @@ ) + + diff --git a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml index df4785b1..d0879b1d 100644 --- a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml @@ -130,5 +130,15 @@ select count(1) from lz_evaluation_start_staff where is_delete = 0 and evaluation_id=#{evaluationId} AND start_id =#{startId} and score = 1 limit 1 + + + update + lz_evaluation_start_staff + set + score = 1, + ,gmt_modified = now() + where is_delete = 0 and score = 0 and type = 0 + and evaluation_id = #{evaluationId} and start_id = #{startId} + From d96c2d2cdbe7862c6a87784094b6fa234671dc08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 30 Oct 2020 10:49:53 +0800 Subject: [PATCH 2/4] fix --- .../flow/dao/EvaluationStartStaffMapper.java | 2 ++ .../flow/service/EvaluationGroupService.java | 3 ++ .../impl/EvaluationGroupServiceImpl.java | 33 ++++++++++++++++++- .../controller/EvaluationGroupController.java | 11 +++++++ .../performance/dto/CheckStaffDto.java | 18 ++++++++++ .../impl/AssessManagerServiceImpl.java | 4 +++ .../flow/EvaluationStartStaffMapper.xml | 16 +++++++++ 7 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/lz/modules/performance/dto/CheckStaffDto.java diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java index bb9dba39..297e1830 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java @@ -42,4 +42,6 @@ public interface EvaluationStartStaffMapper extends BaseMapper staffIds); } \ No newline at end of file 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 37970d09..323470a2 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -6,6 +6,7 @@ import com.lz.common.utils.R; import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.req.EvaluationGroupReq; +import com.lz.modules.performance.dto.CheckStaffDto; import java.util.List; @@ -48,4 +49,6 @@ public interface EvaluationGroupService extends IService { List selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup); void deleteByIds(List ids); + + List checkStaff(EvaluationGroup evaluationGroup); } \ 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 9605a51d..86d1c5c7 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 @@ -1,5 +1,6 @@ package com.lz.modules.flow.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.common.utils.ISelect; @@ -18,6 +19,8 @@ import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.req.EvaluationGroupReq; import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.FlowStartService; +import com.lz.modules.performance.dto.CheckStaffDto; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -139,6 +142,11 @@ public class EvaluationGroupServiceImpl extends ServiceImpl getStaffIdsByGroup(EvaluationGroup evaluationGroup){ String depIds = evaluationGroup.getDepIds(); Set allDeparmentIds = new HashSet<>(); if(StringUtils.isNotBlank(depIds)){ @@ -165,7 +173,6 @@ public class EvaluationGroupServiceImpl extends ServiceImpl data = staffOccupationService.removeDimissionStaffByStaffIds(distDepStaffIds); return data; } - @Override public List selectEvaluationGroupByIds(List ids){ return evaluationGroupMapper.selectEvaluationGroupByIds(ids); @@ -251,4 +258,28 @@ public class EvaluationGroupServiceImpl extends ServiceImpl ids) { evaluationGroupMapper.deleteByIds(ids); } + + + @Override + public List checkStaff(EvaluationGroup evaluationGroup) { + List staffs= new ArrayList<>(); + //本次参加人员 + List staffIdsByGroup = getStaffIdsByGroup(evaluationGroup); + + //获取之前 + List evaluationGroups = evaluationGroupMapper.selectList(new QueryWrapper() + .eq("is_delete", 0).eq("copy_id", 0)); + + if(CollectionUtils.isEmpty(evaluationGroups)){ + return staffs; + } + evaluationGroups.stream().map(new Function() { + @Override + public CheckStaffDto apply(EvaluationGroup evaluationGroup) { + evaluationGroupService. + return null; + } + }); + return null; + } } 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..5a2c3f94 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -160,4 +160,15 @@ public class EvaluationGroupController { return evaluationGroupService.deleteEvaluationGroupById(id); //return R.ok(); } + + + @GetMapping("/checkStaff") + @ApiOperation("校验是否有跨组人员") + public R checkStaff(@RequestParam @RequestBody @ApiParam EvaluationGroup evaluationGroup) { + + evaluationGroupService.checkStaff(evaluationGroup); + + return R.ok(); + + } } diff --git a/src/main/java/com/lz/modules/performance/dto/CheckStaffDto.java b/src/main/java/com/lz/modules/performance/dto/CheckStaffDto.java new file mode 100644 index 00000000..1710aac5 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/dto/CheckStaffDto.java @@ -0,0 +1,18 @@ +package com.lz.modules.performance.dto; + +import lombok.Data; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/30 10:04 + */ +@Data +public class CheckStaffDto { + + private String staffName; + + private Long evaluationId; + + private Long staffId; +} 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 d95e3fc9..0d362450 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 @@ -7,6 +7,7 @@ import com.lz.common.utils.StringUtil; import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.StaffSimpleDto; import com.lz.modules.app.service.StaffService; +import com.lz.modules.flow.dao.EvaluationStartStaffMapper; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.EvaluationStartStaff; @@ -55,6 +56,8 @@ public class AssessManagerServiceImpl implements AssessManagerService { private StaffService staffService; @Autowired private ResultRecordService resultRecordService; + @Autowired + private EvaluationStartStaffMapper evaluationStartStaffMapper; @Override public PageUtils assessList(AssessListReq req) { @@ -154,6 +157,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { if(req.getChangeType() == 1){ //删除本次考核任务 resultRecordMapper.batchDeleteByStartIdAndStaffId(req.getStartId(),change); + evaluationStartStaffMapper.deleteEvaluationStartStaffChangeAssess(req.getStartId(),change); return ok; } return ok; diff --git a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml index b9125721..487c2e01 100644 --- a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml @@ -147,5 +147,21 @@ where is_delete = 0 and score = 0 and type = 0 and evaluation_id = #{evaluationId} and start_id = #{startId} + + + + update + lz_evaluation_start_staff + set + is_delete = 1, + ,gmt_modified = now() + where is_delete = 0 and type = 0 + and start_id = #{startId} + and staff_id in ( + + #{staff_id} + + ) + From b2406efb21391cf68087f22a2738a38c129f3adc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 30 Oct 2020 14:11:22 +0800 Subject: [PATCH 3/4] fix --- .../impl/EvaluationGroupServiceImpl.java | 2 +- .../impl/AssessManagerServiceImpl.java | 58 +++++++++++++++---- 2 files changed, 47 insertions(+), 13 deletions(-) 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 86d1c5c7..9157782a 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 @@ -276,7 +276,7 @@ public class EvaluationGroupServiceImpl extends ServiceImpl() { @Override public CheckStaffDto apply(EvaluationGroup evaluationGroup) { - evaluationGroupService. + //evaluationGroupService. return null; } }); 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 0d362450..9f8bdd7e 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 @@ -1,6 +1,7 @@ package com.lz.modules.performance.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.collect.Maps; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; @@ -12,9 +13,12 @@ import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.EvaluationStartStaff; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.flow.model.GroupStaffs; +import com.lz.modules.flow.model.StartGroups; import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.EvaluationStartStaffService; import com.lz.modules.flow.service.FlowRecordService; +import com.lz.modules.flow.service.FlowStartService; import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; @@ -58,6 +62,8 @@ public class AssessManagerServiceImpl implements AssessManagerService { private ResultRecordService resultRecordService; @Autowired private EvaluationStartStaffMapper evaluationStartStaffMapper; + @Autowired + private FlowStartService flowStartService; @Override public PageUtils assessList(AssessListReq req) { @@ -127,29 +133,55 @@ public class AssessManagerServiceImpl implements AssessManagerService { 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); + + //获取变更人员 String[] changeStaffIds = req.getStaffIds().split(","); - List change = Arrays.asList(changeStaffIds); + List change = new ArrayList<>(Arrays.asList(changeStaffIds)); + if(req.getChangeType() == 0){ - //获取不在考评组的人员 + //获取所有考核人员 + List all = new ArrayList<>(); + + //根据组id成员分组 + Map> map = Maps.newHashMap(); + for(EvaluationGroup group:evaluationGroups){ + List staff = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId()); + all.addAll(staff); + map.put(group.getId(),staff); + } + + //获取不在考核组成员 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 collect = notInGroup.stream().map(s -> Long.valueOf(s)).distinct().collect(toList()); List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(collect); String notInGroupNames = StringUtil.EMPTY; for(StaffSimpleDto dto:staffSimpleDtos){ notInGroupNames = notInGroupNames + dto.getName() + " "; } - return notInGroupNames; + return notInGroupNames + "已在其他类型为月度的考评组中,是否改为到此考评组中进行考核"; } - //初始化添加用户的数据 TODO + //初始化添加用户的数据 + List groupS = new ArrayList<>(); + + for(EvaluationGroup group:evaluationGroups){ + List staffs = map.get(group.getId()); + staffs.retainAll(notInGroup); + map.put(group.getId(),staffs); + GroupStaffs groupStaffs = new GroupStaffs(); + groupStaffs.setGroupId(group.getId()); + List collect = staffs.stream().map(s -> Long.valueOf(s)).collect(toList()); + groupStaffs.setStaffIds(collect); + groupS.add(groupStaffs); + } + + StartGroups startGroups = new StartGroups(); + startGroups.setStartId(req.getStartId()); + startGroups.setStaffIds(groupS); + flowStartService.startStaffs(startGroups); return ok; @@ -205,4 +237,6 @@ public class AssessManagerServiceImpl implements AssessManagerService { return evaluationStartStaffs; } + + } From 6b53b91544feddb6d6ee39d423e5e5490f7e1bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 30 Oct 2020 14:23:14 +0800 Subject: [PATCH 4/4] fix --- .../flow/dao/EvaluationStartStaffMapper.java | 2 ++ .../service/impl/AssessManagerServiceImpl.java | 13 +++++++++---- .../mapper/flow/EvaluationStartStaffMapper.xml | 4 ++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java index 297e1830..ce4e07b1 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java @@ -44,4 +44,6 @@ public interface EvaluationStartStaffMapper extends BaseMapper staffIds); + + List selectStaffIdsByStart(@Param("startId") Long startId); } \ No newline at end of file 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 9f8bdd7e..334b870f 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 @@ -167,20 +167,25 @@ public class AssessManagerServiceImpl implements AssessManagerService { //初始化添加用户的数据 List groupS = new ArrayList<>(); + //排除已发起过的 + List longs = evaluationStartStaffMapper.selectStaffIdsByStart(req.getStartId()); + for(EvaluationGroup group:evaluationGroups){ + GroupStaffs groupStaffs = new GroupStaffs(); + groupStaffs.setEvaluationGroup(group); + List staffs = map.get(group.getId()); staffs.retainAll(notInGroup); - map.put(group.getId(),staffs); - GroupStaffs groupStaffs = new GroupStaffs(); - groupStaffs.setGroupId(group.getId()); + List collect = staffs.stream().map(s -> Long.valueOf(s)).collect(toList()); + collect.removeAll(longs); groupStaffs.setStaffIds(collect); groupS.add(groupStaffs); } StartGroups startGroups = new StartGroups(); startGroups.setStartId(req.getStartId()); - startGroups.setStaffIds(groupS); + startGroups.setGroups(groupS); flowStartService.startStaffs(startGroups); return ok; diff --git a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml index 487c2e01..f2c8754b 100644 --- a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml @@ -163,5 +163,9 @@ ) + +