From bb5c0ca59fd23ca6c4b8184023d8707d9d506826 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 25 四月 2025 10:56:37 +0800 Subject: [PATCH] 修改bug --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 1170 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 766 insertions(+), 404 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml index 1d5434d..1d8abba 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml @@ -1,439 +1,801 @@ <?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.daoPr.PrIntakeMapper"> - <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrIntake"> - <!--@mbg.generated--> - <!--@Table pr_intake--> - <id column="id" jdbcType="BIGINT" property="id" /> - <result column="countyId" jdbcType="BIGINT" property="countyId" /> - <result column="townId" jdbcType="BIGINT" property="townId" /> - <result column="villageId" jdbcType="BIGINT" property="villageId" /> - <result column="divideId" jdbcType="BIGINT" property="divideId" /> - <result column="blockId" jdbcType="BIGINT" property="blockId" /> - <result column="name" jdbcType="VARCHAR" property="name" /> - <result column="lng" jdbcType="DOUBLE" property="lng" /> - <result column="lat" jdbcType="DOUBLE" property="lat" /> - <result column="remarks" jdbcType="VARCHAR" property="remarks" /> - <result column="operator" jdbcType="BIGINT" property="operator" /> - <result column="operateDt" jdbcType="TIMESTAMP" property="operateDt" /> - <result column="deleted" jdbcType="TINYINT" property="deleted" /> - </resultMap> - <sql id="Base_Column_List"> - <!--@mbg.generated--> - id, countyId, townId, villageId, divideId, blockId, `name`, lng, lat, remarks, `operator`, - operateDt, deleted - </sql> - <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> - <!--@mbg.generated--> - select - <include refid="Base_Column_List" /> - from pr_intake - where id = #{id,jdbcType=BIGINT} and deleted = 0 - </select> - - <delete id="deleteLogicById" parameterType="java.lang.Long"> - <!--@mbg.generated--> - update pr_intake - set deleted = 1 - where id = #{id,jdbcType=BIGINT} - </delete> - - <select id="selectAll" resultMap="BaseResultMap"> - <!--@mbg.generated--> - select - <include refid="Base_Column_List"/> - from pr_intake - where deleted != 1 - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> - <!--@mbg.generated--> - delete from pr_intake - where id = #{id,jdbcType=BIGINT} - </delete> - <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> - <!--@mbg.generated--> - insert into pr_intake (id, countyId, townId, - villageId, divideId, blockId, - `name`, lng, lat, remarks, - `operator`, operateDt, deleted - ) - values (#{id,jdbcType=BIGINT}, #{countyId,jdbcType=BIGINT}, #{townId,jdbcType=BIGINT}, - #{villageId,jdbcType=BIGINT}, #{divideId,jdbcType=BIGINT}, #{blockId,jdbcType=BIGINT}, - #{name,jdbcType=VARCHAR}, #{lng,jdbcType=DOUBLE}, #{lat,jdbcType=DOUBLE}, #{remarks,jdbcType=VARCHAR}, - #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT} - ) - </insert> - <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> - <!--@mbg.generated--> - insert into pr_intake - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrIntake"> + <!--@mbg.generated--> + <!--@Table pr_intake--> + <id column="id" jdbcType="BIGINT" property="id"/> + <result column="countyId" jdbcType="BIGINT" property="countyId"/> + <result column="townId" jdbcType="BIGINT" property="townId"/> + <result column="villageId" jdbcType="BIGINT" property="villageId"/> + <result column="divideId" jdbcType="BIGINT" property="divideId"/> + <result column="blockId" jdbcType="BIGINT" property="blockId"/> + <result column="name" jdbcType="VARCHAR" property="name"/> + <result column="lng" jdbcType="DOUBLE" property="lng"/> + <result column="lat" jdbcType="DOUBLE" property="lat"/> + <result column="remarks" jdbcType="VARCHAR" property="remarks"/> + <result column="operator" jdbcType="BIGINT" property="operator"/> + <result column="operateDt" jdbcType="TIMESTAMP" property="operateDt"/> + <result column="deleted" jdbcType="TINYINT" property="deleted"/> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> id, - </if> - <if test="countyId != null"> countyId, - </if> - <if test="townId != null"> townId, - </if> - <if test="villageId != null"> villageId, - </if> - <if test="divideId != null"> divideId, - </if> - <if test="blockId != null"> blockId, - </if> - <if test="name != null"> `name`, - </if> - <if test="lng != null"> lng, - </if> - <if test="lat != null"> lat, - </if> - <if test="remarks != null"> remarks, - </if> - <if test="operator != null"> `operator`, - </if> - <if test="operateDt != null"> operateDt, - </if> - <if test="deleted != null"> - deleted, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null"> - #{id,jdbcType=BIGINT}, - </if> - <if test="countyId != null"> - #{countyId,jdbcType=BIGINT}, - </if> - <if test="townId != null"> - #{townId,jdbcType=BIGINT}, - </if> - <if test="villageId != null"> - #{villageId,jdbcType=BIGINT}, - </if> - <if test="divideId != null"> - #{divideId,jdbcType=BIGINT}, - </if> - <if test="blockId != null"> - #{blockId,jdbcType=BIGINT}, - </if> - <if test="name != null"> - #{name,jdbcType=VARCHAR}, - </if> - <if test="lng != null"> - #{lng,jdbcType=DOUBLE}, - </if> - <if test="lat != null"> - #{lat,jdbcType=DOUBLE}, - </if> - <if test="remarks != null"> - #{remarks,jdbcType=VARCHAR}, - </if> - <if test="operator != null"> - #{operator,jdbcType=BIGINT}, - </if> - <if test="operateDt != null"> - #{operateDt,jdbcType=TIMESTAMP}, - </if> - <if test="deleted != null"> - #{deleted,jdbcType=TINYINT}, - </if> - </trim> - </insert> - <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> - <!--@mbg.generated--> - update pr_intake - <set> - <if test="countyId != null"> - countyId = #{countyId,jdbcType=BIGINT}, - </if> - <if test="townId != null"> - townId = #{townId,jdbcType=BIGINT}, - </if> - <if test="villageId != null"> - villageId = #{villageId,jdbcType=BIGINT}, - </if> - <if test="divideId != null"> - divideId = #{divideId,jdbcType=BIGINT}, - </if> - <if test="blockId != null"> - blockId = #{blockId,jdbcType=BIGINT}, - </if> - <if test="name != null"> - `name` = #{name,jdbcType=VARCHAR}, - </if> - <if test="lng != null"> - lng = #{lng,jdbcType=DOUBLE}, - </if> - <if test="lat != null"> - lat = #{lat,jdbcType=DOUBLE}, - </if> - <if test="remarks != null"> - remarks = #{remarks,jdbcType=VARCHAR}, - </if> - <if test="operator != null"> + deleted + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultType="com.dy.pipIrrGlobal.voPr.VoAllIntake"> + <!--@mbg.generated--> + select + ge.id, + ge.countyId, + ge.townId, + ge.villageId, + ge.divideId, + ge.blockId, + ge.`name`, + ge.lng, + ge.lat, + ge.remarks, + ge.`operator`, + ge.operateDt, + blo.`name` AS blockName, + CONCAT(country.`name`, town.`name`, village.`name`) AS address + FROM pr_intake ge + INNER JOIN pr_divide divi ON ge.divideId = divi.id + INNER JOIN ba_block blo ON divi.blockId = blo.id + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id + where ge.id = #{id,jdbcType=BIGINT} + AND ge.deleted = 0 + AND divi.deleted = 0 + AND blo.deleted = 0 + </select> + + <delete id="deleteLogicById" parameterType="java.lang.Long"> + <!--@mbg.generated--> + update pr_intake + set deleted = 1 + where id = #{id,jdbcType=BIGINT} + </delete> + + <select id="selectAll" resultType="com.dy.pipIrrGlobal.voPr.VoAllIntake"> + <!--@mbg.generated--> + select + ge.id, + ge.countyId, + ge.townId, + ge.villageId, + ge.divideId, + ge.blockId, + ge.`name`, + ge.lng, + ge.lat, + ge.remarks, + ge.`operator`, + ge.operateDt, + blo.`name` AS blockName, + CONCAT(country.`name`, town.`name`, village.`name`) AS address + FROM pr_intake ge + INNER JOIN pr_divide divi ON ge.divideId = divi.id + INNER JOIN ba_block blo ON divi.blockId = blo.id + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id + where + ge.deleted = 0 + AND divi.deleted = 0 + AND blo.deleted = 0 + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete + from pr_intake + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> + <!--@mbg.generated--> + insert into pr_intake (id, countyId, townId, + villageId, divideId, blockId, + `name`, lng, lat, remarks, + `operator`, operateDt, deleted) + values (#{id,jdbcType=BIGINT}, #{countyId,jdbcType=BIGINT}, #{townId,jdbcType=BIGINT}, + #{villageId,jdbcType=BIGINT}, #{divideId,jdbcType=BIGINT}, #{blockId,jdbcType=BIGINT}, + #{name,jdbcType=VARCHAR}, #{lng,jdbcType=DOUBLE}, #{lat,jdbcType=DOUBLE}, #{remarks,jdbcType=VARCHAR}, + #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> + <!--@mbg.generated--> + insert into pr_intake + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="countyId != null"> + countyId, + </if> + <if test="townId != null"> + townId, + </if> + <if test="villageId != null"> + villageId, + </if> + <if test="divideId != null"> + divideId, + </if> + <if test="blockId != null"> + blockId, + </if> + <if test="name != null"> + `name`, + </if> + <if test="lng != null"> + lng, + </if> + <if test="lat != null"> + lat, + </if> + <if test="remarks != null"> + remarks, + </if> + <if test="operator != null"> + `operator`, + </if> + <if test="operateDt != null"> + operateDt, + </if> + <if test="deleted != null"> + deleted, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="countyId != null"> + #{countyId,jdbcType=BIGINT}, + </if> + <if test="townId != null"> + #{townId,jdbcType=BIGINT}, + </if> + <if test="villageId != null"> + #{villageId,jdbcType=BIGINT}, + </if> + <if test="divideId != null"> + #{divideId,jdbcType=BIGINT}, + </if> + <if test="blockId != null"> + #{blockId,jdbcType=BIGINT}, + </if> + <if test="name != null"> + #{name,jdbcType=VARCHAR}, + </if> + <if test="lng != null"> + #{lng,jdbcType=DOUBLE}, + </if> + <if test="lat != null"> + #{lat,jdbcType=DOUBLE}, + </if> + <if test="remarks != null"> + #{remarks,jdbcType=VARCHAR}, + </if> + <if test="operator != null"> + #{operator,jdbcType=BIGINT}, + </if> + <if test="operateDt != null"> + #{operateDt,jdbcType=TIMESTAMP}, + </if> + <if test="deleted != null"> + #{deleted,jdbcType=TINYINT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> + <!--@mbg.generated--> + update pr_intake + <set> + <if test="countyId != null"> + countyId = #{countyId,jdbcType=BIGINT}, + </if> + <if test="townId != null"> + townId = #{townId,jdbcType=BIGINT}, + </if> + <if test="villageId != null"> + villageId = #{villageId,jdbcType=BIGINT}, + </if> + <if test="divideId != null"> + divideId = #{divideId,jdbcType=BIGINT}, + </if> + <if test="blockId != null"> + blockId = #{blockId,jdbcType=BIGINT}, + </if> + <if test="name != null"> + `name` = #{name,jdbcType=VARCHAR}, + </if> + <if test="lng != null"> + lng = #{lng,jdbcType=DOUBLE}, + </if> + <if test="lat != null"> + lat = #{lat,jdbcType=DOUBLE}, + </if> + <if test="remarks != null"> + remarks = #{remarks,jdbcType=VARCHAR}, + </if> + <if test="operator != null"> + `operator` = #{operator,jdbcType=BIGINT}, + </if> + <if test="operateDt != null"> + operateDt = #{operateDt,jdbcType=TIMESTAMP}, + </if> + <if test="deleted != null"> + deleted = #{deleted,jdbcType=TINYINT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> + <!--@mbg.generated--> + update pr_intake + set countyId = #{countyId,jdbcType=BIGINT}, + townId = #{townId,jdbcType=BIGINT}, + villageId = #{villageId,jdbcType=BIGINT}, + divideId = #{divideId,jdbcType=BIGINT}, + blockId = #{blockId,jdbcType=BIGINT}, + `name` = #{name,jdbcType=VARCHAR}, + lng = #{lng,jdbcType=DOUBLE}, + lat = #{lat,jdbcType=DOUBLE}, + remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, - </if> - <if test="operateDt != null"> - operateDt = #{operateDt,jdbcType=TIMESTAMP}, - </if> - <if test="deleted != null"> - deleted = #{deleted,jdbcType=TINYINT}, - </if> - </set> - where id = #{id,jdbcType=BIGINT} - </update> - <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrIntake"> - <!--@mbg.generated--> - update pr_intake - set countyId = #{countyId,jdbcType=BIGINT}, - townId = #{townId,jdbcType=BIGINT}, - villageId = #{villageId,jdbcType=BIGINT}, - divideId = #{divideId,jdbcType=BIGINT}, - blockId = #{blockId,jdbcType=BIGINT}, - `name` = #{name,jdbcType=VARCHAR}, - lng = #{lng,jdbcType=DOUBLE}, - lat = #{lat,jdbcType=DOUBLE}, - remarks = #{remarks,jdbcType=VARCHAR}, - `operator` = #{operator,jdbcType=BIGINT}, - operateDt = #{operateDt,jdbcType=TIMESTAMP}, - deleted = #{deleted,jdbcType=TINYINT} - where id = #{id,jdbcType=BIGINT} - </update> + operateDt = #{operateDt,jdbcType=TIMESTAMP}, + deleted = #{deleted,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + </update> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰曟暟--> - <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> - SELECT COUNT(*) AS recordCount - FROM pr_intake ge - INNER JOIN pr_divide divi ON ge.divideId = divi.id - INNER JOIN ba_block blo ON divi.blockId = blo.id - LEFT JOIN ba_district country ON ge.countyId = country.id - LEFT JOIN ba_district town ON ge.townId = town.id - LEFT JOIN ba_district village ON ge.villageId = village.id - LEFT JOIN pr_controller cont ON ge.id = cont.intakeId - <where> - ge.deleted = 0 - AND divi.deleted = 0 - and blo.deleted = 0 - <if test="intakeName != null and intakeName != ''"> - AND ge.name LIKE CONCAT('%', #{intakeName}, '%') - </if> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰曟暟--> + <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake ge + INNER JOIN pr_divide divi ON ge.divideId = divi.id + INNER JOIN ba_block blo ON divi.blockId = blo.id + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id + LEFT JOIN pr_controller cont ON ge.id = cont.intakeId + <if test = "bindNumber != null and bindNumber > 0"> + LEFT JOIN (SELECT intakeId, COUNT(*) num FROM pr_intake_controller WHERE operateType = 1 group by intakeId) AS bindNumTb on bindNumTb.intakeId= ge.id + </if> + <where> + ge.deleted = 0 + AND divi.deleted = 0 + AND blo.deleted = 0 + <if test="intakeName != null and intakeName != ''"> + AND ge.name LIKE CONCAT('%', #{intakeName}, '%') + </if> - <if test = "divideId != null and divideId !=''"> - AND divi.id = #{divideId} - </if> + <if test="divideId != null and divideId != ''"> + AND divi.id = #{divideId} + </if> - <if test = "blockId != null and blockId !=''"> - AND blo.id = #{blockId} - </if> + <if test="blockId != null and blockId != ''"> + AND blo.id = #{blockId} + </if> - <if test="isBinded == 0"> - AND ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) - </if> - <if test="isBinded == 1"> - AND ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) - </if> - <if test="isBinded == null"> + <if test="isBinded != null and isBinded == 0"> + AND ge.id NOT IN (SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded != null and isBinded == 1"> + AND ge.id IN (SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded == null"> + </if> + <if test="address != null and address != ''"> + AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%') + </if> + <if test = "rtuAddr != null and rtuAddr !=''"> + AND cont.rtuAddr like CONCAT('%',#{rtuAddr},'%') + </if> + <if test="protocol != null and protocol !='' "> + AND cont.protocol = #{protocol} + </if> + <if test = "bindNumber != null and bindNumber > 0"> + AND bindNumTb.num = #{bindNumber} + </if> + </where> + </select> - </if> - <if test="address != null and address != ''"> - AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%') - </if> - </where> - </select> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰�--> + <select id="getIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntake"> + WITH intakeIds AS(SELECT intakeId FROM pr_controller where deleted = 0) - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰�--> - <select id="getIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntake"> - SELECT - CAST(ge.id AS char) AS intakeId, - ge.`name` AS intakeName, - CAST(divi.id AS char) AS divideId, - divi.`name` AS divideName, - CAST(blo.id AS char) AS blockId, - blo.`name` AS blockName, - CAST(cont.id AS char) AS controllerId, - cont.rtuAddr AS rtuAddr, - ge.lng, - ge.lat, - ge.remarks, - ge.operator, - ge.operateDt As operateDt, - (CASE - WHEN ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) THEN "鏈粦瀹�" - WHEN ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) THEN "宸茬粦瀹�" - END) AS isBind, - CONCAT(country.`name`, town.`name`, village.`name`) AS address - FROM pr_intake ge - INNER JOIN pr_divide divi ON ge.divideId = divi.id - INNER JOIN ba_block blo ON divi.blockId = blo.id - LEFT JOIN ba_district country ON ge.countyId = country.id - LEFT JOIN ba_district town ON ge.townId = town.id - LEFT JOIN ba_district village ON ge.villageId = village.id - LEFT JOIN pr_controller cont ON ge.id = cont.intakeId - <where> - ge.deleted = 0 - AND divi.deleted = 0 - and blo.deleted = 0 - <if test="intakeName != null and intakeName != ''"> - AND ge.name LIKE CONCAT('%', #{intakeName}, '%') - </if> + SELECT CAST(ge.id AS char) AS intakeId, + ge.`name` AS intakeName, + CAST(divi.id AS char) AS divideId, + divi.`name` AS divideName, + CAST(blo.id AS char) AS blockId, + blo.`name` AS blockName, + CAST(cont.id AS char) AS controllerId, + cont.rtuAddr AS rtuAddr, + cont.protocol AS protocol, + cont.findDt AS findDt, + bindNumTb.num AS bindNumber, + ge.lng, + ge.lat, + ge.remarks, + ge.operator, + ge.operateDt As operateDt, + IF(ge.id IN (SELECT intakeId FROM intakeIds),'宸茬粦瀹�','鏈粦瀹�') AS isBind, + CONCAT(country.`name`, town.`name`, village.`name`) AS address + FROM pr_intake ge + INNER JOIN pr_divide divi ON ge.divideId = divi.id + INNER JOIN ba_block blo ON divi.blockId = blo.id + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id + LEFT JOIN pr_controller cont ON ge.id = cont.intakeId + LEFT JOIN (SELECT intakeId, COUNT(*) num FROM pr_intake_controller WHERE operateType = 1 group by intakeId) AS bindNumTb on bindNumTb.intakeId= ge.id + <where> + ge.deleted = 0 + AND divi.deleted = 0 + AND blo.deleted = 0 + <if test="intakeName != null and intakeName != ''"> + AND ge.name LIKE CONCAT('%', #{intakeName}, '%') + </if> + <if test="divideId != null and divideId != ''"> + AND divi.id = #{divideId} + </if> + <if test="blockId != null and blockId != ''"> + AND blo.id = #{blockId} + </if> + <if test="isBinded != null and isBinded == 0"> + AND ge.id NOT IN (SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded != null and isBinded == 1"> + AND ge.id IN (SELECT intakeId FROM pr_controller where deleted = 0) + </if> + <if test="isBinded == null"> + </if> + <if test="address != null and address != ''"> + AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%') + </if> + <if test="rtuAddr != null and rtuAddr !=''"> + AND cont.rtuAddr like CONCAT('%',#{rtuAddr},'%') + </if> + <if test="protocol != null and protocol !='' "> + AND cont.protocol = #{protocol} + </if> + <if test="bindNumber != null and bindNumber > 0"> + AND bindNumTb.num = #{bindNumber} + </if> + </where> + ORDER BY ge.operateDt DESC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> - <if test = "divideId != null and divideId !=''"> - AND divi.id = #{divideId} - </if> + <!--鏍规嵁涓嬬骇鑾峰彇涓婁竴绾у湴鍧�--> + <select id="getSupperByVillageId" parameterType="_long" resultType="java.lang.Long"> + select dis_tow.* + from ba_district dis_vil + inner join + ba_district dis_tow + on dis_vil.supperId = dis_tow.id + where dis_vil.id = #{vaId,jdbcType=BIGINT} + </select> - <if test = "blockId != null and blockId !=''"> - AND blo.id = #{blockId} - </if> + <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺--> + <select id="getRecordCountOfIntake" resultType="java.lang.Integer"> + SELECT COUNT(*) AS recordCount + FROM pr_intake + WHERE deleted = 0 + AND id = #{intakeId} + </select> - <if test="isBinded == 0"> - AND ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) - </if> - <if test="isBinded == 1"> - AND ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) - </if> - <if test="isBinded == null"> + <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃--> + <select id="getNameById" resultType="java.lang.String"> + select name + from pr_intake + where id = #{intakeId, jdbcType=BIGINT} + </select> - </if> - <if test="address != null and address != ''"> - AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%') - </if> - </where> - ORDER BY ge.operateDt DESC - <if test="pageCurr != null and pageSize != null"> - LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} - </if> - </select> + <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃--> + <select id="getAddressByVillageId" parameterType="_long" resultType="java.lang.String"> + select CONCAT(dis_province.`name`, dis_city.`name`, dis_county.`name`, dis_town.`name`, + dis_village.`name`) AS address + from ba_district dis_village + inner join ba_district dis_town on dis_village.supperId = dis_town.id + inner join ba_district dis_county on dis_town.supperId = dis_county.id + inner join ba_district dis_city on dis_county.supperId = dis_city.id + inner join ba_district dis_province on dis_city.supperId = dis_province.id + where dis_village.id = #{villageId,jdbcType=BIGINT} + </select> - <!--鏍规嵁涓嬬骇鑾峰彇涓婁竴绾у湴鍧�--> - <select id="getSupperByVillageId" parameterType="_long" resultType="java.lang.Long"> - select dis_tow.* - from ba_district dis_vil - inner join - ba_district dis_tow - on dis_vil.supperId = dis_tow.id - where dis_vil.id = #{vaId,jdbcType=BIGINT} - </select> + <!--鏍规嵁鍖哄煙Id鑾峰彇鍖哄煙绛夌骇--> + <select id="getLevelByRegionId" parameterType="_long" resultType="java.lang.Integer"> + select region.level + from ba_district region + where region.id = #{regionId,jdbcType=BIGINT} + </select> - <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺--> - <select id="getRecordCountOfIntake" resultType="java.lang.Integer"> - SELECT COUNT(*) AS recordCount FROM pr_intake WHERE deleted = 0 AND id = ${intakeId} - </select> + <!--鑾峰彇鏈粦鎺у埗鍣ㄧ殑鍙栨按鍙e垪琛�--> + <select id="getNoBindingIntakes" resultType="java.util.HashMap"> + SELECT CAST(inta.id AS char) AS intakeId, + name AS intakeName + FROM pr_intake inta + WHERE id NOT IN (SELECT intakeId FROM pr_controller) + AND deleted = 0 + </select> - <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃--> - <select id="getAddressByVillageId" parameterType="_long" resultType="java.lang.String"> - select - CONCAT(dis_province.`name`, dis_city.`name`, dis_county.`name`, dis_town.`name`, dis_village.`name`) AS address - from ba_district dis_village - inner join ba_district dis_town on dis_village.supperId = dis_town.id - inner join ba_district dis_county on dis_town.supperId = dis_county.id - inner join ba_district dis_city on dis_county.supperId = dis_city.id - inner join ba_district dis_province on dis_city.supperId = dis_province.id - where dis_village.id = #{villageId,jdbcType=BIGINT} - </select> - - <!--鏍规嵁鍖哄煙Id鑾峰彇鍖哄煙绛夌骇--> - <select id="getLevelByRegionId" parameterType="_long" resultType="java.lang.Integer"> - select - region.level - from ba_district region - where region.id = #{regionId,jdbcType=BIGINT} - </select> - - <!--鑾峰彇鏈粦鎺у埗鍣ㄧ殑鍙栨按鍙e垪琛�--> - <select id="getNoBindingIntakes" resultType="java.util.HashMap"> - SELECT - CAST(inta.id AS char)AS intakeId, - name AS intakeName - FROM pr_intake inta - WHERE id NOT IN(SELECT intakeId FROM pr_controller) AND deleted = 0 - </select> - - <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> - <select id="getOnLineIntakesCount" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM pr_controller con - INNER JOIN pr_intake inta ON con.intakeId = inta.id - INNER JOIN JSON_TABLE( + <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> + <select id="getOnLineIntakesCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + LEFT JOIN pr_controller con ON con.intakeId = inta.id + LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + LEFT JOIN( + SELECT intake_id AS intakeId, + CONCAT( + IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''), + IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')), + IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''), + IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')), + IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''), + IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')), + IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '') + ) AS alarm + FROM rm_alarm_state_last + WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1) + AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR) + ) alarm ON alarm.intakeId = inta.id + LEFT JOIN JSON_TABLE( <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> #{onLineMap}, - '$[*]' COLUMNS( - rtuAddr VARCHAR(20) PATH '$.rtuAddr', - isOnLine BOOLEAN PATH '$.isOnLine' + '$[*]' COLUMNS ( + rtuAddr VARCHAR(20) PATH '$.rtuAddr', + isOnLine BOOLEAN PATH '$.isOnLine' ) - ) rtus ON con.rtuAddr = rtus.rtuAddr - <where> - <if test="isOnLine != null"> - rtus.isOnLine = #{isOnLine} - </if> - <if test="intakeNum != null and intakeNum != ''"> - AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') - </if> - </where> - </select> - - <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> - <select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> - SELECT - con.intakeId, - con.rtuAddr, - inta.name AS intakeNum, - rtus.isOnLine - FROM pr_controller con - INNER JOIN pr_intake inta ON con.intakeId = inta.id - INNER JOIN JSON_TABLE( - <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> - #{onLineMap}, - '$[*]' COLUMNS( - rtuAddr VARCHAR(20) PATH '$.rtuAddr', - isOnLine BOOLEAN PATH '$.isOnLine' - ) ) rtus ON con.rtuAddr = rtus.rtuAddr - <where> - <if test="isOnLine != null"> - rtus.isOnLine = #{isOnLine} - </if> - <if test="intakeNum != null and intakeNum != ''"> - AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') - </if> - </where> - <if test="pageCurr != null and pageSize != null"> - LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} - </if> - </select> + <where> + <if test="isOnLine != null"> + rtus.isOnLine = #{isOnLine} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + <if test="isBinded == false"> + AND con.rtuAddr IS NULL + </if> + <if test="isBinded == true"> + AND con.rtuAddr IS NOT NULL + </if> + </where> + </select> - <!--鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛--> - <select id="getUsedIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> - SELECT - DISTINCT con.intakeId, - con.rtuAddr, - inta.name AS intakeNum, - rtus.isOnLine - FROM pr_controller con - INNER JOIN pr_intake inta ON con.intakeId = inta.id - INNER JOIN rm_command_history com ON con.rtuAddr = com.rtu_addr - INNER JOIN JSON_TABLE( - <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> - #{onLineMap}, - '$[*]' COLUMNS( - rtuAddr VARCHAR(20) PATH '$.rtuAddr', - isOnLine BOOLEAN PATH '$.isOnLine' - ) - ) rtus ON con.rtuAddr = rtus.rtuAddr - <where> - <if test="operator != null"> - com.operator = #{operator} - </if> - </where> - </select> + <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> + <select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> + SELECT + inta.id AS intakeId, + con.rtuAddr, + inta.name AS intakeNum, + inta.lng, + inta.lat, + IFNULL(hou.total_amount, 0) AS totalAmount, + (CASE + WHEN con.rtuAddr IS NULL THEN false + WHEN con.rtuAddr IS NOT NULL THEN true + END) AS isBinded, + rtus.isOnLine, + alarm.alarm + FROM pr_intake inta + LEFT JOIN pr_controller con ON con.intakeId = inta.id + LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + LEFT JOIN( + SELECT intake_id AS intakeId, + CONCAT( + IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''), + IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')), + IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''), + IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')), + IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''), + IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')), + IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '') + ) AS alarm + FROM rm_alarm_state_last + WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1) + AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR) + ) alarm ON alarm.intakeId = inta.id + LEFT JOIN JSON_TABLE( + <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> + #{onLineMap}, + '$[*]' COLUMNS ( + rtuAddr VARCHAR(20) PATH '$.rtuAddr', + isOnLine BOOLEAN PATH '$.isOnLine' + ) + ) rtus ON con.rtuAddr = rtus.rtuAddr + <where> + <if test="isOnLine != null"> + rtus.isOnLine = #{isOnLine} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + <if test="isBinded == false"> + AND con.rtuAddr IS NULL + </if> + <if test="isBinded == true"> + AND con.rtuAddr IS NOT NULL + </if> + </where> + order by con.id ASC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + + + + + + + <!--鑾峰彇鍙栨按鍙f暟閲忥紙鍦ㄧ嚎鎴栫绾挎垨涓嶈鐘舵�侊級--> + <select id="selectIntakesCountForOnLine" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + INNER JOIN pr_controller con ON con.intakeId = inta.id + <if test="onLineMap != null and onLineMap !='' and isOnLine != null"> + LEFT JOIN JSON_TABLE( + <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> + #{onLineMap}, + '$[*]' COLUMNS ( + rtuAddr VARCHAR(20) PATH '$.rtuAddr', + isOnLine BOOLEAN PATH '$.isOnLine' + ) + ) rtus ON con.rtuAddr = rtus.rtuAddr + </if> + WHERE con.intakeId is not null + <if test="isOnLine != null and isOnLine == false"> + <choose> + <when test="onLineMap != null and onLineMap !=''"> + AND (rtus.isOnLine = false OR rtus.rtuAddr IS NULL) + </when> + <otherwise> + AND rtus.rtuAddr IS NULL + </otherwise> + </choose> + </if> + <if test="isOnLine != null and isOnLine == true"> + AND rtus.isOnLine = true + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + </select> + + + <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鎴栫绾挎垨涓嶈鐘舵�侊級--> + <select id="selectIntakesForOnLine" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> + SELECT + inta.id AS intakeId, + con.rtuAddr, + inta.name AS intakeNum, + inta.lng, + inta.lat, + IFNULL(hou.instant_amount, 0) AS instantAmount, + IFNULL(hou.total_amount, 0) AS totalAmount, + <if test="onLineMap != null and onLineMap !='' and isOnLine != null"> + rtus.isOnLine, + </if> + alarm.alarm, + alarm.alarmDt + FROM pr_intake inta + INNER JOIN pr_controller con ON con.intakeId = inta.id + LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + LEFT JOIN( + SELECT intake_id AS intakeId, + CONCAT( + IF(alarm_loss = 1, '婕忔崯鎶ヨ锛�', ''), + IF(alarm_battery_volt = 1, '鐢垫睜鐢靛帇鎶ヨ锛�', ''), + IF(alarm_valve = 1, '闃�闂ㄦ姤璀︼紝', ''), + IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅滄姤璀︼紝', '') + ) AS alarm, + dt AS alarmDt + FROM rm_alarm_state_last + WHERE (alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1 OR alarm_water_meter_fault = 1) + AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR) + ) alarm ON alarm.intakeId = inta.id + <if test="onLineMap != null and onLineMap !='' and isOnLine != null"> + LEFT JOIN JSON_TABLE( + <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> + #{onLineMap}, + '$[*]' COLUMNS ( + rtuAddr VARCHAR(20) PATH '$.rtuAddr', + isOnLine BOOLEAN PATH '$.isOnLine' + ) + ) rtus ON con.rtuAddr = rtus.rtuAddr + </if> + WHERE con.intakeId is not null + <if test="isOnLine != null and isOnLine == false"> + <choose> + <when test="onLineMap != null and onLineMap !=''"> + AND (rtus.isOnLine = false OR rtus.rtuAddr IS NULL) + </when> + <otherwise> + AND rtus.rtuAddr IS NULL + </otherwise> + </choose> + </if> + <if test="isOnLine != null and isOnLine == true"> + AND rtus.isOnLine = true + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + order by inta.id ASC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄--> + <select id="getIntakeByName" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> + SELECT + con.intakeId, + con.rtuAddr, + inta.name AS intakeNum + FROM pr_controller con + INNER JOIN pr_intake inta ON con.intakeId = inta.id + <where> + <if test="intakeNum != null and intakeNum != ''"> + AND LOWER(inta.name) = #{intakeNum} + </if> + </where> + LIMIT 0,1 + </select> + + <!--鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛--> + <select id="getUsedIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> + SELECT + com.intake_id AS intakeId, + con.rtuAddr, + inta.name AS intakeNum, + rtus.isOnLine + FROM pr_common_intakes com + INNER JOIN pr_intake inta ON inta.id = com.intake_id + INNER JOIN pr_controller con ON con.intakeId = com.intake_id + LEFT JOIN JSON_TABLE( + <!--'[{"rtuAddr":"530115059980","isOnLine":true},{"rtuAddr":"620201000030","isOnLine":true}]',--> + #{onLineMap}, + '$[*]' COLUMNS ( + rtuAddr VARCHAR(20) PATH '$.rtuAddr', + isOnLine BOOLEAN PATH '$.isOnLine' + ) + ) rtus ON con.rtuAddr = rtus.rtuAddr + <where> + <if test="operatorId != null"> + AND com.operator_id = #{operatorId} + </if> + </where> + ORDER BY com.last_used_time DESC,com.usage_count DESC + </select> + + <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤--> + <select id="getIntakeIdByName" resultType="java.lang.Long"> + SELECT id AS intakeId + FROM pr_intake + WHERE `name` = #{intakeName} + </select> + + <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�--> + <select id="getIntakeIdsByName" resultType="java.lang.Long"> + SELECT id AS intakeId + FROM pr_intake + WHERE `name` = #{intakeName} + </select> + + <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�--> + <select id="getIntakeIdByNameExcludeId" resultType="java.lang.Long"> + SELECT id AS intakeId + FROM pr_intake + WHERE id != #{id} + and `name` = #{intakeName} + </select> + <!--app淇敼鍙栨按鍙g粡绾害--> + <update id="updateByPrimaryKeySelective1" parameterType="com.dy.pipIrrGlobal.voPr.IntakeUpdateLngLat"> + <!--@mbg.generated--> + update pr_intake + <set> + <if test="lng != null"> + lng = #{lng,jdbcType=DOUBLE}, + </if> + <if test="lat != null"> + lat = #{lat,jdbcType=DOUBLE}, + </if> + <if test="operator != null"> + `operator` = #{operator,jdbcType=BIGINT}, + </if> + <if test="operateDt != null"> + operateDt = #{operateDt,jdbcType=TIMESTAMP}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + + <!--鑾峰彇鏈粦瀹氬埌杞亴缁勭殑鍙栨按鍙e垪琛�--> + <select id="getFreeIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntakeSimple"> + SELECT + id AS intakeId, + name AS intakeName + FROM pr_intake inta + <where> + AND inta.deleted = 0 + AND NOT EXISTS (SELECT 1 FROM ir_group_intake gi WHERE gi.intake_id = inta.id) + <if test="intakeName != null and intakeName != ''"> + AND LOWER(inta.name) LIKE CONCAT('%', #{intakeName}, '%') + </if> + </where> + </select> + + <!--鑾峰彇鏈粦瀹氳櫄鎷熷崱鐨勫彇姘村彛鍒楄〃锛岀粰鍙栨按鍙g粦铏氭嫙鍗′娇鐢�--> + <select id="getNotLinkVcIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntakeSimple"> + SELECT + id AS intakeId, + name AS intakeName + FROM pr_intake inta + WHERE NOT EXISTS ( + SELECT 1 + FROM pr_intake_vc iv + WHERE iv.intake_id = inta.id + ) AND inta.deleted = 0 + </select> + + + + <!-- 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰曟暟 --> + <select id="getSomeIntakesCount4Wx" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake tb + <where> + tb.deleted = 0 + <if test="intakeNum != null and intakeNum != ''"> + AND tb.name LIKE CONCAT('%', #{intakeNum}) + </if> + </where> + </select> + + <!-- 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰� --> + <select id="getSomeIntakes4Wx" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> + SELECT + inta.id AS intakeId, + con.rtuAddr, + inta.name AS intakeNum + FROM pr_intake inta + INNER JOIN pr_controller con ON con.intakeId = inta.id + <where> + inta.deleted = 0 + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name LIKE CONCAT('%', #{intakeNum}) + </if> + </where> + ORDER BY inta.id DESC + </select> + + </mapper> \ No newline at end of file -- Gitblit v1.8.0