Commit Graph
100 Commits
Author SHA1 Message Date
zlwuandCursor 468a7c5e12 feat(backend): expose sample freight APIs and wire protocol saves
Register admin sample-freight routes, enrich protocol sample details with freight, and stop writing legacy transport rows on save.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 07:48:41 +08:00
zlwuandCursor 6d542a0acf feat(backend): add sample freight CRUD and link/unlink
Provide freight batch create/update/link/unlink, sample enrichment map, and protocol-save draft grouping without writing legacy transport rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 07:47:41 +08:00
zlwuandCursor 66fc507b1a feat(backend): resolve sample transport mode dict with auto-create
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:18:56 +08:00
zlwuandCursor dbdabdce24 feat(backend): add BizSampleFreight models
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:17:40 +08:00
zlwuandCursor 719bf20c5b docs(sql): add sample freight batch tables and transport mode dict
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:15:02 +08:00
zlwuandCursor 95a28d5f0f docs: add sample freight batch implementation plan
Break the approved freight-batch design into TDD-oriented tasks covering SQL, APIs, protocol wiring, and web-admin UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:13:05 +08:00
zlwuandCursor a6138d60bc docs: add sample freight batch design for shared transport cost
Capture the agreed approach: freight batch entity linked at sample level from protocol forms, dictionary-backed transport modes, internal cost only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:09:40 +08:00
zlwuandCursor 818b809614 feat(web-admin): show related family and protocols on customer detail
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:36:35 +08:00
zlwuandCursor af5c6e725d chore: add idempotent backfill for party customer ids
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:26:59 +08:00
zlwuandCursor e7f2dfa4d4 feat: add customer relations API for family and protocols
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:26:15 +08:00
zlwuandCursor f005370a1e feat: wire party customer sync into storage and donation saves
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:20:54 +08:00
zlwuandCursor 910f61ed33 feat: sync mother/father/newborn customers on protocol party save
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 16:11:49 +08:00
zlwuandCursor fc14c51348 feat(db): add father/newborn customer ids on protocol parties
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 16:03:11 +08:00
zlwuandCursor 69e76b85ab docs: add implementation plan for customer family protocol link.
Break work into schema, sync service, save wiring, relations API, backfill, and customer detail UI tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 15:54:15 +08:00
zlwuandCursor e027b5abc4 docs: add customer family protocol link design.
Record agreed model for mother/father/child customer IDs on protocol parties, save-time sync, id-card merge, and customer detail relations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 15:52:29 +08:00
zlwuandCursor cf86c585b7 chore(graphify): refresh backend graph after menu hide for unified protocol.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:28:10 +08:00
zlwuandCursor 98ad5370dc chore(graphify): refresh graph after unified protocol page.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:20:56 +08:00
zlwuandCursor be98dbe7ac fix(menu): restore hidden research-donation sample-info route for deep links.
Task 4 incorrectly removed ResearchDonationSampleInfo; keep it isHide with parent hidden so unified sample-info deep links still work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:18:59 +08:00
zlwuandCursor ed37a31654 docs(sql): add migration to hide research-donation protocol menus for DB menu mode.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:18:51 +08:00
zlwuandCursor 56fd44388b chore(menu): hide research-donation protocol menus; keep routes for unified page deep links.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:16:42 +08:00
zlwuandCursor c1f9a56404 feat(web-admin): wire protocol-audit and donation audit routes to UnifiedProtocolPage.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:15:28 +08:00
zlwuandCursor 70c92fb33f feat(web-admin): add UnifiedProtocolPage shell with cell-storage and research-donation tabs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:14:36 +08:00
zlwuandCursor db75ca6deb refactor(web-admin): extract DonationProtocolTab from research-donation audit page.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:11:32 +08:00
zlwuandCursor f447db7681 docs: add implementation plan for unified protocol page.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:06:18 +08:00
zlwuandCursor f8b0e2de11 docs: add unified protocol page design (shell + two tabs).
Record the confirmed approach to merge donation protocols into the cell-storage protocol UI with dual tabs, dual routes, and hidden research-donation menus.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:01:24 +08:00
zlwuandCursor cf4b8c0e56 feat(db): add handle_time and handler_user_id for storage cert and fullmoon todo.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 15:56:44 +08:00
zlwuandCursor d5bfb895a7 chore: menu SQL, graph sync, and mark payment-info split done
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:12:16 +08:00
zlwuandCursor d5ad755695 feat(web-admin): add per-sample payment list and operable detail
Show one row per sample with schedules/transfers and shared receipt confirm.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:08:17 +08:00
zlwuandCursor edaddc9da1 refactor(web-admin): extract shared payment receipt confirm dialog
Reuse the same confirm form for flow kanban and per-sample views.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:04:24 +08:00
zlwuandCursor 32c01a4c69 feat: split payment-info into standalone menu with dual tabs
Remove payment tab from protocol-audit and keep deep-link redirect.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:03:16 +08:00
zlwuandCursor 1bc44cab13 feat(web-admin): add sample-payments API clients and progress tags
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:02:39 +08:00
zlwuandCursor c35e4ca3d2 feat(backend): add sample-payments list and detail read APIs
Support per-sample payment overview for the standalone payment-info menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:57:55 +08:00
zlwuandCursor 47f873a3e6 feat(backend): add sample payment progress aggregation helper
Pure function for per-sample list progressStatus, paid/due totals, and canConfirm.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:54:48 +08:00
zlwuandCursor 4849b40594 docs: add implementation plan for standalone payment-info menu
Break the approved design into TDD-friendly tasks for APIs, dual tabs, and per-sample UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:53:47 +08:00
zlwuandCursor 33004fe9b9 docs: record standalone payment-info menu and per-sample view design.
Capture the agreed split from protocol-audit tabs, dual flow/sample views, and read-only aggregation APIs before implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:50:01 +08:00
zlwuandCursor f73428dcfd chore: sync graphify after P0 payment/presign and mark Task 10 steps done
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:26:04 +08:00
zlwuandCursor e7677d1661 feat: finish P0 per-sample payment and presign order integration
Wire finance transfer list, protocol view v2 readonly payment, and mark design/plan as P0 implemented.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:25:47 +08:00
zlwuandCursor a9112414c9 feat(web-admin): add presign order UI and menu entry
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:21:23 +08:00
zlwuandCursor fdd2c1fbc3 feat: add presign order CRUD, deposit transfers, and convert API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:18:32 +08:00
zlwuandCursor c404c168fe feat(web-admin): finance confirm by transfer and remove refund confirm tab
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:17:19 +08:00
zlwuandCursor 4e71a13165 feat(web-admin): per-sample payment UI and refund registration on protocol form
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:13:32 +08:00
zlwuandCursor a328b9ff2d feat: wire protocol bundle to per-sample payment model v2
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:08:07 +08:00
zlwuandCursor 2ff5bc09f9 feat: add protocol-level refund registration API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:05:29 +08:00
zlwuandCursor aed7a29c1f feat: expose per-sample payment and transfer finance APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 10:59:31 +08:00
zlwuandCursor 8827ec3804 feat: add sample payment schedule and transfer status rules
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 10:58:21 +08:00
zlwuandCursor ca3d464761 feat: add per-sample payment and presign order schema
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 10:52:20 +08:00
zlwu 4928e00423 提交 2026-09-28 10:49:53 +08:00
zlwu b9b4cc2673 提交 2026-09-24 09:59:26 +08:00
zlwuandCursor 8248e5ef15 feat(web-admin): mount instance comment panel on OA detail views
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:32:31 +08:00
zlwuandCursor 3cc112c16c feat(web-admin): add OaCommentPanel for instance discussion comments
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:31:40 +08:00
zlwuandCursor a1b95b1f0b feat(web-admin): add OA instance comment API clients
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:29:19 +08:00
zlwuandCursor 55e1306eba feat(oa): expose instance comment APIs and embed comments in detail
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:28:36 +08:00
zlwuandCursor c66bfc75c0 feat(oa): add instance comment create list and revoke service
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:27:02 +08:00
zlwuandCursor ea8420b648 feat(oa): enumerate and validate comment form attachment refs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:20:58 +08:00
zlwuandCursor 8d90457cdc feat(oa): add oa_instance_comment table and model
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:18:59 +08:00
zlwuandCursor a4f00b2839 fix(mobile-h5): correct relative imports for web-qr login page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:15:58 +08:00
zlwuandCursor 66e442e1e8 chore: document wx-qr phone login and refresh graphify
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:06:20 +08:00
zlwuandCursor 56ddc212a7 feat: add mini program page for web-admin QR phone login
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:05:18 +08:00
zlwuandCursor 6a5d93165b feat: make web-admin login QR-primary with password fallback
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:03:48 +08:00
zlwuandCursor f7c5a7477e feat: add mini auth web-qr scanned and confirm endpoints
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:57:04 +08:00
zlwuandCursor 38b11cce35 feat: add web auth wx-qr create and status endpoints
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:53:40 +08:00
zlwuandCursor 9d4a11339b feat: add WeChat unlimited mini program code generator
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:48:54 +08:00
zlwuandCursor a9b6a73823 feat: add wx-qr login session store with one-time token consume
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:40:20 +08:00
zlwuandCursor 68eb46c47d chore: add wx-qr login config and encrypt exclude paths
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:37:35 +08:00
zlwuandCursor 8d296b3da0 fix(web-admin): add icons to region staff action buttons
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:35:03 +08:00
zlwuandCursor 8029477e90 feat(web-admin): add region staff config dialog and list summaries
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:33:00 +08:00
zlwuandCursor d5e5ae52a0 feat(web-admin): add collection region staff API types and clients
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:29:54 +08:00
zlwuandCursor 97c241c1b3 feat(api): expose collection region staff nested CRUD
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:28:59 +08:00
zlwuandCursor 412ec0771f feat(backend): add collection region staff CRUD and list summaries
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:24:03 +08:00
zlwuandCursor 5d456a8696 feat(backend): add BizCollectionRegionStaff model
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:21:41 +08:00
zlwuandCursor 0be6545078 docs(sql): add biz_collection_region_staff migration
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:20:01 +08:00
zlwuandCursor a882bb185e docs: add collection region staff binding implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:13:48 +08:00
zlwuandCursor e24b3dbadf docs: add collection region staff binding design and demo
Capture the approved design for region–user binding with multi-leader support, plus an interactive Fresh Mint HTML demo for UI review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:09:59 +08:00
zlwu 679285dcc6 提交 2026-09-17 23:49:16 +08:00
zlwu 5623d0125c 提交 2026-09-16 10:27:24 +08:00
zlwu d294ecad84 提交 2026-09-11 21:03:53 +08:00
zlwu 195c89e6b7 提交 2026-09-03 17:12:38 +08:00
zlwu 03226cac2a 提交 2026-09-01 14:22:46 +08:00
zlwu 2cd1194d17 提交 2026-09-01 13:43:14 +08:00
zlwu 2fd826dbe1 提交 2026-09-01 11:32:49 +08:00
zlwu 7e9155fef1 提交 2026-08-31 15:18:18 +08:00
zlwuandCursor 04d462ad43 docs: 标记接种量/冻存时间改造已实现并更新图谱
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 15:00:35 +08:00
zlwuandCursor 2d6b367a67 feat(backend): 生产接收接种量改为 VARCHAR(255) 自由文本
同步模型、API、CRUD 与 SQL 迁移/基线,支持数字与说明文案组合录入。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 15:00:02 +08:00
zlwuandCursor bf6b080240 feat(web-admin): 样本接收弹窗接种量文本输入、冻存仅选日期
共用 SampleReceptionDialog,生产工单与我的生产任务一并生效。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:59:12 +08:00
zlwuandCursor 8a8ababcc0 feat(web-admin): 生产接收接种量改文本、冻存时间改日期展示
字段 kind 与只读格式对齐产品:自由文本接种量、冻存仅 YYYY-MM-DD。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:58:46 +08:00
zlwuandCursor 431d7b9835 docs: 生产接收接种量文本化与冻存仅日期实现计划
按设计拆为字段单测、弹窗、后端 SQL/API、验收四步。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:56:52 +08:00
zlwuandCursor fdd219c1e7 docs: 生产接收接种量文本化与冻存时间仅日期设计
明确接种量改为 VARCHAR(255) 自由文本,冻存时间交互与展示仅保留 YYYY-MM-DD。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:54:22 +08:00
zlwuandCursor 9aa786a8c5 chore: update graphify and mark cascade-complete design implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:42:32 +08:00
zlwuandCursor 8e04d6944a feat(web-admin): cascade-complete work order via conclusion dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor 139164c7d2 fix(web-admin): allow finish production task without step or IO gates
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor f110f92040 feat(web-admin): support work-order mode on production conclusion dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor a7f946450e fix(web-admin): send production work order complete payload in body
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor 01e0d99a03 feat(backend): cascade complete tasks and steps when finishing work order
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:40:01 +08:00
zlwuandCursor c6a9745c80 feat(backend): cascade-complete steps when finishing production task
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:37:57 +08:00
zlwuandCursor 29abc79699 feat(backend): require conclusion on production work order complete
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:36:46 +08:00
zlwuandCursor 8054b2abe5 docs: add implementation plan for production cascade complete
Break cascade-complete for production tasks and work orders into backend and web-admin tasks with TDD steps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:34:32 +08:00
zlwuandCursor 5367abf7f2 docs: add production cascade complete design for task and work order
Document cascading status completion when finishing a production task or work order, removing incomplete-step gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:30:21 +08:00
zlwu 0d52442902 提交 2026-08-28 17:38:37 +08:00
zlwuandCursor 3d98104455 docs: mark sop fill mint highlight plan progress
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:55:18 +08:00
zlwuandCursor 7541b0d762 docs: document SOP fill field mint highlight convention
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:53:27 +08:00