package com.java110.job.importData.adapt;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.TypeReference;
|
import com.java110.core.factory.GenerateCodeFactory;
|
import com.java110.dto.community.CommunityDto;
|
import com.java110.dto.contract.*;
|
import com.java110.dto.dict.DictDto;
|
import com.java110.dto.importData.*;
|
import com.java110.dto.log.AssetImportLogDetailDto;
|
import com.java110.dto.oweFeeCallable.OweFeeCallableDto;
|
import com.java110.dto.owner.OwnerDto;
|
import com.java110.fee.dao.IApplyRoomDiscountServiceDao;
|
import com.java110.intf.community.ICommunityInnerServiceSMO;
|
import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO;
|
import com.java110.intf.dev.IDictV1InnerServiceSMO;
|
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
|
import com.java110.intf.store.IContractInnerServiceSMO;
|
import com.java110.intf.user.IOwnerInnerServiceSMO;
|
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
|
import com.java110.job.importData.DefaultImportData;
|
import com.java110.job.importData.IImportDataAdapt;
|
import com.java110.po.community.CommunityPo;
|
import com.java110.po.contract.ContractPo;
|
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
|
import com.java110.po.owner.OwnerPo;
|
import com.java110.po.room.ApplyRoomDiscountPo;
|
import com.java110.po.room.LitigationInfoPo;
|
import com.java110.po.room.PayeeReceiveInfoPo;
|
import com.java110.utils.util.BeanConvertUtil;
|
import org.mybatis.spring.SqlSessionTemplate;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* 房产信息导入 适配器
|
* 前端请求 时 必须传入
|
* param.append('importAdapt', "importRoomOwner");
|
*/
|
@Service("importContractV2QueueData")
|
public class ImportContractQueueDataAdapt extends DefaultImportData implements IImportDataAdapt {
|
|
@Autowired
|
protected SqlSessionTemplate sqlSessionTemplate;
|
|
@Autowired
|
private IContractInnerServiceSMO contractInnerServiceSMOImpl;
|
|
@Autowired
|
private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
|
|
@Override
|
public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
|
importDatas(assetImportLogDetailDtos);
|
}
|
|
private void importDatas(List<AssetImportLogDetailDto> infos) {
|
String state = "";
|
String msg = "";
|
for (AssetImportLogDetailDto assetImportLogDetailDto : infos) {
|
try {
|
doImportData(assetImportLogDetailDto);
|
updateImportLogDetailState(assetImportLogDetailDto.getDetailId());
|
} catch (Exception e) {
|
e.printStackTrace();
|
updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
|
}
|
}
|
|
}
|
|
/**
|
* 导入数据
|
*
|
* @param assetImportLogDetailDto
|
*/
|
private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) {
|
JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
|
AdContractInfoDto adContractInfo = data.getObject("adContractInfo", AdContractInfoDto.class);
|
ContractAmountDetailDto contractAmountDetail = data.getObject("contractAmountDetail", ContractAmountDetailDto.class);
|
ContractManagementShareDto contractManagementShare = data.getObject("contractManagementShare", ContractManagementShareDto.class);
|
ContractPaymentStatusDto contractPaymentStatus = data.getObject("contractPaymentStatus", ContractPaymentStatusDto.class);
|
List<ContractCollectionDetailDto> contractCollectionDetail = data.getObject("contractCollectionDetailDtos", new TypeReference<List<ContractCollectionDetailDto>>() {}); data.remove("adContractInfo");
|
data.remove("contractAmountDetail");
|
data.remove("contractManagementShare");
|
data.remove("contractPaymentStatus");
|
ContractDto contractDto = BeanConvertUtil.covertBean(data, ContractDto.class);
|
// ContractPo contractPo = BeanConvertUtil.covertBean(data, ContractPo.class);
|
contractDto.setContractAmountDetail(contractAmountDetail);
|
contractDto.setContractManagementShare(contractManagementShare);
|
contractDto.setAdContractInfo(adContractInfo);
|
contractDto.setContractPaymentStatus(contractPaymentStatus);
|
contractDto.setContractCollectionDetailDtos(contractCollectionDetail);
|
contractDto.setStartTime(Vtil.defaultValueToDate(contractDto.getStartTime(), "start", null));
|
contractDto.setEndTime(Vtil.defaultValueToDate(contractDto.getEndTime(), "end", null));
|
// int i = contractInnerServiceSMOImpl.queryContractsCount(contractDto);
|
//
|
// if (i > 0) {
|
// throw new IllegalArgumentException("重复的合同");
|
// }
|
if (Vtil.defaultValue(contractDto.getCommunityName()) != null) {
|
CommunityDto community = new CommunityDto();
|
community.setName(contractDto.getCommunityName());
|
List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(community);
|
if (communityDtos == null || communityDtos.size() == 0) {
|
// throw new IllegalArgumentException("未查询到" + community.getName() + "小区");
|
}
|
else {
|
contractDto.setCommunityId(communityDtos.get(0).getCommunityId());
|
}
|
}
|
contractInnerServiceSMOImpl.saveContract(contractDto);
|
sqlSessionTemplate.insert("adContractInfoDaoImpl.saveAdContractInfo", BeanConvertUtil.beanCovertMap(contractDto.getAdContractInfo()));
|
sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", BeanConvertUtil.beanCovertMap(contractDto.getContractAmountDetail()));
|
sqlSessionTemplate.insert("contractManagementShareDaoImpl.saveContractManagementShare", BeanConvertUtil.beanCovertMap(contractDto.getContractManagementShare()));
|
sqlSessionTemplate.insert("contractPaymentStatusDaoImpl.saveContractPaymentStatus", BeanConvertUtil.beanCovertMap(contractDto.getContractPaymentStatus()));
|
if (contractDto.getContractCollectionDetailDtos() != null) {
|
for (ContractCollectionDetailDto ccd : contractDto.getContractCollectionDetailDtos()){
|
sqlSessionTemplate.insert("contractCollectionDetailDaoImpl.saveContractCollectionDetail", BeanConvertUtil.beanCovertMap(ccd));
|
}
|
}
|
|
}
|
|
private String defaultValueToDate(Object o) {
|
return o == null ? null : o.toString();
|
}
|
|
public String defaultValue(Object o) {
|
return o == null ? "" : o.toString();
|
}
|
|
|
public BigDecimal defaultNum(Object o) {
|
return o == null ? new BigDecimal(0) : new BigDecimal(o.toString());
|
}
|
}
|