zlwu
b6485f3b6c
提交
2026-09-07 10:34:41 +08:00
zlwu
7f05162fd1
提交
2026-09-06 20:44:56 +08:00
zlwu and Cursor
ca4a5b9fec
fix(pl): sync stop dibang on arrange even when all unchecked.
...
Ensure cancel/block paths run when every generateDibang option is false.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 20:16:56 +08:00
zlwu and Cursor
4c978296ff
chore(pl): guard arrange path against dibang revoke rebuild
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:57:18 +08:00
zlwu and Cursor
503b388a3f
feat(pl): remount dibang monthly plan when partner or product changes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:52:20 +08:00
zlwu and Cursor
180b5cdaa7
chore(pl): remove unused inventory editable guard after force sync
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:45:39 +08:00
zlwu and Cursor
4dde13e7d7
fix(pl): sync dibang inventory and weighing fields after rearrange
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:43:32 +08:00
zlwu and Cursor
cd64463c0a
test(pl): expect dibang plate sync even after weighing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:37:34 +08:00
zlwu and Cursor
fbf830172f
feat(crm): wire customer and pool list filters to column params.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 08:19:48 +08:00
zlwu and Cursor
3bb905bc20
feat(crm): add customer list column filter builder.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 08:17:06 +08:00
zlwu and Cursor
36afab503a
feat(bx): wire reimburse my list and export to column filters.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 07:43:45 +08:00
zlwu and Cursor
e7054dc244
feat(bx): add shared reimburse list column filter builder.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 07:41:23 +08:00
zlwu and Cursor
45ed795501
chore(pl): add script to remount orphaned transport dibang stop links.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:43:10 +08:00
zlwu and Cursor
4e3c2a9ffb
fix(pl): keep driver/site tokens stable on rearrange.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:41:32 +08:00
zlwu and Cursor
2a9cc6084b
fix(pl): drop accidental cert-perm guard from dibang upsert commit.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:40:48 +08:00
zlwu and Cursor
68564c61f0
feat(pl): upsert dibang links by stop instead of revoke-and-rebuild.
...
Keep inventory ids across rearrange/plan edits; block cancel when weighing exists.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:40:29 +08:00
zlwu and Cursor
2e5b05f477
fix(pl): reject unknown plan product ids on upsert with 422.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:30:15 +08:00
zlwu and Cursor
857067ec80
feat(pl): upsert plan product rows by id on update.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:24:43 +08:00
zlwu and Cursor
6a7dfbcd38
feat(pl): upsert plan deliveries by stable id on save.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:18:06 +08:00
zlwu and Cursor
ca14bb7ca5
feat(pl): allow optional stop/product ids on plan write bodies.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:15:28 +08:00
zlwu and Cursor
7a5b8c3d96
chore: update graphify after plan-archive price permission
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:48:28 +08:00
zlwu and Cursor
b47c809300
feat(backend): gate archive writes and mask plan prices by menu code
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:30:31 +08:00
zlwu and Cursor
ce70265c92
feat(backend): add plan archive price mask helpers
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:25:17 +08:00
zlwu
dd3bb3cf06
提交
2026-09-03 15:54:34 +08:00
zlwu
54a1ba0c5c
提交
2026-09-03 13:50:25 +08:00
zlwu and Cursor
67d37a1f0e
chore: update graphify after transport address notes
...
Mark the notes-fill design as implemented and refresh backend/frontend graphs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 12:01:40 +08:00
zlwu and Cursor
22b92ea056
feat(pl): add notes column on transport address library
...
Persist address-level precautions for later fill into plan load/delivery notes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:58:17 +08:00
zlwu and Cursor
585b731846
chore: update graphify after plan draft-save feature
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:43:47 +08:00
zlwu and Cursor
ae91fbc63e
feat(backend): support saveMode draft/formal and drafting follow gates
...
Draft skips business validators and writes drafting; formal promotes drafting to pending_arrange; wait-notice/delete/force allow drafting.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:40:54 +08:00
zlwu and Cursor
f9cdb8852b
feat(backend): add saveMode field on plan create-full and update schemas
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:39:17 +08:00
zlwu and Cursor
f28e82c1b3
feat(backend): add draft save helpers for plan follow status drafting
...
Introduce min-field validation and follow_status resolution for saveMode draft/formal.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:39:04 +08:00
zlwu
1dfcc66d2c
提交
2026-09-02 08:20:52 +08:00
zlwu
0e8f244bc3
提交
2026-09-01 13:51:32 +08:00
zlwu
ba21c40058
提交
2026-08-31 20:53:46 +08:00
zlwu
69fa5b1fa8
提交
2026-08-31 08:28:36 +08:00
zlwu
19c5aaa8f5
提交
2026-08-30 18:33:13 +08:00
zlwu and Cursor
81b1cb9b1d
feat(pl): show available contract qty before plan qty in stop products
...
Add contract-product-arrange-qty API and form UI with green available qty,
red plan qty over-hint, and click-through dialog for usage and plan list.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:41:36 +08:00
zlwu and Cursor
3011cb9dae
feat(pl): hard-block over-limit contract qty on arrange and remind after success
...
Validate arranged+this plan qty against fixed contract product quantities on
transport arrange; return post-success remaining/framework cumulative reminders.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 16:47:21 +08:00
zlwu and Cursor
1959394223
feat(pl): enforce single contract on stop-contracts and legacy side paths
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:55:00 +08:00
zlwu and Cursor
a6d900ee1f
fix(pl): harden load-contract product checks and tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:53:10 +08:00
zlwu and Cursor
fbcd27b213
feat(pl): require load products to belong to selected contract
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:49:36 +08:00
zlwu and Cursor
eb1bfc5732
feat(pl): enforce at most one contract per plan stop
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:46:41 +08:00
zlwu
63a1209620
提交
2026-08-30 09:30:02 +08:00
zlwu
16986f443e
提交
2026-08-27 19:38:12 +08:00
zlwu
ebf006eeff
提交
2026-08-27 19:38:01 +08:00
zlwu
4611dbc2b2
提交
2026-08-27 14:23:18 +08:00
zlwu and Cursor
e56d227fe8
feat(pl): add customer stop pref service and unit tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:10:37 +08:00
zlwu and Cursor
bd682288f9
feat(pl): add PlCustomerStopPref model
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:06:59 +08:00
zlwu
4222eaa593
提交
2026-08-26 11:10:40 +08:00
zlwu
dd1acdc787
提交
2026-08-23 18:42:27 +08:00