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.
jp2demo/src/main/resources/mapper/mysql/BasicMapper.xml

222 lines
7.9 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.demo.mapper.mysql.BasicMapper">
<insert id="insertOrUpdateByid">
insert into docus_medicalrecord.t_basic
(patient_id,admiss_times,inpatient_no,admiss_id,
name,sex,age,id_card,
admiss_date,admiss_dept,admiss_dept_name,dis_date,
dis_dept,dis_dept_name,main_diag_code,main_diag_name,
main_operate_code,main_operate_name,create_time,is_archive,
file_source,b_column5,b_column8,archive_file_storage_type,
scan_upload_state
)
values
<foreach collection="list" item="item" separator=",">
(#{item.patientId},#{item.admissTimes},#{item.inpatientNo},#{item.admissId},
#{item.name},#{item.sex},#{item.age},#{item.idCard},
#{item.admissDate},#{item.admissDept},#{item.admissDeptName},#{item.disDate},
#{item.disDept},#{item.disDeptName},#{item.mainDiagCode},#{item.mainDiagName},
#{item.mainOperateCode},#{item.mainOperateName},#{item.createTime},#{item.isArchive},
#{item.fileSource},#{item.bColumn5},#{item.bColumn8},#{item.archiveFileStorageType},
#{item.scanUploadState}
)
</foreach>
ON DUPLICATE KEY UPDATE id_card = VALUES(id_card)
,admiss_dept = VALUES(admiss_dept)
,admiss_dept_name = VALUES(admiss_dept_name)
,dis_dept = VALUES(dis_dept)
,dis_dept_name = VALUES(dis_dept_name)
,is_archive = VALUES(is_archive);
</insert>
<insert id="insertOrUpdateTbasicSub">
insert into docus_medicalrecord.t_basic_sub
(patient_id,birthday)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.patientId},#{item.birthday})
</foreach>
ON DUPLICATE KEY UPDATE birthday = VALUES(birthday);
</insert>
<insert id="addBasic">
insert into docus_medicalrecord.t_basic
(patient_id,admiss_times,inpatient_no,admiss_id,
name,sex_name,age,id_card,
admiss_date,admiss_dept,admiss_dept_name,dis_date,
dis_dept,dis_dept_name,main_diag_code,main_diag_name,
main_operate_code,main_operate_name,create_time,is_archive,
file_source,b_column5,b_column8,archive_file_storage_type,
scan_upload_state,ward_palce,scan_source
)
values
<foreach collection="list" item="item" separator=",">
(#{item.patientId},#{item.admissTimes},#{item.inpatientNo},#{item.admissId},
#{item.name},#{item.sex},#{item.age},#{item.idCard},
#{item.admissDate},#{item.admissDept},#{item.admissDeptName},#{item.disDate},
#{item.disDept},#{item.disDeptName},#{item.mainDiagCode},#{item.mainDiagName},
#{item.mainOperateCode},#{item.mainOperateName},#{item.createTime},#{item.isArchive},
#{item.fileSource},#{item.bColumn5},#{item.bColumn8},#{item.archiveFileStorageType},
#{item.scanUploadState}, #{item.wardPalce},#{item.scanSource}
)
</foreach>
</insert>
<update id="updateScanStatus">
update docus_medicalrecord.t_basic
set scan_source = 1 ,
scan_upload_state = 3
WHERE patient_id = #{pid}
</update>
<update id="updateScanBasicCorrect">
update docus_medicalrecord.t_basic set patient_id=#{newPatId} ,ph=#{ph} where patient_id=#{oldPatId}
</update>
<delete id="delTbasicByAdmissId">
delete from docus_medicalrecord.t_basic where admiss_id=#{admissId}
</delete>
<delete id="delTbasicSub">
delete from docus_medicalrecord.t_basic_sub where patient_id=#{patientId}
</delete>
<delete id="delTbasic">
delete from docus_medicalrecord.t_basic
where patient_id in
<foreach collection="pidList" item="pid" separator="," open="(" close=")">
#{pid}
</foreach>
</delete>
<select id="getBasicVoList" resultType="com.docus.demo.vo.BasicVo">
SELECT
patient_id as patient_id,
admiss_times AS admissTimes,
inpatient_no AS inpatientNo,
dis_date AS disDate,
b_column5 as bColumn5
FROM docus_medicalrecord.t_basic
<where>
b_column5 is not null
<if test="list != null and list.size() != 0 ">
AND inpatient_no in
<foreach collection="list" item="inpatientNo" separator="," open="(" close=")">
#{inpatientNo}
</foreach>
</if>
<if test="dto.startDate !=null and dto.startDate != ''">
AND dis_date &gt;= #{dto.startDate}
</if>
<if test="dto.endDate !=null and dto.endDate != ''">
AND dis_date &lt;= #{dto.endDate}
</if>
</where>
order by dis_date asc
limit #{pageStart} ,#{pageEnd}
</select>
<select id="getOldBasicList" resultType="com.docus.demo.entity.Tbasic">
SELECT
patient_id,
admiss_times,
inpatient_no,
admiss_date,
`name`,
dis_date
FROM
docus_medicalrecord.t_basic
where
1=1
<if test="list !=null and list.size() != 0 ">
AND inpatient_no in
<foreach collection="list" item="inpatientNo" separator="," open="(" close=")">
#{inpatientNo}
</foreach>
</if>
<if test="dto.startDate !=null and dto.startDate != ''">
AND dis_date &gt;=#{dto.startDate}
</if>
<if test="dto.startDate !=null and dto.startDate != ''">
AND dis_date &lt;= #{dto.endDate}
</if>
</select>
<select id="getOldBasicListLimit" resultType="com.docus.demo.entity.Tbasic">
SELECT
patient_id,
admiss_times,
inpatient_no,
admiss_date,
`name`,
dis_date
FROM
docus_medicalrecord.t_basic
where
1=1
<if test="list !=null and list.size() != 0 ">
AND inpatient_no in
<foreach collection="list" item="inpatientNo" separator="," open="(" close=")">
#{inpatientNo}
</foreach>
</if>
<if test="dto.startDate !=null and dto.startDate != ''">
AND dis_date &gt;=#{dto.startDate}
</if>
<if test="dto.startDate !=null and dto.startDate != ''">
AND dis_date &lt;= #{dto.endDate}
</if>
limit #{pageStart} ,#{pageEnd}
</select>
<select id="getTbasicByAdmissId" resultType="com.docus.demo.entity.Tbasic">
select patient_id,
ph,
admiss_times,
inpatient_no,
admiss_date,
`name`,
dis_date
from docus_medicalrecord.t_basic
where admiss_id = #{admissId}
</select>
<select id="getTbasicByPatientId" resultType="com.docus.demo.entity.Tbasic">
select patient_id,
ph,
admiss_times,
inpatient_no,
admiss_date,
`name`,
dis_date
from docus_medicalrecord.t_basic
where patient_id = #{patientId}
</select>
<select id="getTbasicByInpatientNo" resultType="com.docus.demo.entity.Tbasic">
SELECT
patient_id,
admiss_times,
inpatient_no,
admiss_date,
`name`,
dis_date,
ph
FROM
docus_medicalrecord.t_basic
where
inpatient_no = #{inpatientNo}
</select>
<select id="getInpatientNos" resultType="java.lang.String">
SELECT
inpatient_no
FROM
docus_medicalrecord.t_basic
group by inpatient_no
</select>
</mapper>