From 224f5f9f6caa8040f987f0e423cd74d882055e9c 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, 16 Oct 2020 15:50:08 +0800 Subject: [PATCH] fix --- .../performance/res/ChartStatistical.java | 15 +++++++ .../performance/res/ChartStatisticalRes.java | 9 ----- .../service/ChartResultService.java | 4 +- .../service/impl/ChartResultServiceImpl.java | 40 +++++++++++++++++-- 4 files changed, 55 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/lz/modules/performance/res/ChartStatistical.java diff --git a/src/main/java/com/lz/modules/performance/res/ChartStatistical.java b/src/main/java/com/lz/modules/performance/res/ChartStatistical.java new file mode 100644 index 00000000..a6dd5078 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/res/ChartStatistical.java @@ -0,0 +1,15 @@ +package com.lz.modules.performance.res; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "报表统计实体") +public class ChartStatistical { + @ApiModelProperty(value = "描述",name = "desc") + private String desc; + + @ApiModelProperty(value = "人数",name = "num") + private int num; +} \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java b/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java index 248793a0..4e744222 100644 --- a/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java +++ b/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java @@ -21,12 +21,3 @@ public class ChartStatisticalRes { } -@Data -@ApiModel(value = "报表统计实体") -class ChartStatistical { - @ApiModelProperty(value = "描述",name = "desc") - private String desc; - - @ApiModelProperty(value = "人数",name = "num") - private int num; -} diff --git a/src/main/java/com/lz/modules/performance/service/ChartResultService.java b/src/main/java/com/lz/modules/performance/service/ChartResultService.java index 85bd649d..d1ede77c 100644 --- a/src/main/java/com/lz/modules/performance/service/ChartResultService.java +++ b/src/main/java/com/lz/modules/performance/service/ChartResultService.java @@ -1,6 +1,8 @@ package com.lz.modules.performance.service; import com.lz.modules.performance.req.ChartResultReq; +import com.lz.modules.performance.res.ChartStatistical; +import com.lz.modules.performance.res.ChartStatisticalRes; import java.util.List; @@ -13,6 +15,6 @@ public interface ChartResultService { void chartReport(ChartResultReq req); - void chartDepartment(ListstaffIds); + List countDepartmentAndStaffNum(ListstaffIds); } 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 347aab28..cf5cf14f 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 @@ -1,15 +1,23 @@ 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.StringUtil; +import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; +import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.performance.req.AssessListReq; import com.lz.modules.performance.req.ChartResultReq; +import com.lz.modules.performance.res.ChartStatistical; import com.lz.modules.performance.res.ChartStatisticalRes; import com.lz.modules.performance.service.ChartResultService; import com.lz.modules.sys.service.app.ResultRecordService; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.ArrayUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; /** * @Author: djc @@ -20,6 +28,8 @@ import java.util.List; public class ChartResultServiceImpl implements ChartResultService { @Autowired private ResultRecordService resultRecordService; + @Autowired + private DepartmentsStaffRelateService departmentsStaffRelateService; @Override public void chartReport(ChartResultReq req) { AssessListReq query = new AssessListReq(); @@ -30,7 +40,31 @@ public class ChartResultServiceImpl implements ChartResultService { } @Override - public void chartDepartment(List staffIds) { - + public List countDepartmentAndStaffNum(List staffIds) { + if(CollectionUtils.isEmpty(staffIds)){ + return Collections.EMPTY_LIST; + } + List data = new ArrayList<>(); + List list = departmentsStaffRelateService.list(new QueryWrapper() + .eq("is_delete", 0) + .in("staff_id", staffIds)); + Map map = Maps.newHashMap(); + for(DepartmentsStaffRelateEntity entity:list){ + String departmentId = entity.getDepartmentId(); + Integer count = map.get(departmentId); + if(null != count){ + map.put(departmentId,count + 1); + }else { + map.put(departmentId,1); + } + } + for(String s:map.keySet()){ + ChartStatistical statistical = new ChartStatistical(); + statistical.setDesc(s); + statistical.setNum(map.get(s)); + data.add(statistical); + } + return data; } + }