فهرست منبع

重复添加逻辑更改

Anne 9 ماه پیش
والد
کامیت
333993d4ca

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

@@ -198,14 +198,6 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
      */
     @Override
     public void addReport(PmWorkReport pmWorkReport) {
-        LambdaQueryWrapper<PmWorkReport> reportWrapper = Wrappers.lambdaQuery();
-        reportWrapper.select(PmWorkReport::getId)
-                .eq(PmWorkReport::getReportDate, pmWorkReport.getReportDate())
-                .last("LIMIT 1");
-        List<PmWorkReport> repeat = this.list(reportWrapper);
-        if (repeat.size() > 0) {
-            throw new BusinessException("改日已存在工作报告,请勿重复提交!");
-        }
         BigDecimal totalWorkTime = BigDecimal.ZERO; //计算总工时
         int size = pmWorkReport.getWorkContents().size();
         for (int p = 0; p < size; p++) {
@@ -226,6 +218,11 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
         } else if (totalWorkTime == null || totalWorkTime.equals(BigDecimal.ZERO) || totalWorkTime.compareTo(BigDecimal.ZERO) < 0) {
             throw new BusinessException("工时不能为空!");
         }
+        LambdaQueryWrapper<PmWorkReport> reportWrapper = Wrappers.lambdaQuery();
+        reportWrapper.select(PmWorkReport::getId)
+                .eq(PmWorkReport::getReportDate, pmWorkReport.getReportDate())
+                .last("LIMIT 1");
+        List<PmWorkReport> repeat = this.list(reportWrapper);
         //判断是否携带reportId,不写带则为新增报告,携带则为编辑(更新)项目
         if (pmWorkReport.getId() == null) {
             PmWorkReport newReport = new PmWorkReport();
@@ -283,12 +280,11 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
                     jsonObject.put("id", id);
                     jsonObject.put("userIds", ids);
                     remoteMceService.addMce(jsonObject.toString());
-                    System.out.println(jsonObject);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
             }
-        } else {
+        } else if (repeat.size() > 0) {
             PmWorkReport rp = new PmWorkReport();
             rp.setId(pmWorkReport.getId());
             rp.setReportDate(pmWorkReport.getReportDate());