Pārlūkot izejas kodu

巡检计划调整

lipenghui 1 mēnesi atpakaļ
vecāks
revīzija
9b9f20f891

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/plan/vo/IotInspectPlanRespVO.java

@@ -59,5 +59,8 @@ public class IotInspectPlanRespVO {
 
     private String chargeName;
 
+    @Schema(description = "开始执行时间")
+    private String beginCreateTime;
+
     private List<String> charges;
 }

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/plan/vo/IotInspectPlanSaveReqVO.java

@@ -5,6 +5,7 @@ import lombok.*;
 
 import javax.validation.constraints.*;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 
 @Schema(description = "管理后台 - 巡检计划新增/修改 Request VO")
@@ -48,4 +49,7 @@ public class IotInspectPlanSaveReqVO {
     private Integer status;
     @Schema(description = "负责人")
     private List<String> charges;
+
+    @Schema(description = "开始执行时间")
+    private LocalDateTime beginCreateTime;
 }

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/inspect/IotInspectPlanDO.java

@@ -66,4 +66,8 @@ public class IotInspectPlanDO extends BaseDO {
     private Integer status;
 
     private LocalDateTime lastCreateTime;
+    /**
+     * 开始执行时间
+     */
+    private LocalDateTime beginCreateTime;
 }

+ 11 - 7
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/InspectCreateOrderJob.java

@@ -16,9 +16,11 @@ import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @Component
 @Slf4j
@@ -38,12 +40,15 @@ public class InspectCreateOrderJob implements JobHandler {
             TenantUtils.execute(1L, () -> {
                 List<IotInspectPlanDO> plans = iotInspectPlanMapper.selectList();
                 plans.stream().filter(e -> e.getStatus()==0).forEach(plan -> {
-                    if (plan.getLastCreateTime()==null) {
-                        Date date = Date.from(
-                                plan.getCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
-                                        .toInstant()                    // 转为 Instant(时间戳)
-                        );
-                        deal(plan, date);
+                    if (plan.getLastCreateTime()==null&& Objects.nonNull(plan.getBeginCreateTime())) {
+                        //当首次执行时间大于当前时间
+                        if (plan.getBeginCreateTime().isAfter(LocalDateTime.now())) {
+                            Date date = Date.from(
+                                    plan.getCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
+                                            .toInstant()                    // 转为 Instant(时间戳)
+                            );
+                            deal(plan, date);
+                        }
                     } else {
                         Date lastdate = Date.from(
                                 plan.getLastCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
@@ -78,5 +83,4 @@ public class InspectCreateOrderJob implements JobHandler {
             }
         }
     }
-
 }