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.

70 lines
2.4 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.bgts.mapper.dbmysql.AfCollectAddMapper">
<select id="getTimeByAdd" resultType="date">
select begin_stage_date from af_collect_add where classify=#{classIfy} limit 0,1
</select>
<select id="listJzh" resultType="string">
select jzh
from docus_medicalrecord.t_basic
where jzh is not null
order by create_time desc
limit ${pageNumber},${pageSize}
</select>
<select id="integrality" resultType="map">
<foreach collection="mzSyncs" item="mzSync" separator=" union all ">
SELECT
ifnull( GROUP_CONCAT( concat( file_title, '缺失' ) ), '完整' ) AS file_title,${mzSync.jzh} as jzh
FROM
<foreach collection="mzSync.mzSyncDetails" item="mzSyncDetail" separator=" UNION ALL SELECT" open="( SELECT" close=") as t">
'${mzSyncDetail.serialnum}' as serialnum,
'${mzSyncDetail.fileTitle}' AS file_title
</foreach>
WHERE
serialnum NOT IN (
SELECT
a.serialnum
FROM
af_downfile a
JOIN docus_medicalrecord.t_basic b ON a.patient_id = b.patient_id
WHERE
b.jzh = #{mzSync.jzh}
AND a.serialnum IN
<foreach collection="mzSync.mzSyncDetails" close=")" open="(" separator="," item="mzSyncDetail">
'${mzSyncDetail.serialnum}'
</foreach>
)
</foreach>
</select>
<update id="updateTBasic">
update docus_medicalrecord.t_basic
set integrity_desc=#{result}
where jzh=#{jzh}
</update>
<select id="listJzhAndAdd" resultType="string">
SELECT
jzh
FROM
docus_medicalrecord.t_basic a
JOIN t_scan_assort b ON a.patient_id = b.patient_id
WHERE
<choose>
<when test="endDate != null and endDate != ''">
b.create_time BETWEEN #{startDate} AND concat(#{endDate},' 23:59:59')
</when>
<otherwise>
b.create_time >= #{startDate}
</otherwise>
</choose>
AND a.jzh IS NOT NULL
GROUP BY
jzh
limit ${front},${later}
</select>
</mapper>