From cee8b321d7a38686e5035f0cd8d8b50807692d55 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 03 七月 2023 01:48:58 +0800
Subject: [PATCH] 优化后端代理

---
 service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java b/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java
index 593cd19..bdfca1e 100644
--- a/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java
+++ b/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java
@@ -6,7 +6,7 @@
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
-import com.java110.dto.RoomDto;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.report.QueryStatisticsDto;
 import com.java110.report.statistics.IBaseDataStatistics;
 import com.java110.report.statistics.IFeeStatistics;
@@ -21,6 +21,7 @@
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -126,17 +127,18 @@
         // todo  nInfo.put(info.get("feeTypeCd").toString(), tmpInfos);
         infos = washInfos(infos);
 
-        BigDecimal oweFee = new BigDecimal(0.00);
+        BigDecimal oweFee = null;
         List<Map> itemFees = null;
         String feeTypeCd = "";
 
         // todo 鏍规嵁鎴垮眿ID 鍜宲ayerObjId 姣旇緝 鍚堝苟鏁版嵁锛岃璐圭敤澶х被 妯悜 鏀惧叆 data涓紝
         // todo 骞朵笖璁$畻姣忎釜 鎴垮眿 璐圭敤澶х被鐨勬瑺璐� 鍜屾埧灞嬬殑鎬绘瑺璐�
         for (int dataIndex = 0; dataIndex < datas.size(); dataIndex++) {
+            oweFee = new BigDecimal(0.00);
             data = datas.getJSONObject(dataIndex);
             //todo 杩欓噷寰幆璐圭敤澶х被
             for (Map info : infos) {
-                if (!data.get("roomId").toString().equals(info.get("payerObjId"))) {
+                if (!data.getString("roomId").equals(info.get("payerObjId"))) {
                     continue;
                 }
                 feeTypeCd = info.get("feeTypeCd").toString();
@@ -164,13 +166,20 @@
         }
 
         List<Map> tmpInfos = null;
+        Map dInfo = null;
         for (Map nInfo : newInfos) {
             for (Map info : infos) {
                 if (!nInfo.get("payerObjId").equals(info.get("payerObjId"))) {
                     continue;
                 }
                 tmpInfos = getTmpInfos(nInfo, info);
-                tmpInfos.add(info);
+                if (tmpInfos == null) {
+                    continue;
+                }
+                //todo 娣辨嫹璐�
+                dInfo = new HashMap();
+                dInfo.putAll(info);
+                tmpInfos.add(dInfo);
                 //璁$畻鍗曢」 娆犺垂閲戦
                 computeOweAmount(tmpInfos, info.get("feeTypeCd").toString(), nInfo);
                 nInfo.put(info.get("feeTypeCd").toString(), tmpInfos);
@@ -202,6 +211,9 @@
     }
 
     private List<Map> getTmpInfos(Map nInfo, Map info) {
+        if (!info.containsKey("feeTypeCd")) {
+            return null;
+        }
         String feeTypeCd = info.get("feeTypeCd").toString();
         if (nInfo.containsKey(feeTypeCd)) {
             return (List<Map>) nInfo.get(feeTypeCd);

--
Gitblit v1.8.0