package com.java110.job.importData.adapt;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.java110.core.factory.GenerateCodeFactory;
|
import com.java110.dto.community.CommunityDto;
|
import com.java110.dto.dict.DictDto;
|
import com.java110.dto.fee.FeeConfigDto;
|
import com.java110.dto.importData.*;
|
import com.java110.dto.log.AssetImportLogDetailDto;
|
import com.java110.dto.oweFeeCallable.OweFeeCallableDto;
|
import com.java110.dto.owner.OwnerCarDto;
|
import com.java110.dto.owner.OwnerDto;
|
import com.java110.dto.owner.OwnerRoomRelDto;
|
import com.java110.dto.parking.ParkingAreaDto;
|
import com.java110.dto.parking.ParkingSpaceDto;
|
import com.java110.dto.room.RoomDto;
|
import com.java110.fee.dao.IApplyRoomDiscountServiceDao;
|
import com.java110.intf.community.*;
|
import com.java110.intf.dev.IDictV1InnerServiceSMO;
|
import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
|
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
|
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
|
import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
|
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
|
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
|
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
|
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
|
import com.java110.job.importData.DefaultImportData;
|
import com.java110.job.importData.IImportDataAdapt;
|
import com.java110.po.car.OwnerCarPo;
|
import com.java110.po.dict.DictPo;
|
import com.java110.po.fee.FeeAttrPo;
|
import com.java110.po.fee.PayFeePo;
|
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
|
import com.java110.po.owner.OwnerPo;
|
import com.java110.po.parking.ParkingAreaPo;
|
import com.java110.po.parking.ParkingSpacePo;
|
import com.java110.po.room.ApplyRoomDiscountPo;
|
import com.java110.po.room.LitigationInfoPo;
|
import com.java110.utils.util.BeanConvertUtil;
|
import com.java110.utils.util.DateUtil;
|
import com.java110.utils.util.ListUtil;
|
import com.java110.utils.util.StringUtil;
|
import org.mybatis.spring.SqlSessionTemplate;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.security.acl.Owner;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
/**
|
* 车辆导入 适配器
|
* 前端请求 时 必须传入
|
* param.append('importAdapt', "importRoomOwner");
|
*/
|
@Service("importOwnerCarV2QueueData")
|
public class ImportOwnerCarQueueV2DataAdapt extends DefaultImportData implements IImportDataAdapt {
|
|
|
@Autowired
|
private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
|
@Autowired
|
private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMO;
|
|
@Autowired
|
private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMO;
|
|
@Autowired
|
private IApplyRoomDiscountServiceDao applyRoomDiscountServiceDaoImpl;
|
|
|
@Autowired
|
protected SqlSessionTemplate sqlSessionTemplate;
|
|
@Autowired
|
private IDictV1InnerServiceSMO dictV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
|
|
|
@Autowired
|
private IParkingSpaceV1InnerServiceSMO parkingSpaceV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IParkingAreaV1InnerServiceSMO parkingAreaV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IOweFeeCallableV1InnerServiceSMO oweFeeCallableV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IRoomInnerServiceSMO iroomInnerServiceSMOImpl;
|
|
@Autowired
|
ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
|
|
@Autowired
|
IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
|
|
@Autowired
|
private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
|
|
@Override
|
public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
|
importDatas(assetImportLogDetailDtos);
|
}
|
|
private void importDatas(List<AssetImportLogDetailDto> infos) {
|
String state = "";
|
String msg = "";
|
for (AssetImportLogDetailDto assetImportLogDetailDto : infos) {
|
|
try {
|
OwnerCarDto ownerCarDto = null;
|
doImportData(assetImportLogDetailDto,ownerCarDto);
|
updateImportLogDetailState(assetImportLogDetailDto.getDetailId());
|
try {
|
Thread.sleep(1000);
|
} catch (InterruptedException e) {
|
throw new RuntimeException(e);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
|
if (e.getMessage().contains("for column 'end_time' at row 1")){
|
updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), "注销日期格式错误!");
|
}
|
else if (e.getMessage().contains("for column 'start_time' at row 1")){
|
updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), "启用日期格式错误!");
|
}
|
// else if (e.getMessage().contains("### Error updating database")){
|
// updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), "未知错误,请联系管理员");
|
// }
|
else {
|
updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
|
}
|
}
|
}
|
|
}
|
|
/**
|
* 导入数据
|
*
|
* @param assetImportLogDetailDto
|
*/
|
private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto,OwnerCarDto ownerCarDto) throws Exception {
|
|
JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
|
String[] o = JSON.parseObject(data.getString("otherItem"), String[].class);
|
String otherItem = data.getString("otherItem");
|
data.put("otherItem", null);
|
ownerCarDto = BeanConvertUtil.covertBean(data, OwnerCarDto.class);
|
if (ownerCarDto.getOwnerName() == null || "".equals(ownerCarDto.getOwnerName())) {
|
RoomDto roomDto = new RoomDto();
|
roomDto.setRoadName(ownerCarDto.getRoadName());
|
roomDto.setFloorNum(ownerCarDto.getFloorNum());
|
roomDto.setCommunityId(ownerCarDto.getCommunityId());
|
roomDto.setUnitNum(ownerCarDto.getUnitNum());
|
roomDto.setRoomNum(ownerCarDto.getRoomNum());
|
if (Vtil.defaultValue(roomDto.getRoomNum()) == null){
|
roomDto.setPropertyType("商铺");
|
}
|
List<RoomDto> roomDtos = iroomInnerServiceSMOImpl.queryRooms(roomDto);
|
if (roomDtos.isEmpty()) {
|
ownerCarDto.setRemark("房屋:" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + Vtil.defaultValue(ownerCarDto.getRoomNum(),"空") + "未查询到");
|
// throw new IllegalArgumentException("未填写业主且房屋不存在");
|
} else if (roomDtos.size() > 1) {
|
ownerCarDto.setRemark("房屋:" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + Vtil.defaultValue(ownerCarDto.getRoomName()) + "查询到多个房屋");
|
}
|
else {
|
OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
|
ownerRoomRelDto.setRoomId(roomDtos.get(0).getRoomId());
|
List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
|
if (ownerRoomRelDtos.isEmpty()) {
|
ownerCarDto.setRemark("房屋:" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + Vtil.defaultValue(ownerCarDto.getRoomName()) + "未查询到业主");
|
// throw new IllegalArgumentException("未填写业主且该房屋未绑定业主");
|
}
|
else {
|
OwnerDto ownerDto = new OwnerDto();
|
ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
|
List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
|
if (ownerDtos.isEmpty()) {
|
throw new IllegalArgumentException("未知错误:00022");
|
} else {
|
ownerCarDto.setOwnerId(ownerDtos.get(0).getOwnerId());
|
ownerCarDto.setOwnerName(ownerDtos.get(0).getName());
|
}
|
}
|
}
|
} else {
|
OwnerDto ownerDto = new OwnerDto();
|
ownerDto.setName(ownerCarDto.getOwnerName());
|
ownerDto.setCommunityId(ownerCarDto.getCommunityId());
|
List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
|
if (ownerDtos.isEmpty()) {
|
ownerCarDto.setRemark("未查询到业主:" + ownerCarDto.getOwnerName());
|
} else if (ownerDtos.size() > 1) {
|
ownerCarDto.setRemark("存在多个业主:" + ownerCarDto.getOwnerName());
|
} else {
|
ownerCarDto.setOwnerId(ownerDtos.get(0).getOwnerId());
|
}
|
}
|
ownerCarDto.setOtherItem(o);
|
ownerCarDto.setLeaseType("H");
|
CommunityDto communityDto = new CommunityDto();
|
// 原代码
|
Object[] os2 = ownerCarDto.getOtherItem();
|
Object[] os = new Object[102];
|
|
// 数组复制核心代码
|
if (os2.length > 101) {
|
throw new IllegalArgumentException("长度超过限制(100列)");
|
}
|
if (os2 != null) { // 先判空,避免空指针异常
|
// 参数说明:源数组、源数组起始位置、目标数组、目标数组起始位置、复制长度
|
System.arraycopy(os2, 0, os, 0, os2.length);
|
}
|
|
String communityId = ownerCarDto.getCommunityId();
|
JSONArray objects = JSONObject.parseArray(otherItem);
|
while (objects.size() < 100) {
|
objects.add(null); // 也可以填 ""、0 等自定义默认值
|
}
|
|
OwnerCarDto carDto = new OwnerCarDto();
|
carDto.setCommunityId(ownerCarDto.getCommunityId());
|
carDto.setCarNum(ownerCarDto.getCarNum());
|
communityDto.setCommunityCode(defaultValue(os[1]));
|
communityDto.setName(defaultValue(os[2]));
|
if (communityDto.getCommunityCode() == null && communityDto.getName() == null) {
|
throw new IllegalArgumentException("导入失败:小区编码和小区名称都为空");
|
}
|
List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
|
if (communityDtos.isEmpty()) {
|
throw new IllegalArgumentException("不存在的小区:" + communityDto.getCommunityCode() + communityDto.getName() + "");
|
}
|
assetImportLogDetailDto.setCommunityId(communityDtos.get(0).getCommunityId());
|
ownerCarDto.setCommunityId(communityDtos.get(0).getCommunityId());
|
communityDto.setCommunityId(communityDtos.get(0).getCommunityId());
|
|
// //todo 导入业主信息
|
// importOwnerData(ownerCarDto, os);
|
|
OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(ownerCarDto, OwnerCarPo.class);
|
|
|
|
|
ownerCarPo.setStartTime(ownerCarDto.getLogStartTime());
|
ownerCarPo.setEndTime(ownerCarDto.getLogEndTime());
|
|
|
|
//获取房屋名称
|
// String carTypeCd = defaultValue(os[12]);
|
// if (!carTypeCd.equals("")){
|
// DictDto dictDto = new DictDto();
|
// dictDto.setTableName("owner_car");
|
// dictDto.setTableColumns("car_type_cd");
|
// dictDto.setName(carTypeCd);
|
// List<DictDto> dictDtos = dictV1InnerServiceSMOImpl.queryDicts(dictDto);
|
// if (dictDtos.isEmpty()) {
|
// dictDto.setName(null);
|
// List<DictDto> dictDtos1 = dictV1InnerServiceSMOImpl.queryDicts(dictDto);
|
// DictPo dictPo = new DictPo();
|
// dictPo.setTableName("owner_car");
|
// dictPo.setTableColumns("car_type_cd");
|
// dictPo.setName(carTypeCd);
|
// dictPo.setStatusCd(String.valueOf(Integer.parseInt(dictDtos1.get(dictDtos1.size() - 1).getStatusCd()) + 100));
|
// int i = dictV1InnerServiceSMOImpl.saveDict(dictPo);
|
// if (i == 0) {
|
// throw new IllegalArgumentException("添加字典失败!");
|
// }
|
// } else {
|
// ownerCarPo.setCarTypeCd(dictDtos.get(0).getStatusCd());
|
// }
|
// }
|
// else {
|
// ownerCarPo.setCarTypeCd("1001"); //默认主车辆
|
// }
|
|
ownerCarPo.setCarTypeCd("1001"); //默认主车辆
|
int i1 = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(carDto);
|
if (i1 > 0) {
|
carDto.setOwnerId(ownerCarDto.getOwnerId());
|
carDto.setCommunityId(ownerCarDto.getCommunityId());
|
carDto.setParkingType(Vtil.defaultValue(os[13]));
|
carDto.setCarNum(null);
|
carDto.setCarNumLikeRight_(ownerCarDto.getCarNum());
|
carDto.setRoadName(defaultValue(os[3]));
|
carDto.setFloorNum(defaultValue(os[4]));
|
carDto.setUnitNum(defaultValue(os[5]));
|
carDto.setRoomNum(defaultValue(os[6]));
|
carDto.setCarTypeCd(ownerCarPo.getCarTypeCd());
|
carDto.setUnitPricePerMonth(defaultValue(os[18]));
|
int i2 = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(carDto);
|
ownerCarPo.setCarNum(ownerCarDto.getCarNum() + "_" + (i2 + 1));
|
}
|
|
|
ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
|
parkingAreaDto.setNum(ownerCarDto.getAreaNum());
|
parkingAreaDto.setTypeCd(ownerCarDto.getTypeCd());
|
parkingAreaDto.setCommunityId(ownerCarDto.getCommunityId());
|
|
//查询停车场
|
List<ParkingAreaDto> parkingAreaDtos = parkingAreaV1InnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
|
//Assert.listOnlyOne(parkingAreaDtos, "查询停车场错误!");
|
String paId = "";
|
if (ListUtil.isNull(parkingAreaDtos)) {
|
paId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_paId);
|
ParkingAreaPo parkingAreaPo = new ParkingAreaPo();
|
parkingAreaPo.setCommunityId(ownerCarDto.getCommunityId());
|
parkingAreaPo.setNum(ownerCarDto.getAreaNum());
|
parkingAreaPo.setPaId(paId);
|
parkingAreaPo.setTypeCd(ownerCarDto.getTypeCd());
|
parkingAreaPo.setRemark("导入数据");
|
parkingAreaV1InnerServiceSMOImpl.saveParkingArea(parkingAreaPo);
|
} else {
|
paId = parkingAreaDtos.get(0).getPaId();
|
}
|
ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
|
parkingSpaceDto.setNum(ownerCarDto.getNum());
|
parkingSpaceDto.setPaId(paId);
|
parkingSpaceDto.setCommunityId(ownerCarDto.getCommunityId());
|
//查询停车位
|
List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceV1InnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
|
String state = "";
|
String psId = "";
|
if (ListUtil.isNull(parkingSpaceDtos)) {
|
psId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_psId);
|
ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
|
parkingSpacePo.setCommunityId(ownerCarDto.getCommunityId());
|
parkingSpacePo.setNum(ownerCarDto.getNum());
|
parkingSpacePo.setPaId(paId);
|
parkingSpacePo.setParkingType(ParkingSpaceDto.TYPE_CD_COMMON);
|
parkingSpacePo.setState(ParkingSpaceDto.STATE_FREE);
|
parkingSpacePo.setArea("1");
|
parkingSpacePo.setPsId(psId);
|
parkingSpacePo.setRemark("导入数据");
|
parkingSpaceV1InnerServiceSMOImpl.saveParkingSpace(parkingSpacePo);
|
state = ParkingSpaceDto.STATE_FREE;
|
} else {
|
psId = parkingSpaceDtos.get(0).getPsId();
|
//获取停车位状态(出售 S,出租 H ,空闲 F)
|
state = parkingSpaceDtos.get(0).getState();
|
}
|
|
if (!StringUtil.isEmpty(state) && !state.equals("F")) {
|
// throw new IllegalArgumentException(ownerCarDto.getAreaNum() + "停车场-" + ownerCarDto.getNum() + "停车位不是空闲状态!");
|
}
|
ownerCarPo.setPsId(psId);
|
ownerCarPo.setOwnerId(ownerCarDto.getOwnerId());
|
ownerCarPo.setCommunityId(ownerCarDto.getCommunityId());
|
ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
|
ownerCarPo.setMemberId(ownerCarPo.getCarId());
|
ownerCarPo.setState("1001"); //1001 正常状态,2002 车位释放欠费状态,3003 车位释放
|
ownerCarPo.setLeaseType(ownerCarDto.getLeaseType());
|
|
ownerCarPo.setFirstPaymentDate(defaultValue(os[16]));
|
ownerCarPo.setPaymentDeadlineDate(defaultValue(os[17]));
|
ownerCarPo.setUnitPricePerMonth(defaultValue(os[18]));
|
ownerCarPo.setAnnualReceivableAmount(defaultValue(os[19]));
|
|
//-----打折信息 TODO 未添加重复校验
|
if (!defaultValue(objects.get(21)).isEmpty()) {
|
ApplyRoomDiscountPo applyRoomDiscountPo = new ApplyRoomDiscountPo();//打折
|
applyRoomDiscountPo.setArdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ardId));
|
applyRoomDiscountPo.setCommunityId(communityId);
|
RoomDto roomDto = new RoomDto();
|
roomDto.setCommunityId(communityId);
|
roomDto.setRoadName(defaultValue(os[3]));
|
roomDto.setFloorNum(defaultValue(os[4]));
|
roomDto.setUnitNum(defaultValue(os[5]));
|
roomDto.setRoomNum(defaultValue(os[6]));
|
if (roomDto.getRoomNum() == null || roomDto.getRoomNum().equals("")) {
|
roomDto.setPropertyType("商铺");
|
}
|
List<RoomDto> roomDtos = iroomInnerServiceSMOImpl.queryRooms(roomDto);
|
if (ListUtil.isNull(roomDtos)) {
|
throw new IllegalArgumentException("未查询到房间");
|
}
|
applyRoomDiscountPo.setRoomId(roomDtos.get(0).getRoomId());
|
applyRoomDiscountPo.setRoomName(roomDtos.get(0).getPropertyAddress());
|
applyRoomDiscountPo.setDiscountId("132025112781200067");
|
applyRoomDiscountPo.setApplyType("152025112756040048");
|
// applyRoomDiscountPo.setFixedDiscountValue(defaultNum(objects.get(36)));
|
// applyRoomDiscountPo.setDiscountedAmount(defaultNum(objects.get(37)));
|
// 2. 定义格式化器(注意:SimpleDateFormat 线程不安全,每次使用新建实例)
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/M");
|
|
try {
|
SimpleDateFormat outputSdf = new SimpleDateFormat("yyyy-MM-dd");
|
applyRoomDiscountPo.setStartTime(outputSdf.format(sdf.parse(defaultValue(objects.get(21)))));
|
applyRoomDiscountPo.setEndTime(outputSdf.format(sdf.parse(defaultValue(objects.get(22)))));
|
}catch (Exception e){
|
throw new IllegalArgumentException("导入失败:处理折扣日期区间时出错");
|
}
|
applyRoomDiscountPo.setDiscountArchiveDate(defaultValue(objects.get(24)));
|
applyRoomDiscountPo.setCreateRemark(defaultValue(objects.get(25)));
|
applyRoomDiscountPo.setCheckRemark("审批人:" + defaultValue(objects.get(26)));
|
applyRoomDiscountPo.setReviewRemark("审批人:" + defaultValue(objects.get(27)));
|
applyRoomDiscountPo.setCreateUserName("由系统导入");
|
applyRoomDiscountPo.setState("4");
|
applyRoomDiscountPo.setStatusCd("0");
|
applyRoomDiscountPo.setInUse("0");
|
applyRoomDiscountPo.setReturnWay("1001");
|
applyRoomDiscountPo.setRelatedAttachments(defaultValue(objects.get(29)));
|
try {
|
applyRoomDiscountServiceDaoImpl.saveApplyRoomDiscountInfo(BeanConvertUtil.beanCovertMap(applyRoomDiscountPo));
|
}catch (Exception e){
|
throw new IllegalArgumentException("导入失败");
|
}
|
}
|
|
|
//催收情况
|
if (!defaultValue(objects.get(35)).isEmpty()) {
|
OweFeeCallablePo oweFeeCallablePo = new OweFeeCallablePo();
|
oweFeeCallablePo.setOfcId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
|
oweFeeCallablePo.setAmountdOwed("0");
|
oweFeeCallablePo.setCallableWay(OweFeeCallableDto.CALLABLE_WAY_PRINT);
|
oweFeeCallablePo.setOfcId(GenerateCodeFactory.getGeneratorId("11"));
|
oweFeeCallablePo.setFeeId("");
|
oweFeeCallablePo.setFeeName("导入催收信息");
|
oweFeeCallablePo.setCommunityId(communityId);
|
oweFeeCallablePo.setConfigId("");
|
oweFeeCallablePo.setOwnerId(ownerCarDto.getOwnerId());
|
oweFeeCallablePo.setOwnerName(ownerCarDto.getOwnerName());
|
oweFeeCallablePo.setPayerObjId("");
|
oweFeeCallablePo.setPayerObjName(ownerCarDto.getCarNum());
|
oweFeeCallablePo.setPayerObjType("3333");
|
oweFeeCallablePo.setRemark(defaultValue(objects.get(39)));
|
oweFeeCallablePo.setStaffId("302025062612580518");
|
oweFeeCallablePo.setStaffName("刘志勇");
|
oweFeeCallablePo.setState(OweFeeCallableDto.STATE_COMPLETE);
|
oweFeeCallablePo.setStartTime(defaultValueToDate(objects.get(37)));//TODO 时间段需要拆分
|
oweFeeCallablePo.setEndTime(defaultValueToDate(objects.get(37)));
|
oweFeeCallablePo.setCreateTime(defaultValueToDate(objects.get(35)));
|
int flag = oweFeeCallableV1InnerServiceSMOImpl.saveOweFeeCallable(oweFeeCallablePo);
|
if (flag < 1) {
|
throw new IllegalArgumentException("催收信息导入失败");
|
}
|
|
//中国邮政挂号信
|
for (int i = 0; i < 5 ; i++) {
|
int sum = 41;
|
if (i > 3) {
|
sum ++;
|
}
|
int index = i*2 + sum;
|
if(objects.get(index) == null){
|
break;
|
}
|
HouseMailRecord houseMailRecord = new HouseMailRecord();
|
houseMailRecord.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_houseId));
|
houseMailRecord.setOwnerId(ownerCarDto.getOwnerId());
|
houseMailRecord.setHouseId(ownerCarDto.getCarId());
|
houseMailRecord.setCallableId(oweFeeCallablePo.getOfcId());
|
houseMailRecord.setCreateTime(defaultValueToDate(objects.get(index)));
|
houseMailRecord.setMailNo(defaultValue(objects.get(index+1)));
|
houseMailRecord.setServiceFee("0");
|
houseMailRecord.setMailResult(defaultValue(objects.get(index+2)));
|
houseMailRecord.setRemark(defaultValue(objects.get(53)));
|
|
int save = applyRoomDiscountServiceDaoImpl.saveHouseMailRecord(BeanConvertUtil.beanCovertMap(houseMailRecord));
|
|
if (save < 1) {
|
throw new IllegalArgumentException("电联信息导入失败");
|
}
|
}
|
|
|
//----添加电联
|
List<MailCallRecord> mailCallRecords = new ArrayList<MailCallRecord>();
|
for (int i = 0 ; i < 5 ; i++) {
|
int index = i * 2 + 54;
|
if(defaultValue(objects.get(index)).isEmpty()){
|
// if (i == 0){
|
// MailCallRecord mailCallRecord = new MailCallRecord();
|
// mailCallRecord.setRemark(objects.get(115).toString());
|
//
|
// int save = applyRoomDiscountServiceDaoImpl.saveMailCallRecord(BeanConvertUtil.beanCovertMap(mailCallRecord));
|
// }
|
break;
|
}
|
MailCallRecord mailCallRecord = new MailCallRecord();
|
mailCallRecord.setCallDate(defaultValueToDate(objects.get(index)));
|
mailCallRecord.setCallResult(defaultValue(objects.get(index+1)));
|
// mailCallRecord.setCallContact(defaultValue(objects.get(index+2)));
|
mailCallRecord.setRemark(defaultValue(objects.get(64)));
|
mailCallRecords.add(mailCallRecord);
|
}
|
|
if (mailCallRecords.size() > 0) {
|
Map<String, Object> param = new HashMap<>();
|
param.put("payeeReceiveList", BeanConvertUtil.beanCovertMap(mailCallRecords));
|
|
int insert = sqlSessionTemplate.insert("payeeReceiveInfoServiceDaoImpl.batchSavePayeeReceiveInfo", param);
|
|
if (insert < 1) {
|
throw new IllegalArgumentException("添加电联记录失败");
|
}
|
}
|
//----
|
|
//----法院审理程序72
|
if (!defaultValue(objects.get(72)).isEmpty()) {
|
CourtTrialProcedure courtTrialProcedure = new CourtTrialProcedure();
|
courtTrialProcedure.setCallableId(oweFeeCallablePo.getOfcId());
|
courtTrialProcedure.setOwnerId(ownerCarDto.getOwnerId());
|
courtTrialProcedure.setAcceptCourtName(defaultValue(objects.get(72)));//受理法院名称
|
courtTrialProcedure.setJudgeName(defaultValue(objects.get(73)));//法官姓名
|
courtTrialProcedure.setJudgeContact(defaultValue(objects.get(74)));//法官联系方式
|
courtTrialProcedure.setJudgeNoticeAcceptDate(defaultValueToDate(objects.get(75)));//法官通知受理日期
|
courtTrialProcedure.setCourtMediationDate(defaultValueToDate(objects.get(76)));//法院调解日期
|
courtTrialProcedure.setMediationResult(defaultValue(objects.get(77)));//调解结果
|
courtTrialProcedure.setSubpoenaSignDate(defaultValueToDate(objects.get(78)));//传票签收日
|
courtTrialProcedure.setUndeliveredDate(defaultValueToDate(objects.get(79)));//未送达日期
|
courtTrialProcedure.setCourtSessionDate1(defaultValueToDate(objects.get(80)));//开庭日期1
|
courtTrialProcedure.setCourtSessionDate2(defaultValueToDate(objects.get(81)));//开庭日期2
|
courtTrialProcedure.setCaseNumber(defaultValue(objects.get(82)));//案号
|
courtTrialProcedure.setCourtSessionResult(defaultValue(objects.get(83)));//开庭结果
|
courtTrialProcedure.setJudgmentDate(defaultValueToDate(objects.get(84)));//判决日期
|
courtTrialProcedure.setJudgmentResult(defaultValue(objects.get(85)));//判决结果
|
courtTrialProcedure.setRemark(defaultValue(objects.get(86)));//备注
|
int i = applyRoomDiscountServiceDaoImpl.saveCourtTrialProcedure(BeanConvertUtil.beanCovertMap(courtTrialProcedure));
|
if (i < 1) {
|
throw new IllegalArgumentException("法院审理程序导入失败");
|
}
|
}
|
//-----
|
|
//法院执行程序
|
if (!defaultValue(objects.get(87)).isEmpty()) {
|
CourtExecutionProcedure courtExecutionProcedure = new CourtExecutionProcedure();
|
courtExecutionProcedure.setCallableId(oweFeeCallablePo.getOfcId());
|
courtExecutionProcedure.setOwnerId(ownerCarDto.getOwnerId());
|
courtExecutionProcedure.setApplyTime(defaultValueToDate(objects.get(87)));
|
// courtExecutionProcedure.setJudgmentDocNumber(defaultValue(objects.get(88)));
|
courtExecutionProcedure.setArrearsPeriod(defaultValue(objects.get(88)));
|
courtExecutionProcedure.setArrearsAmount(defaultValue(objects.get(89)));
|
courtExecutionProcedure.setLateFee(defaultValue(objects.get(90)));
|
courtExecutionProcedure.setAcceptanceFee(defaultValue(objects.get(91)));
|
courtExecutionProcedure.setOtherFee(defaultValue(objects.get(92)));
|
courtExecutionProcedure.setTotalAmount(defaultValue(objects.get(93)));
|
courtExecutionProcedure.setRemark(defaultValue(objects.get(99)));
|
|
applyRoomDiscountServiceDaoImpl.saveCourtExecutionProcedure(BeanConvertUtil.beanCovertMap(courtExecutionProcedure));
|
}
|
}
|
|
//产调日期
|
if (!defaultValue(objects.get(65)).isEmpty()) {
|
OwnerPropertySurvey ownerPropertySurvey = new OwnerPropertySurvey();
|
ownerPropertySurvey.setOwnerId(ownerCarDto.getOwnerId());
|
ownerPropertySurvey.setRoomId(ownerCarDto.getCarId());
|
ownerPropertySurvey.setSurveyWarrantApplyDate(defaultValueToDate(objects.get(68)));
|
ownerPropertySurvey.setPropertySurveyDate(defaultValueToDate(objects.get(65)));
|
ownerPropertySurvey.setName(defaultValue(objects.get(66)));
|
ownerPropertySurvey.setExtraDate(defaultValueToDate(objects.get(67)));
|
int save = applyRoomDiscountServiceDaoImpl.saveOwnerPropertySurvey(BeanConvertUtil.beanCovertMap(ownerPropertySurvey));
|
}
|
//----
|
|
//诉讼
|
if (!defaultValue(objects.get(69)).isEmpty()) {
|
LitigationInfoPo litigationInfoPo = new LitigationInfoPo();
|
litigationInfoPo.setLitigationDate(objects.getString(69));
|
// litigationInfoPo.setArrearsPeriod(defaultValue(objects.get(125)));
|
// litigationInfoPo.setArrearsAmount(objects.getBigDecimal(126));
|
// litigationInfoPo.setLateFee(objects.getBigDecimal(127));
|
// litigationInfoPo.setAcceptanceFee(objects.getBigDecimal(128));
|
// litigationInfoPo.setOtherFee(objects.getBigDecimal(129));
|
// litigationInfoPo.setTotalAmount(objects.getBigDecimal(130));
|
litigationInfoPo.setSubmitter(defaultValue(objects.get(70)));
|
|
int insert = sqlSessionTemplate.insert("litigationInfoServiceDaoImpl.saveLitigationInfo",
|
BeanConvertUtil.beanCovertMap(litigationInfoPo));
|
if (insert < 1) {
|
throw new IllegalArgumentException("诉讼记录导入失败");
|
}
|
}
|
//----
|
|
|
|
//导入车辆
|
if (Vtil.processCount(ownerCarPo.getUnitPricePerMonth(), 2, null) == null) {
|
ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n未传入收费单价");
|
}else {
|
saveFee(ownerCarPo, os, ownerCarDto, assetImportLogDetailDto);
|
}
|
ownerCarPo.setParkingType(Vtil.defaultValue(os[12]));
|
|
ownerCarPo.setRoadName(defaultValue(os[3]));
|
ownerCarPo.setFloorNum(defaultValue(os[4]));
|
ownerCarPo.setUnitNum(defaultValue(os[5]));
|
ownerCarPo.setRoomNum(defaultValue(os[6]));
|
ownerCarPo.setParkingLocation(defaultValue(os[12]));
|
if (Vtil.isValidDbDate(ownerCarPo.getStartTime())) {
|
ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n启用日期:" + ownerCarPo.getStartTime() + "格式错误");
|
ownerCarPo.setStartTime(null);
|
}
|
if (Vtil.isValidDbDate(ownerCarPo.getEndTime())) {
|
ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n注销日期:" + ownerCarPo.getEndTime() + "格式错误");
|
ownerCarPo.setEndTime(null);
|
}
|
ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
|
ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
|
parkingSpacePo.setPsId(psId); //车位id
|
parkingSpacePo.setState(ownerCarDto.getSpaceSate());
|
parkingSpaceV1InnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
|
}
|
|
public void saveFee(OwnerCarPo ownerCarPo, Object[] os, OwnerCarDto ownerCarDto, AssetImportLogDetailDto assetImportLogDetailDto) {
|
List<FeeConfigDto> feeDtos = null;
|
if (!ownerCarPo.getCommunityId().isEmpty()){
|
FeeConfigDto feeConfigDto = new FeeConfigDto();
|
feeConfigDto.setCommunityId(ownerCarPo.getCommunityId());
|
feeConfigDto.setSquarePrice(Vtil.processCount(ownerCarPo.getUnitPricePerMonth(), 2, null));
|
feeConfigDto.setFeeTypeCds(new String[]{"630000003","630000004","630000005"});
|
if (feeConfigDto.getSquarePrice() == null) {
|
throw new IllegalArgumentException(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "未传入收费单价");
|
}
|
feeDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
|
if (feeDtos.isEmpty()) {
|
ownerCarPo.setRemark("单价`"+ownerCarPo.getUnitPricePerMonth()+"`未查询到收费项");
|
} else if (feeDtos.size() > 1) {
|
switch (Vtil.defaultValue(os[12])) {
|
case "地面停车": feeConfigDto.setFeeTypeCd("630000003");break;
|
case "地下停车": feeConfigDto.setFeeTypeCd("630000004");break;
|
default: feeConfigDto.setFeeTypeCd("630000005");break;
|
}
|
feeDtos.removeIf(feeConfigDto1 -> !feeConfigDto1.getFeeTypeCd().equals(feeConfigDto.getFeeTypeCd()));
|
}
|
|
if (feeDtos.isEmpty()) {
|
ownerCarPo.setRemark("单价`"+ownerCarPo.getUnitPricePerMonth()+"`未查询到收费项");
|
}
|
else if (feeDtos.size() > 1) {
|
throw new IllegalArgumentException("系统错误,查询到的费用项超过一个");
|
}
|
}
|
FeeConfigDto feeDto = feeDtos.get(0);
|
PayFeePo payFeePo = new PayFeePo();
|
payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
|
payFeePo.setbId("-1");
|
payFeePo.setFeeTypeCd(feeDto.getFeeTypeCd());
|
payFeePo.setSecondaryFeeTypeCd(feeDto.getSecondaryFeeTypeCd());
|
payFeePo.setCommunityId(ownerCarDto.getCommunityId());
|
payFeePo.setPayerObjId(ownerCarPo.getCarId());
|
payFeePo.setIncomeObjId("102025062610470035");
|
payFeePo.setStartTime(Vtil.processDateEnhanced(ownerCarDto.getStartTime(), null, "yyyy-MM-dd HH:mm:ss", "start", feeDto.getStartTime()));
|
payFeePo.setEndTime(payFeePo.getStartTime());
|
payFeePo.setUserId(ownerCarPo.getUserId());
|
payFeePo.setStatusCd("0");
|
payFeePo.setFeeFlag(feeDto.getFeeFlag());
|
payFeePo.setConfigId(feeDto.getConfigId());
|
payFeePo.setState("2008001");
|
payFeePo.setPayerObjType("6666");
|
payFeePo.setBatchId(assetImportLogDetailDto.getLogId());
|
payFeeV1InnerServiceSMO.savePayFee(payFeePo);
|
List<FeeAttrPo> feeAttrPos = new ArrayList<>();
|
feeAttrPos.add(
|
new FeeAttrPo(payFeePo.getFeeId(), payFeePo.getCommunityId(), GenerateCodeFactory.getGeneratorId("11"), "390010" ,
|
Vtil.processDateEnhanced(ownerCarDto.getEndTime(), null, "yyyy-MM-dd HH:mm:ss", "end", feeDto.getEndTime())));
|
feeAttrPos.add(new FeeAttrPo(payFeePo.getFeeId(), payFeePo.getCommunityId(), GenerateCodeFactory.getGeneratorId("11"), "390012" , "(" + ownerCarPo.getCarNum() + ")"));
|
feeAttrInnerServiceSMO.saveFeeAttrs(feeAttrPos);
|
}
|
|
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());
|
}
|
private void importOwnerData(OwnerCarDto ownerCarDto, Object[] os) {
|
|
OwnerDto ownerDto = new OwnerDto();
|
ownerDto.setName(ownerCarDto.getOwnerName());
|
ownerDto.setLink(ownerCarDto.getLink());
|
ownerDto.setCommunityId(ownerCarDto.getCommunityId());
|
//查询业主
|
List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
|
//Assert.listOnlyOne(ownerDtos, ownerCarDto.getCarNum() + "查询业主信息错误!");
|
if (ListUtil.isNull(ownerDtos)) {
|
OwnerPo ownerPo = new OwnerPo();
|
ownerPo.setUserId("-1");
|
ownerPo.setAge("1");
|
ownerPo.setCommunityId(ownerCarDto.getCommunityId());
|
ownerPo.setIdCard("");
|
ownerPo.setLink(ownerCarDto.getLink());
|
ownerPo.setSex("1");
|
ownerPo.setMemberId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
|
ownerPo.setName(ownerCarDto.getOwnerName());
|
ownerPo.setOwnerId(ownerPo.getMemberId()); //业主 所以和成员ID需要一样
|
ownerPo.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
|
ownerPo.setRemark("导入车辆导入");
|
ownerPo.setState(OwnerDto.STATE_FINISH);
|
ownerPo.setAddress("无");
|
ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_TRUE);
|
ownerPo.setPersonType(OwnerDto.PERSON_TYPE_PERSON);
|
ownerPo.setPersonRole(OwnerDto.PERSON_ROLE_OWNER);
|
ownerPo.setConcactPerson(ownerCarDto.getOwnerName());
|
ownerPo.setConcactLink(ownerCarDto.getLink());
|
ownerPo.setLink(defaultValue(os[29]));
|
ownerPo.setIdCard(defaultValue(os[31]));
|
ownerPo.setAddress(defaultValue(os[32]));
|
ownerPo.setPropertyCertificateNo(defaultValue(os[33]));
|
ownerPo.setIsEvChargerInstalled(defaultValue(os[52]));
|
int flag = ownerV1InnerServiceSMOImpl.saveOwner(ownerPo);
|
if (flag < 1) {
|
throw new IllegalArgumentException("保存业主失败");
|
}
|
ownerCarDto.setOwnerId(ownerPo.getOwnerId());
|
}else{
|
ownerCarDto.setOwnerId(ownerDtos.get(0).getOwnerId());
|
}
|
|
}
|
|
|
}
|