Lius
2024-09-12 81e5a11d1f8cc8eaeb7875bdafe36a86379d6231
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -91,51 +91,22 @@
    <!--查询设备监控信息-->
    <select id="checkStatusFromEquipmentIds" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentMonitor">
        SELECT
            k.EquipmentID,
            k.CollectTime,
            k.equipmentName,
            MAX ( l.Oporation ) Oporation,
            k.id,
            k.equipment_status,
            k.equipment_type equipmentType,
            k.equipment_type_pictures
            t1.equipment_id,
            t2.CollectTime,
            t1.equipment_name,
            t2.Oporation,
            t1.id,
            t1.equipment_status,
            t1.equipment_type equipmentType,
            t3.equipment_type_pictures
        FROM
            (
            SELECT
                t.EquipmentID,
                MAX ( t.equipmentName ) equipmentName,
                MAX ( m.CollectTime ) CollectTime,
                id,
                equipment_status,
                equipment_type,
                equipment_type_pictures
            FROM
                ( SELECT equipment_id EquipmentID, equipment_Name equipmentName, id, equipment_type, equipment_status FROM mdc_equipment WHERE equipment_id IN
                    <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
                        #{id}
                    </foreach>
                 ) t
                LEFT JOIN ( SELECT equipment_type_name, equipment_type_pictures FROM mdc_equipment_type) met ON t.equipment_type = met.equipment_type_name
                LEFT JOIN ( SELECT EquipmentID, CollectTime, Oporation FROM EquipmentLog WHERE Oporation <![CDATA[ <> ]]> 23 ) m ON t.EquipmentID= m.EquipmentID
            GROUP BY
                t.EquipmentID,
                id,
                equipment_type,
                equipment_status,
                equipment_type_pictures
            ) k
            LEFT JOIN ( SELECT EquipmentID, CollectTime, Oporation FROM EquipmentLog WHERE Oporation <![CDATA[ <> ]]> 23 ) l ON k.CollectTime= l.CollectTime
            AND k.EquipmentID = l.EquipmentID
        GROUP BY
            k.EquipmentID,
            k.CollectTime,
            k.equipmentName,
            k.id,
            k.equipment_status,
            k.equipment_type,
            k.equipment_type_pictures
        ORDER BY
            EquipmentID
            mdc_equipment t1
            LEFT JOIN Equipment t2 ON t1.equipment_id = t2.EquipmentID
            LEFT JOIN mdc_equipment_type t3 ON t1.equipment_type = t3.equipment_type_name
        WHERE equipment_id IN
        <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
    <!--根据部门id查询设备id集合-->
@@ -161,7 +132,8 @@
            sd.org_type,
            me.equipment_id,
            me.equipment_name,
            me.equipment_type
            me.equipment_type,
            me.equipment_model
        FROM
            mdc_equipment_depart med
            LEFT JOIN sys_depart sd ON med.dep_id = sd.id
@@ -184,7 +156,8 @@
            mp.org_type,
            me.equipment_id,
            me.equipment_name,
            me.equipment_type
            me.equipment_type,
            me.equipment_model
        FROM
            mdc_production_equipment mpe
            LEFT JOIN mdc_production mp ON mpe.production_id = mp.id
@@ -238,16 +211,23 @@
            <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' ">
                AND t1.drive_type = #{mdcEquipment.driveType}
            </if>
            <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' ">
                AND t3.id = #{ mdcEquipment.productionName } OR t3.parent_id = #{ mdcEquipment.productionName }
            <if test="mdcEquipment.deviceLevel != null and mdcEquipment.deviceLevel != '' ">
                AND t1.device_level = #{mdcEquipment.deviceLevel}
            </if>
            <if test="mdcEquipment.deviceCategory != null and mdcEquipment.deviceCategory != '' ">
                AND t1.device_category = #{mdcEquipment.deviceCategory}
            </if>
            <if test="mdcEquipment.deviceAbnormalStatus != null and mdcEquipment.deviceAbnormalStatus != '' ">
                AND t1.device_abnormal_status = #{mdcEquipment.deviceAbnormalStatus}
            </if>
            <if test="mdcEquipment.productionIds != null and mdcEquipment.productionIds.size() > 0 ">
                AND t3.id IN
                <foreach collection="mdcEquipment.productionIds" index="index" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by t1.sort_no
    </select>
    <select id="getWorkLineLast" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentDto">
        select top 1 spindlespeed, actualspindlespeed from [${tableName}] order by CollectTime  desc
    </select>
    <select id="exportXlsList" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
@@ -268,16 +248,24 @@
                AND t1.equipment_name = #{mdcEquipment.equipmentModel}
            </if>
            <if test="mdcEquipment.equipmentType != null and mdcEquipment.equipmentType != '' ">
                AND t1.equipmentType = #{mdcEquipment.equipmentType}
                AND t1.equipment_type = #{mdcEquipment.equipmentType}
            </if>
            <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' ">
                AND t1.drive_type = #{mdcEquipment.driveType}
            </if>
            <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' ">
                AND t3.id = #{ mdcEquipment.productionName } OR t3.parent_id = #{ mdcEquipment.productionName }
            <if test="mdcEquipment.productionIds != null and mdcEquipment.productionIds.size() > 0 ">
                AND t3.id IN
                <foreach collection="mdcEquipment.productionIds" index="index" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by t1.sort_no
    </select>
    <!--查询单表数据-->
    <select id="findWorkLineLast" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentDto">
        select top 1 spindlespeed, actualspindlespeed from [${tableName}] order by CollectTime  desc
    </select>
</mapper>