1098226878@qq.com
2022-01-10 093b73aadb022895a02dbbcd64b87613e19b547b
service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
@@ -4,13 +4,11 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.java110.api.smo.DefaultAbstractComponentSMO;
import com.java110.core.component.BaseComponentSMO;
import com.java110.api.smo.assetExport.IExportReportFeeSMO;
import com.java110.core.context.IPageData;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.entity.component.ComponentValidateResult;
import com.java110.api.smo.assetExport.IExportReportFeeSMO;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.ServiceConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
@@ -354,7 +352,8 @@
        row.createCell(14).setCellValue("滞纳金");
        row.createCell(15).setCellValue("空置房打折金额");
        row.createCell(16).setCellValue("空置房减免金额");
//        row.createCell(14).setCellValue("业主");
        row.createCell(17).setCellValue("面积");
        row.createCell(18).setCellValue("车位");
        //查询楼栋信息
        JSONArray rooms = this.getReportPayFeeDetail(pd, result);
        if (rooms == null || rooms.size() == 0) {
@@ -381,6 +380,8 @@
            row.createCell(14).setCellValue(dataObj.getDouble("lateFee"));
            row.createCell(15).setCellValue(dataObj.getDouble("vacantHousingDiscount"));
            row.createCell(16).setCellValue(dataObj.getDouble("vacantHousingReduction"));
            row.createCell(17).setCellValue(dataObj.getString("builtUpArea"));
            row.createCell(18).setCellValue(dataObj.getString("psName"));
        }
    }
@@ -562,16 +563,17 @@
        row.createCell(4).setCellValue("物品类型");
        row.createCell(5).setCellValue("物品名称");
        row.createCell(6).setCellValue("物品规格");
        row.createCell(7).setCellValue("物品供应商");
        row.createCell(8).setCellValue("物品仓库");
        row.createCell(9).setCellValue("采购/出库方式");
        row.createCell(10).setCellValue("申请数量");
        row.createCell(11).setCellValue("采购/出库数量");
        row.createCell(12).setCellValue("采购价格");
        row.createCell(13).setCellValue("采购总价");
        row.createCell(14).setCellValue("申请备注");
        row.createCell(15).setCellValue("状态");
        row.createCell(16).setCellValue("创建时间");
        row.createCell(7).setCellValue("是否是固定物品");
        row.createCell(8).setCellValue("物品供应商");
        row.createCell(9).setCellValue("物品仓库");
        row.createCell(10).setCellValue("采购/出库方式");
        row.createCell(11).setCellValue("申请数量");
        row.createCell(12).setCellValue("采购/出库数量");
        row.createCell(13).setCellValue("采购价格");
        row.createCell(14).setCellValue("采购总价");
        row.createCell(15).setCellValue("申请备注");
        row.createCell(16).setCellValue("状态");
        row.createCell(17).setCellValue("创建时间");
        JSONArray purchaseApplyDetails = this.getPurchaseApplyDetail(pd, result);
        if (purchaseApplyDetails == null || purchaseApplyDetails.size() == 0) {
@@ -585,15 +587,16 @@
            row.createCell(1).setCellValue(dataObj.getString("userName"));
            row.createCell(2).setCellValue(dataObj.getString("endUserName"));
            row.createCell(3).setCellValue(dataObj.getString("resOrderTypeName"));
            row.createCell(4).setCellValue(dataObj.getString("rstName"));
            row.createCell(4).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
            row.createCell(5).setCellValue(dataObj.getString("resName"));
            row.createCell(6).setCellValue(dataObj.getString("specName"));
            row.createCell(7).setCellValue(dataObj.getString("supplierName"));
            row.createCell(8).setCellValue(dataObj.getString("shName"));
            row.createCell(9).setCellValue(dataObj.getString("warehousingWayName") + dataObj.getString("resOrderTypeName"));
            row.createCell(10).setCellValue(dataObj.getString("quantity") + dataObj.getString("unitCodeName"));
            row.createCell(11).setCellValue(dataObj.getString("purchaseQuantity") + dataObj.getString("unitCodeName"));
            row.createCell(12).setCellValue(dataObj.getString("price"));
            row.createCell(7).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(8).setCellValue(dataObj.getString("supplierName"));
            row.createCell(9).setCellValue(dataObj.getString("shName"));
            row.createCell(10).setCellValue(dataObj.getString("warehousingWayName") + dataObj.getString("resOrderTypeName"));
            row.createCell(11).setCellValue(dataObj.getString("quantity") + dataObj.getString("unitCodeName"));
            row.createCell(12).setCellValue(dataObj.getString("purchaseQuantity") + dataObj.getString("unitCodeName"));
            row.createCell(13).setCellValue(dataObj.getString("price"));
            if (!StringUtil.isEmpty(dataObj.getString("resOrderType")) && dataObj.getString("resOrderType").equals("10000") &&
                    !StringUtil.isEmpty(dataObj.getString("purchaseQuantity")) && !StringUtil.isEmpty(dataObj.getString("price"))) { //状态是入库
                //获取采购数量
@@ -602,13 +605,13 @@
                double price = Double.parseDouble(dataObj.getString("price"));
                //获取采购总价
                double totalPrice = purchaseQuantity * price;
                row.createCell(13).setCellValue(String.valueOf(totalPrice));
                row.createCell(14).setCellValue(String.valueOf(totalPrice));
            } else {
                row.createCell(13).setCellValue("--");
                row.createCell(14).setCellValue("--");
            }
            row.createCell(14).setCellValue(dataObj.getString("remark"));
            row.createCell(15).setCellValue(dataObj.getString("stateName"));
            row.createCell(16).setCellValue(dataObj.getString("createTime"));
            row.createCell(15).setCellValue(dataObj.getString("remark"));
            row.createCell(16).setCellValue(dataObj.getString("stateName"));
            row.createCell(17).setCellValue(dataObj.getString("createTime"));
        }
    }
@@ -649,15 +652,16 @@
        row.createCell(2).setCellValue("物品类型");
        row.createCell(3).setCellValue("物品名称");
        row.createCell(4).setCellValue("物品规格");
        row.createCell(5).setCellValue("被调仓库原库存");
        row.createCell(6).setCellValue("调拨数量");
        row.createCell(7).setCellValue("被调仓库");
        row.createCell(8).setCellValue("目标仓库");
        row.createCell(9).setCellValue("申请人ID");
        row.createCell(10).setCellValue("申请人");
        row.createCell(11).setCellValue("调拨说明");
        row.createCell(12).setCellValue("状态");
        row.createCell(13).setCellValue("时间");
        row.createCell(5).setCellValue("是否是固定物品");
        row.createCell(6).setCellValue("被调仓库原库存");
        row.createCell(7).setCellValue("调拨数量");
        row.createCell(8).setCellValue("被调仓库");
        row.createCell(9).setCellValue("目标仓库");
        row.createCell(10).setCellValue("申请人ID");
        row.createCell(11).setCellValue("申请人");
        row.createCell(12).setCellValue("调拨说明");
        row.createCell(13).setCellValue("状态");
        row.createCell(14).setCellValue("时间");
        JSONArray allocationStorehouses = this.getAllocationStorehouseDetail(pd, result);
        if (allocationStorehouses == null || allocationStorehouses.size() == 0) {
@@ -669,22 +673,23 @@
            dataObj = allocationStorehouses.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(dataObj.getString("applyId"));
            row.createCell(1).setCellValue(dataObj.getString("resId"));
            row.createCell(2).setCellValue(dataObj.getString("rstName"));
            row.createCell(2).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
            row.createCell(3).setCellValue(dataObj.getString("resName"));
            row.createCell(4).setCellValue(dataObj.getString("specName"));
            row.createCell(5).setCellValue(dataObj.getString("originalStock") + dataObj.getString("unitCodeName"));
            row.createCell(6).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
            row.createCell(5).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(6).setCellValue(dataObj.getString("originalStock") + dataObj.getString("unitCodeName"));
            row.createCell(7).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
            if (!StringUtil.isEmpty(dataObj.getString("applyType")) && dataObj.getString("applyType").equals("20000")) {  //返还
                row.createCell(7).setCellValue(dataObj.getString("startUserName"));
                row.createCell(8).setCellValue(dataObj.getString("startUserName"));
            } else {
                row.createCell(7).setCellValue(dataObj.getString("shaName"));
                row.createCell(8).setCellValue(dataObj.getString("shaName"));
            }
            row.createCell(8).setCellValue(dataObj.getString("shzName"));
            row.createCell(9).setCellValue(dataObj.getString("startUserId"));
            row.createCell(10).setCellValue(dataObj.getString("startUserName"));
            row.createCell(11).setCellValue(dataObj.getString("remark"));
            row.createCell(12).setCellValue(dataObj.getString("stateName"));
            row.createCell(13).setCellValue(dataObj.getString("createTime"));
            row.createCell(9).setCellValue(dataObj.getString("shzName"));
            row.createCell(10).setCellValue(dataObj.getString("startUserId"));
            row.createCell(11).setCellValue(dataObj.getString("startUserName"));
            row.createCell(12).setCellValue(dataObj.getString("remark"));
            row.createCell(13).setCellValue(dataObj.getString("stateName"));
            row.createCell(14).setCellValue(dataObj.getString("createTime"));
        }
    }
@@ -697,13 +702,14 @@
        row.createCell(3).setCellValue("物品名称");
        row.createCell(4).setCellValue("物品规格");
        row.createCell(5).setCellValue("物品编码");
        row.createCell(6).setCellValue("采购参考价格");
        row.createCell(7).setCellValue("收费标准");
        row.createCell(8).setCellValue("物品库存");
        row.createCell(9).setCellValue("最小计量");
        row.createCell(10).setCellValue("最小计量总数");
        row.createCell(11).setCellValue("物品均价");
        row.createCell(12).setCellValue("物品总价");
        row.createCell(6).setCellValue("是否是固定物品");
        row.createCell(7).setCellValue("采购参考价格");
        row.createCell(8).setCellValue("收费标准");
        row.createCell(9).setCellValue("物品库存");
        row.createCell(10).setCellValue("最小计量");
        row.createCell(11).setCellValue("最小计量总数");
        row.createCell(12).setCellValue("物品均价");
        row.createCell(13).setCellValue("物品总价");
        JSONArray resourceStores = this.getResourceStore(pd, result);
        if (resourceStores == null || resourceStores.size() == 0) {
            return;
@@ -714,26 +720,32 @@
            dataObj = resourceStores.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(dataObj.getString("resId"));
            row.createCell(1).setCellValue(dataObj.getString("shName"));
            row.createCell(2).setCellValue(dataObj.getString("rstName"));
//            row.createCell(2).setCellValue(dataObj.getString("rstName"));
            if (StringUtil.isEmpty(dataObj.getString("rstName"))) {
                row.createCell(2).setCellValue(dataObj.getString("parentRstName"));
            } else {
                row.createCell(2).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
            }
            row.createCell(3).setCellValue(dataObj.getString("resName"));
            row.createCell(4).setCellValue(dataObj.getString("rssName"));
            row.createCell(5).setCellValue(dataObj.getString("resCode"));
            row.createCell(6).setCellValue(dataObj.getString("price"));
            row.createCell(6).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(7).setCellValue(dataObj.getString("price"));
            //获取最低价
            String outLowPrice = dataObj.getString("outLowPrice");
            //获取最高价
            String outHighPrice = dataObj.getString("outHighPrice");
            if (!StringUtil.isEmpty(outLowPrice) && !StringUtil.isEmpty(outHighPrice) && outLowPrice.equals(outHighPrice)) {
                row.createCell(7).setCellValue(outLowPrice);
                row.createCell(8).setCellValue(outLowPrice);
            } else if (!StringUtil.isEmpty(outLowPrice) && !StringUtil.isEmpty(outHighPrice) && !outLowPrice.equals(outHighPrice)) {
                row.createCell(7).setCellValue(dataObj.getString("outLowPrice") + "-" + dataObj.getString("outHighPrice"));
                row.createCell(8).setCellValue(dataObj.getString("outLowPrice") + "-" + dataObj.getString("outHighPrice"));
            } else {
                row.createCell(7).setCellValue("--");
                row.createCell(8).setCellValue("--");
            }
            row.createCell(8).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
            row.createCell(9).setCellValue("1" + dataObj.getString("unitCodeName") + "=" + dataObj.getString("miniUnitStock") + dataObj.getString("miniUnitCodeName"));
            row.createCell(10).setCellValue(dataObj.getString("miniStock") + dataObj.getString("miniUnitCodeName"));
            row.createCell(11).setCellValue(dataObj.getString("averagePrice"));
            row.createCell(9).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
            row.createCell(10).setCellValue("1" + dataObj.getString("unitCodeName") + "=" + dataObj.getString("miniUnitStock") + dataObj.getString("miniUnitCodeName"));
            row.createCell(11).setCellValue(dataObj.getString("miniStock") + dataObj.getString("miniUnitCodeName"));
            row.createCell(12).setCellValue(dataObj.getString("averagePrice"));
            if (!StringUtil.isEmpty(dataObj.getString("stock")) && !StringUtil.isEmpty(dataObj.getString("averagePrice"))) {
                //获取物品库存数量
                double stock = Double.parseDouble(dataObj.getString("stock"));
@@ -744,9 +756,9 @@
                //计算物品总价
                BigDecimal price = x1.multiply(y1);
                double totalPrice = price.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                row.createCell(12).setCellValue(String.valueOf(totalPrice));
                row.createCell(13).setCellValue(String.valueOf(totalPrice));
            } else {
                row.createCell(12).setCellValue("0.0");
                row.createCell(13).setCellValue("0.0");
            }
        }
    }
@@ -759,9 +771,10 @@
        row.createCell(2).setCellValue("使用人");
        row.createCell(3).setCellValue("操作人");
        row.createCell(4).setCellValue("物品");
        row.createCell(5).setCellValue("申请时间");
        row.createCell(6).setCellValue("采购方式");
        row.createCell(7).setCellValue("审批状态");
        row.createCell(5).setCellValue("是否是固定物品");
        row.createCell(6).setCellValue("申请时间");
        row.createCell(7).setCellValue("采购方式");
        row.createCell(8).setCellValue("审批状态");
        JSONArray purchaseApplys = this.getPurchaseApply(pd, result);
        if (purchaseApplys == null || purchaseApplys.size() == 0) {
            return;
@@ -775,15 +788,16 @@
            row.createCell(2).setCellValue(dataObj.getString("endUserName"));
            row.createCell(3).setCellValue(dataObj.getString("createUserName"));
            row.createCell(4).setCellValue(dataObj.getString("resourceNames"));
            row.createCell(5).setCellValue(dataObj.getString("createTime"));
            row.createCell(5).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(6).setCellValue(dataObj.getString("createTime"));
            //获取入库方式
            String warehousingWay = dataObj.getString("warehousingWay");
            if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("10000")) {
                row.createCell(6).setCellValue("直接入库");
                row.createCell(7).setCellValue("直接入库");
            } else {
                row.createCell(6).setCellValue("采购申请入库");
                row.createCell(7).setCellValue("采购申请入库");
            }
            row.createCell(7).setCellValue(dataObj.getString("stateName"));
            row.createCell(8).setCellValue(dataObj.getString("stateName"));
        }
    }
@@ -792,11 +806,12 @@
        Row row = sheet.createRow(0);
        row.createCell(0).setCellValue("单号");
        row.createCell(1).setCellValue("物品");
        row.createCell(2).setCellValue("申请人");
        row.createCell(3).setCellValue("操作人");
        row.createCell(4).setCellValue("申请时间");
        row.createCell(5).setCellValue("状态");
        row.createCell(6).setCellValue("领用方式");
        row.createCell(2).setCellValue("是否是固定物品");
        row.createCell(3).setCellValue("申请人");
        row.createCell(4).setCellValue("操作人");
        row.createCell(5).setCellValue("申请时间");
        row.createCell(6).setCellValue("状态");
        row.createCell(7).setCellValue("领用方式");
        JSONArray itemOutManages = this.getItemOutManage(pd, result);
        if (itemOutManages == null || itemOutManages.size() == 0) {
            return;
@@ -807,18 +822,19 @@
            dataObj = itemOutManages.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(dataObj.getString("applyOrderId"));
            row.createCell(1).setCellValue(dataObj.getString("resourceNames"));
            row.createCell(2).setCellValue(dataObj.getString("userName"));
            row.createCell(3).setCellValue(dataObj.getString("createUserName"));
            row.createCell(4).setCellValue(dataObj.getString("createTime"));
            row.createCell(5).setCellValue(dataObj.getString("stateName"));
            row.createCell(2).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(3).setCellValue(dataObj.getString("userName"));
            row.createCell(4).setCellValue(dataObj.getString("createUserName"));
            row.createCell(5).setCellValue(dataObj.getString("createTime"));
            row.createCell(6).setCellValue(dataObj.getString("stateName"));
            //获取出库方式
            String warehousingWay = dataObj.getString("warehousingWay");
            if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("10000")) {
                row.createCell(6).setCellValue("直接出库");
                row.createCell(7).setCellValue("直接出库");
            } else if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("20000")) {
                row.createCell(6).setCellValue("审核出库");
                row.createCell(7).setCellValue("审核出库");
            } else {
                row.createCell(6).setCellValue("--");
                row.createCell(7).setCellValue("--");
            }
        }
    }
@@ -831,12 +847,13 @@
        row.createCell(2).setCellValue("物品类型");
        row.createCell(3).setCellValue("物品名称");
        row.createCell(4).setCellValue("物品规格");
        row.createCell(5).setCellValue("转赠对象ID");
        row.createCell(6).setCellValue("转赠对象");
        row.createCell(7).setCellValue("原有库存");
        row.createCell(8).setCellValue("转赠数量");
        row.createCell(9).setCellValue("创建时间");
        row.createCell(10).setCellValue("备注");
        row.createCell(5).setCellValue("是否是固定物品");
        row.createCell(6).setCellValue("转赠对象ID");
        row.createCell(7).setCellValue("转赠对象");
        row.createCell(8).setCellValue("原有库存");
        row.createCell(9).setCellValue("转赠数量");
        row.createCell(10).setCellValue("创建时间");
        row.createCell(11).setCellValue("备注");
        JSONArray allocationUserStorehouses = this.getAllocationUserStorehouseManage(pd, result);
        if (allocationUserStorehouses == null || allocationUserStorehouses.size() == 0) {
            return;
@@ -847,15 +864,16 @@
            dataObj = allocationUserStorehouses.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(dataObj.getString("ausId"));
            row.createCell(1).setCellValue(dataObj.getString("resId"));
            row.createCell(2).setCellValue(dataObj.getString("rstName"));
            row.createCell(2).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
            row.createCell(3).setCellValue(dataObj.getString("resName"));
            row.createCell(4).setCellValue(dataObj.getString("specName"));
            row.createCell(5).setCellValue(dataObj.getString("acceptUserId"));
            row.createCell(6).setCellValue(dataObj.getString("acceptUserName"));
            row.createCell(7).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
            row.createCell(8).setCellValue(dataObj.getString("giveQuantity") + dataObj.getString("miniUnitCodeName"));
            row.createCell(9).setCellValue(dataObj.getString("createTime"));
            row.createCell(10).setCellValue(dataObj.getString("remark"));
            row.createCell(5).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(6).setCellValue(dataObj.getString("acceptUserId"));
            row.createCell(7).setCellValue(dataObj.getString("acceptUserName"));
            row.createCell(8).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
            row.createCell(9).setCellValue(dataObj.getString("giveQuantity") + dataObj.getString("miniUnitCodeName"));
            row.createCell(10).setCellValue(dataObj.getString("createTime"));
            row.createCell(11).setCellValue(dataObj.getString("remark"));
        }
    }
@@ -868,12 +886,14 @@
        row.createCell(3).setCellValue("物品类型");
        row.createCell(4).setCellValue("物品名称");
        row.createCell(5).setCellValue("物品规格");
        row.createCell(6).setCellValue("物品使用数量");
        row.createCell(7).setCellValue("物品价格");
        row.createCell(8).setCellValue("使用人ID");
        row.createCell(9).setCellValue("使用人");
        row.createCell(10).setCellValue("创建时间");
        row.createCell(11).setCellValue("备注");
        row.createCell(6).setCellValue("是否是固定物品");
        row.createCell(7).setCellValue("物品使用类型");
        row.createCell(8).setCellValue("物品使用数量");
        row.createCell(9).setCellValue("物品价格");
        row.createCell(10).setCellValue("使用人ID");
        row.createCell(11).setCellValue("使用人");
        row.createCell(12).setCellValue("创建时间");
        row.createCell(13).setCellValue("备注");
        JSONArray resourceStoreUseRecords = this.getResourceStoreUseRecordManage(pd, result);
        if (resourceStoreUseRecords == null || resourceStoreUseRecords.size() == 0) {
            return;
@@ -885,15 +905,17 @@
            row.createCell(0).setCellValue(dataObj.getString("rsurId"));
            row.createCell(1).setCellValue(dataObj.getString("repairId"));
            row.createCell(2).setCellValue(dataObj.getString("resId"));
            row.createCell(3).setCellValue(dataObj.getString("rstName"));
            row.createCell(3).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
            row.createCell(4).setCellValue(dataObj.getString("resourceStoreName"));
            row.createCell(5).setCellValue(dataObj.getString("specName"));
            row.createCell(6).setCellValue(dataObj.getString("quantity") + dataObj.getString("miniUnitCodeName"));
            row.createCell(7).setCellValue(dataObj.getString("unitPrice"));
            row.createCell(8).setCellValue(dataObj.getString("createUserId"));
            row.createCell(9).setCellValue(dataObj.getString("createUserName"));
            row.createCell(10).setCellValue(dataObj.getString("createTime"));
            row.createCell(11).setCellValue(dataObj.getString("remark"));
            row.createCell(6).setCellValue(dataObj.getString("isFixedName"));
            row.createCell(7).setCellValue(dataObj.getString("stateName"));
            row.createCell(8).setCellValue(dataObj.getString("quantity") + dataObj.getString("miniUnitCodeName"));
            row.createCell(9).setCellValue(dataObj.getString("unitPrice"));
            row.createCell(10).setCellValue(dataObj.getString("createUserId"));
            row.createCell(11).setCellValue(dataObj.getString("createUserName"));
            row.createCell(12).setCellValue(dataObj.getString("createTime"));
            row.createCell(13).setCellValue(dataObj.getString("remark"));
        }
    }
@@ -1028,7 +1050,7 @@
        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
        reqJson.put("page", 1);
        reqJson.put("row", 10000);
        apiUrl = "reportFeeMonthStatistics/queryPayFeeDetail" + mapToUrlParam(reqJson);
        apiUrl = "/reportFeeMonthStatistics/queryPayFeeDetail" + mapToUrlParam(reqJson);
        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
        if (responseEntity.getStatusCode() != HttpStatus.OK) { //跳过 保存单元信息
            return null;
@@ -1051,7 +1073,7 @@
        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
        reqJson.put("page", 1);
        reqJson.put("row", 10000);
        apiUrl = "reportFeeMonthStatistics/queryRepair" + mapToUrlParam(reqJson);
        apiUrl = "/reportFeeMonthStatistics/queryRepair" + mapToUrlParam(reqJson);
        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
        if (responseEntity.getStatusCode() != HttpStatus.OK) { //跳过 保存单元信息
            return null;
@@ -1197,7 +1219,7 @@
        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
        reqJson.put("page", 1);
        reqJson.put("row", 10000);
        apiUrl = "/purchaseApplyDetail.listPurchaseApplyDetails" + mapToUrlParam(reqJson);
        apiUrl = "purchaseApplyDetail.listPurchaseApplyDetails" + mapToUrlParam(reqJson);
        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
        if (responseEntity.getStatusCode() != HttpStatus.OK) { //跳过 保存单元信息
            return null;
@@ -1221,7 +1243,7 @@
        reqJson.put("userId", pd.getUserId());
        reqJson.put("page", 1);
        reqJson.put("row", 10000);
        apiUrl = "/resourceStore.listAllocationStorehouseApplys" + mapToUrlParam(reqJson);
        apiUrl = "resourceStore.listAllocationStorehouseApplys" + mapToUrlParam(reqJson);
        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
        if (responseEntity.getStatusCode() != HttpStatus.OK) { //跳过 保存单元信息
            return null;
@@ -1434,7 +1456,7 @@
        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
        reqJson.put("page", 1);
        reqJson.put("row", 10001);
        apiUrl ="/reportFeeYearCollection/queryReportFeeYear" + mapToUrlParam(reqJson);
        apiUrl = "/reportFeeYearCollection/queryReportFeeYear" + mapToUrlParam(reqJson);
        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
        if (responseEntity.getStatusCode() != HttpStatus.OK) { //跳过 保存单元信息
            return null;
@@ -1456,10 +1478,12 @@
        Row row = sheet.createRow(0);
        row.createCell(0).setCellValue("费用编号");
        row.createCell(1).setCellValue("房号");
        row.createCell(2).setCellValue("费用项");
        row.createCell(3).setCellValue("费用开始时间");
        row.createCell(4).setCellValue("欠费时长(天)");
        row.createCell(5).setCellValue("欠费金额");
        row.createCell(2).setCellValue("业主");
        row.createCell(3).setCellValue("面积");
        row.createCell(4).setCellValue("费用项");
        row.createCell(5).setCellValue("费用开始时间");
        row.createCell(6).setCellValue("欠费时长(天)");
        row.createCell(7).setCellValue("欠费金额");
        //查询楼栋信息
        JSONArray rooms = this.getReportOweFeeDetail(pd, result);
        if (rooms == null || rooms.size() == 0) {
@@ -1471,10 +1495,12 @@
            dataObj = rooms.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(roomIndex + 1);
            row.createCell(1).setCellValue(dataObj.getString("objName"));
            row.createCell(2).setCellValue(dataObj.getString("feeName"));
            row.createCell(3).setCellValue(dataObj.getString("feeCreateTime"));
            row.createCell(4).setCellValue(dataObj.getString("oweDay"));
            row.createCell(5).setCellValue(dataObj.getString("oweAmount"));
            row.createCell(2).setCellValue(dataObj.getString("ownerName"));
            row.createCell(3).setCellValue(dataObj.getString("builtUpArea"));
            row.createCell(4).setCellValue(dataObj.getString("feeName"));
            row.createCell(5).setCellValue(dataObj.getString("feeCreateTime"));
            row.createCell(6).setCellValue(dataObj.getString("oweDay"));
            row.createCell(7).setCellValue(dataObj.getString("oweAmount"));
        }
    }
@@ -1483,11 +1509,13 @@
        Row row = sheet.createRow(0);
        row.createCell(0).setCellValue("费用编号");
        row.createCell(1).setCellValue("房号");
        row.createCell(2).setCellValue("费用项");
        row.createCell(3).setCellValue("费用开始时间");
        row.createCell(4).setCellValue("费用结束时间");
        row.createCell(5).setCellValue("应收金额");
        row.createCell(6).setCellValue("实收金额");
        row.createCell(2).setCellValue("业主");
        row.createCell(3).setCellValue("面积");
        row.createCell(4).setCellValue("费用项");
        row.createCell(5).setCellValue("费用开始时间");
        row.createCell(6).setCellValue("费用结束时间");
        row.createCell(7).setCellValue("应收金额");
        row.createCell(8).setCellValue("实收金额");
        //查询楼栋信息
        JSONArray rooms = this.getReportFeeDetail(pd, result);
        if (rooms == null || rooms.size() == 0) {
@@ -1499,11 +1527,13 @@
            dataObj = rooms.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(roomIndex + 1);
            row.createCell(1).setCellValue(dataObj.getString("objName"));
            row.createCell(2).setCellValue(dataObj.getString("feeName"));
            row.createCell(3).setCellValue(dataObj.getString("feeCreateTime"));
            row.createCell(4).setCellValue(dataObj.getString("deadlineTime"));
            row.createCell(5).setCellValue(dataObj.getString("receivableAmount"));
            row.createCell(6).setCellValue(dataObj.getString("receivedAmount"));
            row.createCell(2).setCellValue(dataObj.getString("ownerName"));
            row.createCell(3).setCellValue(dataObj.getString("builtUpArea"));
            row.createCell(4).setCellValue(dataObj.getString("feeName"));
            row.createCell(5).setCellValue(dataObj.getString("feeCreateTime"));
            row.createCell(6).setCellValue(dataObj.getString("deadlineTime"));
            row.createCell(7).setCellValue(dataObj.getString("receivableAmount"));
            row.createCell(8).setCellValue(dataObj.getString("receivedAmount"));
        }
    }
@@ -1559,26 +1589,35 @@
        row.createCell(0).setCellValue("费用编号");
        row.createCell(1).setCellValue("费用类型");
        row.createCell(2).setCellValue("费用项");
        row.createCell(3).setCellValue("费用开始时间");
        row.createCell(4).setCellValue("应收金额");
        row.createCell(5).setCellValue("实收金额");
        row.createCell(6).setCellValue("欠费金额");
        row.createCell(3).setCellValue("历史欠费(单位:元)");
        row.createCell(4).setCellValue("当月应收(单位:元)");
        row.createCell(5).setCellValue("当月实收(单位:元)");
        row.createCell(6).setCellValue("欠费追回(单位:元)");
        row.createCell(7).setCellValue("预交费用(单位:元)");
        row.createCell(8).setCellValue("欠费金额(单位:元)");
        //查询楼栋信息
        JSONArray rooms = this.getReportFeeBreakdown(pd, result);
        if (rooms == null || rooms.size() == 0) {
            return;
        }
        JSONObject dataObj = null;
        BigDecimal oweFeeDec = 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(1).setCellValue(dataObj.getString("feeTypeCd"));
            row.createCell(2).setCellValue(dataObj.getString("feeName"));
            row.createCell(3).setCellValue(dataObj.getString("feeCreateTime"));
            row.createCell(4).setCellValue(dataObj.getString("receivableAmount"));
            row.createCell(5).setCellValue(dataObj.getString("receivedAmount"));
            row.createCell(6).setCellValue(dataObj.getString("oweAmount"));
            row.createCell(3).setCellValue(dataObj.getString("hisOweAmount"));
            row.createCell(4).setCellValue(dataObj.getString("curReceivableAmount"));
            row.createCell(5).setCellValue(dataObj.getString("curReceivedAmount"));
            row.createCell(6).setCellValue(dataObj.getString("hisOweReceivedAmount"));
            row.createCell(7).setCellValue(dataObj.getString("preReceivedAmount"));
            oweFeeDec = new BigDecimal(Double.parseDouble(dataObj.getString("hisOweAmount")))
                    .add(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivableAmount"))))
                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivedAmount"))))
                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("hisOweReceivedAmount")))).setScale(2, BigDecimal.ROUND_HALF_UP);
            row.createCell(8).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
        }
    }
@@ -1611,24 +1650,35 @@
        row.createCell(0).setCellValue("日期");
        row.createCell(1).setCellValue("楼栋");
        row.createCell(2).setCellValue("单元");
        row.createCell(3).setCellValue("应收金额");
        row.createCell(4).setCellValue("实收金额");
        row.createCell(5).setCellValue("欠费金额");
        row.createCell(3).setCellValue("历史欠费(单位:元)");
        row.createCell(4).setCellValue("当月应收(单位:元)");
        row.createCell(5).setCellValue("当月实收(单位:元)");
        row.createCell(6).setCellValue("欠费追回(单位:元)");
        row.createCell(7).setCellValue("预交费用(单位:元)");
        row.createCell(8).setCellValue("欠费金额(单位:元)");
        //查询楼栋信息
        JSONArray rooms = this.getReportFloorUnitFeeSummary(pd, result);
        if (rooms == null || rooms.size() == 0) {
            return;
        }
        JSONObject dataObj = null;
        BigDecimal oweFeeDec = null;
        for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
            row = sheet.createRow(roomIndex + 1);
            dataObj = rooms.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(dataObj.getString("feeYear") + "年" + dataObj.getString("feeMonth") + "月");
            row.createCell(1).setCellValue(dataObj.getString("floorNum") + "栋");
            row.createCell(2).setCellValue(dataObj.getString("unitNum") + "单元");
            row.createCell(3).setCellValue(dataObj.getString("receivableAmount"));
            row.createCell(4).setCellValue(dataObj.getString("receivedAmount"));
            row.createCell(5).setCellValue(dataObj.getString("oweAmount"));
            row.createCell(3).setCellValue(dataObj.getString("hisOweAmount"));
            row.createCell(4).setCellValue(dataObj.getString("curReceivableAmount"));
            row.createCell(5).setCellValue(dataObj.getString("curReceivedAmount"));
            row.createCell(6).setCellValue(dataObj.getString("hisOweReceivedAmount"));
            row.createCell(7).setCellValue(dataObj.getString("preReceivedAmount"));
            oweFeeDec = new BigDecimal(Double.parseDouble(dataObj.getString("hisOweAmount")))
                    .add(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivableAmount"))))
                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivedAmount"))))
                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("hisOweReceivedAmount")))).setScale(2, BigDecimal.ROUND_HALF_UP);
            row.createCell(8).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
        }
    }
@@ -1696,22 +1746,33 @@
        Sheet sheet = workbook.createSheet("费用汇总表");
        Row row = sheet.createRow(0);
        row.createCell(0).setCellValue("日期");
        row.createCell(1).setCellValue("应收金额");
        row.createCell(2).setCellValue("实收金额");
        row.createCell(3).setCellValue("欠费金额");
        row.createCell(1).setCellValue("历史欠费(单位:元)");
        row.createCell(2).setCellValue("当月应收(单位:元)");
        row.createCell(3).setCellValue("当月实收(单位:元)");
        row.createCell(4).setCellValue("欠费追回(单位:元)");
        row.createCell(5).setCellValue("预交费用(单位:元)");
        row.createCell(6).setCellValue("欠费金额(单位:元)");
        //查询楼栋信息
        JSONArray rooms = this.getReportFeeSummaryFee(pd, componentValidateResult);
        if (rooms == null || rooms.size() == 0) {
            return;
        }
        JSONObject dataObj = null;
        BigDecimal oweFeeDec = null;
        for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
            row = sheet.createRow(roomIndex + 1);
            dataObj = rooms.getJSONObject(roomIndex);
            row.createCell(0).setCellValue(dataObj.getString("feeYear") + "年" + dataObj.getString("feeMonth") + "月");
            row.createCell(1).setCellValue(dataObj.getString("receivableAmount"));
            row.createCell(2).setCellValue(dataObj.getString("receivedAmount"));
            row.createCell(3).setCellValue(dataObj.getString("oweAmount"));
            row.createCell(1).setCellValue(dataObj.getString("hisOweAmount"));
            row.createCell(2).setCellValue(dataObj.getString("curReceivableAmount"));
            row.createCell(3).setCellValue(dataObj.getString("curReceivedAmount"));
            row.createCell(4).setCellValue(dataObj.getString("hisOweReceivedAmount"));
            row.createCell(5).setCellValue(dataObj.getString("preReceivedAmount"));
            oweFeeDec = new BigDecimal(Double.parseDouble(dataObj.getString("hisOweAmount")))
                    .add(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivableAmount"))))
                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivedAmount"))))
                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("hisOweReceivedAmount")))).setScale(2, BigDecimal.ROUND_HALF_UP);
            row.createCell(6).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
        }
    }