fix(#613): 医生端医嘱列表增加退回原因展示列

根因(全链路6环分析):
- ① 前端/页面  医生端医嘱列表无退回原因列 → 无法展示护士填写的退回原因
- ② Controller  不涉及 — 纯转发层
- ③ Service  getRequestBaseInfo() 未填充 reasonText 字段
- ④ Mapper/XML  UNION ALL 查询未选取 back_reason/reason_text 字段
- ⑤ DB  med_medication_request.back_reason 列已存在(上一次修复已迁移)
- ⑥ 关联模块 ⚠️ wor_service_request.reason_text 已存在但未在查询中暴露

修复:
1. RequestBaseDto.java: 新增 reasonText 字段(映射退回原因)
2. DoctorStationAdviceAppMapper.xml: 5 个 UNION ALL 分支各自选取 reason_text
   - med_medication_request → T1.back_reason
   - charge item 回补 → T2.back_reason
   - device_request(2 处)→ NULL(无退回原因字段)
   - wor_service_request → T1.reason_text
3. prescriptionlist.vue: 在诊断列前新增退回原因列

全链路状态流转:
护士端弹窗→输入原因→API传backReason→DB保存→医生端列表展示
                ↑ 本次修复打通最后一环 ↑
This commit is contained in:
2026-05-29 15:53:36 +08:00
parent e3c0e700a5
commit e8d10befbd
3 changed files with 22 additions and 0 deletions

View File

@@ -127,6 +127,11 @@ public class RequestBaseDto {
* 请求状态
*/
private Integer statusEnum;
/**
* 退回原因
*/
private String reasonText;
private String statusEnum_enumText;
/**

View File

@@ -517,6 +517,7 @@
'med_medication_definition' AS advice_table_name,
T1.medication_id AS advice_definition_id
, T1.content_json::jsonb ->> 'remark' AS remark
, T1.back_reason AS reason_text
FROM med_medication_request AS T1
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
AND T2.delete_flag = '0'
@@ -579,6 +580,7 @@
'med_medication_definition' AS advice_table_name,
T3.ID AS advice_definition_id
, T2.content_json::jsonb ->> 'remark' AS remark
, T2.back_reason AS reason_text
FROM adm_charge_item AS T1
INNER JOIN med_medication_request AS T2 ON T2.ID = T1.service_id AND T2.delete_flag = '0'
LEFT JOIN med_medication_definition AS T3 ON T3.ID = T2.medication_id AND T3.delete_flag = '0'
@@ -643,6 +645,7 @@
'adm_device_definition' AS advice_table_name,
CI.product_id AS advice_definition_id
, NULL AS remark
, NULL AS reason_text
FROM adm_charge_item AS CI
LEFT JOIN adm_charge_item_definition CID ON CID.id = CI.definition_id AND CID.delete_flag = '0'
LEFT JOIN wor_device_request DR ON DR.id = CI.service_id AND DR.delete_flag = '0'
@@ -698,6 +701,7 @@
'adm_device_definition' AS advice_table_name,
T1.device_def_id AS advice_definition_id
, T1.content_json::jsonb ->> 'remark' AS remark
, NULL AS reason_text
FROM wor_device_request AS T1
LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id
AND T2.delete_flag = '0'
@@ -755,6 +759,7 @@
'wor_activity_definition' AS advice_table_name,
T1.activity_id AS advice_definition_id,
T1.remark AS remark
, T1.reason_text AS reason_text
FROM wor_service_request AS T1
LEFT JOIN wor_activity_definition AS T2
ON T2.ID = T1.activity_id

View File

@@ -1345,6 +1345,18 @@
</span>
</template>
</el-table-column>
<el-table-column
label="退回原因"
align="center"
prop="reasonText"
width="160"
>
<template #default="scope">
<span v-if="!scope.row.isEdit" style="color: #e6a23c;">
{{ scope.row.reasonText || '-' }}
</span>
</template>
</el-table-column>
<el-table-column
label="诊断"
align="center"