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-model/src/main/java/com/dy/pipIrrModel/crops/CropsCtrl.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsCtrl.java
index d278197..4a7245d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsCtrl.java
@@ -128,17 +128,12 @@
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
-        int count;
+        int count = 0 ;
         try {
             po.id = null ;
             po.createDt = new Date();
             po.deleted = 0 ;
-            if(po.life4End != null && po.startDt != null && !po.startDt.trim().equals("")){
-                String nowYear = DateTime.yyyy() ;
-                String startDt = nowYear + "-" + po.startDt ;
-                String endDt = DateTime.nextXDay_yyyy_MM_dd(startDt, po.life4End) ;
-                po.endDt = endDt.substring(5, 10) ;
-            }
+            this.setLifeEnd(po);
             count = this.sv.save(po);
         } catch (Exception e) {
             log.error("淇濆瓨浣滅墿寮傚父", e);
@@ -173,10 +168,11 @@
         if(po.id == null){
             return BaseResponseUtils.buildFail("鏃犳暟鎹疄浣揑D") ;
         }
-        po.createDt = null ;
-        po.deleted = null ;
-        int count;
+        int count = 0;
         try {
+            po.createDt = null ;
+            po.deleted = null ;
+            this.setLifeEnd(po);
             count = this.sv.update(po);
         } catch (Exception e) {
             log.error("淇濆瓨浣滅墿寮傚父", e);
@@ -223,4 +219,13 @@
             return BaseResponseUtils.buildSuccess(true) ;
         }
     }
+
+    private void setLifeEnd(MdCrops po) throws Exception{
+        if(po.life4End != null && po.startDt != null && !po.startDt.trim().equals("")){
+            String nowYear = DateTime.yyyy() ;
+            String startDt = nowYear + "-" + po.startDt ;
+            String endDt = DateTime.nextXDay_yyyy_MM_dd(startDt, po.life4End) ;
+            po.endDt = endDt.substring(5, 10) ;
+        }
+    }
 }

--
Gitblit v1.8.0