<?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.dy.pipIrrGlobal.daoRm.RmAlarmStateLastMapper"> 
 | 
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast"> 
 | 
    <!--@mbg.generated--> 
 | 
    <!--@Table rm_alarm_state_last--> 
 | 
    <id column="id" jdbcType="BIGINT" property="id" /> 
 | 
    <result column="controller_id" jdbcType="BIGINT" property="controllerId" /> 
 | 
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> 
 | 
    <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" /> 
 | 
    <result column="dt" jdbcType="TIMESTAMP" property="dt" /> 
 | 
    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" /> 
 | 
    <result column="valve_state" jdbcType="TINYINT" property="valveState" /> 
 | 
    <result column="alarm_remain_water" jdbcType="TINYINT" property="alarmRemainWater" /> 
 | 
    <result column="alarm0_water_remain" jdbcType="TINYINT" property="alarm0WaterRemain" /> 
 | 
    <result column="alarm_exceed_year" jdbcType="TINYINT" property="alarmExceedYear" /> 
 | 
    <result column="alarm_water_meter_fault" jdbcType="TINYINT" property="alarmWaterMeterFault" /> 
 | 
    <result column="alarm_loss" jdbcType="TINYINT" property="alarmLoss" /> 
 | 
    <result column="alarm_water_meter_break" jdbcType="TINYINT" property="alarmWaterMeterBreak" /> 
 | 
    <result column="alarm_ele_meter_fault" jdbcType="TINYINT" property="alarmEleMeterFault" /> 
 | 
    <result column="alarm0_money_remain" jdbcType="TINYINT" property="alarm0MoneyRemain" /> 
 | 
    <result column="alarm_inner_door" jdbcType="TINYINT" property="alarmInnerDoor" /> 
 | 
    <result column="alarm_outer_door" jdbcType="TINYINT" property="alarmOuterDoor" /> 
 | 
    <result column="alarm_ele_miss" jdbcType="TINYINT" property="alarmEleMiss" /> 
 | 
    <result column="alarm_ele_exceed" jdbcType="TINYINT" property="alarmEleExceed" /> 
 | 
    <result column="alarm_ele_low_volt" jdbcType="TINYINT" property="alarmEleLowVolt" /> 
 | 
    <result column="state_ic_enable" jdbcType="TINYINT" property="stateIcEnable" /> 
 | 
    <result column="alarm_battery_volt" jdbcType="TINYINT" property="alarmBatteryVolt" /> 
 | 
    <result column="alarm_valve" jdbcType="TINYINT" property="alarmValve" /> 
 | 
    <result column="power_type" jdbcType="TINYINT" property="alarmValve" /> 
 | 
    <result column="send_ms_time" jdbcType="BIGINT" property="sendMsTime" /> 
 | 
  </resultMap> 
 | 
  <sql id="Base_Column_List"> 
 | 
    <!--@mbg.generated--> 
 | 
    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, valve_state, alarm_remain_water, 
 | 
    alarm0_water_remain, alarm_exceed_year, alarm_water_meter_fault, alarm_loss, alarm_water_meter_break, 
 | 
    alarm_ele_meter_fault, alarm0_money_remain, alarm_inner_door, alarm_outer_door, alarm_ele_miss,  
 | 
    alarm_ele_exceed, alarm_ele_low_volt, state_ic_enable,alarm_battery_volt,alarm_valve,power_type,send_ms_time 
 | 
  </sql> 
 | 
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select  
 | 
    <include refid="Base_Column_List" /> 
 | 
    from rm_alarm_state_last 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <select id="selectByIntakeId" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select 
 | 
    <include refid="Base_Column_List" /> 
 | 
    from rm_alarm_state_last 
 | 
    where intake_id = #{intakeId,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
    <!--@mbg.generated--> 
 | 
    delete from rm_alarm_state_last 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </delete> 
 | 
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into rm_alarm_state_last (id, controller_id, intake_id,  
 | 
      rtu_addr, dt, rtu_dt,  
 | 
      valve_state, alarm_remain_water, alarm0_water_remain, 
 | 
      alarm_exceed_year, alarm_water_meter_fault, 
 | 
      alarm_loss, alarm_water_meter_break, alarm_ele_meter_fault,  
 | 
      alarm0_money_remain, alarm_inner_door, alarm_outer_door,  
 | 
      alarm_ele_miss, alarm_ele_exceed, alarm_ele_low_volt,  
 | 
      state_ic_enable,alarm_battery_volt,alarm_valve,power_type, 
 | 
      send_ms_time) 
 | 
    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT},  
 | 
      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP},  
 | 
      #{valveState,jdbcType=TINYINT}, #{alarmRemainWater,jdbcType=TINYINT}, #{alarm0WaterRemain,jdbcType=TINYINT},  
 | 
      #{alarmExceedYear,jdbcType=TINYINT}, #{alarmWaterMeterFault,jdbcType=TINYINT},  
 | 
      #{alarmLoss,jdbcType=TINYINT}, #{alarmWaterMeterBreak,jdbcType=TINYINT}, #{alarmEleMeterFault,jdbcType=TINYINT},  
 | 
      #{alarm0MoneyRemain,jdbcType=TINYINT}, #{alarmInnerDoor,jdbcType=TINYINT}, #{alarmOuterDoor,jdbcType=TINYINT},  
 | 
      #{alarmEleMiss,jdbcType=TINYINT}, #{alarmEleExceed,jdbcType=TINYINT}, #{alarmEleLowVolt,jdbcType=TINYINT}, 
 | 
      #{stateIcEnable,jdbcType=TINYINT}, #{alarmBatteryVolt,jdbcType=TINYINT}, #{alarmValve,jdbcType=TINYINT}, 
 | 
      #{powerType,jdbcType=TINYINT},#{sendMsTime,jdbcType=BIGINT}) 
 | 
  </insert> 
 | 
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into rm_alarm_state_last 
 | 
    <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
      <if test="id != null"> 
 | 
        id, 
 | 
      </if> 
 | 
      <if test="controllerId != null"> 
 | 
        controller_id, 
 | 
      </if> 
 | 
      <if test="intakeId != null"> 
 | 
        intake_id, 
 | 
      </if> 
 | 
      <if test="rtuAddr != null"> 
 | 
        rtu_addr, 
 | 
      </if> 
 | 
      <if test="dt != null"> 
 | 
        dt, 
 | 
      </if> 
 | 
      <if test="rtuDt != null"> 
 | 
        rtu_dt, 
 | 
      </if> 
 | 
      <if test="valveState != null"> 
 | 
        valve_state, 
 | 
      </if> 
 | 
      <if test="alarmRemainWater != null"> 
 | 
        alarm_remain_water, 
 | 
      </if> 
 | 
      <if test="alarm0WaterRemain != null"> 
 | 
        alarm0_water_remain, 
 | 
      </if> 
 | 
      <if test="alarmExceedYear != null"> 
 | 
        alarm_exceed_year, 
 | 
      </if> 
 | 
      <if test="alarmWaterMeterFault != null"> 
 | 
        alarm_water_meter_fault, 
 | 
      </if> 
 | 
      <if test="alarmLoss != null"> 
 | 
        alarm_loss, 
 | 
      </if> 
 | 
      <if test="alarmWaterMeterBreak != null"> 
 | 
        alarm_water_meter_break, 
 | 
      </if> 
 | 
      <if test="alarmEleMeterFault != null"> 
 | 
        alarm_ele_meter_fault, 
 | 
      </if> 
 | 
      <if test="alarm0MoneyRemain != null"> 
 | 
        alarm0_money_remain, 
 | 
      </if> 
 | 
      <if test="alarmInnerDoor != null"> 
 | 
        alarm_inner_door, 
 | 
      </if> 
 | 
      <if test="alarmOuterDoor != null"> 
 | 
        alarm_outer_door, 
 | 
      </if> 
 | 
      <if test="alarmEleMiss != null"> 
 | 
        alarm_ele_miss, 
 | 
      </if> 
 | 
      <if test="alarmEleExceed != null"> 
 | 
        alarm_ele_exceed, 
 | 
      </if> 
 | 
      <if test="alarmEleLowVolt != null"> 
 | 
        alarm_ele_low_volt, 
 | 
      </if> 
 | 
      <if test="stateIcEnable != null"> 
 | 
        state_ic_enable, 
 | 
      </if> 
 | 
      <if test="alarmBatteryVolt != null"> 
 | 
        alarm_battery_volt, 
 | 
      </if> 
 | 
     <if test="alarmValve != null"> 
 | 
        alarm_valve, 
 | 
      </if> 
 | 
     <if test="powerType != null"> 
 | 
        power_type, 
 | 
      </if> 
 | 
     <if test="sendMsTime != null"> 
 | 
       send_ms_time, 
 | 
      </if> 
 | 
    </trim> 
 | 
    <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
      <if test="id != null"> 
 | 
        #{id,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="controllerId != null"> 
 | 
        #{controllerId,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="intakeId != null"> 
 | 
        #{intakeId,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="rtuAddr != null"> 
 | 
        #{rtuAddr,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="dt != null"> 
 | 
        #{dt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="rtuDt != null"> 
 | 
        #{rtuDt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="valveState != null"> 
 | 
        #{valveState,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmRemainWater != null"> 
 | 
        #{alarmRemainWater,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarm0WaterRemain != null"> 
 | 
        #{alarm0WaterRemain,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmExceedYear != null"> 
 | 
        #{alarmExceedYear,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmWaterMeterFault != null"> 
 | 
        #{alarmWaterMeterFault,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmLoss != null"> 
 | 
        #{alarmLoss,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmWaterMeterBreak != null"> 
 | 
        #{alarmWaterMeterBreak,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleMeterFault != null"> 
 | 
        #{alarmEleMeterFault,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarm0MoneyRemain != null"> 
 | 
        #{alarm0MoneyRemain,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmInnerDoor != null"> 
 | 
        #{alarmInnerDoor,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmOuterDoor != null"> 
 | 
        #{alarmOuterDoor,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleMiss != null"> 
 | 
        #{alarmEleMiss,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleExceed != null"> 
 | 
        #{alarmEleExceed,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleLowVolt != null"> 
 | 
        #{alarmEleLowVolt,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="stateIcEnable != null"> 
 | 
        #{stateIcEnable,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmBatteryVolt != null"> 
 | 
        #{alarmBatteryVolt,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
     <if test="alarmValve != null"> 
 | 
        #{alarmValve,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
     <if test="powerType != null"> 
 | 
        #{powerType,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="sendMsTime != null"> 
 | 
        #{sendMsTime,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
    </trim> 
 | 
  </insert> 
 | 
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast"> 
 | 
    <!--@mbg.generated--> 
 | 
    update rm_alarm_state_last 
 | 
    <set> 
 | 
      <if test="controllerId != null"> 
 | 
        controller_id = #{controllerId,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="intakeId != null"> 
 | 
        intake_id = #{intakeId,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="rtuAddr != null"> 
 | 
        rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="dt != null"> 
 | 
        dt = #{dt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="rtuDt != null"> 
 | 
        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="valveState != null"> 
 | 
        valve_state = #{valveState,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmRemainWater != null"> 
 | 
        alarm_remain_water = #{alarmRemainWater,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarm0WaterRemain != null"> 
 | 
        alarm0_water_remain = #{alarm0WaterRemain,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmExceedYear != null"> 
 | 
        alarm_exceed_year = #{alarmExceedYear,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmWaterMeterFault != null"> 
 | 
        alarm_water_meter_fault = #{alarmWaterMeterFault,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmLoss != null"> 
 | 
        alarm_loss = #{alarmLoss,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmWaterMeterBreak != null"> 
 | 
        alarm_water_meter_break = #{alarmWaterMeterBreak,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleMeterFault != null"> 
 | 
        alarm_ele_meter_fault = #{alarmEleMeterFault,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarm0MoneyRemain != null"> 
 | 
        alarm0_money_remain = #{alarm0MoneyRemain,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmInnerDoor != null"> 
 | 
        alarm_inner_door = #{alarmInnerDoor,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmOuterDoor != null"> 
 | 
        alarm_outer_door = #{alarmOuterDoor,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleMiss != null"> 
 | 
        alarm_ele_miss = #{alarmEleMiss,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleExceed != null"> 
 | 
        alarm_ele_exceed = #{alarmEleExceed,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmEleLowVolt != null"> 
 | 
        alarm_ele_low_volt = #{alarmEleLowVolt,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="stateIcEnable != null"> 
 | 
        state_ic_enable = #{stateIcEnable,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmBatteryVolt != null"> 
 | 
        alarm_battery_volt = #{alarmBatteryVolt,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="alarmValve != null"> 
 | 
        alarm_valve = #{alarmValve,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="powerType != null"> 
 | 
        power_type = #{powerType,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="sendMsTime != null"> 
 | 
        send_ms_time = #{sendMsTime,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
    </set> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast"> 
 | 
    <!--@mbg.generated--> 
 | 
    update rm_alarm_state_last 
 | 
    set controller_id = #{controllerId,jdbcType=BIGINT}, 
 | 
      intake_id = #{intakeId,jdbcType=BIGINT}, 
 | 
      rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, 
 | 
      dt = #{dt,jdbcType=TIMESTAMP}, 
 | 
      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}, 
 | 
      valve_state = #{valveState,jdbcType=TINYINT}, 
 | 
      alarm_remain_water = #{alarmRemainWater,jdbcType=TINYINT}, 
 | 
      alarm0_water_remain = #{alarm0WaterRemain,jdbcType=TINYINT}, 
 | 
      alarm_exceed_year = #{alarmExceedYear,jdbcType=TINYINT}, 
 | 
      alarm_water_meter_fault = #{alarmWaterMeterFault,jdbcType=TINYINT}, 
 | 
      alarm_loss = #{alarmLoss,jdbcType=TINYINT}, 
 | 
      alarm_water_meter_break = #{alarmWaterMeterBreak,jdbcType=TINYINT}, 
 | 
      alarm_ele_meter_fault = #{alarmEleMeterFault,jdbcType=TINYINT}, 
 | 
      alarm0_money_remain = #{alarm0MoneyRemain,jdbcType=TINYINT}, 
 | 
      alarm_inner_door = #{alarmInnerDoor,jdbcType=TINYINT}, 
 | 
      alarm_outer_door = #{alarmOuterDoor,jdbcType=TINYINT}, 
 | 
      alarm_ele_miss = #{alarmEleMiss,jdbcType=TINYINT}, 
 | 
      alarm_ele_exceed = #{alarmEleExceed,jdbcType=TINYINT}, 
 | 
      alarm_ele_low_volt = #{alarmEleLowVolt,jdbcType=TINYINT}, 
 | 
      state_ic_enable = #{stateIcEnable,jdbcType=TINYINT}, 
 | 
      alarm_battery_volt = #{alarmBatteryVolt,jdbcType=TINYINT}, 
 | 
      alarm_valve = #{alarmValve,jdbcType=TINYINT}, 
 | 
      power_type = #{powerType,jdbcType=TINYINT}, 
 | 
      send_ms_time = #{sendMsTime,jdbcType=BIGINT} 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <!--根据指定条件获取记录总数--> 
 | 
  <select id="getRecordCount" resultType="java.lang.Long"> 
 | 
    select count(*) 
 | 
    from rm_alarm_state_last rasl 
 | 
    Left join pr_intake pint on intake_id = pint.id 
 | 
    <where> 
 | 
      <if test="alarmState == 1"> 
 | 
        and ( 
 | 
        alarm_remain_water = 1 
 | 
        or alarm0_water_remain = 1 
 | 
        or alarm_exceed_year = 1 
 | 
        or alarm_water_meter_fault = 1 
 | 
        or alarm_loss = 1 
 | 
        or alarm_water_meter_break = 1 
 | 
        or alarm_ele_meter_fault = 1 
 | 
        or alarm0_money_remain = 1 
 | 
        or alarm_inner_door = 1 
 | 
        or alarm_outer_door = 1 
 | 
        or alarm_ele_miss = 1 
 | 
        or alarm_ele_exceed = 1 
 | 
        or alarm_ele_low_volt = 1 
 | 
        or alarm_battery_volt = 1 
 | 
        or alarm_valve = 1 
 | 
        ) 
 | 
      </if> 
 | 
      <if test="alarmState == 0"> 
 | 
        and ( 
 | 
        alarm_remain_water = 0 
 | 
        and alarm0_water_remain = 0 
 | 
        and alarm_exceed_year = 0 
 | 
        and alarm_water_meter_fault = 0 
 | 
        and alarm_loss = 0 
 | 
        and alarm_water_meter_break = 0 
 | 
        and alarm_ele_meter_fault = 0 
 | 
        and alarm0_money_remain = 0 
 | 
        and alarm_inner_door = 0 
 | 
        and alarm_outer_door = 0 
 | 
        and alarm_ele_miss = 0 
 | 
        and alarm_ele_exceed = 0 
 | 
        and alarm_ele_low_volt = 0 
 | 
        and alarm_battery_volt = 0 
 | 
        and alarm_valve = 0 
 | 
        ) 
 | 
      </if> 
 | 
      <if test="valveState != null"> 
 | 
        and rasl.valve_state = #{valveState,jdbcType=TINYINT} 
 | 
      </if> 
 | 
      <if test="intakeId != null and intakeId != '' "> 
 | 
        and rash.intake_id = #{intakeId} 
 | 
      </if> 
 | 
      <if test="intakeName != null and intakeName != '' "> 
 | 
        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%') 
 | 
      </if> 
 | 
      <if test="startDt != null"> 
 | 
        and rasl.dt >= #{startDt,jdbcType=TIMESTAMP} 
 | 
      </if> 
 | 
      <if test="endDt != null"> 
 | 
        and rasl.dt <= #{endDt,jdbcType=TIMESTAMP} 
 | 
      </if> 
 | 
    </where> 
 | 
    </select> 
 | 
  <!--根据指定条件获取记录--> 
 | 
  <select id="getControllerAlarmStateLast" resultType="com.dy.pipIrrGlobal.voRm.VoControllerAlarmState"> 
 | 
    select 
 | 
    CAST(rasl.controller_id AS char)AS controllerId, 
 | 
    CAST(rasl.intake_id AS char)AS intakeId, 
 | 
    pint.name as intakeName, 
 | 
    rasl.rtu_addr as rtuAddr, 
 | 
    rasl.dt as dt, 
 | 
    rasl.valve_state as valveState, 
 | 
    rasl.alarm_remain_water as alarmRemainWater, 
 | 
    rasl.alarm0_water_remain as alarm0WaterRemain, 
 | 
    rasl.alarm_exceed_year as alarmExceedYear, 
 | 
    rasl.alarm_water_meter_fault as alarmWaterMeterFault, 
 | 
    rasl.alarm_loss as alarmLoss, 
 | 
    rasl.alarm_water_meter_break as alarmWaterMeterBreak, 
 | 
    rasl.alarm_ele_meter_fault as alarmEleMeterFault, 
 | 
    rasl.alarm0_money_remain as alarm0MoneyRemain, 
 | 
    rasl.alarm_inner_door as alarmInnerDoor, 
 | 
    rasl.alarm_outer_door as alarmOuterDoor, 
 | 
    rasl.alarm_ele_miss as alarmEleMiss, 
 | 
    rasl.alarm_ele_exceed as alarmEleExceed, 
 | 
    rasl.alarm_ele_low_volt as alarmEleLowVolt, 
 | 
    rasl.state_ic_enable as stateIcEnable, 
 | 
    rasl.alarm_battery_volt as alarmBatteryVolt, 
 | 
    rasl.alarm_valve as alarmValve, 
 | 
    rasl.power_type as powerType 
 | 
    from rm_alarm_state_last rasl 
 | 
    Left join pr_intake pint on rasl.intake_id = pint.id 
 | 
    <where> 
 | 
      <if test="alarmState == 1"> 
 | 
        and ( 
 | 
        alarm_remain_water = 1 
 | 
        or alarm0_water_remain = 1 
 | 
        or alarm_exceed_year = 1 
 | 
        or alarm_water_meter_fault = 1 
 | 
        or alarm_loss = 1 
 | 
        or alarm_water_meter_break = 1 
 | 
        or alarm_ele_meter_fault = 1 
 | 
        or alarm0_money_remain = 1 
 | 
        or alarm_inner_door = 1 
 | 
        or alarm_outer_door = 1 
 | 
        or alarm_ele_miss = 1 
 | 
        or alarm_ele_exceed = 1 
 | 
        or alarm_ele_low_volt = 1 
 | 
        or alarm_battery_volt = 1 
 | 
        or alarm_valve = 1 
 | 
        ) 
 | 
      </if> 
 | 
      <if test="alarmState == 0"> 
 | 
        and ( 
 | 
        alarm_remain_water = 0 
 | 
        and alarm0_water_remain = 0 
 | 
        and alarm_exceed_year = 0 
 | 
        and alarm_water_meter_fault = 0 
 | 
        and alarm_loss = 0 
 | 
        and alarm_water_meter_break = 0 
 | 
        and alarm_ele_meter_fault = 0 
 | 
        and alarm0_money_remain = 0 
 | 
        and alarm_inner_door = 0 
 | 
        and alarm_outer_door = 0 
 | 
        and alarm_ele_miss = 0 
 | 
        and alarm_ele_exceed = 0 
 | 
        and alarm_ele_low_volt = 0 
 | 
        and alarm_battery_volt = 0 
 | 
        and alarm_valve = 0 
 | 
        ) 
 | 
      </if> 
 | 
      <if test="valveState != null"> 
 | 
        and rasl.valve_state = #{valveState,jdbcType=TINYINT} 
 | 
      </if> 
 | 
      <if test="intakeId != null and intakeId != '' "> 
 | 
        and rash.intake_id = #{intakeId} 
 | 
      </if> 
 | 
      <if test="intakeName != null and intakeName != '' "> 
 | 
        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%') 
 | 
      </if> 
 | 
      <if test="startDt != null"> 
 | 
        and rasl.dt >= #{startDt,jdbcType=TIMESTAMP} 
 | 
      </if> 
 | 
      <if test="endDt != null"> 
 | 
        and rasl.dt <= #{endDt,jdbcType=TIMESTAMP} 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY rasl.id DESC 
 | 
    <if test="pageCurr != null and pageSize != null"> 
 | 
      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} 
 | 
    </if> 
 | 
  </select> 
 | 
</mapper> 
 |