fixbug366:门诊医生站:手术医嘱逻辑错误,“待签发”状态的手术医嘱提前流转至收费端

This commit is contained in:
2026-04-15 10:35:56 +08:00
parent 3380b2787e
commit e294952a60

View File

@@ -142,15 +142,26 @@
ON T6.contract_no = T8.bus_no
AND T8.delete_flag = '0'
LEFT JOIN med_medication_request AS mmr ON mmr.id = T1.service_id AND mmr.delete_flag = '0'
LEFT JOIN wor_device_request AS wdr ON wdr.id = T1.service_id AND T1.service_table = #{worDeviceRequest} AND wdr.delete_flag = '0'
LEFT JOIN wor_device_request AS wdr ON wdr.id = T1.service_id AND wdr.delete_flag = '0'
LEFT JOIN wor_service_request AS wsr ON wsr.id = T1.service_id AND wsr.delete_flag = '0'
LEFT JOIN wor_service_request AS wsrp ON wsrp.id = wsr.parent_id AND wsrp.delete_flag = '0'
WHERE T1.encounter_id = #{encounterId}
AND T1.status_enum IN (#{planned}
AND T1.status_enum IN (0
, #{planned}
, #{billable}
, #{billed}
, #{refunding}
, #{refunded}
, #{partRefund})
AND T1.context_enum != #{register}
AND (
-- 若能关联到请求表,则必须是“已签发”后才允许收费端展示
(mmr.id IS NOT NULL AND COALESCE(mmr.status_enum, 1) != 1)
OR (wsr.id IS NOT NULL AND (COALESCE(wsr.status_enum, 1) != 1 OR COALESCE(wsrp.status_enum, 1) != 1))
OR (wdr.id IS NOT NULL AND COALESCE(wdr.status_enum, 1) != 1)
-- 无法关联到任一请求表的收费项,不受签发过滤影响(如挂号费等)
OR (mmr.id IS NULL AND wsr.id IS NULL AND wdr.id IS NULL)
)
AND T1.delete_flag = '0'
</select>
@@ -243,15 +254,25 @@
ON T6.contract_no = T8.bus_no
AND T8.delete_flag = '0'
LEFT JOIN med_medication_request AS mmr ON mmr.id = T1.service_id AND mmr.delete_flag = '0'
LEFT JOIN wor_device_request AS wdr ON wdr.id = T1.service_id AND T1.service_table = #{worDeviceRequest} AND wdr.delete_flag = '0'
LEFT JOIN wor_device_request AS wdr ON wdr.id = T1.service_id AND wdr.delete_flag = '0'
LEFT JOIN wor_service_request AS wsr ON wsr.id = T1.service_id AND wsr.delete_flag = '0'
WHERE T1.encounter_id = #{encounterId}
AND T1.status_enum IN (#{planned}
AND T1.status_enum IN (0
, #{planned}
, #{billable}
, #{billed}
, #{refunding}
, #{refunded}
, #{partRefund})
AND T1.context_enum != #{register}
AND (
-- 若能关联到请求表,则必须是“已签发/已发送”后才允许收费端展示
(mmr.id IS NOT NULL AND COALESCE(mmr.status_enum, 1) != 1)
OR (wsr.id IS NOT NULL AND COALESCE(wsr.status_enum, 1) != 1)
OR (wdr.id IS NOT NULL AND COALESCE(wdr.status_enum, 1) != 1)
-- 无法关联到任一请求表的收费项,不受签发过滤影响(如挂号费等)
OR (mmr.id IS NULL AND wsr.id IS NULL AND wdr.id IS NULL)
)
AND T1.delete_flag = '0') final_res
</select>