java110
2023-05-16 8e160bc439ddd35c02a3866926be13f4f579e9f0
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")) {