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:
@@ -127,6 +127,11 @@ public class RequestBaseDto {
|
|||||||
* 请求状态
|
* 请求状态
|
||||||
*/
|
*/
|
||||||
private Integer statusEnum;
|
private Integer statusEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退回原因
|
||||||
|
*/
|
||||||
|
private String reasonText;
|
||||||
private String statusEnum_enumText;
|
private String statusEnum_enumText;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -517,6 +517,7 @@
|
|||||||
'med_medication_definition' AS advice_table_name,
|
'med_medication_definition' AS advice_table_name,
|
||||||
T1.medication_id AS advice_definition_id
|
T1.medication_id AS advice_definition_id
|
||||||
, T1.content_json::jsonb ->> 'remark' AS remark
|
, T1.content_json::jsonb ->> 'remark' AS remark
|
||||||
|
, T1.back_reason AS reason_text
|
||||||
FROM med_medication_request AS T1
|
FROM med_medication_request AS T1
|
||||||
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
|
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
|
||||||
AND T2.delete_flag = '0'
|
AND T2.delete_flag = '0'
|
||||||
@@ -579,6 +580,7 @@
|
|||||||
'med_medication_definition' AS advice_table_name,
|
'med_medication_definition' AS advice_table_name,
|
||||||
T3.ID AS advice_definition_id
|
T3.ID AS advice_definition_id
|
||||||
, T2.content_json::jsonb ->> 'remark' AS remark
|
, T2.content_json::jsonb ->> 'remark' AS remark
|
||||||
|
, T2.back_reason AS reason_text
|
||||||
FROM adm_charge_item AS T1
|
FROM adm_charge_item AS T1
|
||||||
INNER JOIN med_medication_request AS T2 ON T2.ID = T1.service_id AND T2.delete_flag = '0'
|
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'
|
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,
|
'adm_device_definition' AS advice_table_name,
|
||||||
CI.product_id AS advice_definition_id
|
CI.product_id AS advice_definition_id
|
||||||
, NULL AS remark
|
, NULL AS remark
|
||||||
|
, NULL AS reason_text
|
||||||
FROM adm_charge_item AS CI
|
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 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'
|
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,
|
'adm_device_definition' AS advice_table_name,
|
||||||
T1.device_def_id AS advice_definition_id
|
T1.device_def_id AS advice_definition_id
|
||||||
, T1.content_json::jsonb ->> 'remark' AS remark
|
, T1.content_json::jsonb ->> 'remark' AS remark
|
||||||
|
, NULL AS reason_text
|
||||||
FROM wor_device_request AS T1
|
FROM wor_device_request AS T1
|
||||||
LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id
|
LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id
|
||||||
AND T2.delete_flag = '0'
|
AND T2.delete_flag = '0'
|
||||||
@@ -755,6 +759,7 @@
|
|||||||
'wor_activity_definition' AS advice_table_name,
|
'wor_activity_definition' AS advice_table_name,
|
||||||
T1.activity_id AS advice_definition_id,
|
T1.activity_id AS advice_definition_id,
|
||||||
T1.remark AS remark
|
T1.remark AS remark
|
||||||
|
, T1.reason_text AS reason_text
|
||||||
FROM wor_service_request AS T1
|
FROM wor_service_request AS T1
|
||||||
LEFT JOIN wor_activity_definition AS T2
|
LEFT JOIN wor_activity_definition AS T2
|
||||||
ON T2.ID = T1.activity_id
|
ON T2.ID = T1.activity_id
|
||||||
|
|||||||
@@ -1345,6 +1345,18 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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
|
<el-table-column
|
||||||
label="诊断"
|
label="诊断"
|
||||||
align="center"
|
align="center"
|
||||||
|
|||||||
Reference in New Issue
Block a user