Your Name
2023-06-30 9e22e9abd4a3c606ec51d491abf94d7a465356b9
service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFloorFeeSummaryCmd.java
@@ -55,6 +55,7 @@
        BigDecimal feeRoomRate = null;
        BigDecimal hisOweFee = null;
        BigDecimal curReceivableFee = null;
        BigDecimal hisReceivedFee = null;
        BigDecimal receivedFee = null;
        BigDecimal preReceivedFee = null;
        for(Map data:datas){
@@ -62,7 +63,7 @@
            if(Double.parseDouble(data.get("feeRoomCount").toString())>0){
                feeRoomCountDec = new BigDecimal(Double.parseDouble(data.get("feeRoomCount").toString()));
                oweRoomCountDec = new BigDecimal(Double.parseDouble(data.get("oweRoomCount").toString()));
                feeRoomRate = feeRoomCountDec.subtract(oweRoomCountDec).divide(feeRoomCountDec).multiply(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
                feeRoomRate = feeRoomCountDec.subtract(oweRoomCountDec).divide(feeRoomCountDec,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
                data.put("feeRoomRate",feeRoomRate.doubleValue());
            }else{
                data.put("feeRoomRate",0.0);
@@ -71,16 +72,19 @@
            //todo 计算 收费率
            hisOweFee = new BigDecimal(Double.parseDouble(data.get("hisOweFee").toString()));
            curReceivableFee = new BigDecimal(Double.parseDouble(data.get("curReceivableFee").toString()));
            hisOweFee = curReceivableFee.add(hisOweFee);
            hisReceivedFee = new BigDecimal(Double.parseDouble(data.get("hisReceivedFee").toString()));
            hisOweFee = curReceivableFee.add(hisOweFee).add(hisReceivedFee);
            if(hisOweFee.doubleValue()> 0){
                receivedFee = new BigDecimal(Double.parseDouble(data.get("receivedFee").toString()));
                preReceivedFee = new BigDecimal(Double.parseDouble(data.get("preReceivedFee").toString()));
                feeRoomRate = receivedFee.subtract(preReceivedFee).divide(hisOweFee).multiply(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
                feeRoomRate = receivedFee.subtract(preReceivedFee).divide(hisOweFee,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
                data.put("feeRate",feeRoomRate.doubleValue());
            }else{
                data.put("feeRate",0.0);
            }
        }
        context.setResponseEntity(ResultVo.createResponseEntity(datas));
    }
}