From ff886df1b8020ebbde4b209590b301d8355bc84b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 14 三月 2022 11:47:34 +0800
Subject: [PATCH] 完成 费用自定义创建功能

---
 service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java
index 82245d7..fd16e91 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java
@@ -9,11 +9,13 @@
 import com.java110.dto.RoomDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRoomV1InnerServiceSMO;
 import com.java110.intf.fee.IPayFeeConfigV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
 import org.apache.poi.ss.usermodel.*;
@@ -31,6 +33,7 @@
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -49,6 +52,8 @@
     public static final String TYPE_PARKSPACE = "2002";
     public static final String TYPE_CONTRACT = "3003"; //鍚堝悓
 
+    public static final int DEFAULT_ROW = 500;
+
     @Autowired
     private RestTemplate restTemplate;
 
@@ -60,6 +65,9 @@
 
     @Autowired
     private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
 
     @Override
     public ResponseEntity<Object> exportExcelData(IPageData pd) throws Exception {
@@ -186,6 +194,12 @@
         if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
             return;
         }
+
+        //鏌ヨ杞︾墝鍙�
+        List<OwnerCarDto> ownerCarDtos = getOwnerCars(parkingSpaceDtos);
+        if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+            return;
+        }
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setConfigIds(paramIn.getString("configIds").split(","));
         feeConfigDto.setCommunityId(paramIn.getString("communityId"));
@@ -196,10 +210,10 @@
         }
 
         int roomIndex = 2;
-        for (ParkingSpaceDto tmpParkingSpaceDto : parkingSpaceDtos) {
+        for (OwnerCarDto tmpOwnerCarDto : ownerCarDtos) {
             for (FeeConfigDto tmpFeeConfigDto : feeConfigDtos) {
                 row = sheet.createRow(roomIndex);
-                row.createCell(0).setCellValue(tmpParkingSpaceDto.getAreaNum() + "-" + tmpParkingSpaceDto.getNum());
+                row.createCell(0).setCellValue(tmpOwnerCarDto.getCarNum());
                 row.createCell(1).setCellValue("2002");
                 row.createCell(2).setCellValue(tmpFeeConfigDto.getConfigId());
                 row.createCell(3).setCellValue(tmpFeeConfigDto.getFeeName());
@@ -213,6 +227,31 @@
         sheet.addMergedRegion(region);
     }
 
+    private List<OwnerCarDto> getOwnerCars(List<ParkingSpaceDto> parkingSpaceDtos) {
+        List<String> psIds = new ArrayList<>();
+        List<OwnerCarDto> tmpOwnerCarDtos = new ArrayList<>();
+        for (int roomIndex = 0; roomIndex < parkingSpaceDtos.size(); roomIndex++) {
+            psIds.add(parkingSpaceDtos.get(roomIndex).getPsId());
+            if (roomIndex % DEFAULT_ROW == 0 && roomIndex != 0) {
+                // 澶勭悊鎴垮眿璐圭敤
+                OwnerCarDto ownerCarDto = new OwnerCarDto();
+                ownerCarDto.setPsIds(psIds.toArray(new String[psIds.size()]));
+                ownerCarDto.setCommunityId(parkingSpaceDtos.get(roomIndex).getCommunityId());
+                tmpOwnerCarDtos.addAll(ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto));
+
+                psIds = new ArrayList<>();
+            }
+        }
+        if (psIds != null && psIds.size() > 0) {
+            OwnerCarDto ownerCarDto = new OwnerCarDto();
+            ownerCarDto.setPsIds(psIds.toArray(new String[psIds.size()]));
+            ownerCarDto.setCommunityId(parkingSpaceDtos.get(0).getCommunityId());
+            tmpOwnerCarDtos.addAll(ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto));
+        }
+        return tmpOwnerCarDtos;
+
+    }
+
     private void getRoomAndConfigs(JSONObject paramIn, Workbook workbook) {
         Sheet sheet = workbook.createSheet("鍒涘缓璐圭敤");
         Row row = sheet.createRow(0);

--
Gitblit v1.8.0