|
|
@ -221,4 +221,785 @@ |
|
|
|
AND SUBSTRING_INDEX(gediRszs.area,',',1) = a.id |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="dntTotalStatistics" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$DntTotalStatistics"> |
|
|
|
SELECT |
|
|
|
round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess60, |
|
|
|
round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess45 |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS `value40` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '45-Nnt' |
|
|
|
) AS answer45, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS `value60` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '60-Nnt' |
|
|
|
) AS answer60, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS `value61` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '61-Nnt' |
|
|
|
) AS answer61 |
|
|
|
</select> |
|
|
|
|
|
|
|
|
|
|
|
<select id="dntSynopsis" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$DntSynopsis"> |
|
|
|
SELECT |
|
|
|
<if test="areaId != null"> |
|
|
|
a.area_name AS cityName, |
|
|
|
</if> |
|
|
|
answer45.level AS `level`, |
|
|
|
round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess60, |
|
|
|
round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess45 |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
SUM( actual.answer ) AS `value40` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
|
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
|
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '45-Nnt' |
|
|
|
<if test="queryLevel == 0"> |
|
|
|
|
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="queryLevel == 1"> |
|
|
|
|
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
|
|
|
|
<if test="areaId != null"> |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{areaId} |
|
|
|
</if> |
|
|
|
|
|
|
|
) AS answer45, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS `value60` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
|
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
|
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '60-Nnt' |
|
|
|
<if test="queryLevel == 0"> |
|
|
|
|
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="queryLevel == 1"> |
|
|
|
|
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
|
|
|
|
<if test="areaId != null"> |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{areaId} |
|
|
|
</if> |
|
|
|
) AS answer60, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS `value61` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
|
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
|
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '61-Nnt' |
|
|
|
<if test="queryLevel == 0"> |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="queryLevel == 1"> |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
<if test="areaId != null"> |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{areaId} |
|
|
|
</if> |
|
|
|
) AS answer61 |
|
|
|
<if test="areaId != null"> |
|
|
|
, |
|
|
|
t_area AS a WHERE a.id = answer45.area AND a.rec_status = 0 |
|
|
|
</if> |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="dntDataForCity" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$DntData"> |
|
|
|
SELECT |
|
|
|
a.id AS areaId, |
|
|
|
a.area_name AS name, |
|
|
|
answer45.level, |
|
|
|
round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess60, |
|
|
|
round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess45, |
|
|
|
round((answer45all.value40+answer60all.value60)*100/(answer45all.value40+answer60all.value60+answer61all.value61),2) AS dntLess60All, |
|
|
|
round(answer45all.value40*100/(answer45all.value40+answer60all.value60+answer61all.value61),2) AS dntLess45All |
|
|
|
|
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
SUM(actual.answer) AS `value40` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '45-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer45, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
SUM(actual.answer) AS `value60` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '60-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer60, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
SUM(actual.answer) AS `value61` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '61-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer61, |
|
|
|
|
|
|
|
-- 各市DNT统计 不包含二三级 |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
SUM(actual.answer) AS `value40` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '45-Nnt' |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer45all, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
SUM(actual.answer) AS `value60` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '60-Nnt' |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer60all, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
SUM(actual.answer) AS `value61` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '61-Nnt' |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer61all, |
|
|
|
t_area AS a |
|
|
|
WHERE a.id = answer45.area |
|
|
|
AND answer45.area = answer60.area |
|
|
|
AND answer60.area = answer61.area |
|
|
|
AND answer45.area = answer45all.area |
|
|
|
AND answer45all.area = answer60all.area |
|
|
|
AND answer60all.area = answer61all.area |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="dntDataForHospital" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$DntData"> |
|
|
|
SELECT |
|
|
|
answer45.hospital AS name, |
|
|
|
answer45.`level`, |
|
|
|
IFNULL(round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2),0.00) AS dntLess60All, |
|
|
|
IFNULL(round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2),0.00) AS dntLess45All, |
|
|
|
answer45.VALUE40 AS dntLess45H, |
|
|
|
answer60.value60 AS dntLess60H, |
|
|
|
answer61.value61 AS dnt61H |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
hospital.answer AS hospital, |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
actual.answer AS `value40` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '45-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = 140100 |
|
|
|
-- 医院名 |
|
|
|
AND hospital.rec_status = 0 |
|
|
|
AND hospital.question_code = 'HOS-NAME' |
|
|
|
) AS answer45 |
|
|
|
LEFT JOIN |
|
|
|
( |
|
|
|
SELECT |
|
|
|
hospital.answer AS hospital, |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
actual.answer AS `value60` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '60-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = 140100 |
|
|
|
-- 医院名 |
|
|
|
AND hospital.rec_status = 0 |
|
|
|
AND hospital.question_code = 'HOS-NAME' |
|
|
|
) AS answer60 ON answer45.hospital = answer60.hospital |
|
|
|
LEFT JOIN |
|
|
|
( |
|
|
|
SELECT |
|
|
|
hospital.answer AS hospital, |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
actual.answer AS `value61` |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = '61-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = 140100 |
|
|
|
-- 医院名 |
|
|
|
AND hospital.rec_status = 0 |
|
|
|
AND hospital.question_code = 'HOS-NAME' |
|
|
|
) AS answer61 ON answer61.hospital = answer45.hospital |
|
|
|
ORDER BY (answer45.VALUE40+answer60.value60+answer61.value61) DESC |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="sichTotal" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$SichTotal"> |
|
|
|
SELECT |
|
|
|
round(answer1.sich*100/answer2.actual,2) AS sichTotal |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS sich |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'sICH-Nnt' |
|
|
|
) AS answer1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS actual |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'actual-Nnt' |
|
|
|
) AS answer2 |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="sichSynopsis" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$SichSynopsis"> |
|
|
|
SELECT |
|
|
|
<if test="areaId != null"> |
|
|
|
a.area_name AS cityName, |
|
|
|
</if> |
|
|
|
answer1.level, |
|
|
|
round(answer1.sich*100/answer2.actual,2) AS sichFsl |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
LEFT(`level`.answer,1) AS level, |
|
|
|
SUM( actual.answer ) AS sich |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'sICH-Nnt' |
|
|
|
<if test="queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
<if test="areaId != null"> |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{areaId} |
|
|
|
</if> |
|
|
|
) AS answer1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
SUM( actual.answer ) AS actual |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'actual-Nnt' |
|
|
|
<if test="queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
<if test="areaId != null"> |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{areaId} |
|
|
|
</if> |
|
|
|
) AS answer2 |
|
|
|
<if test="areaId != null"> |
|
|
|
, |
|
|
|
t_area AS a |
|
|
|
WHERE |
|
|
|
answer1.area = a.id |
|
|
|
</if> |
|
|
|
|
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="sichDataForCity" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$SichData"> |
|
|
|
-- 具体查询1 |
|
|
|
SELECT |
|
|
|
a1.areaId AS areaId, |
|
|
|
a1.area_name AS name, |
|
|
|
a1.lncx AS sichFsl, |
|
|
|
a2.lncxAll AS sichFslAll |
|
|
|
FROM |
|
|
|
(SELECT |
|
|
|
a.id AS areaId, |
|
|
|
a.area_name, |
|
|
|
round(answer1.sich*100/answer2.actual,2) AS lncx |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
qd.id AS detailId, |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
SUM( actual.answer ) AS sich |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'sICH-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
qd.id AS detailId, |
|
|
|
SUM( actual.answer ) AS actual |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'actual-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer2, |
|
|
|
t_area AS a |
|
|
|
WHERE |
|
|
|
answer1.area = a.id |
|
|
|
and answer1.detailId = answer2.detailId) AS a1, |
|
|
|
|
|
|
|
(SELECT |
|
|
|
a.area_name, |
|
|
|
round(answer3.sich*100/answer4.actual,2) AS lncxAll |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
qd.id AS detailId, |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
SUM( actual.answer ) AS sich |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'sICH-Nnt' |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer3, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
qd.id AS detailId, |
|
|
|
SUM( actual.answer ) AS actual |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'actual-Nnt' |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
GROUP BY SUBSTRING_INDEX(area.answer,',',1) |
|
|
|
) AS answer4, |
|
|
|
t_area AS a |
|
|
|
WHERE |
|
|
|
answer3.area = a.id |
|
|
|
and answer3.detailId = answer4.detailId) AS a2 |
|
|
|
WHERE a1.area_name = a2.area_name |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="sichDataForHospital" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$SichData"> |
|
|
|
SELECT |
|
|
|
answer1.`name` AS name, |
|
|
|
IFNULL(round(answer1.sich*100/answer2.actual,2),0.00) AS sichFsl, |
|
|
|
answer1.sich AS sICHNnt |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
hospital.answer AS name, |
|
|
|
qd.id AS detailId, |
|
|
|
SUBSTRING_INDEX(area.answer,',',1) AS area, |
|
|
|
actual.answer AS sich |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'sICH-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{param.areaId} |
|
|
|
-- 医院 |
|
|
|
AND hospital.rec_status = 0 |
|
|
|
AND hospital.question_code = 'HOS-NAME' |
|
|
|
) AS answer1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
qd.id AS detailId, |
|
|
|
actual.answer AS actual |
|
|
|
FROM |
|
|
|
t_qcp_questionnaire_record AS actual |
|
|
|
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id |
|
|
|
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id |
|
|
|
WHERE |
|
|
|
actual.rec_status = 0 |
|
|
|
AND qd.rec_status = 0 |
|
|
|
AND qd.submit_status = 1 |
|
|
|
AND actual.question_code = 'actual-Nnt' |
|
|
|
<if test="param.queryLevel == 0"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '三级' |
|
|
|
</if> |
|
|
|
<if test="param.queryLevel == 1"> |
|
|
|
-- 等级 |
|
|
|
AND `level`.rec_status = 0 |
|
|
|
AND `level`.question_code = 'HOS-LEVEL' |
|
|
|
AND `level`.answer = '二级' |
|
|
|
</if> |
|
|
|
-- 地区 |
|
|
|
AND `area`.rec_status = 0 |
|
|
|
AND `area`.question_code = 'CITY-COUNTY' |
|
|
|
AND SUBSTRING_INDEX(area.answer,',',1) = #{param.areaId} |
|
|
|
) AS answer2, |
|
|
|
t_area AS a |
|
|
|
WHERE |
|
|
|
answer1.area = a.id |
|
|
|
and answer1.detailId = answer2.detailId |
|
|
|
</select> |
|
|
|
|
|
|
|
</mapper> |