You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RecordCollectService/src/main/resources/mapper/TBasicMapper.xml

262 lines
10 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.docus.server.collection.mapper.TBasicMapper">
<delete id="deleteByPatientId">
delete from `docus_medicalrecord`.`t_basic`
where `patient_id`=#{patientId};
</delete>
<select id="getPatientIdByInpatientNoAndAdminssTimes" resultType="java.lang.String">
select `patient_id`
from `docus_medicalrecord`.`t_basic`
where `inpatient_no` = #{inpatientNo}
and `admiss_times` = #{adminssTimes}
</select>
<insert id="insert">
INSERT INTO `docus_medicalrecord`.`t_basic`
(`admiss_days`,`is_dead`,`sex_name`,`bed_num`,`age`,`sex`,`id_card`,`dis_dept`,`patient_id`, `admiss_times`, `inpatient_no`,`name`, `admiss_date`,`admiss_dept`, `admiss_dept_name`, `dis_date`, `dis_dept_name`,`attending`,`attending_name`,`jzh`,`create_time`,b_column5,`ward_code`,`ward_name`,`is_other`)
VALUES
(#{tBasic.admissDays},#{tBasic.isDead},#{tBasic.sexName},#{tBasic.bedNum},#{tBasic.age},#{tBasic.sex},#{tBasic.idCard},
#{tBasic.disDept},#{tBasic.patientId},#{tBasic.admissTimes},#{tBasic.inpatientNo},
#{tBasic.name},#{tBasic.admissDate},#{tBasic.admissDept},#{tBasic.admissDeptName},#{tBasic.disDate},#{tBasic.disDeptName},
#{tBasic.attending},#{tBasic.attendingName},#{tBasic.jzh},now(),concat(#{tBasic.inpatientNo},'_',#{tBasic.admissTimes}),#{tBasic.wardCode},#{tBasic.wardName},#{tBasic.isOther})
</insert>
<insert id="insertExtend">
INSERT INTO `docus_medicalrecord`.`t_basic_extend`
(`patient_id`,`ward_code`,`ward_name`,`sdry_index`)
VALUES
(#{tBasicExtend.patientId},#{tBasicExtend.wardCode},#{tBasicExtend.wardName},#{tBasicExtend.sdryIndex})
</insert>
<insert id="saveNisRemoveFilesCount">
INSERT INTO `docus_medicalrecord`.`t_basic_extend`
(`patient_id`, `nurse_file_collect_remove_count`)
VALUES (#{patientId}, #{count})
on DUPLICATE KEY UPDATE
`nurse_file_collect_remove_count`=#{count};
</insert>
<update id="update">
UPDATE `docus_medicalrecord`.`t_basic`
<set>
<if test="tBasic.admissDays !=null ">
`admiss_days`=#{tBasic.admissDays},
</if>
<if test="tBasic.isDead !=null ">
`is_dead`=#{tBasic.isDead},
</if>
<if test="tBasic.sexName !=null ">
`sex_name`=#{tBasic.sexName},
</if>
<if test="tBasic.bedNum !=null ">
`bed_num`=#{tBasic.bedNum},
</if>
<if test="tBasic.age !=null ">
`age`=#{tBasic.age},
</if>
<if test="tBasic.sex !=null ">
`sex`=#{tBasic.sex},
</if>
<if test="tBasic.idCard !=null ">
`id_card`=#{tBasic.idCard},
</if>
<if test="tBasic.disDept !=null ">
`dis_dept`=#{tBasic.disDept},
</if>
<if test="tBasic.admissTimes !=null ">
`admiss_times`=#{tBasic.admissTimes},
</if>
<if test="tBasic.inpatientNo !=null ">
`inpatient_no`=#{tBasic.inpatientNo},
</if>
<if test="tBasic.name !=null ">
`name`=#{tBasic.name},
</if>
<if test="tBasic.admissDate !=null ">
`admiss_date`=#{tBasic.admissDate},
</if>
<if test="tBasic.admissDeptName !=null ">
`admiss_dept`=#{tBasic.admissDept},
</if>
<if test="tBasic.admissDeptName !=null ">
`admiss_dept_name`=#{tBasic.admissDeptName},
</if>
<if test="tBasic.disDeptName !=null ">
`dis_dept_name`=#{tBasic.disDeptName},
</if>
<if test="tBasic.attending !=null ">
`attending`=#{tBasic.attending},
</if>
<if test="tBasic.attendingName !=null ">
`attending_name`=#{tBasic.attendingName},
</if>
<if test="tBasic.wardCode !=null ">
`ward_code`=#{tBasic.wardCode},
</if>
<if test="tBasic.wardName !=null ">
`ward_name`=#{tBasic.wardName},
</if>
<if test="tBasic.isOther !=null ">
`is_other`=#{tBasic.isOther},
</if>
b_column5=CONCAT(inpatient_no,'_',admiss_times),
<if test="tBasic.disDate !=null ">
`dis_date`=#{tBasic.disDate},
</if>
`update_time`=now()
</set>
WHERE `patient_id`=#{tBasic.patientId,jdbcType=VARCHAR};
</update>
<update id="updateExtend">
INSERT INTO `docus_medicalrecord`.`t_basic_extend`
(`patient_id`,`ward_code`,`ward_name`,`sdry_index`)
VALUES
(#{tBasicExtend.patientId},#{tBasicExtend.wardCode},#{tBasicExtend.wardName},#{tBasicExtend.sdryIndex})
on DUPLICATE KEY UPDATE
`ward_code`=#{tBasicExtend.wardCode},
`ward_name`=#{tBasicExtend.wardName},
`sdry_index`=#{tBasicExtend.sdryIndex}
</update>
<update id="updateNursCollectState">
UPDATE `docus_medicalrecord`.`t_basic` set nurs_collect = #{state}
where patient_id=#{patientId}
</update>
<update id="setBedDoctor">
UPDATE `docus_medicalrecord`.`t_basic` set bed_doctor = #{bedDoctor},
bed_doctor_name = #{bedDoctorName}
where patient_id in
<foreach collection="patientIds" open="(" close=")" separator="," item="val">
#{val}
</foreach>
</update>
<select id="selectOne" resultType="java.lang.Integer">
select count(patient_id) from t_basic where jzh=#{jzh}
</select>
<select id="getPatientId" resultType="java.lang.String">
select patient_id from t_basic where jzh=#{jzh}
</select>
<select id="selectBasicListByAdmissDate" resultType="com.docus.server.collection.entity.TBasic">
select *
from `docus_medicalrecord`.`t_basic`
where admiss_date between #{admissStartDate} AND #{admissEndDate}
limit #{offset}
, #{size}
</select>
<select id="getSdRyIndexByPatientId" resultType="java.lang.String">
select sdry_index
from `docus_medicalrecord`.`t_basic_extend`
where patient_id=#{patientId}
</select>
<select id="selectBasicListByCreateOrUpdateTime" resultType="com.docus.server.collection.entity.TBasic">
select `patient_id`,
`admiss_times`,
`inpatient_no`,
`admiss_id`,
`ph`,
`sex`,
`age`,
`id_card`,
`admiss_date`,
`dis_date`,
`admiss_days`,
`create_time`,
`update_time`,
`file_source`,
`jzh`
from `docus_medicalrecord`.`t_basic`
where (`create_time` between #{startDate} AND #{endDate}
or `update_time` between #{startDate} AND #{endDate})
and `dis_date` > '1801-02-03 00:00:00'
limit #{offset}
, #{size}
</select>
<select id="selectBasicListByPatientIds" resultType="com.docus.server.collection.entity.TBasic">
select `patient_id`,
`admiss_times`,
`inpatient_no`,
`admiss_id`,
`ph`,
`sex`,
`age`,
`id_card`,
`admiss_date`,
`dis_date`,
`admiss_days`,
`create_time`,
`update_time`,
`file_source`,
`jzh`
from `docus_medicalrecord`.`t_basic`
where patient_id in <foreach collection="patientIds" item="patientId" open="(" close=")" separator=",">
#{patientId}
</foreach>
</select>
<select id="getNurseFileCount" resultType="java.lang.Integer">
select nurse_file_count
from `docus_medicalrecord`.`t_basic_extend`
WHERE patient_id=#{patientId}
</select>
<select id="getNurseRemoveFileCount" resultType="java.lang.Integer">
select ifnull(nurse_file_collect_remove_count,0)
from `docus_medicalrecord`.`t_basic_extend`
WHERE patient_id=#{patientId}
</select>
<select id="getSdRyIndex" resultType="java.lang.String">
select sdry_index
from `docus_medicalrecord`.`t_basic_extend`
WHERE patient_id=#{patientId}
</select>
<select id="getMaternalInfantRelationship" resultType="com.docus.server.report.entity.MaternalInfantRelationship">
SELECT *
FROM `docus_medicalrecord`.`t_maternal_infant_relationship`
where baby_id=#{babyIndex}
</select>
<select id="getPatientIdBySdRyIndexAndAdmissTimes" resultType="java.lang.String">
select t_basic_extend.patient_id
from `docus_medicalrecord`.`t_basic_extend`
INNER JOIN docus_medicalrecord.t_basic ON t_basic_extend.patient_id = t_basic.patient_id
WHERE t_basic_extend.sdry_index = #{sdRyIndex}
and t_basic.admiss_times = #{admissTimes}
</select>
<select id="getByPatientId" resultType="com.docus.server.collection.entity.TBasic">
select *
from `docus_medicalrecord`.`t_basic`
where patient_id=#{patientId}
</select>
<select id="getTBasicExt" resultType="com.docus.server.collection.entity.TBasicExtend">
select patient_id,ward_code, ward_name,sdry_index,qc_nurse,duty_nurse
from `docus_medicalrecord`.`t_basic_extend`
WHERE patient_id=#{patientId}
</select>
<select id="getNameByUserName" resultType="java.lang.String">
select `name` from docus_system.power_user where user_name=#{userName}
</select>
<select id="getAdmissTimesByInpNoAndReportTime" resultType="java.lang.Integer">
select admiss_times
from `docus_medicalrecord`.`t_basic`
where inpatient_no=#{inpatientNo}
and #{reportTime} BETWEEN admiss_date and dis_date
</select>
<select id="selectBasicListByInpNo" resultType="com.docus.server.collection.entity.TBasic">
select
*
from
`docus_medicalrecord`.`t_basic`
where inpatient_no=#{inpNo}
</select>
<select id="getPatientIds" resultType="java.lang.String">
select patient_id from t_basic
where inpatient_no=#{inpatientNo}
and admiss_times=#{admissTimes}
</select>
</mapper>