管理端可在资产管理模块编辑资产所属单位信息,并同步至任务中

main
dongdingding 4 months ago
parent f59be5123d
commit 0bc33eb045

@ -247,23 +247,20 @@
where task_id = #{taskId} where task_id = #{taskId}
and id = #{assetId} and id = #{assetId}
</select> </select>
<select id="dwHc" resultType="com.ruoyi.tc.entity.response.AssetdwHcResponse">
select
h.dwmc,h.task_id,h.total,h.checked,h.notChecked,h.dsp,h.shthcs,h.taskStatus,h.checkedRatio
from(
SELECT
s.dwmc,
s.task_id,
SUM(s.total) AS total, <select id="dwHc" resultType="com.ruoyi.tc.entity.response.AssetdwHcResponse">
SUM(s.checked) AS checked, select * from ( SELECT
SUM( s.notChecked ) AS notChecked, h.dwmc,
SUM( s.dsp ) AS dsp, h.task_id,
COALESCE(SUM(s.returned), 0) AS shthcs, SUM(h.total) AS total,
SUM(h.checked) AS checked,
SUM(h.notChecked) AS notChecked,
SUM(h.dsp) AS dsp,
SUM(h.shthcs) AS shthcs,
ROUND( ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
@ -271,153 +268,165 @@
CASE CASE
WHEN ROUND( WHEN ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
) = 100 ) = 100 AND MAX(h.latest_update_time) &lt; MAX(h.task_deadline) THEN 2
AND CURRENT_TIMESTAMP &lt; b.task_deadline THEN 2
WHEN ROUND( WHEN ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
) = 100 ) = 100 AND MAX(h.latest_update_time) >= MAX(h.task_deadline) THEN 3
AND CURRENT_TIMESTAMP >= b.task_deadline THEN 3
ELSE 1 ELSE 1
END AS taskStatus END AS taskStatus
FROM FROM
( (
SELECT SELECT
s.dwmc,
s.task_id,
SUM(s.total) AS total,
SUM(s.checked) AS checked,
SUM(s.notChecked) AS notChecked,
SUM(s.dsp) AS dsp,
COALESCE(SUM(s.returned), 0) AS shthcs,
MAX(s.latest_update_time) as latest_update_time,
b.task_deadline -- 引入 task_deadline
FROM
(
SELECT
dwmc, dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_current_cp asset_current_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and dwmc like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
dwmc, dwmc, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_mini_programs_cp asset_mini_programs_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_app_cp asset_app_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw ,task_id ssdw, task_id
UNION ALL UNION ALL
SELECT ssdw AS dwmc,
SELECT
ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_official_account_cp asset_official_account_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_email_cp asset_email_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id ) AS s
) AS s left join asset_task b on s.task_id=b.id LEFT JOIN asset_task b ON s.task_id = b.id
GROUP BY GROUP BY
s.dwmc , s.dwmc,
s.task_id)h s.task_id
) h
<where> <where>
<if test="req.taskStatus != null and req.taskStatus != ''">
h.taskStatus = #{req.taskStatus} <if test="req.dwmc != null and req.dwmc != ''">
h.dwmc = #{req.dwmc}
</if> </if>
</where> </where>
GROUP BY
h.dwmc, h.task_id)g
<where>
<if test="req.taskStatus != null and req.taskStatus != ''">
g.taskStatus = #{req.taskStatus}
</if>
</where>
</select> </select>
<select id="findByTaskId" resultType="com.ruoyi.tc.entity.AssetTask"> <select id="findByTaskId" resultType="com.ruoyi.tc.entity.AssetTask">
@ -574,20 +583,18 @@
<select id="export" resultType="com.ruoyi.tc.entity.response.AssetdwHcResponse" <select id="export" resultType="com.ruoyi.tc.entity.response.AssetdwHcResponse"
parameterType="com.ruoyi.tc.entity.request.AssetdwHcRequest"> parameterType="com.ruoyi.tc.entity.request.AssetdwHcRequest">
SELECT select * from ( SELECT
s.dwmc, h.dwmc,
s.task_id, h.task_id,
CURRENT_TIMESTAMP AS latest_create_time, -- 使用当前时间 SUM(h.total) AS total,
b.task_deadline, SUM(h.checked) AS checked,
SUM(s.total) AS total, SUM(h.notChecked) AS notChecked,
SUM(s.checked) AS checked, SUM(h.dsp) AS dsp,
SUM( s.notChecked ) AS notChecked, SUM(h.shthcs) AS shthcs,
SUM( s.dsp ) AS dsp,
COALESCE(SUM(s.returned), 0) AS shthcs,
ROUND( ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
@ -595,172 +602,190 @@
CASE CASE
WHEN ROUND( WHEN ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
) = 100 ) = 100 AND MAX(h.latest_update_time) &lt; MAX(h.task_deadline) THEN 2
AND CURRENT_TIMESTAMP &lt; b.task_deadline THEN 2
WHEN ROUND( WHEN ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
) = 100 ) = 100 AND MAX(h.latest_update_time) >= MAX(h.task_deadline) THEN 3
AND CURRENT_TIMESTAMP >= b.task_deadline THEN 3
ELSE 1 ELSE 1
END AS taskStatus END AS taskStatus
FROM FROM
( (
SELECT SELECT
s.dwmc,
s.task_id,
SUM(s.total) AS total,
SUM(s.checked) AS checked,
SUM(s.notChecked) AS notChecked,
SUM(s.dsp) AS dsp,
COALESCE(SUM(s.returned), 0) AS shthcs,
MAX(s.latest_update_time) as latest_update_time,
b.task_deadline -- 引入 task_deadline
FROM
(
SELECT
dwmc, dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_current_cp asset_current_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and dwmc like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
dwmc, dwmc, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_mini_programs_cp asset_mini_programs_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_app_cp asset_app_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw ,task_id ssdw, task_id
UNION ALL UNION ALL
SELECT ssdw AS dwmc,
SELECT
ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_official_account_cp asset_official_account_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM( CASE WHEN STATUS = 1 THEN 1 ELSE 0 END ) AS dsp, SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_email_cp asset_email_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id ) AS s
) AS s left join asset_task b on s.task_id=b.id LEFT JOIN asset_task b ON s.task_id = b.id
GROUP BY
s.dwmc,
s.task_id
) h
<where> <where>
<if test="req.taskStatus != null and req.taskStatus != ''">
b.task_status = #{req.taskStatus} <if test="req.dwmc != null and req.dwmc != ''">
h.dwmc = #{req.dwmc}
</if> </if>
</where> </where>
GROUP BY GROUP BY
s.dwmc , h.dwmc, h.task_id)g
s.task_id <where>
<if test="req.taskStatus != null and req.taskStatus != ''">
g.taskStatus = #{req.taskStatus}
</if>
</where>
</select> </select>
<select id="dwHcBl" resultType="com.ruoyi.tc.entity.response.AssetdwHcBlResponse" <select id="dwHcBl" resultType="com.ruoyi.tc.entity.response.AssetdwHcBlResponse"
parameterType="com.ruoyi.tc.entity.request.AssetdwHcRequest"> parameterType="com.ruoyi.tc.entity.request.AssetdwHcRequest">
select count(*) as count ,taskStatus from ( SELECT
count(*) AS count,
taskStatus
FROM
(
SELECT SELECT
count(*) AS count, count(*) AS count,
g.taskStatus g.taskStatus
FROM FROM
( SELECT (
s.dwmc, SELECT
s.task_id, h.dwmc,
CURRENT_TIMESTAMP AS latest_create_time, -- 使用当前时间 h.task_id,
b.task_deadline, SUM(h.total) AS total,
SUM(s.total) AS total, SUM(h.checked) AS checked,
SUM(s.checked) AS checked, SUM(h.notChecked) AS notChecked,
COALESCE(SUM(s.returned), 0) AS shthcs, SUM(h.dsp) AS dsp,
SUM(h.shthcs) AS shthcs,
ROUND( ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
@ -768,152 +793,168 @@
CASE CASE
WHEN ROUND( WHEN ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
) = 100 ) = 100 AND MAX(h.latest_update_time)&lt;MAX(h.task_deadline) THEN 2
AND CURRENT_TIMESTAMP &lt; b.task_deadline THEN 2
WHEN ROUND( WHEN ROUND(
CASE CASE
WHEN SUM(s.total) > 0 THEN WHEN SUM(h.total) > 0 THEN
SUM(s.checked) * 100.0 / SUM(s.total) SUM(h.checked) * 100.0 / SUM(h.total)
ELSE 0 ELSE 0
END, END,
2 2
) = 100 ) = 100 AND MAX(h.latest_update_time) >= MAX(h.task_deadline) THEN 3
AND CURRENT_TIMESTAMP >= b.task_deadline THEN 3
ELSE 1 ELSE 1
END AS taskStatus END AS taskStatus
FROM FROM
( (
SELECT SELECT
s.dwmc,
s.task_id,
SUM(s.total) AS total,
SUM(s.checked) AS checked,
SUM(s.notChecked) AS notChecked,
SUM(s.dsp) AS dsp,
COALESCE(SUM(s.returned), 0) AS shthcs,
MAX(s.latest_update_time) as latest_update_time,
b.task_deadline -- 引入 task_deadline
FROM
(
SELECT
dwmc, dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_current_cp asset_current_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and dwmc like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
dwmc, dwmc, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_mini_programs_cp asset_mini_programs_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_app_cp asset_app_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw ,task_id ssdw, task_id
UNION ALL UNION ALL
SELECT ssdw AS dwmc, SELECT
ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_official_account_cp asset_official_account_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
ssdw, ssdw, task_id
task_id
UNION ALL UNION ALL
SELECT SELECT
ssdw AS dwmc, ssdw AS dwmc,
COUNT(*) AS total, COUNT(*) AS total,
task_id, task_id,
MAX(create_time) AS latest_create_time, COALESCE(MAX(update_time), '1970-01-01') AS latest_update_time,
SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked, SUM(CASE WHEN STATUS = 0 THEN 1 ELSE 0 END) AS notChecked,
SUM(CASE WHEN STATUS = 1 THEN 1 ELSE 0 END) AS dsp,
SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked, SUM(CASE WHEN STATUS = 3 OR STATUS = 5 THEN 1 ELSE 0 END) AS checked,
SUM(count) AS returned SUM(count) AS returned
FROM FROM
asset_email_cp asset_email_cp
<where> <where>
<if test="req.dwmc!=null and req.dwmc!='' ">
and ssdw like concat('%',#{req.dwmc},'%')
</if>
<if test="req.taskId!=null and req.taskId!='' "> <if test="req.taskId!=null and req.taskId!='' ">
and task_id =#{req.taskId} and task_id =#{req.taskId}
</if> </if>
</where> </where>
GROUP BY
ssdw, task_id
) AS s
LEFT JOIN asset_task b ON s.task_id = b.id
GROUP BY GROUP BY
ssdw, s.dwmc,
task_id s.task_id
) AS s left join asset_task b on s.task_id=b.id
) h
GROUP BY
h.dwmc, h.task_id
) g
<where> <where>
<if test="req.taskStatus != null and req.taskStatus != ''"> <if test="req.taskStatus != null and req.taskStatus != ''">
b.task_status = #{req.taskStatus} g.taskStatus = #{req.taskStatus}
</if>
<if test="req.dwmc != null and req.dwmc != ''">
g.dwmc = #{req.dwmc}
</if> </if>
</where> </where>
GROUP BY GROUP BY
s.dwmc ,
s.task_id
) g
GROUP BY
dwmc, dwmc,
taskStatus taskStatus
)f group by taskStatus ) f
GROUP BY
taskStatus
</select> </select>
<select id="getByTaskId" resultType="com.ruoyi.tc.entity.AssetTask" parameterType="int"> <select id="getByTaskId" resultType="com.ruoyi.tc.entity.AssetTask" parameterType="int">

Loading…
Cancel
Save