|  |  | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     <!--@Table pr_controller--> | 
 |  |  |     <id column="id" jdbcType="BIGINT" property="id" /> | 
 |  |  |     <result column="code" jdbcType="VARCHAR" property="code" /> | 
 |  |  |     <result column="intakeId" jdbcType="BIGINT" property="intakeId" /> | 
 |  |  |     <result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" /> | 
 |  |  |     <result column="protocol" jdbcType="VARCHAR" property="protocol" /> | 
 |  |  |     <result column="onlineState" jdbcType="TINYINT" property="onlinestate" /> | 
 |  |  |     <result column="reportTime" jdbcType="TIMESTAMP" property="reporttime" /> | 
 |  |  |     <result column="addWays" jdbcType="TINYINT" property="addways" /> | 
 |  |  |     <result column="findDt" jdbcType="TIMESTAMP" property="findDt" /> | 
 |  |  |     <result column="addWays" jdbcType="TINYINT" property="addWays" /> | 
 |  |  |     <result column="operator" jdbcType="BIGINT" property="operator" /> | 
 |  |  |     <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" /> | 
 |  |  |     <result column="operateDt" jdbcType="TIMESTAMP" property="operateDt" /> | 
 |  |  |     <result column="deleted" jdbcType="TINYINT" property="deleted" /> | 
 |  |  |   </resultMap> | 
 |  |  |   <resultMap id="PartResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     <id column="id" jdbcType="BIGINT" property="id" /> | 
 |  |  |     <result column="intakeId" jdbcType="BIGINT" property="intakeId" /> | 
 |  |  |     <result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" /> | 
 |  |  |   </resultMap> | 
 |  |  |  | 
 |  |  |   <sql id="Base_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     id, code, protocol, onlineState, reportTime, addWays, `operator`, operateDt, deleted | 
 |  |  |     id, intakeId, rtuAddr, protocol, findDt, addWays, `operator`, operateDt, deleted | 
 |  |  |   </sql> | 
 |  |  |   <sql id="Part_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     id, rtuAddr, intakeId | 
 |  |  |   </sql> | 
 |  |  |   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  | 
 |  |  |     delete from pr_controller | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </delete> | 
 |  |  |  | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into pr_controller (id, code, protocol,  | 
 |  |  |       onlineState, reportTime, addWays,  | 
 |  |  |     insert into pr_controller (id, intakeId, rtuAddr, | 
 |  |  |       protocol, findDt, addWays, | 
 |  |  |       `operator`, operateDt, deleted | 
 |  |  |       ) | 
 |  |  |     values (#{id,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR},  | 
 |  |  |       #{onlinestate,jdbcType=TINYINT}, #{reporttime,jdbcType=TIMESTAMP}, #{addways,jdbcType=TINYINT},  | 
 |  |  |       #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT} | 
 |  |  |     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} | 
 |  |  |       ) | 
 |  |  |   </insert> | 
 |  |  |  | 
 |  |  |   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into pr_controller | 
 |  |  | 
 |  |  |       <if test="id != null"> | 
 |  |  |         id, | 
 |  |  |       </if> | 
 |  |  |       <if test="code != null"> | 
 |  |  |         code, | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         intakeId, | 
 |  |  |       </if> | 
 |  |  |       <if test="rtuAddr != null"> | 
 |  |  |         rtuAddr, | 
 |  |  |       </if> | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         protocol, | 
 |  |  |       </if> | 
 |  |  |       <if test="onlinestate != null"> | 
 |  |  |         onlineState, | 
 |  |  |       <if test="findDt != null"> | 
 |  |  |         findDt, | 
 |  |  |       </if> | 
 |  |  |       <if test="reporttime != null"> | 
 |  |  |         reportTime, | 
 |  |  |       </if> | 
 |  |  |       <if test="addways != null"> | 
 |  |  |       <if test="addWays != null"> | 
 |  |  |         addWays, | 
 |  |  |       </if> | 
 |  |  |       <if test="operator != null"> | 
 |  |  |         `operator`, | 
 |  |  |       </if> | 
 |  |  |       <if test="operatedt != null"> | 
 |  |  |       <if test="operateDt != null"> | 
 |  |  |         operateDt, | 
 |  |  |       </if> | 
 |  |  |       <if test="deleted != null"> | 
 |  |  | 
 |  |  |       <if test="id != null"> | 
 |  |  |         #{id,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="code != null"> | 
 |  |  |         #{code,jdbcType=VARCHAR}, | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="rtuAddr != null"> | 
 |  |  |         #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="onlinestate != null"> | 
 |  |  |         #{onlinestate,jdbcType=TINYINT}, | 
 |  |  |       <if test="findDt != null"> | 
 |  |  |         #{findDt,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="reporttime != null"> | 
 |  |  |         #{reporttime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="addways != null"> | 
 |  |  |         #{addways,jdbcType=TINYINT}, | 
 |  |  |       <if test="addWays != null"> | 
 |  |  |         #{addWays,jdbcType=TINYINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operator != null"> | 
 |  |  |         #{operator,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operatedt != null"> | 
 |  |  |         #{operatedt,jdbcType=TIMESTAMP}, | 
 |  |  |       <if test="operateDt != null"> | 
 |  |  |         #{operateDt,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="deleted != null"> | 
 |  |  |         #{deleted,jdbcType=TINYINT}, | 
 |  |  | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update pr_controller | 
 |  |  |     <set> | 
 |  |  |       <if test="code != null"> | 
 |  |  |         code = #{code,jdbcType=VARCHAR}, | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         intakeId = #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="rtuAddr != null"> | 
 |  |  |         rtuAddr = #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         protocol = #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="onlinestate != null"> | 
 |  |  |         onlineState = #{onlinestate,jdbcType=TINYINT}, | 
 |  |  |       <if test="findDt != null"> | 
 |  |  |         findDt = #{findDt,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="reporttime != null"> | 
 |  |  |         reportTime = #{reporttime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="addways != null"> | 
 |  |  |         addWays = #{addways,jdbcType=TINYINT}, | 
 |  |  |       <if test="addWays != null"> | 
 |  |  |         addWays = #{addWays,jdbcType=TINYINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operator != null"> | 
 |  |  |         `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operatedt != null"> | 
 |  |  |         operateDt = #{operatedt,jdbcType=TIMESTAMP}, | 
 |  |  |       <if test="operateDt != null"> | 
 |  |  |         operateDt = #{operateDt,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="deleted != null"> | 
 |  |  |         deleted = #{deleted,jdbcType=TINYINT}, | 
 |  |  | 
 |  |  |   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update pr_controller | 
 |  |  |     set code = #{code,jdbcType=VARCHAR}, | 
 |  |  |     set intakeId = #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       rtuAddr = #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |       protocol = #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       onlineState = #{onlinestate,jdbcType=TINYINT}, | 
 |  |  |       reportTime = #{reporttime,jdbcType=TIMESTAMP}, | 
 |  |  |       addWays = #{addways,jdbcType=TINYINT}, | 
 |  |  |       findDt = #{findDt,jdbcType=TIMESTAMP}, | 
 |  |  |       addWays = #{addWays,jdbcType=TINYINT}, | 
 |  |  |       `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |       operateDt = #{operatedt,jdbcType=TIMESTAMP}, | 
 |  |  |       operateDt = #{operateDt,jdbcType=TIMESTAMP}, | 
 |  |  |       deleted = #{deleted,jdbcType=TINYINT} | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </update> | 
 |  |  |  | 
 |  |  |   <!--根据指定获取控制器记录数--> | 
 |  |  |   <!--根据指定条件获取控制器记录数--> | 
 |  |  |   <select id="getRecordCount" resultType="java.lang.Long"> | 
 |  |  |     SELECT | 
 |  |  |       COUNT(*) AS recordCount | 
 |  |  |         COUNT(*) AS recordCount | 
 |  |  |     FROM pr_controller con | 
 |  |  |         INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id | 
 |  |  |         INNER JOIN pr_intake inta ON ic.intakeId = inta.id | 
 |  |  |         , (SELECT @i:=0) AS itable | 
 |  |  |         INNER JOIN pr_intake inta ON con.intakeId = inta.id | 
 |  |  |     <where> | 
 |  |  |       AND ic.operateType = 1 | 
 |  |  |       AND deleted = 0 | 
 |  |  |  | 
 |  |  |       <if test = "id != null and id > 0"> | 
 |  |  |         AND con.id = ${id} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "controllerCode != null and controllerCode !=''"> | 
 |  |  |         AND con.code like CONCAT('%',#{controllerCode},'%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "onlineState != null and onlineState > 0"> | 
 |  |  |         AND con.onlineState = ${onlineState} | 
 |  |  |       <if test = "rtuAddr != null and rtuAddr !=''"> | 
 |  |  |         AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "bindNumber != null and bindNumber > 0"> | 
 |  |  | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据指定获取控制器记录--> | 
 |  |  |   <!--根据指定条件获取控制器记录--> | 
 |  |  |   <select id="getControllers" resultType="com.dy.pipIrrGlobal.voPr.VoController"> | 
 |  |  |     SELECT | 
 |  |  |         (@i:=@i+1) AS id, | 
 |  |  |         t.* FROM( | 
 |  |  |           SELECT | 
 |  |  |             con.code AS controllerCode, | 
 |  |  |             (CASE | 
 |  |  |                 WHEN con.onlineState = 1 THEN "在线" | 
 |  |  |                 WHEN con.onlineState = 2 THEN "离线" | 
 |  |  |             END) AS onlineState, | 
 |  |  |             inta.name AS intakeName, | 
 |  |  |             (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber, | 
 |  |  |             con.reportTime | 
 |  |  |           FROM pr_controller con | 
 |  |  |             INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id | 
 |  |  |             INNER JOIN pr_intake inta ON ic.intakeId = inta.id | 
 |  |  |           <where> | 
 |  |  |             AND ic.operateType = 1 | 
 |  |  |         con.rtuAddr AS rtuAddr, | 
 |  |  |         inta.name AS intakeName, | 
 |  |  |         (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber, | 
 |  |  |         con.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 deleted = 0 | 
 |  |  |  | 
 |  |  |             <if test = "id != null and id > 0"> | 
 |  |  |               AND con.id = ${id} | 
 |  |  |             </if> | 
 |  |  |       <if test = "id != null and id > 0"> | 
 |  |  |         AND con.id = ${id} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |             <if test = "controllerCode != null and controllerCode !=''"> | 
 |  |  |               AND con.code like CONCAT('%',#{controllerCode},'%') | 
 |  |  |             </if> | 
 |  |  |       <if test = "rtuAddr != null and rtuAddr !=''"> | 
 |  |  |         AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |             <if test = "onlineState != null and onlineState > 0"> | 
 |  |  |               AND con.onlineState = ${onlineState} | 
 |  |  |             </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> | 
 |  |  |           </where> | 
 |  |  |           ORDER BY con.operateDt DESC | 
 |  |  |           <if test="pageCurr != null and pageSize != null"> | 
 |  |  |             LIMIT ${pageCurr}, ${pageSize} | 
 |  |  |           </if> | 
 |  |  |         ) t | 
 |  |  |     , (SELECT @i:=0) AS itable | 
 |  |  |       <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> | 
 |  |  |     </where> | 
 |  |  |     ORDER BY con.operateDt DESC | 
 |  |  |     <if test="pageCurr != null and pageSize != null"> | 
 |  |  |       LIMIT ${pageCurr}, ${pageSize} | 
 |  |  |     </if> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据控制器编号获取控制器列表--> | 
 |  |  |   <select id="getControllersByCode" resultType="java.util.Map"> | 
 |  |  |     SELECT id, code FROM pr_controller WHERE code LIKE CONCAT('%',#{controllerCode},'%') | 
 |  |  |   <!--根据控制器地址获取控制器列表--> | 
 |  |  |   <select id="getControllersByAddr" resultType="java.util.Map"> | 
 |  |  |     SELECT id, rtuAddr FROM pr_controller WHERE deleted = 0 AND rtuAddr LIKE CONCAT('%',#{rtuAddr},'%') | 
 |  |  |   </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> | 
 |  |  |  | 
 |  |  |   <!--根据控制器编号逻辑删除控制--> |