考核组列表返回考核人数

This commit is contained in:
wulin 2020-10-21 10:27:49 +08:00
parent e8ce25942a
commit 302d4c744c
11 changed files with 88 additions and 21 deletions

View File

@ -36,4 +36,6 @@ public interface EvaluationGroupMapper extends BaseMapper<EvaluationGroup> {
List<EvaluationGroup> seleteEvaluationGroupByReq(@Param("page") IPage page, @Param("req") EvaluationGroupReq req);
List<EvaluationGroup> selectEvaluationGroupByIds(@Param("ids") List<Long> ids);
}

View File

@ -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;
/**
* <p>
@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -40,6 +40,8 @@ public class EvaluationGroupReq implements java.io.Serializable {
private String name;
/**
*
* @return

View File

@ -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;
}

View File

@ -39,4 +39,6 @@ public interface EvaluationGroupService extends IService<EvaluationGroup> {
PageUtils selectEvaluationGroupByReq(EvaluationGroupReq req);
List<EvaluationGroup> selectEvaluationGroupByIds(List<Long> ids);
}

View File

@ -34,6 +34,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl<EvaluationGroupMappe
@Autowired
private StaffService staffService;
@Autowired
private EvaluationGroupService evaluationGroupService;
@Override
@ -74,6 +77,13 @@ public class EvaluationGroupServiceImpl extends ServiceImpl<EvaluationGroupMappe
public PageUtils selectEvaluationGroupByReq(EvaluationGroupReq req){
PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize())
.doSelect(page -> evaluationGroupMapper.seleteEvaluationGroupByReq(page, req));
//下面实时统计考核人数
List<EvaluationGroup> groups = pageUtils.getList();
for (EvaluationGroup group:groups
) {
List<String> ids = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId());
group.setCounts(ids.size());
}
return pageUtils;
}
@ -105,4 +115,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl<EvaluationGroupMappe
//去重
return new ArrayList<>(new HashSet(depStaffIds));
}
@Override
public List<EvaluationGroup> selectEvaluationGroupByIds(List<Long> ids){
return evaluationGroupMapper.selectEvaluationGroupByIds(ids);
}
}

View File

@ -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);

View File

@ -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<Long> ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function<String, Long>() {
@Override
public Long apply(String s) {
return Long.getLong(s);
}
}).collect(Collectors.toList());
List<EvaluationGroup> evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(ids);
Map<String, Long> map = new HashedMap();
for (EvaluationGroup evaluationGroup:evaluationGroups
) {
//下面初始化部门的员工考核流程
//下面初始化考核人员的考核流程
}
return R.ok();
}

View File

@ -96,6 +96,14 @@
<if test="req.name != null and req.name != ''">and name like concat('%', #{req.name} '%') </if>
</select>
<select id="selectEvaluationGroupById" resultType="EvaluationGroup" >
select * from lz_evaluation_group where is_delete = 0 and id in (
<foreach collection="ids" item="id" separator=",">
#{id}
</foreach>
)
</select>
</mapper>