fix(#597): remark字段保存后丢失修复——药品/耗材医嘱的备注写入contentJson
根因: - MedicationRequest/DeviceRequest 实体无 remark 字段/列 - handMedication()/handDevice() 未保存 remark - 查询 Mapper 通过子查 wor_service_request 取 remark,但药品/耗材无对应记录 修复: - Mapper:药品/耗材的 remark 来源改为从 content_json::jsonb ->> 'remark' 提取 - Service:在 handMedication()/handDevice() 中将 remark 合并到 contentJson - 覆盖住院(AdviceManageAppServiceImpl)和门诊(DoctorStationAdviceAppServiceImpl) - 不新增数据库列,不改实体结构
This commit is contained in:
@@ -516,7 +516,7 @@
|
||||
T1.patient_id AS patient_id,
|
||||
'med_medication_definition' AS advice_table_name,
|
||||
T1.medication_id AS advice_definition_id
|
||||
, (SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark
|
||||
, T1.content_json::jsonb ->> 'remark' AS remark
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
|
||||
AND T2.delete_flag = '0'
|
||||
@@ -578,7 +578,7 @@
|
||||
T1.patient_id AS patient_id,
|
||||
'med_medication_definition' AS advice_table_name,
|
||||
T3.ID AS advice_definition_id
|
||||
, (SELECT remark FROM wor_service_request WHERE based_on_id = T2.id AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark
|
||||
, T1.content_json::jsonb ->> 'remark' AS remark
|
||||
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'
|
||||
@@ -694,7 +694,7 @@
|
||||
T1.patient_id AS patient_id,
|
||||
'adm_device_definition' AS advice_table_name,
|
||||
T1.device_def_id AS advice_definition_id
|
||||
, (SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{WOR_DEVICE_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark
|
||||
, T1.content_json::jsonb ->> 'remark' AS remark
|
||||
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'
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
T1.sort_number AS sort_number,
|
||||
T1.based_on_id AS based_on_id,
|
||||
T1.medication_id AS advice_definition_id,
|
||||
(SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark
|
||||
T1.content_json::jsonb ->> 'remark' AS remark
|
||||
FROM med_medication_request AS T1
|
||||
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
|
||||
AND T2.delete_flag = '0'
|
||||
@@ -272,7 +272,7 @@
|
||||
99 AS sort_number,
|
||||
T1.based_on_id AS based_on_id,
|
||||
T1.device_def_id AS advice_definition_id,
|
||||
(SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{WOR_DEVICE_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark
|
||||
T1.content_json::jsonb ->> 'remark' AS remark
|
||||
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'
|
||||
|
||||
Reference in New Issue
Block a user