<?xml version="1.0" encoding="UTF-8"?>
|
<!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 ) >= #{params.startTime}
|
AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) <= #{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 ) >= #{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>
|