<?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.ccsens.carbasics.persist.dao.FirstAidDao" >
<select id= "querySelf" resultType= "com.ccsens.carbasics.bean.vo.PatientVo$QueryPatientList" >
select a.id as firstAidId, a.name, a.gender, a.age, a.data_status as dataStatus,
a.value_type as demonstrate, a.type as type, r1.answer as record1, r2.answer as record2,
a.project_id as projectId, m.record_user_id as recordUserId, r3.answer as probableCase
from
(select a.* from t_qcp_first_aid a, t_organization_project o where a.hospital_id = o.organization_id and o.project_id = #{param.projectId} and a.rec_status = 0 and o.rec_status = 0 )a
left join t_qcp_first_aid_member m
on a.id = m.first_aid_id and m.rec_status = 0
left join t_qcp_first_aid_record r
on a.id = r.first_aid_id
and r.question_code = 'CYQK-CYSJ' and r.rec_status = 0
left join t_qcp_first_aid_record r1 on a.id = r1.first_aid_id and r1.rec_status = 0
<choose >
<when test= "param.firstAidType == 0" > and r1.question_code='JBXX-FBSJ'</when>
<when test= "param.firstAidType == 1" > and r1.question_code='CYQK-CYSJ'</when>
</choose>
left join t_qcp_first_aid_record r2 on a.id = r2.first_aid_id and r2.rec_status = 0
<choose >
<when test= "param.firstAidType == 0" > and r2.question_code='JBXX-DYSJ'</when>
<when test= "param.firstAidType == 1" > and r2.question_code='CYQK-LYFS'</when>
</choose>
left join t_qcp_first_aid_record r3 on a.id = r3.first_aid_id and r3.question_code='CJBL-YSBL' and r3.rec_status = 0
where
<choose >
<when test= "param.firstAidType == 0" > r.id is null</when>
<when test= "param.firstAidType == 1" > r.id is not null</when>
<otherwise > r.id is null</otherwise>
</choose>
<if test= "param.name != null and param.name != ''" >
and a.name like concat('%', #{param.name}, '%')
</if>
<choose >
<when test= "param.type == 0" >
and m.create_user_id = #{userId}
</when>
<when test= "param.type == 1" >
and m.record_user_id in (#{userId}, 0)
</when>
</choose>
</select>
<select id= "getIdByProjectId" resultType= "com.ccsens.carbasics.bean.po.FirstAid" >
SELECT
*
FROM
t_qcp_first_aid
WHERE
rec_status = 0
AND project_id = #{projectId}
LIMIT 1
</select>
<select id= "queryPatientListByQuality"
resultType="com.ccsens.carbasics.bean.vo.PatientVo$PatientListByQuality">
SELECT
t.*,
t1.answer AS hospitalNumber,
t2.answer AS arriveHospitalTime,
count( t3.id ) AS times
FROM
(
SELECT
id as firstAidId,
`name`,
gender,
age,
`type`,
nation,
idcard,
data_status AS dataStatus
FROM
t_qcp_first_aid
WHERE
data_status = #{param.dataStatus}
<if test= "param.name!=null and param.name!=''" >
AND `name` LIKE concat('%',#{param.name},'%')
</if>
<if test= "param.idcard!=null and param.idcard!=''" >
AND idcard LIKE concat('%',#{param.idcard},'%')
</if>
AND rec_status = 0
AND hospital_id = #{hospitalId}
AND type = #{template}
) t
LEFT JOIN t_qcp_first_aid_record t1 ON t.id = t1.first_aid_id
AND t1.question_code = 'JBXX-ZYH'
AND t1.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t2 ON t.id = t2.first_aid_id
AND t2.question_code = 'JBXX-DYSJ'
AND t2.rec_status = 0
LEFT JOIN t_qcp_first_aid_log t3 ON t.id = t3.first_aid_id
AND t3.operation_type = 3
AND t3.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t4 ON t.id = t4.first_aid_id
AND t4.question_code = 'CYQK-CYSJ'
AND t4.rec_status = 0
WHERE
t4.id IS NULL
<if test= "param.hospitalNumber!=null and param.hospitalNumber!=''" >
AND t1.answer LIKE concat('%',#{param.hospitalNumber},'%')
</if>
<if test= "param.startTime!=null and param.startTime!=0" >
AND t2.answer + 0 > = #{param.startTime}
</if>
<if test= "param.endTime!=null and param.endTime!=0" >
AND t2.answer + 0 < #{param.endTime}
</if>
GROUP BY
t.id
</select>
<select id= "queryPatientListBySecretary"
resultType="com.ccsens.carbasics.bean.vo.PatientVo$PatientListByQuality">
SELECT
t.*,
t1.answer AS hospitalNumber,
t2.answer AS arriveHospitalTime,
count( t3.id ) AS times
FROM
(
SELECT
id,
NAME,
gender,
age,
type,
data_status AS dataStatus
FROM
t_qcp_first_aid
WHERE
data_status = #{param.dataStatus}
<if test= "param.name!=null and param.name!=''" >
AND `name` LIKE concat('%',#{param.name},'%')
</if>
<if test= "param.idcard!=null and param.idcard!=''" >
AND idcard LIKE concat('%',#{param.idcard},'%')
</if>
AND rec_status = 0
AND hospital_id in
<foreach collection= "hospitalList" open= "(" close= ")" separator= "," item= "hospitalId" >
#{hospitalId}
</foreach>
AND data_status in (1,3,5,6)
) t
LEFT JOIN t_qcp_first_aid_record t1 ON t.id = t1.first_aid_id
AND t1.question_code = 'JBXX-ZYH'
AND t1.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t2 ON t.id = t2.first_aid_id
AND t2.question_code = 'JBXX-DYSJ'
AND t2.rec_status = 0
LEFT JOIN t_qcp_first_aid_log t3 ON t.id = t3.first_aid_id
AND t3.operation_type = 3
AND t3.rec_status = 0
<trim prefix= "WHERE" prefixOverrides= "and" >
<if test= "param.hospitalNumber!=null and param.hospitalNumber!=''" >
AND t1.answer LIKE concat('%',#{param.hospitalNumber},'%')
</if>
<if test= "param.startTime!=null and param.startTime!=0" >
AND t2.answer + 0 > = #{param.startTime}
</if>
<if test= "param.endTime!=null and param.endTime!=0" >
AND t2.answer + 0 < #{param.endTime}
</if>
</trim>
GROUP BY
t.id
</select>
</mapper>