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-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
index a53defb..50d4c55 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
@@ -7,6 +7,7 @@
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
import com.dy.rtuMw.server.local.CommandInnerDeaLer;
import com.dy.rtuMw.server.local.ReturnCommand;
+import com.dy.rtuMw.server.mqtt.DevStatusDealer;
import com.dy.rtuMw.server.mqtt.MqttManager;
import com.dy.rtuMw.server.msCenter.MsCenterUnit;
import com.dy.rtuMw.server.tasks.WebDownCom4MqttTask;
@@ -371,19 +372,22 @@
}
/**
- * 澶勭悊鍙戝悜RTU鐨勫閮ㄥ懡浠�
+ * 澶勭悊鍙戝悜MQTT鐨勫閮ㄥ懡浠�
* @return 缁撴灉
*/
private BaseResponse<Command> dealMqttCommand(Command command){
- String rtuAddr = command.getRtuAddr() ;
- if(rtuAddr == null || rtuAddr.trim().equals("")){
- return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛岃澶嘔D涓虹┖锛�", command.getId(), command.getCode())) ;
+ String mqttDevId = command.getRtuAddr() ;//FBox璁惧鍙�
+ if(mqttDevId == null || mqttDevId.trim().equals("")){
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧ID涓虹┖锛�", command.getId(), command.getCode())) ;
}
if(!ServerProperties.mqttUnitEnable.booleanValue()){
return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴妯″潡閰嶇疆鏈惎鍔紒", command.getId(), command.getCode())) ;
}
if(MqttManager.getInstance().poolIsClose()){
- return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴姹犳按鍒涘缓鎴愬姛锛�", command.getId(), command.getCode())) ;
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴姹犳湭鍒涘缓鎴愬姛锛�", command.getId(), command.getCode())) ;
+ }
+ if(!DevStatusDealer.oneOnLine(mqttDevId)){
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧鏈湪绾匡紒", command.getId(), command.getCode())) ;
}
//鐢熸垚寮傛浠诲姟
@@ -400,5 +404,36 @@
}
+ /**
+ * 澶勭悊鍙戝悜MQTT鐨勫唴閮ㄩ儴鍛戒护
+ * @return 缁撴灉
+ */
+ private BaseResponse<Command> dealMqttInnerCommand(Command command){
+ String mqttDevId = command.getRtuAddr() ;//FBox璁惧鍙�
+ if(mqttDevId == null || mqttDevId.trim().equals("")){
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧ID涓虹┖锛�", command.getId(), command.getCode())) ;
+ }
+ if(!ServerProperties.mqttUnitEnable.booleanValue()){
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴妯″潡閰嶇疆鏈惎鍔紒", command.getId(), command.getCode())) ;
+ }
+ if(MqttManager.getInstance().poolIsClose()){
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴姹犳湭鍒涘缓鎴愬姛锛�", command.getId(), command.getCode())) ;
+ }
+ if(!DevStatusDealer.oneOnLine(mqttDevId)){
+ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧鏈湪绾匡紒", command.getId(), command.getCode())) ;
+ }
+
+ //鐢熸垚寮傛浠诲姟
+ WebDownCom4MqttTask task = new WebDownCom4MqttTask() ;
+ task.data = command ;
+ try{
+ log.info("鏋勯�犱笅鍙慚QTT鍛戒护" + command.getCode() + "鐨勬牳蹇冧换鍔★紝骞舵斁鍏ヤ换鍔¢槦鍒椾腑");
+ CoreUnit.getInstance().pushCoreTask(task);
+ }catch(Exception e){
+ log.error(e.getMessage(), e);
+ return BaseResponseUtils.buildError(ReturnCommand.successed("MQTT鍛戒护澶勭悊澶辫触" + e.getMessage(), command.getId(), command.getCode())) ;
+ }
+ return BaseResponseUtils.buildSuccess(ReturnCommand.successed("MQTT鍛戒护宸叉帴鍙楋紝鍗冲皢鏋勯�犲苟涓嬪彂鍛戒护銆�", command.getId(), command.getCode()));
+ }
}
--
Gitblit v1.8.0