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-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
index 363b901..edd4f55 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
@@ -3,12 +3,15 @@
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.util.NumUtil;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrApp.issue.dto.DtoDeleteParam;
 import com.dy.pipIrrApp.issue.qo.QoIssueReport;
 import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper;
 import com.dy.pipIrrGlobal.daoOp.OpeReportReplyMapper;
+import com.dy.pipIrrGlobal.dyFile.FileOperate;
+import com.dy.pipIrrGlobal.dyFile.FileRestVo;
 import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
 import com.dy.pipIrrGlobal.pojoOp.OpeReportReply;
 import com.dy.pipIrrGlobal.voOp.VoIssueReport;
@@ -18,6 +21,7 @@
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -38,6 +42,33 @@
     @Autowired
     private OpeReportReplyMapper opeReportReplyMapper;
 
+    @Value("${dy.webFile.fmUrl}")
+    private String fmUrl ;
+
+    @Autowired
+    private FileOperate fileOp ;
+
+    private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile, boolean isVideo){
+        for (Object obj : jsonArray){
+            if(obj instanceof JSONObject){
+                JSONObject jsonObject = (JSONObject) obj;
+                Object hashObj = jsonObject.get("hash") ;
+                if(hashObj != null && NumUtil.isIntNumber(hashObj.toString())){
+                    FileRestVo fvo = fileOp.parseHashcode(fmUrl, Integer.valueOf(hashObj.toString()));
+                    if(fvo != null && fvo.fileWebUrl != null){
+                        jsonObject.put("webPath", fvo.fileWebUrl + jsonObject.get("filePath"));
+                        if(hasZipFile){
+                            if(!isVideo){
+                                jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath")));
+                            }else{
+                                jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"), "jpg"));
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
     /**
      * 娣诲姞宸℃鍛橀棶棰樹笂鎶�
      * @param po
@@ -94,6 +125,9 @@
             JSONArray images_array = Optional.ofNullable(JSON.parseArray(report_temp.getImages())).orElse(new JSONArray());
             JSONArray audios_array = Optional.ofNullable(JSON.parseArray(report_temp.getAudios())).orElse(new JSONArray());
             JSONArray videos_array = Optional.ofNullable(JSON.parseArray(report_temp.getVideos())).orElse(new JSONArray());
+            this.dealWebFilePath(images_array, true, false) ;
+            this.dealWebFilePath(audios_array, false, false) ;
+            this.dealWebFilePath(videos_array, true, true) ;
             report.setImages(images_array);
             report.setAudios(audios_array);
             report.setVideos(videos_array);
@@ -119,6 +153,9 @@
         JSONArray images_array = Optional.ofNullable(JSON.parseArray(issueReport.getImages())).orElse(new JSONArray());
         JSONArray audios_array = Optional.ofNullable(JSON.parseArray(issueReport.getAudios())).orElse(new JSONArray());
         JSONArray videos_array = Optional.ofNullable(JSON.parseArray(issueReport.getVideos())).orElse(new JSONArray());
+        this.dealWebFilePath(images_array, true, false) ;
+        this.dealWebFilePath(audios_array, false, false) ;
+        this.dealWebFilePath(videos_array, true, true) ;
 
         report.setImages(images_array);
         report.setAudios(audios_array);

--
Gitblit v1.8.0