ouyangxq
|
70bbdd5b7b
|
fix(auth): decouple managed login phones from company contacts
|
2026-09-02 10:11:11 +08:00 |
|
ouyangxq
|
da56f261cd
|
优化
|
2026-09-02 10:05:56 +08:00 |
|
ouyangxq
|
8a66af81b1
|
优化
|
2026-09-02 10:04:54 +08:00 |
|
ouyangxq
|
e83dff6ac7
|
优化
|
2026-09-02 10:04:18 +08:00 |
|
ouyangxq
|
b85e021cbe
|
test(order): cover declaration field clearing
|
2026-09-01 21:11:37 +08:00 |
|
ouyangxq
|
e82cefe493
|
优化
|
2026-09-01 21:09:33 +08:00 |
|
ouyangxq
|
47723c7c0f
|
feat(file): register domestic order exports
|
2026-09-01 21:03:57 +08:00 |
|
ouyangxq
|
b9cb5555e2
|
fix(firstleg): isolate declarations from measurement facts
|
2026-09-01 20:59:30 +08:00 |
|
ouyangxq
|
858061452c
|
feat(order): formalize domestic order export contract
|
2026-09-01 20:48:44 +08:00 |
|
ouyangxq
|
94c67b5c51
|
优化
|
2026-09-01 20:41:22 +08:00 |
|
ouyangxq
|
8e17401f37
|
优化
|
2026-09-01 20:07:38 +08:00 |
|
ouyangxq
|
539030d2b6
|
fix(file): return controlled missing package errors
|
2026-09-01 20:01:14 +08:00 |
|
ouyangxq
|
b4e496e9cb
|
fix(file): support optional legal ID and order import files
|
2026-09-01 19:52:42 +08:00 |
|
ouyangxq
|
2ec8fcb886
|
fix(order): route customer addresses through gateway
|
2026-09-01 19:32:01 +08:00 |
|
ouyangxq
|
405d6b94d7
|
fix(auth): reject placeholder mobile numbers
|
2026-09-01 19:27:46 +08:00 |
|
ouyangxq
|
caffcb90a9
|
feat(order): add customer order foundations
|
2026-09-01 19:17:43 +08:00 |
|
ouyangxq
|
222c3790dc
|
feat(auth): support username or phone login
|
2026-09-01 19:15:32 +08:00 |
|
ouyangxq
|
0ba3df2fce
|
test(firstleg): cover booking-level truck lifecycle
|
2026-09-01 16:36:41 +08:00 |
|
ouyangxq
|
9098d8dfdf
|
test(firstleg): decouple PDA completion from truck
|
2026-09-01 16:33:57 +08:00 |
|
ouyangxq
|
eb385fe906
|
test(firstleg): align outbound truck lookup contract
|
2026-09-01 16:24:10 +08:00 |
|
ouyangxq
|
ecc83ed64a
|
fix(firstleg): scope truck appointments by booking
|
2026-09-01 16:21:27 +08:00 |
|
ouyangxq
|
ca8127ce83
|
test(firstleg): formalize late container gate acceptance
|
2026-09-01 15:53:12 +08:00 |
|
ouyangxq
|
aa828ca1eb
|
优化
|
2026-09-01 15:43:19 +08:00 |
|
ouyangxq
|
df1ffbc6bc
|
fix(firstleg): filter truck booking candidates
|
2026-09-01 15:41:36 +08:00 |
|
ouyangxq
|
8b2a964bfb
|
fix(firstleg): allow late initial container fill
|
2026-09-01 15:38:33 +08:00 |
|
ouyangxq
|
07ffd8ddce
|
fix(firstleg): finalize late container gate
|
2026-09-01 15:27:34 +08:00 |
|
ouyangxq
|
d1225845ec
|
优化
|
2026-09-01 15:25:15 +08:00 |
|
ouyangxq
|
4d7ea28a61
|
feat(firstleg): capture container number at pickup
|
2026-09-01 15:18:18 +08:00 |
|
ouyangxq
|
1e8f504f15
|
fix(firstleg): allow booking link before container pickup
|
2026-09-01 15:06:03 +08:00 |
|
ouyangxq
|
a10e32a012
|
test(firstleg): finish task evidence migration
|
2026-09-01 14:48:51 +08:00 |
|
ouyangxq
|
76d2da5bf9
|
test(firstleg): use task-scoped loading evidence
|
2026-09-01 14:46:48 +08:00 |
|
ouyangxq
|
f0ac0c42c9
|
test(firstleg): use valid PDF truck fixtures
|
2026-09-01 14:44:30 +08:00 |
|
ouyangxq
|
105660bd09
|
test(firstleg): scope loading evidence by cabinet
|
2026-09-01 14:37:02 +08:00 |
|
ouyangxq
|
2ccfc38cdf
|
test(firstleg): seed booking file before loading release
|
2026-09-01 14:31:01 +08:00 |
|
ouyangxq
|
d2092bf0b6
|
优化
|
2026-09-01 14:27:04 +08:00 |
|
ouyangxq
|
9e32efdd90
|
test(firstleg): harden measurement demo package
|
2026-09-01 12:03:21 +08:00 |
|
ouyangxq
|
6eaf484fcd
|
test(firstleg): package carrier node demo checks
|
2026-09-01 12:02:57 +08:00 |
|
ouyangxq
|
53078b4281
|
test(firstleg): extend shipment demo regression
|
2026-09-01 12:02:47 +08:00 |
|
ouyangxq
|
49d216cc13
|
test(order): harden demo order lifecycle fixture
|
2026-09-01 12:02:35 +08:00 |
|
ouyangxq
|
9a3b408de0
|
优化
|
2026-09-01 11:38:42 +08:00 |
|
ouyangxq
|
68b584128c
|
fix(firstleg): surface existing truck appointment
|
2026-09-01 11:30:35 +08:00 |
|
ouyangxq
|
b5bc77b153
|
fix(firstleg): atomically finalize PDA completion
|
2026-09-01 11:11:43 +08:00 |
|
ouyangxq
|
de0eddeee8
|
修复尾程货主快照与短单号合同
|
2026-09-01 11:06:26 +08:00 |
|
ouyangxq
|
4991536065
|
test(firstleg): harden pallet option page contract
|
2026-09-01 11:03:40 +08:00 |
|
ouyangxq
|
7ace1ded56
|
优化
|
2026-09-01 11:02:10 +08:00 |
|
ouyangxq
|
5af79df4bd
|
test(firstleg): align trucking attachment regressions
|
2026-09-01 11:01:34 +08:00 |
|
ouyangxq
|
6eb53751a3
|
test(pda): keep overseas acceptance business-scoped
|
2026-09-01 11:01:20 +08:00 |
|
ouyangxq
|
09e81b429c
|
test(firstleg): align fulfillment matrix with container customs
|
2026-09-01 10:48:33 +08:00 |
|
ouyangxq
|
179a20fc38
|
refactor(firstleg): keep trucking payable only
|
2026-09-01 10:38:15 +08:00 |
|
ouyangxq
|
6a0f51f136
|
优化
|
2026-09-01 10:29:14 +08:00 |
|
ouyangxq
|
7d9eaa7f43
|
test(firstleg): verify trucking detail after dispatch
|
2026-09-01 10:26:22 +08:00 |
|
ouyangxq
|
bfc2a4dbd4
|
test(firstleg): scope trucking warehouse lookup
|
2026-09-01 10:22:15 +08:00 |
|
ouyangxq
|
0613d1095e
|
test(firstleg): resolve trucking fixtures from active catalogs
|
2026-09-01 10:21:37 +08:00 |
|
ouyangxq
|
3d7990250f
|
fix(finance): align operating fund export labels
|
2026-09-01 10:19:35 +08:00 |
|
ouyangxq
|
2c3efad70a
|
test: bound A0 location isolation writes
|
2026-09-01 10:18:19 +08:00 |
|
ouyangxq
|
cdcf3e0f4f
|
test(firstleg): parse platform warehouse scope explicitly
|
2026-09-01 10:17:41 +08:00 |
|
ouyangxq
|
3d6216910f
|
test(finance): align full acceptance with current workflows
|
2026-09-01 10:17:03 +08:00 |
|
ouyangxq
|
505188c3fd
|
test(firstleg): make trucking acceptance self-contained
|
2026-09-01 10:16:07 +08:00 |
|
ouyangxq
|
477971dda1
|
优化
|
2026-09-01 10:00:13 +08:00 |
|
ouyangxq
|
249b182e7f
|
refactor(firstleg): remove customer scope from trucking
|
2026-09-01 09:51:59 +08:00 |
|
ouyangxq
|
936412f351
|
test(file-print): extend booking document regression
|
2026-08-31 20:56:52 +08:00 |
|
ouyangxq
|
0cc4eae209
|
feat(firstleg): enforce booking-owned truck workflow
|
2026-08-31 19:55:58 +08:00 |
|
ouyangxq
|
f2a980e5c1
|
fix(file): allow arbitrary ocean booking documents
|
2026-08-31 19:54:05 +08:00 |
|
ouyangxq
|
47ce84d122
|
feat(file-print): support ocean booking documents
|
2026-08-31 19:30:37 +08:00 |
|
ouyangxq
|
01385c4bc7
|
优化
|
2026-08-31 18:55:03 +08:00 |
|
ouyangxq
|
9b09663b2e
|
fix(firstleg): allow corrective evidence after completion failure
|
2026-08-31 18:42:08 +08:00 |
|
ouyangxq
|
838bd93bc4
|
test(firstleg): align cabinet evidence SQL contracts
|
2026-08-31 18:31:39 +08:00 |
|
ouyangxq
|
60d45613c7
|
fix(firstleg): import multipart request annotation
|
2026-08-31 18:24:58 +08:00 |
|
ouyangxq
|
4ddfc6fb99
|
chore(firstleg): remove legacy inbound evidence schema
|
2026-08-31 18:19:25 +08:00 |
|
ouyangxq
|
df0fbc1c7f
|
fix(firstleg): scope loading evidence to cabinet tasks
|
2026-08-31 18:14:36 +08:00 |
|
ouyangxq
|
4795ab958c
|
fix(file): require Firstleg for PDA evidence access
|
2026-08-31 17:42:19 +08:00 |
|
ouyangxq
|
1288c8937c
|
fix(file): bind loading evidence to cabinet
|
2026-08-31 17:33:11 +08:00 |
|
ouyangxq
|
ba8e3595e4
|
fix(firstleg): explain coload group eligibility
|
2026-08-31 15:40:24 +08:00 |
|
ouyangxq
|
17d81b0b94
|
feat(order): expose unified order channel code
|
2026-08-31 15:38:18 +08:00 |
|
ouyangxq
|
c9792b1f63
|
fix(firstleg): resolve loading list lifecycle by plan
|
2026-08-31 15:26:47 +08:00 |
|
ouyangxq
|
0122ad314b
|
feat(firstleg): expose smart-loading channel directory
|
2026-08-31 14:54:00 +08:00 |
|
ouyangxq
|
ea615b864a
|
fix(firstleg): cancel coload groups by inbound code
|
2026-08-31 14:53:44 +08:00 |
|
ouyangxq
|
314ce09b5d
|
fix(firstleg): load container overview transport history
|
2026-08-31 12:39:24 +08:00 |
|
ouyangxq
|
942dbace19
|
feat: enforce canonical container identity across regions
|
2026-08-31 12:13:20 +08:00 |
|
ouyangxq
|
b386f35ab4
|
优化
|
2026-08-31 10:31:51 +08:00 |
|
ouyangxq
|
d6f47e650c
|
优化
|
2026-08-31 10:19:48 +08:00 |
|
ouyangxq
|
bef91151a3
|
优化
|
2026-08-31 10:17:42 +08:00 |
|
ouyangxq
|
bf1dc1f209
|
优化
|
2026-08-31 10:17:03 +08:00 |
|
ouyangxq
|
aa583efa4a
|
优化
|
2026-08-31 10:09:14 +08:00 |
|
ouyangxq
|
ff6a8498a6
|
fix(lastleg): resolve actual overseas receiving warehouse
|
2026-08-30 18:07:38 +08:00 |
|
ouyangxq
|
ca9e7b60e8
|
优化
|
2026-08-30 17:02:19 +08:00 |
|
ouyangxq
|
0aa77327d5
|
test(firstleg): stabilize coload smart and short-pick checks
|
2026-08-30 16:14:07 +08:00 |
|
ouyangxq
|
5c83b81e8a
|
test(firstleg): harden coload capacity acceptance
|
2026-08-30 16:07:12 +08:00 |
|
ouyangxq
|
c9ee319e9d
|
fix(firstleg): refresh recommendation capacity
|
2026-08-30 16:06:20 +08:00 |
|
ouyangxq
|
4581c8a294
|
test(firstleg): assert atomic smart coload recommendation
|
2026-08-30 15:58:14 +08:00 |
|
ouyangxq
|
9a15e78b2e
|
test(firstleg): extend coload group acceptance
|
2026-08-30 15:55:48 +08:00 |
|
ouyangxq
|
bfcb80b326
|
fix(firstleg): align coload group eligibility
|
2026-08-29 12:44:42 +08:00 |
|
ouyangxq
|
0cf76df168
|
fix(firstleg): align coload loading route gates
|
2026-08-29 12:36:07 +08:00 |
|
ouyangxq
|
ba641754de
|
test(firstleg): document coload PDA acceptance
|
2026-08-29 11:59:53 +08:00 |
|
ouyangxq
|
81ef43c9fd
|
优化
|
2026-08-29 11:59:11 +08:00 |
|
ouyangxq
|
0605c32829
|
fix(firstleg): persist pricing conversion metadata
|
2026-08-29 11:48:19 +08:00 |
|
ouyangxq
|
66816d5341
|
优化
|
2026-08-29 11:42:52 +08:00 |
|
ouyangxq
|
de101621dd
|
fix(firstleg): align merchant billing with sent fees
|
2026-08-29 11:13:35 +08:00 |
|
ouyangxq
|
b4db37392d
|
fix(firstleg): complete coload SQL comments
|
2026-08-29 11:13:10 +08:00 |
|
ouyangxq
|
b1ab909184
|
优化
|
2026-08-29 11:10:28 +08:00 |
|