|
@@ -1261,6 +1261,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
|
|
|
|
|
private List<String> getDbGeom(String tableName,String landRightType) {
|
|
private List<String> getDbGeom(String tableName,String landRightType) {
|
|
|
List<String> list = new ArrayList<>();
|
|
List<String> list = new ArrayList<>();
|
|
|
|
|
+ tableName = com.siwei.common.core.utils.StringUtils.toRootLowerCase(tableName);
|
|
|
String geomsStr = cadastreFileMapper.selectGeoms(tableName,landRightType);
|
|
String geomsStr = cadastreFileMapper.selectGeoms(tableName,landRightType);
|
|
|
if (StringUtils.isNotBlank(geomsStr)) {
|
|
if (StringUtils.isNotBlank(geomsStr)) {
|
|
|
list = Arrays.asList(geomsStr.split("\\|"));
|
|
list = Arrays.asList(geomsStr.split("\\|"));
|
|
@@ -1297,14 +1298,13 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
return newMap;
|
|
return newMap;
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
-
|
|
|
|
|
List<Map<String, String>> dbFieldNameAndTypeList = cadastreFileMapper.selectTableCollumAndType(tableName.toLowerCase(Locale.ROOT));
|
|
List<Map<String, String>> dbFieldNameAndTypeList = cadastreFileMapper.selectTableCollumAndType(tableName.toLowerCase(Locale.ROOT));
|
|
|
Map<String, String> columnTypeMap = new LinkedHashMap<>();
|
|
Map<String, String> columnTypeMap = new LinkedHashMap<>();
|
|
|
for (Map<String, String> col : dbFieldNameAndTypeList) {
|
|
for (Map<String, String> col : dbFieldNameAndTypeList) {
|
|
|
columnTypeMap.put(col.get("column_name"), col.get("data_type"));
|
|
columnTypeMap.put(col.get("column_name"), col.get("data_type"));
|
|
|
}
|
|
}
|
|
|
- cadastreFileMapper.deleteByValidFlag("1", tableName);
|
|
|
|
|
- cadastreFileMapper.updateValidFlag("1", "0", tableName);
|
|
|
|
|
|
|
+ cadastreFileMapper.deleteByValidFlag("1",landRightType, tableName);
|
|
|
|
|
+ cadastreFileMapper.updateValidFlag("1", "0",landRightType, tableName);
|
|
|
for (Map<String, Object> map : theValueList) {
|
|
for (Map<String, Object> map : theValueList) {
|
|
|
map.put("valid_flag", 0);
|
|
map.put("valid_flag", 0);
|
|
|
cleanDataForInsert(map, columnTypeMap);
|
|
cleanDataForInsert(map, columnTypeMap);
|
|
@@ -1467,8 +1467,8 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
for (Map<String, String> col : dbFieldNameAndTypeList) {
|
|
for (Map<String, String> col : dbFieldNameAndTypeList) {
|
|
|
columnTypeMap.put(col.get("column_name"), col.get("data_type"));
|
|
columnTypeMap.put(col.get("column_name"), col.get("data_type"));
|
|
|
}
|
|
}
|
|
|
- cadastreFileMapper.deleteByValidFlag("1", tableName);
|
|
|
|
|
- List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0", tableName);
|
|
|
|
|
|
|
+ cadastreFileMapper.deleteByValidFlag("1",landRightType, tableName);
|
|
|
|
|
+ List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0",landRightType, tableName);
|
|
|
List<Map<String, Object>> dbExistsList = new ArrayList<>();
|
|
List<Map<String, Object>> dbExistsList = new ArrayList<>();
|
|
|
for (Map<String, Object> map : theValueList) {
|
|
for (Map<String, Object> map : theValueList) {
|
|
|
Map<String, Object> dbExistsMap = cadastreFileMapper.selectExistsSameData("0", map, tableName);
|
|
Map<String, Object> dbExistsMap = cadastreFileMapper.selectExistsSameData("0", map, tableName);
|
|
@@ -1487,7 +1487,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
theValueList.addAll(dbDataList);
|
|
theValueList.addAll(dbDataList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- cadastreFileMapper.updateValidFlag("1", "0", tableName);
|
|
|
|
|
|
|
+ cadastreFileMapper.updateValidFlag("1", "0",landRightType, tableName);
|
|
|
for (Map<String, Object> map : theValueList) {
|
|
for (Map<String, Object> map : theValueList) {
|
|
|
map.put("valid_flag", 0);
|
|
map.put("valid_flag", 0);
|
|
|
cleanDataForInsert(map, columnTypeMap);
|
|
cleanDataForInsert(map, columnTypeMap);
|
|
@@ -1565,10 +1565,10 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
public String backToOldData(String uploadId) {
|
|
public String backToOldData(String uploadId) {
|
|
|
try {
|
|
try {
|
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
|
|
|
+ String landRightType = cadastreFile.getLandRightType();
|
|
|
if (!"1".equals(cadastreFile.getStatus())) {
|
|
if (!"1".equals(cadastreFile.getStatus())) {
|
|
|
throw new ServiceException("可能未入库成功,无法回退");
|
|
throw new ServiceException("可能未入库成功,无法回退");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
List<String> fileTableNameList = new ArrayList<>();
|
|
List<String> fileTableNameList = new ArrayList<>();
|
|
|
if ("1".equals(cadastreFile.getFileType())) {//矢量数据
|
|
if ("1".equals(cadastreFile.getFileType())) {//矢量数据
|
|
|
fileTableNameList = getLayerNameList(uploadId);
|
|
fileTableNameList = getLayerNameList(uploadId);
|
|
@@ -1585,9 +1585,8 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for (String layerName : fileTableNameList) {
|
|
for (String layerName : fileTableNameList) {
|
|
|
-
|
|
|
|
|
- cadastreFileMapper.deleteByValidFlag("0", layerName.toLowerCase(Locale.ROOT));
|
|
|
|
|
- cadastreFileMapper.updateValidFlag("0", "1", layerName.toLowerCase(Locale.ROOT));
|
|
|
|
|
|
|
+ cadastreFileMapper.deleteByValidFlag("0",landRightType,layerName.toLowerCase(Locale.ROOT));
|
|
|
|
|
+ cadastreFileMapper.updateValidFlag("0", "1",landRightType, layerName.toLowerCase(Locale.ROOT));
|
|
|
log.info("正在回退表:{}。。。", layerName);
|
|
log.info("正在回退表:{}。。。", layerName);
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -1656,6 +1655,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
List<LayerAndDbData> resList = new ArrayList<>();
|
|
List<LayerAndDbData> resList = new ArrayList<>();
|
|
|
try {
|
|
try {
|
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
|
|
|
+ String landRightType = cadastreFile.getLandRightType();
|
|
|
//这里判断是否校验通过
|
|
//这里判断是否校验通过
|
|
|
if (!cadastreFile.getStatus().equalsIgnoreCase("3")) {
|
|
if (!cadastreFile.getStatus().equalsIgnoreCase("3")) {
|
|
|
log.info("校验未通过,不能入库");
|
|
log.info("校验未通过,不能入库");
|
|
@@ -1682,7 +1682,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
(existing, replacement) -> existing // 如果有重复键,保留第一个值
|
|
(existing, replacement) -> existing // 如果有重复键,保留第一个值
|
|
|
));
|
|
));
|
|
|
List<Map<String, Object>> theValueList = getValueList(layer, dbFieldNameAndTypeMap, haveGeom);
|
|
List<Map<String, Object>> theValueList = getValueList(layer, dbFieldNameAndTypeMap, haveGeom);
|
|
|
- List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0", layerName);
|
|
|
|
|
|
|
+ List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0",landRightType,layerName);
|
|
|
|
|
|
|
|
layerAndDbData.setAddTotalNum(theValueList.size());
|
|
layerAndDbData.setAddTotalNum(theValueList.size());
|
|
|
layerAndDbData.setInsertNum(theValueList.size());
|
|
layerAndDbData.setInsertNum(theValueList.size());
|
|
@@ -1711,6 +1711,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
List<LayerAndDbData> resList = new ArrayList<>();
|
|
List<LayerAndDbData> resList = new ArrayList<>();
|
|
|
try {
|
|
try {
|
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
|
|
|
+ String landRightType = cadastreFile.getLandRightType();
|
|
|
//这里判断是否校验通过
|
|
//这里判断是否校验通过
|
|
|
if (!cadastreFile.getStatus().equalsIgnoreCase("3")) {
|
|
if (!cadastreFile.getStatus().equalsIgnoreCase("3")) {
|
|
|
log.info("校验未通过,不能入库");
|
|
log.info("校验未通过,不能入库");
|
|
@@ -1726,7 +1727,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
|
|
|
|
|
Map<String, Object> allMdbTableFieldMap = MdbUtil.MdbTableContent(gdbPath + "/" + cadastreFile.getName(), talbleName, "", "", 1, 1000);
|
|
Map<String, Object> allMdbTableFieldMap = MdbUtil.MdbTableContent(gdbPath + "/" + cadastreFile.getName(), talbleName, "", "", 1, 1000);
|
|
|
List<Map<String, Object>> theValueList = (List<Map<String, Object>>) allMdbTableFieldMap.get("rows");
|
|
List<Map<String, Object>> theValueList = (List<Map<String, Object>>) allMdbTableFieldMap.get("rows");
|
|
|
- List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0", talbleName);
|
|
|
|
|
|
|
+ List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0",landRightType, talbleName);
|
|
|
|
|
|
|
|
layerAndDbData.setAddTotalNum(theValueList.size());
|
|
layerAndDbData.setAddTotalNum(theValueList.size());
|
|
|
layerAndDbData.setInsertNum(theValueList.size());
|
|
layerAndDbData.setInsertNum(theValueList.size());
|
|
@@ -1748,6 +1749,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
List<MdbAndDbData> resList = new ArrayList<>();
|
|
List<MdbAndDbData> resList = new ArrayList<>();
|
|
|
try {
|
|
try {
|
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
CadastreFile cadastreFile = cadastreFileMapper.get(uploadId);
|
|
|
|
|
+ String landRightType = cadastreFile.getLandRightType();
|
|
|
//这里判断是否校验通过
|
|
//这里判断是否校验通过
|
|
|
if (!cadastreFile.getStatus().equalsIgnoreCase("3")) {
|
|
if (!cadastreFile.getStatus().equalsIgnoreCase("3")) {
|
|
|
log.info("校验未通过,不能入库");
|
|
log.info("校验未通过,不能入库");
|
|
@@ -1769,7 +1771,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
|
|
|
|
|
Map<String, Object> allMdbTableFieldMap = MdbUtil.MdbTableContent(gdbPath + "/" + cadastreFile.getName(), talbleName, "", "", 1, 1000);
|
|
Map<String, Object> allMdbTableFieldMap = MdbUtil.MdbTableContent(gdbPath + "/" + cadastreFile.getName(), talbleName, "", "", 1, 1000);
|
|
|
List<Map<String, Object>> theValueList = (List<Map<String, Object>>) allMdbTableFieldMap.get("rows");
|
|
List<Map<String, Object>> theValueList = (List<Map<String, Object>>) allMdbTableFieldMap.get("rows");
|
|
|
- List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0", talbleName);
|
|
|
|
|
|
|
+ List<Map<String, Object>> dbDataList = cadastreFileMapper.selectTableData("0",landRightType, talbleName);
|
|
|
|
|
|
|
|
//这里进行遍历dbDataList,判断是否存在bsm字段,且bsm字段是否存在于theValueList中
|
|
//这里进行遍历dbDataList,判断是否存在bsm字段,且bsm字段是否存在于theValueList中
|
|
|
Set<String> mdbBsmSet = theValueList.stream()
|
|
Set<String> mdbBsmSet = theValueList.stream()
|
|
@@ -1955,7 +1957,7 @@ public class CadastreManageServiceImpl implements CadastreManageService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 2. 获取表数据 (获取 valid_flag 为 0 的当前版本数据)
|
|
// 2. 获取表数据 (获取 valid_flag 为 0 的当前版本数据)
|
|
|
- List<Map<String, Object>> dataList = cadastreFileMapper.selectTableData("", tableName);
|
|
|
|
|
|
|
+ List<Map<String, Object>> dataList = cadastreFileMapper.selectTableData("","", tableName);
|
|
|
|
|
|
|
|
// 3. 构造完整的文件路径
|
|
// 3. 构造完整的文件路径
|
|
|
String mdbPath = filePath;
|
|
String mdbPath = filePath;
|