zlwu and Cursor
85322c39e4
feat(backend): evaluate person contains rules in condition groups
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-30 12:16:08 +08:00
zlwu and Cursor
330dd9e2ce
feat(backend): validate OA person field and whitelist type
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-30 12:12:31 +08:00
zlwu and Cursor
b5c4ba4c4f
feat(oa): format money fields in print and related-approval summary
...
Show formatted amount with optional uppercase on print; summary uses numeric text.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-30 11:11:13 +08:00
zlwu and Cursor
55e4134050
feat(backend): validate OA money field values on instance start
...
Reject negatives, non-finite values, and missing required money controls.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-30 11:04:30 +08:00
zlwu
43d117133b
提交
2026-07-29 17:04:36 +08:00
zlwu and Cursor
1b934a2037
fix(outbound-release): use eq_unicode for schedule id EXISTS joins
...
Avoid Illegal mix of collations when correlating QC/production work orders to infusion schedules in list filters.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 16:36:34 +08:00
zlwu
5d17113e1a
提交
2026-07-29 16:08:34 +08:00
zlwu and Cursor
12df6d6836
feat(outbound-release): add reviewPhase, ready filter, and void hide
...
List supports pending/reviewed phase, readyForReviewOnly, and always hides schedules whose outbound QC or production WOs are all voided.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 13:34:29 +08:00
zlwu and Cursor
8b18d21c88
feat(storage-release): hide list rows when related docs are void
...
Exclude reviews whose protocol is inactive or whose inbound QC/production work orders are all voided.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 13:17:13 +08:00
zlwu and Cursor
a922ad12f4
feat(storage-release): add hide-voided predicate helpers
...
Document protocol inactive and all-inbound-WO-void semantics for list filtering.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 13:10:12 +08:00
zlwu and Cursor
9e5cc9188b
feat(storage-release): add readyForReviewOnly list filter
...
Default pending list can exclude rows with unfinished QC or production work orders via SQL NOT EXISTS.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 11:16:42 +08:00
zlwu
3317d4a077
提交
2026-07-29 10:26:07 +08:00
zlwu and Cursor
33c4408557
feat: expose lineage QC API and wire viewer in outbound material dialog
...
Add GET /cell-products/{id}/lineage-qc, frontend client, readonly dialog,
and a 查看质检 action on outbound cell rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 09:55:51 +08:00
zlwu and Cursor
40d93934a9
feat: add cell product lineage QC aggregate loader
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 09:54:28 +08:00
zlwu and Cursor
f2e582b4dc
feat: add lineage node flatten helper for cell product QC view
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-29 09:49:35 +08:00
zlwu
b569643581
提交
2026-07-28 21:33:15 +08:00
zlwu and Cursor
b105bd9b7d
chore: update graphify and mark batch outbound plan complete
...
Refresh knowledge graphs after storage facility batch outbound changes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 19:15:35 +08:00
zlwu and Cursor
0a055557cb
feat(storage): expose storedOccupancyId on shelf slot enrichment
...
Enable web-admin batch outbound to call existing remove occupancy API per selected cell.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 19:11:24 +08:00
zlwu and Cursor
d323e09894
chore: track app.pid and misplaced graphify AST caches
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 18:48:07 +08:00
zlwu and Cursor
a3af039e74
feat: 质检工单结论、库位批量/筛选与协议样本接收质检摘要
...
落库并展示质检工单级结论(可编辑/任务派生),库位树支持批量新增子节点与货架格子检索,协议/捐赠列表补充接收与门禁质检摘要,并同步生产物料与工单卡片展示优化。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 18:46:24 +08:00
zlwu
bff544404f
提交
2026-07-27 19:47:13 +08:00
zlwu and Cursor
2e6e1f47d6
feat(oa): add dept select FormCreate control with print formatting
...
Register type=dept on main app and oa-fc-host, with PC tree-select and
narrow drawer pickers storing {id,name} path snapshots; format dept values
in print and related-summary flatten.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 18:32:44 +08:00
zlwu and Cursor
45d84d9642
feat(oa): reject invalid dept form_data on start
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 18:27:27 +08:00
zlwu and Cursor
babe26a23d
fix(oa): coerce dept max prop when validating form_data
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 18:26:57 +08:00
zlwu and Cursor
260a461d05
feat(oa): validate dept control form_data shapes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 18:24:28 +08:00
zlwu and Cursor
d5b0f2d797
chore(graphify): sync knowledge graph artifacts after protocol fix
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 17:50:02 +08:00
zlwu and Cursor
57487fd0dc
fix(protocol): save DJ pay details without blocking on due-sum mismatch
...
Persist payment before samples to avoid consuming sample codes on validation failure, soft-delete samples on create rollback, and surface DJ due-amount mismatch as a hint only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 17:49:36 +08:00
zlwu and Cursor
1fafb4a157
test(oa): cover auto-pass or/and/consecutive/commentRequired cases
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 17:43:18 +08:00
zlwu and Cursor
8bd45561b7
feat(oa): auto-pass approval when assignee is initiator
...
Extract approve core and hook after creating approval tasks when the advanced setting is enabled.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 17:42:41 +08:00
zlwu and Cursor
d69388573a
test(oa): add failing auto-pass-when-approver-is-initiator case
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 17:41:56 +08:00
zlwu
7f4c9720e9
提交
2026-07-25 09:37:24 +08:00
zlwu
2de86b0500
提交
2026-07-24 11:55:03 +08:00
zlwu
89fda927a2
提交
2026-07-23 18:01:11 +08:00
zlwu and Cursor
5ac5952c55
feat(oa): accept initiatorSelectByNode on start and flow-preview APIs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 16:10:36 +08:00
zlwu and Cursor
71424e9dd1
feat(oa): resolve initiator_select per node map in engine
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 16:05:25 +08:00
zlwu and Cursor
cf270630fe
feat(oa): add oa_instance.initiator_select_json for per-node self-select
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 16:00:49 +08:00
zlwu and Cursor
dc54170771
feat(oa): expose POST /tasks/{id}/transfer API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 15:14:35 +08:00
zlwu and Cursor
aaff660d56
feat(oa): add transfer_task to reassign pending approval
...
Close the current assignee's task as transferred and create a same-node pending task for the target user; include transferred in done lists.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 15:12:14 +08:00
zlwu and Cursor
03b47fb266
feat(oa): emit relatedIds when flattening nested relatedApproval fields
...
Screen jump and print recursion need the instance id list alongside the
「已关联 M 条」summary text without changing form_data shape.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-22 22:58:56 +08:00
zlwu and Cursor
88982878b2
feat(oa): show attachment URLs in related-approval summaries
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-22 21:41:51 +08:00
zlwu and Cursor
14f00d5d3a
feat(oa): persist relatedApproval links with field_key on start
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-22 17:01:53 +08:00
zlwu and Cursor
f2bf26cd8b
feat(oa): add related-approval candidate and summary APIs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-22 16:48:53 +08:00
zlwu and Cursor
5147d79747
feat(oa): add related-approval flatten and extract helpers
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-22 16:46:21 +08:00
zlwu
b8b0446542
提交
2026-07-22 10:43:55 +08:00
zlwu
f9c9577843
提交
2026-07-22 09:25:27 +08:00
zlwu
c8fe0cdc20
提交
2026-07-21 15:23:59 +08:00
zlwu
a4fd31f254
提交
2026-07-16 17:37:26 +08:00
zlwu
846aea70bb
提交
2026-07-16 13:48:58 +08:00
zlwu and Cursor
381315173d
merge: bring storage-release QC completed filter into OA deploy branch
...
Default pending tab to QC-complete samples with optional filter.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-16 12:20:30 +08:00
zlwu and Cursor
93d148f2d4
chore: update graphify after storage-release QC filter
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-16 12:16:18 +08:00