shiyj1101
2021-06-16 74be20dfb5b244bbae3387db7a1aecb9fc1a21bd
service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportReportFeeSMOImpl.java
@@ -140,8 +140,11 @@
            for (int feeConfigIndex = 0; feeConfigIndex < feeConfigDtos.size(); feeConfigIndex++) {
                row.createCell(4 + feeConfigIndex).setCellValue(feeConfigDtos.get(feeConfigIndex).getFeeName());
            }
            row.createCell(4 + feeConfigDtos.size()).setCellValue("合计");
        } else {
            row.createCell(4).setCellValue("合计");
        }
        row.createCell(4 + feeConfigDtos.size()).setCellValue("合计");
        JSONObject dataObj = null;
        for (int roomIndex = 0; roomIndex < oweFees.size(); roomIndex++) {
@@ -155,8 +158,11 @@
                for (int feeConfigIndex = 0; feeConfigIndex < feeConfigDtos.size(); feeConfigIndex++) {
                    row.createCell(4 + feeConfigIndex).setCellValue(getFeeConfigAmount(feeConfigDtos.get(feeConfigIndex), dataObj));
                }
                row.createCell(4 + feeConfigDtos.size()).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
            } else {
                row.createCell(4).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
            }
            row.createCell(4 + feeConfigDtos.size()).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
        }
    }
@@ -187,6 +193,10 @@
            return dataObj.getDouble("amountOwed");
        }
        JSONArray items = dataObj.getJSONArray("items");
        if (items == null || items.size() < 1) {
            return dataObj.getDouble("amountOwed");
        }
        BigDecimal oweAmount = new BigDecimal(0);
        for (FeeConfigDto feeConfigDto : feeConfigDtos) {
            for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
@@ -201,8 +211,12 @@
    private double getFeeConfigAmount(FeeConfigDto feeConfigDto, JSONObject dataObj) {
        JSONArray items = dataObj.getJSONArray("items");
        double oweAmount = 0;
        if (items == null || items.size() < 1) {
            return oweAmount;
        }
        for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
            if (feeConfigDto.getConfigId().equals(items.getJSONObject(itemIndex).getString("configId"))) {
                oweAmount = items.getJSONObject(itemIndex).getDouble("amountOwed");
@@ -218,13 +232,13 @@
        FeeConfigDto feeConfigDto = null;
        for (int oweFeeIndex = 0; oweFeeIndex < oweFees.size(); oweFeeIndex++) {
            JSONArray items = oweFees.getJSONObject(oweFeeIndex).getJSONArray("items");
            for(int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
            for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
                if (existsFeeConfig(feeConfigDtos, items.getJSONObject(itemIndex))) {
                    continue;
                }
                feeConfigDto = new FeeConfigDto();
                feeConfigDto.setConfigId(items.getJSONObject(oweFeeIndex).getString("configId"));
                feeConfigDto.setFeeName(items.getJSONObject(oweFeeIndex).getString("configName"));
                feeConfigDto.setConfigId(items.getJSONObject(itemIndex).getString("configId"));
                feeConfigDto.setFeeName(items.getJSONObject(itemIndex).getString("configName"));
                feeConfigDtos.add(feeConfigDto);
            }
        }
@@ -249,7 +263,7 @@
    private void reportPayFeeDetail(IPageData pd, ComponentValidateResult result, Workbook workbook) {
        Sheet sheet = workbook.createSheet("缴费明细表");
        Row row = sheet.createRow(0);
        row.createCell(0).setCellValue("费用编号");
        row.createCell(0).setCellValue("订单号");
        row.createCell(1).setCellValue("房号");
        row.createCell(2).setCellValue("费用项");
        row.createCell(3).setCellValue("支付方式");
@@ -263,6 +277,7 @@
        row.createCell(11).setCellValue("滞纳金");
        row.createCell(12).setCellValue("空置房打折金额");
        row.createCell(13).setCellValue("空置房减免金额");
        row.createCell(14).setCellValue("业主");
        //查询楼栋信息
        JSONArray rooms = this.getReportPayFeeDetail(pd, result);
        if (rooms == null) {
@@ -272,20 +287,22 @@
        for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
            row = sheet.createRow(roomIndex + 1);
            dataObj = rooms.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(roomIndex + 1);
            row.createCell(0).setCellValue(dataObj.getString("oId"));
            row.createCell(1).setCellValue(dataObj.getString("objName"));
            row.createCell(2).setCellValue(dataObj.getString("feeName"));
            row.createCell(3).setCellValue(dataObj.getString("primeRate"));
            row.createCell(4).setCellValue(dataObj.getString("startTime"));
            row.createCell(5).setCellValue(dataObj.getString("endTime"));
            row.createCell(6).setCellValue(dataObj.getString("createTime"));
            row.createCell(7).setCellValue(dataObj.getString("receivableAmount"));
            row.createCell(8).setCellValue(dataObj.getString("receivedAmount"));
            row.createCell(9).setCellValue(dataObj.getString("preferentialAmount"));
            row.createCell(10).setCellValue(dataObj.getString("deductionAmount"));
            row.createCell(11).setCellValue(dataObj.getString("lateFee"));
            row.createCell(12).setCellValue(dataObj.getString("vacantHousingDiscount"));
            row.createCell(13).setCellValue(dataObj.getString("vacantHousingReduction"));
            row.createCell(7).setCellValue(dataObj.getDouble("receivableAmount"));
            row.createCell(8).setCellValue(dataObj.getDouble("receivedAmount"));
            row.createCell(9).setCellValue(dataObj.getDouble("preferentialAmount"));
            row.createCell(10).setCellValue(dataObj.getDouble("deductionAmount"));
            row.createCell(11).setCellValue(dataObj.getDouble("lateFee"));
            row.createCell(12).setCellValue(dataObj.getDouble("vacantHousingDiscount"));
            row.createCell(13).setCellValue(dataObj.getDouble("vacantHousingReduction"));
            row.createCell(14).setCellValue(dataObj.getString("ownerName"));
        }
    }