42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
# Tasks — svc-org-c1-elder
|
||
|
||
## 1. 数据层
|
||
|
||
- [ ] 1.1 `schema.prisma` 新增 `Elder`、`ElderStatusLog` 模型(含唯一索引 tenant_code+id_card_no)。
|
||
- [ ] 1.2 `prisma.service.ts`:`Elder` 加入 SOFT_DELETE。
|
||
- [ ] 1.3 迁移 `c1_elder`(utf8mb4_general_ci,手改 collation)+ `prisma generate`。
|
||
|
||
## 2. 权限码 + 错误码 + 资源
|
||
|
||
- [ ] 2.1 确认 `permissions.ts` 已有 `elder.list/create/detail/status-change`(C0 预留);补 `elder:*` 缺项。
|
||
- [ ] 2.2 `error-codes.ts` 补 elder 域错误码(域 43):ELDER_NOT_FOUND、ELDER_ID_CARD_EXISTS、ELDER_STATUS_REASON_REQUIRED、ELDER_LEVEL_REQUIRES_EVIDENCE。
|
||
- [ ] 2.3 `tenant-template.ts` APIS 登记 6 条 elder 接口资源(parent=elder 菜单)。
|
||
|
||
## 3. MinIO 存储模块
|
||
|
||
- [ ] 3.1 安装 `minio` 依赖;`.env` 加 `MINIO_ENDPOINT/ACCESS_KEY/SECRET_KEY/BUCKET`。
|
||
- [ ] 3.2 新建 `src/storage/storage.module.ts` + `storage.service.ts`(`upload(buffer, key)` + 生成 key),`app.module.ts` 注册。
|
||
|
||
## 4. elder 后端模块
|
||
|
||
- [ ] 4.1 新建 `src/elder/{module,controller,service,dto,service.spec}.ts`。
|
||
- [ ] 4.2 建档:18 位校验、出生日期带出、防重、等级与副本绑定、初始状态判定。
|
||
- [ ] 4.3 十态状态机 + `/elder/:id/status`(change_reason 必填 + 写日志)。
|
||
- [ ] 4.4 掩码(列表)+ 明文查看(detail,admin/qc + 审计)。
|
||
- [ ] 4.5 评估结论上传接口(调 StorageService)。
|
||
- [ ] 4.6 TDD:建档防重、等级绑定、状态变更留痕、掩码;`pnpm test -- elder` + `tsc --noEmit`。
|
||
|
||
## 5. 前端
|
||
|
||
- [ ] 5.1 `src/api/elder.ts`(类型 + list/create/detail/statusChange/statusLog/uploadEvidence)。
|
||
- [ ] 5.2 服务对象列表页(`ltc/elder`,替换占位):状态筛选 + 表格。
|
||
- [ ] 5.3 建档表单(JSON Schema + ty-form):身份证校验、评估结论上传、参保核验字段、等级只读。
|
||
- [ ] 5.4 档案详情 + 状态变更弹窗 + 状态日志时间线。
|
||
- [ ] 5.5 `pnpm type-check` 通过。
|
||
|
||
## 6. 验证
|
||
|
||
- [ ] 6.1 冒烟:登录 → 建档 → 列表掩码 → 详情明文(qc)→ 状态变更留痕 → 审计落库。
|
||
- [ ] 6.2 等级绑定校验:无副本不能填等级;有等级必须有副本。
|
||
- [ ] 6.3 身份证防重:同机构重复建档被拦。
|