| | |
| | | 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.importData.*; |
| | | import com.java110.dto.log.AssetImportLogDetailDto; |
| | | import com.java110.dto.menu.MenuDto; |
| | | import com.java110.dto.oweFeeCallable.OweFeeCallableDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.room.RoomDto; |
| | | import com.java110.fee.api.ApplyRoomDiscountApi; |
| | | import com.java110.fee.dao.IApplyRoomDiscountServiceDao; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO; |
| | | import com.java110.intf.community.IMenuInnerServiceSMO; |
| | | import com.java110.intf.dev.IDictV1InnerServiceSMO; |
| | | import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO; |
| | | 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.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.cache.MappingCache; |
| | | import com.java110.utils.util.Assert; |
| | | 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.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 房产信息导入 适配器 |
| | |
| | | |
| | | |
| | | @Autowired |
| | | private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOweFeeCallableV1InnerServiceSMO oweFeeCallableV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IImportOwnerRoomInnerServiceSMO importOwnerRoomInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | protected SqlSessionTemplate sqlSessionTemplate; |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IApplyRoomDiscountServiceDao applyRoomDiscountServiceDaoImpl; |
| | | |
| | | @Autowired |
| | | private IDictV1InnerServiceSMO dictV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; |
| | | |
| | | |
| | | @Override |
| | | public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) { |
| | |
| | | private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) { |
| | | JSONArray objects = JSONObject.parseArray(assetImportLogDetailDto.getContent()); |
| | | |
| | | ImportOwnerRoomDto importOwnerRoomDto = new ImportOwnerRoomDto(); |
| | | ImportOwnerRoomDto importOwnerRoomDto = new ImportOwnerRoomDto();//房屋 |
| | | importOwnerRoomDto.setRoomId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_roomId)); |
| | | importOwnerRoomDto.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId)); |
| | | importOwnerRoomDto.setCommunityId(assetImportLogDetailDto.getCommunityId()); |
| | | importOwnerRoomDto.setFloorNum(objects.get(5).toString()); |
| | | importOwnerRoomDto.setUnitNum(objects.get(6).toString()); |
| | | importOwnerRoomDto.setRoomNum(objects.get(7).toString()); |
| | | |
| | | importOwnerRoomDto.setDoorRoomNum(objects.get(8).toString()); |
| | | |
| | | importOwnerRoomDto.setPropertyType(objects.get(2).toString()); |
| | | importOwnerRoomDto.setPropertyAddress(objects.get(9).toString()); |
| | | importOwnerRoomDto.setHouseCertificateNo(""); |
| | | |
| | | importOwnerRoomDto.setLift("1010"); |
| | | importOwnerRoomDto.setRoomSubType(objects.get(2).toString()); |
| | | importOwnerRoomDto.setUserId(objects.getString(169)); |
| | | importOwnerRoomDto.setLayerCount("0"); |
| | | importOwnerRoomDto.setLayer("0"); |
| | | importOwnerRoomDto.setLift("未知"); |
| | | importOwnerRoomDto.setSection("10102"); |
| | | importOwnerRoomDto.setBuiltUpArea(objects.get(15).toString()); |
| | | importOwnerRoomDto.setRoomRent(objects.get(15).toString()); |
| | | importOwnerRoomDto.setRoomState("0"); |
| | | importOwnerRoomDto.setOwnerName(objects.get(53).toString()); |
| | | importOwnerRoomDto.setSex(objects.get(57).toString()); |
| | | importOwnerRoomDto.setAge("1"); |
| | | importOwnerRoomDto.setTel(objects.get(52).toString()); |
| | | importOwnerRoomDto.setIdCard(objects.get(55).toString()); |
| | | importOwnerRoomDto.setOwnerTypeCd("1001"); |
| | | importOwnerRoomDto.setPersonType("P"); |
| | | importOwnerRoomDto.setPersonRole("1"); |
| | | importOwnerRoomDto.setConcactPerson(objects.get(53).toString()); |
| | | importOwnerRoomDto.setConcactLink(objects.get(52).toString()); |
| | | importOwnerRoomDto.setHouseholdPoliceStation(objects.get(58).toString()); |
| | | importOwnerRoomDto.setPersonType(OwnerDto.PERSON_TYPE_PERSON); |
| | | importOwnerRoomDto.setPersonRole(OwnerDto.PERSON_ROLE_OWNER); |
| | | //--------设置物业类型 |
| | | DictDto dictDto = new DictDto(); |
| | | dictDto.setTableName("building_room"); |
| | | dictDto.setTableColumns("room_sub_type"); |
| | | dictDto.setName(defaultValue(objects.get(1))); |
| | | List<DictDto> dictDtos = dictV1InnerServiceSMOImpl.queryDictAndSpecs(dictDto); |
| | | if (dictDtos.isEmpty()) { |
| | | throw new IllegalArgumentException("导入失败:字典中不存在物业类型:" + defaultValue(objects.get(1))); |
| | | } |
| | | importOwnerRoomDto.setRoomSubType(dictDtos.get(0).getStatusCd()); |
| | | //---------- |
| | | |
| | | importOwnerRoomDto.setRoadName(objects.get(4).toString()); |
| | | importOwnerRoomDto.setBuyDate(objects.get(10).toString()); |
| | | importOwnerRoomDto.setSellDate(objects.get(11).toString()); |
| | | importOwnerRoomDto.setSellState(objects.get(12).toString()); |
| | | importOwnerRoomDto.setRoomBuyer(objects.get(13).toString()); |
| | | importOwnerRoomDto.setEoc(objects.get(32).toString()); |
| | | importOwnerRoomDto.setPropertyType(defaultValue(objects.get(2)));//住宅类型 |
| | | |
| | | importOwnerRoomDto.setPropertyCertificateNo(objects.get(59).toString()); |
| | | importOwnerRoomDto.setIsEvChargerInstalled(objects.get(60).toString()); |
| | | //--------匹配小区 |
| | | CommunityDto communityDto = new CommunityDto(); |
| | | communityDto.setCommunityCode(defaultValue(objects.get(3))); |
| | | communityDto.setName(defaultValue(objects.get(4))); |
| | | List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto); |
| | | if (communityDtos.isEmpty()) { |
| | | throw new IllegalArgumentException("导入失败:小区中不存在小区编码为‘" + defaultValue(objects.get(1)) + "’的小区"); |
| | | } else if (communityDtos.size() > 1) { |
| | | String communityNames = communityDtos.stream() |
| | | .map(CommunityDto::getName) // 提取每个小区的名称 |
| | | .collect(Collectors.joining(", ")); |
| | | |
| | | int flag = importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto); |
| | | if (flag < 1) { |
| | | throw new IllegalArgumentException("导入失败"); |
| | | throw new IllegalArgumentException("导入失败:小区编码(" + communityDto.getCommunityCode() + ") + 小区名称(" + communityDto.getName() + ")条件存在多个小区:" + communityNames); |
| | | } |
| | | String communityId = communityDtos.get(0).getCommunityId(); |
| | | importOwnerRoomDto.setCommunityId(communityId);//小区编号 |
| | | //--------- |
| | | |
| | | importOwnerRoomDto.setRoadName(defaultValue(objects.get(5)));//路名 |
| | | importOwnerRoomDto.setFloorNum(defaultValue(objects.get(6)));//弄 |
| | | importOwnerRoomDto.setUnitNum(defaultValue(objects.get(7)));//门 |
| | | importOwnerRoomDto.setRoomNum(defaultValue(objects.get(8)));//室 |
| | | importOwnerRoomDto.setDoorRoomNum(defaultValue(objects.get(9)));//门市号 |
| | | importOwnerRoomDto.setPropertyAddress(defaultValue(objects.get(10)));//业主地址 |
| | | importOwnerRoomDto.setRoomBuyer(defaultValue(objects.get(11)));//购房人 |
| | | |
| | | RoomDto roomDto = new RoomDto(); |
| | | roomDto.setCommunityId(importOwnerRoomDto.getCommunityId()); |
| | | roomDto.setRoadName(importOwnerRoomDto.getRoadName()); |
| | | roomDto.setFloorNum(importOwnerRoomDto.getFloorNum()); |
| | | roomDto.setUnitNum(importOwnerRoomDto.getUnitNum()); |
| | | roomDto.setRoomNum(importOwnerRoomDto.getRoomNum()); |
| | | |
| | | |
| | | List<Object> objects1 = sqlSessionTemplate.selectList("roomServiceDaoImpl.getRoomInfo", BeanConvertUtil.beanCovertMap(roomDto)); |
| | | if (!objects1.isEmpty()) { |
| | | throw new IllegalArgumentException("重复的房屋"); |
| | | } |
| | | //---------家庭成员、租客 |
| | | OwnerPo ownerPoTo3 = new OwnerPo();// |
| | | if (!defaultValue(objects.get(13)).isEmpty()) { |
| | | String link = defaultValue(objects.get(13)); |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setLink(link); |
| | | ownerDto.setCommunityId(communityId); |
| | | List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryAllOwners(ownerDto); |
| | | if (!ownerDtos.isEmpty()) { |
| | | throw new IllegalArgumentException("导入失败:该小区已存在手机号:" + link + "的业主"); |
| | | } |
| | | ownerPoTo3.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId)); |
| | | ownerPoTo3.setAge("0"); |
| | | ownerPoTo3.setState(OwnerDto.STATE_FINISH); |
| | | ownerPoTo3.setPersonType(OwnerDto.PERSON_TYPE_PERSON); |
| | | ownerPoTo3.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_MEMBER); |
| | | ownerPoTo3.setName(defaultValue(objects.get(12))); |
| | | ownerPoTo3.setLink(link); |
| | | ownerPoTo3.setSex("2"); |
| | | ownerPoTo3.setPersonRole(OwnerDto.PERSON_ROLE_MEMBER); |
| | | } |
| | | |
| | | OwnerCollectionDto ownerCollectionDto = new OwnerCollectionDto(); |
| | | OwnerPo ownerPoTo2 = new OwnerPo();//TODO 租客未导入 |
| | | if (!defaultValue(objects.get(15)).isEmpty()) { |
| | | String link = defaultValue(objects.get(15)); |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setLink(link); |
| | | ownerDto.setCommunityId(communityId); |
| | | List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryAllOwners(ownerDto); |
| | | if (!ownerDtos.isEmpty()) { |
| | | throw new IllegalArgumentException("导入失败:该小区已存在手机号:" + link + "的业主"); |
| | | } |
| | | ownerPoTo2.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId)); |
| | | ownerPoTo2.setAge("0"); |
| | | // ownerPo.setUserId(userId); |
| | | ownerPoTo2.setState(OwnerDto.STATE_FINISH); |
| | | ownerPoTo2.setPersonType(OwnerDto.PERSON_ROLE_RENT); |
| | | ownerPoTo2.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_MEMBER); |
| | | ownerPoTo2.setName(defaultValue(objects.get(21))); |
| | | ownerPoTo2.setLink(link); |
| | | ownerPoTo2.setSex("2"); |
| | | ownerPoTo2.setPersonRole(OwnerDto.PERSON_ROLE_MEMBER); |
| | | } |
| | | //--------- |
| | | importOwnerRoomDto.setBuiltUpArea(defaultValue(objects.get(16)));//面积 |
| | | importOwnerRoomDto.setRoomArea(defaultValue(objects.get(16)));//面积 |
| | | importOwnerRoomDto.setRoomRent(defaultValue(objects.get(16)));//面积 |
| | | importOwnerRoomDto.setBuyDate(defaultValueToDate(objects.get(20)));//购入日期 |
| | | importOwnerRoomDto.setSellDate(defaultValueToDate(objects.get(22)));//卖出日期 |
| | | importOwnerRoomDto.setSellState(defaultValue(objects.get(23)));//房屋状态 |
| | | |
| | | ownerCollectionDto.setCollectionId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_collId)); |
| | | ownerCollectionDto.setRoomId(importOwnerRoomDto.getRoomId()); |
| | | ownerCollectionDto.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | ownerCollectionDto.setCollectionStartDate(objects.get(33).toString()); |
| | | ownerCollectionDto.setCollectionEndDate(objects.get(34).toString()); |
| | | ownerCollectionDto.setAmount(objects.get(35).toString()); |
| | | ownerCollectionDto.setFirstCollector(objects.get(36).toString()); |
| | | ownerCollectionDto.setSecondCollectorName(objects.get(37).toString()); |
| | | ownerCollectionDto.setSecondCollectorPhone(objects.get(38).toString()); |
| | | ownerCollectionDto.setSecondCollectorAddress(objects.get(39).toString()); |
| | | ownerCollectionDto.setReceiptNumber(objects.get(40).toString()); |
| | | ownerCollectionDto.setReceiptPhotoUrl(objects.get(41).toString()); |
| | | ownerCollectionDto.setRemark(objects.get(42).toString()); |
| | | importOwnerRoomDto.setEoc(defaultNum(objects.get(24)).toString());//设备运行费 |
| | | |
| | | importOwnerRoomInnerServiceSMOImpl.saveOwnerCollection(ownerCollectionDto); |
| | | //-----TODO 待导入 催缴信息 |
| | | if (!defaultValue(objects.get(27)).isEmpty()) { |
| | | OwnerCollectionDto ownerCollection = new OwnerCollectionDto(); |
| | | ownerCollection.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | ownerCollection.setRoomId(importOwnerRoomDto.getRoomId()); |
| | | ownerCollection.setCollectionStartDate(defaultValueToDate(objects.get(25))); |
| | | ownerCollection.setCollectionEndDate(defaultValueToDate(objects.get(26))); |
| | | ownerCollection.setAmount(defaultValue(objects.get(27))); |
| | | ownerCollection.setFirstCollector(defaultValue(objects.get(28))); |
| | | ownerCollection.setSecondCollectorName(defaultValue(objects.get(29))); |
| | | ownerCollection.setSecondCollectorPhone(defaultValue(objects.get(30))); |
| | | ownerCollection.setSecondCollectorAddress(defaultValue(objects.get(31))); |
| | | ownerCollection.setReceiptNumber(defaultValue(objects.get(32))); |
| | | ownerCollection.setReceiptPhotoUrl(defaultValue(objects.get(33))); |
| | | ownerCollection.setRemark(defaultValue(objects.get(34))); |
| | | } |
| | | //----- |
| | | |
| | | if (objects.get(46) != null) { |
| | | ApplyRoomDiscountPo applyRoomDiscountPo = new ApplyRoomDiscountPo(); |
| | | //-----打折信息 TODO 未添加重复校验 |
| | | if (!defaultValue(objects.get(38)).isEmpty()) { |
| | | ApplyRoomDiscountPo applyRoomDiscountPo = new ApplyRoomDiscountPo();//打折 |
| | | applyRoomDiscountPo.setArdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ardId)); |
| | | applyRoomDiscountPo.setCommunityId(importOwnerRoomDto.getCommunityId()); |
| | | applyRoomDiscountPo.setRoomId(importOwnerRoomDto.getRoomId()); |
| | | applyRoomDiscountPo.setRoomName(importOwnerRoomDto.getPropertyAddress()); |
| | | applyRoomDiscountPo.setDiscountId("132025112781200067"); |
| | | applyRoomDiscountPo.setApplyType("152025112756040048"); |
| | | String dateStr = "2019/3-2019/12"; |
| | | |
| | | // 1. 拆分字符串 |
| | | String[] dateParts = dateStr.split("-", 2); |
| | | if (dateParts.length != 2) { |
| | | throw new IllegalArgumentException("日期格式错误,需符合 '年/月-年/月'"); |
| | | } |
| | | |
| | | 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(dateParts[0]))); |
| | | applyRoomDiscountPo.setEndTime(outputSdf.format(sdf.parse(dateParts[1]))); |
| | | applyRoomDiscountPo.setStartTime(defaultValueToDate(objects.get(38))); |
| | | applyRoomDiscountPo.setEndTime(defaultValueToDate(objects.get(39))); |
| | | }catch (Exception e){ |
| | | throw new IllegalArgumentException("导入失败:处理折扣日期区间时出错"); |
| | | } |
| | | applyRoomDiscountPo.setCreateUserName(objects.get(49).toString()); |
| | | applyRoomDiscountPo.setDiscountArchiveDate(defaultValueToDate(objects.get(40))); |
| | | applyRoomDiscountPo.setCreateRemark(defaultValue(objects.get(41))); |
| | | applyRoomDiscountPo.setCheckRemark("审批人:" + defaultValue(objects.get(42))); |
| | | applyRoomDiscountPo.setReviewRemark("审批人:" + defaultValue(objects.get(43))); |
| | | applyRoomDiscountPo.setCreateUserTel("无"); |
| | | applyRoomDiscountPo.setCreateUserName("由系统导入"); |
| | | applyRoomDiscountPo.setState("4"); |
| | | applyRoomDiscountPo.setCreateRemark("由系统导入"); |
| | | applyRoomDiscountPo.setCheckRemark("审批人:" + objects.get(50).toString()); |
| | | applyRoomDiscountPo.setReviewRemark("审批人:" + objects.get(50).toString()); |
| | | applyRoomDiscountPo.setStatusCd("0"); |
| | | applyRoomDiscountPo.setInUse("0"); |
| | | applyRoomDiscountPo.setReturnWay("1001"); |
| | | applyRoomDiscountPo.setRelatedAttachments(defaultValue(objects.get(44))); |
| | | try { |
| | | applyRoomDiscountServiceDaoImpl.saveApplyRoomDiscountInfo(BeanConvertUtil.beanCovertMap(applyRoomDiscountPo)); |
| | | }catch (Exception e){ |
| | | throw new IllegalArgumentException("导入失败"); |
| | | throw new IllegalArgumentException("导入失败:打折信息导入存在错误"); |
| | | } |
| | | } |
| | | //----- |
| | | |
| | | //-----业主信息 |
| | | importOwnerRoomDto.setTel(defaultValue(objects.get(45)));//手机号 |
| | | importOwnerRoomDto.setIdCard(defaultValue(objects.get(46)));//身份证 |
| | | importOwnerRoomDto.setAddress(defaultValue(objects.get(47)));//TODO 导入逻辑未添加该字段 联络地址 |
| | | importOwnerRoomDto.setSex(defaultValue(objects.get(48)).equals("") ?"2" : defaultValue(objects.get(48))); |
| | | importOwnerRoomDto.setOwnerName(defaultValue(objects.get(11))); |
| | | importOwnerRoomDto.setHouseholdPoliceStation(defaultValue(objects.get(50))); |
| | | importOwnerRoomDto.setPropertyCertificateNo(defaultValue(objects.get(51))); |
| | | importOwnerRoomDto.setIsEvChargerInstalled(defaultValue(objects.get(52))); |
| | | |
| | | |
| | | |
| | | 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(importOwnerRoomDto.getOwnerId()); |
| | | oweFeeCallablePo.setOwnerName(importOwnerRoomDto.getOwnerName()); |
| | | oweFeeCallablePo.setPayerObjId(""); |
| | | oweFeeCallablePo.setPayerObjName(importOwnerRoomDto.getPropertyAddress()); |
| | | oweFeeCallablePo.setPayerObjType("3333"); |
| | | oweFeeCallablePo.setRemark(defaultValue(objects.get(57))); |
| | | oweFeeCallablePo.setStaffId("302025062612580518"); |
| | | oweFeeCallablePo.setStaffName("刘志勇"); |
| | | oweFeeCallablePo.setState(OweFeeCallableDto.STATE_COMPLETE); |
| | | oweFeeCallablePo.setStartTime(defaultValueToDate(objects.get(56)));//TODO 时间段需要拆分 |
| | | oweFeeCallablePo.setEndTime(defaultValueToDate(objects.get(56))); |
| | | oweFeeCallablePo.setCreateTime(defaultValueToDate(objects.get(53))); |
| | | int flag = oweFeeCallableV1InnerServiceSMOImpl.saveOweFeeCallable(oweFeeCallablePo); |
| | | if (flag < 1) { |
| | | throw new IllegalArgumentException("催收信息导入失败"); |
| | | } |
| | | |
| | | for (int i = 0; i < 5 ; i++) { |
| | | int index = i*4 + 67; |
| | | int index = i*4 + 59; |
| | | if(objects.get(index) == null){ |
| | | break; |
| | | } |
| | |
| | | houseMailRecord.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_houseId)); |
| | | houseMailRecord.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | houseMailRecord.setHouseId(importOwnerRoomDto.getRoomId()); |
| | | houseMailRecord.setCreateTime(objects.get(index).toString()); |
| | | houseMailRecord.setMailNo(objects.get(index+1).toString()); |
| | | houseMailRecord.setServiceFee(objects.get(index+2).toString()); |
| | | houseMailRecord.setMailResult(objects.get(index+3).toString()); |
| | | houseMailRecord.setRemark(objects.get(87).toString()); |
| | | houseMailRecord.setCallableId(oweFeeCallablePo.getOfcId()); |
| | | houseMailRecord.setCreateTime(defaultValueToDate(objects.get(index))); |
| | | houseMailRecord.setMailNo(defaultValue(objects.get(index+1))); |
| | | houseMailRecord.setServiceFee(defaultValue(objects.get(index+2))); |
| | | houseMailRecord.setMailResult(defaultValue(objects.get(index+3))); |
| | | houseMailRecord.setRemark(defaultValue(objects.get(79))); |
| | | |
| | | int save = applyRoomDiscountServiceDaoImpl.saveHouseMailRecord(BeanConvertUtil.beanCovertMap(houseMailRecord)); |
| | | } |
| | | |
| | | for (int i = 0 ; i < 9 ; i++) { |
| | | int index = i * 3 + 88; |
| | | if(objects.get(index) == null){ |
| | | if (i == 0){ |
| | | MailCallRecord mailCallRecord = new MailCallRecord(); |
| | | mailCallRecord.setRemark(objects.get(115).toString()); |
| | | //----对方收款单位表 |
| | | PayeeReceiveInfoPo payeeReceiveInfoPo = new PayeeReceiveInfoPo(); |
| | | payeeReceiveInfoPo.setCallableId(oweFeeCallablePo.getOfcId()); |
| | | payeeReceiveInfoPo.setCallerName(defaultValue(objects.get(80))); |
| | | payeeReceiveInfoPo.setContactInfo(defaultValue(objects.get(81))); |
| | | payeeReceiveInfoPo.setPayeeInfo(defaultValue(objects.get(82))); |
| | | payeeReceiveInfoPo.setInvoiceNo(defaultValue(objects.get(83))); |
| | | payeeReceiveInfoPo.setInvoiceDate(objects.getDate(84)); |
| | | payeeReceiveInfoPo.setReceiptNo(defaultValue(objects.get(85))); |
| | | payeeReceiveInfoPo.setReceiptDate(objects.getDate(86)); |
| | | payeeReceiveInfoPo.setReceiptNote(defaultValue(objects.get(87))); |
| | | payeeReceiveInfoPo.setReceiptNoteDate(objects.getDate(88)); |
| | | payeeReceiveInfoPo.setImageFile(defaultValue(objects.get(89))); |
| | | payeeReceiveInfoPo.setOurCompanyReceiveDate(objects.getDate(90)); |
| | | payeeReceiveInfoPo.setAttachmentFile(defaultValue(objects.get(91))); |
| | | payeeReceiveInfoPo.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | payeeReceiveInfoPo.setRoomId(importOwnerRoomDto.getRoomId()); |
| | | int insert = sqlSessionTemplate.insert("payeeReceiveInfoServiceDaoImpl.savePayeeReceiveInfo", |
| | | BeanConvertUtil.beanCovertMap(payeeReceiveInfoPo)); |
| | | |
| | | int save = applyRoomDiscountServiceDaoImpl.saveMailCallRecord(BeanConvertUtil.beanCovertMap(mailCallRecord)); |
| | | } |
| | | //----添加电联 |
| | | List<MailCallRecord> mailCallRecords = new ArrayList<MailCallRecord>(); |
| | | for (int i = 0 ; i < 9 ; i++) { |
| | | int index = i * 3 + 92; |
| | | 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(objects.get(index).toString()); |
| | | mailCallRecord.setCallResult(objects.get(index+1).toString()); |
| | | mailCallRecord.setCallContact(objects.get(index+2).toString()); |
| | | mailCallRecord.setRemark(objects.get(115).toString()); |
| | | |
| | | int save = applyRoomDiscountServiceDaoImpl.saveMailCallRecord(BeanConvertUtil.beanCovertMap(mailCallRecord)); |
| | | mailCallRecord.setMailId(importOwnerRoomDto.getOwnerId()); |
| | | 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(119))); |
| | | mailCallRecords.add(mailCallRecord); |
| | | } |
| | | if (objects.get(116) != null) { |
| | | |
| | | if (mailCallRecords.size() > 0) { |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("mailCallRecordList", BeanConvertUtil.beanCovertMap(mailCallRecords)); |
| | | |
| | | sqlSessionTemplate.insert("mailCallRecordServiceDaoImpl.batchSaveMailCallRecord", param); |
| | | } |
| | | //---- |
| | | |
| | | //产调日期 |
| | | if (!defaultValue(objects.get(120)).isEmpty()) { |
| | | OwnerPropertySurvey ownerPropertySurvey = new OwnerPropertySurvey(); |
| | | ownerPropertySurvey.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | ownerPropertySurvey.setRoomId(importOwnerRoomDto.getRoomId()); |
| | | ownerPropertySurvey.setSurveyWarrantApplyDate(objects.get(119).toString()); |
| | | ownerPropertySurvey.setPropertySurveyDate(objects.get(116).toString()); |
| | | ownerPropertySurvey.setName(objects.get(117).toString()); |
| | | ownerPropertySurvey.setExtraDate(objects.get(118).toString()); |
| | | |
| | | ownerPropertySurvey.setSurveyWarrantApplyDate(defaultValueToDate(objects.get(123))); |
| | | ownerPropertySurvey.setPropertySurveyDate(defaultValueToDate(objects.get(120))); |
| | | ownerPropertySurvey.setName(defaultValue(objects.get(121))); |
| | | ownerPropertySurvey.setExtraDate(defaultValueToDate(objects.get(122))); |
| | | int save = applyRoomDiscountServiceDaoImpl.saveOwnerPropertySurvey(BeanConvertUtil.beanCovertMap(ownerPropertySurvey)); |
| | | } |
| | | //---- |
| | | |
| | | if (objects.get(120) != null){ |
| | | CourtExecutionProcedure courtExecutionProcedure = new CourtExecutionProcedure(); |
| | | courtExecutionProcedure.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | courtExecutionProcedure.setApplyTime(objects.get(120).toString()); |
| | | courtExecutionProcedure.setArrearsPeriod(objects.get(121).toString()); |
| | | courtExecutionProcedure.setArrearsAmount(objects.get(122).toString()); |
| | | courtExecutionProcedure.setLateFee(objects.get(123).toString()); |
| | | courtExecutionProcedure.setAcceptanceFee(objects.get(124).toString()); |
| | | courtExecutionProcedure.setOtherFee(objects.get(125).toString()); |
| | | courtExecutionProcedure.setTotalAmount(objects.get(126).toString()); |
| | | courtExecutionProcedure.setRemark("送件人:"+objects.get(127).toString()); |
| | | |
| | | int save = applyRoomDiscountServiceDaoImpl.saveCourtExecutionProcedure(BeanConvertUtil.beanCovertMap(courtExecutionProcedure)); |
| | | //诉讼 |
| | | if (!defaultValue(objects.get(124)).isEmpty()) { |
| | | LitigationInfoPo litigationInfoPo = new LitigationInfoPo(); |
| | | litigationInfoPo.setLitigationDate(defaultValue(objects.get(124))); |
| | | litigationInfoPo.setArrearsPeriod(defaultValue(objects.get(125))); |
| | | litigationInfoPo.setArrearsAmount(defaultValue(objects.get(126))); |
| | | litigationInfoPo.setLateFee(defaultValue(objects.get(127))); |
| | | litigationInfoPo.setAcceptanceFee(defaultValue(objects.get(128))); |
| | | litigationInfoPo.setOtherFee(defaultValue(objects.get(129))); |
| | | litigationInfoPo.setTotalAmount(defaultValue(objects.get(130))); |
| | | litigationInfoPo.setSubmitter(defaultValue(objects.get(131))); |
| | | litigationInfoPo.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | sqlSessionTemplate.insert("litigationInfoServiceDaoImpl.saveLitigationInfo", |
| | | BeanConvertUtil.beanCovertMap(litigationInfoPo)); |
| | | } |
| | | //---- |
| | | |
| | | if (objects.get(128) != null) { |
| | | //----法院审理程序 |
| | | if (!defaultValue(objects.get(132)).isEmpty()) { |
| | | CourtTrialProcedure courtTrialProcedure = new CourtTrialProcedure(); |
| | | courtTrialProcedure.setCallableId(oweFeeCallablePo.getOfcId()); |
| | | courtTrialProcedure.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | courtTrialProcedure.setAcceptCourtName(objects.get(128).toString()); |
| | | courtTrialProcedure.setJudgeName(objects.get(129).toString()); |
| | | courtTrialProcedure.setJudgeContact(objects.get(130).toString()); |
| | | courtTrialProcedure.setJudgeNoticeAcceptDate(objects.get(131).toString()); |
| | | courtTrialProcedure.setCourtMediationDate(objects.get(132).toString()); |
| | | courtTrialProcedure.setMediationResult(objects.get(133).toString()); |
| | | courtTrialProcedure.setSubpoenaSignDate(objects.get(134).toString()); |
| | | courtTrialProcedure.setUndeliveredDate(objects.get(135).toString()); |
| | | courtTrialProcedure.setCourtSessionDate1(objects.get(136).toString()); |
| | | courtTrialProcedure.setCourtSessionDate2(objects.get(137).toString()); |
| | | courtTrialProcedure.setCaseNumber(objects.get(138).toString()); |
| | | courtTrialProcedure.setCourtSessionResult(objects.get(139).toString()); |
| | | courtTrialProcedure.setJudgmentDate(objects.get(140).toString()); |
| | | courtTrialProcedure.setJudgmentResult(objects.get(141).toString()); |
| | | courtTrialProcedure.setRemark(objects.get(142).toString()); |
| | | |
| | | int save = applyRoomDiscountServiceDaoImpl.saveCourtTrialProcedure(BeanConvertUtil.beanCovertMap(courtTrialProcedure)); |
| | | courtTrialProcedure.setAcceptCourtName(defaultValue(objects.get(132))); |
| | | courtTrialProcedure.setJudgeName(defaultValue(objects.get(133))); |
| | | courtTrialProcedure.setJudgeContact(defaultValue(objects.get(134))); |
| | | courtTrialProcedure.setJudgeNoticeAcceptDate(defaultValueToDate(objects.get(135))); |
| | | courtTrialProcedure.setCourtMediationDate(defaultValueToDate(objects.get(136))); |
| | | courtTrialProcedure.setMediationResult(defaultValue(objects.get(137))); |
| | | courtTrialProcedure.setSubpoenaSignDate(defaultValueToDate(objects.get(138))); |
| | | courtTrialProcedure.setUndeliveredDate(defaultValueToDate(objects.get(139))); |
| | | courtTrialProcedure.setCourtSessionDate1(defaultValueToDate(objects.get(140))); |
| | | courtTrialProcedure.setCourtSessionDate2(defaultValueToDate(objects.get(141))); |
| | | courtTrialProcedure.setCaseNumber(defaultValue(objects.get(142))); |
| | | courtTrialProcedure.setCourtSessionResult(defaultValue(objects.get(143))); |
| | | courtTrialProcedure.setJudgmentDate(defaultValueToDate(objects.get(144))); |
| | | courtTrialProcedure.setJudgmentResult(defaultValue(objects.get(145))); |
| | | courtTrialProcedure.setRemark(defaultValue(objects.get(146))); |
| | | applyRoomDiscountServiceDaoImpl.saveCourtTrialProcedure(BeanConvertUtil.beanCovertMap(courtTrialProcedure)); |
| | | } |
| | | //----- |
| | | |
| | | if (objects.get(143) != null) { |
| | | //法院执行程序 |
| | | if (!defaultValue(objects.get(147)).isEmpty()) { |
| | | CourtExecutionProcedure courtExecutionProcedure = new CourtExecutionProcedure(); |
| | | courtExecutionProcedure.setCallableId(oweFeeCallablePo.getOfcId()); |
| | | courtExecutionProcedure.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | courtExecutionProcedure.setApplyTime(objects.get(143).toString()); |
| | | courtExecutionProcedure.setJudgmentDocNumber(objects.get(144).toString()); |
| | | courtExecutionProcedure.setArrearsPeriod(objects.get(145).toString()); |
| | | courtExecutionProcedure.setArrearsAmount(objects.get(146).toString()); |
| | | courtExecutionProcedure.setLateFee(objects.get(147).toString()); |
| | | courtExecutionProcedure.setAcceptanceFee(objects.get(148).toString()); |
| | | courtExecutionProcedure.setOtherFee(objects.get(149).toString()); |
| | | courtExecutionProcedure.setTotalAmount(objects.get(150).toString()); |
| | | courtExecutionProcedure.setApplyTime(defaultValueToDate(objects.get(147))); |
| | | courtExecutionProcedure.setJudgmentDocNumber(defaultValue(objects.get(148))); |
| | | courtExecutionProcedure.setArrearsPeriod(defaultValue(objects.get(149))); |
| | | courtExecutionProcedure.setArrearsAmount(defaultValue(objects.get(150))); |
| | | courtExecutionProcedure.setLateFee(defaultValue(objects.get(151))); |
| | | courtExecutionProcedure.setAcceptanceFee(defaultValue(objects.get(152))); |
| | | courtExecutionProcedure.setOtherFee(defaultValue(objects.get(153))); |
| | | courtExecutionProcedure.setTotalAmount(defaultValue(objects.get(154))); |
| | | courtExecutionProcedure.setRemark(defaultValue(objects.get(160))); |
| | | |
| | | int save = applyRoomDiscountServiceDaoImpl.saveCourtExecutionProcedure(BeanConvertUtil.beanCovertMap(courtExecutionProcedure)); |
| | | applyRoomDiscountServiceDaoImpl.saveCourtExecutionProcedure(BeanConvertUtil.beanCovertMap(courtExecutionProcedure)); |
| | | } |
| | | importOwnerRoomDto.setRoomState(importOwnerRoomDto.getOwnerName().equals("") ? "2004" : "2001"); |
| | | |
| | | importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto); |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| | | List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto); |
| | | if (ownerDtos.size() == 1) { |
| | | ownerPoTo2.setUserId(ownerDtos.get(0).getUserId()); |
| | | ownerPoTo3.setUserId(ownerDtos.get(0).getUserId()); |
| | | if (ownerPoTo2.getLink() != null) { |
| | | ownerV1InnerServiceSMOImpl.saveOwner(ownerPoTo2); |
| | | } |
| | | if (ownerPoTo2.getLink() != null) { |
| | | ownerV1InnerServiceSMOImpl.saveOwner(ownerPoTo3); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private String defaultValueToDate(Object o) { |
| | | // 空值直接返回null(原有逻辑) |
| | | if (o == null) { |
| | | return null; |
| | | } |
| | | |
| | | try { |
| | | // 尝试将对象转换为数字(兼容Excel日期序列号,如44747) |
| | | double excelDateNum = Double.parseDouble(o.toString()); |
| | | |
| | | // Excel 1900日期系统基准(修正闰日bug,实际基准是1899-12-30) |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(1899, 11, 30, 0, 0, 0); // 月份从0开始,11代表12月 |
| | | calendar.set(Calendar.MILLISECOND, 0); |
| | | |
| | | // 计算对应的实际日期 |
| | | calendar.add(Calendar.DAY_OF_MONTH, (int) excelDateNum); |
| | | |
| | | // 格式化为yyyy-MM-dd的日期字符串 |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | return sdf.format(calendar.getTime()); |
| | | } catch (NumberFormatException e) { |
| | | // 非数字类型,执行原有逻辑返回toString() |
| | | return 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()); |
| | | } |
| | | } |