From a7ecb4b14c2e5a56f425f46decc9c203580edd35 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 25 七月 2024 10:56:56 +0800
Subject: [PATCH] 小修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 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 6307560..0a22cc2 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
@@ -2,4 +2,114 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.eam.mapper.FaultIntervalTimeMapper">
 
+    <select id="getEquipmentList"  parameterType="Map" resultType="Map">
+        SELECT
+            t1.id,
+            t1.num,
+            t1.name,
+            t1.model,
+            t1.specification,
+            t2.name as departName
+        FROM
+            mom_eam_equipment t1
+        LEFT JOIN mom_base_area t2 ON t1.work_center_id = t2.id
+        WHERE
+            t1.del_flag = '0'
+        <if test="params.useDepartName != null and params.useDepartName != ''">
+            and t2.name =#{params.useDepartName}
+        </if>
+        <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 in ('0','1','2')
+        </if>
+    </select>
+
+    <select id="getWorkCenterList"  parameterType="Map" resultType="Map">
+        SELECT COUNT
+            ( t1.work_center_id ),
+            t1.work_center_id as workCenterId,
+            t2.name as workCenterName
+        FROM
+            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.useDepartName == ''">-->
+    <!--                and t2.depart_name = '-1'-->
+    <!--            </if>-->
+
+    <select id="getEquipmentMTBF"  parameterType="Map" resultType="Map">
+        SELECT
+            COUNT(tt.equipmentId) AS faultNumber,
+            tt.totalAvailableTime,
+            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
+        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
+                FROM
+                    mom_eam_equipment_report_repair t1
+                LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id
+                WHERE 1=1
+                AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) &gt;= #{params.startTime}
+                AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) &lt;= #{params.endTime}
+                AND t1.equipment_id  = #{params.equipmentId}
+            ) AS tt
+        GROUP BY
+            tt.equipmentId,tt.totalAvailableTime
+    </select>
+
+    <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
+        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 ) &gt;= #{params.startTime}
+                  AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) &lt;= #{params.endTime}
+                  AND t3.work_center_id  = #{params.workCenterId}
+            ) AS tt
+        GROUP BY
+            tt.workCenterId,tt.totalAvailableTime
+    </select>
+
+    <select id="getCenterMTBFTotalAvailableTime"  parameterType="Map" resultType="Map">
+        select  datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3