PostDischargePatientManage/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml
zhuangyuanke dfbfce1964 11
2024-08-14 08:20:16 +08:00

803 lines
33 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 p.id,
p.resident_id,
p.patient_name,
p.patient_phone,
p.family_member_phone,
p.birth_date,
p.card_no,
p.sex,
p.address,
p.patient_type,
p.sign_status,
p.sign_patient_record_id,
p.service_status,
p.sign_time,
p.visit_method,
p.attending_physician_id,
p.attending_physician_name,
p.main_diagnosis,
p.hospital_agency_id,
p.hospital_agency_name,
p.campus_agency_id,
p.campus_agency_name,
p.department_id,
p.department_name,
p.ward_id,
p.ward_name,
p.responsible_nurse,
p.patient_visit_record_id,
p.visit_serial_number,
p.admission_time,
p.patient_pre_hospitalization_id,
p.discharge_time,
p.patient_pre_hospitalization_id,
p.appointment_treatment_group,
p.registration_no,
p.registration_date,
p.appointment_date,
p.in_hospital_number,
p.visit_date,
p.discharge_method,
p.patient_source,
p.surgical_name,
p.del_flag,
p.create_by,
p.create_time,
p.update_by,
p.update_time
from patient_info p
</sql>
<select id="selectPatientInfoList" parameterType="com.xinelu.manage.dto.patientinfo.PatientInfoDto"
resultMap="PatientInfoResult">
<include refid="selectPatientInfoVo"/>
<where>
p.del_flag = 0
<if test="residentId != null">
and p.resident_id = #{residentId}
</if>
<if test="patientName != null and patientName != ''">
and p.patient_name = #{patientName}
</if>
<if test="patientPhone != null and patientPhone != ''">
and p.patient_phone like concat('%', #{patientPhone}, '%')
</if>
<if test="cardNo != null and cardNo != ''">
and p.card_no = #{cardNo}
</if>
<if test="patientType != null and patientType != ''">
<choose>
<when test="patientType == 'OUTPATIENT_DISCHARGE'.toString()">
and (p.patient_type = 'OUTPATIENT' or p.patient_type = 'DISCHARGED_PATIENT')
</when>
<otherwise>
and p.patient_type = #{patientType}
</otherwise>
</choose>
</if>
<if test="attendingPhysicianId != null">
and p.attending_physician_id = #{attendingPhysicianId}
</if>
<if test="mainDiagnosis != null and mainDiagnosis != ''">
and p.main_diagnosis like concat('%', #{mainDiagnosis}, '%')
</if>
<if test="hospitalAgencyId != null ">
and p.hospital_agency_id = #{hospitalAgencyId}
</if>
<if test="campusAgencyId != null ">
and p.campus_agency_id = #{campusAgencyId}
</if>
<if test="departmentId != null ">
and p.department_id = #{departmentId}
</if>
<if test="wardId != null ">
and p.ward_id = #{wardId}
</if>
<if test="visitMethod != null and visitMethod != ''">
and p.visit_method = #{visitMethod}
</if>
<if test="visitDateStart != null ">
and date_format(p.visit_date, '%y%m%d') >= date_format(#{visitDateStart}, '%y%m%d')
</if>
<if test="visitDateEnd != null ">
and date_format(p.visit_date, '%y%m%d') &lt;= date_format(#{visitDateEnd}, '%y%m%d')
</if>
<if test="admissionTimeStart != null ">
and date_format(p.admission_time,'%y%m%d') >= date_format(#{admissionTimeStart}, '%y%m%d')
</if>
<if test="admissionTimeEnd != null ">
and date_format(p.admission_time,'%y%m%d') &lt;= date_format(#{admissionTimeEnd}, '%y%m%d')
</if>
<if test="dischargeTimeStart != null ">
and date_format(p.discharge_time,'%y%m%d') >= date_format(#{dischargeTimeStart}, '%y%m%d')
</if>
<if test="dischargeTimeEnd != null ">
and date_format(p.discharge_time,'%y%m%d') &lt;= date_format(#{dischargeTimeEnd}, '%y%m%d')
</if>
<if test="appointmentDateStart != null ">
and date_format(p.appointment_date, '%y%m%d') >= date_format(#{appointmentDateStart}, '%y%m%d')
</if>
<if test="appointmentDateEnd != null ">
and date_format(p.appointment_date, '%y%m%d') &lt;= date_format(#{appointmentDateEnd}, '%y%m%d')
</if>
<if test="appointmentTreatmentGroup != null and appointmentTreatmentGroup != ''">
and p.appointment_treatment_group = #{appointmentTreatmentGroup}
</if>
<if test="registrationNo != null and registrationNo != ''">
and p.registration_no = #{registrationNo}
</if>
<if test="visitSerialNumber != null and visitSerialNumber != ''">
and p.visit_serial_number = #{visitSerialNumber}
</if>
<if test="responsibleNurse != null and responsibleNurse != ''">
and p.responsible_nurse = #{responsibleNurse}
</if>
<if test="patientSource != null and patientSource != ''">
and p.patient_source = #{patientSource}
</if>
<if test="surgicalName != null and surgicalName != ''">
and p.surgical_name = #{surgicalName}
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</where>
order by p.id desc
</select>
<select id="getPatientList" parameterType="com.xinelu.manage.dto.patientinfo.PatientInfoDto"
resultType="com.xinelu.manage.vo.patientinfo.PatientInfoVo">
select p.*, count(p.manage_route_node_id) as taskNum, SUM(p.task_finish_status) as taskFinishNum,
SUM(p.task_execute_status) as taskExecuteNum,
case
when count(p.manage_route_node_id) = 0 then 0
else
ROUND(SUM(p.task_finish_status) / count(p.manage_route_node_id) * 100, 2) end as taskFinishRate,
case
when count(p.manage_route_node_id) = 0 then 0
else
ROUND(SUM(p.task_execute_status) / count(p.manage_route_node_id) * 100, 2) end as taskExecuteRate
from
patient_task_view p
<where>
<if test="residentId != null">
and p.resident_id = #{residentId}
</if>
<if test="patientName != null and patientName != ''">
and p.patient_name = #{patientName}
</if>
<if test="patientPhone != null and patientPhone != ''">
and p.patient_phone like concat('%', #{patientPhone}, '%')
</if>
<if test="cardNo != null and cardNo != ''">
and p.card_no = #{cardNo}
</if>
<if test="patientType != null and patientType != ''">
<choose>
<when test="patientType == 'OUTPATIENT_DISCHARGE'.toString()">
and (p.patient_type = 'OUTPATIENT' or p.patient_type = 'DISCHARGED_PATIENT')
</when>
<otherwise>
and p.patient_type = #{patientType}
</otherwise>
</choose>
</if>
<if test="attendingPhysicianId != null">
and p.attending_physician_id = #{attendingPhysicianId}
</if>
<if test="mainDiagnosis != null and mainDiagnosis != ''">
and p.main_diagnosis like concat('%', #{mainDiagnosis}, '%')
</if>
<if test="hospitalAgencyId != null ">
and p.hospital_agency_id = #{hospitalAgencyId}
</if>
<if test="campusAgencyId != null ">
and p.campus_agency_id = #{campusAgencyId}
</if>
<if test="departmentId != null ">
and p.department_id = #{departmentId}
</if>
<if test="wardId != null ">
and p.ward_id = #{wardId}
</if>
<if test="visitMethod != null and visitMethod != ''">
and p.visit_method = #{visitMethod}
</if>
<if test="visitDateStart != null ">
and date_format(p.visit_date, '%y%m%d') >= date_format(#{visitDateStart}, '%y%m%d')
</if>
<if test="visitDateEnd != null ">
and date_format(p.visit_date, '%y%m%d') &lt;= date_format(#{visitDateEnd}, '%y%m%d')
</if>
<if test="admissionTimeStart != null ">
and date_format(p.admission_time,'%y%m%d') >= date_format(#{admissionTimeStart}, '%y%m%d')
</if>
<if test="admissionTimeEnd != null ">
and date_format(p.admission_time,'%y%m%d') &lt;= date_format(#{admissionTimeEnd}, '%y%m%d')
</if>
<if test="dischargeTimeStart != null ">
and date_format(p.discharge_time,'%y%m%d') >= date_format(#{dischargeTimeStart}, '%y%m%d')
</if>
<if test="dischargeTimeEnd != null ">
and date_format(p.discharge_time,'%y%m%d') &lt;= date_format(#{dischargeTimeEnd}, '%y%m%d')
</if>
<if test="appointmentDateStart != null ">
and date_format(p.appointment_date, '%y%m%d') >= date_format(#{appointmentDateStart}, '%y%m%d')
</if>
<if test="appointmentDateEnd != null ">
and date_format(p.appointment_date, '%y%m%d') &lt;= date_format(#{appointmentDateEnd}, '%y%m%d')
</if>
<if test="appointmentTreatmentGroup != null and appointmentTreatmentGroup != ''">
and p.appointment_treatment_group = #{appointmentTreatmentGroup}
</if>
<if test="registrationNo != null and registrationNo != ''">
and p.registration_no = #{registrationNo}
</if>
<if test="visitSerialNumber != null and visitSerialNumber != ''">
and p.visit_serial_number = #{visitSerialNumber}
</if>
<if test="responsibleNurse != null and responsibleNurse != ''">
and p.responsible_nurse = #{responsibleNurse}
</if>
<if test="patientSource != null and patientSource != ''">
and p.patient_source = #{patientSource}
</if>
<if test="surgicalName != null and surgicalName != ''">
and p.surgical_name = #{surgicalName}
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</where>
GROUP BY p.id order by p.id desc
</select>
<select id="getPatientNextTask" parameterType="Long"
resultType="com.xinelu.manage.vo.patientinfo.PatientNextTaskVo">
select p.task_name, p.execute_date_time
from patient_task_view p
where p.id = #{patientId}
and p.node_execute_status = 'UNEXECUTED'
order by p.execute_date_time limit 1
</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="updatePatientInfoSelective" 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="updatePatientInfo" parameterType="com.xinelu.manage.domain.patientinfo.PatientInfo">
update patient_info
set resident_id = #{residentId},
patient_name = #{patientName},
patient_phone = #{patientPhone},
family_member_phone = #{familyMemberPhone},
birth_date = #{birthDate},
card_no = #{cardNo},
sex = #{sex},
address = #{address},
patient_type = #{patientType},
sign_status = #{signStatus},
sign_patient_record_id = #{signPatientRecordId},
service_status = #{serviceStatus},
sign_time = #{signTime},
visit_method = #{visitMethod},
attending_physician_id = #{attendingPhysicianId},
attending_physician_name = #{attendingPhysicianName},
main_diagnosis = #{mainDiagnosis},
hospital_agency_id = #{hospitalAgencyId},
hospital_agency_name = #{hospitalAgencyName},
campus_agency_id = #{campusAgencyId},
campus_agency_name = #{campusAgencyName},
department_id = #{departmentId},
department_name = #{departmentName},
ward_id = #{wardId},
ward_name = #{wardName},
responsible_nurse = #{responsibleNurse},
patient_visit_record_id = #{patientVisitRecordId},
visit_serial_number = #{visitSerialNumber},
admission_time = #{admissionTime},
discharge_time = #{dischargeTime},
patient_pre_hospitalization_id = #{patientPreHospitalizationId},
appointment_treatment_group = #{appointmentTreatmentGroup},
registration_no = #{registrationNo},
registration_date = #{registrationDate},
appointment_date = #{appointmentDate},
in_hospital_number = #{inHospitalNumber},
visit_date = #{visitDate},
discharge_method = #{dischargeMethod},
patient_source = #{patientSource},
surgical_name = #{surgicalName},
del_flag = #{delFlag},
create_by = #{createBy},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime}
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>
<select id="getPatientInfoByOpenId" parameterType="string" resultType="ResidentInfo">
SELECT
id,
patient_name,
patient_phone,
family_member_phone,
birth_date,
card_no,
sex,
address,
open_id,
union_id,
official_account_openid,
avatar_picture_url
FROM
resident_info
<where>
del_flag = 0
<if test="openId != null and openId != ''">
and open_id = #{openId}
</if>
</where>
</select>
<select id="getPatientInfoCountByCreateTime" resultType="java.lang.Integer">
select
count(1)
from patient_info
where
del_flag = 0
<if test="firstDay != null">
and DATE(create_time) >= #{firstDay}
</if>
<if test="firstDay != null">
and DATE(create_time) &lt;= #{now}
</if>
</select>
<select id="selectPatientInfoCountBySignTime" resultType="java.lang.Integer">
select
count(1)
from patient_info
where
del_flag = 0
<if test="firstDay != null">
and DATE(sign_time) >= #{firstDay}
</if>
<if test="firstDay != null">
and DATE(sign_time) &lt;= #{now}
</if>
</select>
<select id="selectPatientSignTotalCount" resultType="java.lang.Integer">
select count(1)
from patient_info
where del_flag = 0
and (service_status = 'SERVICE_CENTER' or service_status = 'SERVICE_END')
</select>
<select id="selectPatientSignServiceCount" resultType="java.lang.Integer">
select count(1)
from patient_info
where del_flag = 0
and service_status = 'SERVICE_CENTER'
</select>
</mapper>