Min 1 سال پیش
والد
کامیت
5733399cbe

+ 8 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -9600,11 +9600,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<TimelinessRateVO> list = (List<TimelinessRateVO>) map.get("list");
         String[] s={"人员","工号","部门","总及时率","总及时率(含请假)"};
         List<String> titleString = new ArrayList<>(Arrays.asList(s));
+        Map<String,List<TimelinessRateVO>> listMap=new HashMap<>();
         for (Map<String, Object> objectMap : dataDetailList) {
             List<Map<String,Object>> data = (List<Map<String, Object>>) objectMap.get("data");
             for (Map<String, Object> datum : data) {
                 String week =String.valueOf( datum.get("week"));
                 titleString.add(week+"_"+String.valueOf(datum.get("startDate"))+"-"+ String.valueOf(datum.get("endDate"))+"及时率");
+                HttpRespMsg itemMsg = getUserReportTimelinessRate(request, String.valueOf(datum.get("startDate")), String.valueOf(datum.get("endDate")), null,null, null, null);
+                HashMap itemMap= (HashMap) itemMsg.data;
+                List<TimelinessRateVO> itemList = (List<TimelinessRateVO>) itemMap.get("list");
+                listMap.put( String.valueOf(datum.get("startDate"))+"_"+ String.valueOf(datum.get("endDate")),itemList);
             }
         }
         List<List<String>> dataList=new ArrayList<>();
@@ -9630,11 +9635,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     Optional<User> first = userList.stream().filter(ul ->(ul.getJobNumber()!=null&&ul.getJobNumber().equals(timelinessRateVO.getJobNumber()))||ul.getName().equals(timelinessRateVO.getUserName())).findFirst();
                     String startDate1 =String.valueOf( datum.get("startDate"));
                     String endDate1 =String.valueOf( datum.get("endDate"));
-                    List<TimelinessRateVO> itemList = list.stream().filter(l -> l.getUserId().equals(first.get().getId())).collect(Collectors.toList());
-                    /*HttpRespMsg itemMsg = getUserReportTimelinessRate(request, startDate1, endDate1, null, first.get().getId(), null, null);
-                    HashMap itemMap= (HashMap) itemMsg.data;
-                    List<TimelinessRateVO> itemList = (List<TimelinessRateVO>) itemMap.get("list");*/
-                    for (TimelinessRateVO rateVO : itemList) {
+                    List<TimelinessRateVO> voList = listMap.get(startDate1 + "_" + endDate1);
+                    List<TimelinessRateVO> vos = voList.stream().filter(vo -> vo.getUserId().equals(first.get().getId())).collect(Collectors.toList());
+                    for (TimelinessRateVO rateVO : vos) {
                         item.add(rateVO.getTimelinessRate());
                     }
                 }