From b6184e2ddf3db37a94f7efb3b619bbc64642a292 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期二, 27 一月 2026 18:12:48 +0800
Subject: [PATCH] Z四

---
 service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java |  511 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 372 insertions(+), 139 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java
index 3edd30b..19ce360 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java
@@ -3,21 +3,41 @@
 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;
 
 /**
  * 鎴夸骇淇℃伅瀵煎叆 閫傞厤鍣�
@@ -29,11 +49,29 @@
 
 
     @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) {
@@ -65,115 +103,220 @@
     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("瀵煎叆澶辫触锛氬鐞嗘姌鎵f棩鏈熷尯闂存椂鍑洪敊");
             }
-            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;
             }
@@ -181,98 +324,188 @@
             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) {
+        // 绌哄�肩洿鎺ヨ繑鍥瀗ull锛堝師鏈夐�昏緫锛�
+        if (o == null) {
+            return null;
+        }
 
+        try {
+            // 灏濊瘯灏嗗璞¤浆鎹负鏁板瓧锛堝吋瀹笶xcel鏃ユ湡搴忓垪鍙凤紝濡�44747锛�
+            double excelDateNum = Double.parseDouble(o.toString());
+
+            // Excel 1900鏃ユ湡绯荤粺鍩哄噯锛堜慨姝i棸鏃ug锛屽疄闄呭熀鍑嗘槸1899-12-30锛�
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(1899, 11, 30, 0, 0, 0); // 鏈堜唤浠�0寮�濮嬶紝11浠h〃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());
+    }
 }

--
Gitblit v1.8.0