hyingbo
7 天以前 e935889261ef38c8eaef31e54cbfc466d63d2ef4
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml
@@ -7,4 +7,57 @@
    <select id="getMaxStaticsData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT TOP 1 * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
    </select>
    <!--查询设备运行时间-->
    <select id="selectProcessLong" resultType="java.lang.Integer">
        SELECT TOP 1 process_long FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} AND the_date = #{validDate}
    </select>
    <select id="findByEquipmentAndMonth" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentStatisticalDto">
        SELECT
            SUM ( t1.open_long ) openLong,
            SUM ( t1.close_long ) closeLong,
            SUM ( t1.wait_long ) waitLong,
            SUM ( t1.process_long ) processLong,
            SUM ( t1.error_long ) errorLong,
            SUM ( t2.fault_long ) faultLong,
            AVG ( t2.fault_rate ) faultRate,
            SUM ( t2.remove_fault_run_long ) removeFaultRunLong,
            AVG ( t2.remove_fault_rate ) removeFaultRate,
            COUNT(*) dayNum
        FROM
            mdc_equipment_statistical_info t1 LEFT JOIN mdc_equipment_fault_info t2 ON t1.equipment_id = t2.equipment_id AND t1.the_date = t2.the_date
        WHERE
            t1.equipment_id = #{equipmentId} AND t1.the_date LIKE CONCAT(#{date}, '%')
    </select>
    <select id="findByEquIdsAndMonth" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT
        AVG(open_long) openLong,
        AVG(close_long) closeLong,
        AVG(wait_long) waitLong,
        AVG(process_long) processLong,
        AVG(error_long) errorLong
        FROM
        mdc_equipment_statistical_info
        WHERE
        equipment_id IN
        <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
            #{ id }
        </foreach>
        AND the_date LIKE CONCAT(#{month}, '%')
    </select>
    <select id="findByEquipmentAndDate" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT
        *
        FROM
        mdc_equipment_statistical_info
        WHERE
        equipment_id IN
        <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
            #{ id }
        </foreach>
        AND the_date = #{date}
    </select>
</mapper>