Procházet zdrojové kódy

修复日志重复同步钉钉;修复沈礼文报告详情无数据问题;优化代码

fuyuchuan před 5 měsíci
rodič
revize
908d1b2bd5

+ 3 - 3
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmWorkContentController.java

@@ -88,7 +88,7 @@ public class PmWorkContentController {
      * @return
      */
     @GetMapping("/page")
-    public ApiResult<CommonPage<PmWorkReport>> page(@RequestParam(value = "projectAscription", required = false, defaultValue = "2") Integer projectAscription,
+    public ApiResult<CommonPage<PmWorkReport>> page(@RequestParam(value = "projectAscription", required = false) Integer projectAscription,
                                                     @RequestParam(value = "pageNum") Integer pageNum,
                                                     @RequestParam(value = "pageSize") Integer pageSize,
                                                     @RequestParam(value = "reportId", required = false) Integer reportId,
@@ -108,8 +108,8 @@ public class PmWorkContentController {
      */
     @GetMapping("/slide")
     public ApiResult<PmWorkReportSlideVO> slide(@RequestParam(value = "upOrDown", required = false) Integer upOrDown,
-                                                      @RequestParam(value = "slideSum", required = false) Integer slideSum,
-                                                      @RequestParam(value = "submitDate", required = true) LocalDateTime submitDate){
+                                                @RequestParam(value = "slideSum", required = false) Integer slideSum,
+                                                @RequestParam(value = "submitDate", required = true) LocalDateTime submitDate){
         return ApiResult.success(pmWorkContentService.slide(upOrDown, slideSum, submitDate));
     }
 

+ 5 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkContentServiceImpl.java

@@ -116,7 +116,10 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         Long userId = SecurityUtils.getUserId();
         Integer tenantId = SecurityUtils.getTenantId();
         LambdaQueryWrapper<PmWorkReport> reportQuery = Wrappers.lambdaQuery();
-        reportQuery.select(PmWorkReport::getId).eq(PmWorkReport::getTenantId, tenantId).apply("FIND_IN_SET(" + userId + ", cc_to) > 0").orderByDesc(PmWorkReport::getReportDate);
+        reportQuery.select(PmWorkReport::getId)
+                .eq(PmWorkReport::getTenantId, tenantId)
+                .apply("FIND_IN_SET(" + userId + ", cc_to) > 0")
+                .orderByDesc(PmWorkReport::getReportDate);
         return pmWorkReportMapper.selectList(reportQuery).stream().map(PmWorkReport::getId).collect(Collectors.toList());
     }
 
@@ -529,7 +532,7 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         }
 
         LambdaQueryWrapper<PmWorkContent> contentLambdaQuery = Wrappers.lambdaQuery();
-        if (reportId != null && reportId >= 0) {
+        if (reportId != null && reportId > 0) {
             contentLambdaQuery.eq(PmWorkContent::getReportId, reportId);
             pmWorkContentList = pmWorkContentMapper.selectList(contentLambdaQuery);
             if (pmWorkContentList.isEmpty()) {

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

@@ -212,6 +212,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
         LocalDateTime currentTimePlusMinutes = dateTime.plusMinutes(5);
         String ccTo = pmWorkReport.getCcTo();
         Integer rid = pmWorkReport.getId();
+        List<PmWorkContent> contents = pmWorkReport.getWorkContents();
 
         List<PmWorkContent> workContents = pmWorkReport.getWorkContents();
         if (workContents == null) {
@@ -252,7 +253,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             throw new BusinessException("一天24小时都不够你用,请检查当日总工时!");
         }
 
-        // 判断是否携带reportId,不写带则为新增报告,携带则为编辑(更新)项目
+        // 判断是否携带reportId,不写带则为新增报告,携带则为编辑(更新)报告
         if (rid == null) {
             PmWorkReport newReport = new PmWorkReport();
             newReport.setReportDate(pmWorkReport.getReportDate());
@@ -336,6 +337,12 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             }
         } else {
             PmWorkReport rp = new PmWorkReport();
+            LambdaQueryWrapper<PmWorkContent> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.select(PmWorkContent::getReportId, PmWorkContent::getSubmitterId, PmWorkContent::getCreateBy, PmWorkContent::getCreateTime, PmWorkContent::getDeptId, PmWorkContent::getTenantId)
+                    .eq(PmWorkContent::getReportId, rid)
+                    .last("LIMIT 1");
+            PmWorkContent f = pmWorkContentMapper.selectOne(queryWrapper);
+
             if (pmWorkReport.getReportStatus().equals(0)) {
                 if (timingTime == null) {
                     rp.setTimingTime(timingTime);
@@ -344,65 +351,58 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
                 } else {
                     throw new BusinessException("定时发送支持选中5分钟后的时间,请重新选择时间!");
                 }
-            }
-            rp.setId(rid);
-            // rp.setReportDate(pmWorkReport.getReportDate());
-            rp.setSubmitterId(pmWorkReport.getSubmitterId());
-            // rp.setSubmitDate(pmWorkReport.getSubmitDate());
-            if (pmWorkReport.getReportStatus().equals(0)) {
+                rp.setId(rid);
+                rp.setSubmitterId(pmWorkReport.getSubmitterId());
                 rp.setCcTo(ccTo);
-            }
-            rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
-            rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());
-            rp.setCreateBy(pmWorkReport.getCreateBy());
-            // rp.setCreateTime(pmWorkReport.getCreateTime());
-            // rp.setDeptId(pmWorkReport.getDeptId());
-            // rp.setTenantId(pmWorkReport.getTenantId());
-            rp.setUpdateBy(userName);
-            rp.setUpdateTime(dateTime);
-            rp.setTotalHours(totalWorkTime);
-            rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
-            rp.setReportFile(pmWorkReport.getReportFile());
-            rp.setReportImage(pmWorkReport.getReportImage());
-            rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
-            pmWorkReportMapper.updateById(rp);
+                rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
+                rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());
+                rp.setCreateBy(pmWorkReport.getCreateBy());
+                rp.setUpdateBy(userName);
+                rp.setUpdateTime(dateTime);
+                rp.setTotalHours(totalWorkTime);
+                rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
+                rp.setReportFile(pmWorkReport.getReportFile());
+                rp.setReportImage(pmWorkReport.getReportImage());
+                rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
+                pmWorkReportMapper.updateById(rp);
 
-            LambdaQueryWrapper<PmWorkContent> queryWrapper = Wrappers.lambdaQuery();
-            queryWrapper.select(PmWorkContent::getReportId, PmWorkContent::getSubmitterId, PmWorkContent::getCreateBy, PmWorkContent::getCreateTime, PmWorkContent::getDeptId, PmWorkContent::getTenantId)
-                    .eq(PmWorkContent::getReportId, rid)
-                    .last("LIMIT 1");
-            PmWorkContent f = pmWorkContentMapper.selectOne(queryWrapper);
-            pmWorkContentService.deleteContent(rid);
-            List<PmWorkContent> contents = pmWorkReport.getWorkContents();
-            List<PmWorkContent> contentsList = new ArrayList<>();
-            for (PmWorkContent e : contents) {
-                e.setReportId(f.getReportId());
-                e.setUpdateBy(userName);
-                e.setUpdateTime(dateTime);
-                e.setSubmitterId(f.getSubmitterId());
-                e.setCreateTime(f.getCreateTime());
-                e.setCreateBy(f.getCreateBy());
-                e.setDeptId(f.getDeptId());
-                e.setTenantId(f.getTenantId());
-                pmWorkContentMapper.insert(e);
-                contentsList.add(e);
-            }
-            if (pmWorkReport.getIsRegularlySend().equals(0)) {
-                rp.setTimingTime(null);
-                if (rp.getReportStatus() == null) {
-                    dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
+                if (pmWorkReport.getIsRegularlySend().equals(0)) {
+                    if (pmWorkReport.getSendDingTalk().equals(1)) {
+                        dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
+                    }
+                    rp.setReportStatus(1);
+                    pmWorkReportMapper.updateById(rp);
+                    if (StringUtils.isNotBlank(ccTo)) {
+                        dingTalkAndMessage.sendAsyncMessage(rp);
+                        receiveMessages(ccTo, rid);
+                    }
                 }
-                rp.setReportStatus(1);
+            } else {
+                rp.setId(rid);
+                rp.setCcTo(ccTo);
+                rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
+                rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());
+                rp.setUpdateBy(userName);
+                rp.setUpdateTime(dateTime);
+                rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
+                rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
                 pmWorkReportMapper.updateById(rp);
-                if (StringUtils.isNotBlank(ccTo)) {
-                    dingTalkAndMessage.sendAsyncMessage(rp);
-                    receiveMessages(ccTo, rid);
-                }
-                if (pmWorkReport.getSendDingTalk().equals(1)) {
-                    dingTalkAndMessage.sendDingTalkDailyReport(rp, contentsList);
+
+                pmWorkContentService.deleteContent(rid);
+                List<PmWorkContent> contentsList = new ArrayList<>();
+                for (PmWorkContent e : contents) {
+                    e.setReportId(f.getReportId());
+                    e.setUpdateBy(userName);
+                    e.setUpdateTime(dateTime);
+                    e.setSubmitterId(f.getSubmitterId());
+                    e.setCreateTime(f.getCreateTime());
+                    e.setCreateBy(f.getCreateBy());
+                    e.setDeptId(f.getDeptId());
+                    e.setTenantId(f.getTenantId());
+                    pmWorkContentMapper.insert(e);
+                    contentsList.add(e);
                 }
             }
-
         }
     }