PostDischargePatientManage/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml

526 lines
19 KiB
XML

<?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.xinelu.manage.mapper.patientinfo.PatientInfoMapper">
<resultMap type="com.xinelu.manage.domain.patientinfo.PatientInfo" id="PatientInfoResult">
<result property="id" column="id"/>
<result property="residentId" column="resident_id"/>
<result property="patientName" column="patient_name"/>
<result property="patientPhone" column="patient_phone"/>
<result property="familyMemberPhone" column="family_member_phone"/>
<result property="birthDate" column="birth_date"/>
<result property="cardNo" column="card_no"/>
<result property="sex" column="sex"/>
<result property="address" column="address"/>
<result property="patientType" column="patient_type"/>
<result property="signStatus" column="sign_status"/>
<result property="signPatientRecordId" column="sign_patient_record_id"/>
<result property="serviceStatus" column="service_status"/>
<result property="signTime" column="sign_time"/>
<result property="visitMethod" column="visit_method"/>
<result property="attendingPhysicianId" column="attending_physician_id"/>
<result property="attendingPhysicianName" column="attending_physician_name"/>
<result property="mainDiagnosis" column="main_diagnosis"/>
<result property="hospitalAgencyId" column="hospital_agency_id"/>
<result property="hospitalAgencyName" column="hospital_agency_name"/>
<result property="campusAgencyId" column="campus_agency_id"/>
<result property="campusAgencyName" column="campus_agency_name"/>
<result property="departmentId" column="department_id"/>
<result property="departmentName" column="department_name"/>
<result property="wardId" column="ward_id"/>
<result property="wardName" column="ward_name"/>
<result property="responsibleNurse" column="responsible_nurse"/>
<result property="patientVisitRecordId" column="patient_visit_record_id"/>
<result property="visitSerialNumber" column="visit_serial_number"/>
<result property="admissionTime" column="admission_time"/>
<result property="dischargeTime" column="discharge_time"/>
<result property="patientPreHospitalizationId" column="patient_pre_hospitalization_id"/>
<result property="appointmentTreatmentGroup" column="appointment_treatment_group"/>
<result property="registrationNo" column="registration_no"/>
<result property="registrationDate" column="registration_date"/>
<result property="appointmentDate" column="appointment_date"/>
<result property="inHospitalNumber" column="in_hospital_number"/>
<result property="visitDate" column="visit_date"/>
<result property="dischargeMethod" column="discharge_method"/>
<result property="patientSource" column="patient_source"/>
<result property="surgicalName" column="surgical_name" />
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectPatientInfoVo">
select id,resident_id,
patient_name,
patient_phone,
family_member_phone,
birth_date,
card_no,
sex,
address,
patient_type,
sign_status,sign_patient_record_id,
sign_time,
visit_method, attending_physician_id, attending_physician_name, main_diagnosis,
hospital_agency_id, hospital_agency_name, campus_agency_id, campus_agency_name, department_id, department_name, ward_id, ward_name,
responsible_nurse, patient_visit_record_id, visit_serial_number,
admission_time, patient_pre_hospitalization_id, discharge_time, patient_pre_hospitalization_id, appointment_treatment_group,
registration_no, registration_date, appointment_date, in_hospital_number, visit_date, discharge_method,
patient_source, surgical_name, del_flag, create_by, create_time, update_by, update_time
from patient_info
</sql>
<select id="selectPatientInfoList" parameterType="com.xinelu.manage.dto.patientinfo.PatientInfoDto"
resultMap="PatientInfoResult">
<include refid="selectPatientInfoVo"/>
<where>
del_flag = 0
<if test="patientName != null and patientName != ''">
and patient_name = #{patientName}
</if>
<if test="patientPhone != null and patientPhone != ''">
and patient_phone like concat('%', #{patientPhone}, '%')
</if>
<if test="cardNo != null and cardNo != ''">
and card_no = #{cardNo}
</if>
<if test="patientType != null and patientType != ''">
<choose>
<when test="patientType == 'OUTPATIENT_DISCHARGE'.toString()">
and (patient_type = 'OUTPATIENT' or patient_type = 'DISCHARGED_PATIENT')
</when>
<otherwise>
and patient_type = #{patientType}
</otherwise>
</choose>
</if>
<if test="attendingPhysicianId != null">
and attending_physician_id = #{attendingPhysicianId}
</if>
<if test="mainDiagnosis != null and mainDiagnosis != ''">
and main_diagnosis like concat('%', #{mainDiagnosis}, '%')
</if>
<if test="hospitalAgencyId != null ">
and hospital_agency_id = #{hospitalAgencyId}
</if>
<if test="campusAgencyId != null ">
and campus_agency_id = #{campusAgencyId}
</if>
<if test="departmentId != null ">
and department_id = #{departmentId}
</if>
<if test="wardId != null ">
and ward_id = #{wardId}
</if>
<if test="visitMethod != null and visitMethod != ''">
and visit_method = #{visitMethod}
</if>
<if test="visitDateStart != null ">
and date_format(visit_date, '%y%m%d') >= date_format(#{visitDateStart}, '%y%m%d')
</if>
<if test="visitDateEnd != null ">
and date_format(visit_date, '%y%m%d') &lt;= date_format(#{visitDateEnd}, '%y%m%d')
</if>
<if test="admissionTimeStart != null ">
and date_format(admission_time,'%y%m%d') >= date_format(#{admissionTimeStart}, '%y%m%d')
</if>
<if test="admissionTimeEnd != null ">
and date_format(admission_time,'%y%m%d') &lt;= date_format(#{admissionTimeEnd}, '%y%m%d')
</if>
<if test="dischargeTimeStart != null ">
and date_format(discharge_time,'%y%m%d') >= date_format(#{dischargeTimeStart}, '%y%m%d')
</if>
<if test="dischargeTimeEnd != null ">
and date_format(discharge_time,'%y%m%d') &lt;= date_format(#{dischargeTimeEnd}, '%y%m%d')
</if>
<if test="appointmentDateStart != null ">
and date_format(appointment_date, '%y%m%d') >= date_format(#{appointmentDateStart}, '%y%m%d')
</if>
<if test="appointmentDateEnd != null ">
and date_format(appointment_date, '%y%m%d') &lt;= date_format(#{appointmentDateEnd}, '%y%m%d')
</if>
<if test="appointmentTreatmentGroup != null and appointmentTreatmentGroup != ''">
and appointment_treatment_group = #{appointmentTreatmentGroup}
</if>
<if test="registrationNo != null and registrationNo != ''">
and registration_no = #{registrationNo}
</if>
<if test="visitSerialNumber != null and visitSerialNumber != ''">
and visit_serial_number = #{visitSerialNumber}
</if>
<if test="responsibleNurse != null and responsibleNurse != ''">
and responsible_nurse = #{responsibleNurse}
</if>
<if test="patientSource != null and patientSource != ''">
and patient_source = #{patientSource}
</if>
<if test="surgicalName != null and surgicalName != ''">
and surgical_name = #{surgicalName}
</if>
</where>
</select>
<select id="selectPatientInfoById" parameterType="Long" resultMap="PatientInfoResult">
<include refid="selectPatientInfoVo" />
where id = #{id}
</select>
<select id="getPatientBaseInfo" parameterType="Long" resultType="com.xinelu.manage.vo.patientinfo.PatientBaseInfoVo">
select id, resident_id, patient_name, patient_phone, family_member_phone,
birth_date, card_no, sex, address
from patient_info
where id = #{id}
</select>
<insert id="insertPatientInfo" parameterType="com.xinelu.manage.domain.patientinfo.PatientInfo" useGeneratedKeys="true" keyProperty="id">
insert into patient_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="residentId != null">
resident_id,
</if>
<if test="patientName != null">
patient_name,
</if>
<if test="patientPhone != null">patient_phone,
</if>
<if test="familyMemberPhone != null">family_member_phone,
</if>
<if test="birthDate != null">birth_date,
</if>
<if test="cardNo != null">card_no,
</if>
<if test="sex != null">sex,
</if>
<if test="address != null">address,
</if>
<if test="patientType != null">patient_type,
</if>
<if test="signStatus != null">sign_status,
</if>
<if test="signPatientRecordId != null">sign_patient_record_id,
</if>
<if test="serviceStatus != null">service_status,
</if>
<if test="signTime != null">sign_time,
</if>
<if test="visitMethod != null">visit_method,
</if>
<if test="attendingPhysicianId != null">attending_physician_id,
</if>
<if test="attendingPhysicianName != null">attending_physician_name,
</if>
<if test="mainDiagnosis != null">main_diagnosis,
</if>
<if test="hospitalAgencyId != null">hospital_agency_id,
</if>
<if test="hospitalAgencyName != null">hospital_agency_name,
</if>
<if test="campusAgencyId != null">campus_agency_id,
</if>
<if test="campusAgencyName != null">campus_agency_name,
</if>
<if test="departmentId != null">department_id,
</if>
<if test="departmentName != null">department_name,
</if>
<if test="wardId != null">ward_id,
</if>
<if test="wardName != null">ward_name,
</if>
<if test="responsibleNurse != null">
responsible_nurse,
</if>
<if test="patientVisitRecordId != null">
patient_visit_record_id,
</if>
<if test="visitSerialNumber != null">
visit_serial_number,
</if>
<if test="admissionTime != null">
admission_time,
</if>
<if test="dischargeTime != null">
discharge_time,
</if>
<if test="patientPreHospitalizationId != null">
patient_pre_hospitalization_id,
</if>
<if test="appointmentTreatmentGroup != null">appointment_treatment_group,
</if>
<if test="registrationNo != null">registration_no,
</if>
<if test="registrationDate != null">registration_date,
</if>
<if test="appointmentDate != null">appointment_date,
</if>
<if test="inHospitalNumber != null">in_hospital_number,
</if>
<if test="visitDate != null">visit_date,
</if>
<if test="dischargeMethod != null">discharge_method,
</if>
<if test="patientSource != null">patient_source,
</if>
<if test="surgicalName != null">surgical_name,
</if>
<if test="delFlag != null">del_flag,
</if>
<if test="createBy != null">create_by,
</if>
<if test="createTime != null">create_time,
</if>
<if test="updateBy != null">update_by,
</if>
<if test="updateTime != null">update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="residentId != null">#{residentId},
</if>
<if test="patientName != null">#{patientName},
</if>
<if test="patientPhone != null">#{patientPhone},
</if>
<if test="familyMemberPhone != null">#{familyMemberPhone},
</if>
<if test="birthDate != null">#{birthDate},
</if>
<if test="cardNo != null">#{cardNo},
</if>
<if test="sex != null">#{sex},
</if>
<if test="address != null">#{address},
</if>
<if test="patientType != null">#{patientType},
</if>
<if test="signStatus != null">#{signStatus},
</if>
<if test="signPatientRecordId != null">#{signPatientRecordId},
</if>
<if test="serviceStatus != null">#{serviceStatus},
</if>
<if test="signTime != null">#{signTime},
</if>
<if test="visitMethod != null">#{visitMethod},
</if>
<if test="attendingPhysicianId != null">#{attendingPhysicianId},
</if>
<if test="attendingPhysicianName != null">#{attendingPhysicianName},
</if>
<if test="mainDiagnosis != null">#{mainDiagnosis},
</if>
<if test="hospitalAgencyId != null">#{hospitalAgencyId},
</if>
<if test="hospitalAgencyName != null">#{hospitalAgencyName},
</if>
<if test="campusAgencyId != null">#{campusAgencyId},
</if>
<if test="campusAgencyName != null">#{campusAgencyName},
</if>
<if test="departmentId != null">#{departmentId},
</if>
<if test="departmentName != null">#{departmentName},
</if>
<if test="wardId != null">#{wardId},
</if>
<if test="wardName != null">#{wardName},
</if>
<if test="responsibleNurse != null">#{responsibleNurse},
</if>
<if test="patientVisitRecordId != null">#{patientVisitRecordId},
</if>
<if test="visitSerialNumber != null">#{visitSerialNumber},
</if>
<if test="admissionTime != null">#{admissionTime},
</if>
<if test="dischargeTime != null">#{dischargeTime},
</if>
<if test="patientPreHospitalizationId != null">
#{patientPreHospitalizationId},
</if>
<if test="appointmentTreatmentGroup != null">#{appointmentTreatmentGroup},
</if>
<if test="registrationNo != null">#{registrationNo},
</if>
<if test="registrationDate != null">#{registrationDate},
</if>
<if test="appointmentDate != null">#{appointmentDate},
</if>
<if test="inHospitalNumber != null">#{inHospitalNumber},
</if>
<if test="visitDate != null">#{visitDate},
</if>
<if test="dischargeMethod != null">#{dischargeMethod},
</if>
<if test="patientSource != null">#{patientSource},
</if>
<if test="surgicalName != null">#{surgicalName},
</if>
<if test="delFlag != null">#{delFlag},
</if>
<if test="createBy != null">#{createBy},
</if>
<if test="createTime != null">#{createTime},
</if>
<if test="updateBy != null">#{updateBy},
</if>
<if test="updateTime != null">#{updateTime},
</if>
</trim>
</insert>
<update id="updatePatientInfo" parameterType="com.xinelu.manage.domain.patientinfo.PatientInfo">
update patient_info
<trim prefix="SET" suffixOverrides=",">
<if test="residentId != null">
resident_id = #{residentId},
</if>
<if test="patientName != null">
patient_name = #{patientName},
</if>
<if test="patientPhone != null">
patient_phone = #{patientPhone},
</if>
<if test="familyMemberPhone != null">
family_member_phone = #{familyMemberPhone},
</if>
<if test="birthDate != null">
birth_date = #{birthDate},
</if>
<if test="cardNo != null">
card_no = #{cardNo},
</if>
<if test="sex != null">
sex = #{sex},
</if>
<if test="address != null">
address = #{address},
</if>
<if test="patientType != null">
patient_type = #{patientType},
</if>
<if test="signStatus != null">sign_status =
#{signStatus},
</if>
<if test="signPatientRecordId != null">sign_patient_record_id = #{signPatientRecordId},
</if>
<if test="serviceStatus != null">service_status = #{serviceStatus},
</if>
<if test="signTime != null">sign_time =
#{signTime},
</if>
<if test="visitMethod != null">visit_method =
#{visitMethod},
</if>
<if test="attendingPhysicianId != null">attending_physician_id =
#{attendingPhysicianId},
</if>
<if test="attendingPhysicianName != null">attending_physician_name =
#{attendingPhysicianName},
</if>
<if test="mainDiagnosis != null">main_diagnosis =
#{mainDiagnosis},
</if>
<if test="hospitalAgencyId != null">hospital_agency_id =
#{hospitalAgencyId},
</if>
<if test="hospitalAgencyName != null">hospital_agency_name =
#{hospitalAgencyName},
</if>
<if test="campusAgencyId != null">campus_agency_id =
#{campusAgencyId},
</if>
<if test="campusAgencyName != null">campus_agency_name =
#{campusAgencyName},
</if>
<if test="departmentId != null">department_id =
#{departmentId},
</if>
<if test="departmentName != null">department_name =
#{departmentName},
</if>
<if test="wardId != null">ward_id =
#{wardId},
</if>
<if test="wardName != null">ward_name =
#{wardName},
</if>
<if test="responsibleNurse != null">responsible_nurse =
#{responsibleNurse},
</if>
<if test="patientVisitRecordId != null">patient_visit_record_id =
#{patientVisitRecordId},
</if>
<if test="visitSerialNumber != null">visit_serial_number =
#{visitSerialNumber},
</if>
<if test="admissionTime != null">
admission_time = #{admissionTime},
</if>
<if test="dischargeTime != null">
discharge_time = #{dischargeTime},
</if>
<if test="patientPreHospitalizationId != null">
patient_pre_hospitalization_id = #{patientPreHospitalizationId},
</if>
<if test="appointmentTreatmentGroup != null">appointment_treatment_group =
#{appointmentTreatmentGroup},
</if>
<if test="registrationNo != null">registration_no =
#{registrationNo},
</if>
<if test="registrationDate != null">registration_date =
#{registrationDate},
</if>
<if test="appointmentDate != null">appointment_date =
#{appointmentDate},
</if>
<if test="inHospitalNumber != null">in_hospital_number =
#{inHospitalNumber},
</if>
<if test="visitDate != null">visit_date =
#{visitDate},
</if>
<if test="dischargeMethod != null">discharge_method =
#{dischargeMethod},
</if>
<if test="patientSource != null">patient_source =
#{patientSource},
</if>
<if test="surgicalName != null">surgical_name =
#{surgicalName},
</if>
<if test="delFlag != null">del_flag =
#{delFlag},
</if>
<if test="createBy != null">create_by =
#{createBy},
</if>
<if test="createTime != null">create_time =
#{createTime},
</if>
<if test="updateBy != null">update_by =
#{updateBy},
</if>
<if test="updateTime != null">update_time =
#{updateTime},
</if>
</trim>
where id = #{id}
</update>
<update id="deletePatientInfoById" parameterType="Long">
update patient_info set del_flag = 1
where id = #{id}
</update>
<update id="deletePatientInfoByIds" parameterType="String">
update patient_info set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</update>
</mapper>