From be1b6d3610548178f72eb5840e52370117a29ec2 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 20 Oct 2020 11:06:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E8=80=83?= =?UTF-8?q?=E6=A0=B8=E7=BB=84=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/app/dto/DepartmentsSimpleDto.java | 37 +++++++ .../flow/dao/StaffRoleDepartmentMapper.java | 3 + .../flow/model/EvaluationGroupDto.java | 100 +++--------------- .../service/StaffRoleDepartmentService.java | 3 + .../impl/StaffRoleDepartmentServiceImpl.java | 6 ++ .../controller/EvaluationGroupController.java | 78 +++++++++++++- .../mapper/flow/StaffRoleDepartmentMapper.xml | 9 ++ 7 files changed, 149 insertions(+), 87 deletions(-) create mode 100644 src/main/java/com/lz/modules/app/dto/DepartmentsSimpleDto.java diff --git a/src/main/java/com/lz/modules/app/dto/DepartmentsSimpleDto.java b/src/main/java/com/lz/modules/app/dto/DepartmentsSimpleDto.java new file mode 100644 index 00000000..583438e5 --- /dev/null +++ b/src/main/java/com/lz/modules/app/dto/DepartmentsSimpleDto.java @@ -0,0 +1,37 @@ +package com.lz.modules.app.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 部门表 + * + * @author fumeiai + * @email fumeiai@linzikg.com + * @date 2020-04-30 16:59:50 + */ +@Data +@ApiModel("部门简单信息Dto") +public class DepartmentsSimpleDto implements Serializable{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "部门id", name = "id") + private Integer id; + /** + * 飞书显示部门人数 + */ + @ApiModelProperty(value = "部门人数", name = "memberCount") + private Integer memberCount; + /** + * 组织架构名称/部门名称 + */ + @ApiModelProperty(value = "部门名称", name = "departmentName") + private String departmentName; + + +} diff --git a/src/main/java/com/lz/modules/flow/dao/StaffRoleDepartmentMapper.java b/src/main/java/com/lz/modules/flow/dao/StaffRoleDepartmentMapper.java index 50399f31..30158b1c 100644 --- a/src/main/java/com/lz/modules/flow/dao/StaffRoleDepartmentMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/StaffRoleDepartmentMapper.java @@ -8,6 +8,7 @@ package com.lz.modules.flow.dao; * @since 2020-08-18 */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.modules.app.dto.DepartmentsSimpleDto; import com.lz.modules.flow.entity.StaffRoleDepartment; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +43,6 @@ public interface StaffRoleDepartmentMapper extends BaseMapper selectStaffRoleDepartmentByStaffRoleIdDepartments(@Param("staffRoleId") Long staffRoleId, @Param("departments") List departments); + + List selectDepartmentSimpleInfos(@Param("ids") List ids); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/model/EvaluationGroupDto.java b/src/main/java/com/lz/modules/flow/model/EvaluationGroupDto.java index feb35272..2fb7fbf7 100644 --- a/src/main/java/com/lz/modules/flow/model/EvaluationGroupDto.java +++ b/src/main/java/com/lz/modules/flow/model/EvaluationGroupDto.java @@ -1,7 +1,12 @@ package com.lz.modules.flow.model; +import com.lz.modules.app.dto.DepartmentsSimpleDto; +import com.lz.modules.app.dto.StaffSimpleDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.util.List; + /** *

*

*考评组表 @@ -19,20 +24,18 @@ public class EvaluationGroupDto { @ApiModelProperty(value = "", name = "name") private String name; //绩效管理员ID,system_user,id,逗号隔开 - @ApiModelProperty(value = "绩效管理员ID,system_user,id,逗号隔开", name = "managerIds") - private Long managerIds; + @ApiModelProperty(value = "绩效管理员集合,如果人员离职不会返回", name = "managerIds") + private List managers; //参与部门id,逗号隔开 - @ApiModelProperty(value = "参与部门id,逗号隔开", name = "depIds") - private Long depIds; + @ApiModelProperty(value = "参与部门集合,如果部门不存在不会返回", name = "deps") + private List deps; //参与考核员工staff_id,逗号隔开 - @ApiModelProperty(value = "参与考核员工staff_id,逗号隔开", name = "staffIds") - private Long staffIds; + @ApiModelProperty(value = "参与考核员集合,如果人员离职不会返回", name = "staffs") + private List staffs; //0部门,1人员 - @ApiModelProperty(value = "0部门,1人员", name = "inType") - private Integer inType; //排除人员ids,逗号隔开 - @ApiModelProperty(value = "排除人员ids,逗号隔开", name = "outIds") - private Long outIds; + @ApiModelProperty(value = "排除人员集合,如果人员离职不会返回", name = "outs") + private List outs; /** * * @return @@ -63,91 +66,18 @@ public class EvaluationGroupDto { this.name = name; } - /** - * 绩效管理员ID,system_user,id,逗号隔开 - * @return - */ - public Long getManagerIds() { - return managerIds; - } - /** - * 绩效管理员ID,system_user,id,逗号隔开 - * @param managerIds - */ - public void setManagerIds(Long managerIds) { - this.managerIds = managerIds; - } - /** - * 参与部门id,逗号隔开 - * @return - */ - public Long getDepIds() { - return depIds; - } - /** - * 参与部门id,逗号隔开 - * @param depIds - */ - public void setDepIds(Long depIds) { - this.depIds = depIds; - } - /** - * 参与考核员工staff_id,逗号隔开 - * @return - */ - public Long getStaffIds() { - return staffIds; - } - /** - * 参与考核员工staff_id,逗号隔开 - * @param staffIds - */ - public void setStaffIds(Long staffIds) { - this.staffIds = staffIds; - } - /** - * 0部门,1人员 - * @return - */ - public Integer getInType() { - return inType; - } - /** - * 0部门,1人员 - * @param inType - */ - public void setInType(Integer inType) { - this.inType = inType; - } - /** - * 排除人员ids,逗号隔开 - * @return - */ - public Long getOutIds() { - return outIds; - } - /** - * 排除人员ids,逗号隔开 - * @param outIds - */ - public void setOutIds(Long outIds) { - this.outIds = outIds; - } + + @Override public String toString() { return "EvaluationGroup{" + ",id=" + id + ",name=" + name + - ",managerIds=" + managerIds + - ",depIds=" + depIds + - ",staffIds=" + staffIds + - ",inType=" + inType + - ",outIds=" + outIds + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/StaffRoleDepartmentService.java b/src/main/java/com/lz/modules/flow/service/StaffRoleDepartmentService.java index 48db35e0..408e17ad 100644 --- a/src/main/java/com/lz/modules/flow/service/StaffRoleDepartmentService.java +++ b/src/main/java/com/lz/modules/flow/service/StaffRoleDepartmentService.java @@ -1,6 +1,7 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.lz.modules.app.dto.DepartmentsSimpleDto; import com.lz.modules.flow.entity.StaffRoleDepartment; import java.util.List; @@ -39,4 +40,6 @@ public interface StaffRoleDepartmentService extends IService ids); void deleteStaffRoleDepartment(Long id); + + List selectDepartmentSimpleInfos(List ids); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleDepartmentServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleDepartmentServiceImpl.java index 4f10c558..73ed66bd 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleDepartmentServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleDepartmentServiceImpl.java @@ -1,6 +1,7 @@ package com.lz.modules.flow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lz.modules.app.dto.DepartmentsSimpleDto; import com.lz.modules.flow.dao.StaffRoleDepartmentMapper; import com.lz.modules.flow.entity.StaffRoleDepartment; import com.lz.modules.flow.service.StaffRoleDepartmentService; @@ -80,5 +81,10 @@ public class StaffRoleDepartmentServiceImpl extends ServiceImpl selectDepartmentSimpleInfos(List ids){ + return staffRoleDepartmentMapper.selectDepartmentSimpleInfos(ids); + } + } 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 465bda64..0f3f24e8 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -5,20 +5,29 @@ import com.alibaba.fastjson.JSONObject; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.dto.DepartmentsSimpleDto; +import com.lz.modules.app.dto.StaffSimpleDto; +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.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 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.function.Function; +import java.util.stream.Collectors; @RestController @RequestMapping("/evaluationGroup") @@ -34,14 +43,79 @@ public class EvaluationGroupController { @Autowired private ResultModelService resultModelService; + @Autowired + private StaffService staffService; + + @Autowired + private StaffRoleDepartmentService staffRoleDepartmentService; - @PostMapping("/getById") + @GetMapping("/getById") + @ApiOperation("获取考核组详情") + @ApiResponses({@ApiResponse(code=200,message = "成功", response= EvaluationGroupDto.class)}) + public R getById(@RequestParam @ApiParam("考核组id") Long id) { + EvaluationGroup evaluationGroup = evaluationGroupService.selectEvaluationGroupById(id); + EvaluationGroupDto evaluationGroupDto = new EvaluationGroupDto(); + if(evaluationGroup.getDepIds() != null && evaluationGroup.getDepIds().length() > 0){ + + List ids = Arrays.stream(evaluationGroup.getDepIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + List departmentsSimpleDtos = staffRoleDepartmentService.selectDepartmentSimpleInfos(ids); + evaluationGroupDto.setDeps(departmentsSimpleDtos); + } + if(evaluationGroup.getStaffIds() != null && evaluationGroup.getStaffIds().length() > 0){ + List ids = Arrays.stream(evaluationGroup.getStaffIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + + //指定人员,搜索人员信息 + List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(ids); + evaluationGroupDto.setStaffs(staffSimpleDtos); + } + + if(evaluationGroup.getManagerIds() != null && evaluationGroup.getManagerIds().length() > 0){ + List ids = Arrays.stream(evaluationGroup.getManagerIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + + //指定人员,搜索人员信息 + List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(ids); + evaluationGroupDto.setManagers(staffSimpleDtos); + } + if(evaluationGroup.getOutIds() != null && evaluationGroup.getOutIds().length() > 0){ + List ids = Arrays.stream(evaluationGroup.getOutIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + + //指定人员,搜索人员信息 + List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(ids); + evaluationGroupDto.setOuts(staffSimpleDtos); + } + + BeanUtils.copyProperties(evaluationGroup, evaluationGroupDto); + return R.ok().put("data",evaluationGroupDto); + } + + + @PostMapping("/getGroups") @ApiOperation("获取考核组列表") @ApiResponses({@ApiResponse(code=200,message = "成功", response=EvaluationGroup.class)}) - public R getById(@RequestBody @ApiParam EvaluationGroupReq req) { + public R getGroups(@RequestBody @ApiParam EvaluationGroupReq req) { PageUtils pageUtils = evaluationGroupService.selectEvaluationGroupByReq(req); return R.ok().put("data",pageUtils); } diff --git a/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml b/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml index 413ecdc9..3ea7514c 100644 --- a/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml @@ -111,5 +111,14 @@ + +