From 51852d8fab180c14927eb7e4c4c67347bbb3bcc4 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 05 八月 2024 17:05:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'git-pipIrr/master'
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 104 ++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeValueQO.java | 23
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java | 45 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoOnLineIntake.java | 5
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java | 21
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 +++++++++++++------------
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 | 101 ++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 151 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java | 15
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml | 8
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml | 714 ++++++++++--------
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java | 28
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 8
15 files changed, 1,423 insertions(+), 843 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/daoRm/RmOpenCloseValveHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
index 7474543..ee5171e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve;
+import com.dy.pipIrrGlobal.voSt.VoIntake;
+import com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -76,4 +78,47 @@
* @return
*/
List<VoOpenCloseValve> getOpenCloseValveReports_history(Map<?, ?> params);
+
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛鏁伴噺
+ * @param params
+ * @return
+ */
+ Long getNeverOpenValveIntakesCount(Map<?, ?> params);
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛
+ * @param params
+ * @return
+ */
+ List<VoIntake> getNeverOpenValveIntakes(Map<?, ?> params);
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�
+ * @param params
+ * @return
+ */
+ Long getOpenValveGtIntakesCount(Map<String, Object> params);
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param params
+ * @return
+ */
+ List<VoIntakeOpenCount> getOpenValveGtIntakes(Map<String, Object> params);
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙f暟閲�
+ * @param params
+ * @return
+ */
+ Long getOpenValveLtIntakesCount(Map<String, Object> params);
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param params
+ * @return
+ */
+ List<VoIntakeOpenCount> getOpenValveLtIntakes(Map<String, Object> 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/VoIntakeOpenCount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java
new file mode 100644
index 0000000..421b9b2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java
@@ -0,0 +1,21 @@
+package com.dy.pipIrrGlobal.voSt;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/5 10:45
+ * @LastEditTime :2024/8/5 10:45
+ * @Description 鍙栨按鍙e紑闃� 鎸囧畾鍊� 娆℃暟
+ */
+@Data
+public class VoIntakeOpenCount extends VoIntake{
+ private static final long serialVersionUID = 202408051046001L;
+
+ /**
+ * 鎸囧畾鍊�
+ */
+ private Long recordCount;
+}
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-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
index 16e4487..aefd5fc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -425,10 +425,10 @@
<if test = "rtuAddr != null and rtuAddr !=''">
AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
</if>
- <if test = "timeStart_open != null and timeStop_open != null">
+ <if test = "timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != '' ">
AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
</if>
- <if test = "timeStart_close != null and timeStop_close != null">
+ <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
</if>
</where>
@@ -490,10 +490,10 @@
<if test = "rtuAddr != null and rtuAddr !=''">
AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
</if>
- <if test = "timeStart_open != null and timeStop_open != null">
+ <if test = "timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != '' ">
AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
</if>
- <if test = "timeStart_close != null and timeStop_close != null">
+ <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
</if>
</where>
@@ -504,4 +504,100 @@
</if>
</trim>
</select>
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛鏁伴噺-->
+ <select id="getNeverOpenValveIntakesCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM pr_intake inta
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ WHERE inta.deleted = 0
+ AND NOT EXISTS(SELECT * FROM rm_open_close_valve_history WHERE op_dt BETWEEN #{timeStart} AND #{timeStop} AND intake_id = inta.id)
+ </select>
+<!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛-->
+ <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
+ SELECT
+ inta.id AS intakeId,
+ inta.name AS intakeNum,
+ blo.name AS blockName
+ FROM pr_intake inta
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ WHERE inta.deleted = 0
+ AND NOT EXISTS(SELECT * FROM rm_open_close_valve_history WHERE op_dt BETWEEN #{timeStart} AND #{timeStop} AND intake_id = inta.id)
+ ORDER BY inta.id
+ <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="getOpenValveGtIntakesCount" resultType="java.lang.Long">
+ select count(*)
+ from (SELECT
+ COUNT(*) AS recordCount,
+ inta.id AS intakeId,
+ inta.name AS intakeNum,
+ blo.name AS blockName
+ FROM pr_intake inta
+ LEFT JOIN (SELECT * FROM rm_open_close_valve_history WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ WHERE inta.deleted = 0
+ GROUP BY intakeId,intakeNum,blockName
+ HAVING recordCount > #{value}) a
+ </select>
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�-->
+ <select id="getOpenValveGtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
+ SELECT
+ COUNT(*) AS recordCount,
+ inta.id AS intakeId,
+ inta.name AS intakeNum,
+ blo.name AS blockName
+ FROM pr_intake inta
+ LEFT JOIN (SELECT * FROM rm_open_close_valve_history WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ WHERE inta.deleted = 0
+ GROUP BY intakeId,intakeNum,blockName
+ HAVING recordCount > #{value}
+ ORDER BY inta.id
+ <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="getOpenValveLtIntakesCount" resultType="java.lang.Long">
+ select count(*)
+ from (SELECT
+ COUNT(*) AS recordCount,
+ inta.id AS intakeId,
+ inta.name AS intakeNum,
+ blo.name AS blockName
+ FROM pr_intake inta
+ LEFT JOIN (SELECT * FROM rm_open_close_valve_history WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ WHERE inta.deleted = 0
+ GROUP BY intakeId,intakeNum,blockName
+ HAVING recordCount < #{value}) a
+ </select>
+ <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�-->
+ <select id="getOpenValveLtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
+ SELECT
+ COUNT(*) AS recordCount,
+ inta.id AS intakeId,
+ inta.name AS intakeNum,
+ blo.name AS blockName
+ FROM pr_intake inta
+ LEFT JOIN (SELECT * FROM rm_open_close_valve_history WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ WHERE inta.deleted = 0
+ GROUP BY intakeId,intakeNum,blockName
+ HAVING recordCount < #{value}
+ ORDER BY inta.id
+ <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-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
index 61890c6..fcd8e06 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
@@ -445,10 +445,10 @@
<if test = "rtuAddr != null and rtuAddr !=''">
AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
</if>
- <if test = "timeStart_open != null and timeStop_open != null">
+ <if test = "timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != '' ">
AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
</if>
- <if test = "timeStart_close != null and timeStop_close != null">
+ <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
</if>
</where>
@@ -510,10 +510,10 @@
<if test = "rtuAddr != null and rtuAddr !=''">
AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
</if>
- <if test = "timeStart_open != null and timeStop_open != null">
+ <if test = "timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != '' ">
AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
</if>
- <if test = "timeStart_close != null and timeStop_close != null">
+ <if test = "timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != '' ">
AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
</if>
</where>
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
index 2131e44..d17f46c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
@@ -13,6 +13,8 @@
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.stereotype.Service;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -109,25 +111,35 @@
public QueryResultVo<List<VoOpenCloseValve>> getOpenCloseValveReports_history(OpenCloseValveQO qo) {
String timeStart_open = qo.getTimeStart_open();
String timeStop_open = qo.getTimeStop_open();
- if(timeStart_open != null) {
+ if(timeStart_open != null && timeStart_open != "") {
timeStart_open = timeStart_open + " 00:00:00";
- qo.setTimeStop_open(timeStart_open);
+ } else {
+ timeStart_open = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
}
- if(timeStop_open != null) {
+ qo.setTimeStop_open(timeStart_open);
+
+ if(timeStop_open != null && timeStop_open != "") {
timeStop_open = timeStop_open + " 23:59:59";
- qo.setTimeStop_open(timeStop_open);
+ }else {
+ timeStop_open = LocalDate.now() + " 23:59:59";
}
+ qo.setTimeStop_open(timeStop_open);
String timeStart_close = qo.getTimeStart_close();
String timeStop_close = qo.getTimeStop_close();
- if(timeStart_close != null) {
+ if(timeStart_close != null && timeStart_close != "") {
timeStart_close = timeStart_close + " 00:00:00";
- qo.setTimeStart_close(timeStart_close);
+ } else {
+ timeStart_close = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
}
- if(timeStop_close != null) {
+ qo.setTimeStart_close(timeStart_close);
+
+ if(timeStop_close != null && timeStop_close != "") {
timeStop_close = timeStop_close + " 23:59:59";
- qo.setTimeStop_close(timeStop_close);
+ }else {
+ timeStop_close = LocalDate.now() + " 23:59:59";
}
+ qo.setTimeStop_close(timeStop_close);
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
Long itemTotal = rmOpenCloseValveHistoryMapper.getOpenCloseValveReportsCount_history(params);
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..caa045a 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
@@ -2,13 +2,18 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoRm.RmOnHourReportHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
import com.dy.pipIrrGlobal.daoRm.RmOnHourReportLastMapper;
import com.dy.pipIrrGlobal.voSt.VoBatteryVolt;
import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow;
import com.dy.pipIrrGlobal.voSt.VoIntake;
+import com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount;
+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.IntakeValueQO;
+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;
@@ -34,10 +39,18 @@
@Autowired
private RmOnHourReportHistoryMapper rmOnHourReportHistoryMapper;
@Autowired
+ private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+ @Autowired
private RmOnHourReportLastMapper rmOnHourReportLastMapper;
@Value("${rtu.batteryVolt}")
private Double batteryVolt;
+
+ @Value("${rtu.signalIntensity.weak}")
+ private Integer weak;
+
+ @Value("${rtu.signalIntensity.ordinary}")
+ private Integer ordinary;
/**
* 鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙�
@@ -145,4 +158,142 @@
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 ;
+ }
+
+ /**
+ * 鑾峰彇浠庢湭寮�杩囬榾鐨勫彇姘村彛
+ * @return
+ */
+ public QueryResultVo<List<VoIntake>> getNeverOpenValveIntakes(IntakeQO qo) {
+
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ }else {
+ timeStart = LocalDate.now() + " 00:00:00";
+ }
+ qo.setTimeStart(timeStart);
+ if(timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDate.now() + " 23:59:59";
+ }
+ qo.setTimeStop(timeStop);
+
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getNeverOpenValveIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntake>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getNeverOpenValveIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveGtIntakes(IntakeValueQO qo) {
+
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ }else {
+ timeStart = LocalDate.now() + " 00:00:00";
+ }
+ qo.setTimeStart(timeStart);
+ if(timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDate.now() + " 23:59:59";
+ }
+ qo.setTimeStop(timeStop);
+
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getOpenValveGtIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntakeOpenCount>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getOpenValveGtIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveLtIntakes(IntakeValueQO qo) {
+
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ }else {
+ timeStart = LocalDate.now() + " 00:00:00";
+ }
+ qo.setTimeStart(timeStart);
+ if(timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDate.now() + " 23:59:59";
+ }
+ qo.setTimeStop(timeStop);
+
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getOpenValveLtIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntakeOpenCount>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getOpenValveLtIntakes(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..e212e51 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,9 +7,13 @@
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.pipIrrGlobal.voSt.VoIntakeOpenCount;
import com.dy.pipIrrStatistics.intake.qo.CumulativeFlowQO;
import com.dy.pipIrrStatistics.intake.qo.IntakeQO;
+import com.dy.pipIrrStatistics.intake.qo.SignalIntensityQO;
+import com.dy.pipIrrStatistics.intake.qo.IntakeValueQO;
import com.dy.pipIrrStatistics.result.StatisticlResultCode;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -42,11 +46,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 +62,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 +78,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,13 +94,88 @@
@SsoAop()
public BaseResponse<QueryResultVo<List<VoBatteryVolt>>> getUnderVoltIntakes(BatteryVoltQO qo) {
try {
- QueryResultVo<List<VoBatteryVolt>> res = intakeSv.getUnderVoltIntakes(qo);
+ 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()) ;
+ }
+ }
+
+
+ /**
+ * 鑾峰彇浠庢湭寮�杩囬榾鐨勫彇姘村彛
+ * @param
+ * @return
+ */
+ @GetMapping(path = "/getNeverOpenValveIntakes")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoIntake>>> getNeverOpenValveIntakes(IntakeQO qo) {
+ try {
+ QueryResultVo<List<VoIntake>> res = intakeSv.getNeverOpenValveIntakes(qo);
if(res.itemTotal == 0) {
return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage());
}
return BaseResponseUtils.buildSuccess(res);
} catch (Exception e) {
- log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+ log.error("鑾峰彇璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param
+ * @return
+ */
+ @GetMapping(path = "/getOpenValveGtIntakes")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(IntakeValueQO qo) {
+ try {
+ QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveGtIntakes(qo);
+ if(res.itemTotal == 0) {
+ return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param
+ * @return
+ */
+ @GetMapping(path = "/getOpenValveLtIntakes")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(IntakeValueQO qo) {
+ try {
+ QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveLtIntakes(qo);
+ if(res.itemTotal == 0) {
+ return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(res);
+ } 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/IntakeValueQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeValueQO.java
new file mode 100644
index 0000000..bbb1729
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeValueQO.java
@@ -0,0 +1,23 @@
+package com.dy.pipIrrStatistics.intake.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/3 9:32
+ * @LastEditTime :2024/8/3 9:32
+ * @Description
+ */
+@Data
+public class IntakeValueQO extends IntakeQO {
+
+
+ /**
+ * 鍊�
+ */
+ @NotBlank(message = "鍊间笉鑳戒负绌�")
+ private int value;
+}
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