定时任务逻辑修改

master
litao 1 year ago
parent b70d488e04
commit 22b111c8e0
  1. 6
      src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java
  2. 5
      src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenancePlan.java
  3. 7
      src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java

@ -22,6 +22,8 @@ import org.springblade.modules.business.service.IMaintenancePlanService;
import org.springblade.modules.system.pojo.entity.User;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
/**
* 维保控制器
*
@ -89,9 +91,9 @@ public class MaintenanceController extends BladeController {
@PostMapping("/task-create")
@Operation(summary = "定时任务-根据维保计划生成维保任务", description = "定时任务-根据维保计划生成维保任务")
public R taskCreate() {
LocalDate now = LocalDate.now();
// 注意要查询上一次巡检计划中发现但未维修的
User user = UserCache.getUser(AuthUtil.getUserId());
return R.success("");
return R.status(maintenancePlanService.createTask(now));
}
@GetMapping("/task-detail")

@ -33,6 +33,11 @@ public class MaintenancePlan extends BaseEntity {
*/
private Long deptId;
/**
* 单位名称
*/
private String deptName;
/**
* 项目名称
*/

@ -108,7 +108,6 @@ public class MaintenancePlanServiceImpl extends BaseServiceImpl<MaintenancePlanM
@Override
public boolean createTask(LocalDate date) {
LocalDate.now();
// 获取所有已开启的巡检计划
List<MaintenancePlan> plans = this.list(Wrappers.lambdaQuery(MaintenancePlan.class).eq(MaintenancePlan::getIsOpen, 1));
List<Long> ids = plans.stream().map(MaintenancePlan::getId).collect(Collectors.toList());
@ -132,11 +131,11 @@ public class MaintenancePlanServiceImpl extends BaseServiceImpl<MaintenancePlanM
Integer period = detail.getPeriod();
// 计算下次开始时间
if (period == 1) {
localDate.minusMonths(-1);
localDate = localDate.minusMonths(-1);
} else if (period == 2) {
localDate.minusMonths(-3);
localDate = localDate.minusMonths(-3);
} else if (period == 3) {
localDate.minusMonths(-6);
localDate = localDate.minusMonths(-6);
}
Date nextDate = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
detail.setNextStartTime(nextDate);

Loading…
Cancel
Save