From 212aa4ae1f54fe4d3e51b9695224f9f86cd1bd22 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 11 七月 2023 10:58:48 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-report/src/main/java/com/java110/report/cmd/dataReport/QueryReceivedDetailStatisticsCmd.java |   48 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryReceivedDetailStatisticsCmd.java b/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryReceivedDetailStatisticsCmd.java
index ee3f41a..be3d448 100644
--- a/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryReceivedDetailStatisticsCmd.java
+++ b/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryReceivedDetailStatisticsCmd.java
@@ -6,8 +6,10 @@
 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.dict.DictDto;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.report.QueryStatisticsDto;
+import com.java110.intf.dev.IDictV1InnerServiceSMO;
 import com.java110.report.statistics.IBaseDataStatistics;
 import com.java110.report.statistics.IFeeStatistics;
 import com.java110.utils.exception.CmdException;
@@ -37,6 +39,8 @@
     @Autowired
     private IBaseDataStatistics baseDataStatisticsImpl;
 
+    @Autowired
+    private IDictV1InnerServiceSMO dictV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
@@ -67,16 +71,16 @@
         queryStatisticsDto.setLink(reqJson.getString("link"));
         queryStatisticsDto.setPage(reqJson.getInteger("page"));
         queryStatisticsDto.setRow(reqJson.getInteger("row"));
-        long count = baseDataStatisticsImpl.getRoomCount(queryStatisticsDto);
+        long count = baseDataStatisticsImpl.getReceivedRoomCount(queryStatisticsDto);
         List<RoomDto> rooms = null;
         if (count > 0) {
-            rooms = baseDataStatisticsImpl.getRoomInfo(queryStatisticsDto);
+            rooms = baseDataStatisticsImpl.getReceivedRoomInfo(queryStatisticsDto);
         } else {
             rooms = new ArrayList<>();
         }
 
         // todo 璁$畻 鎴垮眿娆犺垂瀹炴敹鏁版嵁
-        JSONArray datas = computeRoomOweReceivedFee(rooms,queryStatisticsDto);
+        JSONArray datas = computeRoomOweReceivedFee(rooms, queryStatisticsDto);
 
         ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) queryStatisticsDto.getRow()), count, datas);
 
@@ -90,7 +94,7 @@
      * @param rooms
      * @return
      */
-    private JSONArray computeRoomOweReceivedFee(List<RoomDto> rooms,QueryStatisticsDto queryStatisticsDto) {
+    private JSONArray computeRoomOweReceivedFee(List<RoomDto> rooms, QueryStatisticsDto queryStatisticsDto) {
         if (rooms == null || rooms.size() < 1) {
             return new JSONArray();
         }
@@ -102,11 +106,11 @@
         for (RoomDto roomDto : rooms) {
             objIds.add(roomDto.getRoomId());
             data = new JSONObject();
-            data.put("roomId",roomDto.getRoomId());
-            data.put("roomName",roomDto.getFloorNum()+"-"+roomDto.getUnitNum()+"-"+roomDto.getRoomNum());
-            data.put("ownerName",roomDto.getOwnerName());
-            data.put("ownerId",roomDto.getOwnerId());
-            data.put("link",roomDto.getLink());
+            data.put("roomId", roomDto.getRoomId());
+            data.put("roomName", roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum());
+            data.put("ownerName", roomDto.getOwnerName());
+            data.put("ownerId", roomDto.getOwnerId());
+            data.put("link", roomDto.getLink());
             datas.add(data);
         }
 
@@ -124,23 +128,37 @@
         // todo  nInfo.put(info.get("feeTypeCd").toString(), tmpInfos);
         infos = washInfos(infos);
 
-        BigDecimal receivedFee = new BigDecimal(0.00);
+        //System.out.printf("infos = " + JSONObject.toJSONString(infos));
+
+        BigDecimal receivedFee = null;
         List<Map> itemFees = null;
         String feeTypeCd = "";
         data.put("receivedFee", "0");
 
+        DictDto dictDto = new DictDto();
+        dictDto.setTableName("pay_fee_config");
+        dictDto.setTableColumns("fee_type_cd_show");
+        List<DictDto> dictDtos = dictV1InnerServiceSMOImpl.queryDicts(dictDto);
+
         // todo 鏍规嵁鎴垮眿ID 鍜宲ayerObjId 姣旇緝 鍚堝苟鏁版嵁锛岃璐圭敤澶х被 妯悜 鏀惧叆 data涓紝
         // todo 骞朵笖璁$畻姣忎釜 鎴垮眿 璐圭敤澶х被鐨勬瑺璐� 鍜屾埧灞嬬殑鎬绘瑺璐�
         for (int dataIndex = 0; dataIndex < datas.size(); dataIndex++) {
+            receivedFee = new BigDecimal(0.00);
             data = datas.getJSONObject(dataIndex);
             //todo 杩欓噷寰幆璐圭敤澶х被
             for (Map info : infos) {
                 if (!data.getString("roomId").equals(info.get("payerObjId"))) {
                     continue;
                 }
-                feeTypeCd = info.get("feeTypeCd").toString();
-                receivedFee = receivedFee.add(new BigDecimal(info.get(feeTypeCd + "receivedFee").toString()));
-                data.put("receivedFee" + feeTypeCd, info.get(feeTypeCd));
+                for (DictDto tDict : dictDtos) {
+                    //feeTypeCd = info.get("feeTypeCd").toString();
+                    feeTypeCd = tDict.getStatusCd();
+                    if (!info.containsKey(feeTypeCd)) {
+                        continue;
+                    }
+                    receivedFee = receivedFee.add(new BigDecimal(info.get(feeTypeCd + "receivedFee").toString()));
+                    data.put("receivedFee" + feeTypeCd, info.get(feeTypeCd));
+                }
             }
             data.put("receivedFee", receivedFee.doubleValue());
         }
@@ -162,6 +180,7 @@
             generatorNewInfo(newInfos, info);
         }
 
+
         List<Map> tmpInfos = null;
         Map dInfo = null;
         for (Map nInfo : newInfos) {
@@ -169,6 +188,7 @@
                 if (!nInfo.get("payerObjId").equals(info.get("payerObjId"))) {
                     continue;
                 }
+                //todo 鏍规嵁feeTypeCd 鍘诲鎵�
                 tmpInfos = getTmpInfos(nInfo, info);
                 //todo 娣辨嫹璐�
                 dInfo = new HashMap();

--
Gitblit v1.8.0