package com.java110.api.importData.adapt; import com.alibaba.fastjson.JSONObject; import com.java110.api.importData.DefaultImportDataAdapt; import com.java110.api.importData.IImportDataCleaningAdapt; import com.java110.dto.PropertyWhiteListFlowDto; import com.java110.dto.importData.ImportRoomFee; import com.java110.dto.system.ComponentValidateResult; import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.utils.util.Assert; import com.java110.utils.util.DateUtil; import com.java110.utils.util.ImportExcelUtils; import com.java110.utils.util.StringUtil; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service("importPropertyWhiteListfFlowDataCleaning") public class ImportPropertyWhiteListfFlowAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt { @Autowired private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl; @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Override public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception { generatorBatch(paramIn); List whiteLists = new ArrayList(); //获取车辆信息 getPropertyWhiteListFlowDtos(workbook, whiteLists); for (PropertyWhiteListFlowDto whiteList : whiteLists){ whiteList.setCommunityId(paramIn.getString("communityId")); } return whiteLists; } private void getPropertyWhiteListFlowDtos(Workbook workbook, List whiteLists) { Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "白单流水(归档数据)"); List oList = ImportExcelUtils.listFromSheet(sheet); PropertyWhiteListFlowDto white = null; for (int osIndex = 0; osIndex < oList.size(); osIndex++) { Object[] os = oList.get(osIndex); if (osIndex == 0) { // 第一行是 头部信息 直接跳过 continue; } if (StringUtil.isNullOrNone(os[0])) { continue; } Assert.hasValue(os[0], (osIndex + 1) + "行收费日期不能为空"); white = new PropertyWhiteListFlowDto(); String chargeTime = excelDoubleToDate(os[0].toString()); String changeStart = os[21] == null ? null : excelDoubleToDate(os[21].toString()); String changeEnd = os[22] == null ? null : excelDoubleToDate(os[22].toString()); String bankDepositDate = os[8] == null ? null : excelDoubleToDate(os[8].toString()); String inputTime = null; if(os[16] != null){ inputTime = excelDoubleToDate(os[16].toString().split("\\.")[0]); } white.setChargeTime(chargeTime); white.setInvoiceReceiptNo(os[1] == null ? null : os[1].toString()); white.setRoomId(os[2] == null ? null : os[2].toString()); white.setPropertyAddress(os[3] == null ? null : os[3].toString()); white.setDoorRoomNum(os[4] == null ? null : os[4].toString()); white.setSecondaryFeeTypeCd(os[5] == null ? null : os[5].toString()); white.setChargeAmount(os[6] == null ? null : os[6].toString()); white.setCharger(os[7] == null ? null : os[7].toString()); white.setBankDepositDate(bankDepositDate); white.setBankDepositor(os[9] == null ? null : os[9].toString()); white.setSplitBankDepositAmount(os[10] == null ? null : os[10].toString()); white.setBankDepositAmount(os[11] == null ? null : os[11].toString()); white.setCheckAmount(os[12] == null ? null : os[12].toString()); white.setWhiteListArchiveNo(os[13] == null ? null : os[13].toString()); white.setSheetCount(os[14] == null ? null : os[14].toString()); white.setFinancialReceiver(os[15] == null ? null : os[15].toString()); white.setInputTime(inputTime); white.setInputPerson(os[17] == null ? null : os[17].toString()); white.setOrderNo(os[18] == null ? null : os[18].toString()); white.setLicensePlate(os[19] == null ? null : os[19].toString()); white.setCategory22(os[20] == null ? null : os[20].toString()); if (os.length > 23){ white.setFrequency(os[23] == null ? null : os[23].toString()); } white.setChargeStart(changeStart); white.setChargeEnd(changeEnd); white.setRow(osIndex + 1); whiteLists.add(white); } } /** * 生成批次号 * * @param reqJson */ }