|
|
@@ -19,6 +19,52 @@
|
|
|
<result column="master" property="master"/>
|
|
|
</resultMap>
|
|
|
|
|
|
+ <resultMap id="monitorResult" type="com.coffee.bus.entity.PatientMonitorDomain">
|
|
|
+ <result column="patient_name" property="patientName"/>
|
|
|
+ <result column="patient_code" property="patientCode"/>
|
|
|
+ <result column="gender" property="gender"/>
|
|
|
+ <result column="patient_alarm" property="patientAlarm"/>
|
|
|
+ <result column="device_id" property="deviceId"/>
|
|
|
+ <result column="clinic_id" property="clinicId"/>
|
|
|
+ <result column="ward" property="ward"/>
|
|
|
+ <result column="bed_no" property="bedNo"/>
|
|
|
+ <result column="total_dose" property="totalDose"/>
|
|
|
+ <result column="first_dose" property="firstDose"/>
|
|
|
+ <result column="remain_dose" property="remainDose"/>
|
|
|
+ <result column="input_dose" property="inputDose"/>
|
|
|
+ <result column="append_dose" property="appendDose"/>
|
|
|
+ <result column="append_lock_time" property="appendLockTime"/>
|
|
|
+ <result column="max_dose" property="maxDose"/>
|
|
|
+ <result column="self_control_count" property="selfControlCount"/>
|
|
|
+ <result column="self_control_lock_time" property="selfControlLockTime"/>
|
|
|
+ <result column="pca_valid_count" property="pcaValidCount"/>
|
|
|
+ <result column="pca_invalid_count" property="pcaInvalidCount"/>
|
|
|
+ <result column="pca_total_count" property="pcaTotalCount"/>
|
|
|
+ <result column="continue_dose" property="continueDose"/>
|
|
|
+ <result column="pulse_dose" property="pulseDose"/>
|
|
|
+ <result column="pulse_first_lock_time" property="pulseFirstLockTime"/>
|
|
|
+ <result column="pulse_lock_time" property="pulseLockTime"/>
|
|
|
+ <result column="flow_up_cycle" property="flowUpCycle"/>
|
|
|
+ <result column="flow_down_cycle" property="flowDownCycle"/>
|
|
|
+ <result column="flow_count" property="flowCount"/>
|
|
|
+ <result column="flow_up_limit" property="flowUpLimit"/>
|
|
|
+ <result column="flow_down_limit" property="flowDownLimit"/>
|
|
|
+ <result column="flow_adjust_rate" property="flowAdjustRate"/>
|
|
|
+ <result column="run_state" property="deviceRunState"/>
|
|
|
+ <result column="warn_analgesic_poor" property="warnAnalgesicPoor"/>
|
|
|
+ <result column="warn_low_battery" property="warnLowBattery"/>
|
|
|
+ <result column="warn_will_finished" property="warnWillFinished"/>
|
|
|
+ <result column="device_alarm" property="deviceAlarm"/>
|
|
|
+ <result column="infusion_start_time" property="infusionStartTime"/>
|
|
|
+ <result column="remark" property="remark"/>
|
|
|
+ <result column="device_type" property="deviceType"/>
|
|
|
+ <result column="anal_type" property="analType"/>
|
|
|
+ <result column="ana_doctor" property="anaDoctor"/>
|
|
|
+ <result column="ana_type" property="anaType"/>
|
|
|
+ <result column="surgery_doctor" property="surgeryDoctor"/>
|
|
|
+ <result column="surgery_name" property="surgeryName"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
<select id="selectRepeatDevice" resultMap="repeatDeviceResult">
|
|
|
SELECT
|
|
|
p.name,
|
|
|
@@ -51,4 +97,102 @@ SELECT
|
|
|
FROM (SELECT `name`,gender,CODE,tenant_id FROM bus_patient WHERE bus_patient.`alarm`=2 ) AS p
|
|
|
left join (SELECT * FROM bus_clinic WHERE finished=0 ) AS c ON c.`patient_code`=p.code;
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="selectMonitor" resultMap="monitorResult" parameterType="com.coffee.bus.service.dto.PatientMonitorQuery">
|
|
|
+ select
|
|
|
+ p.`name` as patient_name,
|
|
|
+ p.`code` as patient_code,
|
|
|
+ p.gender as gender,
|
|
|
+ p.alarm as patient_alarm,
|
|
|
+ i.device_id as device_id,
|
|
|
+ i.clinic_id as clinic_id,
|
|
|
+ i.ward as ward,
|
|
|
+ i.bed_no as bed_no,
|
|
|
+ i.total_dose as total_dose,
|
|
|
+ i.first_dose as first_dose,
|
|
|
+ i.remain_dose as remain_dose,
|
|
|
+ i.input_dose as input_dose,
|
|
|
+ i.append_dose as append_dose,
|
|
|
+ i.append_lock_time as append_lock_time,
|
|
|
+ i.max_dose as max_dose,
|
|
|
+ i.self_control_count as self_control_count,
|
|
|
+ i.self_control_lock_time as self_control_lock_time,
|
|
|
+ i.pca_valid_count as pca_valid_count,
|
|
|
+ i.pca_invalid_count as pca_invalid_count,
|
|
|
+ i.pca_total_count as pca_total_count,
|
|
|
+ i.continue_dose as continue_dose,
|
|
|
+ i.pulse_dose as pulse_dose,
|
|
|
+ i.pulse_lock_time as pulse_lock_time,
|
|
|
+ i.pulse_first_lock_time as pulse_first_lock_time,
|
|
|
+ i.flow_up_cycle as flow_up_cycle,
|
|
|
+ i.flow_down_cycle as flow_down_cycle,
|
|
|
+ i.flow_count as flow_count,
|
|
|
+ i.flow_up_limit as flow_up_limit,
|
|
|
+ i.flow_down_limit as flow_down_limit,
|
|
|
+ i.flow_adjust_rate as flow_adjust_rate,
|
|
|
+ i.run_state as run_state,
|
|
|
+ i.warn_will_finished as warn_will_finished,
|
|
|
+ i.warn_analgesic_poor as warn_analgesic_poor,
|
|
|
+ i.warn_low_battery as warn_low_battery,
|
|
|
+ i.alarm as device_alarm,
|
|
|
+ i.start_time as infusion_start_time,
|
|
|
+ i.remark as remark,
|
|
|
+ i.type as device_type,
|
|
|
+ c.ana_doctor as ana_doctor,
|
|
|
+ c.ana_type as ana_type,
|
|
|
+ c.anal_type as anal_type,
|
|
|
+ c.surgery_doctor as surgery_doctor,
|
|
|
+ c.surgery_name as surgery_name
|
|
|
+ from
|
|
|
+ (select * from bus_patient)
|
|
|
+ as p
|
|
|
+ join
|
|
|
+ (select * from bus_infusion_history
|
|
|
+ <where>
|
|
|
+ <if test="query.wards != null and query.wards.size > 0">
|
|
|
+ and ward in
|
|
|
+ <foreach item="ward" index="index" collection="query.wards" open="(" separator="," close=")">
|
|
|
+ #{ward, jdbcType=VARCHAR}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="query.types != null and query.types.size > 0">
|
|
|
+ and type in
|
|
|
+ <foreach item="type" index="index" collection="query.types" open="(" separator="," close=")">
|
|
|
+ #{type, jdbcType=VARCHAR}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="query.deviceStatus != null and query.deviceStatus.size > 0">
|
|
|
+ and run_state in
|
|
|
+ <foreach item="status" index="index" collection="query.deviceStatus" open="(" separator="," close=")">
|
|
|
+ #{status, jdbcType=VARCHAR}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="query.deviceAlarms != null and query.deviceAlarms.size > 0">
|
|
|
+ or alarm in
|
|
|
+ <foreach item="alarm" index="index" collection="query.deviceAlarms" open="(" separator="," close=")">
|
|
|
+ #{alarm, jdbcType=VARCHAR}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="query.warnWillFinished != false or query.warnAnalgesicPoor != false or query.warnLowBattery != false">
|
|
|
+ and (
|
|
|
+ <choose>
|
|
|
+ <when test="query.warnWillFinished != false">warn_will_finished=1</when>
|
|
|
+ <otherwise>warn_will_finished!=1</otherwise>
|
|
|
+ </choose>
|
|
|
+ <if test="query.warnAnalgesicPoor != false">or warn_analgesic_poor=1 </if>
|
|
|
+ <if test="query.warnLowBattery != false"> or warn_low_battery=1 </if>
|
|
|
+
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+
|
|
|
+ </where>
|
|
|
+ ) as i on p.infusion_id=i.id
|
|
|
+ left join bus_clinic c on i.clinic_id=c.id
|
|
|
+ <where>
|
|
|
+ <if test="query.blurry != null">
|
|
|
+ p.`name` like concat('%', #{query.blurry}, '%') or p.`code` like concat('%', #{query.blurry}, '%') or i.ward LIKE concat('%', #{query.blurry}, '%') OR i.bed_no LIKE concat('%', #{query.blurry}, '%')
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+
|
|
|
+ </select>
|
|
|
</mapper>
|