检验通过修改订单方法

liweidong
李涛 3 days ago
parent 50e0fc614c
commit 7c98924141
  1. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java
  2. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IDisTaskingService.java
  3. 50
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/DisTaskingServiceImpl.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));
}
}

@ -28,5 +28,5 @@ public interface IDisTaskingService extends BaseService<DisTasking> {
boolean disTechnician(TaskCompleteDTO taskCompleteDTO);
boolean syncDisTasking();
boolean syncDisTasking(boolean isAll);
}

@ -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<DisTaskingMapper, Dis
});
return this.updateBatchById(disTaskings);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean syncDisTasking() {
Date endTime = new Date();
Date startTime = DateUtil.offsetMinute(endTime, -30);
public boolean syncDisTasking(boolean isAll) {
List<DsTaskingEntity> 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分钟之前到现在的工艺任务分派数据
// List<DsTaskingEntity> dsTaskingEntities = dsTaskingService.list(Wrappers.lambdaQuery(DsTaskingEntity.class)
// .eq(DsTaskingEntity::getInProduction, "1").ne(DsTaskingEntity::getWipTake, "继续使用")
// .between(DsTaskingEntity::getSyncTime, startTime, endTime));
dsTaskingEntities = dsTaskingService.list(Wrappers.lambdaQuery(DsTaskingEntity.class)
.eq(DsTaskingEntity::getInProduction, "1").ne(DsTaskingEntity::getWipTake, "继续使用")
.between(DsTaskingEntity::getSyncTime, startTime, endTime));
}
List<DsTaskingEntity> 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<DisTaskingMapper, Dis
}
return saveResult;
}
/**
* 获取上一小时的开始时间
* 当前是 2025-12-29 15:34:22 返回 2025-12-29 14:00:00
*/
private static LocalDateTime getLastHourStart() {
return LocalDateTime.now()
.minusHours(1) // 减1小时
.withMinute(0) // 分归零
.withSecond(0) // 秒归零
.withNano(0); // 纳秒归零
}
/**
* 获取上一小时的结束时间
* 当前是 2025-12-29 15:34:22 返回 2025-12-29 14:59:59.999999999
*/
private static LocalDateTime getLastHourEnd() {
return LocalDateTime.now()
.minusHours(1)
.withMinute(59)
.withSecond(59)
.withNano(999_999_999); // 保留毫秒/纳秒精度
}
}

Loading…
Cancel
Save