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 728c362d..70e9424b 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java @@ -40,4 +40,7 @@ public interface EvaluationGroupMapper extends BaseMapper { List selectEvaluationGroupByIds(@Param("ids") List ids); EvaluationGroup selectEvaluationGroupByName(@Param("name") String name); + + void deleteByIds(@Param("ids") List ids); + } \ 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 7c0820cd..37970d09 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -46,4 +46,6 @@ public interface EvaluationGroupService extends IService { EvaluationGroup selectEvaluationGroupByName(String name); //获取考核组里面所有参与的人员信息,去除重复,去除离职 List selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup); + + void deleteByIds(List ids); } \ 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 6eaa0b06..97039d45 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 @@ -213,4 +213,10 @@ public class EvaluationGroupServiceImpl extends ServiceImpl ids) { + evaluationGroupMapper.deleteByIds(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 92e11f01..d72ecff6 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -4,6 +4,7 @@ import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessListReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.res.AssessManagerDetailRes; @@ -75,6 +76,29 @@ public class AssessManagerController { } + @PostMapping("assess/manager/change") + @ApiOperation("考核管理组管理变更") + @ApiResponses({@ApiResponse(code = 200,message = "成功")}) + public R assessChange(@RequestBody AssessChangeReq req){ + if(req.getStartId()==null){ + return R.error("考核id不能为空"); + } + if(req.getChangeType()==null){ + return R.error("变动类型无效"); + } + FlowStart flowStart = flowStartMapper.selectFlowStartById(req.getStartId()); + if(flowStart == null){ + return R.error("暂无此考核组信息"); + } + flowStart.getGroupIds(); + assessManagerService.assessChange(req); + return R.ok(); + + } + + + + @GetMapping("assess/manager/delete") @ApiOperation("删除考核任务") diff --git a/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java b/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java new file mode 100644 index 00000000..3595b3be --- /dev/null +++ b/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java @@ -0,0 +1,26 @@ +package com.lz.modules.performance.req; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/27 14:49 + */ +@Data +@ApiModel("考核管理变动实体") +public class AssessChangeReq { + @ApiModelProperty(value = "考核id",name = "startId") + private Long startId; + + @ApiModelProperty(value = "变更类型 0 :添加 1:删除",name = "changeType") + private Integer changeType; + + @ApiModelProperty(value = "变动人员ids",name = "staffIds") + private List staffIds; + +} diff --git a/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java b/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java index 90f5547b..aa7dd4fe 100644 --- a/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java +++ b/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java @@ -17,8 +17,8 @@ import java.util.List; @ApiModel("获取考核详情实体") public class AssessDetailReq extends BasePage{ //考勤组id - @ApiModelProperty(value = "考勤组ids",name = "evaluationIds") - private List evaluationIds; + @ApiModelProperty(value = "考勤组ids ,逗号隔开",name = "evaluationIds") + private String evaluationIds; //发起考核的id @ApiModelProperty(value = "发起考核的id",name = "startId") private Long startId; @@ -26,8 +26,8 @@ public class AssessDetailReq extends BasePage{ @ApiModelProperty(value = "员工名称",name = "staffName") private String staffName; //人员id数组 - @ApiModelProperty(value = "人员id数组",name = "staffIds") - private List staffIds; + @ApiModelProperty(value = "人员ids,逗号隔开",name = "staffIds") + private String staffIds; //状态 确认 执行 结果录入。。。 @ApiModelProperty(value = "状态 确认 执行 结果录入。。。",name = "flowProcess") private Integer flowProcess; 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 c81c29a6..9f5e49f3 100644 --- a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java +++ b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java @@ -2,6 +2,7 @@ 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.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; @@ -18,4 +19,6 @@ public interface AssessManagerService { PageUtils assessDetail(AssessDetailReq req); void accessDelete(FlowStart flowStart); + + void 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 69a36be5..682fa865 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 @@ -8,6 +8,7 @@ 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.flow.service.EvaluationStartStaffService; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; import com.lz.modules.performance.res.AssessManagerDetailRes; @@ -21,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -83,7 +85,28 @@ public class AssessManagerServiceImpl implements AssessManagerService { public void accessDelete(FlowStart flowStart) { flowStart.setIsDelete(1); flowStartMapper.updateFlowStartById(flowStart); + String groupIds = flowStart.getGroupIds(); + 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()); + evaluationGroupService.deleteByIds(collect); + } resultRecordMapper.batchDeleteByStartId(flowStart.getId()); return ; } + + + @Override + public void assessChange(AssessChangeReq req) { + + if(req.getChangeType() == 0){ + + + } + if(req.getChangeType() == 1){ + + } + + } } 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 cb2d9b91..4c7dd0f9 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 @@ -4,7 +4,9 @@ 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.StringUtil; +import com.lz.modules.app.entity.DepartmentsEntity; 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.FlowStartMapper; @@ -50,6 +52,8 @@ public class ChartResultServiceImpl implements ChartResultService { private FlowStartService flowStartService; @Autowired private FlowStartMapper flowStartMapper; + @Autowired + private DepartmentsService departmentsService; @Override @@ -78,11 +82,18 @@ public class ChartResultServiceImpl implements ChartResultService { } data.add(res); - List strings = evaluationGroupService.selectAllStaffIdsByGroupId(3L); - List depstaff = this.countDepartmentAndStaffNum(strings); + FlowStart flowStart = flowStartMapper.selectFlowStartById(startId); + String[] split = flowStart.getGroupIds().split(","); + Set staffIds = new HashSet<>(); + for(String s:split){ + List strings = evaluationGroupService.selectAllStaffIdsByGroupId(Long.valueOf(s)); + staffIds.addAll(strings); + } + List all = new ArrayList<>(staffIds); + List depstaff = this.countDepartmentAndStaffNum(all); res = new ChartStatisticalRes(); res.setType(2); - res.setStatisticals(depstaff); + res.setStatisticals(buildDepStaffs(depstaff)); res.setDefaultTime(defaultTime); if(StringUtil.isNotBlank(defaultTime)){ res.setDefaultId(startId); @@ -191,4 +202,15 @@ public class ChartResultServiceImpl implements ChartResultService { } return data; } + + private List buildDepStaffs(List depStaffs){ + depStaffs.stream().forEach(chartStatistical -> { + String desc = chartStatistical.getDesc(); + DepartmentsEntity departmentsEntity = departmentsService.selectByDepartmentId(desc); + if(departmentsEntity!=null && StringUtil.isNotBlank(departmentsEntity.getDepartmentName())){ + chartStatistical.setDesc(departmentsEntity.getDepartmentName()); + } + }); + return depStaffs; + } } diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 9dfa922f..a7388485 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -388,9 +388,9 @@ ON r.start_id = s.start_id and r.staff_id = s.staff_id where r.is_delete = 0 and s.is_delete = 0 and r.start_id = #{req.startId} - + and r.evaluation_id in( - + #{evaluation_id} ) @@ -399,11 +399,11 @@ and r.flow_process = #{req.flowProcess} - and r.staff_name = #{req.staffName} + and r.staff_name LIKE CONCAT('%',#{req.staffName},'%') - + and r.staff_id in( - + #{staff_id} ) @@ -414,22 +414,22 @@ SELECT count(flow_process) num,flow_process as 'desc' from lz_result_record where is_delete=0 and start_id =#{req.startId} - - and evaluation_id in( - + + and r.evaluation_id in( + #{evaluation_id} ) - and flow_process = #{req.flowProcess} + and r.flow_process = #{req.flowProcess} - and staff_name = #{req.staffName} + and r.staff_name LIKE CONCAT('%',#{req.staffName},'%') - - and staff_id in( - + + and r.staff_id in( + #{staff_id} ) diff --git a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml index 94b81d02..d4804e38 100644 --- a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml @@ -113,5 +113,13 @@ select * from lz_evaluation_group where name=#{name} and is_delete = 0 limit 1 + + update lz_evaluation_group set is_delete = 1 where is_delete=0 + and id in ( + + #{id} + + ) +