|
|
|
<?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="com.op.device.mapper.DeviceInterfaceMapper">
|
|
|
|
|
|
|
|
<select id="selectEquRepairWorkOrderList" resultType="com.op.device.domain.vo.IRepairWorkOrderVO">
|
|
|
|
select be.equipment_name AS "equipmentName",
|
|
|
|
wo.equipment_code AS "equipmentCode",
|
|
|
|
wo.work_fault_desc AS "workFaultDesc",
|
|
|
|
et.team_name AS "teamName",
|
|
|
|
wo.work_handle AS "workHandle",
|
|
|
|
wo.work_plan_time AS "workPlanTime",
|
|
|
|
be.equipment_location AS "equipmentLocation"
|
|
|
|
from equ_repair_work_order wo
|
|
|
|
left join base_equipment be
|
|
|
|
on wo.equipment_code = be.equipment_code
|
|
|
|
left join equ_team et
|
|
|
|
on wo.work_team = et.team_code
|
|
|
|
where wo.work_status = '0'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectEquipmentList" resultType="com.op.device.domain.vo.IEquipmentVO">
|
|
|
|
select be.equipment_code AS 'equipmentCode', be.equipment_name AS 'equipmentName',be.equipment_status AS 'equipmentStatus', (SELECT ROUND(
|
|
|
|
SUM(CAST(fault_time AS FLOAT)) /
|
|
|
|
SUM(CAST(actual_operation_time AS FLOAT)),
|
|
|
|
2)
|
|
|
|
FROM equ_operation
|
|
|
|
WHERE equipment_code = be.equipment_code) AS 'failureRate', (
|
|
|
|
SELECT ROUND(SUM(mrw.quantity_feedback) / SUM(mrw.quantity), 2)
|
|
|
|
FROM mes_report_work mrw
|
|
|
|
WHERE mrw.del_flag = '0'
|
|
|
|
AND mrw.status = 'PREPARE'
|
|
|
|
AND mrw.machine_code = be.equipment_code
|
|
|
|
AND mrw.feedback_time >= DATEADD(MONTH, -1, GETDATE())
|
|
|
|
) AS 'utilizationRatio'
|
|
|
|
from base_equipment be
|
|
|
|
where be.del_flag = '0'
|
|
|
|
and be.equipment_category = '0'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectRepairEquipmentList" resultType="com.op.device.domain.vo.IEquipmentVO">
|
|
|
|
select be.equipment_code AS 'equipmentCode', be.equipment_name AS 'equipmentName'
|
|
|
|
from base_equipment be
|
|
|
|
where be.equipment_code in (select wo.equipment_code
|
|
|
|
from equ_repair_work_order wo
|
|
|
|
where wo.del_flag = '0'
|
|
|
|
and wo.work_status = '1'
|
|
|
|
GROUP BY wo.equipment_code)
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectReportWorkByEquipmentCode" resultType="com.op.device.domain.MesReportWork">
|
|
|
|
select SUM(mrw.quantity) AS "quantity",
|
|
|
|
SUM(mrw.quantity_feedback) AS "quantityFeedback"
|
|
|
|
from mes_report_work mrw
|
|
|
|
where mrw.del_flag = '0'
|
|
|
|
and mrw.status = 'PREPARE'
|
|
|
|
and mrw.machine_code = #{equipmentCode}
|
|
|
|
and mrw.feedback_time >= DATEADD(MONTH, -1, GETDATE())
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectRepairRecordByEquipmentCode" resultType="com.op.device.domain.EquRepairWorkOrder">
|
|
|
|
select wo.work_start_time AS "workStartTime", wo.work_end_time AS "workEndTime"
|
|
|
|
from equ_repair_work_order wo
|
|
|
|
where wo.del_flag = '0'
|
|
|
|
and wo.equipment_code = #{equipmentCode}
|
|
|
|
and wo.work_status = '1'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="getDeviceRefreshTime" resultType="java.lang.String">
|
|
|
|
select dict_value
|
|
|
|
from sys_dict_data
|
|
|
|
where dict_label = 'device_refresh_time'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!--设备稳定性 MTBF 每日-->
|
|
|
|
<select id="getMTBFList" parameterType="EquOperation" resultType="com.op.device.domain.EquOperation">
|
|
|
|
select
|
|
|
|
row_number() over (order by cast(eo.actual_operation_time as decimal(6, 2))/2 desc) as serialNumber,
|
|
|
|
eo.equipment_code as equipmentCode,
|
|
|
|
eo.equipment_name as equipmentName,
|
|
|
|
case
|
|
|
|
when eo.shutdown_times > 0 THEN cast(cast(eo.actual_operation_time as decimal(18,2))/eo.shutdown_times as decimal(18,2))
|
|
|
|
else 0
|
|
|
|
end as mtbf
|
|
|
|
from equ_operation eo
|
|
|
|
where day(eo.create_time) = day(getdate())
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!--完好设备占比-->
|
|
|
|
<select id="getEquipmentIntactRate" parameterType="EquOperation" resultType="com.op.device.domain.EquOperation">
|
|
|
|
SELECT
|
|
|
|
SUM(CASE WHEN equipment_status = '1' or equipment_status = '3' THEN 1 Else 0 END) AS operationEquipment,
|
|
|
|
SUM(CASE WHEN equipment_status = '0' or equipment_status = '2' THEN 1 Else 0 END) AS faultEquipment,
|
|
|
|
COUNT(*) AS totalEquipment,
|
|
|
|
(
|
|
|
|
SELECT COUNT(id)
|
|
|
|
FROM equ_operation
|
|
|
|
WHERE '4%' > failure_rate AND CONVERT(date, create_time) = CONVERT(date, GETDATE())
|
|
|
|
)*100 /
|
|
|
|
(
|
|
|
|
SELECT COUNT(id)
|
|
|
|
FROM equ_operation
|
|
|
|
WHERE CONVERT(date, create_time) = CONVERT(date, GETDATE())
|
|
|
|
) AS intactRate
|
|
|
|
FROM base_equipment
|
|
|
|
WHERE del_flag = '0' AND status = '1'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectGroups" resultType="com.op.device.domain.vo.IEquFaultVO">
|
|
|
|
select be.equipment_code AS 'code', be.equipment_name AS 'name'
|
|
|
|
from base_equipment be
|
|
|
|
where be.del_flag = '0'
|
|
|
|
and be.equipment_category = '1'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectEquipmentFaultNumForMonth" resultType="java.util.Map">
|
|
|
|
SELECT MONTH (eo.create_time) AS 'month', COUNT (eo.create_time) AS 'count'
|
|
|
|
FROM equ_operation eo
|
|
|
|
WHERE YEAR (eo.create_time) = YEAR (GETDATE())
|
|
|
|
and eo.failure_rate != '0%'
|
|
|
|
and eo.equipment_code in (
|
|
|
|
select bae.auxiliary_equipment_code from equ_bind_auxiliary_equipment bae where bae.equipment_code = #{groupCode}
|
|
|
|
)
|
|
|
|
GROUP BY MONTH (eo.create_time)
|
|
|
|
ORDER BY MONTH (eo.create_time)
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectSumEquipmentOperation" resultType="java.util.Map">
|
|
|
|
SELECT
|
|
|
|
SUM(CAST(actual_operation_time AS FLOAT)) AS actualOperationTime,
|
|
|
|
SUM(CAST(fault_time AS FLOAT)) AS faultTime
|
|
|
|
FROM equ_operation
|
|
|
|
WHERE equipment_code = #{equipmentCode};
|
|
|
|
</select>
|
|
|
|
|
|
|
|
</mapper>
|