From 7007db947ea409a973aee8a681ee86cf9d2708bf Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期四, 08 六月 2023 18:54:52 +0800
Subject: [PATCH] 优化1.5 的bug

---
 service-job/src/main/java/com/java110/job/export/adapt/ReportFeeSummaryAdapt.java |   35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/export/adapt/ReportFeeSummaryAdapt.java b/service-job/src/main/java/com/java110/job/export/adapt/ReportFeeSummaryAdapt.java
index 9a6e5f6..56849d0 100644
--- a/service-job/src/main/java/com/java110/job/export/adapt/ReportFeeSummaryAdapt.java
+++ b/service-job/src/main/java/com/java110/job/export/adapt/ReportFeeSummaryAdapt.java
@@ -50,10 +50,8 @@
         doReportFeeSummary(sheet, reqJson);
 
         //todo 鍚堝苟 3 4 5
-        CellRangeAddress region = new CellRangeAddress(1, 1, 3, 5);
-        sheet.addMergedRegion(region);
-        CellRangeAddress region1 = new CellRangeAddress(1, 1, 6, 9);
-        sheet.addMergedRegion(region1);
+        sheet.addMergedRegion(new CellRangeAddress(0, 0, 3, 5));
+        sheet.addMergedRegion(new CellRangeAddress(0, 0, 6, 9));
         return workbook;
 
     }
@@ -75,34 +73,41 @@
     private void appendData(JSONObject dataObj, Sheet sheet, int step, FloorDto floorDto) {
 
         Row row = null;
-        row = sheet.createRow(step + 1);
+        row = sheet.createRow(step);
         row.createCell(0).setCellValue(floorDto.getFloorName());
-        row.createCell(1).setCellValue(dataObj.getString("feeRoomCount"));
-        row.createCell(2).setCellValue(dataObj.getString("oweRoomCount"));
-        row.createCell(3).setCellValue(dataObj.getString("hisOweFee"));
-        row.createCell(4).setCellValue(dataObj.getString("curOweFee"));
+        row.createCell(1).setCellValue(dataObj.getIntValue("feeRoomCount"));
+        row.createCell(2).setCellValue(dataObj.getIntValue("oweRoomCount"));
+        row.createCell(3).setCellValue(dataObj.getDouble("hisOweFee"));
+        row.createCell(4).setCellValue(dataObj.getDouble("curOweFee"));
 
         BigDecimal curOweFee = new BigDecimal(dataObj.getDouble("curOweFee"));
         BigDecimal hisOweFee = new BigDecimal(dataObj.getDouble("hisOweFee"));
         row.createCell(5).setCellValue(curOweFee.add(hisOweFee).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
-        row.createCell(6).setCellValue(dataObj.getString("hisReceivedFee"));
+
+        row.createCell(6).setCellValue(dataObj.getDouble("hisReceivedFee"));
         //(fee.receivedFee-fee.hisReceivedFee-fee.preReceivedFee)
         BigDecimal receivedFee = new BigDecimal(dataObj.getDouble("receivedFee"));
         BigDecimal hisReceivedFee = new BigDecimal(dataObj.getDouble("hisReceivedFee"));
         BigDecimal preReceivedFee = new BigDecimal(dataObj.getDouble("preReceivedFee"));
         row.createCell(7).setCellValue(receivedFee.subtract(hisReceivedFee).subtract(preReceivedFee).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
-        row.createCell(8).setCellValue(dataObj.getString("preReceivedFee"));
-        row.createCell(9).setCellValue(dataObj.getString("receivedFee"));
+        row.createCell(8).setCellValue(dataObj.getDouble("preReceivedFee"));
+        row.createCell(9).setCellValue(dataObj.getDouble("receivedFee"));
         //((fee.feeRoomCount-fee.oweRoomCount)/fee.feeRoomCount*100).toFixed(2)
 
         BigDecimal feeRoomCount = new BigDecimal(dataObj.getDouble("feeRoomCount"));
         BigDecimal oweRoomCount = new BigDecimal(dataObj.getDouble("oweRoomCount"));
-        BigDecimal roomFeeRate = feeRoomCount.subtract(oweRoomCount).divide(feeRoomCount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
+        BigDecimal roomFeeRate = new BigDecimal(0);
+        if(feeRoomCount.doubleValue()>0){
+            feeRoomCount.subtract(oweRoomCount).divide(feeRoomCount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
+        }
         row.createCell(10).setCellValue(roomFeeRate.doubleValue() + "%");
         //((fee.receivedFee-fee.preReceivedFee)/(fee.hisOweFee+fee.curReceivableFee)*100).toFixed(2)
         BigDecimal curReceivableFee = new BigDecimal(dataObj.getDouble("curReceivableFee"));
         curReceivableFee = hisOweFee.add(curReceivableFee);
-        roomFeeRate = receivedFee.subtract(preReceivedFee).divide(curReceivableFee, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
+        roomFeeRate = new BigDecimal(0);
+        if(curReceivableFee.doubleValue()> 0) {
+            roomFeeRate = receivedFee.subtract(preReceivedFee).divide(curReceivableFee, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
+        }
         row.createCell(11).setCellValue(roomFeeRate.doubleValue() + "%");
 
     }
@@ -121,7 +126,7 @@
         queryStatisticsDto.setStartDate(reqJson.getString("startDate"));
         queryStatisticsDto.setEndDate(reqJson.getString("endDate"));
         queryStatisticsDto.setConfigId(reqJson.getString("configId"));
-        queryStatisticsDto.setFloorId(reqJson.getString("floorId"));
+        queryStatisticsDto.setFloorId(floorDto.getFloorId());
         queryStatisticsDto.setObjName(reqJson.getString("objName"));
         queryStatisticsDto.setFeeTypeCd(reqJson.getString("feeTypeCd"));
         if (reqJson.containsKey("configIds")) {

--
Gitblit v1.8.0