| | |
| | | <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> |
| | | <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> |
| | | |
| | | <!-- <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"> |
| | |
| | | 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'--> |
| | |
| | | |
| | | <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.repairTime) /COUNT(tt.equipmentId) AS averageRepairTime, |
| | | SUM(tt.noFaultTime) /COUNT(tt.equipmentId) AS averageFaultIntervalTime |
| | | 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 |
| | | 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 |
| | |
| | | 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,--> |
| | | <!-- (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 |