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 62bf47af..833b1713 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java @@ -36,4 +36,6 @@ public interface EvaluationGroupMapper extends BaseMapper { List seleteEvaluationGroupByReq(@Param("page") IPage page, @Param("req") EvaluationGroupReq req); + + List selectEvaluationGroupByIds(@Param("ids") List ids); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/EvaluationGroup.java b/src/main/java/com/lz/modules/flow/entity/EvaluationGroup.java index 6f35d100..36d8966b 100644 --- a/src/main/java/com/lz/modules/flow/entity/EvaluationGroup.java +++ b/src/main/java/com/lz/modules/flow/entity/EvaluationGroup.java @@ -1,10 +1,13 @@ package com.lz.modules.flow.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.context.annotation.ComponentScan; + import java.util.Date; /** *

@@ -44,6 +47,11 @@ public class EvaluationGroup implements java.io.Serializable { //排除人员ids,逗号隔开 @ApiModelProperty(value = "排除人员ids,逗号隔开", name = "outIds") private String outIds; + + @TableField(exist = false) + @ApiModelProperty(value = "参与考核人数", name = "counts") + private int counts; + /** * * @return diff --git a/src/main/java/com/lz/modules/flow/entity/FlowStart.java b/src/main/java/com/lz/modules/flow/entity/FlowStart.java index 0a631f81..b20b4312 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowStart.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowStart.java @@ -40,8 +40,8 @@ public class FlowStart implements java.io.Serializable { @ApiModelProperty(value = "结束时间", name = "endTime") private Date endTime; //组id - @ApiModelProperty(value = "组id", name = "groupIds") - private Long groupIds; + @ApiModelProperty(value = "组id,逗号隔开", name = "groupIds") + private String groupIds; /** * * @return @@ -151,14 +151,14 @@ public class FlowStart implements java.io.Serializable { * 组id * @return */ - public Long getGroupIds() { + public String getGroupIds() { return groupIds; } /** * 组id * @param groupIds */ - public void setGroupIds(Long groupIds) { + public void setGroupIds(String groupIds) { this.groupIds = groupIds; } diff --git a/src/main/java/com/lz/modules/flow/model/FlowStartDto.java b/src/main/java/com/lz/modules/flow/model/FlowStartDto.java index c4c2f028..a364a686 100644 --- a/src/main/java/com/lz/modules/flow/model/FlowStartDto.java +++ b/src/main/java/com/lz/modules/flow/model/FlowStartDto.java @@ -26,8 +26,8 @@ public class FlowStartDto { @ApiModelProperty(value = "结束时间", name = "endTime") private Date endTime; //组id - @ApiModelProperty(value = "组id", name = "groupIds") - private Long groupIds; + @ApiModelProperty(value = "组id,逗号隔开", name = "groupIds") + private String groupIds; /** * * @return @@ -94,14 +94,14 @@ public class FlowStartDto { * 组id * @return */ - public Long getGroupIds() { + public String getGroupIds() { return groupIds; } /** * 组id * @param groupIds */ - public void setGroupIds(Long groupIds) { + public void setGroupIds(String groupIds) { this.groupIds = groupIds; } diff --git a/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java b/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java index b3de50f3..0cad1598 100644 --- a/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java +++ b/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java @@ -40,6 +40,8 @@ public class EvaluationGroupReq implements java.io.Serializable { private String name; + + /** * * @return diff --git a/src/main/java/com/lz/modules/flow/req/FlowStartReq.java b/src/main/java/com/lz/modules/flow/req/FlowStartReq.java index 885b302c..fd20b2eb 100644 --- a/src/main/java/com/lz/modules/flow/req/FlowStartReq.java +++ b/src/main/java/com/lz/modules/flow/req/FlowStartReq.java @@ -48,8 +48,8 @@ public class FlowStartReq implements java.io.Serializable { @ApiModelProperty(value = "结束时间", name = "endTime") private Date endTime; //组id - @ApiModelProperty(value = "组id", name = "groupIds") - private Long groupIds; + @ApiModelProperty(value = "组id,逗号隔开", name = "groupIds") + private String groupIds; /** * * @return @@ -159,14 +159,14 @@ public class FlowStartReq implements java.io.Serializable { * 组id * @return */ - public Long getGroupIds() { + public String getGroupIds() { return groupIds; } /** * 组id * @param groupIds */ - public void setGroupIds(Long groupIds) { + public void setGroupIds(String groupIds) { this.groupIds = groupIds; } 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 b5ee32d6..c880d950 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -39,4 +39,6 @@ public interface EvaluationGroupService extends IService { PageUtils selectEvaluationGroupByReq(EvaluationGroupReq req); + + List selectEvaluationGroupByIds(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 c8e97948..a78c917a 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 @@ -34,6 +34,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl evaluationGroupMapper.seleteEvaluationGroupByReq(page, req)); + //下面实时统计考核人数 + List groups = pageUtils.getList(); + for (EvaluationGroup group:groups + ) { + List ids = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId()); + group.setCounts(ids.size()); + } return pageUtils; } @@ -105,4 +115,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl(new HashSet(depStaffIds)); } + + @Override + public List selectEvaluationGroupByIds(List ids){ + return evaluationGroupMapper.selectEvaluationGroupByIds(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 d81f3235..4552450d 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -31,7 +31,7 @@ import java.util.stream.Collectors; @RestController @RequestMapping("/evaluationGroup") -@Api(tags="考核组") +@Api(tags="考评组") public class EvaluationGroupController { @@ -53,9 +53,9 @@ public class EvaluationGroupController { @GetMapping("/getById") - @ApiOperation("获取考核组详情") + @ApiOperation("获取考评组详情") @ApiResponses({@ApiResponse(code=200,message = "成功", response= EvaluationGroupDto.class)}) - public R getById(@RequestParam @ApiParam("考核组id") Long id) { + 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){ @@ -113,7 +113,7 @@ public class EvaluationGroupController { @PostMapping("/getGroups") - @ApiOperation("获取考核组列表") + @ApiOperation("获取考评组列表") @ApiResponses({@ApiResponse(code=200,message = "成功", response=EvaluationGroup.class)}) public R getGroups(@RequestBody @ApiParam EvaluationGroupReq req) { PageUtils pageUtils = evaluationGroupService.selectEvaluationGroupByReq(req); @@ -122,7 +122,7 @@ public class EvaluationGroupController { @PostMapping("/update") - @ApiOperation("编辑考核组") + @ApiOperation("编辑考评组") public R update(@RequestBody @ApiParam EvaluationGroup evaluationGroup) { evaluationGroupService.updateEvaluationGroupById(evaluationGroup); return R.ok(); @@ -130,7 +130,8 @@ public class EvaluationGroupController { @PostMapping("/save") - @ApiOperation("新增考核组") + @ApiOperation("新增考评组") + @ApiResponses({@ApiResponse(code = 200, message = "成功", response = EvaluationGroup.class)}) public R save(@RequestBody @ApiParam EvaluationGroup evaluationGroup) { evaluationGroupService.insertEvaluationGroup(evaluationGroup); return R.ok().put("data", evaluationGroup); @@ -138,7 +139,7 @@ public class EvaluationGroupController { @GetMapping("/delete") - @ApiOperation("删除考核组") + @ApiOperation("删除考评组") public R delete(@RequestParam @ApiParam("组id") Long id) { resultModelService.deleteResultModelByGroupId(id); return evaluationGroupService.deleteEvaluationGroupById(id); diff --git a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java index 82d9e0e8..911960c8 100644 --- a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java +++ b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java @@ -5,16 +5,27 @@ 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.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.FlowStartService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +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.Collector; +import java.util.stream.Collectors; @RestController @RequestMapping("/flowStart") @@ -26,6 +37,8 @@ public class FlowStartController { private FlowStartService flowStartService; + @Autowired + private EvaluationGroupService evaluationGroupService; @@ -43,9 +56,25 @@ public class FlowStartController { } - @RequestMapping("/save") - public R save(@RequestBody FlowStart flowStart) { + @PostMapping("/save") + @ApiOperation("发起新的考核任务") + public R save(@RequestBody @ApiParam FlowStart flowStart) { flowStartService.insertFlowStart(flowStart); + //下面开始初始化流程 + List ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.getLong(s); + } + }).collect(Collectors.toList()); + List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(ids); + Map map = new HashedMap(); + for (EvaluationGroup evaluationGroup:evaluationGroups + ) { + //下面初始化部门的员工考核流程 + + //下面初始化考核人员的考核流程 + } return R.ok(); } diff --git a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml index f0159a88..56fc0f92 100644 --- a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml @@ -96,6 +96,14 @@ and name like concat('%', #{req.name} '%') + +