Browse Source

我收到的周日报返回增加返回字段

zhangjq 1 year ago
parent
commit
20a25f03ba

+ 17 - 3
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/report/ReportServiceImpl.java

@@ -204,7 +204,7 @@ public class ReportServiceImpl implements ReportService {
         if (CollectionUtil.isEmpty(userReportReceiveList)) {
             return new PageResult<>();
         }
-        List<Long> reportIdList = userReportReceiveList.stream().map(ReportReceiveRespVO::getReportId).collect(Collectors.toList());
+        List<Long> reportIdList = userReportReceiveList.stream().filter(c -> c.getReportId() != null).map(ReportReceiveRespVO::getReportId).distinct().collect(Collectors.toList());
 
         //获取报告分页列表
         LambdaQueryWrapper<ReportDO> queryWrapper = new LambdaQueryWrapper<>();
@@ -212,7 +212,7 @@ public class ReportServiceImpl implements ReportService {
         queryWrapper.eq(ReportDO::getIsTemp, 0);
         queryWrapper.in(ReportDO::getId, reportIdList);
         queryWrapper.eq(StrUtil.isNotBlank(reqVO.getReportType()), ReportDO::getReportType, reqVO.getReportType());
-        queryWrapper.orderByDesc(ReportDO::getFillingDate);
+        queryWrapper.orderByDesc(ReportDO::getCreateTime);
         if (reqVO.getReportYear() != null) {
             if (StrUtil.isNotBlank(reqVO.getReportType())) {
                 if ("daily".equals(reqVO.getReportType())) {
@@ -236,12 +236,26 @@ public class ReportServiceImpl implements ReportService {
         List<ReportRespVO> reportList = reportPageResult.getList();
         List<Long> reportIds = reportList.stream().map(ReportRespVO::getId).collect(Collectors.toList());
         Set<String> userIdList = reportList.stream().map(ReportRespVO::getUserId).collect(Collectors.toSet());
+        //获取所有用户信息
         Map<String, AdminUserRespDTO> userMap = adminUserApi.getAllUserMap();
+        List<AdminUserRespDTO> userInfoList = userMap.values().stream().collect(Collectors.toList());
+
         //工作量
         List<ReportWorkloadRespVO> workloadDetailList = reportWorkloadService.getReportWorkloadByRIds(reportIds, userIdList);
+
+        //报告所有接收人
+        List<ReportReceiveRespVO> reportReceiveList = reportReceiveService.getReportReceiveList(reportIds);
+
         reportList.forEach(report -> {
+            report.setUserNickname(userMap.get(report.getUserId()) == null ? null : userMap.get(report.getUserId()).getNickname());
+
+            //工作量
             report.setWorkload(workloadDetailList.stream().filter(load -> load.getReportId().equals(report.getId())).collect(Collectors.toList()));
-            report.setUserNickname(userMap.get(report.getUserId()).getNickname());
+
+            //接收人信息
+            List<String> receiveIds = reportReceiveList.stream().filter(receive -> receive.getReportId().equals(report.getId())).map(ReportReceiveRespVO::getReceiveUserId).collect(Collectors.toList());
+            report.setReceiveIds(receiveIds);
+            report.setReceiveNames(userInfoList.stream().filter(user -> receiveIds.contains(user.getId())).map(AdminUserRespDTO::getNickname).collect(Collectors.toList()));
         });
         return reportPageResult;
     }