¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.MdcEfficiencyReportMapper"> |
| | | |
| | | <!--æ¥è¯¢å©ç¨çæ°æ®--> |
| | | <select id="efficiencyList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto"> |
| | | SELECT |
| | | t2.equipment_id equipmentId, |
| | | t2.equipment_name equipmentName, |
| | | t2.equipment_type equipmentType, |
| | | t1.the_date theDate, |
| | | t1.process_long processLong, |
| | | t1.process_long / 86400 utilizationRate, |
| | | CASE |
| | | WHEN t1.open_long > 0 THEN |
| | | t1.process_long / t1.open_long ELSE 0 |
| | | END startRate, |
| | | t1.open_long / 86400 openRate, |
| | | t1.open_long openLong, |
| | | t1.wait_long waitLong, |
| | | t1.close_long closeLong, |
| | | COALESCE(t3.fault_long, 0) faultLong, |
| | | COALESCE(t3.fault_rate, 0) faultRate, |
| | | COALESCE(t3.remove_fault_run_long, 0) removeFaultRunLong |
| | | FROM |
| | | mdc_equipment t2 |
| | | LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id |
| | | LEFT JOIN mdc_equipment_fault_info t3 ON t2.equipment_id = t3.equipment_id AND t1.the_date = t3.the_date |
| | | WHERE |
| | | t1.the_date <= #{ vo.endTime } |
| | | AND t1.the_date >= #{ vo.startTime } |
| | | <if test="vo.equipmentType != null and vo.equipmentType != '' "> |
| | | AND t2.equipment_type = #{ vo.equipmentType } |
| | | </if> |
| | | <if test="vo.driveType != null and vo.driveType != '' "> |
| | | AND t2.drive_type = #{ vo.driveType } |
| | | </if> |
| | | <if test="vo.deviceLevel != null and vo.deviceLevel != '' "> |
| | | AND t2.device_level = #{vo.deviceLevel} |
| | | </if> |
| | | <if test="vo.deviceCategory != null and vo.deviceCategory != '' "> |
| | | AND t2.device_category = #{vo.deviceCategory} |
| | | </if> |
| | | <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> |
| | | AND t2.equipment_id IN |
| | | <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{ id } |
| | | </foreach> |
| | | </if> |
| | | ORDER BY t1.the_date |
| | | </select> |
| | | |
| | | <!--æ¥è¯¢å¼å¨çæ°æ®--> |
| | | <select id="efficiencyPOList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto"> |
| | | SELECT |
| | | t2.equipment_id equipmentId, |
| | | t2.equipment_name equipmentName, |
| | | t2.equipment_type equipmentType, |
| | | t1.the_date theDate, |
| | | t1.process_long processLong, |
| | | CASE |
| | | WHEN t1.open_long > 0 THEN |
| | | t1.process_long / t1.open_long ELSE 0 |
| | | END utilizationRate, |
| | | CASE |
| | | WHEN t1.open_long > 0 THEN |
| | | t1.process_long / t1.open_long ELSE 0 |
| | | END startRate, |
| | | t1.open_long / 86400 openRate, |
| | | t1.open_long openLong, |
| | | t1.wait_long waitLong, |
| | | t1.close_long closeLong |
| | | FROM |
| | | mdc_equipment t2 |
| | | LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id |
| | | WHERE |
| | | t1.the_date <= #{ vo.endTime } |
| | | AND t1.the_date >= #{ vo.startTime } |
| | | <if test="vo.equipmentType != null and vo.equipmentType != '' "> |
| | | AND t2.equipment_type = #{ vo.equipmentType } |
| | | </if> |
| | | <if test="vo.driveType != null and vo.driveType != '' "> |
| | | AND t2.drive_type = #{ vo.driveType } |
| | | </if> |
| | | <if test="vo.deviceLevel != null and vo.deviceLevel != '' "> |
| | | AND t2.device_level = #{vo.deviceLevel} |
| | | </if> |
| | | <if test="vo.deviceCategory != null and vo.deviceCategory != '' "> |
| | | AND t2.device_category = #{vo.deviceCategory} |
| | | </if> |
| | | <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> |
| | | AND t2.equipment_id IN |
| | | <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{ id } |
| | | </foreach> |
| | | </if> |
| | | ORDER BY t1.the_date |
| | | </select> |
| | | |
| | | <!--å¾å°ææçæ¬¡æ°æ®ä¹å--> |
| | | <select id="efficiencyShiftSumList" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalShiftInfo"> |
| | | SELECT |
| | | t2.equipment_id equipmentId, |
| | | t2.equipment_name equipmentName, |
| | | t2.equipment_type equipmentType, |
| | | t1.the_date theDate, |
| | | t1.shift_id shiftId, |
| | | t1.shift_sub_id shiftSubId, |
| | | SUM ( t1.process_long ) processLong, |
| | | SUM ( t1.open_long ) openLong, |
| | | SUM ( t1.wait_long ) waitLong, |
| | | SUM ( t1.close_long ) closeLong, |
| | | sum ( t1.total_long ) totalLong |
| | | FROM |
| | | mdc_equipment t2 |
| | | LEFT JOIN mdc_equipment_statistical_shift_info t1 ON t1.equipment_id = t2.equipment_id |
| | | <where> |
| | | AND t1.the_date <= #{ vo.endTime } |
| | | AND t1.the_date >= #{ vo.startTime } |
| | | <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> |
| | | AND t2.equipment_id IN |
| | | <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{ id } |
| | | </foreach> |
| | | </if> |
| | | <if test="vo.shiftId != null and vo.shiftId != ''"> |
| | | AND t1.shift_id = #{ vo.shiftId } |
| | | </if> |
| | | <if test="vo.shiftSubId != null and vo.shiftSubId != ''"> |
| | | AND t1.shift_sub_id = #{ vo.shiftSubId } |
| | | </if> |
| | | <if test="vo.equipmentType != null and vo.equipmentType != '' "> |
| | | AND t2.equipment_type = #{ vo.equipmentType } |
| | | </if> |
| | | <if test="vo.driveType != null and vo.driveType != '' "> |
| | | AND t2.drive_type = #{ vo.driveType } |
| | | </if> |
| | | <if test="vo.deviceLevel != null and vo.deviceLevel != '' "> |
| | | AND t2.device_level = #{vo.deviceLevel} |
| | | </if> |
| | | <if test="vo.deviceCategory != null and vo.deviceCategory != '' "> |
| | | AND t2.device_category = #{vo.deviceCategory} |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | t2.equipment_id, |
| | | t2.equipment_name, |
| | | t2.equipment_type, |
| | | t1.the_date, |
| | | t1.shift_id, |
| | | t1.shift_sub_id |
| | | ORDER BY |
| | | t1.the_date |
| | | </select> |
| | | |
| | | <!--æ¥è¯¢åå§æ°æ®--> |
| | | <select id="comparativeAnalysis" resultType="org.jeecg.modules.mdc.dto.MdcComAnaDto"> |
| | | SELECT |
| | | mesi.equipment_id equipmentId, |
| | | SUM ( mesi.open_long ) openLong, |
| | | SUM ( mesi.close_long ) closeLong, |
| | | SUM ( mesi.wait_long ) waitLong, |
| | | SUM ( mesi.process_long ) processLong |
| | | FROM |
| | | mdc_equipment_statistical_info mesi |
| | | LEFT JOIN mdc_equipment me ON mesi.equipment_id = me.equipment_id |
| | | <where> |
| | | <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> |
| | | AND mesi.equipment_id IN |
| | | <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{ id } |
| | | </foreach> |
| | | </if> |
| | | <if test="vo.driveType != null and vo.driveType != null"> |
| | | AND me.drive_type = #{ vo.driveType } |
| | | </if> |
| | | AND mesi.the_date BETWEEN #{ vo.startTime } AND #{ vo.endTime } |
| | | </where> |
| | | GROUP BY |
| | | mesi.equipment_id |
| | | </select> |
| | | |
| | | |
| | | <select id="getEfficiencyRate" resultType="java.math.BigDecimal"> |
| | | SELECT |
| | | process_long |
| | | FROM |
| | | mdc_equipment_statistical_info |
| | | WHERE |
| | | equipment_id = #{ equipmentId } AND the_date >= #{ date } |
| | | ORDER BY the_date ASC |
| | | </select> |
| | | |
| | | <select id="equipmentEfficiencyAnalyze" resultType="org.jeecg.modules.mdc.dto.EquipmentEfficiencyAnalyzeDto"> |
| | | SELECT |
| | | t3.equipment_name, |
| | | t1.utilization_rate AS utilizationRate, |
| | | t2.utilization_rate AS shiftUtilizationRate, |
| | | t1.remove_fault_rate AS amendUtilizationRate |
| | | FROM |
| | | mdc_equipment_statistical_info_month t1 |
| | | LEFT JOIN mdc_equipment_statistical_shift_info_month t2 ON t1.the_month = t2.the_month AND t2.shift_type = 1 |
| | | AND t1.equipment_id = t2.equipment_id |
| | | LEFT JOIN mdc_equipment t3 ON t3.equipment_id = t1.equipment_id |
| | | WHERE |
| | | t1.equipment_id IN |
| | | <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{id} |
| | | </foreach> |
| | | AND t1.the_month = #{month} |
| | | ORDER BY |
| | | t1.utilization_rate DESC |
| | | </select> |
| | | |
| | | <select id="teamEquipmentEfficiencyAnalyze" resultType="org.jeecg.modules.mdc.dto.TeamEquEffDto"> |
| | | SELECT |
| | | t3.team_code AS teamCode, |
| | | t1.utilization_rate AS utilizationRate, |
| | | t2.utilization_rate AS shiftUtilizationRate, |
| | | t1.remove_fault_rate AS amendUtilizationRate |
| | | FROM |
| | | mdc_equipment_statistical_info_month t1 |
| | | LEFT JOIN mdc_equipment_statistical_shift_info_month t2 ON t1.the_month = t2.the_month AND t2.shift_type = 1 |
| | | AND t1.equipment_id = t2.equipment_id |
| | | LEFT JOIN mdc_equipment t3 ON t3.equipment_id = t1.equipment_id |
| | | WHERE |
| | | t1.equipment_id IN |
| | | <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{id} |
| | | </foreach> |
| | | AND t1.the_month = #{month} |
| | | </select> |
| | | |
| | | <select id="comprehensiveRateAnalyze" resultType="org.jeecg.modules.mdc.dto.ComRateDto"> |
| | | SELECT |
| | | t1.the_month AS theMonth, |
| | | AVG ( t1.utilization_rate ) AS utilizationRate, |
| | | AVG ( t2.utilization_rate ) AS shiftUtilizationRate, |
| | | AVG ( t1.remove_fault_rate ) AS amendUtilizationRate, |
| | | SUM ( t1.process_long ) AS processLong |
| | | FROM |
| | | mdc_equipment_statistical_info_month t1 |
| | | LEFT JOIN mdc_equipment_statistical_shift_info_month t2 ON t1.the_month = t2.the_month |
| | | AND t1.equipment_id = t2.equipment_id |
| | | AND t2.shift_type = 1 |
| | | LEFT JOIN mdc_equipment t3 ON t3.equipment_id = t1.equipment_id |
| | | WHERE |
| | | t1.equipment_id IN |
| | | <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{id} |
| | | </foreach> |
| | | AND t1.the_month BETWEEN #{start} AND #{end} |
| | | GROUP BY |
| | | t1.the_month |
| | | ORDER BY |
| | | t1.the_month |
| | | </select> |
| | | |
| | | <select id="comprehensiveShiftRateAnalyze" resultType="org.jeecg.modules.mdc.dto.ComShiftRateDto"> |
| | | SELECT |
| | | t1.the_month AS theMonth, |
| | | t1.shift_sub AS shiftSub, |
| | | t2.shift_sub_name AS shiftSubName, |
| | | AVG ( t1.utilization_rate ) AS utilizationRate |
| | | FROM |
| | | mdc_equipment_statistical_shift_info_month t1 |
| | | LEFT JOIN mdc_shift_sub t2 ON t1.shift_sub = t2.id |
| | | WHERE |
| | | t2.shift_id = #{shiftId} |
| | | AND t1.equipment_id IN |
| | | <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> |
| | | #{id} |
| | | </foreach> |
| | | AND t1.the_month BETWEEN #{start} AND #{end} |
| | | AND t1.shift_type = 2 |
| | | GROUP BY |
| | | t1.the_month, |
| | | t1.shift_sub, |
| | | t2.shift_sub_name |
| | | </select> |
| | | </mapper> |