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