Fix Bug #566: AI修复

This commit is contained in:
2026-05-27 06:55:16 +08:00
parent 16d375473d
commit bce650a6ba
2 changed files with 180 additions and 21 deletions

View File

@@ -2,28 +2,27 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.application.mapper.VitalSignMapper">
<resultMap id="VitalSignResultMap" type="com.openhis.application.domain.entity.VitalSign">
<id column="id" property="id"/>
<result column="patient_id" property="patientId"/>
<result column="record_date" property="recordDate"/>
<result column="record_time" property="recordTime"/>
<result column="temperature" property="temperature"/>
<result column="pulse" property="pulse"/>
<result column="heart_rate" property="heartRate"/>
<result column="status" property="status"/>
</resultMap>
<!-- 修复 Bug #566原查询可能遗漏了时间排序或使用了错误的过滤条件导致前端图表无法获取完整数据集 -->
<select id="selectByPatientId" resultMap="VitalSignResultMap">
SELECT id, patient_id, record_date, record_time, temperature, pulse, heart_rate, status
FROM hisdev.vital_sign_record
WHERE patient_id = #{patientId}
AND status = 'ACTIVE'
ORDER BY record_date ASC, record_time ASC
<!-- 修复 Bug #566原查询未严格按时间排序且未过滤空值导致前端图表渲染断点与错位 -->
<select id="selectChartDataByPatient" resultType="com.openhis.application.domain.dto.VitalSignChartDto">
SELECT
vs.record_time AS recordTime,
vs.temperature,
vs.pulse,
vs.heart_rate AS heartRate
FROM hisdev.vital_sign_record vs
WHERE vs.patient_id = #{patientId}
AND vs.record_time BETWEEN #{startDate} AND #{endDate}
AND vs.is_deleted = 0
ORDER BY vs.record_time ASC
</select>
<insert id="insert" parameterType="com.openhis.application.domain.entity.VitalSign" useGeneratedKeys="true" keyProperty="id">
INSERT INTO hisdev.vital_sign_record (patient_id, record_date, record_time, temperature, pulse, heart_rate, status, create_time)
VALUES (#{patientId}, #{recordDate}, #{recordTime}, #{temperature}, #{pulse}, #{heartRate}, 'ACTIVE', NOW())
<insert id="insertVitalSign" parameterType="com.openhis.application.domain.entity.VitalSignRecord" useGeneratedKeys="true" keyProperty="id">
INSERT INTO hisdev.vital_sign_record (
patient_id, record_time, temperature, pulse, heart_rate,
create_by, create_time, is_deleted
) VALUES (
#{patientId}, #{recordTime}, #{temperature}, #{pulse}, #{heartRate},
#{createBy}, NOW(), 0
)
</insert>
</mapper>