ouyangxq
|
c545a77190
|
test(firstleg): keep sailing copy dates in the future
|
2026-10-12 11:48:49 +08:00 |
|
ouyangxq
|
3cb4a5676a
|
fix(firstleg): use a single cabinet business number
|
2026-10-12 11:44:58 +08:00 |
|
ouyangxq
|
4b5b639adc
|
feat(appointments): expose authoritative arrival forecast observations
|
2026-10-10 14:10:17 +08:00 |
|
ouyangxq
|
46ae8ab1c6
|
feat(appointments): expose bounded terminal pickup calendar
|
2026-10-10 11:43:47 +08:00 |
|
ouyangxq
|
1202cafadf
|
feat(firstleg): count actionable customer customs cabinets
|
2026-10-09 18:14:17 +08:00 |
|
ouyangxq
|
261cdc87cb
|
优化
|
2026-10-09 17:36:24 +08:00 |
|
ouyangxq
|
e94271706c
|
feat: support shared FBA appointments and arrival calendar
|
2026-10-09 11:01:39 +08:00 |
|
ouyangxq
|
c1ddb658bd
|
优化
|
2026-10-08 17:07:57 +08:00 |
|
ouyangxq
|
7ff6512864
|
test(deploy): verify unified TEST and gray environment contracts
|
2026-10-07 11:17:28 +08:00 |
|
ouyangxq
|
4bde1a8352
|
fix(firstleg): avoid shared lock upgrades when initializing customs
|
2026-10-05 17:03:01 +08:00 |
|
ouyangxq
|
261c720c77
|
fix(firstleg): read concurrent customs initialization with current row lock
|
2026-10-05 16:35:22 +08:00 |
|
ouyangxq
|
090f57bfb1
|
fix(firstleg): stop retrying deterministic completion preflight conflicts
|
2026-10-05 16:05:06 +08:00 |
|
ouyangxq
|
49ac9222b5
|
fix(shipping): replay immutable carrier facts without updates
|
2026-10-05 02:32:06 +08:00 |
|
ouyangxq
|
b000b056d1
|
feat(orders): expose customer-owned loaded transport facts
|
2026-10-05 01:06:11 +08:00 |
|
ouyangxq
|
ea9732749a
|
fix(firstleg): finish only actual picked cargo owners
|
2026-10-04 20:45:01 +08:00 |
|
ouyangxq
|
7319fba35a
|
fix(firstleg): settle and validate actual partial loading cargo
|
2026-10-04 19:01:40 +08:00 |
|
ouyangxq
|
22133fe604
|
fix(firstleg): project completed loading lists from actual picked cargo
|
2026-10-04 18:04:21 +08:00 |
|
ouyangxq
|
1f7ddf7bc9
|
fix(delivery): expose signed quantity and publish correct signature instant
|
2026-10-03 23:09:24 +08:00 |
|
ouyangxq
|
499354ffd2
|
test(firstleg): align initialization table count with current baseline
|
2026-10-03 18:43:25 +08:00 |
|
ouyangxq
|
780d37e1d2
|
fix(order): paginate merchant workbench with scoped queue counts
|
2026-10-03 14:57:51 +08:00 |
|
ouyangxq
|
65c12eaf5e
|
fix: expose the selected container schedule for editing
|
2026-10-03 11:09:52 +08:00 |
|
ouyangxq
|
4cd51a4955
|
fix(firstleg): compare stable carrier facts separately from response audit hashes
|
2026-10-03 00:39:57 +08:00 |
|
ouyangxq
|
d0df738bba
|
fix(firstleg): keep loading evidence replacement transactional
|
2026-10-02 19:50:47 +08:00 |
|
ouyangxq
|
f532e5ee7e
|
fix(orders): filter tax mode before unified order pagination
|
2026-10-02 14:44:51 +08:00 |
|
ouyangxq
|
2d73ce9f37
|
fix(firstleg): preserve confirmed loading history in departure gates
|
2026-10-02 13:36:39 +08:00 |
|
ouyangxq
|
0b34f99be5
|
fix(firstleg): validate public port schedule queries with zero scope
|
2026-10-02 11:16:15 +08:00 |
|
ouyangxq
|
a291bd6d45
|
fix(firstleg): permit platform public port schedule scope
|
2026-09-30 18:18:57 +08:00 |
|
ouyangxq
|
8a957790fc
|
test(firstleg): cover public schedule dispatch fallback
|
2026-09-30 17:58:36 +08:00 |
|
ouyangxq
|
8d9d38ed4c
|
fix(firstleg): allow public sailing schedule dispatch fallback
|
2026-09-30 17:53:12 +08:00 |
|
ouyangxq
|
36a74eb58e
|
fix(firstleg): support platform scope port schedules
|
2026-09-30 17:41:16 +08:00 |
|
ouyangxq
|
32fb9ec7b3
|
优化
|
2026-09-30 17:13:11 +08:00 |
|
ouyangxq
|
94881d23fd
|
test(firstleg): verify ship exception persistence and rollback
|
2026-09-30 16:35:05 +08:00 |
|
ouyangxq
|
1a7e4800f5
|
fix(firstleg): derive remainder pallet labels from frozen allocation facts
|
2026-09-30 15:28:50 +08:00 |
|
ouyangxq
|
13028d8a5a
|
fix(order): complete root fulfillment only after effective remainders
|
2026-09-30 13:49:40 +08:00 |
|
ouyangxq
|
eae630e60d
|
fix(shipping): allow platform scope tracking resources
|
2026-09-30 13:03:33 +08:00 |
|
ouyangxq
|
125ca34ba4
|
fix(outbound): atomically confirm platform mixed-container dispatch and tracking
|
2026-09-30 12:37:00 +08:00 |
|
ouyangxq
|
c7f880300c
|
fix(customs): keep declaration pending while exceptions remain
|
2026-09-30 11:48:14 +08:00 |
|
ouyangxq
|
e5832d5c67
|
fix(firstleg): refresh inbound picking progress after task completion
|
2026-09-30 11:03:47 +08:00 |
|
ouyangxq
|
6c0a026cc4
|
完成单机TEST统一入口与可靠投递回归收尾
|
2026-09-29 19:48:34 +08:00 |
|
ouyangxq
|
c2927ab9a6
|
优化
|
2026-09-29 18:47:37 +08:00 |
|
ouyangxq
|
2c60a29e0f
|
优化
|
2026-09-29 18:06:18 +08:00 |
|
ouyangxq
|
54ad26c607
|
优化
|
2026-09-29 17:55:54 +08:00 |
|
ouyangxq
|
875d2497f4
|
docs(firstleg): document price book channel query
|
2026-09-29 04:27:52 +01:00 |
|
ouyangxq
|
ed36c43af4
|
fix(firstleg): source sailing channels from active price book
|
2026-09-29 04:17:44 +01:00 |
|
ouyangxq
|
6a3b6e22e6
|
优化
|
2026-09-28 17:17:28 +08:00 |
|
ouyangxq
|
7a4486b1bc
|
test(db): align customs baseline and relabel contracts
|
2026-09-28 15:06:01 +08:00 |
|
ouyangxq
|
736e94c808
|
fix(firstleg): allow optional sailing booking details
|
2026-09-28 14:46:19 +08:00 |
|
ouyangxq
|
e63cb2b29e
|
fix(customs): add broker submission and receipt action history
|
2026-09-28 13:21:37 +08:00 |
|
ouyangxq
|
ab64699245
|
fix(firstleg): preserve sailing edit metadata
|
2026-09-28 12:32:22 +08:00 |
|
ouyangxq
|
f6e70ea5d0
|
feat(firstleg): expose customs receipt history
|
2026-09-28 09:49:53 +08:00 |
|