|
|
@@ -2,6 +2,70 @@
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<mapper namespace="com.coffee.bus.mapper.BusInfusionHistoryMapper">
|
|
|
|
|
|
+ <resultMap id="combineResult" type="com.coffee.bus.service.dto.CombineResult">
|
|
|
+ <result column="infusion_id" property="id"/>
|
|
|
+ <result column="device_id" property="deviceId"/>
|
|
|
+ <result column="classification" property="classification"/>
|
|
|
+ <result column="data_num" property="dataNumber"/>
|
|
|
+ <result column="clinic_id" property="clinicId"/>
|
|
|
+ <result column="device_type" property="type"/>
|
|
|
+ <result column="patient_code" property="patientCode"/>
|
|
|
+ <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="electric_quantity" property="electricQuantity"/>
|
|
|
+ <result column="run_state" property="runState"/>
|
|
|
+ <result column="device_alarm" property="alarm"/>
|
|
|
+ <result column="warn_flow" property="warnFlow"/>
|
|
|
+ <result column="warn_analgesic_poor" property="warnAnalgesicPoor"/>
|
|
|
+ <result column="warn_low_battery" property="warnLowBattery"/>
|
|
|
+ <result column="warn_will_finished" property="warnWillFinished"/>
|
|
|
+ <result column="infusion_start_time" property="infusionStartTime"/>
|
|
|
+ <result column="patient_name" property="patientName"/>
|
|
|
+ <result column="infusion_start_time" property="infusionStartTime"/>
|
|
|
+ <result column="infusion_finished" property="infusionFinished"/>
|
|
|
+ <result column="is_undo" property="isUndo"/>
|
|
|
+ <result column="last_upload_time" property="lastUploadTime"/>
|
|
|
+ <result column="undo_by" property="undoBy"/>
|
|
|
+ <result column="destroyer" property="destroyer"/>
|
|
|
+ <result column="witnesses" property="witnesses"/>
|
|
|
+ <result column="undo_time" property="undoTime"/>
|
|
|
+ <result column="surgery_name" property="surgeryName"/>
|
|
|
+ <result column="asa" property="asa"/>
|
|
|
+ <result column="patient_gender" property="patientGender"/>
|
|
|
+ <result column="patient_name" property="patientName"/>
|
|
|
+ <result column="patient_age" property="patientAge"/>
|
|
|
+ <result column="weight" property="weight"/>
|
|
|
+ <result column="height" property="height"/>
|
|
|
+ <result column="ana_doctor" property="anaDoctor"/>
|
|
|
+ <result column="ana_type" property="anaType"/>
|
|
|
+ <result column="anal_type" property="analType"/>
|
|
|
+ <result column="surgery_doctor" property="surgeryDoctor"/>
|
|
|
+ <result column="surgery_name" property="surgeryName"/>
|
|
|
+ <result column="formula" property="formula" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
|
|
+ <result column="entrust" property="entrust"/>
|
|
|
+ </resultMap>
|
|
|
|
|
|
<select id="currentInClinic" resultType="com.coffee.bus.entity.BusInfusionHistoryEntity">
|
|
|
select d.alias,i.* from
|
|
|
@@ -12,5 +76,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
+ <select id="queryPage" resultMap="combineResult">
|
|
|
+ select
|
|
|
+ i.id as infusion_id,
|
|
|
+ i.device_id as device_id,
|
|
|
+ i.classification as classification,
|
|
|
+ i.data_number as data_number,
|
|
|
+ i.clinic_id as clinic_id,
|
|
|
+ i.type as device_type,
|
|
|
+ i.patient_code as patient_code,
|
|
|
+ c.ward as ward,
|
|
|
+ c.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.electric_quantity as electric_quantity,
|
|
|
+ i.run_state as run_state,
|
|
|
+ i.alarm as alarm,
|
|
|
+ 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.start_time as infusion_start_time,
|
|
|
+ i.warn_flow as warn_flow,
|
|
|
+ i.finished as infusion_finished,
|
|
|
+ i.is_undo as is_undo,
|
|
|
+ i.last_upload_time as last_upload_time,
|
|
|
+ i.undo_by as undo_by,
|
|
|
+ i.destroyer as destroyer,
|
|
|
+ i.witnesses as witnesses,
|
|
|
+ i.undo_time as undo_time,
|
|
|
+ c.surgery_name as surgery_name,
|
|
|
+ c.asa as asa,
|
|
|
+ c.patient_gender as patient_gender,
|
|
|
+ c.`patient_name` as patient_name,
|
|
|
+ c.`patient_age` as patient_age,
|
|
|
+ c.weight as weight,
|
|
|
+ c.`height` as height,
|
|
|
+ c.ana_doctor as ana_doctor,
|
|
|
+ c.patient_age as patient_age,
|
|
|
+ c.ana_type as ana_type,
|
|
|
+ c.anal_type as anal_type,
|
|
|
+ c.surgery_doctor as surgery_doctor,
|
|
|
+ c.formula as formula,
|
|
|
+ c.entrust as entrust
|
|
|
+ from (select * from bus_infusion_history
|
|
|
+ <where>
|
|
|
+ <if test="query.startTimeRange != null and query.startTimeRange.size > 0">
|
|
|
+ and start_time > #{query.startTimeRange[0]}
|
|
|
+ <if test="query.startTimeRange.size >1 ">
|
|
|
+ and start_time < #{query.startTimeRange[1]}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.undoTimeRange != null and query.undoTimeRange.size > 0">
|
|
|
+ and undo_time > #{query.undoTimeRange[0]}
|
|
|
+ <if test="query.startTimeRange.size >1 ">
|
|
|
+ and undo_time < #{query.undoTimeRange[1]}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.deviceType != null">
|
|
|
+ and device_type = #{query.deviceType}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.deviceId != null">
|
|
|
+ and device_id like concat('%',#{query.deviceId},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.validPcaCountRange != null and query.validPcaCountRange.size > 0">
|
|
|
+ and pca_valid_count > #{query.validPcaCountRange[0]}
|
|
|
+ <if test="query.validPcaCountRange.size >1 ">
|
|
|
+ and pca_valid_count < #{query.validPcaCountRange[1]}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.inValidPcaCountRange != null and query.inValidPcaCountRange.size > 0">
|
|
|
+ and pca_invalid_count > #{query.inValidPcaCountRange[0]}
|
|
|
+ <if test="query.inValidPcaCountRange.size >1 ">
|
|
|
+ and pca_invalid_count < #{query.inValidPcaCountRange[1]}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <choose>
|
|
|
+ <when 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 test="query.warnFlow !=null">
|
|
|
+ or warn_flow= #{query.warnFlow}
|
|
|
+ </if>
|
|
|
+ )
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ <if test="query.warnFlow !=null">
|
|
|
+ and warn_flow= #{query.warnFlow}
|
|
|
+ </if>
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+
|
|
|
+ </where>
|
|
|
+ ) as i
|
|
|
+ JOIN (select * from bus_clinic
|
|
|
+ <where>
|
|
|
+ <if test="query.patientCode != null">
|
|
|
+ and patient_code like concat('%',#{query.patientCode},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.patientName != null">
|
|
|
+ and patient_name like concat('%',#{query.patientName},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.patientGender != null">
|
|
|
+ and patient_gender =#{query.patientGender}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.ageRange != null and query.ageRange.size > 0">
|
|
|
+ and patient_age > #{query.ageRange[0]}
|
|
|
+ <if test="query.ageRange.size >1 ">
|
|
|
+ and patient_age < #{query.ageRange[1]}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.weightRange != null and query.weightRange.size > 0">
|
|
|
+ and weight > #{query.weightRange[0]}
|
|
|
+ <if test="query.weightRange.size >1 ">
|
|
|
+ and weight < #{query.weightRange[1]}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.asa != null">
|
|
|
+ and asa like concat('%',#{query.asa},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.ward != null">
|
|
|
+ and ward like concat('%',#{query.ward},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.bedNo != null">
|
|
|
+ and bed_no like concat('%',#{query.bedNo},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.anaDoctor != null">
|
|
|
+ and ana_doctor like concat('%',#{query.anaDoctor},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+
|
|
|
+ <if test="query.anaType != null">
|
|
|
+ and ana_type like concat('%',#{query.anaType},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.analType != null">
|
|
|
+ and anal_type like concat('%',#{query.analType},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.drugName != null">
|
|
|
+ and formula like concat('%',#{query.drugName},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.surgeryDoctor != null">
|
|
|
+ and surgery_doctor like concat('%',#{query.surgeryDoctor},'%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="query.surgeryName != null">
|
|
|
+ and surgery_name like concat('%',#{query.surgeryName},'%')
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ ) as c
|
|
|
+ on i.clinic_id=c.id
|
|
|
+ </select>
|
|
|
|
|
|
</mapper>
|