|
|
|
|
@ -69,9 +69,9 @@
|
|
|
|
|
CASE |
|
|
|
|
WHEN SUM = 0 THEN |
|
|
|
|
0 ELSE ROUND( SUM ( COALESCE (CAST(b.completed AS INTEGER), 0 ) ) * 100 / SUM, 0 ) |
|
|
|
|
END rateNumber |
|
|
|
|
END ratenumber |
|
|
|
|
, |
|
|
|
|
CONCAT ( rateNumber, '%' ) rate |
|
|
|
|
CONCAT ( ratenumber, '%' ) rate |
|
|
|
|
from dept a left join mail_mark b on |
|
|
|
|
<choose> |
|
|
|
|
<when test="level == 1"> |
|
|
|
|
@ -83,13 +83,13 @@
|
|
|
|
|
</choose> |
|
|
|
|
where a.pid= #{deptId} |
|
|
|
|
GROUP BY a.short_name |
|
|
|
|
order by rateNumber desc , sum desc |
|
|
|
|
order by ratenumber desc , sum desc |
|
|
|
|
</select> |
|
|
|
|
|
|
|
|
|
<select id="getStationResolvedRateByDept" resultType="java.util.Map"> |
|
|
|
|
select a.short_name, |
|
|
|
|
ROUND(sum(COALESCE(CAST(b.resolved AS INTEGER), 0)) * 100 / count(1), 0) rateNumber, |
|
|
|
|
CONCAT(rateNumber, '%') rate, |
|
|
|
|
ROUND(sum(COALESCE(CAST(b.resolved AS INTEGER), 0)) * 100 / count(1), 0) ratenumber, |
|
|
|
|
CONCAT(ratenumber, '%') rate, |
|
|
|
|
SUM(COALESCE(CAST(b.resolved AS INTEGER), 0)) resolved, |
|
|
|
|
count(b.mail_id) sum |
|
|
|
|
from dept a left join mail_mark b on |
|
|
|
|
@ -103,15 +103,15 @@
|
|
|
|
|
</choose> |
|
|
|
|
where a.pid=#{deptId} |
|
|
|
|
GROUP BY a.short_name |
|
|
|
|
order by rateNumber desc, sum desc |
|
|
|
|
order by ratenumber desc, sum desc |
|
|
|
|
</select> |
|
|
|
|
|
|
|
|
|
<select id="getStationSatisfiedRateByDept" resultType="java.util.Map"> |
|
|
|
|
select a.short_name, |
|
|
|
|
SUM(COALESCE(CAST(b.satisfied AS INTEGER), 0)) satisfied, |
|
|
|
|
count(b.mail_id) sum, |
|
|
|
|
ROUND(sum(COALESCE(CAST(b.satisfied AS INTEGER), 0))*100/count(1),0) rateNumber, |
|
|
|
|
CONCAT(rateNumber,'%') rate |
|
|
|
|
ROUND(sum(COALESCE(CAST(b.satisfied AS INTEGER), 0))*100/count(1),0) ratenumber, |
|
|
|
|
CONCAT(ratenumber,'%') rate |
|
|
|
|
from dept a |
|
|
|
|
left join mail_mark b on |
|
|
|
|
<choose> |
|
|
|
|
@ -123,7 +123,7 @@
|
|
|
|
|
</otherwise> |
|
|
|
|
</choose> |
|
|
|
|
where a.pid=#{deptId} |
|
|
|
|
GROUP BY a.short_name order by rateNumber desc ,sum desc |
|
|
|
|
GROUP BY a.short_name order by ratenumber desc ,sum desc |
|
|
|
|
</select> |
|
|
|
|
|
|
|
|
|
<select id="getTodayMailCount" resultType="int"> |
|
|
|
|
@ -202,9 +202,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<select id="mailTypeRank" resultType="java.util.Map"> |
|
|
|
|
select ROW_NUMBER() OVER (ORDER BY sumCount desc) AS rowNumber , |
|
|
|
|
select ROW_NUMBER() OVER (ORDER BY sumCount desc) AS rownumber , |
|
|
|
|
mail_first_category category, |
|
|
|
|
count(1) sumCount , |
|
|
|
|
count(1) sumcount , |
|
|
|
|
(select count(1) from mail where 1=1 |
|
|
|
|
<if test="id != null and id != ''"> |
|
|
|
|
<choose> |
|
|
|
|
@ -218,7 +218,7 @@
|
|
|
|
|
</if>) AS denominator, |
|
|
|
|
CONCAT(ROUND(CASE WHEN denominator = 0 THEN 0 ELSE sumCount * 100 / denominator END,0),'%') countRate |
|
|
|
|
FROM mail |
|
|
|
|
where 1=1 |
|
|
|
|
where mail_time > '2025-09-13' |
|
|
|
|
<if test="id != null and id != ''"> |
|
|
|
|
<choose> |
|
|
|
|
<when test="level == 1"> |
|
|
|
|
|