zhubaomin
2025-04-07 ecef3df4890be54c1da2a8a4fc1c8c1f50f1c263
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -1,315 +1,500 @@
<?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" />
  </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
  </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)
    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})
  </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">
    <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,
      </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>
    </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>
    </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>
    </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},
    where id = #{id,jdbcType=BIGINT}
  </update>
        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 startDt != ''">
                and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
            </if>
            <if test="endDt != null and endDt != ''">
                and rash.dt &lt;= #{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 startDt != ''">
                and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
            </if>
            <if test="endDt != null and endDt != ''">
                and rash.dt &lt;= #{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>