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.contract.ContractDto; import com.java110.dto.contract.ContractPartyaDto; import com.java110.dto.system.ComponentValidateResult; import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO; import com.java110.intf.store.IContractInnerServiceSMO; import com.java110.intf.store.IContractPartyaInnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.po.contract.ContractPo; 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("importContractDataCleaning") public class ImportContractDataCleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt { @Autowired private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl; @Autowired private IContractInnerServiceSMO contractInnerServiceSMOImpl; @Autowired private IContractPartyaInnerServiceSMO contractPartyaInnerServiceSMOImpl; @Override public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception { generatorBatch(paramIn); List whiteLists = new ArrayList(); //获取车辆信息 getConctractDtos(workbook, whiteLists); for (ContractPo whiteList : whiteLists){ whiteList.setCommunityId(paramIn.getString("communityId")); whiteList.setStoreId(paramIn.getString("storeId")); whiteList.setStartUserId(paramIn.getString("userId")); whiteList.setObjType("1111"); } return whiteLists; } private void getConctractDtos(Workbook workbook, List whiteLists) { Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "起草合同模板"); List oList = ImportExcelUtils.listFromSheet(sheet); ContractPo contractDto = null; for (int osIndex = 0; osIndex < oList.size(); osIndex++) { Object[] os = oList.get(osIndex); if (osIndex == 0 || osIndex == 1) { // 第一行是 头部信息 直接跳过 continue; } if (StringUtil.isNullOrNone(os[0])) { continue; } Assert.hasValue(os[0], (osIndex + 1) + "行收费日期不能为空"); contractDto = new ContractPo(); try{ String startTime = excelDoubleToDate(os[14].toString()); String endTime = excelDoubleToDate(os[15].toString()); String createTime = excelDoubleToDate(os[16].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 文本格式"); Assert.isDate(createTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "行签订时间格式错误 请填写YYYY-MM-DD 文本格式"); contractDto.setStartTime(startTime); contractDto.setEndTime(endTime); contractDto.setSigningTime(createTime); }catch (Exception e){ throw new IllegalArgumentException("请填写"+(osIndex+1)+"行"+oList.get(1)[14].toString()+"/"+oList.get(1)[15].toString()+"/"+oList.get(1)[16].toString()); } // 01257101112131415 try { contractDto.setContractName(os[0].toString()); contractDto.setContractCode(os[1].toString()); contractDto.setaPartyaId(os[2].toString()); contractDto.setbPartyaId(os[5].toString()); contractDto.setOperator(os[11].toString()); contractDto.setOperatorLink(os[12].toString()); contractDto.setAmount(os[13].toString()); } catch (Exception e) { throw new IllegalArgumentException("请填写第"+(osIndex+1)+"行完整信息"); } contractDto.setaContacts(!StringUtil.isNullOrNone(os[3]) ? os[3].toString() : null); contractDto.setaLink(!StringUtil.isNullOrNone(os[4]) ? os[4].toString() : null); contractDto.setbContacts(!StringUtil.isNullOrNone(os[6]) ? os[6].toString() : null); contractDto.setbLink(!StringUtil.isNullOrNone(os[7]) ? os[7].toString() : null); contractDto.setcPartyaId(!StringUtil.isNullOrNone(os[8]) ? os[8].toString() : null); contractDto.setcContacts(!StringUtil.isNullOrNone(os[9]) ? os[9].toString() : null); contractDto.setcLink(!StringUtil.isNullOrNone(os[10]) ? os[10].toString() : null); contractDto.setContractType(!StringUtil.isNullOrNone(os[17]) ? os[17].toString() : null); contractDto.setStatusCd("0"); contractDto.setObjId("-1"); whiteLists.add(contractDto); } } }