From e84b3255aa6888aca2695e1b8e5ccc6236d60919 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期一, 05 八月 2024 15:01:11 +0800 Subject: [PATCH] 2024-08-05 朱宝民 获取不同信号强度取水口、全部取水口返回值增加累计流量 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/SignalIntensityQO.java | 30 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 43 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 33 + pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java | 15 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml | 714 ++++++++++++---------- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java | 5 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 8 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoSignalIntensity.java | 27 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 986 +++++++++++++++--------------- 9 files changed, 1,030 insertions(+), 831 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java index 5a09bb7..d4604e2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java @@ -5,6 +5,7 @@ import com.dy.pipIrrGlobal.voRm.VoOnHour; import com.dy.pipIrrGlobal.voSt.VoBatteryVolt; import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow; +import com.dy.pipIrrGlobal.voSt.VoSignalIntensity; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -123,4 +124,18 @@ * @return */ List<VoBatteryVolt> getUnderVoltIntakes(Map<?, ?> params); + + /** + * 鑾峰彇鎸囧畾淇″彿寮哄害鐨勫彇姘村彛鏁伴噺 + * @param params + * @return + */ + Long getSpecifiedSignalIntakesCount(Map<?, ?> params); + + /** + * 鑾峰彇鎸囧畾淇″彿寮哄害鐨勫彇姘村彛 + * @param params + * @return + */ + List<VoSignalIntensity> getSpecifiedSignalIntakes(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java index 88d93e0..015acd2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java @@ -40,6 +40,11 @@ private Double lat; /** + * 绱娴侀噺 + */ + private Double totalAmount; + + /** * 鏄惁鍦ㄧ嚎 */ private Boolean isOnLine; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoSignalIntensity.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoSignalIntensity.java new file mode 100644 index 0000000..323a49f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoSignalIntensity.java @@ -0,0 +1,27 @@ +package com.dy.pipIrrGlobal.voSt; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2024-08-05 8:39 + * @LastEditTime 2024-08-05 8:39 + * @Description 淇″彿寮哄害瑙嗗浘 + */ + +@Data +public class VoSignalIntensity extends VoIntake { + /** + * 淇″彿寮哄害 + */ + private Integer signValue; + + /** + * 鏁版嵁鑾峰彇鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date getDate; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml index 1e01f5b..1c09121 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml @@ -72,7 +72,7 @@ pipIrr: global: - dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dev: flase #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О mw: webPort: 8070 @@ -179,4 +179,8 @@ #闃�鎺у櫒鍙傛暟 rtu: - batteryVolt: 17 \ No newline at end of file + batteryVolt: 17 + signalIntensity: + weak: 10 + ordinary: 20 +# strong: 20 \ No newline at end of file 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 8cc3a20..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,528 +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 - 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> + <delete id="deleteLogicById" parameterType="java.lang.Long"> + <!--@mbg.generated--> + update pr_intake + set deleted = 1 + where id = #{id,jdbcType=BIGINT} + </delete> - <if test = "divideId != null and divideId !=''"> - AND divi.id = #{divideId} - </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 = "blockId != null and blockId !=''"> - AND blo.id = #{blockId} - </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 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="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 = "divideId != null and divideId !=''"> - AND divi.id = #{divideId} - </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 = "blockId != null and blockId !=''"> - AND blo.id = #{blockId} - </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( - 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 + <!--鑾峰彇鍙栨按鍙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) + 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, - (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( - 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 - <if test="pageCurr != null and pageSize != null"> - LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} - </if> - </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( + 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="intakeNum != null and intakeNum != ''"> - AND LOWER(inta.name) = #{intakeNum} - </if> - </where> - LIMIT 0,1 + '$[*]' 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> - </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> - <!--鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛--> - <select id="getUsedIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> - SELECT - DISTINCT con.intakeId, + <!--鏍规嵁鍙栨按鍙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 - 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> + 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> - <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤--> - <select id="getIntakeIdByName" resultType="java.lang.Long"> - SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName} - </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="getIntakeIdsByName" resultType="java.lang.Long"> - SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName} - </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="getIntakeIdByNameExcludeId" resultType="java.lang.Long"> - SELECT id AS intakeId FROM pr_intake WHERE id != #{id} and `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 diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml index 8ce03ba..29f966b 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml @@ -1,356 +1,420 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dy.pipIrrGlobal.daoRm.RmOnHourReportLastMapper"> - <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> - <!--@mbg.generated--> - <!--@Table rm_on_hour_report_last--> - <id column="id" jdbcType="BIGINT" property="id" /> - <result column="controller_id" jdbcType="BIGINT" property="controllerId" /> - <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> - <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" /> - <result column="dt" jdbcType="TIMESTAMP" property="dt" /> - <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" /> - <result column="instant_amount" jdbcType="FLOAT" property="instantAmount" /> - <result column="total_amount" jdbcType="FLOAT" property="totalAmount" /> - <result column="loss_amount" jdbcType="FLOAT" property="lossAmount" /> - <result column="water_press" jdbcType="FLOAT" property="waterPress" /> - <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" /> - <result column="signal_value" jdbcType="INTEGER" property="signalValue" /> - <result column="water_price" jdbcType="FLOAT" property="waterPrice" /> - </resultMap> - <sql id="Base_Column_List"> - <!--@mbg.generated--> - id, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount, - loss_amount, water_press, battery_volt, signal_value, water_price - </sql> - <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> - <!--@mbg.generated--> - select - <include refid="Base_Column_List" /> - from rm_on_hour_report_last - where id = #{id,jdbcType=BIGINT} - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> - <!--@mbg.generated--> - delete from rm_on_hour_report_last - where id = #{id,jdbcType=BIGINT} - </delete> - <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> - <!--@mbg.generated--> - insert into rm_on_hour_report_last (id, controller_id, intake_id, - rtu_addr, dt, rtu_dt, - instant_amount, total_amount, loss_amount, - water_press, battery_volt, - signal_value, water_price) - values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, - #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, - #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT}, - #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, - #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT}) - </insert> - <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> - <!--@mbg.generated--> - insert into rm_on_hour_report_last - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> + <!--@mbg.generated--> + <!--@Table rm_on_hour_report_last--> + <id column="id" jdbcType="BIGINT" property="id"/> + <result column="controller_id" jdbcType="BIGINT" property="controllerId"/> + <result column="intake_id" jdbcType="BIGINT" property="intakeId"/> + <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr"/> + <result column="dt" jdbcType="TIMESTAMP" property="dt"/> + <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt"/> + <result column="instant_amount" jdbcType="FLOAT" property="instantAmount"/> + <result column="total_amount" jdbcType="FLOAT" property="totalAmount"/> + <result column="loss_amount" jdbcType="FLOAT" property="lossAmount"/> + <result column="water_press" jdbcType="FLOAT" property="waterPress"/> + <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt"/> + <result column="signal_value" jdbcType="INTEGER" property="signalValue"/> + <result column="water_price" jdbcType="FLOAT" property="waterPrice"/> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> id, - </if> - <if test="controllerId != null"> controller_id, - </if> - <if test="intakeId != null"> intake_id, - </if> - <if test="rtuAddr != null"> rtu_addr, - </if> - <if test="dt != null"> dt, - </if> - <if test="rtuDt != null"> rtu_dt, - </if> - <if test="instantAmount != null"> instant_amount, - </if> - <if test="totalAmount != null"> total_amount, - </if> - <if test="lossAmount != null"> loss_amount, - </if> - <if test="waterPress != null"> water_press, - </if> - <if test="batteryVolt != null"> battery_volt, - </if> - <if test="signalValue != null"> signal_value, - </if> - <if test="waterPrice != null"> - water_price, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null"> - #{id,jdbcType=BIGINT}, - </if> - <if test="controllerId != null"> - #{controllerId,jdbcType=BIGINT}, - </if> - <if test="intakeId != null"> - #{intakeId,jdbcType=BIGINT}, - </if> - <if test="rtuAddr != null"> - #{rtuAddr,jdbcType=VARCHAR}, - </if> - <if test="dt != null"> - #{dt,jdbcType=TIMESTAMP}, - </if> - <if test="rtuDt != null"> - #{rtuDt,jdbcType=TIMESTAMP}, - </if> - <if test="instantAmount != null"> - #{instantAmount,jdbcType=FLOAT}, - </if> - <if test="totalAmount != null"> - #{totalAmount,jdbcType=FLOAT}, - </if> - <if test="lossAmount != null"> - #{lossAmount,jdbcType=FLOAT}, - </if> - <if test="waterPress != null"> - #{waterPress,jdbcType=FLOAT}, - </if> - <if test="batteryVolt != null"> - #{batteryVolt,jdbcType=FLOAT}, - </if> - <if test="signalValue != null"> - #{signalValue,jdbcType=INTEGER}, - </if> - <if test="waterPrice != null"> - #{waterPrice,jdbcType=FLOAT}, - </if> - </trim> - </insert> - <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> - <!--@mbg.generated--> - update rm_on_hour_report_last - <set> - <if test="controllerId != null"> - controller_id = #{controllerId,jdbcType=BIGINT}, - </if> - <if test="intakeId != null"> - intake_id = #{intakeId,jdbcType=BIGINT}, - </if> - <if test="rtuAddr != null"> - rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, - </if> - <if test="dt != null"> - dt = #{dt,jdbcType=TIMESTAMP}, - </if> - <if test="rtuDt != null"> - rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}, - </if> - <if test="instantAmount != null"> - instant_amount = #{instantAmount,jdbcType=FLOAT}, - </if> - <if test="totalAmount != null"> - total_amount = #{totalAmount,jdbcType=FLOAT}, - </if> - <if test="lossAmount != null"> - loss_amount = #{lossAmount,jdbcType=FLOAT}, - </if> - <if test="waterPress != null"> - water_press = #{waterPress,jdbcType=FLOAT}, - </if> - <if test="batteryVolt != null"> - battery_volt = #{batteryVolt,jdbcType=FLOAT}, - </if> - <if test="signalValue != null"> - signal_value = #{signalValue,jdbcType=INTEGER}, - </if> - <if test="waterPrice != null"> - water_price = #{waterPrice,jdbcType=FLOAT}, - </if> - </set> - where id = #{id,jdbcType=BIGINT} - </update> - <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> - <!--@mbg.generated--> - update rm_on_hour_report_last - set controller_id = #{controllerId,jdbcType=BIGINT}, - intake_id = #{intakeId,jdbcType=BIGINT}, - rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, - dt = #{dt,jdbcType=TIMESTAMP}, - rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}, - instant_amount = #{instantAmount,jdbcType=FLOAT}, - total_amount = #{totalAmount,jdbcType=FLOAT}, - loss_amount = #{lossAmount,jdbcType=FLOAT}, - water_press = #{waterPress,jdbcType=FLOAT}, - battery_volt = #{batteryVolt,jdbcType=FLOAT}, - signal_value = #{signalValue,jdbcType=INTEGER}, - water_price = #{waterPrice,jdbcType=FLOAT} - where id = #{id,jdbcType=BIGINT} - </update> + water_price + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List"/> + from rm_on_hour_report_last + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete + from rm_on_hour_report_last + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> + <!--@mbg.generated--> + insert into rm_on_hour_report_last (id, controller_id, intake_id, + rtu_addr, dt, rtu_dt, + instant_amount, total_amount, loss_amount, + water_press, battery_volt, + signal_value, water_price) + values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, + #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, + #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT}, + #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, + #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> + <!--@mbg.generated--> + insert into rm_on_hour_report_last + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="controllerId != null"> + controller_id, + </if> + <if test="intakeId != null"> + intake_id, + </if> + <if test="rtuAddr != null"> + rtu_addr, + </if> + <if test="dt != null"> + dt, + </if> + <if test="rtuDt != null"> + rtu_dt, + </if> + <if test="instantAmount != null"> + instant_amount, + </if> + <if test="totalAmount != null"> + total_amount, + </if> + <if test="lossAmount != null"> + loss_amount, + </if> + <if test="waterPress != null"> + water_press, + </if> + <if test="batteryVolt != null"> + battery_volt, + </if> + <if test="signalValue != null"> + signal_value, + </if> + <if test="waterPrice != null"> + water_price, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="controllerId != null"> + #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="rtuDt != null"> + #{rtuDt,jdbcType=TIMESTAMP}, + </if> + <if test="instantAmount != null"> + #{instantAmount,jdbcType=FLOAT}, + </if> + <if test="totalAmount != null"> + #{totalAmount,jdbcType=FLOAT}, + </if> + <if test="lossAmount != null"> + #{lossAmount,jdbcType=FLOAT}, + </if> + <if test="waterPress != null"> + #{waterPress,jdbcType=FLOAT}, + </if> + <if test="batteryVolt != null"> + #{batteryVolt,jdbcType=FLOAT}, + </if> + <if test="signalValue != null"> + #{signalValue,jdbcType=INTEGER}, + </if> + <if test="waterPrice != null"> + #{waterPrice,jdbcType=FLOAT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> + <!--@mbg.generated--> + update rm_on_hour_report_last + <set> + <if test="controllerId != null"> + controller_id = #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + intake_id = #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="rtuDt != null"> + rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}, + </if> + <if test="instantAmount != null"> + instant_amount = #{instantAmount,jdbcType=FLOAT}, + </if> + <if test="totalAmount != null"> + total_amount = #{totalAmount,jdbcType=FLOAT}, + </if> + <if test="lossAmount != null"> + loss_amount = #{lossAmount,jdbcType=FLOAT}, + </if> + <if test="waterPress != null"> + water_press = #{waterPress,jdbcType=FLOAT}, + </if> + <if test="batteryVolt != null"> + battery_volt = #{batteryVolt,jdbcType=FLOAT}, + </if> + <if test="signalValue != null"> + signal_value = #{signalValue,jdbcType=INTEGER}, + </if> + <if test="waterPrice != null"> + water_price = #{waterPrice,jdbcType=FLOAT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> + <!--@mbg.generated--> + update rm_on_hour_report_last + set controller_id = #{controllerId,jdbcType=BIGINT}, + intake_id = #{intakeId,jdbcType=BIGINT}, + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + dt = #{dt,jdbcType=TIMESTAMP}, + rtu_dt = #{rtuDt,jdbcType=TIMESTAMP}, + instant_amount = #{instantAmount,jdbcType=FLOAT}, + total_amount = #{totalAmount,jdbcType=FLOAT}, + loss_amount = #{lossAmount,jdbcType=FLOAT}, + water_press = #{waterPress,jdbcType=FLOAT}, + battery_volt = #{batteryVolt,jdbcType=FLOAT}, + signal_value = #{signalValue,jdbcType=INTEGER}, + water_price = #{waterPrice,jdbcType=FLOAT} + where id = #{id,jdbcType=BIGINT} + </update> <!--鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇瀹氱偣涓婃姤鏈�鏂版暟鎹�--> <select id="getRmOnHourReportLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast"> select - <include refid="Base_Column_List" /> + <include refid="Base_Column_List"/> from rm_on_hour_report_last where intake_id = #{intakeId} </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ユ渶鏂拌褰曟暟閲�--> - <select id="getOnHourReportsCount_last" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM rm_on_hour_report_last oh - INNER JOIN pr_intake inta ON inta.id = oh.intake_id - <where> - <if test="intakeId != null and intakeId >0"> - AND oh.intake_id = #{intakeId} - </if> - <if test = "intakeNum != null and intakeNum !=''"> - AND inta.name LIKE CONCAT('%',#{intakeNum},'%') - </if> - <if test = "rtuAddr != null and rtuAddr !=''"> - AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%') - </if> - <if test = "timeStart != null and timeStop != null"> - AND oh.dt BETWEEN #{timeStart} AND #{timeStop} - </if> - </where> - </select> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ユ渶鏂拌褰曟暟閲�--> + <select id="getOnHourReportsCount_last" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM rm_on_hour_report_last oh + INNER JOIN pr_intake inta ON inta.id = oh.intake_id + <where> + <if test="intakeId != null and intakeId > 0"> + AND oh.intake_id = #{intakeId} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') + </if> + <if test="rtuAddr != null and rtuAddr != ''"> + AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') + </if> + <if test="timeStart != null and timeStop != null"> + AND oh.dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ユ渶鏂拌褰�--> - <select id="getOnHourReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour"> - SELECT - oh.intake_id AS intakeId, - inta.`name` AS intakeNum, - oh.rtu_addr AS rtuAddr, - oh.dt AS receiveTime, - oh.instant_amount AS instantAmount, - oh.total_amount AS totalAmount, - oh.loss_amount AS lossAmount, - oh.water_press AS waterPress, - oh.battery_volt AS batteryVolt, - oh.signal_value AS signalValue, - oh.water_price AS waterPrice - FROM rm_on_hour_report_last oh - INNER JOIN pr_intake inta ON inta.id = oh.intake_id - <where> - <if test="intakeId != null and intakeId >0"> - AND oh.intake_id = #{intakeId} - </if> - <if test = "intakeNum != null and intakeNum !=''"> - AND inta.name LIKE CONCAT('%',#{intakeNum},'%') - </if> - <if test = "rtuAddr != null and rtuAddr !=''"> - AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%') - </if> - <if test = "timeStart != null and timeStop != null"> - AND oh.dt BETWEEN #{timeStart} AND #{timeStop} - </if> - </where> - ORDER BY oh.dt 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="getOnHourReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour"> + SELECT oh.intake_id AS intakeId, + inta.`name` AS intakeNum, + oh.rtu_addr AS rtuAddr, + oh.dt AS receiveTime, + oh.instant_amount AS instantAmount, + oh.total_amount AS totalAmount, + oh.loss_amount AS lossAmount, + oh.water_press AS waterPress, + oh.battery_volt AS batteryVolt, + oh.signal_value AS signalValue, + oh.water_price AS waterPrice + FROM rm_on_hour_report_last oh + INNER JOIN pr_intake inta ON inta.id = oh.intake_id + <where> + <if test="intakeId != null and intakeId > 0"> + AND oh.intake_id = #{intakeId} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') + </if> + <if test="rtuAddr != null and rtuAddr != ''"> + AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') + </if> + <if test="timeStart != null and timeStop != null"> + AND oh.dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ORDER BY oh.dt DESC + <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="getLargeFlowIntakesCount" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM pr_intake inta - INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 AND hou.total_amount > #{totalAmount} - </select> + <!--鑾峰彇绱娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <select id="getLargeFlowIntakesCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + WHERE inta.deleted = 0 + AND hou.total_amount > #{totalAmount} + </select> - <!--鑾峰彇绱娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> - <select id="getLargeFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow"> - SELECT - inta.id AS intakeId, - inta.name AS intakeNum, - blo.name AS blockName, - CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow, - hou.dt AS getDate - FROM pr_intake inta - INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 AND hou.total_amount > #{totalAmount} - ORDER BY hou.dt - <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="getLargeFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + blo.name AS blockName, + CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow, + hou.dt AS getDate + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + WHERE inta.deleted = 0 + AND hou.total_amount > #{totalAmount} + ORDER BY hou.dt + <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="getSmallFlowIntakesCount" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM pr_intake inta - INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 AND hou.total_amount < #{totalAmount} - </select> + <!--鑾峰彇绱娴侀噺浣庝簬鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <select id="getSmallFlowIntakesCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + WHERE inta.deleted = 0 + AND hou.total_amount < #{totalAmount} + </select> - <!--鑾峰彇绱娴侀噺浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�--> - <select id="getSmallFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow"> - SELECT - inta.id AS intakeId, - inta.name AS intakeNum, - blo.name AS blockName, - <!-- FORMAT(hou.total_amount,2) AS cumulativeFlow,--> - CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow, - hou.dt AS getDate - FROM pr_intake inta - INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 AND hou.total_amount < #{totalAmount} - ORDER BY hou.dt - <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="getSmallFlowIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoCumulativeFlow"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + blo.name AS blockName, + <!-- FORMAT(hou.total_amount,2) AS cumulativeFlow,--> + CAST(hou.total_amount AS DECIMAL(10, 2)) AS cumulativeFlow, + hou.dt AS getDate + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + WHERE inta.deleted = 0 + AND hou.total_amount < #{totalAmount} + ORDER BY hou.dt + <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="getUnderVoltIntakesCount" resultType="java.lang.Long"> - SELECT - COUNT(*) AS recordCount - FROM pr_intake inta - INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 AND hou.battery_volt < #{batteryVolt} - </select> + <!--鑾峰彇娆犲帇鍙栨按鍙f暟閲�--> + <select id="getUnderVoltIntakesCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + WHERE inta.deleted = 0 + AND hou.battery_volt < #{batteryVolt} + </select> - <!--鑾峰彇娆犲帇鍙栨按鍙�--> - <select id="getUnderVoltIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoBatteryVolt"> - SELECT - inta.id AS intakeId, - inta.name AS intakeNum, - blo.name AS blockName, - hou.battery_volt AS batteryVolt, - hou.dt AS getDate - FROM pr_intake inta - INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 AND hou.battery_volt < #{batteryVolt} - ORDER BY hou.dt - <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="getUnderVoltIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoBatteryVolt"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + blo.name AS blockName, + hou.battery_volt AS batteryVolt, + hou.dt AS getDate + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + WHERE inta.deleted = 0 + AND hou.battery_volt < #{batteryVolt} + ORDER BY hou.dt + <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="getSpecifiedSignalIntakesCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + <where> + AND inta.deleted = 0 + <if test="signalIntensity != null and signalIntensity == 1"> + AND hou.signal_value > 0 + AND hou.signal_value <= #{weak} + </if> + <if test="signalIntensity != null and signalIntensity == 2"> + AND hou.signal_value > #{weak} + AND hou.signal_value <= #{ordinary} + </if> + <if test="signalIntensity != null and signalIntensity == 3"> + AND hou.signal_value > #{ordinary} + </if> + </where> + </select> + + <!--鑾峰彇鎸囧畾淇″彿寮哄害鐨勫彇姘村彛--> + <select id="getSpecifiedSignalIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoSignalIntensity"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + blo.name AS blockName, + hou.signal_value AS signValue, + hou.dt AS getDate + FROM pr_intake inta + INNER JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId + <where> + AND inta.deleted = 0 + <if test="signalIntensity != null and signalIntensity == 1"> + AND hou.signal_value > 0 + AND hou.signal_value <= #{weak} + </if> + <if test="signalIntensity != null and signalIntensity == 2"> + AND hou.signal_value > #{weak} + AND hou.signal_value <= #{ordinary} + </if> + <if test="signalIntensity != null and signalIntensity == 3"> + AND hou.signal_value > #{ordinary} + </if> + </where> + ORDER BY hou.dt + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java index 24b3244..099c25f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java @@ -6,9 +6,11 @@ import com.dy.pipIrrGlobal.voSt.VoBatteryVolt; import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow; import com.dy.pipIrrGlobal.voSt.VoIntake; +import com.dy.pipIrrGlobal.voSt.VoSignalIntensity; import com.dy.pipIrrStatistics.intake.qo.BatteryVoltQO; import com.dy.pipIrrStatistics.intake.qo.CumulativeFlowQO; import com.dy.pipIrrStatistics.intake.qo.IntakeQO; +import com.dy.pipIrrStatistics.intake.qo.SignalIntensityQO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +40,12 @@ @Value("${rtu.batteryVolt}") private Double batteryVolt; + + @Value("${rtu.signalIntensity.weak}") + private Integer weak; + + @Value("${rtu.signalIntensity.ordinary}") + private Integer ordinary; /** * 鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙� @@ -145,4 +153,29 @@ return rsVo ; } + /** + * 鑾峰彇鎸囧畾淇″彿寮哄害鐨勫彇姘村彛 + * @param qo + * @return + */ + public QueryResultVo<List<VoSignalIntensity>> getSpecifiedSignalIntakes(SignalIntensityQO qo) { + qo.setWeak(weak); + qo.setOrdinary(ordinary); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getSpecifiedSignalIntakesCount(params)).orElse(0L); + + QueryResultVo<List<VoSignalIntensity>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmOnHourReportLastMapper.getSpecifiedSignalIntakes(params); + return rsVo ; + } + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java index ab1dc52..8f06af2 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java @@ -7,10 +7,11 @@ import com.dy.pipIrrGlobal.voSt.VoBatteryVolt; import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow; import com.dy.pipIrrGlobal.voSt.VoIntake; +import com.dy.pipIrrGlobal.voSt.VoSignalIntensity; import com.dy.pipIrrStatistics.intake.qo.BatteryVoltQO; import com.dy.pipIrrStatistics.intake.qo.CumulativeFlowQO; import com.dy.pipIrrStatistics.intake.qo.IntakeQO; -import com.dy.pipIrrStatistics.result.StatisticlResultCode; +import com.dy.pipIrrStatistics.intake.qo.SignalIntensityQO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -42,11 +43,7 @@ @SsoAop() public BaseResponse<QueryResultVo<List<VoIntake>>> getNotOnlineIntakes(IntakeQO qo) { try { - QueryResultVo<List<VoIntake>> res = intakeSv.getNotOnlineIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } - return BaseResponseUtils.buildSuccess(res); + return BaseResponseUtils.buildSuccess(intakeSv.getNotOnlineIntakes(qo)); } catch (Exception e) { log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e); return BaseResponseUtils.buildException(e.getMessage()) ; @@ -62,11 +59,7 @@ @SsoAop() public BaseResponse<QueryResultVo<List<VoCumulativeFlow>>> getLargeFlowIntakes(CumulativeFlowQO qo) { try { - QueryResultVo<List<VoCumulativeFlow>> res = intakeSv.getLargeFlowIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } - return BaseResponseUtils.buildSuccess(res); + return BaseResponseUtils.buildSuccess(intakeSv.getLargeFlowIntakes(qo)); } catch (Exception e) { log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e); return BaseResponseUtils.buildException(e.getMessage()) ; @@ -82,11 +75,7 @@ @SsoAop() public BaseResponse<QueryResultVo<List<VoCumulativeFlow>>> getSmallFlowIntakes(CumulativeFlowQO qo) { try { - QueryResultVo<List<VoCumulativeFlow>> res = intakeSv.getSmallFlowIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } - return BaseResponseUtils.buildSuccess(res); + return BaseResponseUtils.buildSuccess(intakeSv.getSmallFlowIntakes(qo)); } catch (Exception e) { log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e); return BaseResponseUtils.buildException(e.getMessage()) ; @@ -102,11 +91,23 @@ @SsoAop() public BaseResponse<QueryResultVo<List<VoBatteryVolt>>> getUnderVoltIntakes(BatteryVoltQO qo) { try { - QueryResultVo<List<VoBatteryVolt>> res = intakeSv.getUnderVoltIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } - return BaseResponseUtils.buildSuccess(res); + return BaseResponseUtils.buildSuccess(intakeSv.getUnderVoltIntakes(qo)); + } catch (Exception e) { + log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 鑾峰彇鎸囧畾淇″彿寮哄害鐨勫彇姘村彛 + * @param qo + * @return + */ + @GetMapping(path = "/getSpecifiedSignalIntakes") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoSignalIntensity>>> getSpecifiedSignalIntakes(SignalIntensityQO qo) { + try { + return BaseResponseUtils.buildSuccess(intakeSv.getSpecifiedSignalIntakes(qo)); } catch (Exception e) { log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e); return BaseResponseUtils.buildException(e.getMessage()) ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/SignalIntensityQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/SignalIntensityQO.java new file mode 100644 index 0000000..69a66a0 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/SignalIntensityQO.java @@ -0,0 +1,30 @@ +package com.dy.pipIrrStatistics.intake.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-08-05 8:42 + * @LastEditTime 2024-08-05 8:42 + * @Description 淇″彿寮哄害鏌ヨ瀵硅薄 + */ + +@Data +public class SignalIntensityQO extends QueryConditionVo { + + /** + * 淇″彿寮哄害锛�1-寮憋紝2-涓�鑸紝3-寮� + */ + private Integer signalIntensity; + + /** + * 寮变俊鍙锋渶澶у�� + */ + private Integer weak; + + /** + * 涓�鑸俊鍙锋渶澶у�� + */ + private Integer ordinary; +} -- Gitblit v1.8.0