<?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.mdc.mapper.MdcOverallEquipmentEfficiencyMapper">
|
|
<!--分页列表-->
|
<select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency">
|
SELECT
|
t1.id,
|
t1.equipment_id,
|
t1.equipment_name,
|
t1.equipment_model,
|
t1.valid_date,
|
t1.shift,
|
t1.shift_time_count,
|
t1.overtime,
|
t1.actual_work_day_count,
|
t1.month_actual_work_day_time_count,
|
t1.breakdown_down_duration,
|
t1.conversion_debug_duration,
|
t1.material_shortage_duration,
|
t1.planned_task_duration,
|
t1.inspect_duration,
|
t1.other_duration,
|
t1.planned_maintenance_duration,
|
t1.conference_training_duration,
|
t1.other_rest_duration,
|
t1.load_time,
|
t1.time_actuation_rate,
|
t1.process_quantity,
|
t1.standard_process_duration,
|
t1.performance_rate,
|
t1.unqualified_quantity,
|
t1.pass_rate,
|
t1.overall_equipment_efficiency,
|
t1.create_by,
|
t1.create_time,
|
t1.update_by,
|
t1.update_time
|
FROM
|
mdc_overall_equipment_efficiency t1
|
LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
|
<where>
|
<if test="mdcOverallEquipmentEfficiency.startTime != null and mdcOverallEquipmentEfficiency.startTime != '' and mdcOverallEquipmentEfficiency.endTime != null and mdcOverallEquipmentEfficiency.endTime != ''">
|
AND t1.valid_date BETWEEN #{ mdcOverallEquipmentEfficiency.startTime } AND #{ mdcOverallEquipmentEfficiency.endTime }
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.equipmentIdList != null and mdcOverallEquipmentEfficiency.equipmentIdList.size() > 0 ">
|
AND t1.equipment_id IN
|
<foreach collection="mdcOverallEquipmentEfficiency.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
|
#{ id }
|
</foreach>
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.driveTypeList != null and mdcOverallEquipmentEfficiency.driveTypeList.size() > 0 ">
|
AND t2.drive_type IN
|
<foreach collection="mdcOverallEquipmentEfficiency.driveTypeList" item="driveType" index="index" open="(" close=")" separator=",">
|
#{ driveType }
|
</foreach>
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.deviceLevelList != null and mdcOverallEquipmentEfficiency.deviceLevelList.size() > 0 ">
|
AND t2.device_level IN
|
<foreach collection="mdcOverallEquipmentEfficiency.deviceLevelList" item="deviceLevel" index="index" open="(" close=")" separator=",">
|
#{ deviceLevel }
|
</foreach>
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.deviceCategoryList != null and mdcOverallEquipmentEfficiency.deviceCategoryList.size() > 0 ">
|
AND t2.device_category IN
|
<foreach collection="mdcOverallEquipmentEfficiency.deviceCategoryList" item="deviceCategory" index="index" open="(" close=")" separator=",">
|
#{ deviceCategory }
|
</foreach>
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.equipmentTypeList != null and mdcOverallEquipmentEfficiency.equipmentTypeList.size() > 0 ">
|
AND t2.equipment_type IN
|
<foreach collection="mdcOverallEquipmentEfficiency.equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=",">
|
#{ equipmentType }
|
</foreach>
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.deviceImportanceLevel != null and mdcOverallEquipmentEfficiency.deviceImportanceLevel != '' ">
|
AND t2.device_importance_level = #{mdcOverallEquipmentEfficiency.deviceImportanceLevel}
|
</if>
|
<if test="mdcOverallEquipmentEfficiency.max != null and mdcOverallEquipmentEfficiency.max != '' and mdcOverallEquipmentEfficiency.min != null and mdcOverallEquipmentEfficiency.min!= ''">
|
AND t1.overall_equipment_efficiency BETWEEN #{mdcOverallEquipmentEfficiency.min} AND #{mdcOverallEquipmentEfficiency.max}
|
</if>
|
AND t2.device_abnormal_status = 1
|
</where>
|
</select>
|
|
|
<select id="findOeeByDate" resultType="org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency">
|
SELECT
|
t1.*
|
FROM
|
mdc_overall_equipment_efficiency t1
|
LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
|
LEFT JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
|
LEFT JOIN mdc_production t4 ON t4.id = t3.production_id
|
WHERE
|
( t4.id = #{productionId} OR t4.parent_id = #{productionId} )
|
AND t1.valid_date = #{date}
|
</select>
|
|
<select id="findAvgOee" resultType="java.math.BigDecimal">
|
SELECT
|
SUM( t1.overall_equipment_efficiency ) / COUNT ( t1.equipment_id ) oee
|
FROM
|
mdc_overall_equipment_efficiency t1
|
LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
|
LEFT JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
|
LEFT JOIN mdc_production t4 ON t4.id = t3.production_id
|
WHERE
|
( t4.id = #{productionId} OR t4.parent_id = #{productionId} )
|
AND t1.valid_date = #{date}
|
<if test="equipmentTypeList != null and equipmentTypeList.size() > 0">
|
AND t2.equipment_type IN
|
<foreach collection="equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=",">
|
#{equipmentType}
|
</foreach>
|
</if>
|
</select>
|
</mapper>
|