From 654dc30c50b1c176966ad8e6e7d791b92531de83 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期四, 25 七月 2024 09:53:25 +0800 Subject: [PATCH] 问题项修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 8 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 2190582..b6f68df 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 @@ -12,17 +12,41 @@ t2.depart_name as departName FROM mom_eam_equipment t1 - LEFT JOIN sys_depart t2 ON t1.use_id = t2.id + 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.depart_name like concat('%',#{params.useDepartName},'%') - </if> - <if test="params.useDepartName == ''"> - and t2.depart_name = '-1' - </if> - + <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 @@ -55,4 +79,37 @@ <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 ) >= #{params.startTime} + AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) <= #{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