|  |  | 
 |  |  |     <result column="intakeId" jdbcType="BIGINT" property="intakeId" /> | 
 |  |  |     <result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" /> | 
 |  |  |     <result column="protocol" jdbcType="VARCHAR" property="protocol" /> | 
 |  |  |     <result column="protocol_version" jdbcType="INTEGER" property="protocolVersion" /> | 
 |  |  |     <result column="findDt" jdbcType="TIMESTAMP" property="findDt" /> | 
 |  |  |     <result column="orgTag" jdbcType="VARCHAR" property="orgTag" /> | 
 |  |  |     <result column="addWays" jdbcType="TINYINT" property="addWays" /> | 
 |  |  |     <result column="operator" jdbcType="BIGINT" property="operator" /> | 
 |  |  |     <result column="operateDt" jdbcType="TIMESTAMP" property="operateDt" /> | 
 |  |  | 
 |  |  |  | 
 |  |  |   <sql id="Base_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     id, intakeId, rtuAddr, protocol, findDt, addWays, `operator`, operateDt, deleted | 
 |  |  |     id, intakeId, rtuAddr, protocol, protocol_version, findDt, orgTag, addWays, `operator`, operateDt, deleted | 
 |  |  |   </sql> | 
 |  |  |   <sql id="Part_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into pr_controller (id, intakeId, rtuAddr, | 
 |  |  |       protocol, findDt, addWays, | 
 |  |  |       protocol, protocol_version, findDt, orgTag, addWays, | 
 |  |  |       `operator`, operateDt, deleted | 
 |  |  |       ) | 
 |  |  |     values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |       #{protocol,jdbcType=VARCHAR}, #{findDt,jdbcType=TIMESTAMP}, #{addWays,jdbcType=TINYINT}, | 
 |  |  |       #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT} | 
 |  |  |       #{protocol,jdbcType=VARCHAR}, #{protocolVersion,jdbcType=INTEGER}, #{findDt,jdbcType=TIMESTAMP}, #{orgTag,jdbcType=VARCHAR}, | 
 |  |  |       #{addWays,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP}, | 
 |  |  |       #{deleted,jdbcType=TINYINT} | 
 |  |  |       ) | 
 |  |  |   </insert> | 
 |  |  |   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         protocol, | 
 |  |  |       </if> | 
 |  |  |      <if test="protocolVersion != null"> | 
 |  |  |        protocol_version, | 
 |  |  |       </if> | 
 |  |  |       <if test="findDt != null"> | 
 |  |  |         findDt, | 
 |  |  |       </if> | 
 |  |  |       <if test="orgTag != null"> | 
 |  |  |         orgTag, | 
 |  |  |       </if> | 
 |  |  |       <if test="addWays != null"> | 
 |  |  |         addWays, | 
 |  |  | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="protocolVersion != null"> | 
 |  |  |         #{protocolVersion,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="findDt != null"> | 
 |  |  |         #{findDt,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="orgTag != null"> | 
 |  |  |         #{orgTag,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="addWays != null"> | 
 |  |  |         #{addWays,jdbcType=TINYINT}, | 
 |  |  | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         protocol = #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |      <if test="protocolVersion != null"> | 
 |  |  |         protocol_version = #{protocolVersion,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="findDt != null"> | 
 |  |  |         findDt = #{findDt,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |      <if test="orgTag != null"> | 
 |  |  |        orgTag = #{orgTag,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="addWays != null"> | 
 |  |  |         addWays = #{addWays,jdbcType=TINYINT}, | 
 |  |  | 
 |  |  |     set intakeId = #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       rtuAddr = #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |       protocol = #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       protocol_version = #{protocolVersion,jdbcType=INTEGER}, | 
 |  |  |       findDt = #{findDt,jdbcType=TIMESTAMP}, | 
 |  |  |       orgTag = #{orgTag,jdbcType=VARCHAR}, | 
 |  |  |       addWays = #{addWays,jdbcType=TINYINT}, | 
 |  |  |       `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |       operateDt = #{operateDt,jdbcType=TIMESTAMP}, | 
 |  |  | 
 |  |  |  | 
 |  |  |   <!--根据控制器编号删除取水口编号--> | 
 |  |  |   <update id="deleteIntakeId"> | 
 |  |  |     UPDATE pr_controller SET intakeId = null WHERE id = ${controllerId} | 
 |  |  |     UPDATE pr_controller SET intakeId = null WHERE id = #{controllerId} | 
 |  |  |   </update> | 
 |  |  |  | 
 |  |  |   <!--根据指定条件获取控制器记录数--> | 
 |  |  | 
 |  |  |     SELECT | 
 |  |  |         COUNT(*) AS recordCount | 
 |  |  |     FROM pr_controller con | 
 |  |  |         INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id | 
 |  |  |         INNER JOIN pr_intake inta ON con.intakeId = inta.id | 
 |  |  |     INNER JOIN pr_intake inta ON con.intakeId = inta.id | 
 |  |  |     <where> | 
 |  |  |       AND ic.operateType = 1 | 
 |  |  |       AND con.deleted = 0 | 
 |  |  |  | 
 |  |  |       <if test = "id != null and id > 0"> | 
 |  |  |         AND con.id = ${id} | 
 |  |  |         AND con.id = #{id} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "rtuAddr != null and rtuAddr !=''"> | 
 |  |  |         AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%') | 
 |  |  |         AND con.rtuAddr = #{rtuAddr} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "bindNumber != null and bindNumber > 0"> | 
 |  |  |         AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber} | 
 |  |  |       <if test = "intakeNum != null and intakeNum !=''"> | 
 |  |  |         AND inta.name like CONCAT('%',#{intakeNum},'%') | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |       <if test = "protocolName != null and protocolName !=''"> | 
 |  |  |         AND con.protocol = #{protocolName} | 
 |  |  |       </if> | 
 |  |  |       <if test = "protocolVersion != null"> | 
 |  |  |         AND con.protocol_version = #{protocolVersion} | 
 |  |  |       </if> | 
 |  |  |      </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据指定条件获取控制器记录--> | 
 |  |  | 
 |  |  |         CAST(con.id AS char) AS id, | 
 |  |  |         con.rtuAddr AS rtuAddr, | 
 |  |  |         inta.name AS intakeName, | 
 |  |  |         "在线" AS onlineState, | 
 |  |  |         (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber, | 
 |  |  |         con.protocol, | 
 |  |  |         con.protocol_version, | 
 |  |  |         inta.remarks, | 
 |  |  |         con.findDt AS findDt | 
 |  |  |     FROM pr_controller con | 
 |  |  |         INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id | 
 |  |  |         INNER JOIN pr_intake inta ON con.intakeId = inta.id | 
 |  |  |     <where> | 
 |  |  |       AND ic.operateType = 1 | 
 |  |  |       AND con.deleted = 0 | 
 |  |  |  | 
 |  |  |       <if test = "id != null and id > 0"> | 
 |  |  |         AND con.id = ${id} | 
 |  |  |         AND con.id = #{id} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "rtuAddr != null and rtuAddr !=''"> | 
 |  |  |         AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%') | 
 |  |  |         AND con.rtuAddr = #{rtuAddr} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "bindNumber != null and bindNumber > 0"> | 
 |  |  |         AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber} | 
 |  |  |       <if test = "intakeNum != null and intakeNum !=''"> | 
 |  |  |         AND inta.name like CONCAT('%',#{intakeNum},'%') | 
 |  |  |       </if> | 
 |  |  |       <if test = "protocolName != null and protocolName !=''"> | 
 |  |  |         AND con.protocol = #{protocolName} | 
 |  |  |       </if> | 
 |  |  |       <if test = "protocolVersion != null"> | 
 |  |  |         AND con.protocol_version = #{protocolVersion} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |     ORDER BY con.operateDt DESC | 
 |  |  |     ORDER BY con.id DESC | 
 |  |  |     <trim prefix="limit " > | 
 |  |  |       <if test="start != null and count != null"> | 
 |  |  |         #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
 |  |  | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据控制器地址获取控制器列表--> | 
 |  |  |   <select id="getControllersByRtuAddrAndIntakeNotNull" parameterType="java.lang.String" resultMap="PartResultMap"> | 
 |  |  |     SELECT | 
 |  |  |     <include refid="Part_Column_List"> | 
 |  |  |     </include> | 
 |  |  |     FROM pr_controller WHERE deleted = 0 AND intakeId is not null AND rtuAddr=#{rtuAddr,jdbcType=VARCHAR} | 
 |  |  |   <select id="getControllersByRtuAddrAndIntakeNotNull" parameterType="java.lang.String" resultType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     SELECT tb.id id, | 
 |  |  |     tb.rtuAddr rtuAddr, | 
 |  |  |     tb.intakeId intakeId, | 
 |  |  |     tb.findDt findDt, | 
 |  |  |     tb.operateDt operateDt, | 
 |  |  |     itb.name intakeName | 
 |  |  |     FROM pr_controller tb | 
 |  |  |     INNER JOIN pr_intake itb on tb.intakeId = itb.id | 
 |  |  |     WHERE tb.deleted = 0 AND tb.intakeId is not null AND tb.rtuAddr=#{rtuAddr,jdbcType=VARCHAR} | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据控制器编号逻辑删除控制--> | 
 |  |  |   <update id="deleteControllerById"> | 
 |  |  |     UPDATE pr_controller SET deleted = 1 WHERE id = ${controllerId} | 
 |  |  |     UPDATE pr_controller SET deleted = 1 WHERE id = #{controllerId} | 
 |  |  |   </update> | 
 |  |  |  | 
 |  |  |   <!--根据控制器编号获取未删除的控制器数量--> | 
 |  |  |   <select id="getRecordCountOfController" resultType="java.lang.Integer"> | 
 |  |  |     SELECT COUNT(*) AS recordCount FROM pr_controller WHERE deleted = 0 AND id = ${controllerId} | 
 |  |  |     SELECT COUNT(*) AS recordCount FROM pr_controller WHERE deleted = 0 AND id = #{controllerId} | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据流浪控制器编号获取已绑定记录数--> | 
 |  |  |   <select id="getBindedCount" resultType="java.lang.Integer"> | 
 |  |  |     SELECT COUNT(*) AS recordCount FROM pr_controller WHERE rtuAddr = (SELECT rtuAddr FROM pr_controller_tramp WHERE id = ${controllerId}) AND intakeId IS NOT NULL | 
 |  |  |     SELECT COUNT(*) AS recordCount FROM pr_controller WHERE rtuAddr = (SELECT rtuAddr FROM pr_controller_tramp WHERE id = #{controllerId}) AND intakeId IS NOT NULL | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据取水口ID或阀控器地址获取阀控器对象--> | 
 |  |  |   <select id="getRtu" resultType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     SELECT * FROM pr_controller | 
 |  |  |     <where> | 
 |  |  |       AND deleted = 0 | 
 |  |  |       <if test = "intakeId != null"> | 
 |  |  |         AND intakeId = #{intakeId} | 
 |  |  |       </if> | 
 |  |  |       <if test = "rtuAddr != null"> | 
 |  |  |         AND rtuAddr = #{rtuAddr} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |     LIMIT 0,1 | 
 |  |  |   </select> | 
 |  |  | </mapper> |