|
|
|
@ -204,6 +204,29 @@
|
|
|
|
|
|
|
|
|
|
<select id="getCompletionRate" resultType="com.op.device.domain.vo.EquipmentBoardVO">
|
|
|
|
|
SELECT
|
|
|
|
|
(SELECT COUNT(order_id)
|
|
|
|
|
FROM equ_order
|
|
|
|
|
WHERE plan_type = 'maintenance'
|
|
|
|
|
AND del_flag = '0'
|
|
|
|
|
AND YEAR(create_time) = YEAR(GETDATE())
|
|
|
|
|
AND MONTH(create_time) = MONTH(GETDATE())) as maintenanceTotal,
|
|
|
|
|
|
|
|
|
|
(SELECT COUNT(order_id)
|
|
|
|
|
FROM equ_order
|
|
|
|
|
WHERE plan_type = 'maintenance'
|
|
|
|
|
AND del_flag = '0'
|
|
|
|
|
AND order_status = '0'
|
|
|
|
|
AND YEAR(create_time) = YEAR(GETDATE())
|
|
|
|
|
AND MONTH(create_time) = MONTH(GETDATE())) as maintenancePendCheck,
|
|
|
|
|
|
|
|
|
|
(SELECT COUNT(order_id)
|
|
|
|
|
FROM equ_order
|
|
|
|
|
WHERE plan_type = 'inspection'
|
|
|
|
|
AND del_flag = '0'
|
|
|
|
|
AND order_status = '1'
|
|
|
|
|
AND YEAR(create_time) = YEAR(GETDATE())
|
|
|
|
|
AND MONTH(create_time) = MONTH(GETDATE())) as maintenanceFinish,
|
|
|
|
|
|
|
|
|
|
(SELECT COUNT(order_id)
|
|
|
|
|
FROM equ_order
|
|
|
|
|
WHERE plan_type = 'inspection'
|
|
|
|
@ -245,7 +268,18 @@
|
|
|
|
|
WHERE plan_type ='spotInspection'
|
|
|
|
|
AND del_flag = '0'
|
|
|
|
|
AND order_status = '1'
|
|
|
|
|
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as spotInspectionFinish
|
|
|
|
|
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as spotInspectionFinish,
|
|
|
|
|
(SELECT COUNT(order_id)
|
|
|
|
|
FROM equ_repair_work_order
|
|
|
|
|
WHERE
|
|
|
|
|
del_flag = '0'
|
|
|
|
|
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as repairTotal,
|
|
|
|
|
(SELECT COUNT(order_id)
|
|
|
|
|
FROM equ_repair_work_order
|
|
|
|
|
WHERE
|
|
|
|
|
del_flag = '0'
|
|
|
|
|
AND work_status = '1'
|
|
|
|
|
AND CAST(create_time AS DATE) = CAST(GETDATE() AS DATE)) as repairFinish
|
|
|
|
|
FROM (SELECT 1 AS DUMMY) AS T;
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
@ -413,5 +447,63 @@
|
|
|
|
|
</where>
|
|
|
|
|
order by eo.create_time desc
|
|
|
|
|
</select>
|
|
|
|
|
<select id="getworkFaultReason" resultType="java.util.Map">
|
|
|
|
|
SELECT
|
|
|
|
|
CASE
|
|
|
|
|
WHEN work_reason IN ('', '无') THEN '空' -- 处理空字符串和'无'
|
|
|
|
|
ELSE work_reason
|
|
|
|
|
END AS name,
|
|
|
|
|
CAST(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER() AS DECIMAL(5,2)) AS value
|
|
|
|
|
FROM equ_repair_work_order
|
|
|
|
|
WHERE
|
|
|
|
|
work_reason IS NOT NULL -- 排除 NULL 值
|
|
|
|
|
AND work_reason != '无' -- 排除'无'的描述
|
|
|
|
|
AND del_flag = '0'
|
|
|
|
|
GROUP BY
|
|
|
|
|
CASE
|
|
|
|
|
WHEN work_reason IN ('', '无') THEN '空'
|
|
|
|
|
ELSE work_reason
|
|
|
|
|
END
|
|
|
|
|
ORDER BY value DESC;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
<select id="getworkFaultDesc" resultType="java.util.Map">
|
|
|
|
|
SELECT TOP(8)
|
|
|
|
|
CASE
|
|
|
|
|
WHEN work_fault_desc IN ('', '无') THEN '空' -- 处理空字符串和'无'
|
|
|
|
|
ELSE work_fault_desc
|
|
|
|
|
END AS name,
|
|
|
|
|
|
|
|
|
|
COUNT(*) AS value
|
|
|
|
|
FROM equ_repair_work_order
|
|
|
|
|
WHERE
|
|
|
|
|
work_fault_desc IS NOT NULL -- 排除 NULL 值
|
|
|
|
|
AND work_fault_desc != '无' -- 排除'无'的描述
|
|
|
|
|
AND del_flag = '0'
|
|
|
|
|
GROUP BY
|
|
|
|
|
CASE
|
|
|
|
|
WHEN work_fault_desc IN ('', '无') THEN '空'
|
|
|
|
|
ELSE work_fault_desc
|
|
|
|
|
END
|
|
|
|
|
ORDER BY value DESC;
|
|
|
|
|
</select>
|
|
|
|
|
<select id="getWave" resultType="java.util.Map">
|
|
|
|
|
SELECT
|
|
|
|
|
COUNT(*) AS total,
|
|
|
|
|
SUM(CASE WHEN work_status = '1' THEN 1 ELSE 0 END) AS number,
|
|
|
|
|
|
|
|
|
|
COALESCE(
|
|
|
|
|
CAST( -- 显式转换浮点类型
|
|
|
|
|
ROUND(
|
|
|
|
|
(SUM(CASE WHEN work_status = '1' THEN 1.0 ELSE 0 END) * 100)
|
|
|
|
|
/ NULLIF(COUNT(*), 0),
|
|
|
|
|
0)
|
|
|
|
|
AS INT), -- 强制保留整数
|
|
|
|
|
0)
|
|
|
|
|
AS ratio
|
|
|
|
|
FROM equ_repair_work_order
|
|
|
|
|
WHERE del_flag = '0';
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
</mapper>
|
|
|
|
|