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-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
index a2c12df..79b50a8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/flowMonitoring/MoniFlowCtrl.java
@@ -5,6 +5,7 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring;
+import com.dy.pipIrrGlobal.pojoPr.PrFlowmeter;
 import com.dy.pipIrrGlobal.pojoPr.PrMonitoringFlowmeter;
 import com.dy.pipIrrProject.result.ProjectResultCode;
 import io.swagger.v3.oas.annotations.Operation;
@@ -85,8 +86,15 @@
         prMonitoringFlowmeter.setOperatedt(operateTime);
         prMonitoringFlowmeter.setOperatetype((byte) 1);
 
+        PrFlowmeter flowmeter = new PrFlowmeter();
+        flowmeter.setMonitoringId(po.getMonitoringId().toString());
+        flowmeter.setId(po.getFlowmeterId());
+        flowmeter.setOperator(po.getOperator());
+        flowmeter.setOperateDt(operateTime);
+        Integer shu = flowmeterSv.flowmeterAddMonId(flowmeter);
+
         Integer rec = Optional.ofNullable(moniFlowSv.addRecord(prMonitoringFlowmeter)).orElse(0);
-        if (rec == 0) {
+        if (rec == 0 || shu == 0) {
             return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_FLOWMETER_BIND_FAIL.getMessage());
         }
         return BaseResponseUtils.buildSuccess(true);
@@ -125,10 +133,17 @@
         PrMonitoringFlowmeter prMonitoringFlowmeter = DtoToMoniFlowPojo.INSTANCT.po2vo(po);
         Date operateTime = new Date();
         prMonitoringFlowmeter.setOperatedt(operateTime);
-        prMonitoringFlowmeter.setOperatetype((byte) 1);
+        prMonitoringFlowmeter.setOperatetype((byte) 2);
+
+        PrFlowmeter flowmeter = new PrFlowmeter();
+        flowmeter.setMonitoringId(null);
+        flowmeter.setId(po.getFlowmeterId());
+        flowmeter.setOperator(po.getOperator());
+        flowmeter.setOperateDt(operateTime);
+        Integer shu = flowmeterSv.flowmeterAddMonId(flowmeter);
 
         Integer rec = Optional.ofNullable(moniFlowSv.addRecord(prMonitoringFlowmeter)).orElse(0);
-        if (rec == 0) {
+        if (rec == 0 || shu == 0) {
             return BaseResponseUtils.buildFail(ProjectResultCode.MONITORING_FLOWMETER_BIND_FAIL.getMessage());
         }
         return BaseResponseUtils.buildSuccess(true);
@@ -151,7 +166,7 @@
     })
     @GetMapping(path = "bingRecords/{monitoringId}")
     @SsoAop()
-    public BaseResponse<List<Map<String, Object>>> getBingRecordsByMonitoringId(@PathVariable("monitoringId") Long monitoringId) {
+    public BaseResponse<List<Map<String, Object>>> getBingRecordsByMonitoringId(@PathVariable("monitoringId") String monitoringId) {
         try {
             List<Map<String, Object>> list = Optional.ofNullable(moniFlowSv.getBingRecordsByMonitoringId(monitoringId)).orElse(new ArrayList<>());
             if (list.size() <= 0) {

--
Gitblit v1.8.0