Procházet zdrojové kódy

Merge branch 'fu-dev' of uskycloud/usky-modules into server-165

fuyuchuan před 11 měsíci
rodič
revize
adb2729653

+ 34 - 18
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkReportServiceImpl.java

@@ -59,7 +59,8 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
      */
     @Override
     public List<Map<String, List<PmWorkReport>>> weekWork(String startDate, String endDate, Integer reportId) {
-        List<Map<String, List<PmWorkReport>>> returnList2 = new ArrayList<>();
+        List<Map<String, List<PmWorkReport>>> returnList = new ArrayList<>();
+        List<PmWorkReport> report = new ArrayList<>();
         Map<String, List<PmWorkReport>> weekData = new HashMap<>();
         Map<String, List<PmWorkReport>> newData = new HashMap<>();
         LocalDate startDate1 = null;
@@ -79,7 +80,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
         }
         //固定返回七条数据,没有内容也要设置时间给前端渲染
         LambdaQueryWrapper<PmWorkReport> queryWrapperR = Wrappers.lambdaQuery();
-        queryWrapperR.select(PmWorkReport::getId, PmWorkReport::getReportDate, PmWorkReport::getSubmitDate, PmWorkReport::getTomorrowPlan, PmWorkReport::getCoordinateWork, PmWorkReport::getCcTo)
+        queryWrapperR.select(PmWorkReport::getId, PmWorkReport::getReportDate, PmWorkReport::getSubmitDate, PmWorkReport::getUpdateTime, PmWorkReport::getTomorrowPlan, PmWorkReport::getCoordinateWork, PmWorkReport::getCcTo)
                 .eq(PmWorkReport::getSubmitterId, SecurityUtils.getUserId())
                 .between(PmWorkReport::getReportDate, startDate1, endDate1)
                 .orderByAsc(PmWorkReport::getReportDate)
@@ -95,18 +96,19 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
                 reports1.add(report1);
             }
             weekData.put("weekData", reports1);
-            List<PmWorkReport> report = new ArrayList<>();
+            report = new ArrayList<>();
             newData.put("newData", report);
-            returnList2.add(weekData);
-            returnList2.add(newData);
-            return returnList2;
+            returnList.add(0, newData);
+            returnList.add(1, weekData);
+            return returnList;
         }
         List<Integer> ids = new ArrayList<>();
         for (PmWorkReport pwr : reports) {
             ids.add(pwr.getId());
         }
         LambdaQueryWrapper<PmWorkContent> queryWrapperC = Wrappers.lambdaQuery();
-        queryWrapperC.select(PmWorkContent::getId, PmWorkContent::getWorkContent, PmWorkContent::getWorkTime, PmWorkContent::getProjectId, PmWorkContent::getProjectName, PmWorkContent::getReportId)
+        queryWrapperC.select(PmWorkContent::getId, PmWorkContent::getWorkContent, PmWorkContent::getWorkTime, PmWorkContent::getProjectId,
+                PmWorkContent::getProjectName, PmWorkContent::getReportId, PmWorkContent::getCreateTime, PmWorkContent::getUpdateTime)
                 .in(PmWorkContent::getReportId, ids)
                 .orderByDesc(PmWorkContent::getWorkTime);
         List<PmWorkContent> contents = pmWorkContentMapper.selectList(queryWrapperC);
@@ -124,20 +126,20 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
         }
         if (reports.size() == 7 || reportId != 0) {
             weekData.put("weekData", reports);
-            returnList2.add(weekData);
             LambdaQueryWrapper<PmWorkReport> wrapper1 = Wrappers.lambdaQuery();
             wrapper1.eq(PmWorkReport::getSubmitterId, SecurityUtils.getUserId())
                     .orderByDesc(PmWorkReport::getReportDate)
                     .last("LIMIT 1");
-            List<PmWorkReport> report = this.list(wrapper1);
+            report = this.list(wrapper1);
             Integer rId = report.get(0).getId();
             LambdaQueryWrapper<PmWorkContent> wrapperC = Wrappers.lambdaQuery();
             wrapperC.eq(PmWorkContent::getProjectId, rId);
             List<PmWorkContent> pmWorkContents = pmWorkContentMapper.selectList(wrapperC);
             report.get(0).setWorkContents(pmWorkContents);
             newData.put("newData", report);
-            returnList2.add(newData);
-            return returnList2;
+            returnList.set(0, newData);
+            returnList.set(1, weekData);
+            return returnList;
         }
         List<PmWorkReport> reportList = new ArrayList<>();
         for (int d = 0; d < dates.size(); d++) {
@@ -160,19 +162,33 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
         //返回最新的一条数据给前端填充
         LambdaQueryWrapper<PmWorkReport> wrapper2 = Wrappers.lambdaQuery();
         wrapper2.eq(PmWorkReport::getSubmitterId, SecurityUtils.getUserId())
-                .orderByDesc(PmWorkReport::getReportDate)
+                .orderByDesc(PmWorkReport::getSubmitDate)
+                .last("LIMIT 1");
+        List<PmWorkReport> report2 = baseMapper.selectList(wrapper2);
+        LambdaQueryWrapper<PmWorkReport> wrapper3 = Wrappers.lambdaQuery();
+        wrapper2.eq(PmWorkReport::getSubmitterId, SecurityUtils.getUserId())
+                .orderByDesc(PmWorkReport::getUpdateTime)
                 .last("LIMIT 1");
-        List<PmWorkReport> report = baseMapper.selectList(wrapper2);
+        List<PmWorkReport> report3 = baseMapper.selectList(wrapper3);
+        LocalDateTime sbTime = report2.get(0).getSubmitDate();
+        LocalDateTime upTime = report3.get(0).getSubmitDate();
+        int comparisonResult = sbTime.compareTo(upTime);
+        if (comparisonResult < 0) {
+            report = report3;
+        } else if (comparisonResult == 0) {
+            report = report2;
+        } else {
+            report = report2;
+        }
         Integer rId = report.get(0).getId();
         LambdaQueryWrapper<PmWorkContent> wrapperC = Wrappers.lambdaQuery();
         wrapperC.eq(PmWorkContent::getProjectId, rId);
         List<PmWorkContent> pmWorkContents = pmWorkContentMapper.selectList(wrapperC);
         report.get(0).setWorkContents(pmWorkContents);
-        newData.put("newData", report);
         weekData.put("weekData", reportList);
-        List<Map<String, List<PmWorkReport>>> returnList = new ArrayList<>();
-        returnList.add(newData);
-        returnList.add(weekData);
+        newData.put("newData", report);
+        returnList.add(0, newData);
+        returnList.add(1, weekData);
         return returnList;
     }
 
@@ -249,7 +265,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             rp.setId(pmWorkReport.getId());
             rp.setReportDate(pmWorkReport.getReportDate());
             rp.setSubmitterId(pmWorkReport.getSubmitterId());
-            rp.setSubmitDate(LocalDateTime.now());
+            rp.setSubmitDate(pmWorkReport.getSubmitDate());
             rp.setCcTo(pmWorkReport.getCcTo());
             rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
             rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());