chengf
2025-07-22 b63f41b8a0cfce68770e5cb02c8dd3fd994f0c59
service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomFeeDataCleaningAdapt.java
@@ -18,7 +18,9 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 一次性费用导入
@@ -33,27 +35,88 @@
    @Autowired
    private IUserInnerServiceSMO userInnerServiceSMOImpl;
//    @Override
//    public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception {
//        List<ImportRoomFee> importRoomFees = new ArrayList<ImportRoomFee>();
//        if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(paramIn.getString("objType"))) {
//            getRooms(workbook, importRoomFees);
//        }else{
//            getCars(workbook, importRoomFees);
//        }
////        getRoomsAndCars(workbook, importRoomFees);
//        generatorBatch(paramIn);
//        for (ImportRoomFee importRoomFee : importRoomFees) {
//            importRoomFee.setBatchId(paramIn.getString("batchId"));
//            importRoomFee.setUserId(paramIn.getString("userId"));
//            importRoomFee.setStoreId(paramIn.getString("storeId"));
//            importRoomFee.setCommunityId(paramIn.getString("communityId"));
//            importRoomFee.setFeeTypeCd(paramIn.getString("feeTypeCd"));
//            importRoomFee.setObjType(paramIn.getString("objType"));
//
//        }
//        return importRoomFees;
//    }
    @Override
    public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception {
        List<ImportRoomFee> importRoomFees = new ArrayList<ImportRoomFee>();
        if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(paramIn.getString("objType"))) {
            getRooms(workbook, importRoomFees);
        }else{
            getCars(workbook, importRoomFees);
        }
        getRoomsAndCars(workbook, importRoomFees);
        generatorBatch(paramIn);
        for (ImportRoomFee importRoomFee : importRoomFees) {
            importRoomFee.setBatchId(paramIn.getString("batchId"));
            importRoomFee.setUserId(paramIn.getString("userId"));
            importRoomFee.setStoreId(paramIn.getString("storeId"));
            importRoomFee.setCommunityId(paramIn.getString("communityId"));
            importRoomFee.setFeeTypeCd(paramIn.getString("feeTypeCd"));
//            importRoomFee.setFeeTypeCd(paramIn.getString("feeTypeCd"));
            importRoomFee.setObjType(paramIn.getString("objType"));
        }
        return importRoomFees;
    }
    private void getRoomsAndCars(Workbook workbook, List<ImportRoomFee> importRoomFees) {
        Sheet sheet = null;
        sheet = ImportExcelUtils.getSheet(workbook, "房屋费用信息");
        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
        ImportRoomFee importRoomFee = null;
        Map<Integer, Object> debugs = new HashMap<Integer, Object>();
        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
            Object[] os = oList.get(osIndex);
            if (osIndex == 0) { // 第一行是 头部信息 直接跳过
                continue;
            }
            if (os[2] == null) {
                continue;
            }
            if ((StringUtil.isNullOrNone(os[0]) && StringUtil.isNullOrNone(os[1])) || (!StringUtil.isNullOrNone(os[0]) && !StringUtil.isNullOrNone(os[1]))) {
                Assert.hasValue(os[2], (osIndex + 1) + "行请写入费用主体和车牌号其中一列");
                continue;
            }
            Assert.hasValue(os[2], (osIndex + 1) + "行费用类型不能为空");
            Assert.hasValue(os[3], (osIndex + 1) + "行费用项目不能为空");
            String startTime = handleExcelDateString(os[4].toString());
            String endTime = handleExcelDateString(os[5].toString());
            Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "行开始时间格式错误 请填写YYYY/MM/DD 文本格式");
            Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "行结束时间格式错误 请填写YYYY/MM/DD 文本格式");
            importRoomFee = new ImportRoomFee();
            importRoomFee.setPayerObjName(os[0]==null?os[1].toString():os[0].toString());
//            importRoomFee.set
            importRoomFee.setFeeTypeCd(os[2].toString());
            importRoomFee.setFeeName(os[3].toString());
            if(startTime != null){
                importRoomFee.setStartTime(startTime);
            }
            if(endTime != null){
                importRoomFee.setEndTime(endTime);
            }
            importRoomFee.setAmount(os[7].toString());
            importRoomFees.add(importRoomFee);
        }
    }
    /**
     * 获取 房屋信息
     *