فهرست منبع

修复项目概览统计问题

fuyuchuan 7 ماه پیش
والد
کامیت
cee5a8c8d6

+ 9 - 4
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmProjectServiceImpl.java

@@ -30,6 +30,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.IntStream;
 
 /**
  * <p>
@@ -471,7 +472,7 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDate startTime = null;
         LocalDate endTime = null;
-        if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){
+        if (StringUtils.isNotBlank(startDate) || StringUtils.isNotBlank(endDate)){
             try {
                 startTime = LocalDate.parse(startDate, formatter);
                 endTime = LocalDate.parse(endDate, formatter);
@@ -484,9 +485,6 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
             endTime = LocalDate.now().minusDays(29);
         }
 
-            List<String> users = new ArrayList<>();
-            List<BigDecimal> workTime = new ArrayList<>();
-
             LambdaQueryWrapper<PmWorkReport> wrapper2 = Wrappers.lambdaQuery();
             wrapper2.select(PmWorkReport::getId);
             wrapper2.between(PmWorkReport::getReportDate, startTime, endTime);
@@ -528,6 +526,13 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
             totalWorkTime = totalWorkTime.add(userWorkTime);
         }
         workTimeCount.setUsers(users2);
+        if (reportIds.isEmpty()){
+            List<BigDecimal> workTime = IntStream.range(0, users2.size())
+                    .mapToObj(index -> BigDecimal.ZERO)
+                    .collect(Collectors.toList());
+            workTimeCount.setWorkTime(workTime);
+            return workTimeCount;
+        }
         workTimeCount.setWorkTime(workTime1);
 
         return workTimeCount;