From 58481c160b0d45894d631b96e63d3f02f4243533 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 11 十月 2024 10:09:19 +0800
Subject: [PATCH] 优化代码 开关阀最新和历史记录 根据指定获取控制器记录 实现接口 最近未报数的取水口
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 4
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java | 28 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 17 +++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 37 ++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java | 30 ++++++---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java | 17 ++++-
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml | 4
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml | 35 +++++++++++
8 files changed, 154 insertions(+), 18 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java
index 582f401..bb17720 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java
@@ -3,9 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
import com.dy.pipIrrGlobal.voRm.VoOnHour;
-import com.dy.pipIrrGlobal.voSt.VoBatteryVolt;
-import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow;
-import com.dy.pipIrrGlobal.voSt.VoSignalIntensity;
+import com.dy.pipIrrGlobal.voSt.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -139,4 +137,17 @@
*/
List<VoSignalIntensity> getSpecifiedSignalIntakes(Map<?, ?> params);
+ /**
+ * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛鏁伴噺
+ * @param params
+ * @return
+ */
+ Long getUnReportedIntakesCount(Map<String, Object> params);
+
+ /**
+ * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛
+ * @param params
+ * @return
+ */
+ List<VoIntakeUnReported> getUnReportedIntakes(Map<String, Object> params);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java
new file mode 100644
index 0000000..63194d6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java
@@ -0,0 +1,28 @@
+package com.dy.pipIrrGlobal.voSt;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/10/11 9:45
+ * @LastEditTime :2024/10/11 9:45
+ * @Description
+ */
+@Data
+public class VoIntakeUnReported {
+
+ /**
+ * 鍙栨按鍙g紪鍙�
+ */
+ private String intakeNum;
+ /**
+ * 闃�鎺у櫒鍦板潃
+ */
+ private String rtuAddr;
+ /**
+ * 闃�鎺у櫒鏃堕棿
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String rtuDt;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
index a41ef3c..9c251e9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
@@ -417,5 +417,38 @@
</if>
</trim>
</select>
-
+ <!--鑾峰彇鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛鏁伴噺-->
+ <select id="getUnReportedIntakesCount" resultType="java.lang.Long">
+ SELECT
+ count(*)
+ FROM pr_intake pit
+ LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id
+ LEFT JOIN pr_controller pct ON pit.id = pct.intakeId
+ WHERE rohrl.id is NULL
+ <if test="timeStart != null and timeStart != '' ">
+ OR rohrl.rtu_dt < #{timeStart}
+ </if>
+ <if test="timeStop != null and timeStop != '' ">
+ OR rohrl.rtu_dt > #{timeStop}
+ </if>
+ ORDER BY rtu_dt ASC
+ </select>
+ <!--鑾峰彇鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛-->
+ <select id="getUnReportedIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnReported">
+ SELECT
+ pit.`name` intakeNum,
+ pct.rtuAddr,
+ rohrl.rtu_dt rtuDt
+ FROM pr_intake pit
+ LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id
+ LEFT JOIN pr_controller pct ON pit.id = pct.intakeId
+ WHERE rohrl.id is NULL
+ <if test="timeStart != null">
+ OR rohrl.rtu_dt < #{timeStart}
+ </if>
+ <if test="timeStop != null">
+ OR rohrl.rtu_dt > #{timeStop}
+ </if>
+ ORDER BY rtu_dt ASC
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
index f724ab8..453e6e3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -470,7 +470,7 @@
oh.client_name AS clientName,
oh.op_ic_card_no AS openIcNum,
oh.op_ic_card_addr AS openIcAddr,
- oh.op_dt AS openTime,
+ oh.open_dt AS openTime,
CASE
WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�'
WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�'
@@ -486,7 +486,7 @@
oh.op_ele_total_amount AS openEleTotalAmount,
oh.cl_ic_card_no AS closeIcNum,
oh.cl_ic_card_addr AS closeIcAddr,
- oh.cl_dt AS closeTime,
+ oh.close_dt AS closeTime,
CASE
WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾'
WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�'
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
index 5bdd2d1..dd62be3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
@@ -489,7 +489,7 @@
oh.client_name AS clientName,
oh.op_ic_card_no AS openIcNum,
oh.op_ic_card_addr AS openIcAddr,
- oh.op_dt AS openTime,
+ oh.open_dt AS openTime,
CASE
WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�'
WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�'
@@ -505,7 +505,7 @@
oh.op_ele_total_amount AS openEleTotalAmount,
oh.cl_ic_card_no AS closeIcNum,
oh.cl_ic_card_addr AS closeIcAddr,
- oh.cl_dt AS closeTime,
+ oh.close_dt AS closeTime,
CASE
WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾'
WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�'
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 edce345..681ea4a 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
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.QueryResultVo;
@@ -16,6 +17,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
@@ -48,8 +50,21 @@
@Autowired
private RestTemplate restTemplate;
- protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send";
+// protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send";
+ protected String comSendUrl;
+ /**
+ * pro_mw锛氬睘鎬�
+ * tag浠庢帶鍒跺櫒涓幏鍙�
+ * key_mw锛歶rl鐨刱ey
+ */
+ private Environment env = null;
+ private String pro_mw = "mw";
+ private String key_mw = "comSendUrl";
+ @Autowired
+ public ControllerSv(Environment env) {
+ this.env = env;
+ }
/**
* 鏍规嵁鎸囧畾鑾峰彇鎺у埗鍣ㄨ褰�
@@ -59,18 +74,13 @@
*/
public QueryResultVo<List<VoController>> getControllers(QueryVo queryVo) {
- Command com = new Command();
+ Command com = new Command() ;
com.id = Command.defaultId;
com.code = "LCD0001";
com.type = "innerCommand";
+ comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
- JSONObject response = null;
- try {
- response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
- }catch (Exception e) {
- QueryResultVo<List<VoController>> rsVo = new QueryResultVo<>();
- return rsVo;
- }
+ JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
if (response != null && response.getString("code").equals("0001")) {
@@ -234,7 +244,7 @@
* @return
*/
protected BaseResponse sendCom2Mw(Command com) {
- String url = UriComponentsBuilder.fromUriString(mwUrlSendCom)
+ String url = UriComponentsBuilder.fromUriString(comSendUrl)
.build()
.toUriString();
HttpHeaders headers = new HttpHeaders();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
index 77e36a9..f0d7ddf 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
@@ -771,4 +771,41 @@
rsVo.obj = rmLossDayLastMapper.getMonthLossAmount(params);
return rsVo ;
}
+
+ /**
+ * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeUnReported>> getUnReportedIntakes(CommonQO qo) {
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart == "") {
+ timeStart = null;
+ }
+ if(timeStop == "") {
+ timeStop = null;
+ }
+ if(timeStart != null && timeStart != "") {
+ timeStart = timeStart + " 00:00:00";
+ }
+ qo.setTimeStart(timeStart);
+
+ if(timeStop != null && timeStop != "") {
+ timeStop = timeStop + " 23:59:59";
+ }
+ qo.setTimeStop(timeStop);
+
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOnHourReportLastMapper.getUnReportedIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeUnReported>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportLastMapper.getUnReportedIntakes(params);
+ return rsVo ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
index 6a999b5..b87d9f7 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
@@ -419,4 +419,21 @@
return BaseResponseUtils.buildException(e.getMessage()) ;
}
}
+
+ /**
+ * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛
+ * @param
+ * @return
+ */
+ @GetMapping(path = "/getUnReportedIntakes")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoIntakeUnReported>>> getUnReportedIntakes(CommonQO qo) {
+ try {
+ QueryResultVo<List<VoIntakeUnReported>> res = intakeSv.getUnReportedIntakes(qo);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
}
--
Gitblit v1.8.0