package com.java110.api.importData.adapt; import com.alibaba.fastjson.JSONObject; import com.java110.api.components.ValueUtil; import com.java110.api.importData.DefaultImportDataAdapt; import com.java110.api.importData.IImportDataCleaningAdapt; import com.java110.dto.community.CommunityDto; import com.java110.dto.system.ComponentValidateResult; import com.java110.intf.community.ICommunityInnerServiceSMO; import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.po.meter.MeterWaterPo; import com.java110.po.meter.PhoneBillFlow; import com.java110.utils.util.Assert; import com.java110.utils.util.DateUtil; import com.java110.utils.util.ImportExcelUtils; 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.Date; import java.util.List; /** * 水电抄表 * 方式1 */ @Service("importPhoneBillFeeV2DataCleaning") public class ImportPhoneBillFeeV2DataCleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt { @Autowired private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl; @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Autowired private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; @Override public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception { List phoneBillFlows = new ArrayList(); Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "话费流水"); List oList = ImportExcelUtils.listFromSheet(sheet); for (int osIndex = 0; osIndex < oList.size(); osIndex++) { if (osIndex < 7) { continue; } Object[] os = oList.get(osIndex); if (os[0] == null && os[1] == null) { continue; } Assert.hasValue(os[10], (osIndex + 2) + "行路不能为空"); Assert.hasValue(os[12], (osIndex + 2) + "行门不能为空"); Assert.hasValue(os[15], (osIndex + 2) + "行年不能为空"); Assert.hasValue(os[16], (osIndex + 2) + "行月不能为空"); // Assert.hasValue(os[23], (osIndex + 2) + "行应付账单金额不能为空"); PhoneBillFlow po = new PhoneBillFlow(); po.setCommunityCode(defaultValue(os[0])); po.setCommunityName(defaultValue(os[1])); po.setProfitShareSerial(defaultValue(os[2])); po.setDeviceNumber(defaultValue(os[3])); po.setPayee(defaultValue(os[4])); po.setAccountName(defaultValue(os[5])); po.setHandler(defaultValue(os[6])); po.setIsTransfer(defaultValue(os[7])); po.setTransferredCompany(defaultValue(os[8])); po.setTransferDate(defaultValue(os[9])); po.setRoadName(defaultValue(os[10])); po.setUserId(ValueUtil.defaultValue(paramIn.getString("userId"))); po.setConfigId(ValueUtil.defaultValue(paramIn.getString("configId"),"9220260120546511533")); po.setFeeTypeCd(ValueUtil.defaultValue(paramIn.getString("feeTypeCd"),"630000017")); po.setFloorNum(defaultValue(os[11])); po.setUnitNum(defaultValue(os[12])); po.setRoomNum(defaultValue(os[13])); po.setAddress(defaultValue(os[14])); po.setYear(defaultValue(os[15])); po.setMonth(defaultValue(os[16])); po.setBillCycle(defaultValue(os[17])); po.setLastPaymentDate(defaultValue(os[18])); po.setPackageFixedFee(defaultValue(os[19])); po.setExtraVoiceFee(defaultValue(os[20])); po.setComprehensiveInfoFee(defaultValue(os[21])); po.setOtherFee(defaultValue(os[22])); po.setPayableAmount(defaultValue(os[23])); po.setRemark1(defaultValue(os[24])); po.setInvoicedAmount(defaultValue(os[25])); po.setUninvoicedAmount(defaultValue(os[26])); po.setLateFee(defaultValue(os[27])); po.setSubtotal(defaultValue(os[28])); po.setAffiliatedUnit(defaultValue(os[29])); po.setPaymentDate(defaultValue(os[30])); po.setRemark2(defaultValue(os[31])); po.setDataEntryPerson(defaultValue(os[32])); po.setDataEntryDate(defaultValue(os[33])); try { po.setFinancialAuditor(defaultValue(os[34])); po.setFinancialAuditDate(defaultValue(os[35])); } catch (Exception ignored) {} phoneBillFlows.add(po); } if (phoneBillFlows.isEmpty()) { throw new IllegalArgumentException("模板内未检测到内容"); } return phoneBillFlows; } public String defaultValue(Object o) { return o == null ? "" : o.toString(); } private int defaultInteger(Object o) { return o == null ? 0 : Integer.parseInt(o.toString()); } private Double defaultDouble(Object o) { return o == null ? 0 : Double.parseDouble(o.toString()); } }