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/common/CommandSv.java | 68 ++++++++++++++++++----------------
1 files changed, 36 insertions(+), 32 deletions(-)
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 da9d08a..513b023 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
@@ -16,8 +16,8 @@
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
-import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
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;
@@ -61,7 +61,7 @@
private String pro_mw = "mw";
private String key_mw = "comSendUrl";
@Autowired
- public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper,RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, Environment env) {
+ public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper, RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, Environment env) {
this.rmCommandHistoryMapper = rmCommandHistoryMapper;
this.rmOpenCloseValveLastMapper = rmOpenCloseValveLastMapper;
this.seVirtualCardMapper = seVirtualCardMapper;
@@ -119,33 +119,45 @@
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();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
+ //System.out.println(jsonArray);
+ }
- System.out.println(jsonArray);
- List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
+ /**
+ * 鑾峰彇鏈叧闃�鐨凴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;
- } else {
- return new ArrayList<>();
}
- } else {
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
- return new ArrayList<>();
}
+ return new ArrayList<>();
}
/**
@@ -189,27 +201,28 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
- System.out.println(jsonArray);
- return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
- } else {
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
- VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
- return voUnclosedParam;
+ // System.out.println(jsonArray);
+ //} else {
+ // VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
+ // return voUnclosedParam;
}
+ if(jsonArray.size() == 0) {
+ return null;
+ }
+ return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
}
/**
@@ -228,16 +241,7 @@
*/
public QueryResultVo<List<VoCommand>> getCommandHistories(QoCommand query) {
// 瀹屽杽鏌ヨ璧锋鏃堕棿
- String timeStart = query.getTimeStart();
- String timeStop = query.getTimeStop();
- if(timeStart != null) {
- timeStart = timeStart + " 00:00:00";
- query.setTimeStart(timeStart);
- }
- if(timeStop != null) {
- timeStop = timeStop + " 23:59:59";
- query.setTimeStop(timeStop);
- }
+ query.completionTime();
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(query);
--
Gitblit v1.8.0