From 0843d9fa608a6d319d9d1c37860a0f16ce263a19 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 30 六月 2025 15:37:25 +0800
Subject: [PATCH] 设备车间管理与用户
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml
index b85ef4e..4e06a76 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml
@@ -18,6 +18,9 @@
<if test="params.useDepartName != null and params.useDepartName != ''">
and t2.name =#{params.useDepartName}
</if>
+ <if test="params.useDepartName == '' ">
+ and t1.work_center_id is not null
+ </if>
<if test="params.abc != null and params.abc != ''">
and t1.equipment_importance_id =#{params.abc}
</if>
@@ -27,7 +30,14 @@
<if test="params.equipmentNum != null and params.equipmentNum != ''">
and t1.num =#{params.equipmentNum}
</if>
- ORDER BY t2.name ASC
+
+<!-- <if test="params.workCenterIds != null">-->
+<!-- and t1.work_center_id in-->
+<!-- <foreach collection="params.workCenterIds" open="(" separator="," close=")" item="workCenterId">-->
+<!-- #{workCenterId}-->
+<!-- </foreach>-->
+<!-- </if>-->
+ ORDER BY t2.name DESC
</select>
<select id="getWorkCenterList" parameterType="Map" resultType="Map">
@@ -57,22 +67,22 @@
<select id="getEquipmentMTBF" parameterType="Map" resultType="Map">
SELECT
+ tt.equipmentId,
COUNT(tt.equipmentId) AS faultNumber,
tt.totalAvailableTime,
- SUM(tt.faultTime) AS faultTime,
- SUM(tt.repairTime) AS repairTime,
- SUM(tt.noFaultTime) AS noFaultTime,
- sum(tt.totalDay) as totalDay,
- sum(tt.repairDay) as repairDay
+ STR(SUM(tt.faultTime), 10, 2) AS faultTime,
+ STR(SUM(tt.repairTime), 10, 2) AS repairTime,
+ STR(tt.totalAvailableTime - SUM(tt.faultTime), 10, 2) AS noFaultTime,
+ STR(case when COUNT(tt.equipmentId) = 0 THEN '0' WHEN COUNT(tt.equipmentId) > 0 THEN (tt.totalAvailableTime - SUM(tt.faultTime))/COUNT(tt.equipmentId) end, 10, 2) as mtbf,
+ STR(case when COUNT(tt.equipmentId) = 0 THEN '0' WHEN COUNT(tt.equipmentId) > 0 THEN SUM(tt.repairTime)/COUNT(tt.equipmentId) end, 10, 2) as mttr,
+ STR((tt.totalAvailableTime - SUM(tt.faultTime))/tt.totalAvailableTime*100, 10, 2) as serviceabilityRate,
+ STR(SUM(tt.faultTime)/tt.totalAvailableTime*100, 10, 2) as startRate
FROM(
SELECT
t1.equipment_id AS equipmentId,
datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime,
- datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS faultTime,
- datediff( HOUR, isnull( t2.actual_start_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairTime,
- (datediff( HOUR, #{params.startTime}, #{params.endTime}) + 24) - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS noFaultTime,
- datediff( DAY, #{params.startTime}, #{params.endTime} )+1 AS totalDay,
- datediff( DAY, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairDay
+ CAST( DATEDIFF_BIG ( MILLISECOND, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, (SELECT #{params.endTime}+' '+FORMAT(GETDATE(), 'HH:mm:ss') ) ) ) AS FLOAT ) / 3600000 AS faultTime,
+ case when t2.create_time is null THEN '0' WHEN t2.create_time is not null THEN CAST( DATEDIFF_BIG ( MILLISECOND, t2.create_time, isnull( t2.actual_end_time, (SELECT #{params.endTime}+' '+FORMAT(GETDATE(), 'HH:mm:ss') ) ) ) AS FLOAT ) / 3600000 end AS repairTime
FROM
mom_eam_equipment_report_repair t1
LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id
@@ -84,6 +94,7 @@
GROUP BY
tt.equipmentId,tt.totalAvailableTime
</select>
+<!-- datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS faultTime,-->
<!-- SUM(tt.repairTime) /COUNT(tt.equipmentId) AS averageRepairTime,-->
<!-- SUM(tt.noFaultTime) /(COUNT(tt.equipmentId) + 1) AS averageFaultIntervalTime,-->
<!-- (sum(tt.totalDay) - sum(tt.repairDay))/sum(tt.totalDay) as serviceabilityRate,-->
--
Gitblit v1.9.3