From 19c5321559b3f050620719dea61b5f3c6cd4c224 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 12 九月 2024 20:43:00 +0800
Subject: [PATCH] 2024-09-12 朱宝民 完善交易汇总查询接口,完善获取交易明细接口
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 834 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 516 insertions(+), 318 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 61aeeb2..60412c5 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -1,350 +1,548 @@
<?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">
- `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>
+ 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>
- <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙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
- <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>
+ <delete id="deleteLogicById" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ update pr_intake
+ set deleted = 1
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
- <if test="divideName != null and divideName != ''">
- AND divi.name LIKE CONCAT('%', #{divideName}, '%')
- </if>
+ <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">
+ 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},
+ operateDt = #{operateDt,jdbcType=TIMESTAMP},
+ deleted = #{deleted,jdbcType=TINYINT}
+ where id = #{id,jdbcType=BIGINT}
+ </update>
- <if test="blockName != null and blockName != ''">
- AND blo.name = #{blockName}
- </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
+ <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="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="divideId != null and divideId != ''">
+ AND divi.id = #{divideId}
+ </if>
- </if>
- <if test="address != null and address != ''">
- AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%')
- </if>
- </where>
- </select>
+ <if test="blockId != null and blockId != ''">
+ AND blo.id = #{blockId}
+ </if>
- <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰�-->
- <select id="getIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntake">
- SELECT CAST(ge.id AS char) AS id,
- ge.`name` AS intakeName,
- divi.`name` AS divideName,
- blo.`name` AS blockName,
- 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
- <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="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>
+ <if test="address != null and address != ''">
+ AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%')
+ </if>
+ </where>
+ </select>
- <if test="divideName != null and divideName != ''">
- AND divi.name LIKE CONCAT('%', #{divideName}, '%')
- </if>
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙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>
- <if test="blockName != null and blockName != ''">
- AND blo.name = #{blockName}
- </if>
+ <if test="divideId != null and divideId != ''">
+ AND divi.id = #{divideId}
+ </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="blockId != null and blockId != ''">
+ AND blo.id = #{blockId}
+ </if>
- </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>
+ <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>
+ <if test="address != null and address != ''">
+ AND CONCAT(country.`name`, town.`name`, village.`name`) LIKE CONCAT('%', #{address}, '%')
+ </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>
- <!--鏍规嵁涓嬬骇鑾峰彇涓婁竴绾у湴鍧�-->
- <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>
+ <!--鏍规嵁涓嬬骇鑾峰彇涓婁竴绾у湴鍧�-->
+ <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>
- <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺-->
- <select id="getRecordCountOfIntake" resultType="java.lang.Integer">
- SELECT COUNT(*) AS recordCount FROM pr_intake WHERE deleted = 0 AND id = ${intakeId}
- </select>
+ <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺-->
+ <select id="getRecordCountOfIntake" resultType="java.lang.Integer">
+ SELECT COUNT(*) AS recordCount
+ FROM pr_intake
+ WHERE deleted = 0
+ AND id = #{intakeId}
+ </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>
+ <!--鏍规嵁鏉慖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>
+ <!--鏍规嵁鍖哄煙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>
+ <!--鑾峰彇鏈粦鎺у埗鍣ㄧ殑鍙栨按鍙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_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>
+ </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>
+
+ <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄-->
+ <select id="getIntakeByName" 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
+ left JOIN JSON_TABLE(
+ #{onLineMap},
+ '$[*]' COLUMNS (
+ rtuAddr VARCHAR(20) PATH '$.rtuAddr',
+ isOnLine BOOLEAN PATH '$.isOnLine'
+ )
+ ) rtus ON con.rtuAddr = rtus.rtuAddr
+ <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 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悕绉版崲鍙栨按鍙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>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0