Ver Fonte

不动产矢量获取兼容

chenendian há 1 semana atrás
pai
commit
9e0f19d217

+ 11 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/ProjectService.java

@@ -95,6 +95,17 @@ public interface ProjectService {
     void addPreAssignCode(String nodeId,String projectId,String geomDbId,Integer validFlag) throws RuntimeException ;
 
 
+    /**
+     * 获取三方数据最大序列号
+     * @param projectId
+     * @param nodeId
+     * @param detailsId
+     * @return
+     */
+    Map<String, String> getThirdMaxSequence(String projectId,String nodeId,String detailsId);
+
+
+
     void testData() ;
 
 }

+ 1 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/GyjsydscdjImpl.java

@@ -10,6 +10,7 @@ import com.siwei.apply.mapper.GyjsydscdjMapper;
 import com.siwei.apply.mapper.ProjectMapper;
 import com.siwei.apply.service.GyjsydscdjService;
 import com.siwei.apply.service.LandOneCodeService;
+import com.siwei.apply.service.ProjectService;
 import com.siwei.common.core.utils.bean.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+ 63 - 8
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/ProjectImpl.java

@@ -14,11 +14,10 @@ import com.siwei.apply.domain.vo.ProjectVo;
 import com.siwei.apply.enums.AloneWorkFlowEnum;
 import com.siwei.apply.enums.ProjectType;
 import com.siwei.apply.mapper.*;
-import com.siwei.apply.service.NodeAttachmentService;
 import com.siwei.apply.service.NodeLandService;
 import com.siwei.apply.service.ProjectService;
-import com.siwei.apply.service.third.TakeDataService;
 import com.siwei.apply.utils.ServiceFileUtil;
+import com.siwei.apply.utils.ServiceUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.MapUtils;
 import org.geotools.data.DefaultTransaction;
@@ -143,14 +142,11 @@ public class ProjectImpl implements ProjectService {
     @Autowired
     private NodeLandMapper nodeLandMapper;
 
-    @Autowired
-    private NodeAttachmentService nodeAttachmentService;
-
     @Autowired
     private NodeLandService nodeLandService;
 
-    @Autowired
-    private TakeDataService takeDataService;
+//    @Autowired
+//    private TakeDataService takeDataService;
 
     @Autowired
     private ProjectImmobileCodeMapper projectImmobileCodeMapper;
@@ -2012,7 +2008,7 @@ public class ProjectImpl implements ProjectService {
                 if(com.siwei.common.core.utils.StringUtils.isBlank(preAssignCode) && com.siwei.common.core.utils.StringUtils.isBlank(sequenceNumber)) {
                     String plotCode = "";
                     String regionCode = "";
-                    Map<String, String> maxSequenceMap = takeDataService.getThirdMaxSequence(projectId,nodeId,detailsId);
+                    Map<String, String> maxSequenceMap = this.getThirdMaxSequence(projectId,nodeId,detailsId);
                     if (MapUtils.isNotEmpty(maxSequenceMap) && maxSequenceMap.get("code").equalsIgnoreCase("200")) {
                         regionCode = maxSequenceMap.get("regionCode");
                         plotCode = maxSequenceMap.get("plotCode");
@@ -2065,6 +2061,65 @@ public class ProjectImpl implements ProjectService {
 
 
 
+    /**
+     * 远程获取第三方最大序号
+     * 然后根据规则生成预赋不动产单元号
+     * @param projectId
+     * @param nodeId
+     * @return
+     */
+    @Override
+    public Map<String, String> getThirdMaxSequence(String projectId, String nodeId,String detailsId) {
+        Map<String, String> retMap = new LinkedHashMap<>();
+        Project project = projectMapper.get(projectId);
+        String firstPlotCode = project.getFirstPlotCode();
+        String secondPlotCode = project.getSecondPlotCode();
+        if (com.siwei.common.core.utils.StringUtils.isEmpty(firstPlotCode)) {
+            firstPlotCode = "G";
+        }
+        if (com.siwei.common.core.utils.StringUtils.isEmpty(secondPlotCode)) {
+            secondPlotCode = "B";
+        }
+
+        //获取地籍子区的代码
+        String regionCode = "";
+        //当前地块所属地籍子区编号
+        Map<String, String> detailGeomBelongToDjzqMap = nodeLandService.getDjzqContainsNodeList(detailsId);
+        if (!MapUtils.isEmpty(detailGeomBelongToDjzqMap)) {
+            regionCode = detailGeomBelongToDjzqMap.get("djzqdm");
+        }
+
+        log.info("这里计算地籍子区的代码,区域号:{}", regionCode);
+        //这里三方接口入参
+        retMap.put("maxSequence", "");
+        retMap.put("plotCode", firstPlotCode + secondPlotCode);
+        retMap.put("regionCode", regionCode);
+        retMap.put("code", "201");
+
+        if (com.siwei.common.core.utils.StringUtils.isNotBlank(regionCode)) {
+            retMap.put("code", "200");
+            try{
+                Map<String,Object> paramMap = new LinkedHashMap<>();
+                paramMap.put("regionCode",regionCode+firstPlotCode + secondPlotCode);
+                //这里调用 httpClient 进行远程调用
+                String remoteResult = ServiceUtil.getRemoteDataByHttpClient("query.getMaxSeq.datas",paramMap);
+                log.info("远程获取最大序列号解析数据为:{}", remoteResult);
+
+                JSONObject root = JSON.parseObject(remoteResult);
+                JSONObject innerData = root.getJSONObject("data");
+
+                if(innerData.get("code").equals("200") && com.siwei.common.core.utils.StringUtils.isNumeric(String.valueOf(innerData.get("maxsequence")))){
+                    retMap.put("maxSequence", innerData.get("maxsequence").toString());
+                }
+            }  catch (Exception e) {
+                log.error("调用矢量保存文件错误,区域号:{}", regionCode,e);
+            }
+        }else {
+            log.error("远程获取最大序列号-计算区域代码为空-项目号:{},", projectId);
+        }
+        return retMap;
+    }
+
 
 
     /**

+ 0 - 8
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/third/TakeDataService.java

@@ -21,14 +21,6 @@ public interface TakeDataService {
     String add(TakeDataAddVo takeDataAddVo);
 
 
-    /**
-     * 获取三方数据最大序列号
-     * @param projectId
-     * @param nodeId
-     * @param detailsId
-     * @return
-     */
-    Map<String, String> getThirdMaxSequence(String projectId,String nodeId,String detailsId);
 
     Map<String, Object> remoteLandFirstRegistration(ThirdRecordStatusParamVo paramVo);
 

+ 5 - 66
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/third/impl/TakeDataServiceImpl.java

@@ -78,13 +78,14 @@ public class TakeDataServiceImpl implements TakeDataService {
     @Autowired
     private  LandOneCodeMapper landOneCodeMapper;
 
-    @Autowired
-    private ProjectService projectService;
 
     @Autowired
     LandOneCodeService landOneCodeService;
 
 
+    @Autowired
+    ProjectService projectService;
+
 
 
     @Override
@@ -148,65 +149,6 @@ public class TakeDataServiceImpl implements TakeDataService {
 
 
 
-    /**
-     * 远程获取第三方最大序号
-     * 然后根据规则生成预赋不动产单元号
-     * @param projectId
-     * @param nodeId
-     * @return
-     */
-    @Override
-    public Map<String, String> getThirdMaxSequence(String projectId, String nodeId,String detailsId) {
-        Map<String, String> retMap = new LinkedHashMap<>();
-        Project project = projectMapper.get(projectId);
-        String firstPlotCode = project.getFirstPlotCode();
-        String secondPlotCode = project.getSecondPlotCode();
-        if (StringUtils.isEmpty(firstPlotCode)) {
-            firstPlotCode = "G";
-        }
-        if (StringUtils.isEmpty(secondPlotCode)) {
-            secondPlotCode = "B";
-        }
-
-        //获取地籍子区的代码
-        String regionCode = "";
-        //当前地块所属地籍子区编号
-        Map<String, String> detailGeomBelongToDjzqMap = nodeLandService.getDjzqContainsNodeList(detailsId);
-        if (!MapUtils.isEmpty(detailGeomBelongToDjzqMap)) {
-            regionCode = detailGeomBelongToDjzqMap.get("djzqdm");
-        }
-
-        log.info("这里计算地籍子区的代码,区域号:{}", regionCode);
-        //这里三方接口入参
-        retMap.put("maxSequence", "");
-        retMap.put("plotCode", firstPlotCode + secondPlotCode);
-        retMap.put("regionCode", regionCode);
-        retMap.put("code", "201");
-
-        if (StringUtils.isNotBlank(regionCode)) {
-            retMap.put("code", "200");
-            try{
-                Map<String,Object> paramMap = new LinkedHashMap<>();
-                paramMap.put("regionCode",regionCode+firstPlotCode + secondPlotCode);
-                //这里调用 httpClient 进行远程调用
-                String remoteResult = ServiceUtil.getRemoteDataByHttpClient("query.getMaxSeq.datas",paramMap);
-                log.info("远程获取最大序列号解析数据为:{}", remoteResult);
-
-                JSONObject root = JSON.parseObject(remoteResult);
-                JSONObject innerData = root.getJSONObject("data");
-
-                if(innerData.get("code").equals("200") && StringUtils.isNumeric(String.valueOf(innerData.get("maxsequence")))){
-                    retMap.put("maxSequence", innerData.get("maxsequence").toString());
-                }
-            }  catch (Exception e) {
-                log.error("调用矢量保存文件错误,区域号:{}", regionCode,e);
-            }
-        }else {
-            log.error("远程获取最大序列号-计算区域代码为空-项目号:{},", projectId);
-        }
-        return retMap;
-    }
-
 
     @Override
     public Map<String, String> getImmobileCode(String projectId) {
@@ -331,9 +273,9 @@ public class TakeDataServiceImpl implements TakeDataService {
                 log.info("远程调用geom保存,返回结果:{}", tGeomDb);
                 //这里保存geom映射关系
                 nodeLandService.createNodeLand(nodeId, tGeomDb.getId());
-                //预付码逻辑
+                //预赋码逻辑
                 projectService.addPreAssignCode(nodeId,projectId,tGeomDb.getId(),0);
-                //这里进行当上链操作:
+                //这里进行上链操作:
                 gyjsydscdjService.updateHasOnchain(nodeId,true);
                 // 更新项目表的上链数量
                 projectService.countOnChinaNum(projectId);
@@ -341,7 +283,6 @@ public class TakeDataServiceImpl implements TakeDataService {
                 landOneCodeService.addOrUpdateLandOneCodeInfo(projectId,nodeId);
             }
 
-
         } catch (Exception e) {
             log.error("调用矢量保存文件错误,业务编号:{}: ", ywh);
             e.printStackTrace();
@@ -447,8 +388,6 @@ public class TakeDataServiceImpl implements TakeDataService {
 
 
 
-
-
     public String  addOrUpdateLandFirstRegistration(LandFirstParamVo body,String projectId,String needUpdateNodeId) {
         String addNodeId = "";
         if (StringUtils.isNotBlank(needUpdateNodeId)) {

+ 1 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/utils/ArcGisUtil.java

@@ -28,8 +28,6 @@ public class ArcGisUtil {
     public static final boolean WITH_GEOMETRY = true;
     public static final String ARCGIS_BASE_URL = "http://192.168.100.1:6080/arcgis/rest/services/GJXQ/BDC_DBZD/MapServer";
 
-
-
     private final ObjectMapper mapper = new ObjectMapper();
 
     private final String base;
@@ -155,6 +153,7 @@ public class ArcGisUtil {
         boolean withGeometry = true;
         //String where = "BDCDYH='360425005005GN00002W00000000'";
         String where = "BDCDYH='360425005005GB60012W00000000'";
+        //String where = "BDCDYH='360122014004GB00091F00040022'";
         JsonNode page = client.query(where, withGeometry, 0, PAGE_SIZE);
         JsonNode features = page.path("features");
         //int n = features.size();