diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java index ff9d40c2..6073c35d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java @@ -157,7 +157,7 @@ public class DisTaskingController extends BladeController { @ApiOperationSupport(order = 10) @Operation(summary = "同步任务分派", description = "同步任务分派") public R syncDisTasking() { - return R.status(disTaskingService.syncDisTasking()); + return R.status(disTaskingService.syncDisTasking(true)); } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IDisTaskingService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IDisTaskingService.java index 47e6b44a..cbb7ec64 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IDisTaskingService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IDisTaskingService.java @@ -28,5 +28,5 @@ public interface IDisTaskingService extends BaseService { boolean disTechnician(TaskCompleteDTO taskCompleteDTO); - boolean syncDisTasking(); + boolean syncDisTasking(boolean isAll); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/DisTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/DisTaskingServiceImpl.java index 5d81a9ed..ee5c89aa 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/DisTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/DisTaskingServiceImpl.java @@ -30,6 +30,8 @@ import org.springblade.system.pojo.entity.User; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -143,19 +145,25 @@ public class DisTaskingServiceImpl extends BaseServiceImpl dsTaskingEntities = dsTaskingService.list(Wrappers.lambdaQuery(DsTaskingEntity.class) -// .eq(DsTaskingEntity::getInProduction, "1").ne(DsTaskingEntity::getWipTake, "继续使用") -// .between(DsTaskingEntity::getSyncTime, startTime, endTime)); + public boolean syncDisTasking(boolean isAll) { + List dsTaskingEntities; + if (isAll) { + // 全量同步 + dsTaskingEntities = dsTaskingService.list(Wrappers.lambdaQuery(DsTaskingEntity.class) + .eq(DsTaskingEntity::getInProduction, "1").ne(DsTaskingEntity::getWipTake, "继续使用")); + } else { + // 获取上一个小时的开始结束时间 + Date startTime = Date.from(getLastHourStart().atZone(ZoneId.systemDefault()).toInstant()); + Date endTime = Date.from(getLastHourEnd().atZone(ZoneId.systemDefault()).toInstant()); + // 获取30分钟之前到现在的工艺任务分派数据 + dsTaskingEntities = dsTaskingService.list(Wrappers.lambdaQuery(DsTaskingEntity.class) + .eq(DsTaskingEntity::getInProduction, "1").ne(DsTaskingEntity::getWipTake, "继续使用") + .between(DsTaskingEntity::getSyncTime, startTime, endTime)); + } - List dsTaskingEntities = dsTaskingService.list(Wrappers.lambdaQuery(DsTaskingEntity.class) - .eq(DsTaskingEntity::getInProduction, "1").ne(DsTaskingEntity::getWipTake, "继续使用")); if (CollectionUtils.isEmpty(dsTaskingEntities)) { return false; } @@ -227,4 +235,28 @@ public class DisTaskingServiceImpl extends BaseServiceImpl