|
@@ -48,10 +48,16 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
|
public class DealExcelServiceImpl {
|
|
public class DealExcelServiceImpl {
|
|
|
|
|
+ // 土地供应 ,出让,划拨
|
|
|
|
|
+ private final String rootPathAll = "";
|
|
|
|
|
|
|
|
- private final String rootPathAll = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\数据治理批量导入示例数据\\赣江新区项目文件夹建立\\1.出让项目";
|
|
|
|
|
- private final String rootPath2019 = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\数据治理批量导入示例数据\\赣江新区项目文件夹建立\\1.出让项目\\2019";
|
|
|
|
|
- private final String rootPath2020 = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\数据治理批量导入示例数据\\赣江新区项目文件夹建立\\1.出让项目\\2020";
|
|
|
|
|
|
|
+ private final String rootPathAll_CR = Constant.IMPORT_EXCEL_FILE_PATH + "\\4.土地供应\\附件材料\\1.出让项目";
|
|
|
|
|
+ private final String rootPathAll_HB = Constant.IMPORT_EXCEL_FILE_PATH + "\\4.土地供应\\附件材料\\2.划拨项目";
|
|
|
|
|
+ //用地预审选址
|
|
|
|
|
+ private final String rootPathAll_YDYSYXZ = Constant.IMPORT_EXCEL_FILE_PATH + "\\2.用地预审与选址项目";
|
|
|
|
|
+
|
|
|
|
|
+ //private final String rootPath2019 = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\数据治理批量导入示例数据\\赣江新区项目文件夹建立\\1.出让项目\\2019";
|
|
|
|
|
+ //private final String rootPath2020 = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\数据治理批量导入示例数据\\赣江新区项目文件夹建立\\1.出让项目\\2020";
|
|
|
private final String rootPathZip = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\zip";
|
|
private final String rootPathZip = Constant.IMPORT_EXCEL_DATA_FILE_PATH + "\\zip";
|
|
|
private final String targectDir = Constant.FILE_UPLOAD_PATH;
|
|
private final String targectDir = Constant.FILE_UPLOAD_PATH;
|
|
|
private static final String bdcFileDownPath = Constant.BDC_FILE_DOWN_PATH;
|
|
private static final String bdcFileDownPath = Constant.BDC_FILE_DOWN_PATH;
|
|
@@ -121,22 +127,17 @@ public class DealExcelServiceImpl {
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String addExcelDataToDb_V3(Map<String, List<Map<String, String>>> dataMap) {
|
|
|
|
|
|
|
+ public String addExcelDataToDb_V3(Map<String, List<Map<String, String>>> dataMap){
|
|
|
|
|
|
|
|
List<Map<String, String>> xmList = dataMap.get("项目信息");
|
|
List<Map<String, String>> xmList = dataMap.get("项目信息");
|
|
|
List<Map<String, String>> tdgyList = dataMap.get("土地供应");
|
|
List<Map<String, String>> tdgyList = dataMap.get("土地供应");
|
|
|
List<Map<String, String>> jdList = dataMap.get("阶段");
|
|
List<Map<String, String>> jdList = dataMap.get("阶段");
|
|
|
List<Map<String, String>> ydysyxzList = dataMap.get("用地预审与选址");
|
|
List<Map<String, String>> ydysyxzList = dataMap.get("用地预审与选址");
|
|
|
List<Map<String, String>> ydbpList = dataMap.get("用地报批");
|
|
List<Map<String, String>> ydbpList = dataMap.get("用地报批");
|
|
|
- List<Map<String, String>> gyjsydscdjList = dataMap.get("国有建设用地使用权首次登记");
|
|
|
|
|
- List<Map<String, String>> jsydghxkList = dataMap.get("建设用地规划许可");
|
|
|
|
|
- List<Map<String, String>> jsgcghxkList = dataMap.get("建设工程规划许可");
|
|
|
|
|
- List<Map<String, String>> tdhyhsList = dataMap.get("土地核验与规划核实");
|
|
|
|
|
- List<Map<String, String>> gyjsydjfwscdjList = dataMap.get("国有建设用地使用权及房屋所有权首次登记(会有多个不动产权证)(界面新参数)");
|
|
|
|
|
List<Map<String, String>> tjyydhxList = dataMap.get("规划条件与用地红线出具");
|
|
List<Map<String, String>> tjyydhxList = dataMap.get("规划条件与用地红线出具");
|
|
|
|
|
|
|
|
|
|
+
|
|
|
int i = 0;
|
|
int i = 0;
|
|
|
- int j = 0;
|
|
|
|
|
|
|
|
|
|
for (Map<String, String> xm : xmList) {
|
|
for (Map<String, String> xm : xmList) {
|
|
|
ProjectVo projectVo = new ProjectVo();
|
|
ProjectVo projectVo = new ProjectVo();
|
|
@@ -150,124 +151,216 @@ public class DealExcelServiceImpl {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- String projectName = StringUtils.isNotBlank(xm.get("项目名称"))? xm.get("项目名称"):"";
|
|
|
|
|
|
|
+ String projectName = xm.get("项目名称");
|
|
|
|
|
+ if (StringUtils.isBlank(projectName)) {
|
|
|
|
|
+ projectName = "xxxx3_" + System.currentTimeMillis();
|
|
|
|
|
+ log.warn("项目名称为空,默认设置为{}", projectName);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ projectName = "pro3_" + projectName;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
projectVo.setName(projectName);
|
|
projectVo.setName(projectName);
|
|
|
|
|
|
|
|
- String code = StringUtils.isNotBlank(xm.get("项目代码"))? xm.get("项目代码"):"";
|
|
|
|
|
|
|
+ String code = xm.get("项目代码");
|
|
|
projectVo.setCode(code);
|
|
projectVo.setCode(code);
|
|
|
|
|
|
|
|
- String company = StringUtils.isNotBlank(xm.get("建设单位"))? xm.get("建设单位"):"";
|
|
|
|
|
|
|
+ String company = xm.get("建设单位");
|
|
|
projectVo.setCompany(company);
|
|
projectVo.setCompany(company);
|
|
|
|
|
+ projectVo.setOnChainNum(0);
|
|
|
|
|
+
|
|
|
|
|
+ String projectId = projectService.add(projectVo);
|
|
|
|
|
+
|
|
|
|
|
+ // -----------------第一部分增加项目结束-------------------------------
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // -----------------第二部分增加土地供应环节开始-------------------------------
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(tdgyList)) {
|
|
|
|
|
+ TdgyVo tdgyVo = new TdgyVo();
|
|
|
|
|
+ tdgyVo.setProjectId(projectId);
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, String> tdgyExcel = tdgyList.get(i);
|
|
|
|
|
+ String srf = tdgyExcel.get("土地受让人");
|
|
|
|
|
+ tdgyVo.setSrf(srf);
|
|
|
|
|
+
|
|
|
|
|
+ String tdyt = tdgyExcel.get("土地用途");
|
|
|
|
|
+ String tdytCode = getTdytCodeByName(tdyt);
|
|
|
|
|
+ if (StringUtils.isBlank(tdytCode)) {
|
|
|
|
|
+ log.warn("土地用途{}没有找到对应的code,默认设置为{}", tdyt, tdytCode);
|
|
|
|
|
+ }
|
|
|
|
|
+ tdgyVo.setTdyt(tdytCode);
|
|
|
|
|
+
|
|
|
|
|
+ String gdArea = tdgyExcel.get("供地面积");
|
|
|
|
|
+ if (StringUtils.isBlank(gdArea)) {
|
|
|
|
|
+ log.warn("供地面积为空,默认设置为0");
|
|
|
|
|
+ gdArea = "0";
|
|
|
|
|
+ }
|
|
|
|
|
+ tdgyVo.setGdArea(Float.parseFloat(gdArea));
|
|
|
|
|
+
|
|
|
|
|
+ String gdUnit = tdgyExcel.get("面积单位");
|
|
|
|
|
+ if (StringUtils.isBlank(gdUnit)) {
|
|
|
|
|
+ log.warn("面积单位为空,默认设置为空字符");
|
|
|
|
|
+ gdUnit = "";
|
|
|
|
|
+ }
|
|
|
|
|
+ tdgyVo.setGdUnit(gdUnit);
|
|
|
|
|
+
|
|
|
|
|
+ String jswz = tdgyExcel.get("建设位置");
|
|
|
|
|
+ tdgyVo.setJswz(jswz);
|
|
|
|
|
+
|
|
|
|
|
+ String gdType = tdgyExcel.get("供地方式");
|
|
|
|
|
+ tdgyVo.setGdType(gdType);
|
|
|
|
|
+
|
|
|
|
|
+ String hasZz = tdgyExcel.get("是否完成征转");
|
|
|
|
|
+ if (hasZz.equalsIgnoreCase("是")) {
|
|
|
|
|
+ hasZz = "已报已征";
|
|
|
|
|
+ } else if (hasZz.equalsIgnoreCase("否")) {
|
|
|
|
|
+ hasZz = "未报未征";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ log.warn("是否完成征转{}不合法,默认设置为否", hasZz);
|
|
|
|
|
+ hasZz = "";
|
|
|
|
|
+ }
|
|
|
|
|
+ tdgyVo.setHasZz(hasZz);
|
|
|
|
|
+
|
|
|
|
|
+ String hbcrfapfwh = tdgyExcel.get("用地划拨/出让方案批复文号");
|
|
|
|
|
+ tdgyVo.setHbcrfapfwh(hbcrfapfwh);
|
|
|
|
|
+
|
|
|
|
|
+ String hbcrhtbh = tdgyExcel.get("划拨决定书/出让合同编号(必填)");
|
|
|
|
|
+ tdgyVo.setHbcrhtbh(hbcrhtbh);
|
|
|
|
|
+
|
|
|
|
|
+ String hbcrhtDate = tdgyExcel.get("划拨决定书/出让合同日期");
|
|
|
|
|
+ hbcrhtDate = parseChineseDate(hbcrhtDate);
|
|
|
|
|
+ tdgyVo.setHbcrhtDate(hbcrhtDate);
|
|
|
|
|
+ String id = tdgyService.add(tdgyVo);
|
|
|
|
|
+
|
|
|
|
|
+ //附件材料处理 -- 数据治理文件名
|
|
|
|
|
+ Map<String, String> jdMap = jdList.get(i);
|
|
|
|
|
+ String projectFileName = jdMap.get("数据治理文件名");
|
|
|
|
|
+ String nodeFileName = "03土地供应阶段";
|
|
|
|
|
+ writeToLog("project_file_name_err2.log", "excel行(" + i + ")-> "+projectFileName);
|
|
|
|
|
+
|
|
|
|
|
+ String currentGdType = gdType.equalsIgnoreCase("出让") ? "1" : (gdType.equalsIgnoreCase("划拨")? "2" : "1");
|
|
|
|
|
+ dealCurrentNodeAttachmentV3(projectId, id, projectFileName,"", nodeFileName, currentGdType);
|
|
|
|
|
+ //矢量数据处理 -- 数据治理文件名
|
|
|
|
|
+ String dzjgh = jdMap.get("划拨决定书/出让合同电子监管号");
|
|
|
|
|
+ dealCurrentNodeGeom(dzjgh, id);
|
|
|
|
|
+
|
|
|
|
|
+ try{
|
|
|
|
|
+ //这里更新上链
|
|
|
|
|
+ NodeLand nodeLand = nodeLandService.getNodeLandByNodeId(id);
|
|
|
|
|
+ if(Objects.nonNull(nodeLand)){
|
|
|
|
|
+ tdgyService.updateHasOnchain(id, projectId,true);
|
|
|
|
|
+ // 更新项目表的上链数量
|
|
|
|
|
+ projectService.countOnChinaNum(projectId);
|
|
|
|
|
+ //这里生成资源吗
|
|
|
|
|
+ landOneCodeService.addOrUpdateLandOneCodeInfo(projectId,id);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ log.info("自动上链失败:上链项目名称:{},错误信息{}",projectName, e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if(StringUtils.isBlank(projectName)||StringUtils.isBlank(code)||StringUtils.isBlank(company)){
|
|
|
|
|
- log.error("项目名称、项目代码、建设单位不能为空,项目名称:{},项目代码:{},建设单位:{}", projectName, code, company);
|
|
|
|
|
- continue;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ // -----------------第二部分增加项目关联的(土地供应)环节结束-------------------------------
|
|
|
|
|
|
|
|
- List<Project> proList = projectMapper.getByConditionList(projectName, code, company);
|
|
|
|
|
- if(CollectionUtils.isNotEmpty(proList)){
|
|
|
|
|
- log.info("找到项目: name:{},code:{},company:{},条数:{}", projectName, code, company,proList.size());
|
|
|
|
|
- }else {
|
|
|
|
|
- log.info("新增项目: name:{},code:{},company:{},条数:{}", projectName, code, company,++j);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // ----- 用地报批 (仅单独选址) -----
|
|
|
|
|
+ if (projectVo.getProjectType() == 1 && CollectionUtils.isNotEmpty(ydbpList) && i < ydbpList.size()) {
|
|
|
|
|
+ Map<String, String> excel = ydbpList.get(i);
|
|
|
|
|
+ if (!isAllFieldsEmpty(excel)) {
|
|
|
|
|
+ String pfwh = excel.get("批复文号(必填)");
|
|
|
|
|
+ String pfDate = excel.get("批复日期(必填)");
|
|
|
|
|
+ if (StringUtils.isNotBlank(pfwh) && StringUtils.isNotBlank(pfDate) && isValidChineseDate(pfDate)) {
|
|
|
|
|
+ pfDate = parseChineseDate(pfDate);
|
|
|
|
|
+ YdbpVo vo = new YdbpVo();
|
|
|
|
|
+ vo.setProjectId(projectId);
|
|
|
|
|
+ vo.setPfwh(pfwh);
|
|
|
|
|
+ vo.setPfDate(pfDate);
|
|
|
|
|
+ vo.setTdyt(excel.get("土地用途"));
|
|
|
|
|
+ vo.setYdArea(parseFloatField(excel.get("用地面积"), "用地报批-用地面积"));
|
|
|
|
|
+ vo.setYdUnit(validateAreaUnit(excel.get("用地面积"), excel.get("用地面积单位"), "用地面积", "用地面积单位"));
|
|
|
|
|
+ vo.setZsArea(parseFloatField(excel.get("征收面积"), "用地报批-征收面积"));
|
|
|
|
|
+ vo.setZsUnit(validateAreaUnit(excel.get("征收面积"), excel.get("征收面积单位"), "征收面积", "征收面积单位"));
|
|
|
|
|
+ String hasZz = excel.get("是否完成征转");
|
|
|
|
|
+ if (StringUtils.isNotBlank(hasZz)) {
|
|
|
|
|
+ if ("是".equals(hasZz)) hasZz = "已报已征";
|
|
|
|
|
+ else if ("否".equals(hasZz)) hasZz = "未报未征";
|
|
|
|
|
+ else hasZz = "";
|
|
|
|
|
+ }
|
|
|
|
|
+ vo.setHasZz(hasZz);
|
|
|
|
|
+ vo.setBpDate(excel.get("报批日期"));
|
|
|
|
|
+ String nodeId = ydbpService.add(vo);
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(jdList) && i < jdList.size()) {
|
|
|
|
|
+ dealCurrentNodeAttachmentV3(projectId, nodeId, jdList.get(i).get("数据治理文件名"),rootPathAll, "01用地报批阶段", null);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- //String projectId = projectService.add(projectVo);
|
|
|
|
|
- // -----------------第一部分增加项目结束-------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
+ // ----- 用地预审与选址 (仅单独选址) -----
|
|
|
|
|
+ if (projectVo.getProjectType() == 1 && CollectionUtils.isNotEmpty(ydysyxzList) && i < ydysyxzList.size()) {
|
|
|
|
|
+ Map<String, String> excel = ydysyxzList.get(i);
|
|
|
|
|
+ if (!isAllFieldsEmpty(excel)) {
|
|
|
|
|
+ String zzwh = excel.get("证书文号");
|
|
|
|
|
+ String fzDate = excel.get("发证日期");
|
|
|
|
|
+ if (StringUtils.isNotBlank(zzwh) && StringUtils.isNotBlank(fzDate) && isValidChineseDate(fzDate)) {
|
|
|
|
|
+ fzDate = parseChineseDate(fzDate);
|
|
|
|
|
+ YdysyxzVo vo = new YdysyxzVo();
|
|
|
|
|
+ vo.setProjectId(projectId);
|
|
|
|
|
+ vo.setZzwh(zzwh);
|
|
|
|
|
+ vo.setFzDate(fzDate);
|
|
|
|
|
+ vo.setJsdd(excel.get("建设地点"));
|
|
|
|
|
+ vo.setArea(parseFloatField(excel.get("拟用地面积"), "用地预审与选址-拟用地面积"));
|
|
|
|
|
+ vo.setAreaUnit(validateAreaUnit(excel.get("拟用地面积"), excel.get("面积单位"), "拟用地面积", "面积单位"));
|
|
|
|
|
+ String hasZz = excel.get("是否完成征转");
|
|
|
|
|
+ if (StringUtils.isNotBlank(hasZz)) {
|
|
|
|
|
+ if ("是".equals(hasZz)) hasZz = "已报已征";
|
|
|
|
|
+ else if ("否".equals(hasZz)) hasZz = "未报未征";
|
|
|
|
|
+ else hasZz = "";
|
|
|
|
|
+ }
|
|
|
|
|
+ vo.setHasZz(hasZz);
|
|
|
|
|
+ vo.setJsyj(excel.get("项目建设依据"));
|
|
|
|
|
+ vo.setXmjsyj(excel.get("项目规模及内容"));
|
|
|
|
|
+
|
|
|
|
|
+ String nodeId = ydysyxzService.add(vo);
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(jdList) && i < jdList.size()) {
|
|
|
|
|
+ dealCurrentNodeAttachmentV3(projectId, nodeId, projectName, rootPathAll_YDYSYXZ,"00用地预审与选址阶段", null);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // -----------------第二部分增加土地供应环节开始-------------------------------
|
|
|
|
|
-// if (CollectionUtils.isNotEmpty(tdgyList) && false) {
|
|
|
|
|
-// TdgyVo tdgyVo = new TdgyVo();
|
|
|
|
|
-// tdgyVo.setProjectId(projectId);
|
|
|
|
|
-//
|
|
|
|
|
-// Map<String, String> tdgyExcel = tdgyList.get(i);
|
|
|
|
|
-// String srf = tdgyExcel.get("土地受让人");
|
|
|
|
|
-// tdgyVo.setSrf(srf);
|
|
|
|
|
-//
|
|
|
|
|
-// String tdyt = tdgyExcel.get("土地用途");
|
|
|
|
|
-// String tdytCode = getTdytCodeByName(tdyt);
|
|
|
|
|
-// if (StringUtils.isBlank(tdytCode)) {
|
|
|
|
|
-// log.warn("土地用途{}没有找到对应的code,默认设置为{}", tdyt, tdytCode);
|
|
|
|
|
-// }
|
|
|
|
|
-// tdgyVo.setTdyt(tdytCode);
|
|
|
|
|
-//
|
|
|
|
|
-// String gdArea = tdgyExcel.get("供地面积");
|
|
|
|
|
-// if (StringUtils.isBlank(gdArea)) {
|
|
|
|
|
-// log.warn("供地面积为空,默认设置为0");
|
|
|
|
|
-// gdArea = "0";
|
|
|
|
|
-// }
|
|
|
|
|
-// tdgyVo.setGdArea(Float.parseFloat(gdArea));
|
|
|
|
|
-//
|
|
|
|
|
-// String gdUnit = tdgyExcel.get("面积单位");
|
|
|
|
|
-// if (StringUtils.isBlank(gdUnit)) {
|
|
|
|
|
-// log.warn("面积单位为空,默认设置为空字符");
|
|
|
|
|
-// gdUnit = "";
|
|
|
|
|
-// }
|
|
|
|
|
-// tdgyVo.setGdUnit(gdUnit);
|
|
|
|
|
-//
|
|
|
|
|
-// String jswz = tdgyExcel.get("建设位置");
|
|
|
|
|
-// tdgyVo.setJswz(jswz);
|
|
|
|
|
-//
|
|
|
|
|
-// String gdType = tdgyExcel.get("供地方式");
|
|
|
|
|
-// tdgyVo.setGdType(gdType);
|
|
|
|
|
-//
|
|
|
|
|
-// String hasZz = tdgyExcel.get("是否完成征转");
|
|
|
|
|
-// if (hasZz.equalsIgnoreCase("是")) {
|
|
|
|
|
-// hasZz = "已报已征";
|
|
|
|
|
-// } else if (hasZz.equalsIgnoreCase("否")) {
|
|
|
|
|
-// hasZz = "未报未征";
|
|
|
|
|
-// } else {
|
|
|
|
|
-// log.warn("是否完成征转{}不合法,默认设置为否", hasZz);
|
|
|
|
|
-// hasZz = "";
|
|
|
|
|
-// }
|
|
|
|
|
-// tdgyVo.setHasZz(hasZz);
|
|
|
|
|
-//
|
|
|
|
|
-// String hbcrfapfwh = tdgyExcel.get("用地划拨/出让方案批复文号");
|
|
|
|
|
-// tdgyVo.setHbcrfapfwh(hbcrfapfwh);
|
|
|
|
|
-//
|
|
|
|
|
-// String hbcrhtbh = tdgyExcel.get("划拨决定书/出让合同编号(必填)");
|
|
|
|
|
-// tdgyVo.setHbcrhtbh(hbcrhtbh);
|
|
|
|
|
-//
|
|
|
|
|
-// String hbcrhtDate = tdgyExcel.get("划拨决定书/出让合同日期");
|
|
|
|
|
-// hbcrhtDate = parseChineseDate(hbcrhtDate);
|
|
|
|
|
-// tdgyVo.setHbcrhtDate(hbcrhtDate);
|
|
|
|
|
-// String id = tdgyService.add(tdgyVo);
|
|
|
|
|
-//
|
|
|
|
|
-// //附件材料处理 -- 数据治理文件名
|
|
|
|
|
-// Map<String, String> jdMap = jdList.get(i);
|
|
|
|
|
-// String projectFileName = jdMap.get("数据治理文件名");
|
|
|
|
|
-// String nodeFileName = "03土地供应阶段";
|
|
|
|
|
-// writeToLog("project_file_name_err2.log", "excel行(" + i + ")-> "+projectFileName);
|
|
|
|
|
-//
|
|
|
|
|
-// String currentGdType = gdType.equalsIgnoreCase("出让") ? "1" : (gdType.equalsIgnoreCase("划拨")? "2" : "1");
|
|
|
|
|
-// dealCurrentNodeAttachment(projectId, id, projectFileName, nodeFileName, currentGdType);
|
|
|
|
|
-// //矢量数据处理 -- 数据治理文件名
|
|
|
|
|
-// String dzjgh = jdMap.get("划拨决定书/出让合同电子监管号");
|
|
|
|
|
-// dealCurrentNodeGeom(dzjgh, id);
|
|
|
|
|
-// try{
|
|
|
|
|
-// //这里更新上链
|
|
|
|
|
-// NodeLand nodeLand = nodeLandService.getNodeLandByNodeId(id);
|
|
|
|
|
-// if(Objects.nonNull(nodeLand)){
|
|
|
|
|
-// tdgyService.updateHasOnchain(id, projectId,true);
|
|
|
|
|
-// // 更新项目表的上链数量
|
|
|
|
|
-// projectService.countOnChinaNum(projectId);
|
|
|
|
|
-// //这里生成资源吗
|
|
|
|
|
-// landOneCodeService.addOrUpdateLandOneCodeInfo(projectId,id);
|
|
|
|
|
-// }
|
|
|
|
|
-//
|
|
|
|
|
-// } catch (Exception e) {
|
|
|
|
|
-// e.printStackTrace();
|
|
|
|
|
-// log.info("自动上链失败:上链项目名称:{},错误信息{}",projectName, e.getMessage());
|
|
|
|
|
-// }
|
|
|
|
|
-//
|
|
|
|
|
-// }
|
|
|
|
|
- // -----------------第二部分增加项目关联的(土地供应)环节结束-------------------------------
|
|
|
|
|
- i++;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ // ----- 规划条件与用地红线出具 (仅批次报批) -----
|
|
|
|
|
+ if (projectVo.getProjectType() == 2 && CollectionUtils.isNotEmpty(tjyydhxList) && i < tjyydhxList.size()) {
|
|
|
|
|
+ Map<String, String> excel = tjyydhxList.get(i);
|
|
|
|
|
|
|
|
|
|
+ if (!isAllFieldsEmpty(excel)) {
|
|
|
|
|
+ String cjbh = excel.get("出具编号");
|
|
|
|
|
+ String cjDate = excel.get("出具日期");
|
|
|
|
|
+ if (StringUtils.isNotBlank(cjbh) && StringUtils.isNotBlank(cjDate) && isValidChineseDate(cjDate)) {
|
|
|
|
|
+ cjDate = parseChineseDate(cjDate);
|
|
|
|
|
+ TjyydhxVo vo = new TjyydhxVo();
|
|
|
|
|
+ vo.setProjectId(projectId);
|
|
|
|
|
+ vo.setCjbh(cjbh);
|
|
|
|
|
+ vo.setCjDate(cjDate);
|
|
|
|
|
+ vo.setDkbm(excel.get("地块编码"));
|
|
|
|
|
+ vo.setArea(parseFloatField(excel.get("用地面积"), "规划条件与用地红线出具-用地面积"));
|
|
|
|
|
+ vo.setAreaUnit(validateAreaUnit(excel.get("用地面积"), excel.get("面积单位"), "用地面积", "面积单位"));
|
|
|
|
|
+ vo.setYdxz(excel.get("用地性质"));
|
|
|
|
|
+ vo.setYdwz(excel.get("用地位置"));
|
|
|
|
|
+ String nodeId = tjyydhxService.add(vo);
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(jdList) && i < jdList.size()) {
|
|
|
|
|
+ dealCurrentNodeAttachmentV3(projectId, nodeId, jdList.get(i).get("数据治理文件名"), "","09规划条件与用地红线出具阶段", null);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ i++;
|
|
|
|
|
+ }
|
|
|
return "successs";
|
|
return "successs";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1379,7 +1472,49 @@ public class DealExcelServiceImpl {
|
|
|
//这里先初始化项目
|
|
//这里先初始化项目
|
|
|
nodeAttachmentService.addDefaultAttachment(projectId, nodeId,gdType);
|
|
nodeAttachmentService.addDefaultAttachment(projectId, nodeId,gdType);
|
|
|
String fullFilePath ="";
|
|
String fullFilePath ="";
|
|
|
- String innerDirName = getDealFilePath(projectFileName);//找到当前文件
|
|
|
|
|
|
|
+ String innerDirName = getDealFilePath("",projectFileName);//找到当前文件
|
|
|
|
|
+ if (StringUtils.isNotBlank(innerDirName)) {
|
|
|
|
|
+ fullFilePath = copyFileToDirectory(rootPathAll +"\\" + innerDirName + "\\" + projectFileName, targectDir + "\\" + projectFileName, nodeFileName);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StringUtils.isNotBlank(fullFilePath)) {
|
|
|
|
|
+ //这里进行文件关联
|
|
|
|
|
+ String nodeAttachmentId = associationFile(fullFilePath, projectId, nodeId);
|
|
|
|
|
+ log.info("关于项目{}的土地供应环节,文件{}关联结果{}", projectId, nodeFileName, nodeAttachmentId);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ log.warn("未找到数据治理文件名称--附件材料:{},请确认文件是否存在于路径{}或{}", projectFileName, rootPathAll);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //附件数据处理 -- 数据治理文件名
|
|
|
|
|
+ public void dealCurrentNodeAttachmentV3(String projectId, String nodeId, String projectFileName,String outPath, String nodeFileName,String gdType) {
|
|
|
|
|
+ if (StringUtils.isBlank(projectFileName)) {
|
|
|
|
|
+ log.info("数据治理文件名称--附件材料:{}", projectFileName);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+// List<String> aa = List.of(
|
|
|
|
|
+// "2020-3 赣江新区直管区国药南大道以东、规划路以南、国药支路以西、慈菇东路以北(SHD02-07)",
|
|
|
|
|
+// "2020-4 赣江新区直管区欧阳修支路以东、欧阳修路以南、储备用地以西、慈菇东路以北(SHD04-05-01)",
|
|
|
|
|
+// "2020-12 赣江新区直管区济生南路以东、欧阳修路以南、储备用地以西、慈菇东路以北SHD06-03"
|
|
|
|
|
+// );
|
|
|
|
|
+//
|
|
|
|
|
+// if(aa.contains(projectFileName)){
|
|
|
|
|
+// int a1=100;
|
|
|
|
|
+// int b2=a1+100;
|
|
|
|
|
+// log.info("附件材料处理逻辑:{},{}", projectFileName,b2);
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ //这里先初始化项目
|
|
|
|
|
+ nodeAttachmentService.addDefaultAttachment(projectId, nodeId,gdType);
|
|
|
|
|
+ String fullFilePath ="";
|
|
|
|
|
+ String innerDirName = getDealFilePath(outPath,projectFileName);//找到当前文件
|
|
|
if (StringUtils.isNotBlank(innerDirName)) {
|
|
if (StringUtils.isNotBlank(innerDirName)) {
|
|
|
fullFilePath = copyFileToDirectory(rootPathAll +"\\" + innerDirName + "\\" + projectFileName, targectDir + "\\" + projectFileName, nodeFileName);
|
|
fullFilePath = copyFileToDirectory(rootPathAll +"\\" + innerDirName + "\\" + projectFileName, targectDir + "\\" + projectFileName, nodeFileName);
|
|
|
}
|
|
}
|
|
@@ -1389,7 +1524,7 @@ public class DealExcelServiceImpl {
|
|
|
String nodeAttachmentId = associationFile(fullFilePath, projectId, nodeId);
|
|
String nodeAttachmentId = associationFile(fullFilePath, projectId, nodeId);
|
|
|
log.info("关于项目{}的土地供应环节,文件{}关联结果{}", projectId, nodeFileName, nodeAttachmentId);
|
|
log.info("关于项目{}的土地供应环节,文件{}关联结果{}", projectId, nodeFileName, nodeAttachmentId);
|
|
|
}else {
|
|
}else {
|
|
|
- log.warn("未找到数据治理文件名称--附件材料:{},请确认文件是否存在于路径{}或{}", projectFileName, rootPath2019, rootPath2020);
|
|
|
|
|
|
|
+ log.warn("未找到数据治理文件名称--附件材料:{},请确认文件是否存在于路径{}或{}", projectFileName, "", "");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1416,11 +1551,18 @@ public class DealExcelServiceImpl {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- public String getDealFilePath(String projectFileName) {
|
|
|
|
|
|
|
+ public String getDealFilePath(String outPath,String projectFileName) {
|
|
|
String fullFilePath = "";
|
|
String fullFilePath = "";
|
|
|
|
|
+ if(StringUtils.isBlank(outPath)){
|
|
|
|
|
+ return "";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
try {
|
|
try {
|
|
|
for(String pathName : Constant.NODE_ATTACHMENT_NAME_LIST){
|
|
for(String pathName : Constant.NODE_ATTACHMENT_NAME_LIST){
|
|
|
- Path filePath = Paths.get(rootPathAll + "\\" +pathName+ "\\" + projectFileName);
|
|
|
|
|
|
|
+ //Path filePath = Paths.get(rootPathAll + "\\" +pathName+ "\\" + projectFileName);
|
|
|
|
|
+ Path filePath = Paths.get(outPath + "\\" +pathName+ "\\" + projectFileName);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
if (Files.exists(filePath) && Files.isDirectory(filePath)) {
|
|
if (Files.exists(filePath) && Files.isDirectory(filePath)) {
|
|
|
fullFilePath =pathName;
|
|
fullFilePath =pathName;
|
|
|
break;
|
|
break;
|