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 |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 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 8f385c8..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
@@ -75,32 +75,39 @@
         Row row = null;
         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() + "%");
 
     }

--
Gitblit v1.8.0