Files
his/openhis-server-new/openhis-domain/src/main/resources/mapper/administration/TraceNoManageMapper.xml
zhangfei 9c3e603b94 Fix Bug #443: 手术计费:点击签发耗材时异常报错
当手术计费弹窗中点击"签发"耗材时,因耗材的locationId(发放库房)为空导致后端异常。
在DoctorStationAdviceAppServiceImpl.handDevice方法中,当locationId为null时,使用登录用户的科室ID作为默认值,
与NurseBillingAppService中的处理方式保持一致。
2026-05-08 09:14:18 +08:00

54 lines
2.2 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.administration.mapper.TraceNoManageMapper">
<select id="getItemTraceNoInfo" resultType="com.openhis.administration.domain.TraceNoManage">
SELECT item_table,
item_id,
location_id,
lot_number,
trace_no,
MAX(create_time)
FROM adm_trace_no_manage
WHERE item_table = #{itemTable}
AND item_id = #{itemId}
AND location_id = #{locationId}
AND lot_number = #{lotNumber}
AND (trace_no) IN (SELECT trace_no
FROM adm_trace_no_manage
WHERE item_table = #{itemTable}
AND item_id = #{itemId}
AND location_id = #{locationId}
AND lot_number = #{lotNumber}
AND delete_flag = '0'
GROUP BY trace_no
HAVING SUM(CASE WHEN status_enum = 1 THEN 1 ELSE 0 END) > -- 进库次数
SUM(CASE WHEN status_enum = 2 THEN 1 ELSE 0 END) -- 出库次数
)
AND delete_flag = '0'
GROUP BY item_table,
item_id,
location_id,
lot_number,
trace_no
</select>
<select id="tracePatient" resultType="com.openhis.administration.dto.TracePatientInfoDto">
SELECT T2.name,
T2.gender_enum,
T2.birth_date,
T2.phone,
T3.create_time AS register_time
FROM med_medication_dispense T1
LEFT JOIN adm_patient T2 ON T2.ID = T1.patient_id
AND T2.delete_flag = '0'
LEFT JOIN adm_encounter T3 ON T3.ID = T1.encounter_id
AND T3.delete_flag = '0'
WHERE T1.medication_id = #{ medId }
<if test="dispenseStatus != null">
AND T1.status_enum = #{dispenseStatus}
</if>
AND T1.trace_no = #{traceNo}
</select>
</mapper>