fix(selfop): avoid loading routing manifests during idle planning

This commit is contained in:
2026-10-14 17:26:41 +08:00
parent 1112d11c80
commit 814eb11d2f
2 changed files with 16 additions and 2 deletions
@@ -73,7 +73,10 @@ public class SelfopSchedulePlanner {
var last=today.minusDays(local.toLocalTime().isBefore(LocalTime.of(0,5))?2:1);
var first=today.minusMonths(2);
String digest=hash(config.getWarehouses());
var roots=tasks.selectList(new QueryWrapper<SelfopSyncTask>().eq("source_account",config.getSourceAccount())
// Idle planning needs only day identity; routing manifests can contain thousands of orders.
var roots=tasks.selectList(new QueryWrapper<SelfopSyncTask>()
.select("request_key","query_from_utc","query_until_utc","scope_hash","status","query_scope_json")
.eq("source_account",config.getSourceAccount())
.eq("execution_purpose","BUSINESS").eq("task_role","ACCOUNT_DISCOVERY").eq("task_type","BACKFILL")
.eq("discovery_scope_id",account.getId()).isNull("upstream_task_id").isNull("validation_root_task_id")
.ge("query_from_utc",first.atStartOfDay().minusHours(8)).le("query_until_utc",last.plusDays(1).atStartOfDay().minusHours(8)));