From a32f3aaf58e9d1636a4fd973055758b96d266e32 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 15 十二月 2020 09:50:26 +0800
Subject: [PATCH] 根据海口物业公司要求 补打收据页面同时显示 房屋和车位

---
 service-fee/src/main/java/com/java110/fee/bmo/feeReceipt/impl/GetFeeReceiptBMOImpl.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/bmo/feeReceipt/impl/GetFeeReceiptBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/feeReceipt/impl/GetFeeReceiptBMOImpl.java
index 9be0c3a..fdde44b 100644
--- a/service-fee/src/main/java/com/java110/fee/bmo/feeReceipt/impl/GetFeeReceiptBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/feeReceipt/impl/GetFeeReceiptBMOImpl.java
@@ -1,9 +1,16 @@
 package com.java110.fee.bmo.feeReceipt.impl;
 
+import com.java110.dto.RoomDto;
+import com.java110.dto.fee.FeeDto;
 import com.java110.dto.feeReceipt.FeeReceiptDto;
 import com.java110.dto.feeReceipt.FeeReceiptDtoNew;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.fee.bmo.feeReceipt.IGetFeeReceiptBMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -18,6 +25,15 @@
 
     @Autowired
     private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
 
     /**
      * @param feeReceiptDto
@@ -36,6 +52,8 @@
                 feeReceipt.setStoreName(feeReceiptDto.getStoreName());
                 feeReceiptList.add(feeReceipt);
             }
+            //杈撳叆鎴垮眿淇℃伅
+            freshRoomInfo(feeReceiptDtos);
         } else {
             feeReceiptDtos = new ArrayList<>();
             feeReceiptList.addAll(feeReceiptDtos);
@@ -48,6 +66,64 @@
         return responseEntity;
     }
 
+    /**
+     * 鍒峰叆鎴垮眿淇℃伅
+     *
+     * @param feeReceiptDtos
+     */
+    private void freshRoomInfo(List<FeeReceiptDto> feeReceiptDtos) {
+
+        for (FeeReceiptDto feeReceiptDto : feeReceiptDtos) {
+            if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(feeReceiptDto.getObjType())) {
+                continue;
+            }
+
+            doFreshRoomInfo(feeReceiptDto);
+        }
+
+    }
+
+    /**
+     * 杞︿綅淇℃伅鍒峰叆鎴垮眿淇℃伅
+     *
+     * @param feeReceiptDto
+     */
+    private void doFreshRoomInfo(FeeReceiptDto feeReceiptDto) {
+        OwnerCarDto ownerCarDto = new OwnerCarDto();
+        ownerCarDto.setCarId(feeReceiptDto.getObjId());
+        ownerCarDto.setCommunityId(feeReceiptDto.getCommunityId());
+        List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+
+        if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+            return;
+        }
+        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+        ownerRoomRelDto.setOwnerId(ownerCarDtos.get(0).getOwnerId());
+
+        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+            return;
+        }
+
+        List<String> roomIds = new ArrayList<>();
+        for (OwnerRoomRelDto tOwnerRoomRelDto : ownerRoomRelDtos) {
+            roomIds.add(tOwnerRoomRelDto.getRoomId());
+        }
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setCommunityId(feeReceiptDto.getCommunityId());
+        roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
+        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+        String roomName = "";
+        for (RoomDto tRoomDto : roomDtos) {
+            roomName += (tRoomDto.getFloorNum() + "鏍�" + tRoomDto.getUnitNum() + "鍗曞厓" + roomDto.getRoomNum() + "瀹�" + "/");
+        }
+
+        roomName = roomName.endsWith("/") ? roomName.substring(0, roomName.length() - 1) : roomName;
+        feeReceiptDto.setCarNum(feeReceiptDto.getObjName());
+        feeReceiptDto.setObjName(roomName);
+    }
+
 
     @Override
     public ResponseEntity<String> gets(FeeReceiptDtoNew feeReceiptDtonew) {

--
Gitblit v1.8.0