zlwu
d26fb23fcf
提交
2026-08-21 16:50:47 +08:00
zlwu and Cursor
f342208a8a
feat(bx): raise my reimburses pageSize max to 500 for apply list pilot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 14:15:19 +08:00
zlwu
9fcb9270e6
提交
2026-08-21 13:45:35 +08:00
zlwu and Cursor
88da74d72a
chore: refresh graphify after driver transport history
...
Update backend/frontend knowledge graphs for the new history API and H5 pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:31:15 +08:00
zlwu and Cursor
c51345eec5
feat(pl): add public driver transport history API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:25:04 +08:00
zlwu and Cursor
0e90b1d949
feat(pl): add transport history helpers and schemas
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:18:34 +08:00
zlwu
44749ae716
提交
2026-08-21 09:35:11 +08:00
zlwu and Cursor
b9ff9c9d67
feat(duty): make duty time range a single-select dict like work plans
...
Add duty_time_range dictionary with day/night presets, parse typed ranges on ensure, and replace time pickers with allow-create select in the schedule dialog.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:58:18 +08:00
zlwu and Cursor
cd0491e601
feat(duty): persist work plans and times; relax grab shift types
...
Map invalid HH:mm to DutyBizError, serialize workPlans/timeLabel from dict,
ensure dict items on save, and allow custom shift types on public grab.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:14:36 +08:00
zlwu and Cursor
4447a1e8e6
feat(duty): add time/work-plan helpers and dict ensure
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:06:07 +08:00
zlwu and Cursor
80545263a0
feat(duty): extend slot model and schemas for work plans and time
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 20:55:20 +08:00
zlwu and Cursor
b71c1144bf
chore(duty): add SQL migration for shift dict and slot time fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 20:51:03 +08:00
zlwu and Cursor
09a57a7af9
feat(pl): show product and plan type columns on contract completion list
...
Align the合同完善 table with运输计划 by returning products/planType from contract-gaps and rendering them via PlPlanListProductCell.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:12:14 +08:00
zlwu and Cursor
58fbafa2ac
feat(pl): add plan-contract menu SQL and web-admin route
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:11:17 +08:00
zlwu and Cursor
af93272bcd
feat(pl): badge count for plan contract completion menu
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:10:14 +08:00
zlwu and Cursor
b984c8c857
feat(pl): add PUT plan side contracts for contract completion
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:09:42 +08:00
zlwu and Cursor
d1d7425eeb
feat(pl): add GET transport/plan/contract-gaps endpoint
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:00:59 +08:00
zlwu and Cursor
211156a94c
feat(pl): add contract-gap SQL filter and response schemas
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:56:40 +08:00
zlwu and Cursor
a79e8a3e12
feat(pl): add plan contract gap side computation helpers
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:54:10 +08:00
zlwu
9da462fcba
提交
2026-08-20 11:17:41 +08:00
zlwu
1938a9b76a
提交
2026-08-19 22:20:42 +08:00
zlwu
a52fe77e34
提交
2026-08-19 09:14:37 +08:00
zlwu
c3bd2c00ae
提交
2026-08-17 20:32:18 +08:00
zlwu and Cursor
9345cf4ad8
fix(duty): allow re-saving historical assigns without duty staff role
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 18:29:20 +08:00
zlwu and Cursor
a8b5b69a1f
feat(duty): add users/options endpoint filtered by duty staff role
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 18:25:11 +08:00
zlwu and Cursor
0c4a4bf14a
feat(duty): restrict assign and grab to duty staff role
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 18:23:20 +08:00
zlwu and Cursor
a20d31de38
chore(db): add duty staff role for schedule eligibility
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 18:19:40 +08:00
zlwu and Cursor
dea4159636
chore: update graphify after reimburse occur_date changes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 16:06:22 +08:00
zlwu and Cursor
5b7a9f2f8f
feat(bx): persist and return reimburse detail occurDate
...
Wire optional occur_date through create/update detail payloads and
API responses.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 15:58:36 +08:00
zlwu and Cursor
3b8a0eb7d8
feat(bx): add parse_optional_date for nullable occur dates
...
Empty values map to None so optional detail dates do not default to today.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 15:57:15 +08:00
zlwu and Cursor
0b402b18ed
feat(bx): add occur_date column on reimburse detail
...
Store optional expense occurrence date (DATE, nullable) for each
reimburse line item.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 15:53:53 +08:00
zlwu
8558d9439e
提交
2026-08-17 15:25:28 +08:00
zlwu
6b2147aa46
提交
2026-08-17 09:22:31 +08:00
zlwu and Cursor
e1eeca0001
feat(crm): use settlement clause helper in save_template
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-16 15:03:05 +08:00
zlwu and Cursor
a73ee89f44
feat(crm): add settlement clause default text helper
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-16 15:01:47 +08:00
zlwu and Cursor
38a9f6f724
feat(crm): add settlement method dict options migration
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-16 14:59:57 +08:00
zlwu
34e5fcf0be
提交
2026-08-16 14:58:19 +08:00
zlwu and Cursor
4c23ff9f61
fix(duty): show duty schedule on portal home launcher
...
Register /duty frontend route module, add portal top-module order, and fix sys_menu as L1 directory with schedule leaf plus role grants.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-15 16:04:33 +08:00
zlwu and Cursor
a1321c145c
chore(duty): sync knowledge graph after duty schedule feature
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:15:22 +08:00
zlwu and Cursor
ba17a83df5
fix(duty): drop unused import in duty admin API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:14:59 +08:00
zlwu and Cursor
36fc7f286c
feat(duty): register admin and public duty APIs with encrypt exclude
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:12:40 +08:00
zlwu and Cursor
49cad98c84
feat(duty): add schemas and duty_schedule service with capacity tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:12:13 +08:00
zlwu and Cursor
f5ad2d7217
feat(duty): add SQLAlchemy models for duty schedule
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:10:36 +08:00
zlwu and Cursor
2502db7a02
fix(duty): add unique keys for duty_day date and slot shift_type
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:08:22 +08:00
zlwu and Cursor
931fd24671
chore(duty): add duty_day/slot/assignment tables and menu SQL
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:06:25 +08:00
zlwu
3f21007c18
提交
2026-08-12 21:40:55 +08:00
zlwu and Cursor
99e4d4c69a
fix(bx): allow reimburse submit when invoice wallet balance is insufficient
...
Drop the hard balance check in debit_reimburse so occupancy can exceed uploaded invoices; balance may go negative until later top-ups.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 20:57:54 +08:00
zlwu
5fcdb03da1
提交
2026-08-11 07:54:28 +08:00
zlwu
a5210a6a9e
提交
2026-08-09 21:07:28 +08:00
zlwu
38383b35d9
提交
2026-08-09 19:42:32 +08:00