修復錯誤
This commit is contained in:
+26
-18
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DatePattern;
|
|||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.statistical.dto.RequestDTO;
|
import cn.iocoder.yudao.module.farm.controller.admin.statistical.dto.RequestDTO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.statistical.vo.*;
|
import cn.iocoder.yudao.module.farm.controller.admin.statistical.vo.*;
|
||||||
@@ -56,29 +57,36 @@ public class StatisticalController {
|
|||||||
StatisticalVo vo = new StatisticalVo();
|
StatisticalVo vo = new StatisticalVo();
|
||||||
//获取时间内的所有工时记录
|
//获取时间内的所有工时记录
|
||||||
List<WorkHourDO> workList = workHourMapper.selectList(Wrappers.<WorkHourDO>lambdaQuery().ge(WorkHourDO::getCreateTime, time.getStartTime()).le(WorkHourDO::getCreateTime, time.getEndTime()));
|
List<WorkHourDO> workList = workHourMapper.selectList(Wrappers.<WorkHourDO>lambdaQuery().ge(WorkHourDO::getCreateTime, time.getStartTime()).le(WorkHourDO::getCreateTime, time.getEndTime()));
|
||||||
//工时的userId
|
|
||||||
List<Long> workUserIdList = workList.stream().map(WorkHourDO::getUserId).collect(Collectors.toList());
|
|
||||||
//获取工时所有人信息
|
|
||||||
List<CpUserDO> userList = cpUserMapper.selectList(Wrappers.<CpUserDO>lambdaQuery().in(CpUserDO::getId, workUserIdList));
|
|
||||||
|
|
||||||
Map<Long, List<WorkHourDO>> workMap = workList.stream().collect(Collectors.groupingBy(WorkHourDO::getUserId));
|
|
||||||
Iterator<Map.Entry<Long, List<WorkHourDO>>> iterator = workMap.entrySet().iterator();
|
|
||||||
|
|
||||||
//工时统计 条形图
|
//工时统计 条形图
|
||||||
List<WorkMsg> workMsgList = new ArrayList<>();
|
List<WorkMsg> workMsgList = new ArrayList<>();
|
||||||
while (iterator.hasNext()){
|
if (ObjectUtil.isEmpty(workList)){
|
||||||
Entry<Long, List<WorkHourDO>> entry = iterator.next();
|
vo.setWorkMsgList(workMsgList);
|
||||||
Long userId = entry.getKey();
|
}else{
|
||||||
Optional<CpUserDO> userDO = userList.stream().filter(user -> user.getId().equals(userId)).findFirst();
|
//工时的userId
|
||||||
if (userDO.isPresent()){
|
List<Long> workUserIdList = workList.stream().map(WorkHourDO::getUserId).collect(Collectors.toList());
|
||||||
List<WorkHourDO> oneUserWorkList = entry.getValue();
|
//获取工时所有人信息
|
||||||
Integer oneTotalHour = oneUserWorkList.stream().mapToInt(WorkHourDO::getHour).sum();
|
List<CpUserDO> userList = cpUserMapper.selectList(Wrappers.<CpUserDO>lambdaQuery().in(CpUserDO::getId, workUserIdList));
|
||||||
WorkMsg workMsg = WorkMsg.builder().name(userDO.get().getName()).hour(oneTotalHour).build();
|
|
||||||
workMsgList.add(workMsg);
|
Map<Long, List<WorkHourDO>> workMap = workList.stream().collect(Collectors.groupingBy(WorkHourDO::getUserId));
|
||||||
|
Iterator<Map.Entry<Long, List<WorkHourDO>>> iterator = workMap.entrySet().iterator();
|
||||||
|
|
||||||
|
|
||||||
|
while (iterator.hasNext()){
|
||||||
|
Entry<Long, List<WorkHourDO>> entry = iterator.next();
|
||||||
|
Long userId = entry.getKey();
|
||||||
|
Optional<CpUserDO> userDO = userList.stream().filter(user -> user.getId().equals(userId)).findFirst();
|
||||||
|
if (userDO.isPresent()){
|
||||||
|
List<WorkHourDO> oneUserWorkList = entry.getValue();
|
||||||
|
Integer oneTotalHour = oneUserWorkList.stream().mapToInt(WorkHourDO::getHour).sum();
|
||||||
|
WorkMsg workMsg = WorkMsg.builder().name(userDO.get().getName()).hour(oneTotalHour).build();
|
||||||
|
workMsgList.add(workMsg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
workMsgList = workMsgList.stream().sorted(Comparator.comparing(WorkMsg::getHour).reversed()).collect(Collectors.toList());
|
||||||
|
vo.setWorkMsgList(workMsgList);
|
||||||
}
|
}
|
||||||
workMsgList = workMsgList.stream().sorted(Comparator.comparing(WorkMsg::getHour).reversed()).collect(Collectors.toList());
|
|
||||||
vo.setWorkMsgList(workMsgList);
|
|
||||||
|
|
||||||
|
|
||||||
//任务数据
|
//任务数据
|
||||||
|
|||||||
Reference in New Issue
Block a user