| | |
| | | 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++) { |
| | |
| | | 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)); |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | 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++) { |
| | |
| | | |
| | | 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"); |
| | |
| | | List<FeeConfigDto> feeConfigDtos = new ArrayList<>(); |
| | | FeeConfigDto feeConfigDto = null; |
| | | for (int oweFeeIndex = 0; oweFeeIndex < oweFees.size(); oweFeeIndex++) { |
| | | if (existsFeeConfig(feeConfigDtos, oweFees.getJSONObject(oweFeeIndex))) { |
| | | continue; |
| | | JSONArray items = oweFees.getJSONObject(oweFeeIndex).getJSONArray("items"); |
| | | for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) { |
| | | if (existsFeeConfig(feeConfigDtos, items.getJSONObject(itemIndex))) { |
| | | continue; |
| | | } |
| | | feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setConfigId(items.getJSONObject(itemIndex).getString("configId")); |
| | | feeConfigDto.setFeeName(items.getJSONObject(itemIndex).getString("configName")); |
| | | feeConfigDtos.add(feeConfigDto); |
| | | } |
| | | |
| | | feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setConfigId(oweFees.getJSONObject(oweFeeIndex).getString("configId")); |
| | | feeConfigDto.setFeeName(oweFees.getJSONObject(oweFeeIndex).getString("configName")); |
| | | feeConfigDtos.add(feeConfigDto); |
| | | } |
| | | |
| | | return feeConfigDtos; |
| | |
| | | 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("支付方式"); |
| | |
| | | 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) { |
| | |
| | | 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")); |
| | | |
| | | } |
| | | } |
| | | |