From 2e9ac6878d3d7a59c200be7d74811c89dadf3a44 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期六, 06 一月 2024 10:22:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java | 20
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowSv.java | 42 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrDivide.java | 4
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterCtrl.java | 101 ++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java | 22
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterSv.java | 48 +
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToFlowmeterPojo.java | 25
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoFlowmeter.java | 62 +
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoMoniFlow.java | 52 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowmeter.java | 100 ++
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java | 51 +
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java | 35
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java | 3
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoToDividePojo.java | 32
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java | 29
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringSv.java | 64 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java | 8
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowMonitoringMapper.xml | 185 +++++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringCtrl.java | 117 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowMonitoringMapper.java | 38 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowmeterMapper.java | 38 +
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToMoniFlowPojo.java | 23
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java | 106 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoFlowMonitoring.java | 40 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowMonitoring.java | 111 +++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java | 10
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrMonitoringFlowmeter.java | 87 ++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowmeterMapper.xml | 174 ++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrMonitoringFlowmeterMapper.xml | 146 +++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java | 1
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml | 83 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 5
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java | 22
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoDivide.java | 96 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrMonitoringFlowmeterMapper.java | 33
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java | 139 +++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/QueryVo.java | 30
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java | 6
38 files changed, 2,137 insertions(+), 51 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java
index c1ab03e..9d2a020 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java
@@ -4,6 +4,7 @@
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.voPr.VoController;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -42,4 +43,25 @@
* @return
*/
List<VoController> getControllers(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨帶鍒跺櫒鍒楄〃
+ * @param controllerCode
+ * @return
+ */
+ List<Map<String, Object>> getControllersByCode(@Param("controllerCode") String controllerCode);
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗
+ * @param controllerId
+ * @return
+ */
+ Integer deleteControllerById(@Param("controllerId") Long controllerId);
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨湭鍒犻櫎鐨勬帶鍒跺櫒鏁伴噺
+ * @param controllerId
+ * @return
+ */
+ Integer getRecordCountOfController(@Param("controllerId") Long controllerId);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowMonitoringMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowMonitoringMapper.java
new file mode 100644
index 0000000..1c33361
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowMonitoringMapper.java
@@ -0,0 +1,38 @@
+package com.dy.pipIrrGlobal.daoPr;
+
+import com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-04 16:02
+ * @LastEditTime 2024-01-04 16:02
+ * @Description
+ */
+public interface PrFlowMonitoringMapper {
+ int deleteByPrimaryKey(Long id);
+
+ int insert(PrFlowMonitoring record);
+
+ int insertSelective(PrFlowMonitoring record);
+
+ PrFlowMonitoring selectByPrimaryKey(Long id);
+
+ int updateByPrimaryKeySelective(PrFlowMonitoring record);
+
+ int updateByPrimaryKey(PrFlowMonitoring record);
+
+ /**
+ * 鏍规嵁鐩戞祴绔欑紪鍙峰垹闄ょ洃娴嬬珯
+ * @param flowMonitoringId
+ * @return
+ */
+ Integer deleteFlowMonitoringById(@Param("flowMonitoringId") Long flowMonitoringId);
+
+ /**
+ * 鏍规嵁鐩戞祴绔欑紪鍙疯幏鍙栨湭鍒犻櫎鐨勭洃娴嬬珯鏁伴噺
+ * @param flowMonitoringId
+ * @return
+ */
+ Integer getRecordCountOfFlowMonitoring(@Param("flowMonitoringId") Long flowMonitoringId);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowmeterMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowmeterMapper.java
new file mode 100644
index 0000000..e4a7ada
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrFlowmeterMapper.java
@@ -0,0 +1,38 @@
+package com.dy.pipIrrGlobal.daoPr;
+
+import com.dy.pipIrrGlobal.pojoPr.PrFlowmeter;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 9:04
+ * @LastEditTime 2024-01-05 9:04
+ * @Description
+ */
+public interface PrFlowmeterMapper {
+ int deleteByPrimaryKey(Long id);
+
+ int insert(PrFlowmeter record);
+
+ int insertSelective(PrFlowmeter record);
+
+ PrFlowmeter selectByPrimaryKey(Long id);
+
+ int updateByPrimaryKeySelective(PrFlowmeter record);
+
+ int updateByPrimaryKey(PrFlowmeter record);
+
+ /**
+ * 鎹紪鍙峰垹闄ゆ祦閲忚
+ * @param flowmeterId
+ * @return
+ */
+ Integer deleteFlowmeterById(@Param("flowmeterId") Long flowmeterId);
+
+ /**
+ * 鏍规嵁娴侀噺璁$紪鍙疯幏鍙栨湭鍒犻櫎鐨勬祦閲忚鏁伴噺
+ * @param flowmeterId
+ * @return
+ */
+ Integer getRecordCountOfFlowmeter(@Param("flowmeterId") Long flowmeterId);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
index c12a4d2..753a980 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
@@ -4,6 +4,7 @@
import com.dy.pipIrrGlobal.pojoPr.PrIntake;
import com.dy.pipIrrGlobal.voPr.VoIntake;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -77,4 +78,11 @@
List<VoIntake> getIntakes(Map<?, ?> params);
Long getSupperByVillageId(long vaId);
+
+ /**
+ * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺
+ * @param intakeId
+ * @return
+ */
+ Integer getRecordCountOfIntake(@Param("intakeId") Long intakeId);
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrMonitoringFlowmeterMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrMonitoringFlowmeterMapper.java
new file mode 100644
index 0000000..f6cdffd
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrMonitoringFlowmeterMapper.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrGlobal.daoPr;
+
+import com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 10:18
+ * @LastEditTime 2024-01-05 10:18
+ * @Description
+ */
+public interface PrMonitoringFlowmeterMapper {
+ int deleteByPrimaryKey(Long id);
+
+ int insert(PrMonitoringFlowmeter record);
+
+ int insertSelective(PrMonitoringFlowmeter record);
+
+ PrMonitoringFlowmeter selectByPrimaryKey(Long id);
+
+ int updateByPrimaryKeySelective(PrMonitoringFlowmeter record);
+
+ int updateByPrimaryKey(PrMonitoringFlowmeter record);
+
+ /**
+ * 鏍规嵁娴侀噺鐩戞祴绔欍�佹祦閲忚銆佹搷浣滅被鍨嬭幏鍙栬褰曟暟閲�
+ * @param monitoringId 鐩戞祴绔欑紪鍙�
+ * @param flowmeterId 娴侀噺璁$紪鍙�
+ * @param operateType 鎿嶄綔绫诲瀷 1-鎹嗙粦锛�2-瑙g粦
+ * @return 绗﹀悎鏉′欢璁板綍鏁伴噺
+ */
+ Integer getBindRecordCount(@Param("monitoringId") Long monitoringId, @Param("flowmeterId") Long flowmeterId, @Param("operateType") Byte operateType);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrDivide.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrDivide.java
index 6d2dec4..e46bbfc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrDivide.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrDivide.java
@@ -47,7 +47,6 @@
*/
@JSONField(serializeUsing= ObjectWriterImplToString.class)
@Schema(description = "鎵�鍦ㄥ幙ID", requiredMode = Schema.RequiredMode.REQUIRED)
- //@NotEmpty(message = "鎵�鍦ㄥ幙涓嶈兘涓虹┖")
private Long countyid;
/**
@@ -55,7 +54,6 @@
*/
@JSONField(serializeUsing= ObjectWriterImplToString.class)
@Schema(description = "鎵�鍦ㄩ晣ID", requiredMode = Schema.RequiredMode.REQUIRED)
- //@NotEmpty(message = "鎵�鍦ㄩ晣涓嶈兘涓虹┖")
private Long townid;
/**
@@ -63,7 +61,7 @@
*/
@JSONField(serializeUsing= ObjectWriterImplToString.class)
@Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED)
- //@NotEmpty(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖")
+ @NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖")
private Long villageid;
/**
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowMonitoring.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowMonitoring.java
new file mode 100644
index 0000000..1ca4c29
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowMonitoring.java
@@ -0,0 +1,111 @@
+package com.dy.pipIrrGlobal.pojoPr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-04 16:02
+ * @LastEditTime 2024-01-04 16:02
+ * @Description
+ */
+
+@TableName(value="pr_flow_monitoring", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "娴侀噺鐩戞祴绔欏疄浣�")
+public class PrFlowMonitoring implements BaseEntity {
+ public static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @TableId(type = IdType.INPUT)
+ @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Long id;
+
+ /**
+ * 鎵�鍦ㄥ幙
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @Schema(description = "鎵�鍦ㄥ幙ID", requiredMode = Schema.RequiredMode.REQUIRED)
+ private Long countyid;
+
+ /**
+ * 鎵�鍦ㄩ晣
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @Schema(description = "鎵�鍦ㄩ晣ID", requiredMode = Schema.RequiredMode.REQUIRED)
+ private Long townid;
+
+ /**
+ * 鎵�鍦ㄦ潙
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖")
+ private Long villageid;
+
+ /**
+ * 鐩戞祴绔欏悕绉�
+ */
+ @Schema(description = "鐩戞祴绔欏悕绉�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "鐩戞祴绔欏悕绉颁笉鑳戒负绌�")
+ @Length(message = "鐩戞祴绔欏悕绉颁笉澶т簬{max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 25)
+ private String name;
+
+ /**
+ * 缁忓害
+ */
+ @Schema(description = "缁忓害", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "缁忓害涓嶈兘涓虹┖")
+ private Double lng;
+
+ /**
+ * 绾害
+ */
+ @Schema(description = "缁忓害", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "缁忓害涓嶈兘涓虹┖")
+ private Double lat;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 200)
+ private String remarks;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @NotNull(message = "鎿嶄綔浜虹紪鍙蜂笉鑳戒负绌�")
+ private Long operator;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Date operatedt;
+
+ /**
+ * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎
+ */
+ @Schema(description = "鍒犻櫎鏍囪瘑", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte deleted;
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowmeter.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowmeter.java
new file mode 100644
index 0000000..cdb8538
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrFlowmeter.java
@@ -0,0 +1,100 @@
+package com.dy.pipIrrGlobal.pojoPr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 9:04
+ * @LastEditTime 2024-01-05 9:04
+ * @Description
+ */
+
+@TableName(value="pr_flowmeter", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "娴侀噺璁″疄浣�")
+public class PrFlowmeter implements BaseEntity {
+ public static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @TableId(type = IdType.INPUT)
+ @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Long id;
+
+ /**
+ * 娴侀噺璁$紪鍙�
+ */
+ @Schema(description = "娴侀噺璁$紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "娴侀噺璁$紪鍙蜂笉鑳戒负绌�")
+ @Length(message = "娴侀噺璁$紪鍙蜂笉澶т簬{max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 25)
+ private String code;
+
+ /**
+ * 閫氳鍗忚
+ */
+ @Schema(description = "閫氳鍗忚", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "閫氳鍗忚涓嶈兘涓虹┖")
+ @Length(message = "閫氳鍗忚涓嶅ぇ浜巤max}瀛�",max = 25)
+ private String protocol;
+
+ /**
+ * 鍦ㄧ嚎鐘舵��;1-鍦ㄧ嚎锛�2-绂荤嚎
+ */
+ @Schema(description = "鍦ㄧ嚎鐘舵��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte onlinestate;
+
+ /**
+ * 鏈�杩戜笂鎶ユ椂闂�
+ */
+ @Schema(description = "鏈�杩戜笂鎶ユ椂闂�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Date reporttime;
+
+ /**
+ * 娣诲姞鏂瑰紡;1-绯荤粺鑷姩锛�2-鎵嬪姩
+ */
+ @Schema(description = "娣诲姞鏂瑰紡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte addways;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Long operator;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Date operatedt;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 200)
+ private String remarks;
+
+ /**
+ * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎
+ */
+ @Schema(description = "鍒犻櫎鏍囪瘑", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte deleted;
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrMonitoringFlowmeter.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrMonitoringFlowmeter.java
new file mode 100644
index 0000000..8f1de60
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrMonitoringFlowmeter.java
@@ -0,0 +1,87 @@
+package com.dy.pipIrrGlobal.pojoPr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Positive;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 10:18
+ * @LastEditTime 2024-01-05 10:18
+ * @Description
+ */
+
+@TableName(value="pr_monitoring_flowmeter", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "鐩戞祴绔欐祦閲忚鍏宠仈瀹炰綋")
+public class PrMonitoringFlowmeter implements BaseEntity {
+ public static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @TableId(type = IdType.INPUT)
+ @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Long id;
+
+ /**
+ * 鐩戞祴绔欑紪鍙�
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @Schema(description = "鐩戞祴绔欑紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鐩戞祴绔橧D涓嶈兘涓虹┖")
+ private Long monitoringid;
+
+ /**
+ * 娴侀噺璁$紪鍙�
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @Schema(description = "娴侀噺璁$紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "娴侀噺璁D涓嶈兘涓虹┖")
+ private Long flowmeterid;
+
+ /**
+ * 鎿嶄綔绫诲瀷;1-鎹嗙粦锛�2-瑙g粦
+ */
+ @Schema(description = "鎿嶄綔绫诲瀷", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Max(message = "鎿嶄綔绫诲瀷鍙兘1鎴�2", value = 2)
+ @Min(message = "鎿嶄綔绫诲瀷鍙兘1鎴�2",value = 1)
+ private Byte operatetype;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Length(message = "澶囨敞闀垮害灏忎簬{max}瀛�", min = 1, max = 200)
+ private String remarks;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�")
+ private Long operator;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ //@Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Date operatedt;
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoFlowMonitoring.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoFlowMonitoring.java
new file mode 100644
index 0000000..b27fa51
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoFlowMonitoring.java
@@ -0,0 +1,40 @@
+package com.dy.pipIrrGlobal.voPr;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-04 17:14
+ * @LastEditTime 2024-01-04 17:14
+ * @Description
+ */
+
+@Data
+@Schema(title = "绠$綉娴侀噺鐩戞祴绔欒鍥惧璞�")
+public class VoFlowMonitoring implements BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @Schema(title = "ID")
+ @ExcelProperty("ID")
+ @ColumnWidth(10)
+ private Long id;
+
+ @Schema(title = "绠$綉娴侀噺鐩戞祴绔欏悕绉�")
+ @ExcelProperty("绠$綉娴侀噺鐩戞祴绔欏悕绉�")
+ @ColumnWidth(15)
+ private String name;
+
+ @Schema(title = "缁戝畾鐘舵��")
+ @ExcelProperty("缁戝畾鐘舵��")
+ @ColumnWidth(15)
+ private Integer bindState;
+
+ @Schema(title = "鍦板潃")
+ @ExcelProperty("鍦板潃")
+ @ColumnWidth(20)
+ private String address;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
index df83fbb..ef5aef9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
@@ -160,6 +160,11 @@
, (SELECT @i:=0) AS itable
<where>
AND ic.operateType = 1
+
+ <if test = "id != null and id > 0">
+ AND con.id = ${id}
+ </if>
+
<if test = "controllerCode != null and controllerCode !=''">
AND con.code like CONCAT('%',#{controllerCode},'%')
</if>
@@ -178,36 +183,58 @@
<select id="getControllers" resultType="com.dy.pipIrrGlobal.voPr.VoController">
SELECT
(@i:=@i+1) AS id,
- con.code AS controllerCode,
- (CASE
- WHEN con.onlineState = 1 THEN "鍦ㄧ嚎"
- WHEN con.onlineState = 2 THEN "绂荤嚎"
- END) AS onlineState,
- inta.name AS intakeName,
- (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
- con.reportTime
- FROM pr_controller con
- INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
- INNER JOIN pr_intake inta ON ic.intakeId = inta.id
- , (SELECT @i:=0) AS itable
- <where>
- AND ic.operateType = 1
- <if test = "controllerCode != null and controllerCode !=''">
- AND con.code like CONCAT('%',#{controllerCode},'%')
- </if>
+ t.* FROM(
+ SELECT
+ con.code AS controllerCode,
+ (CASE
+ WHEN con.onlineState = 1 THEN "鍦ㄧ嚎"
+ WHEN con.onlineState = 2 THEN "绂荤嚎"
+ END) AS onlineState,
+ inta.name AS intakeName,
+ (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
+ con.reportTime
+ FROM pr_controller con
+ INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
+ INNER JOIN pr_intake inta ON ic.intakeId = inta.id
+ <where>
+ AND ic.operateType = 1
- <if test = "onlineState != null and onlineState > 0">
- AND con.onlineState = ${onlineState}
- </if>
+ <if test = "id != null and id > 0">
+ AND con.id = ${id}
+ </if>
- <if test = "bindNumber != null and bindNumber > 0">
- AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
- </if>
- </where>
- ORDER BY con.operateDt DESC
- <if test="pageCurr != null and pageSize != null">
- LIMIT ${pageCurr}, ${pageSize}
- </if>
+ <if test = "controllerCode != null and controllerCode !=''">
+ AND con.code like CONCAT('%',#{controllerCode},'%')
+ </if>
+ <if test = "onlineState != null and onlineState > 0">
+ AND con.onlineState = ${onlineState}
+ </if>
+
+ <if test = "bindNumber != null and bindNumber > 0">
+ AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
+ </if>
+ </where>
+ ORDER BY con.operateDt DESC
+ <if test="pageCurr != null and pageSize != null">
+ LIMIT ${pageCurr}, ${pageSize}
+ </if>
+ ) t
+ , (SELECT @i:=0) AS itable
+ </select>
+
+ <!--鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨帶鍒跺櫒鍒楄〃-->
+ <select id="getControllersByCode" resultType="java.util.Map">
+ SELECT id, code FROM pr_controller WHERE code LIKE CONCAT('%',#{controllerCode},'%')
+ </select>
+
+ <!--鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗-->
+ <update id="deleteControllerById">
+ UPDATE pr_controller SET deleted = 1 WHERE id = ${controllerId}
+ </update>
+
+ <!--鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨湭鍒犻櫎鐨勬帶鍒跺櫒鏁伴噺-->
+ <select id="getRecordCountOfController" resultType="java.lang.Integer">
+ SELECT COUNT(*) AS recordCount FROM pr_controller WHERE deleted = 0 AND id = ${controllerId}
</select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowMonitoringMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowMonitoringMapper.xml
new file mode 100644
index 0000000..19cecd7
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowMonitoringMapper.xml
@@ -0,0 +1,185 @@
+<?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.PrFlowMonitoringMapper">
+ <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring">
+ <!--@mbg.generated-->
+ <!--@Table pr_flow_monitoring-->
+ <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="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, `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_flow_monitoring
+ where id = #{id,jdbcType=BIGINT}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ delete from pr_flow_monitoring
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+
+ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring">
+ <!--@mbg.generated-->
+ insert into pr_flow_monitoring (id, countyId, townId,
+ villageId, `name`, lng,
+ lat, remarks, `operator`,
+ operateDt, deleted)
+ values (#{id,jdbcType=BIGINT}, #{countyid,jdbcType=BIGINT}, #{townid,jdbcType=BIGINT},
+ #{villageid,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.PrFlowMonitoring">
+ <!--@mbg.generated-->
+ insert into pr_flow_monitoring
+ <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="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="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.PrFlowMonitoring">
+ <!--@mbg.generated-->
+ update pr_flow_monitoring
+ <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="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.PrFlowMonitoring">
+ <!--@mbg.generated-->
+ update pr_flow_monitoring
+ set countyId = #{countyid,jdbcType=BIGINT},
+ townId = #{townid,jdbcType=BIGINT},
+ villageId = #{villageid,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>
+
+ <!--鏍规嵁鐩戞祴绔欑紪鍙峰垹闄ょ洃娴嬬珯-->
+ <update id="deleteFlowMonitoringById">
+ UPDATE pr_flow_monitoring SET deleted = 1 WHERE id = ${flowMonitoringId}
+ </update>
+
+ <!--鏍规嵁鐩戞祴绔欑紪鍙疯幏鍙栨湭鍒犻櫎鐨勭洃娴嬬珯鏁伴噺-->
+ <select id="getRecordCountOfFlowMonitoring" resultType="java.lang.Integer">
+ SELECT COUNT(*) AS recordCountOfFlowMonitoring FROM pr_flow_monitoring WHERE deleted = 0 AND id = ${flowMonitoringId}
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowmeterMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowmeterMapper.xml
new file mode 100644
index 0000000..7af9f8a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrFlowmeterMapper.xml
@@ -0,0 +1,174 @@
+<?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.PrFlowmeterMapper">
+ <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrFlowmeter">
+ <!--@mbg.generated-->
+ <!--@Table pr_flowmeter-->
+ <id column="id" jdbcType="BIGINT" property="id" />
+ <result column="code" jdbcType="VARCHAR" property="code" />
+ <result column="protocol" jdbcType="VARCHAR" property="protocol" />
+ <result column="onlineState" jdbcType="TINYINT" property="onlinestate" />
+ <result column="reportTime" jdbcType="TIMESTAMP" property="reporttime" />
+ <result column="addWays" jdbcType="TINYINT" property="addways" />
+ <result column="operator" jdbcType="BIGINT" property="operator" />
+ <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" />
+ <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+ <result column="deleted" jdbcType="TINYINT" property="deleted" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ <!--@mbg.generated-->
+ id, code, protocol, onlineState, reportTime, addWays, `operator`, operateDt, remarks,
+ deleted
+ </sql>
+ <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+ <!--@mbg.generated-->
+ select
+ <include refid="Base_Column_List" />
+ from pr_flowmeter
+ where id = #{id,jdbcType=BIGINT}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ delete from pr_flowmeter
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+
+ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowmeter">
+ <!--@mbg.generated-->
+ insert into pr_flowmeter (id, code, protocol,
+ onlineState, reportTime, addWays,
+ `operator`, operateDt, remarks,
+ deleted)
+ values (#{id,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR},
+ #{onlinestate,jdbcType=TINYINT}, #{reporttime,jdbcType=TIMESTAMP}, #{addways,jdbcType=TINYINT},
+ #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR},
+ #{deleted,jdbcType=TINYINT})
+ </insert>
+
+ <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowmeter">
+ <!--@mbg.generated-->
+ insert into pr_flowmeter
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="code != null">
+ code,
+ </if>
+ <if test="protocol != null">
+ protocol,
+ </if>
+ <if test="onlinestate != null">
+ onlineState,
+ </if>
+ <if test="reporttime != null">
+ reportTime,
+ </if>
+ <if test="addways != null">
+ addWays,
+ </if>
+ <if test="operator != null">
+ `operator`,
+ </if>
+ <if test="operatedt != null">
+ operateDt,
+ </if>
+ <if test="remarks != null">
+ remarks,
+ </if>
+ <if test="deleted != null">
+ deleted,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=BIGINT},
+ </if>
+ <if test="code != null">
+ #{code,jdbcType=VARCHAR},
+ </if>
+ <if test="protocol != null">
+ #{protocol,jdbcType=VARCHAR},
+ </if>
+ <if test="onlinestate != null">
+ #{onlinestate,jdbcType=TINYINT},
+ </if>
+ <if test="reporttime != null">
+ #{reporttime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="addways != null">
+ #{addways,jdbcType=TINYINT},
+ </if>
+ <if test="operator != null">
+ #{operator,jdbcType=BIGINT},
+ </if>
+ <if test="operatedt != null">
+ #{operatedt,jdbcType=TIMESTAMP},
+ </if>
+ <if test="remarks != null">
+ #{remarks,jdbcType=VARCHAR},
+ </if>
+ <if test="deleted != null">
+ #{deleted,jdbcType=TINYINT},
+ </if>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowmeter">
+ <!--@mbg.generated-->
+ update pr_flowmeter
+ <set>
+ <if test="code != null">
+ code = #{code,jdbcType=VARCHAR},
+ </if>
+ <if test="protocol != null">
+ protocol = #{protocol,jdbcType=VARCHAR},
+ </if>
+ <if test="onlinestate != null">
+ onlineState = #{onlinestate,jdbcType=TINYINT},
+ </if>
+ <if test="reporttime != null">
+ reportTime = #{reporttime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="addways != null">
+ addWays = #{addways,jdbcType=TINYINT},
+ </if>
+ <if test="operator != null">
+ `operator` = #{operator,jdbcType=BIGINT},
+ </if>
+ <if test="operatedt != null">
+ operateDt = #{operatedt,jdbcType=TIMESTAMP},
+ </if>
+ <if test="remarks != null">
+ remarks = #{remarks,jdbcType=VARCHAR},
+ </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.PrFlowmeter">
+ <!--@mbg.generated-->
+ update pr_flowmeter
+ set code = #{code,jdbcType=VARCHAR},
+ protocol = #{protocol,jdbcType=VARCHAR},
+ onlineState = #{onlinestate,jdbcType=TINYINT},
+ reportTime = #{reporttime,jdbcType=TIMESTAMP},
+ addWays = #{addways,jdbcType=TINYINT},
+ `operator` = #{operator,jdbcType=BIGINT},
+ operateDt = #{operatedt,jdbcType=TIMESTAMP},
+ remarks = #{remarks,jdbcType=VARCHAR},
+ deleted = #{deleted,jdbcType=TINYINT}
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+
+ <!--鎹紪鍙峰垹闄ゆ祦閲忚-->
+ <update id="deleteFlowmeterById">
+ UPDATE pr_flowmeter SET deleted = 1 WHERE id = ${flowmeterId}
+ </update>
+
+ <!--鏍规嵁娴侀噺璁$紪鍙疯幏鍙栨湭鍒犻櫎鐨勬祦閲忚鏁伴噺-->
+ <select id="getRecordCountOfFlowmeter" resultType="java.lang.Integer">
+ SELECT COUNT(*) AS recordCountOfFlowmeter FROM pr_flowmeter WHERE deleted = 0 AND id = ${flowmeterId}
+ </select>
+</mapper>
\ 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 2d2e975..ef9ca39 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -283,4 +283,9 @@
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>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrMonitoringFlowmeterMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrMonitoringFlowmeterMapper.xml
new file mode 100644
index 0000000..4c63f19
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrMonitoringFlowmeterMapper.xml
@@ -0,0 +1,146 @@
+<?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.PrMonitoringFlowmeterMapper">
+ <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter">
+ <!--@mbg.generated-->
+ <!--@Table pr_monitoring_flowmeter-->
+ <id column="id" jdbcType="BIGINT" property="id" />
+ <result column="monitoringId" jdbcType="BIGINT" property="monitoringid" />
+ <result column="flowmeterId" jdbcType="BIGINT" property="flowmeterid" />
+ <result column="operateType" jdbcType="TINYINT" property="operatetype" />
+ <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+ <result column="operator" jdbcType="BIGINT" property="operator" />
+ <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ <!--@mbg.generated-->
+ id, monitoringId, flowmeterId, operateType, remarks, `operator`, operateDt
+ </sql>
+ <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+ <!--@mbg.generated-->
+ select
+ <include refid="Base_Column_List" />
+ from pr_monitoring_flowmeter
+ where id = #{id,jdbcType=BIGINT}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ delete from pr_monitoring_flowmeter
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter">
+ <!--@mbg.generated-->
+ insert into pr_monitoring_flowmeter (id, monitoringId, flowmeterId,
+ operateType, remarks, `operator`,
+ operateDt)
+ values (#{id,jdbcType=BIGINT}, #{monitoringid,jdbcType=BIGINT}, #{flowmeterid,jdbcType=BIGINT},
+ #{operatetype,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT},
+ #{operatedt,jdbcType=TIMESTAMP})
+ </insert>
+ <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter">
+ <!--@mbg.generated-->
+ insert into pr_monitoring_flowmeter
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="monitoringid != null">
+ monitoringId,
+ </if>
+ <if test="flowmeterid != null">
+ flowmeterId,
+ </if>
+ <if test="operatetype != null">
+ operateType,
+ </if>
+ <if test="remarks != null">
+ remarks,
+ </if>
+ <if test="operator != null">
+ `operator`,
+ </if>
+ <if test="operatedt != null">
+ operateDt,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=BIGINT},
+ </if>
+ <if test="monitoringid != null">
+ #{monitoringid,jdbcType=BIGINT},
+ </if>
+ <if test="flowmeterid != null">
+ #{flowmeterid,jdbcType=BIGINT},
+ </if>
+ <if test="operatetype != null">
+ #{operatetype,jdbcType=TINYINT},
+ </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>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter">
+ <!--@mbg.generated-->
+ update pr_monitoring_flowmeter
+ <set>
+ <if test="monitoringid != null">
+ monitoringId = #{monitoringid,jdbcType=BIGINT},
+ </if>
+ <if test="flowmeterid != null">
+ flowmeterId = #{flowmeterid,jdbcType=BIGINT},
+ </if>
+ <if test="operatetype != null">
+ operateType = #{operatetype,jdbcType=TINYINT},
+ </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>
+ </set>
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+ <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter">
+ <!--@mbg.generated-->
+ update pr_monitoring_flowmeter
+ set monitoringId = #{monitoringid,jdbcType=BIGINT},
+ flowmeterId = #{flowmeterid,jdbcType=BIGINT},
+ operateType = #{operatetype,jdbcType=TINYINT},
+ remarks = #{remarks,jdbcType=VARCHAR},
+ `operator` = #{operator,jdbcType=BIGINT},
+ operateDt = #{operatedt,jdbcType=TIMESTAMP}
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+
+ <!--鏍规嵁娴侀噺鐩戞祴绔欍�佹祦閲忚銆佹搷浣滅被鍨嬭幏鍙栬褰曟暟閲�-->
+ <select id="getBindRecordCount" resultType="java.lang.Integer">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM pr_monitoring_flowmeter
+ <where>
+ <if test = "monitoringId != null and monitoringId > 0">
+ AND monitoringId = ${monitoringId}
+ </if>
+
+ <if test = "flowmeterId != null and flowmeterId > 0">
+ AND flowmeterId = ${flowmeterId}
+ </if>
+
+ <if test = "operateType != null and operateType > 0">
+ AND operateType = ${operateType}
+ </if>
+ </where>
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
index dbec7d5..8a41586 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
@@ -1,5 +1,8 @@
package com.dy.pipIrrBase.district;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
import com.dy.common.aop.SsoAop;
import com.dy.common.mybatis.envm.Deleted;
import com.dy.common.webUtil.BaseResponse;
@@ -263,4 +266,52 @@
}
return BaseResponseUtils.buildSuccess(map_Districts);
}
+
+ /**
+ * 鑾峰彇涓夌骇琛屾斂鍖哄垝
+ * @return 鍘块晣鏉戜笁绾ц鏀垮尯鍒�
+ */
+ @GetMapping(path = "/three")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getThreeDistrict() {
+ JSONArray array_counties = new JSONArray();
+ JSONArray array_towns = new JSONArray();
+ JSONArray array_villages = new JSONArray();
+
+ List<Map<String, Object>> list_counties = Optional.ofNullable(sv.getDistrictgsByLevel(2)).orElse(new ArrayList<>());
+ if(list_counties.size() > 0) {
+ array_counties = JSONArray.parseArray(JSON.toJSONString(list_counties));
+ // 閬嶅巻姣忎竴涓幙锛屽皢鍘夸笅鐨勯晣鏉戝姞鍒板幙鐨勫瓙闆�
+ for(int i = 0; i < array_counties.size(); i++) {
+ JSONObject job_county = array_counties.getJSONObject(i);
+ Long countyId = job_county.getLong("id");
+ List<Map<String, Object>> list_towns = Optional.ofNullable(sv.getDistrictsBySupperId(countyId)).orElse(new ArrayList<>());
+ if(list_towns.size() > 0) {
+ array_towns = JSONArray.parseArray(JSON.toJSONString(list_towns));
+ // 閬嶅巻姣忎竴涓晣锛屽皢闀囦笅鏉戝垪琛ㄥ姞鍒伴晣鐨勫瓙闆�
+ for(int j = 0; j < array_towns.size(); j++) {
+ JSONObject job_town = array_towns.getJSONObject(j);
+ Long townId = job_town.getLong("id");
+ List<Map<String, Object>> list_villages = Optional.ofNullable(sv.getDistrictsBySupperId(townId)).orElse(new ArrayList<>());
+ if(list_villages.size() > 0) {
+ array_villages = JSONArray.parseArray(JSON.toJSONString(list_villages));
+ job_town.put("children", array_villages);
+ }
+ }
+ //System.out.println("----" + array_towns);
+ }
+ // 闀囨潙缁勮瀹屾瘯锛屽皢闀囨潙鍔犲埌鍘夸笅
+ job_county.put("children", array_towns);
+ }
+ // 鍘跨粍瑁呭畬姣�
+ //String a = array_counties.toJSONString();
+ //System.out.println(a);
+ return BaseResponseUtils.buildSuccess(array_counties);
+ }else {
+ return BaseResponseUtils.buildFail("鍘跨骇琛屾斂鍖哄垝涓嶅瓨鍦�");
+ }
+
+
+ //return BaseResponseUtils.buildSuccess();
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java
index d395513..bd9311f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java
@@ -1,10 +1,13 @@
package com.dy.pipIrrProject.controller;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.voPr.VoController;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
@@ -15,18 +18,20 @@
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.*;
/**
* @author ZhuBaoMin
@@ -43,6 +48,11 @@
public class ControllerCtrl {
private final ControllerSv controllerSv;
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎺у埗鍣ㄥ垪琛�
+ * @param vo 鏌ヨ鏉′欢
+ * @return 绗﹀悎鏉′欢鐨勬帶鍒跺櫒鍒楄〃
+ */
@Operation(summary = "鑾峰緱涓�椤垫帶鍒跺櫒璁板綍", description = "杩斿洖涓�椤垫帶鍒跺櫒鏁版嵁")
@ApiResponses(value = {
@ApiResponse(
@@ -65,6 +75,35 @@
//return BaseResponseUtils.buildSuccess(res);
} catch (Exception e) {
log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨帶鍒跺櫒鍒楄〃
+ * @param controllerCode 鎺у埗鍣ㄧ紪鍙�
+ * @return 绗﹀悎鏉′欢鐨勬帶鍒跺櫒鍒楄〃
+ */
+ @Operation(summary = "鑾峰緱鎺у埗鍣ㄨ褰�", description = "杩斿洖鍙栨帶鍒跺櫒鏁版嵁")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "杩斿洖鎺у埗鍣ㄦ暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = BaClient.class))}
+ )
+ })
+ @GetMapping(path = "controller_list")
+ @SsoAop()
+ public BaseResponse<List<Map<String, Object>>> getControllersByCode(String controllerCode){
+ try {
+ List<Map<String, Object>> list = Optional.ofNullable(controllerSv.getControllersByCode(controllerCode)).orElse(new ArrayList<>());
+ if(list.size() <= 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.NO_RECORDS.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(list);
+ } catch (Exception e) {
+ log.error("鏌ヨ鎺у埗鍣ㄥ紓甯�", e);
return BaseResponseUtils.buildException(e.getMessage()) ;
}
}
@@ -96,7 +135,6 @@
Date operateTime = new Date();
prController.setOperatedt(operateTime);
prController.setDeleted((byte)0);
- prController.setOnlinestate((byte)2);
prController.setReporttime(operateTime);
Integer rec = Optional.ofNullable(controllerSv.addController(prController)).orElse(0);
if(rec == 0) {
@@ -104,4 +142,62 @@
}
return BaseResponseUtils.buildSuccess(true) ;
}
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙峰垹闄ゆ帶鍒跺櫒
+ * @param map
+ * @return
+ */
+ @Operation(summary = "鍒犻櫎鎺у埗鍣ㄨ褰�", description = "鍒犻櫎鎺у埗鍣ㄨ褰�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "delete")
+ @SsoAop()
+ public BaseResponse<Boolean> delete(@RequestBody Map map){
+ if(map == null || map.size() <=0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.PLEASE_INPUT_CONTROLLER_ID.getMessage());
+ }
+
+ Long controllerId = Long.parseLong(map.get("controllerId").toString());
+ Integer recordCount = Optional.ofNullable(controllerSv.deleteControllerById(controllerId)).orElse(0);
+ if(recordCount == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_CONTROLLER_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+
+ /**
+ * 瀵煎嚭鎺у埗鍣ㄥ垪琛�
+ * @param response
+ * @param vo
+ */
+ @SneakyThrows(IOException.class)
+ @RequestMapping(value = "/export", method = RequestMethod.GET)
+ public void export(HttpServletResponse response, QueryVo vo) {
+ setExcelRespProp(response, "鎺у埗鍣ㄥ垪琛�");
+ //List<VoDivide> memberList = LocalJsonUtil.getListFromJson("json/members.json", VoDivide.class);
+ List<VoController> memberList = controllerSv.export(vo);
+
+ EasyExcel.write(response.getOutputStream())
+ .head(VoController.class)
+ .excelType(ExcelTypeEnum.XLSX)
+ .sheet("鎺у埗鍣ㄥ垪琛�")
+ .doWrite(memberList);
+ }
+
+ /**
+ * 璁剧疆excel涓嬭浇鍝嶅簲澶村睘鎬�
+ */
+ private void setExcelRespProp(HttpServletResponse response, String rawFileName) throws UnsupportedEncodingException {
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setCharacterEncoding("utf-8");
+ String fileName = URLEncoder.encode(rawFileName, "UTF-8").replaceAll("\\+", "%20");
+ response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java
index 83c0f26..9a98da4 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java
@@ -9,6 +9,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -62,4 +63,38 @@
public Integer addController(PrController po) {
return prControllerMapper.insert(po);
}
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨帶鍒跺櫒鍒楄〃
+ * @param controllerCode
+ * @return
+ */
+ public List<Map<String, Object>> getControllersByCode(String controllerCode) {
+ return prControllerMapper.getControllersByCode(controllerCode);
+ }
+
+ /**
+ * 鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗
+ * @param controllerId
+ * @return
+ */
+ public Integer deleteControllerById(Long controllerId) {
+ return prControllerMapper.deleteControllerById(controllerId);
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢瀵煎嚭鎺у埗鍣ㄥ垪琛�
+ * @param queryVo
+ * @return
+ */
+ public List<VoController> export(QueryVo queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+ List<VoController> rsVo = new ArrayList<>();
+ rsVo = prControllerMapper.getControllers(params);
+ return rsVo ;
+ }
+
+ public Integer getRecordCountOfController(Long controllerId) {
+ return prControllerMapper.getRecordCountOfController(controllerId);
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java
index 3ba0686..5735c8f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java
@@ -34,6 +34,12 @@
private String protocol;
/**
+ * 鍦ㄧ嚎鐘舵��
+ */
+ @Schema(description = "鍦ㄧ嚎鐘舵��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte onlineState;
+
+ /**
* 娣诲姞鏂瑰紡;1-绯荤粺鑷姩锛�2-鎵嬪姩
*/
@Schema(description = "娣诲姞鏂瑰紡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java
index 0f2c3f9..bf8a034 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java
@@ -17,6 +17,7 @@
DtoToPojo INSTANCT = Mappers.getMapper(DtoToPojo.class);
@Mapping(target = "code", source = "code")
@Mapping(target = "protocol", source = "protocol")
+ @Mapping(target = "onlinestate", source = "onlineState")
@Mapping(target = "addways", source = "addWays")
@Mapping(target = "operator", source = "operator")
PrController po2vo(DtoController po);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java
index 23b3f73..da037f3 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java
@@ -20,6 +20,9 @@
@Schema(name = "鎺у埗鍣ㄦ煡璇㈡潯浠�")
public class QueryVo extends QueryConditionVo {
+ @Schema(description = "鎺у埗鍣↖D")
+ private Long id;
+
@Schema(description = "鎺у埗鍣ㄧ紪鍙�")
private String controllerCode;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
index 9f07908..5483b23 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
@@ -119,12 +119,12 @@
@PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
@Transactional(rollbackFor = Exception.class)
@SsoAop()
- public BaseResponse<Boolean> add(@RequestBody @Valid PrDivide po, BindingResult bindingResult){
+ public BaseResponse<Boolean> add(@RequestBody @Valid DtoDivide po, BindingResult bindingResult){
if(bindingResult != null && bindingResult.hasErrors()){
return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
// 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛�
- Long villageId = po.getVillageid();
+ Long villageId = po.getVillageId();
/**
* 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭�
@@ -134,15 +134,17 @@
return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎");
}
+ PrDivide prDivide = DtoToDividePojo.INSTANCT.po2vo(po);
+
Long countryId = Long.parseLong(map_districts.get("countryId").toString());
Long townId = Long.parseLong(map_districts.get("townId").toString());
- po.setCountyid(countryId);
- po.setTownid(townId);
+ prDivide.setCountyid(countryId);
+ prDivide.setTownid(townId);
Date operateTime = new Date();
- po.setOperatedt(operateTime);
- po.setDeleted((byte)0);
- Integer rec = Optional.ofNullable(divideSv.addDivide(po)).orElse(0);
+ prDivide.setOperatedt(operateTime);
+ prDivide.setDeleted((byte)0);
+ Integer rec = Optional.ofNullable(divideSv.addDivide(prDivide)).orElse(0);
if(rec == 0) {
return BaseResponseUtils.buildFail(ProjectResultCode.DIVIDE_FAIL.getMessage());
}
@@ -235,8 +237,8 @@
* @param vo
*/
@SneakyThrows(IOException.class)
- @RequestMapping(value = "/exportDivides", method = RequestMethod.GET)
- public void exportDivides(HttpServletResponse response, QueryVo vo) {
+ @RequestMapping(value = "/export", method = RequestMethod.GET)
+ public void export(HttpServletResponse response, QueryVo vo) {
setExcelRespProp(response, "鍒嗘按鎴垮垪琛�");
//List<VoDivide> memberList = LocalJsonUtil.getListFromJson("json/members.json", VoDivide.class);
List<VoDivide> memberList = divideSv.exportDivides(vo);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoDivide.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoDivide.java
new file mode 100644
index 0000000..ee84f0c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoDivide.java
@@ -0,0 +1,96 @@
+package com.dy.pipIrrProject.divide;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 17:00
+ * @LastEditTime 2024-01-05 17:00
+ * @Description
+ */
+
+@Data
+@Schema(name = "鍒嗘按鎴夸紶鍏ュ璞�")
+public class DtoDivide {
+ public static final long serialVersionUID = 1L;
+
+ /**
+ * 鎵�鍦ㄦ潙
+ */
+ @Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖")
+ private Long villageId;
+
+ /**
+ * 鎵�鍦ㄧ墖鍖�
+ */
+ @Schema(description = "鎵�鍦ㄧ墖鍖篒D", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鎵�鍦ㄧ墖鍖轰笉鑳戒负绌�")
+ private Long blockId;
+
+ /**
+ * 鍒嗘按鍙e悕绉版垨缂栧彿
+ */
+ @Schema(description = "鍒嗘按鍙e悕绉�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "鍒嗘按鎴垮悕绉颁笉鑳戒负绌�")
+ @Length(max = 25, message = "鍒嗘按鍙e悕绉版渶澶�25瀛�")
+ private String name;
+
+ /**
+ * 瑕嗙洊鏉�
+ */
+ @Schema(description = "瑕嗙洊鏉�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @Length(max = 100, message = "瑕嗙洊鏉戞渶澶�100瀛�")
+ private String villages;
+
+ /**
+ * 瑕嗙洊闈㈢Н锛堝钩鏂瑰叕閲岋級
+ */
+ @Schema(description = "瑕嗙洊闈㈢Н", requiredMode = Schema.RequiredMode.REQUIRED)
+ private Double area;
+
+ /**
+ * 璐熻矗浜�
+ */
+ @Schema(description = "璐熻矗浜�", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String header;
+
+ /**
+ * 鑱旂郴鐢佃瘽
+ */
+ @Schema(description = "鑱旂郴鐢佃瘽", requiredMode = Schema.RequiredMode.REQUIRED)
+ @Length(max = 11, message = "鑱旂郴鐢佃瘽鏈�澶�11浣�")
+ private String phone;
+
+ /**
+ * 缁忓害
+ */
+ @Schema(description = "缁忓害", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "缁忓害涓嶈兘涓虹┖")
+ private Double lng;
+
+ /**
+ * 绾害
+ */
+ @Schema(description = "缁忓害", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "缁忓害涓嶈兘涓虹┖")
+ private Double lat;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Length(max = 200, message = "澶囨敞鏈�澶�200瀛�")
+ private String remarks;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @NotNull(message = "鎿嶄綔浜虹紪鍙蜂笉鑳戒负绌�")
+ private Long operator;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoToDividePojo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoToDividePojo.java
new file mode 100644
index 0000000..9fbdc5e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoToDividePojo.java
@@ -0,0 +1,32 @@
+package com.dy.pipIrrProject.divide;
+
+import com.dy.pipIrrGlobal.pojoPr.PrDivide;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 17:10
+ * @LastEditTime 2024-01-05 17:10
+ * @Description
+ */
+
+@Mapper
+public interface DtoToDividePojo {
+ DtoToDividePojo INSTANCT = Mappers.getMapper(DtoToDividePojo.class);
+
+ @Mapping(target = "villageid", source = "villageId")
+ @Mapping(target = "blockid", source = "blockId")
+ @Mapping(target = "name", source = "name")
+ @Mapping(target = "villages", source = "villages")
+ @Mapping(target = "area", source = "area")
+ @Mapping(target = "header", source = "header")
+ @Mapping(target = "phone", source = "phone")
+ @Mapping(target = "lng", source = "lng")
+ @Mapping(target = "lat", source = "lat")
+ @Mapping(target = "remarks", source = "remarks")
+ @Mapping(target = "operator", source = "operator")
+
+ PrDivide po2vo(DtoDivide po);
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoFlowmeter.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoFlowmeter.java
new file mode 100644
index 0000000..4d8c785
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoFlowmeter.java
@@ -0,0 +1,62 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 9:33
+ * @LastEditTime 2024-01-05 9:33
+ * @Description
+ */
+
+@Data
+@Schema(name = "娴侀噺璁′紶鍏ュ璞�")
+public class DtoFlowmeter {
+ public static final long serialVersionUID = 1L;
+
+ /**
+ * 缂栧彿
+ */
+ @Schema(description = "缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "鎺у埗鍣ㄧ紪鍙蜂笉鑳戒负绌�")
+ @Length(message = "鎺у埗鍣ㄧ紪鍙蜂笉澶т簬{max}瀛�",max = 25)
+ private String code;
+
+ /**
+ * 閫氳鍗忚
+ */
+ @Schema(description = "閫氳鍗忚", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotBlank(message = "閫氳鍗忚涓嶈兘涓虹┖")
+ @Length(message = "閫氳鍗忚涓嶅ぇ浜巤max}瀛�",max = 25)
+ private String protocol;
+
+ /**
+ * 鍦ㄧ嚎鐘舵��
+ */
+ @Schema(description = "鍦ㄧ嚎鐘舵��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte onlineState;
+
+ /**
+ * 娣诲姞鏂瑰紡;1-绯荤粺鑷姩锛�2-鎵嬪姩
+ */
+ @Schema(description = "娣诲姞鏂瑰紡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ private Byte addWays;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @NotNull(message = "鎿嶄綔浜虹紪鍙蜂笉鑳戒负绌�")
+ private Long operator;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Length(message = "澶囨敞涓嶅ぇ浜巤max}瀛楋紝涓嶅皬浜巤min}瀛�", min = 1, max = 200)
+ private String remarks;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoMoniFlow.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoMoniFlow.java
new file mode 100644
index 0000000..9585d14
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoMoniFlow.java
@@ -0,0 +1,52 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Positive;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 10:36
+ * @LastEditTime 2024-01-05 10:36
+ * @Description 娴侀噺鐩戞祴绔欍�佹祦閲忚缁戝畾浼犲叆瀵硅薄
+ */
+
+@Data
+@Schema(name = "娴侀噺鐩戞祴绔欍�佹祦閲忚缁戝畾浼犲叆瀵硅薄")
+public class DtoMoniFlow {
+ public static final long serialVersionUID = 1L;
+
+ /**
+ * 鐩戞祴绔欑紪鍙�
+ */
+ @Schema(description = "鐩戞祴绔欑紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "鐩戞祴绔橧D涓嶈兘涓虹┖")
+ private Long monitoringId;
+
+ /**
+ * 娴侀噺璁$紪鍙�
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ @Schema(description = "娴侀噺璁$紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotNull(message = "娴侀噺璁D涓嶈兘涓虹┖")
+ private Long flowmeterId;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Length(message = "澶囨敞闀垮害灏忎簬{max}瀛�", min = 1, max = 200)
+ private String remarks;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�")
+ @NotNull(message = "鎿嶄綔浜虹紪鍙蜂笉鑳戒负绌�")
+ private Long operator;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToFlowmeterPojo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToFlowmeterPojo.java
new file mode 100644
index 0000000..32ae88f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToFlowmeterPojo.java
@@ -0,0 +1,25 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.pipIrrGlobal.pojoPr.PrFlowmeter;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 9:38
+ * @LastEditTime 2024-01-05 9:38
+ * @Description
+ */
+
+@Mapper
+public interface DtoToFlowmeterPojo {
+ DtoToFlowmeterPojo INSTANCT = Mappers.getMapper(DtoToFlowmeterPojo.class);
+ @Mapping(target = "code", source = "code")
+ @Mapping(target = "protocol", source = "protocol")
+ @Mapping(target = "onlinestate", source = "onlineState")
+ @Mapping(target = "addways", source = "addWays")
+ @Mapping(target = "operator", source = "operator")
+ @Mapping(target = "remarks", source = "remarks")
+ PrFlowmeter po2vo(DtoFlowmeter po);
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToMoniFlowPojo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToMoniFlowPojo.java
new file mode 100644
index 0000000..6ac3da8
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/DtoToMoniFlowPojo.java
@@ -0,0 +1,23 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 10:43
+ * @LastEditTime 2024-01-05 10:43
+ * @Description 娴侀噺鐩戞祴绔欍�佹祦閲忚Dto杞琍ojo
+ */
+
+@Mapper
+public interface DtoToMoniFlowPojo {
+ DtoToMoniFlowPojo INSTANCT = Mappers.getMapper(DtoToMoniFlowPojo.class);
+ @Mapping(target = "monitoringid", source = "monitoringId")
+ @Mapping(target = "flowmeterid", source = "flowmeterId")
+ @Mapping(target = "operator", source = "operator")
+ @Mapping(target = "remarks", source = "remarks")
+ PrMonitoringFlowmeter po2vo(DtoMoniFlow po);
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringCtrl.java
new file mode 100644
index 0000000..bef9203
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringCtrl.java
@@ -0,0 +1,117 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring;
+import com.dy.pipIrrProject.result.ProjectResultCode;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-04 16:11
+ * @LastEditTime 2024-01-04 16:11
+ * @Description
+ */
+
+@Slf4j
+@Tag(name = "娴侀噺鐩戞祴绔欑鐞�", description = "娴侀噺鐩戞祴绔欐搷浣�")
+@RestController
+@RequestMapping(path="flow_monitoring")
+@RequiredArgsConstructor
+public class FlowMonitoringCtrl {
+ private final FlowMonitoringSv flowMonitoringSv;
+
+ /**
+ * 娣诲姞绠$綉娴侀噺鐩戞祴绔�
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @Operation(summary = "娣诲姞娴侀噺鐩戞祴绔欒褰�", description = "娣诲姞娴侀噺鐩戞祴绔欒褰�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Boolean> add(@RequestBody @Valid PrFlowMonitoring po, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛�
+ Long villageId = po.getVillageid();
+
+ /**
+ * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭�
+ */
+ Map map_districts = Optional.ofNullable(flowMonitoringSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
+ if(map_districts.size() <= 0) {
+ return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎");
+ }
+
+ Long countryId = Long.parseLong(map_districts.get("countryId").toString());
+ Long townId = Long.parseLong(map_districts.get("townId").toString());
+ po.setCountyid(countryId);
+ po.setTownid(townId);
+
+ Date operateTime = new Date();
+ po.setOperatedt(operateTime);
+ po.setDeleted((byte)0);
+ Integer rec = Optional.ofNullable(flowMonitoringSv.addFlowMonitoring(po)).orElse(0);
+ if(rec == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.FLOW_MONITORING_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+
+ /**
+ * 鍒犻櫎娴侀噺鐩戞祴绔�
+ * @param map
+ * @return
+ */
+ @Operation(summary = "鍒犻櫎娴侀噺鐩戞祴绔欒褰�", description = "鍒犻櫎娴侀噺鐩戞祴绔欒褰�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "delete")
+ @SsoAop()
+ public BaseResponse<Boolean> delete(@RequestBody Map map){
+ if(map == null || map.size() <=0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.PLEASE_INPUT_FLOW_MONITORING_ID.getMessage());
+ }
+
+ Long flowMonitoringId = Long.parseLong(map.get("flowMonitoringId").toString());
+ Integer recordCount = Optional.ofNullable(flowMonitoringSv.deleteFlowMonitoring(flowMonitoringId)).orElse(0);
+ if(recordCount == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_FLOW_MONITORING_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringSv.java
new file mode 100644
index 0000000..08ff400
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowMonitoringSv.java
@@ -0,0 +1,64 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
+import com.dy.pipIrrGlobal.daoPr.PrFlowMonitoringMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-04 16:11
+ * @LastEditTime 2024-01-04 16:11
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class FlowMonitoringSv {
+ @Autowired
+ private PrFlowMonitoringMapper prFlowMonitoringMapper;
+
+ @Autowired
+ private BaDistrictMapper baDistrictMapper;
+
+ /**
+ * 鏍规嵁鏉戠紪鍙疯幏鍙�5绾у尯鍒掍俊鎭�
+ * @param villageId 鏉戠紪鍙凤紙涓婚敭锛�
+ * @return 5绾ц鏀垮尯鍒掍俊鎭�
+ */
+ public Map getDistrictsByVillageId(Long villageId) {
+ return baDistrictMapper.getDistrictsByVillageId(villageId);
+ }
+
+ /**
+ * 娣诲姞绠$綉娴侀噺鐩戞祴绔�
+ * @param prFlowMonitoring 娴侀噺鐩戞祴绔欏疄浣�
+ * @return
+ */
+ public Integer addFlowMonitoring(PrFlowMonitoring prFlowMonitoring) {
+ return prFlowMonitoringMapper.insert(prFlowMonitoring);
+ }
+
+ /**
+ * 鏍规嵁鐩戞祴绔欑紪鍙峰垹闄ょ洃娴嬬珯
+ * @param flowMonitoringId
+ * @return
+ */
+ public Integer deleteFlowMonitoring(Long flowMonitoringId) {
+ return prFlowMonitoringMapper.deleteFlowMonitoringById(flowMonitoringId);
+ }
+
+ /**
+ * 鏍规嵁鐩戞祴绔欑紪鍙疯幏鍙栨湭鍒犻櫎鐨勭洃娴嬬珯鏁伴噺
+ * @param flowMonitoringId 娴侀噺鐩戞祴绔欑紪鍙�
+ * @return
+ */
+ public Integer getRecordCountOfFlowMonitoring(Long flowMonitoringId) {
+ return prFlowMonitoringMapper.getRecordCountOfFlowMonitoring(flowMonitoringId);
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterCtrl.java
new file mode 100644
index 0000000..322df4d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterCtrl.java
@@ -0,0 +1,101 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoPr.PrFlowmeter;
+import com.dy.pipIrrProject.result.ProjectResultCode;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 9:21
+ * @LastEditTime 2024-01-05 9:21
+ * @Description
+ */
+
+@Slf4j
+@Tag(name = "娴侀噺鐩戞祴绔欑鐞�", description = "娴侀噺鐩戞祴绔欐搷浣�")
+@RestController
+@RequestMapping(path="flowmeter")
+@RequiredArgsConstructor
+public class FlowmeterCtrl {
+ private final FlowmeterSv flowmeterSv;
+
+ @Operation(summary = "娣诲姞娴侀噺璁¤褰�", description = "娣诲姞娴侀噺璁¤褰�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Boolean> add(@RequestBody @Valid DtoFlowmeter po, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ PrFlowmeter prFlowmeter = DtoToFlowmeterPojo.INSTANCT.po2vo(po);
+ Date operateTime = new Date();
+ prFlowmeter.setOperatedt(operateTime);
+ prFlowmeter.setDeleted((byte)0);
+ prFlowmeter.setReporttime(operateTime);
+ Integer rec = Optional.ofNullable(flowmeterSv.addFlowmeter(prFlowmeter)).orElse(0);
+ if(rec == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.ADD_FLOWMETER_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+
+ /**
+ * 鍒犻櫎娴侀噺璁�
+ * @param map
+ * @return
+ */
+ @Operation(summary = "鍒犻櫎娴侀噺璁¤褰�", description = "鍒犻櫎娴侀噺璁¤褰�")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "delete")
+ @SsoAop()
+ public BaseResponse<Boolean> delete(@RequestBody Map map){
+ if(map == null || map.size() <=0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.PLEASE_INPUT_FLOW_MONITORING_ID.getMessage());
+ }
+
+ Long flowmeterId = Long.parseLong(map.get("flowmeterId").toString());
+ Integer recordCount = Optional.ofNullable(flowmeterSv.deleteFlowmeter(flowmeterId)).orElse(0);
+ if(recordCount == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_FLOWMETER_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterSv.java
new file mode 100644
index 0000000..84b38f9
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/FlowmeterSv.java
@@ -0,0 +1,48 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.pipIrrGlobal.daoPr.PrFlowmeterMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrFlowmeter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 9:20
+ * @LastEditTime 2024-01-05 9:20
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class FlowmeterSv {
+ @Autowired
+ private PrFlowmeterMapper prFlowmeterMapper;
+
+ /**
+ * 娣诲姞娴侀噺璁�
+ * @param prFlowmeter
+ * @return
+ */
+ public Integer addFlowmeter(PrFlowmeter prFlowmeter) {
+ return prFlowmeterMapper.insert(prFlowmeter);
+ }
+
+ /**
+ * 鍒犻櫎娴侀噺璁�
+ * @param flowmeterId
+ * @return
+ */
+ public Integer deleteFlowmeter(Long flowmeterId) {
+ return prFlowmeterMapper.deleteFlowmeterById(flowmeterId);
+ }
+
+ /**
+ * 鏍规嵁娴侀噺璁$紪鍙疯幏鍙栨湭鍒犻櫎鐨勬祦閲忚鏁伴噺
+ * @param flowmeterId
+ * @return
+ */
+ public Integer getRecordCountOfFlowmeter(Long flowmeterId) {
+ return prFlowmeterMapper.getRecordCountOfFlowmeter(flowmeterId);
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
new file mode 100644
index 0000000..1748b64
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
@@ -0,0 +1,139 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter;
+import com.dy.pipIrrProject.result.ProjectResultCode;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.MediaType;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 10:26
+ * @LastEditTime 2024-01-05 10:26
+ * @Description 绠$綉娴侀噺鐩戞祴绔欍�佹祦閲忚鍏宠仈鎺у埗绫�
+ */
+
+@Slf4j
+@Tag(name = "娴侀噺鐩戞祴绔欍�佹祦閲忚鍏宠仈绠$悊", description = "娴侀噺鐩戞祴绔欍�佹祦閲忚鍏宠仈鎿嶄綔")
+@RestController
+@RequestMapping(path="moni_flow")
+@RequiredArgsConstructor
+public class MoniFlowCtrl {
+ private final MoniFlowSv moniFlowSv;
+
+ private final FlowMonitoringSv flowMonitoringSv;
+ private final FlowmeterSv flowmeterSv;
+
+ /**
+ * 娴侀噺鐩戞祴绔欑粦瀹氭祦閲忚
+ * 鑻ユ祦閲忕洃娴嬬珯鎴栨祦閲忚涓嶅瓨鍦ㄩ渶鎻愮ず鐢ㄦ埛
+ * 鑻ユ祦閲忕洃娴嬬珯宸茬粡涓庢祦閲忚缁戝畾闇�鎻愮ず鐢ㄦ埛
+ * @param po 缁戝畾鍏崇郴瀵硅薄
+ * @param bindingResult
+ * @return
+ */
+ @Operation(summary = "娣诲姞缁戝畾璁板綍", description = "娣诲姞缁戝畾璁板綍")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "bind", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> bind(@RequestBody @Valid DtoMoniFlow po, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇娴侀噺鐩戞祴绔欍�佹祦閲忚鏈垹闄よ褰曟暟
+ Integer recFlowMonitoring = Optional.ofNullable(flowMonitoringSv.getRecordCountOfFlowMonitoring(po.getMonitoringId())).orElse(0);
+ Integer recFlowmeter = Optional.ofNullable(flowmeterSv.getRecordCountOfFlowmeter(po.getFlowmeterId())).orElse(0);
+ if(recFlowMonitoring == 0 || recFlowmeter == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.STATION_OR_FLOWMETER_NO_EXIST.getMessage());
+ }
+
+ // 鏍规嵁缂栧彿鑾峰彇宸茬粦瀹氭暟閲�
+ Integer recordCount = Optional.ofNullable(moniFlowSv.getBindRecordCount(po.getMonitoringId(), po.getFlowmeterId(), (byte)1)).orElse(0);
+ if(recordCount > 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_HAS_BINDED_FLOWMETER.getMessage());
+ }
+
+ PrMonitoringFlowmeter prMonitoringFlowmeter = DtoToMoniFlowPojo.INSTANCT.po2vo(po);
+ Date operateTime = new Date();
+ prMonitoringFlowmeter .setOperatedt(operateTime);
+ prMonitoringFlowmeter.setOperatetype((byte)1);
+
+ Integer rec = Optional.ofNullable(moniFlowSv.addRecord(prMonitoringFlowmeter)).orElse(0);
+ if(rec == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_FLOWMETER_BIND_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+
+ @Operation(summary = "娣诲姞瑙g粦璁板綍", description = "娣诲姞瑙g粦璁板綍")
+ @ApiResponses(value = {
+ @ApiResponse(
+ responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+ description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+ content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+ schema = @Schema(implementation = Boolean.class))}
+ )
+ })
+ @PostMapping(path = "unbind", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> unbind(@RequestBody @Valid DtoMoniFlow po, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇娴侀噺鐩戞祴绔欍�佹祦閲忚鏈垹闄よ褰曟暟
+ Integer recFlowMonitoring = Optional.ofNullable(flowMonitoringSv.getRecordCountOfFlowMonitoring(po.getMonitoringId())).orElse(0);
+ Integer recFlowmeter = Optional.ofNullable(flowmeterSv.getRecordCountOfFlowmeter(po.getFlowmeterId())).orElse(0);
+ if(recFlowMonitoring == 0 || recFlowmeter == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.STATION_OR_FLOWMETER_NO_EXIST.getMessage());
+ }
+
+ // 鏍规嵁缂栧彿鑾峰彇宸茬粦瀹氭暟閲�
+ Integer recordCount = Optional.ofNullable(moniFlowSv.getBindRecordCount(po.getMonitoringId(), po.getFlowmeterId(), (byte)2)).orElse(0);
+ if(recordCount > 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.STATION_FLOWMETER_HAS_UNBOUND.getMessage());
+ }
+
+ PrMonitoringFlowmeter prMonitoringFlowmeter = DtoToMoniFlowPojo.INSTANCT.po2vo(po);
+ Date operateTime = new Date();
+ prMonitoringFlowmeter .setOperatedt(operateTime);
+ prMonitoringFlowmeter.setOperatetype((byte)1);
+
+ Integer rec = Optional.ofNullable(moniFlowSv.addRecord(prMonitoringFlowmeter)).orElse(0);
+ if(rec == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_FLOWMETER_BIND_FAIL.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(true) ;
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowSv.java
new file mode 100644
index 0000000..2577ae9
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowSv.java
@@ -0,0 +1,42 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.pipIrrGlobal.daoPr.PrMonitoringFlowmeterMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-05 10:25
+ * @LastEditTime 2024-01-05 10:25
+ * @Description 绠$綉娴侀噺鐩戞祴绔欍�佹祦閲忚鍏宠仈绠$悊鏈嶅姟绫�
+ */
+
+@Slf4j
+@Service
+public class MoniFlowSv {
+ @Autowired
+ private PrMonitoringFlowmeterMapper prMonitoringFlowmeterMapper;
+
+ /**
+ * 娣诲姞娴侀噺鐩戞祴绔欍�佹祦閲忚鍏宠仈鍏崇郴
+ * @param po
+ * @return
+ */
+ public Integer addRecord(PrMonitoringFlowmeter po) {
+ return prMonitoringFlowmeterMapper.insert(po);
+ }
+
+ /**
+ * 鏍规嵁娴侀噺鐩戞祴绔欍�佹祦閲忚銆佹搷浣滅被鍨嬭幏鍙栬褰曟暟閲�
+ * @param monitoringId 鐩戞祴绔欑紪鍙�
+ * @param flowmeterId 娴侀噺璁$紪鍙�
+ * @param operateType 鎿嶄綔绫诲瀷 1-鎹嗙粦锛�2-瑙g粦
+ * @return
+ */
+ Integer getBindRecordCount(Long monitoringId, Long flowmeterId, Byte operateType) {
+ return prMonitoringFlowmeterMapper.getBindRecordCount(monitoringId, flowmeterId, operateType);
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/QueryVo.java
new file mode 100644
index 0000000..8c6e60a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/QueryVo.java
@@ -0,0 +1,30 @@
+package com.dy.pipIrrProject.flowMonitoring;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-04 17:21
+ * @LastEditTime 2024-01-04 17:21
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "绠$綉娴侀噺鐩戞祴绔欐煡璇㈡潯浠�")
+public class QueryVo extends QueryConditionVo {
+ @Schema(description = "娴侀噺鐩戞祴绔欑紪鍙�")
+ private Long id;
+
+ @Schema(description = "娴侀噺鐩戞祴绔欏悕绉�")
+ public String name;
+
+ @Schema(title = "缁戝畾鐘舵��")
+ private Integer bindState;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
index 7261b2c..e8cfeca 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
@@ -10,7 +10,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-
import java.util.List;
import java.util.Map;
@@ -131,4 +130,13 @@
public int delete(Long id){
return this.prIntakeMapper.deleteLogicById(id) ;
}
+
+ /**
+ * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栨湭鍒犻櫎鐨勫彇姘村彛鏁伴噺
+ * @param intakeId
+ * @return
+ */
+ public Integer getRecordCountOfIntake(Long intakeId) {
+ return prIntakeMapper.getRecordCountOfIntake(intakeId);
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
index c1aaa56..1384dfa 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
@@ -7,6 +7,8 @@
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.pojoPr.PrIntakeController;
+import com.dy.pipIrrProject.controller.ControllerSv;
+import com.dy.pipIrrProject.intake.IntakeSv;
import com.dy.pipIrrProject.result.ProjectResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
@@ -38,12 +40,13 @@
@RequiredArgsConstructor
public class IntakeControllerCtrl {
private final IntakeControllerSv intakeControllerSv;
+ private final IntakeSv intakeSv;
+ private final ControllerSv controllerSv;
/**
* 娣诲姞鍙栨按鍙�/鎺у埗鍣ㄦ崋缁戣褰�
- * 1. 鍒ゆ柇鍙栨按鍙f槸鍚﹀瓨鍦�
- * 2. 鍒ゆ柇鎺у埗鍣ㄦ槸鍚﹀瓨鍦�
- * 3. 鍒ゆ柇鍙栨按鍙c�佹帶鍒跺櫒缁戝畾鍏崇郴鏄惁宸插瓨鍦�
+ * 鑻ュ彇姘村彛鎴栨帶鍒跺櫒涓嶅瓨鍦ㄩ渶鎻愮ず鐢ㄦ埛
+ * 鑻ュ彇姘村彛宸茬粡涓庢帶鍒跺櫒缁戝畾闇�鎻愮ず鐢ㄦ埛
*/
@Operation(summary = "娣诲姞缁戝畾璁板綍", description = "娣诲姞缁戝畾璁板綍")
@ApiResponses(value = {
@@ -60,6 +63,12 @@
public BaseResponse<Boolean> bind(@RequestBody @Valid DtoIntakeController po, BindingResult bindingResult){
if(bindingResult != null && bindingResult.hasErrors()){
return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇鍙栨按鍙c�佹帶鍒跺櫒鏈垹闄よ褰曟暟
+ Integer recIntke = Optional.ofNullable(intakeSv.getRecordCountOfIntake(po.getIntakeId())).orElse(0);
+ Integer recController = Optional.ofNullable(controllerSv.getRecordCountOfController(po.getControllerId())).orElse(0);
+ if(recIntke == 0 || recController == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
}
Integer recordCount = Optional.ofNullable(intakeControllerSv.getBindRecordCount(po.getIntakeId(), po.getControllerId(), (byte)1)).orElse(0);
@@ -102,6 +111,13 @@
return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
+ // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇鍙栨按鍙c�佹帶鍒跺櫒鏈垹闄よ褰曟暟
+ Integer recIntke = Optional.ofNullable(intakeSv.getRecordCountOfIntake(po.getIntakeId())).orElse(0);
+ Integer recController = Optional.ofNullable(controllerSv.getRecordCountOfController(po.getControllerId())).orElse(0);
+ if(recIntke == 0 || recController == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
+ }
+
Integer recordCount = Optional.ofNullable(intakeControllerSv.getBindRecordCount(po.getIntakeId(), po.getControllerId(), (byte)2)).orElse(0);
if(recordCount > 0) {
return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_CONTROLLER_HAS_UNBOUND.getMessage());
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
index 0e05a4e..2de0a20 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
@@ -26,7 +26,9 @@
* 鎺у埗鍣�
*/
CONTROLLER_FAIL(30001, "鎺у埗鍣ㄦ坊鍔犲け璐�"),
- NO_RECORDS(30001, "娌℃湁绗﹀悎鏉′欢鐨勬帶鍒跺櫒鏁版嵁"),
+ NO_RECORDS(30002, "娌℃湁绗﹀悎鏉′欢鐨勬帶鍒跺櫒鏁版嵁"),
+ PLEASE_INPUT_CONTROLLER_ID(30003, "璇疯緭鍏ユ帶鍒跺櫒缂栧彿"),
+ DELETE_CONTROLLER_FAIL(30004, "鎺у埗鍣ㄥ垹闄ゅけ璐�"),
/**
* 鍙栨按鍙c�佹帶鍒跺櫒鍏宠仈
@@ -35,7 +37,30 @@
BIND_FAIL(40002, "鍙栨按鍙d笌鎺у埗鍣ㄧ粦瀹氬け璐�"),
INTAKE_CONTROLLER_HAS_UNBOUND(40003, "鍙栨按鍙d笌鎺у埗鍣ㄥ凡瑙g粦"),
INTAKE_NO_RECORDS(40004, "璇ュ彇姘村彛鏃犵粦瀹氳褰�"),
- CONTROLLER_NO_RECORDS(40005, "璇ユ帶鍒跺櫒鏃犵粦瀹氳褰�");
+ CONTROLLER_NO_RECORDS(40005, "璇ユ帶鍒跺櫒鏃犵粦瀹氳褰�"),
+ INTAKE_OR_CONTROLLER_NO_EXIST(40006, "鍙栨按鍙f垨鎺у埗鍣ㄤ笉瀛樺湪"),
+
+ /**
+ * 娴侀噺鐩戞祴绔�
+ */
+ FLOW_MONITORING_FAIL(50001, "娴侀噺鐩戞祴绔欐坊鍔犲け璐�"),
+ PLEASE_INPUT_FLOW_MONITORING_ID(50002, "璇疯緭鍏ユ祦閲忕洃娴嬬珯缂栧彿"),
+ DELETE_FLOW_MONITORING_FAIL(50003, "娴侀噺鐩戞祴绔欏垹闄ゅけ璐�"),
+
+ /**
+ * 娴侀噺璁�
+ */
+ ADD_FLOWMETER_FAIL(60001, "娴侀噺璁℃坊鍔犲け璐�"),
+ DELETE_FLOWMETER_FAIL(60002, "娴侀噺璁″垹闄ゅけ璐�"),
+
+ /**
+ * 娴侀噺鐩戞祴绔欍�佹祦閲忚鍏宠仈
+ */
+ MONITORING_HAS_BINDED_FLOWMETER(70001, "娴侀噺鐩戞祴绔欎笌娴侀噺璁″凡缁戝畾"),
+ MONITORING_FLOWMETER_BIND_FAIL(70002, "娴侀噺鐩戞祴绔欎笌娴侀噺璁$粦瀹氬け璐�"),
+ STATION_OR_FLOWMETER_NO_EXIST(70003, "娴侀噺鐩戞祴绔欐垨娴侀噺璁′笉瀛樺湪"),
+ STATION_FLOWMETER_HAS_UNBOUND(70004, "娴侀噺鐩戞祴绔欎笌娴侀噺璁″凡瑙g粦");
+
private final Integer code;
private final String message;
}
--
Gitblit v1.8.0