Files
his/openhis-server-new/openhis-application/src/main/resources/mapper/LabRequestMapper.xml
2026-05-27 03:13:41 +08:00

44 lines
2.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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.application.mapper.LabRequestMapper">
<resultMap id="LabRequestResult" type="com.openhis.application.domain.entity.LabRequest">
<id property="id" column="id"/>
<result property="patientId" column="patient_id"/>
<result property="status" column="status"/>
<result property="symptom" column="symptom"/>
<result property="sign" column="sign"/>
<result property="relatedResult" column="related_result"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
<select id="selectById" resultMap="LabRequestResult">
SELECT id, patient_id, status, symptom, sign, related_result, create_time, update_time, del_flag
FROM his_lab_request
WHERE id = #{id} AND del_flag = 0
</select>
<!-- 修复 Bug #576移除原 SQL 中错误的 status 过滤条件(如 AND status = '已签发'
确保查询明细时不遗漏“待签发”状态的关联项目 -->
<select id="selectItemsByRequestId" resultType="com.openhis.application.domain.entity.LabRequestItem">
SELECT id, request_id, item_code, item_name, price, quantity, del_flag
FROM his_lab_request_item
WHERE request_id = #{requestId} AND del_flag = 0
ORDER BY sort_order ASC
</select>
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
INSERT INTO his_lab_request (patient_id, status, symptom, sign, related_result, create_time, del_flag)
VALUES (#{patientId}, #{status}, #{symptom}, #{sign}, #{relatedResult}, NOW(), 0)
</insert>
<update id="updateById">
UPDATE his_lab_request
SET symptom = #{symptom}, sign = #{sign}, related_result = #{relatedResult}, update_time = NOW()
WHERE id = #{id} AND del_flag = 0
</update>
</mapper>