lyh
2025-07-02 212eb8010c66c321dcdfc617725b37885573a44e
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
@@ -18,10 +18,14 @@
            t1.open_long / 86400 openRate,
            t1.open_long openLong,
            t1.wait_long waitLong,
            t1.close_long closeLong
            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 }
@@ -65,10 +69,14 @@
            t1.open_long / 86400 openRate,
            t1.open_long openLong,
            t1.wait_long waitLong,
            t1.close_long closeLong
            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 }
@@ -187,14 +195,15 @@
        ORDER BY the_date ASC
    </select>
    <select id="teamEquipmentEfficiencyAnalyze" resultType="org.jeecg.modules.mdc.dto.TeamEquipmentEfficiencyAnalyzeDto">
    <select id="equipmentEfficiencyAnalyze" resultType="org.jeecg.modules.mdc.dto.EquipmentEfficiencyAnalyzeDto">
        SELECT
            t3.equipment_name,
            t1.utilization_rate AS utilizationRate,
            t2.utilization_rate AS shiftUtilizationRate
            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
                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
@@ -202,8 +211,75 @@
            <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
          AND t1.the_month = #{month}
            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>