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.community.CommunityDto;
|
import com.java110.dto.importData.Vtil;
|
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<PhoneBillFlow> phoneBillFlows = new ArrayList<PhoneBillFlow>();
|
|
|
Sheet sheet = null;
|
sheet = ImportExcelUtils.getSheet(workbook, "话费流水");
|
List<Object[]> 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(Vtil.defaultValue(paramIn.getString("userId")));
|
po.setConfigId(Vtil.defaultValue(paramIn.getString("configId"),"9220260120546511533"));
|
po.setFeeTypeCd(Vtil.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());
|
}
|
|
}
|