From a72062286b8212d490804826b71c18f67e8f0fd2 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 26 五月 2025 15:31:29 +0800
Subject: [PATCH] 数据结构修改
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml | 89 +++++++++++++++++++++++++++++---------------
1 files changed, 58 insertions(+), 31 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 b6f68df..b85ef4e 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
@@ -9,7 +9,7 @@
t1.name,
t1.model,
t1.specification,
- t2.depart_name as departName
+ t2.name as departName
FROM
mom_eam_equipment t1
LEFT JOIN mom_base_area t2 ON t1.work_center_id = t2.id
@@ -22,8 +22,12 @@
and t1.equipment_importance_id =#{params.abc}
</if>
<if test="params.specificEquipment != null and params.specificEquipment != ''">
- and t1.specific_equipment in ('0','1','2')
+ and t1.specific_equipment =#{params.specificEquipment}
</if>
+ <if test="params.equipmentNum != null and params.equipmentNum != ''">
+ and t1.num =#{params.equipmentNum}
+ </if>
+ ORDER BY t2.name ASC
</select>
<select id="getWorkCenterList" parameterType="Map" resultType="Map">
@@ -35,14 +39,17 @@
mom_eam_equipment t1
LEFT JOIN mom_base_area t2 ON t1.work_center_id = t2.id
WHERE t2.type = '1' and t1.work_center_id IS NOT NULL
- <if test="params.abc != null and params.abc != ''">
- and t1.equipment_importance_id =#{params.abc}
- </if>
<if test="params.useDepartName != null and params.useDepartName != ''">
and t2.name =#{params.useDepartName}
</if>
GROUP BY t1.work_center_id,t2.name
</select>
+<!-- <if test="params.abc != null and params.abc != ''">-->
+<!-- and t1.equipment_importance_id =#{params.abc}-->
+<!-- </if>-->
+<!-- <if test="params.specificEquipment != null and params.specificEquipment != ''">-->
+<!-- and t1.specific_equipment =#{params.specificEquipment}-->
+<!-- </if>-->
<!-- <if test="params.useDepartName == ''">-->
<!-- and t2.depart_name = '-1'-->
@@ -55,15 +62,17 @@
SUM(tt.faultTime) AS faultTime,
SUM(tt.repairTime) AS repairTime,
SUM(tt.noFaultTime) AS noFaultTime,
- SUM(tt.repairTime) /COUNT(tt.equipmentId) AS averageRepairTime,
- SUM(tt.noFaultTime) /COUNT(tt.equipmentId) AS averageFaultIntervalTime
+ sum(tt.totalDay) as totalDay,
+ sum(tt.repairDay) as repairDay
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( 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
FROM
mom_eam_equipment_report_repair t1
LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id
@@ -75,39 +84,57 @@
GROUP BY
tt.equipmentId,tt.totalAvailableTime
</select>
-
+<!-- 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,-->
+<!-- (tt.totalAvailableTime - SUM(tt.repairTime))/tt.totalAvailableTime as startRate-->
<select id="getMTBFTotalAvailableTime" parameterType="Map" resultType="Map">
select datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime
</select>
<select id="getCenterEquipmentMTBF" parameterType="Map" resultType="Map">
SELECT
- COUNT(tt.workCenterId) AS faultNumber,
- tt.totalAvailableTime * COUNT(tt.workCenterId) as totalAvailableTime,
- SUM(tt.faultTime) * COUNT(tt.workCenterId) AS faultTime,
- SUM(tt.repairTime) * COUNT(tt.workCenterId) AS repairTime,
- SUM(tt.noFaultTime) * COUNT(tt.workCenterId) AS noFaultTime,
- SUM(tt.repairTime) /COUNT(tt.workCenterId) * COUNT(tt.workCenterId) AS averageRepairTime,
- SUM(tt.noFaultTime) /COUNT(tt.workCenterId) * COUNT(tt.workCenterId) AS averageFaultIntervalTime
+ COUNT(tt.equipmentNum) AS equipmentNumer,
+ sum(tt.equipmentNum) as faultNumber,
+ tt.totalAvailableTime * COUNT(tt.equipmentNum) as totalAvailableTime,
+ SUM(tt.faultTime) AS faultTime,
+ SUM(tt.repairTime) AS repairTime,
+ tt.totalAvailableTime * COUNT(tt.equipmentNum) - SUM(tt.faultTime) AS noFaultTime,
+ tt.totalDay,
+ tt.repairDay
FROM(
- SELECT
- t3.work_center_id as workCenterId,
- 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
- FROM
- mom_eam_equipment_report_repair t1
- LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id
- left join mom_eam_equipment t3 on t1.equipment_id = t3.id
- WHERE 1=1
- AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) >= #{params.startTime}
- AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) <= #{params.endTime}
- AND t3.work_center_id = #{params.workCenterId}
+ select COUNT(ss.equipmentNum) as equipmentNum,ss.totalAvailableTime,ss.faultTime,ss.repairTime,ss.noFaultTime,ss.totalDay,ss.repairDay from (
+ SELECT
+ t3.num as equipmentNum,
+ 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
+ FROM
+ mom_eam_equipment_report_repair t1
+ LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id
+ left join mom_eam_equipment t3 on t1.equipment_id = t3.id
+ WHERE 1=1
+ AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) >= #{params.startTime}
+ AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) <= #{params.endTime}
+ AND t3.work_center_id = #{params.workCenterId}
+ <if test="params.abc != null and params.abc != ''">
+ and t3.equipment_importance_id =#{params.abc}
+ </if>
+ <if test="params.specificEquipment != null and params.specificEquipment != ''">
+ and t3.specific_equipment =#{params.specificEquipment}
+ </if>
+ ) ss group by ss.totalAvailableTime,ss.faultTime,ss.repairTime,ss.noFaultTime,ss.totalDay,ss.repairDay
) AS tt
GROUP BY
- tt.workCenterId,tt.totalAvailableTime
+ tt.equipmentNum,tt.totalAvailableTime,tt.totalDay,tt.repairDay
</select>
+<!-- SUM(tt.repairTime) /sum(tt.equipmentNum) AS averageRepairTime,-->
+<!-- (tt.totalAvailableTime * COUNT(tt.equipmentNum) - SUM(tt.faultTime))/sum(tt.equipmentNum) AS averageFaultIntervalTime,-->
+<!-- (tt.totalDay * COUNT(tt.equipmentNum) -tt.repairDay)/ (tt.totalDay * COUNT(tt.equipmentNum)) as serviceabilityRate,-->
+<!-- (tt.totalAvailableTime * COUNT(tt.equipmentNum) - SUM(tt.repairTime))/(tt.totalAvailableTime * COUNT(tt.equipmentNum)) as startRate-->
<select id="getCenterMTBFTotalAvailableTime" parameterType="Map" resultType="Map">
select datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime
--
Gitblit v1.9.3