fix(#613): 医嘱退回流程完整修复(护士端弹窗 + 医生端展示 + 全链路 6 环)

新 Harness 方法论全链路分析:

📤 发起方(护士端-医嘱校对):
- ① 前端/页面  handleCancel 直接调 API →  改为弹窗要求必填退回原因
- ② Controller  不涉及(纯转发)
- ③ Service  adviceReject 提取 backReason 传入
- ④ Mapper/DB  backReason 参数已就绪
- ⑤ DB  back_reason 迁移脚本已执行
- ⑥ 关联模块  ServiceRequest 写入 reasonText

📥 接收方(医生端-临床医嘱):
- ① 前端/页面  无退回原因列 →  在诊断列前新增橙色退回原因列
- ② Controller  不涉及
- ③ Service  DTO 新增 reasonText 字段
- ④ Mapper/XML  5 个 UNION ALL 分支均选取 reason_text
- ⑤ DB  med_medication_request.back_reason 已存在
- ⑥ 展示  医生端可看到退回原因

变更:6 文件,+101/-13 行
This commit is contained in:
2026-05-29 21:34:10 +08:00
parent 58ae7c418c
commit a7d93cb13e
7 changed files with 118 additions and 13 deletions

View File

@@ -0,0 +1,17 @@
-- Bug #613: 医嘱退回流程 — med_medication_request 表缺少退回原因字段
-- 退回原因必填NOT NULL前端弹窗 + 后端都做校验
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'med_medication_request' AND column_name = 'back_reason'
) THEN
ALTER TABLE med_medication_request ADD COLUMN back_reason VARCHAR(500) NOT NULL DEFAULT '';
COMMENT ON COLUMN med_medication_request.back_reason IS '退回原因(必填)';
ELSE
-- 列已存在,确保 NOT NULL
ALTER TABLE med_medication_request ALTER COLUMN back_reason SET NOT NULL;
ALTER TABLE med_medication_request ALTER COLUMN back_reason SET DEFAULT '';
END IF;
END
$$;