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-global/src/main/resources/mapper/UgRtuControllerMapper.xml |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
index 8b782c1..37c93e5 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
@@ -126,22 +126,24 @@
     select
     count(*)
     from ug_rtu_controller ugCon
-    inner join pr_intake inta ON inta.id = ugCon.task_id
+    inner join ug_rtu_task ugTask on ugCon.task_id = ugTask.id
+    inner join pr_controller con on ugCon.controller_id = con.id
+    inner join pr_intake inta on con.intakeId = inta.id
     <where>
       <if test="taskId != null">
         AND ugCon.task_id = #{taskId,jdbcType=BIGINT}
       </if>
-      <if test="intakeNum != null">
+      <if test="intakeNum != null and intakeNum != ''">
         AND inta.name = #{intakeNum,jdbcType=VARCHAR}
       </if>
-      <if test="rtuAddr != null">
+      <if test="rtuAddr != null and rtuAddr != ''">
         AND ugCon.rtu_addr = #{rtuAddr,jdbcType=VARCHAR}
       </if>
       <if test="state != null and state == 1">
-        AND ugCon.ug_state = 1
+        AND ugCon.ug_state = 2
       </if>
       <if test="state != null and state == 0">
-        AND ugCon.ug_state != 1
+        AND ugCon.ug_state != 2
       </if>
       <if test="fail != null">
         AND ugCon.ug_state = #{fail,jdbcType=INTEGER}
@@ -159,22 +161,24 @@
     ugCon.ug_state as ugState,
     ugCon.over_dt as overDt
     from ug_rtu_controller ugCon
-    inner join pr_intake inta on ugCon.task_id = inta.id
+    inner join ug_rtu_task ugTask on ugCon.task_id = ugTask.id
+    inner join pr_controller con on ugCon.controller_id = con.id
+    inner join pr_intake inta on con.intakeId = inta.id
     <where>
       <if test="taskId != null">
         AND ugCon.task_id = #{taskId,jdbcType=BIGINT}
       </if>
-      <if test="intakeNum != null">
+      <if test="intakeNum != null and intakeNum != ''">
         AND inta.name = #{intakeNum,jdbcType=VARCHAR}
       </if>
-      <if test="rtuAddr != null">
+      <if test="rtuAddr != null and rtuAddr != ''">
         AND ugCon.rtu_addr = #{rtuAddr,jdbcType=VARCHAR}
       </if>
       <if test="state != null and state == 1">
-        AND ugCon.ug_state = 1
+        AND ugCon.ug_state = 2
       </if>
       <if test="state != null and state == 0">
-        AND ugCon.ug_state != 1
+        AND ugCon.ug_state != 2
       </if>
       <if test="fail != null">
         AND ugCon.ug_state = #{fail,jdbcType=INTEGER}

--
Gitblit v1.8.0