Files
klp-oa/klp-ems/src/main/resources/mapper/EmsMeterMapper.xml

94 lines
3.9 KiB
XML
Raw Normal View History

<?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="com.klp.ems.mapper.EmsMeterMapper">
<resultMap type="com.klp.ems.domain.EmsMeter" id="EmsMeterResult">
<result property="meterId" column="meter_id"/>
<result property="meterCode" column="meter_code"/>
<result property="energyTypeId" column="energy_type_id"/>
<result property="locationId" column="location_id"/>
<result property="model" column="model"/>
<result property="manufacturer" column="manufacturer"/>
<result property="installDate" column="install_date"/>
<result property="status" column="status"/>
<result property="lastCalibrationDate" column="last_calibration_date"/>
<result property="thresholdValue" column="threshold_value"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<resultMap type="com.klp.ems.domain.vo.EmsMeterVo" id="EmsMeterVoResult">
<result property="meterId" column="meter_id"/>
<result property="meterCode" column="meter_code"/>
<result property="energyTypeId" column="energy_type_id"/>
<result property="locationId" column="location_id"/>
<result property="model" column="model"/>
<result property="manufacturer" column="manufacturer"/>
<result property="installDate" column="install_date"/>
<result property="status" column="status"/>
<result property="lastCalibrationDate" column="last_calibration_date"/>
<result property="thresholdValue" column="threshold_value"/>
<result property="remark" column="remark"/>
<result property="warehouseId" column="warehouse_id"/>
<result property="warehouseName" column="warehouse_name"/>
</resultMap>
<!-- 查询设备列表,包含库区信息 -->
<select id="selectVoList" resultMap="EmsMeterVoResult">
SELECT
m.meter_id,
m.meter_code,
m.energy_type_id,
m.location_id,
m.model,
m.manufacturer,
m.install_date,
m.status,
m.last_calibration_date,
m.threshold_value,
m.remark,
COALESCE(w.warehouse_id, 0) as warehouse_id,
COALESCE(w.warehouse_name, '') as warehouse_name
FROM ems_meter m
LEFT JOIN wms_energy_area_link l ON m.meter_id = l.meter_id AND l.is_enabled = 1
LEFT JOIN wms_warehouse w ON l.warehouse_id = w.warehouse_id
WHERE m.del_flag = '0'
<if test="meterId != null">
AND m.meter_id = #{meterId}
</if>
<if test="meterCode != null and meterCode != ''">
AND m.meter_code LIKE CONCAT('%', #{meterCode}, '%')
</if>
<if test="energyTypeId != null">
AND m.energy_type_id = #{energyTypeId}
</if>
<if test="status != null">
AND m.status = #{status}
</if>
</select>
<select id="selectMeterIds" parameterType="com.klp.ems.domain.bo.MeterFilterBo" resultType="java.lang.Long">
SELECT meter_id
FROM ems_meter
WHERE del_flag = '0'
<if test="meterId != null">
AND meter_id = #{meterId}
</if>
<if test="energyTypeId != null">
AND energy_type_id = #{energyTypeId}
</if>
<if test="locationIds != null and locationIds.size() > 0">
AND location_id IN
<foreach collection="locationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
</mapper>