From c19de84fa332a00c651f28e3a52292fd14f143a1 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 23 九月 2025 17:30:07 +0800
Subject: [PATCH] 陆常丽反应软件系统财务对账时而数据不准确,分析源码,找到bug原因是,财务对账统计只有用户点击后才会触发统计功能,把历史上及当天进行了统计,如果当天统计时未下班,例如是中午触发统计了,而下午又进行了充值售水,但下班后未再点击触发对账统计,那么今天的对账统计完成了但数据不对。编写自动任务,在下半夜进行对账统计。
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java | 92 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 91 insertions(+), 1 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
index ae9cb03..8d2d2c5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
@@ -46,6 +46,23 @@
private RestTemplate restTemplate;
/**
+ * 鏌ヨ璁惧鏄惁鍦ㄧ嚎
+ *
+ * @return
+ */
+ public Boolean isOnLine4Rtu(String devId) {
+ return selectOnOrOffLine4Rtu(devId) ;
+ }
+
+ /**
+ * 鏌ヨ璁惧鏄惁鍦ㄧ嚎
+ *
+ * @return
+ */
+ public Boolean isOnLine4Mqtt(String devId) {
+ return selectOnOrOffLine4Mqtt(devId) ;
+ }
+ /**
* 鑾峰彇宸茬粡缁戝畾鎺у埗鍣ㄧ殑鍙栨按鍙e垪琛紙骞舵爣璁板湪绾夸笌涓嶅湪绾匡級
*
* @return
@@ -61,7 +78,7 @@
}
/**
- * 鏌ヨRTU鍦ㄩ�氫俊涓棿浠朵腑鐨勫湪绾跨姸鎬�
+ * 鏌ヨRTU鍦ㄩ�氫俊涓棿浠朵腑鐨勭姸鎬�
* @param rtuAddr
* @return
*/
@@ -152,6 +169,79 @@
/**
+ * 鏌ヨRTU鍦ㄧ嚎鎴栫绾跨姸鎬�
+ * @param rtuAddr
+ * @return
+ */
+ private Boolean selectOnOrOffLine4Rtu(String rtuAddr) {
+ //鍚戦�氫俊涓棿浠跺彂鍏冲懡浠わ紝鏌ヨ閮ㄥ垎RTU鍦ㄧ嚎鎯呭喌
+ Command com = this.createInnerCommand(CodeLocal.onPartLineMqtt);
+ com.setParam(rtuAddr) ;
+ String rqUrl = this.get2MwRequestUrl(this.env, ContextComSend) ;
+ BaseResponse res = sendPostRequest2Mw(restTemplate, rqUrl, com) ;
+ if(res != null){
+ if(res.isSuccess()){
+ Command reCom = JSON.parseObject(res.getContent() == null ? null : JSON.toJSONString(res.getContent()), Command.class) ;
+ CommandBackParam bakParam = JSON.parseObject((reCom== null || reCom.param == null) ? null : JSON.toJSONString(reCom.param), CommandBackParam.class) ;
+ if(bakParam != null){
+ if(bakParam.getSuccess().booleanValue()){
+ //閫氫俊涓棿浠舵垚鍔熻繑鍥炲懡浠ょ粨鏋�
+ HashMap<String, Boolean> onLineMap = JSON.parseObject(JSON.toJSONString(reCom.getAttachment()), HashMap.class);
+ Boolean flag = onLineMap.get(rtuAddr);
+ if(flag != null){
+ return flag ;
+ }
+ }
+ }else{
+ log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ょ粨鏋滀腑涓嶅寘鍚獵ommandBackParam绫诲瀷鍙傛暟");
+ }
+ }else{
+ log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ゆ墽琛屽け璐�" + (res.getMsg() == null? "" : ("锛�" + res.getMsg()))) ;
+ }
+ }else{
+ log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ょ粨鏋滀负null");
+ }
+ return null ;
+ }
+
+
+ /**
+ * 鏌ヨMQTT鍦ㄧ嚎鎴栫绾跨姸鎬�
+ * @param devId
+ * @return
+ */
+ private Boolean selectOnOrOffLine4Mqtt(String devId) {
+ //鍚戦�氫俊涓棿浠跺彂鍏冲懡浠わ紝鏌ヨ閮ㄥ垎RTU鍦ㄧ嚎鎯呭喌
+ Command com = this.createInnerCommand(CodeLocal.onPartLineMqtt);
+ com.setParam(devId) ;
+ String rqUrl = this.get2MwRequestUrl(this.env, ContextComSend) ;
+ BaseResponse res = sendPostRequest2Mw(restTemplate, rqUrl, com) ;
+ if(res != null){
+ if(res.isSuccess()){
+ Command reCom = JSON.parseObject(res.getContent() == null ? null : JSON.toJSONString(res.getContent()), Command.class) ;
+ CommandBackParam bakParam = JSON.parseObject((reCom== null || reCom.param == null) ? null : JSON.toJSONString(reCom.param), CommandBackParam.class) ;
+ if(bakParam != null){
+ if(bakParam.getSuccess().booleanValue()){
+ //閫氫俊涓棿浠舵垚鍔熻繑鍥炲懡浠ょ粨鏋�
+ HashMap<String, Boolean> onLineMap = JSON.parseObject(JSON.toJSONString(reCom.getAttachment()), HashMap.class);
+ Boolean flag = onLineMap.get(devId);
+ if(flag != null){
+ return flag ;
+ }
+ }
+ }else{
+ log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ょ粨鏋滀腑涓嶅寘鍚獵ommandBackParam绫诲瀷鍙傛暟");
+ }
+ }else{
+ log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ゆ墽琛屽け璐�" + (res.getMsg() == null? "" : ("锛�" + res.getMsg()))) ;
+ }
+ }else{
+ log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ょ粨鏋滀负null");
+ }
+ return null ;
+ }
+
+ /**
* 鏌ヨ鍙栨按鍙o紝鍦ㄧ嚎鎴栫绾跨姸鎬�
* @param vo
* @return
--
Gitblit v1.8.0