From e5e09cdb5e8b9e3a3d30656a0ed05fb5349780be Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 14 十一月 2024 11:04:53 +0800
Subject: [PATCH] 优化未关阀记录接口,解决记录数量少的问题
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 7 +-
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 72 -----------------------
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java | 31 +++++++--
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml | 6 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java | 10 ---
5 files changed, 31 insertions(+), 95 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
index e9fc537..183454d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
@@ -57,16 +57,6 @@
*/
List<VoUnclosedValve> getUnclosedValves(@Param("onLineMap") String onLineMap, @Param("comIds") String comIds);
-
-
- /**
- * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級
- * @param onLineMap
- * @param operator
- * @return
- */
- List<VoUnclosedValve> getUnclosedValves2(@Param("onLineMap") String onLineMap, @Param("operator") Long operator);
-
/**
* 鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟锛屽钩鍙伴�夋嫨鍙栨按鍙e叧闃�浣跨敤
* @param intakeId
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
index f743ff1..992a58e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -275,8 +275,7 @@
)
) rtus ON com.rtu_addr = rtus.rtuAddr
<where>
- AND com.com_id in (#{comIds})
-
+ AND com.com_id in (${comIds})
AND (
SELECT op_dt FROM rm_open_close_valve_last
WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
@@ -284,75 +283,6 @@
LIMIT 1
) IS NOT NULL
- AND (
- SELECT cl_dt FROM rm_open_close_valve_last
- WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
- ORDER BY op_dt DESC
- LIMIT 1
- ) IS NULL
- </where>
- GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code, com.send_time, dt, waterInstant
- ORDER BY com.send_time DESC
- </select>
-
-
-
- <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級-->
- <select id="getUnclosedValves2" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
- SELECT
- inta.name AS intakeNum,
- IFNULL(rtus.isOnLine, false) AS isOnLine,
- com.rtu_addr AS rtuAddr,
- com.param ->> '$.icCardNo' AS vcNum,
- (
- SELECT param ->> '$.orderNo' AS orderNo
- FROM rm_command_history
- WHERE rtu_addr = com.rtu_addr
- ORDER BY send_time desc
- LIMIT 0,1
- ) AS orderNo,
- 'toClose' AS state,
- CASE
- WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 1
- ELSE 0
- END AS planned,
- com.send_time AS sendTime,
-
- (SELECT dt FROM rm_work_report_last
- WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
- <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
- AND dt > com.send_time
- ORDER BY dt DESC
- LIMIT 1) AS dt,
-
- (SELECT water_instant FROM rm_work_report_last
- WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
- <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
- AND dt > com.send_time
- ORDER BY dt DESC
- LIMIT 1) AS waterInstant
-
- FROM rm_command_history com
- INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr
- INNER JOIN pr_intake inta ON con.intakeId = inta.id
- LEFT JOIN JSON_TABLE(
-<!-- '[{"rtuAddr":"620201000030","isOnLine":true}]',-->
- #{onLineMap},
- '$[*]' COLUMNS (
- rtuAddr VARCHAR(20) PATH '$.rtuAddr',
- isOnLine BOOLEAN PATH '$.isOnLine'
- )
- ) rtus ON com.rtu_addr = rtus.rtuAddr
- <where>
- AND com.operator = #{operator}
- AND com.result = 1
- AND ((com.protocol = 'p206V1' OR com.protocol = 'p206V2') AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2'))
- AND (
- SELECT op_dt FROM rm_open_close_valve_last
- WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
- ORDER BY op_dt DESC
- LIMIT 1
- ) IS NOT NULL
AND (
SELECT cl_dt FROM rm_open_close_valve_last
WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
index e28839b..8c7fb80 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
@@ -17,6 +17,7 @@
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voRm.VoCommand;
+import com.dy.pipIrrGlobal.voRm.VoRtuAndVc;
import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
@@ -118,7 +119,6 @@
com.code = "LCD0001";
com.type = "innerCommand";
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
-
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
JSONArray jsonArray = new JSONArray();
@@ -133,16 +133,31 @@
});
}
System.out.println(jsonArray);
- //} else {
- // return new ArrayList<>();
}
- List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves2(jsonArray.toJSONString(), operator);
- if(res != null) {
- return res;
- } else {
- return new ArrayList<>();
+ /**
+ * 鑾峰彇鏈叧闃�鐨凴TU鍦板潃鍜岃櫄鎷熷崱缂栧彿瀵规暟缁�
+ * 閬嶅巻鏁扮粍鑾峰彇鏈�鍚庡懡浠ゆ棩蹇桰D闆嗗悎
+ */
+ List<VoRtuAndVc> rtus = rmCommandHistoryMapper.getUnclosedRtus(operator);
+ String comIds = "";
+ if(rtus != null && rtus.size() > 0) {
+ for (int i = 0; i < rtus.size(); i++) {
+ Long comId = rmCommandHistoryMapper.getLastComId(rtus.get(i).getRtuAddr(), rtus.get(i).getVcNum());
+ if(comId > 0) {
+ comIds = comIds + "\"" + comId + "\",";
+ }
+ }
}
+
+ if(comIds.length() > 0) {
+ comIds = comIds.substring(0, comIds.length()-1);
+ List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), comIds);
+ if(res != null) {
+ return res;
+ }
+ }
+ return new ArrayList<>();
}
/**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
index a133fa2..2ce8770 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
@@ -100,7 +100,6 @@
com.code = "LCD0001";
com.type = "innerCommand";
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
-
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
JSONArray jsonArray = new JSONArray();
@@ -114,7 +113,7 @@
jsonArray.add(jsonObject);
});
}
- System.out.println(jsonArray.toJSONString());
+ //System.out.println(jsonArray.toJSONString());
}
/**
@@ -127,13 +126,13 @@
for (int i = 0; i < rtus.size(); i++) {
Long comId = rmCommandHistoryMapper.getLastComId(rtus.get(i).getRtuAddr(), rtus.get(i).getVcNum());
if(comId > 0) {
- comIds = comIds + comId + ",";
+ comIds = comIds + "\"" + comId + "\",";
}
}
}
if(comIds.length() > 0) {
- comIds = comIds.substring(0,comIds.length()-1);
+ comIds = comIds.substring(0, comIds.length()-1);
List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), comIds);
if(res != null) {
return res;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
index 4af6dd3..2485b03 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
@@ -2,7 +2,9 @@
profiles:
include: global, database, database-ym, database-sp, database-test
-#actutor鐨剋eb绔彛
+
+ jpa:
+ show-sql=true:#actutor鐨剋eb绔彛
management:
server:
port: ${pipIrr.wechat.actutorPort}
@@ -21,4 +23,4 @@
sms-access-key-id: LTAI5tPCmHqfyJ9YnoPorEwt
sms-access-key-secret: sU2CoLdNgcjnf5uPPU2dY7NNGNvOIX
sms-template-code: SMS_460776024
- sms-sign-name: 澶х鑺傛按
\ No newline at end of file
+ sms-sign-name: 澶х鑺傛按
--
Gitblit v1.8.0