Commit Graph
216 Commits
Author SHA1 Message Date
zlwu 0bddf38e52 feat(project): enforce team-scoped selection with explicit all-project permission
Separate cross-team selection from attribution maintenance and apply the same scope to options, history filters and writes. Add an opt-in tenant permission without granting existing roles.

Protect authorization mutation paths against self-grants, validate tenant targets and links, and include menu ancestors atomically. Cover role union, revocation, mobile writes and administration boundaries with regression tests.
2026-11-02 17:09:20 +08:00
zlwu bd62416263 feat(project): add team attribution and business statistics
Add tenant-scoped teams and projects, order attribution across four businesses, conversion inheritance, scoped statistics and audited reassignment. Reuse existing Web and mobile UI patterns; team regions and hospitals remain informational.

Include incremental SQL and isolated regression coverage. Actual MySQL and browser/WebView integration validation remains pending; relates to issue #13.
2026-11-02 15:29:43 +08:00
zlwu d1347e8cea fix(web): limit protocol managers to active region leaders
Provide tenant-scoped leader options for the Web protocol form, exclude ordinary members and retain historical names only for display. Default only to a leader of the selected region and prevent delayed requests from replacing manual choices.

Refs #1. Add backend option isolation and Web cascade regression coverage.
2026-10-30 17:47:43 +08:00
zlwuandCursor 5e563a6669 fix: 子表保存改为就地同步,避免整批换 id 打断外键。
协议样本、生产产出和盘点明细按行更新并保留原 id;补齐存储证明质检预填、离职人员显示名,以及样本采集通知模板字段。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-28 10:51:53 +08:00
zlwuandCursor d66e55af65 fix: 小程序新增样本发微信通知,并放宽部分 Web 菜单强校验。
移动端协议保存后调度样本采集服务号通知;收款确认/储存证等写接口改为运营端登录即可。同步日期字段规范化与 OA 日期选择器复开修复。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-26 16:02:47 +08:00
zlwuandCursor 5dad1bb0e3 fix: 协议子资源单事务保存,并补齐样本编码/OA/质检等近期能力
锁定缴费校验失败时整单回滚,避免样本半成功落库;前端禁止删除锁定缴费样本,改码走更正编码。同步落地样本更正、采集微信通知、OA提及未读、细胞产品套餐与相关迁移文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-26 11:02:25 +08:00
zlwuandCursor 41e8d6f7c4 feat: 增加顺丰月结列表、结算和补填接口,市场端不能调用
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 18:54:16 +08:00
zlwuandCursor 7aa685840f feat: 收款账户选项只返回当前登记人并带上所属人姓名
发起校验能识别已删除、他租户和他人账户,编辑账户不会改掉 create_by。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 18:45:43 +08:00
zlwuandCursor bd669ea77e fix: 已结算运费在协议保存时拒绝取消关联
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 18:41:31 +08:00
zlwuandCursor 11a46bf1eb feat: 顺丰运费保存单号并清空金额,已结算批次禁止改关联
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 18:25:54 +08:00
zlwuandCursor d67965aae2 fix: 样本上的空运费按空返回,避免顺丰月结显示成 0
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 18:10:46 +08:00
zlwuandCursor dd00dba39c fix: 运费金额为空时返回空值,便于顺丰批次展示月结
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 18:08:11 +08:00
zlwuandCursor ac8e471aca fix: align sample registration, freight scope, and OA datetime display
Let customer-service quick register write storage, certificate, and insurance separately without extra menu or data-scope checks. List freight by document data scope like the web admin, allow protocol staff outside the collection region, and pad OA datetimes to seconds so PC date pickers can show historical minute values.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 17:30:30 +08:00
zlwu 03fcc01d6d 提交 2026-10-17 17:36:14 +08:00
zlwu be2226e4ca 提交 2026-10-17 11:46:53 +08:00
zlwu ecde2ba07d 提交 2026-10-15 14:27:42 +08:00
zlwu 3950b5c334 提交 2026-10-14 12:32:03 +08:00
zlwu cc843535f5 提交 2026-10-13 15:18:01 +08:00
zlwuandCursor bee2c0d193 feat(backend): persist monthly verify no and expose research list fields
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 13:14:09 +08:00
zlwuandCursor 60efc5d5d3 feat(backend): allocate research donation monthly verify numbers
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 13:11:25 +08:00
zlwuandCursor 9c264d7942 feat(backend): enrich cell-storage sample list with customer-service wide columns.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 10:57:55 +08:00
zlwuandCursor aeadaa9919 feat(backend): extend sample-info quick-register for sms/followup/fulfillment/all.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 10:56:41 +08:00
zlwuandCursor 50400ad19c feat(backend): write storage cert and insurance at sample level in quick-register.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 10:52:45 +08:00
zlwuandCursor edabf70287 feat(backend): upsert sample customer-service fields with empty-skip merge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 10:50:36 +08:00
zlwuandCursor d676bfadd7 feat(backend): add customer-service dict list and ensure-on-write helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 10:47:11 +08:00
zlwuandCursor 727002761d fix(backend): align pay-status user messages with 付款 wording
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:10:14 +08:00
zlwu 81bda0cb79 fix: scope user organization labels to the current tenant. 2026-10-11 12:37:32 +08:00
zlwu 337d31bbe8 feat: integrate required mobile market backend dependencies. 2026-10-11 12:00:52 +08:00
zlwu 34bf9aa0dc fix: make mobile presign transitions concurrency-safe. 2026-10-11 11:31:24 +08:00
zlwu 7a6d804cfa fix: honor order numbers in protocol workflow lists. 2026-10-11 10:08:40 +08:00
zlwuandCursor db31990ebe feat: 细胞存储缴费催缴、统一样本信息与协议支付能力增强
汇总近期业务改动:催缴菜单与后端、样本信息快捷登记与进度、运费关联、客户档案扩展、协议优惠/期次与押金划转,并同步 SQL 迁移与管理端页面收敛。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 21:20:37 +08:00
zlwuandCursor 628a20dbbd feat(backend): allow soft-delete of dfj payment transfers
Supports 缴费明细 list-mode row delete for draft transfers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 14:58:23 +08:00
zlwuandCursor c860e39363 feat: add protocol payment transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:17:49 +08:00
zlwuandCursor eb8a76d8d2 feat: add presign transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:16:58 +08:00
zlwuandCursor e194e1ad04 feat(backend): add sample storage-cert QC get and upsert CRUD.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:36:18 +08:00
zlwuandCursor f092b64a33 feat(backend): add sample options for freight config dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:59:29 +08:00
zlwuandCursor 971af93132 feat(backend): enrich sample freight list with items and filters
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:58:45 +08:00
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 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 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 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 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 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
zlwu 5623d0125c 提交 2026-09-16 10:27:24 +08:00
zlwu 2cd1194d17 提交 2026-09-01 13:43:14 +08:00