<?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.lyms.talkonlineweb.mapper.LymsPushIllnessMsgMapper">
<select id="getPatientIllenssType" resultType="com.lyms.talkonlineweb.result.PushIllnessTypeDataResult">
SELECT
p.id,
IF
( p.enrolment_phone IS NULL, pc.mobile, p.enrolment_phone ) AS phone,
p.ppasswd AS passwd,
p.gzopenid AS gzopenid,
p.pname,
pc.pcid,
pc.hname,
pc.dname,
pc.dtname,
d.`code`,
d.`value`,
d.illness_type AS illnessType,
m.illness_type AS pushIllness,
m.push_count AS pushCount,
m.push_type AS pushType,
pc.createdtime AS createdtime,
m.id AS mid
FROM
lyms_patient p
LEFT JOIN lyms_pcase pc ON pc.pid = p.id
LEFT JOIN lyms_illness i ON i.pcid = pc.pcid
LEFT JOIN lyms_dict d ON d.`code` = i.iid
AND d.vtype = 3
LEFT JOIN lyms_push_illness_msg m ON m.pcid = pc.pcid
WHERE
d.illness_type IS NOT NULL
AND
IF
(
( m.illness_type = 2 AND m.push_type = 1 AND m.push_count = 2 )
OR ( m.illness_type = 1 AND m.push_type = 1 ),
m.pcid IS NULL,
1 = 1
)
GROUP BY
id,
pcid
ORDER BY
id
</select>
</mapper>