Browse Source

20211105医院排名接口增加筛选项

master
zy_Java 4 years ago
parent
commit
0a57c2a5e2
  1. 92
      src/main/resources/mapper_dao/OrganizationDao.xml

92
src/main/resources/mapper_dao/OrganizationDao.xml

@ -376,6 +376,22 @@
AND p.rec_status = 0
AND o.rec_status = 0
</select>
<select id="getQcpHospitalId" resultType="java.lang.Long">
SELECT
h.id
FROM
t_organization o,
t_organization_project p,
qcp.t_qcp_hospital h
WHERE
o.id = p.organization_id
AND p.project_id = h.project_id
AND o.id = #{id}
AND o.rec_status = 0
AND p.rec_status = 0
AND h.rec_status = 0
</select>
<select id="hospitalRankStatistical" resultType="com.ccsens.carbasics.bean.vo.OrganizationVo$HospitalRankItem">
SELECT
d.user_id as userId,
@ -413,24 +429,44 @@
(
<choose>
<when test="type == 0">
<include refid="nnt"></include>
</when>
<when test="type == 1">
<include refid="dnt45"></include>
</when>
<when test="type == 2">
<include refid="dnt60"></include>
</when>
</choose>
)t on h.detail_id = t.detail_id
LEFT JOIN t_qcp_questionnaire_detail d on h.detail_id = d.id and rec_status = 0
WHERE
d.submit_status = 1
ORDER BY `value` DESC
</select>
<sql id="nnt">
SELECT
a1.detail_id as detail_id,
convert((a1.answer / a2.answer)*100,decimal(15,0)) as count
FROM
(SELECT
(
SELECT
questionnaire_detail_id as detail_id,
answer
FROM `t_qcp_questionnaire_record`
WHERE question_code = 'actual-Nnt' and rec_status = 0)a1,
(SELECT
WHERE question_code = 'actual-Nnt' and rec_status = 0
)a1,
(
SELECT
questionnaire_detail_id as detail_id,
answer
FROM `t_qcp_questionnaire_record`
WHERE question_code = 'AIS-Nnt' and rec_status = 0)a2
WHERE question_code = 'AIS-Nnt' and rec_status = 0
)a2
WHERE
a1.detail_id = a2.detail_id
</when>
<when test="type == 1">
</sql>
<sql id="dnt45">
SELECT
a1.detail_id as detail_id,
convert((a1.answer / (a1.answer + a2.answer + a3.answer))*100,decimal(15,0)) as count
@ -454,28 +490,30 @@
a1.detail_id = a2.detail_id
and a2.detail_id = a3.detail_id
and a1.detail_id = a3.detail_id
</when>
</choose>
)t on h.detail_id = t.detail_id
LEFT JOIN t_qcp_questionnaire_detail d on h.detail_id = d.id and rec_status = 0
WHERE
d.submit_status = 1
ORDER BY `value` DESC
</select>
<select id="getQcpHospitalId" resultType="java.lang.Long">
</sql>
<sql id="dnt60">
SELECT
h.id
a1.detail_id as detail_id,
convert(((a1.answer + a2.answer) / (a1.answer + a2.answer + a3.answer))*100,decimal(15,0)) as count
FROM
t_organization o,
t_organization_project p,
qcp.t_qcp_hospital h
(SELECT
questionnaire_detail_id as detail_id,
answer
FROM `t_qcp_questionnaire_record`
WHERE question_code = '45-Nnt' and rec_status = 0)a1,
(SELECT
questionnaire_detail_id as detail_id,
answer
FROM `t_qcp_questionnaire_record`
WHERE question_code = '60-Nnt' and rec_status = 0)a2,
(SELECT
questionnaire_detail_id as detail_id,
answer
FROM `t_qcp_questionnaire_record`
WHERE question_code = '61-Nnt' and rec_status = 0)a3
WHERE
o.id = p.organization_id
AND p.project_id = h.project_id
AND o.id = #{id}
AND o.rec_status = 0
AND p.rec_status = 0
AND h.rec_status = 0
</select>
a1.detail_id = a2.detail_id
and a2.detail_id = a3.detail_id
and a1.detail_id = a3.detail_id
</sql>
</mapper>

Loading…
Cancel
Save