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<ContractPo> whiteLists = new ArrayList<ContractPo>();
|
//获取车辆信息
|
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<ContractPo> whiteLists) {
|
Sheet sheet = null;
|
sheet = ImportExcelUtils.getSheet(workbook, "起草合同模板");
|
List<Object[]> 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);
|
}
|
}
|
}
|