|
@@ -4,22 +4,29 @@ import com.siwei.apply.domain.Project;
|
|
|
import com.siwei.apply.domain.ProjectWorkflow;
|
|
import com.siwei.apply.domain.ProjectWorkflow;
|
|
|
import com.siwei.apply.domain.res.GyjsydscdjRes;
|
|
import com.siwei.apply.domain.res.GyjsydscdjRes;
|
|
|
import com.siwei.apply.domain.res.GyjsydscdjSinglRes;
|
|
import com.siwei.apply.domain.res.GyjsydscdjSinglRes;
|
|
|
-import com.siwei.apply.domain.vo.GyjsydscdjUpdateVo;
|
|
|
|
|
-import com.siwei.apply.domain.vo.TakeDataAddVo;
|
|
|
|
|
|
|
+import com.siwei.apply.domain.vo.*;
|
|
|
import com.siwei.apply.enums.AloneWorkFlowEnum;
|
|
import com.siwei.apply.enums.AloneWorkFlowEnum;
|
|
|
|
|
|
|
|
import com.siwei.apply.mapper.ProjectWorkflowMapper;
|
|
import com.siwei.apply.mapper.ProjectWorkflowMapper;
|
|
|
|
|
+import com.siwei.apply.service.GyjsydjfwscdjService;
|
|
|
|
|
+import com.siwei.apply.service.GyjsydscdjService;
|
|
|
import com.siwei.apply.service.NodeLandService;
|
|
import com.siwei.apply.service.NodeLandService;
|
|
|
import com.siwei.apply.service.ProjectService;
|
|
import com.siwei.apply.service.ProjectService;
|
|
|
import com.siwei.apply.service.third.TakeDataService;
|
|
import com.siwei.apply.service.third.TakeDataService;
|
|
|
import com.siwei.apply.utils.HttpClientUtil;
|
|
import com.siwei.apply.utils.HttpClientUtil;
|
|
|
|
|
+import com.siwei.common.core.domain.R;
|
|
|
|
|
+import com.siwei.common.core.exception.ServiceException;
|
|
|
import com.siwei.common.core.utils.StringUtils;
|
|
import com.siwei.common.core.utils.StringUtils;
|
|
|
|
|
+import com.siwei.spatial.api.RemoteSpatialFilesDbService;
|
|
|
|
|
+import com.siwei.spatial.api.domain.file.TGeomDb;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
|
|
+import org.apache.commons.lang3.RandomStringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.LinkedHashMap;
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -40,22 +47,56 @@ public class TakeDataServiceImpl implements TakeDataService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private NodeLandService nodeLandService;
|
|
private NodeLandService nodeLandService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private GyjsydscdjService gyjsydscdjService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private GyjsydjfwscdjService gyjsydjfwscdjService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private RemoteSpatialFilesDbService remoteSpatialFilesDbService;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public String add(TakeDataAddVo takeDataAddVo) {
|
|
public String add(TakeDataAddVo takeDataAddVo) {
|
|
|
// TODO: Implement add logic
|
|
// TODO: Implement add logic
|
|
|
return "1";
|
|
return "1";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public GyjsydscdjRes get(String projectId) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
- public Map<String, String> getThirdMaxSequence(String projectId,String tableName) {
|
|
|
|
|
|
|
+ public GyjsydscdjSinglRes getById(String id) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void update(GyjsydscdjUpdateVo gyjsydscdjUpdateVo) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 远程获取第三方最大序号
|
|
|
|
|
+ * 然后根据规则生成预赋不动产单元号
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param projectId
|
|
|
|
|
+ * @param tableName
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Map<String, String> getThirdMaxSequence(String projectId, String tableName) {
|
|
|
Map<String, String> retMap = new LinkedHashMap<>();
|
|
Map<String, String> retMap = new LinkedHashMap<>();
|
|
|
Project project = projectService.get(projectId);
|
|
Project project = projectService.get(projectId);
|
|
|
String firstPlotCode = project.getFirstPlotCode();
|
|
String firstPlotCode = project.getFirstPlotCode();
|
|
|
String secondPlotCode = project.getSecondPlotCode();
|
|
String secondPlotCode = project.getSecondPlotCode();
|
|
|
- if(StringUtils.isEmpty(firstPlotCode)){
|
|
|
|
|
|
|
+ if (StringUtils.isEmpty(firstPlotCode)) {
|
|
|
firstPlotCode = "G";
|
|
firstPlotCode = "G";
|
|
|
}
|
|
}
|
|
|
- if(StringUtils.isEmpty(secondPlotCode)){
|
|
|
|
|
|
|
+ if (StringUtils.isEmpty(secondPlotCode)) {
|
|
|
secondPlotCode = "B";
|
|
secondPlotCode = "B";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -69,29 +110,36 @@ public class TakeDataServiceImpl implements TakeDataService {
|
|
|
for (Map<String, String> geomDetailsMap : geomDetailsList) {
|
|
for (Map<String, String> geomDetailsMap : geomDetailsList) {
|
|
|
String geomDetailsId = geomDetailsMap.get("id");
|
|
String geomDetailsId = geomDetailsMap.get("id");
|
|
|
//当前地块所属地籍子区编号
|
|
//当前地块所属地籍子区编号
|
|
|
- Map<String, String> detailGeomBelongToDjzqMap = nodeLandService.getDjzqContainsNodeList(geomDetailsId);
|
|
|
|
|
- if(!MapUtils.isEmpty(detailGeomBelongToDjzqMap)){
|
|
|
|
|
- String djzqdm = detailGeomBelongToDjzqMap.get("djzqdm");
|
|
|
|
|
- regionCode = djzqdm + firstPlotCode + secondPlotCode;
|
|
|
|
|
|
|
+ Map<String, String> detailGeomBelongToDjzqMap = nodeLandService.getDjzqContainsNodeList(geomDetailsId);
|
|
|
|
|
+ if (!MapUtils.isEmpty(detailGeomBelongToDjzqMap)) {
|
|
|
|
|
+ regionCode = detailGeomBelongToDjzqMap.get("djzqdm");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(StringUtils.isNotBlank(regionCode)){
|
|
|
|
|
|
|
+ String preAssignCode = "";
|
|
|
|
|
+ String maxSequence = RandomStringUtils.randomNumeric(5);
|
|
|
|
|
+ if (StringUtils.isNotBlank(regionCode)) {
|
|
|
|
|
+ preAssignCode = regionCode + firstPlotCode + secondPlotCode + maxSequence;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //todo 这里三方接口完成后联调后修改
|
|
|
|
|
+ if (StringUtils.isNotBlank(regionCode) && false) {
|
|
|
Map<String, Object> paramMap = new LinkedHashMap<>();
|
|
Map<String, Object> paramMap = new LinkedHashMap<>();
|
|
|
paramMap.put("regionCode", regionCode);
|
|
paramMap.put("regionCode", regionCode);
|
|
|
// todo 这里调用 httpClient 进行远程调用
|
|
// todo 这里调用 httpClient 进行远程调用
|
|
|
String result = HttpClientUtil.doGet("https://www.baidu.com", paramMap);
|
|
String result = HttpClientUtil.doGet("https://www.baidu.com", paramMap);
|
|
|
log.info("获取解析数据为:{}", result);
|
|
log.info("获取解析数据为:{}", result);
|
|
|
- String maxSequence = "";
|
|
|
|
|
- retMap.put("maxSequence", maxSequence);
|
|
|
|
|
- retMap.put("state", "success");
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ retMap.put("maxSequence", maxSequence);
|
|
|
|
|
+ retMap.put("preAssignCode", preAssignCode);
|
|
|
|
|
+ retMap.put("state", "success");
|
|
|
|
|
+ retMap.put("code", "200");
|
|
|
return retMap;
|
|
return retMap;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public Map<String, String> getImmobileCode(String projectId) {
|
|
public Map<String, String> getImmobileCode(String projectId) {
|
|
|
Map<String, String> retMap = new LinkedHashMap<>();
|
|
Map<String, String> retMap = new LinkedHashMap<>();
|
|
@@ -125,23 +173,132 @@ public class TakeDataServiceImpl implements TakeDataService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 远程获取国有建设用地使用权首次登记数据
|
|
|
|
|
+ * 并且入库
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param paramVo
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Map<String, Object> remoteLandFirstRegistration(ThirdRecordStatusParamVo paramVo) {
|
|
|
|
|
+ String yfbdcdyh = paramVo.getYfbdydyh();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(yfbdcdyh)) {
|
|
|
|
|
+ throw new ServiceException("预分不动产单元号为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ String ywh = paramVo.getYwh();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(ywh)) {
|
|
|
|
|
+ throw new ServiceException("业务编号为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ String ywlx = paramVo.getYwlx();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(ywlx)) {
|
|
|
|
|
+ throw new ServiceException("业务类型为空");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ //todo 这里进行远程请求,获取相关数据,解析后入库
|
|
|
|
|
+ LandFirstParamVo body = new LandFirstParamVo(); //这里需要调整
|
|
|
|
|
+ List<String> geomsList = body.getGeoms();
|
|
|
|
|
+ if (CollectionUtils.isEmpty(geomsList)) {
|
|
|
|
|
+ throw new ServiceException("geom信息为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ GyjsydscdjVo gyjsydscdjVo = new GyjsydscdjVo();
|
|
|
|
|
+ gyjsydscdjVo.setProjectId(body.getXmbh());
|
|
|
|
|
+ gyjsydscdjVo.setQlr(body.getQlr());
|
|
|
|
|
+ gyjsydscdjVo.setGyqk(body.getGyqk());
|
|
|
|
|
+ gyjsydscdjVo.setZl(body.getZl());
|
|
|
|
|
+ gyjsydscdjVo.setQllx(body.getQllx());
|
|
|
|
|
+ gyjsydscdjVo.setQlxz(body.getQlxz());
|
|
|
|
|
+ gyjsydscdjVo.setTdyt(body.getTdyt());
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(body.getTdmj())) {
|
|
|
|
|
+ gyjsydscdjVo.setArea(Float.valueOf(body.getTdmj()));
|
|
|
|
|
+ }
|
|
|
|
|
+ gyjsydscdjVo.setAreaUnit(body.getTdmjdw());
|
|
|
|
|
+ gyjsydscdjVo.setBdcdyh(org.apache.commons.lang3.StringUtils.isNotBlank(body.getBdcdyh()) ? body.getBdcdyh() : body.getYfbdcdyh());
|
|
|
|
|
+ gyjsydscdjVo.setBdczh(body.getBdczh());
|
|
|
|
|
+ gyjsydscdjVo.setDjjg(body.getDjjg());
|
|
|
|
|
+ gyjsydscdjVo.setDjDate(body.getDjrq());
|
|
|
|
|
+
|
|
|
|
|
+ String nodeId = gyjsydscdjService.add(gyjsydscdjVo);
|
|
|
|
|
+ Map<String, Object> map1 = new HashMap<>();
|
|
|
|
|
+ map1.put("geomData", geomsList);
|
|
|
|
|
+ map1.put("sourceType", "third");
|
|
|
|
|
+ //todo 这里进行矢量文件的保存及其传输。
|
|
|
|
|
+ R<TGeomDb> res = remoteSpatialFilesDbService.saveGeom(map1);
|
|
|
|
|
+ TGeomDb tGeomDb = res.getData();
|
|
|
|
|
+ //这里保存geom映射关系
|
|
|
|
|
+ nodeLandService.createNodeLand(nodeId, tGeomDb.getId());
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
|
+ map.put("id", nodeId);
|
|
|
|
|
+ return map;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("调用矢量保存文件错误,业务编号:{}: ", ywh);
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ //todo 同步完成之后,需要修改t_third_record_status 表的状态值,同步完成;
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
|
- public GyjsydscdjRes get(String projectId) {
|
|
|
|
|
- return null;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
|
- public GyjsydscdjSinglRes getById(String id) {
|
|
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
- public void update(GyjsydscdjUpdateVo gyjsydscdjUpdateVo) {
|
|
|
|
|
|
|
+ public Map<String, Object> remoteHouseFirstRegistration(ThirdRecordStatusParamVo paramVo) {
|
|
|
|
|
+ String yfbdcdyh = paramVo.getYfbdydyh();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(yfbdcdyh)) {
|
|
|
|
|
+ throw new ServiceException("预分不动产单元号为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ String ywbh = paramVo.getYwh();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(ywbh)) {
|
|
|
|
|
+ throw new ServiceException("业务编号为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ String ywlx = paramVo.getYwlx();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(ywlx)) {
|
|
|
|
|
+ throw new ServiceException("业务类型为空");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //todo 这里进行远程请求,获取相关数据,解析后入库
|
|
|
|
|
+ HouseFirstParamVo body = new HouseFirstParamVo(); //这里需要调整
|
|
|
|
|
+ List<String> geomsList = body.getGeoms();
|
|
|
|
|
+ if (CollectionUtils.isEmpty(geomsList)) {
|
|
|
|
|
+ throw new ServiceException("geom信息为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ GyjsydjfwscdjVo gyjsydjfwscdjVo = new GyjsydjfwscdjVo();
|
|
|
|
|
+ gyjsydjfwscdjVo.setProjectId(body.getXmbh());
|
|
|
|
|
+// gyjsydjfwscdjVo.setYwh(body.getYwh());
|
|
|
|
|
+// gyjsydjfwscdjVo.setGzdgzsj(body.getGzdgzsj());
|
|
|
|
|
+// gyjsydjfwscdjVo.setKfdw(body.getKfdw());
|
|
|
|
|
+// gyjsydjfwscdjVo.setBdcqk(body.getBdcqk());
|
|
|
|
|
+// if (StringUtils.isNotBlank(body.getJzmj())) {
|
|
|
|
|
+// gyjsydjfwscdjVo.setJzmj(body.getJzmj());
|
|
|
|
|
+// }
|
|
|
|
|
+// gyjsydjfwscdjVo.setJzmjDw(body.getJzmjDw());
|
|
|
|
|
+// gyjsydjfwscdjVo.setTnmj(body.getTnmj());
|
|
|
|
|
+// gyjsydjfwscdjVo.setTnmjDw(body.getTnmjDw());
|
|
|
|
|
+// gyjsydjfwscdjVo.setFtmj(body.getFtmj());
|
|
|
|
|
+// gyjsydjfwscdjVo.setFtmjDw(body.getFtmjDw());
|
|
|
|
|
+// gyjsydjfwscdjVo.setBz(body.getBz());
|
|
|
|
|
+
|
|
|
|
|
+ String nodeId = gyjsydjfwscdjService.add(gyjsydjfwscdjVo);
|
|
|
|
|
+ Map<String, Object> map1 = new HashMap<>();
|
|
|
|
|
+ map1.put("geomData", geomsList);
|
|
|
|
|
+ //todo 这里进行矢量文件的保存及其传输。
|
|
|
|
|
+ R<TGeomDb> res = remoteSpatialFilesDbService.saveGeom(map1);
|
|
|
|
|
+ TGeomDb tGeomDb = res.getData();
|
|
|
|
|
+ //这里保存geom映射关系
|
|
|
|
|
+ nodeLandService.createNodeLand(nodeId, tGeomDb.getId());
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
|
+ map.put("id", nodeId);
|
|
|
|
|
+ return map;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("调用矢量保存文件错误,业务编号:{}: ", ywbh);
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ //todo 同步完成之后,需要修改t_third_record_status 表的状态值,同步完成;
|
|
|
|
|
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|