|
|
@ -428,21 +428,47 @@ |
|
|
|
LEFT JOIN |
|
|
|
( |
|
|
|
<choose> |
|
|
|
<when test="type == 0"> |
|
|
|
<when test="type == 1"> |
|
|
|
<include refid="nnt"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 1"> |
|
|
|
<when test="type == 2"> |
|
|
|
<include refid="dnt45"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 2"> |
|
|
|
<when test="type == 3"> |
|
|
|
<include refid="dnt60"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 4"> |
|
|
|
<include refid="sich"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 5"> |
|
|
|
<include refid="qjxgnzll"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 6"> |
|
|
|
<include refid="fqjxgnzll"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 7"> |
|
|
|
<include refid="fqjDPT90"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 8"> |
|
|
|
<include refid="fqjDPT60"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 9"> |
|
|
|
<include refid="fqjPRT60"></include> |
|
|
|
</when> |
|
|
|
<when test="type == 10"> |
|
|
|
<include refid="fqjPRT30"></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 |
|
|
|
<if test="type == 4"> |
|
|
|
ORDER BY `value` |
|
|
|
</if> |
|
|
|
<if test="type != 4"> |
|
|
|
ORDER BY `value` DESC |
|
|
|
</if> |
|
|
|
</select> |
|
|
|
<sql id="nnt"> |
|
|
|
SELECT |
|
|
@ -516,4 +542,277 @@ |
|
|
|
and a2.detail_id = a3.detail_id |
|
|
|
and a1.detail_id = a3.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="sich"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
a1.answer * 100 / a2.answer, |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'sICH-Nnt' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'actual-Nnt' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="qjxgnzll"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
a1.answer * 100 / a2.answer, |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-sICH-Nnt' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-RSH-Nnt' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="fqjxgnzll"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
a1.answer * 100 / a2.answer, |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-actual-Nnt' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-FIT-Nnt' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="fqjDPT90"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
a1.answer * 100 / ( |
|
|
|
a1.answer + a2.answer + a3.answer |
|
|
|
), |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-DPT-60' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-DPT-89' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-DPT-91' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a3 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
and a2.detail_id = a3.detail_id |
|
|
|
and a1.detail_id = a3.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="fqjDPT60"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
(a1.answer + a2.answer) / ( |
|
|
|
a1.answer + a2.answer + a3.answer |
|
|
|
) * 100, |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-DPT-60' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-DPT-89' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-DPT-91' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a3 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
and a2.detail_id = a3.detail_id |
|
|
|
and a1.detail_id = a3.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="fqjPRT60"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
(a1.answer + a2.answer) / ( |
|
|
|
a1.answer + a2.answer + a3.answer |
|
|
|
) * 100, |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-PRT-29' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-PRT-59' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-PRT-62' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a3 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
and a2.detail_id = a3.detail_id |
|
|
|
and a1.detail_id = a3.detail_id |
|
|
|
</sql> |
|
|
|
<sql id="fqjPRT30"> |
|
|
|
SELECT |
|
|
|
a1.detail_id AS detail_id, |
|
|
|
CONVERT ( |
|
|
|
a1.answer / ( |
|
|
|
a1.answer + a2.answer + a3.answer |
|
|
|
) * 100, |
|
|
|
DECIMAL (15, 0) |
|
|
|
) AS count |
|
|
|
FROM |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-PRT-29' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a1, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-PRT-59' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a2, |
|
|
|
( |
|
|
|
SELECT |
|
|
|
questionnaire_detail_id AS detail_id, |
|
|
|
answer |
|
|
|
FROM |
|
|
|
`t_qcp_questionnaire_record` |
|
|
|
WHERE |
|
|
|
question_code = 'XGZL-PRT-62' |
|
|
|
AND rec_status = 0 |
|
|
|
) AS a3 |
|
|
|
WHERE |
|
|
|
a1.detail_id = a2.detail_id |
|
|
|
and a2.detail_id = a3.detail_id |
|
|
|
and a1.detail_id = a3.detail_id |
|
|
|
</sql> |
|
|
|
</mapper> |
|
|
|