|
@@ -845,10 +845,11 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
List<Map<String, Object>> mapsList = jdbcTemplate.queryForList("select * from " + initTabName + " where p_key_id = " + pKeyId);
|
|
|
if (mapsList.size() > 0) {
|
|
|
LinkedCaseInsensitiveMap<Object> maps = (LinkedCaseInsensitiveMap<Object>) mapsList.get(0);
|
|
|
+ maps.entrySet().removeIf(entry -> entry.getValue() == null || entry.getValue().toString().trim().isEmpty()); //排除空串
|
|
|
LinkedHashMap<String, Object> resultMaps = new LinkedHashMap<>(maps);
|
|
|
- resultMaps.entrySet().removeIf(entry -> entry.getValue() == null || entry.getValue().toString().trim().isEmpty()); //排除空串
|
|
|
-
|
|
|
for (Map.Entry<String, Object> obj : resultMaps.entrySet()) {
|
|
|
+ List<String> values = new ArrayList<>();
|
|
|
+
|
|
|
String key = obj.getKey();
|
|
|
Object value = obj.getValue();
|
|
|
|
|
@@ -928,25 +929,37 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
//下拉框
|
|
|
tdJL = docJL.select("el-select[placeholderxx~=" + this.escapeRegex(placeholderValue) + ".*]");
|
|
|
}
|
|
|
-
|
|
|
- if (tdJL.size() >= 1) {
|
|
|
+ if (tdJL.size() == 1) {
|
|
|
+ Element element = tdJL.get(0);
|
|
|
+ String keyname = element.attr("keyname");
|
|
|
+ if (StringUtils.isNotEmpty(keyname)) {
|
|
|
+ String[] keynameJL = keyname.split("__");
|
|
|
+ String keyJL = keynameJL[0];
|
|
|
+ String keyJLIndex = keynameJL[1];
|
|
|
+
|
|
|
+ InsertDataVO vo = new InsertDataVO();
|
|
|
+ vo.setPKeyId(pKeyIdJL);
|
|
|
+ vo.setInitTabName(initTabNameJL);
|
|
|
+ if (keyJL.length() > 3) { //排除key=key的时候,也就是找不到key值,正常为key_X
|
|
|
+ vo.setKey(keyJL);
|
|
|
+ vo.setData(data + "_^_" + keyJLIndex);
|
|
|
+ resultData.add(vo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (tdJL.size() > 1) { //存在跨单元格,但是数据是100.2391_^_28_4这个格式的,也就是一列只填了一个值,那么不存在☆符号,就会到这里 "非跨单元格(一个单元格)"判断中
|
|
|
for (Element element : tdJL) {
|
|
|
String keyname = element.attr("keyname");
|
|
|
if (StringUtils.isNotEmpty(keyname)) {
|
|
|
String[] keynameJL = keyname.split("__");
|
|
|
String keyJL = keynameJL[0];
|
|
|
- String keyJLIndex = keynameJL[1];
|
|
|
-
|
|
|
- InsertDataVO vo = new InsertDataVO();
|
|
|
- vo.setPKeyId(pKeyIdJL);
|
|
|
- vo.setInitTabName(initTabNameJL);
|
|
|
if (keyJL.length() > 3) { //排除key=key的时候,也就是找不到key值,正常为key_X
|
|
|
- vo.setKey(keyJL);
|
|
|
- vo.setData(data + "_^_" + keyJLIndex);
|
|
|
- resultData.add(vo);
|
|
|
+ String keyJLIndex = keynameJL[1];
|
|
|
+ if (keyJLIndex.equals(index)) { //位置相同才复制
|
|
|
+ values.add(data + "_^_" + keyJLIndex + "---" + keyJL + "---" + placeholderValue + "tabId:" + pKeyId);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -956,9 +969,6 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
//跨单元格(多个单元格)
|
|
|
} else if (value.toString().contains("_^_") && value.toString().contains("☆")) {
|
|
|
String[] oneCells = value.toString().split("☆"); //一个单元格
|
|
|
-
|
|
|
- List<String> values = new ArrayList<>();
|
|
|
-
|
|
|
for (String cell : oneCells) {
|
|
|
String[] fieldArr = cell.split("_\\^_");
|
|
|
String data = fieldArr[0];
|
|
@@ -1056,26 +1066,26 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- Set<String> dataResult = new HashSet<>();
|
|
|
- Set<String> keyResult = new HashSet<>();
|
|
|
- Set<String> nameResult = new HashSet<>();
|
|
|
- for (String v : values) {
|
|
|
- String[] split1 = v.split("---");
|
|
|
- dataResult.add(split1[0]);
|
|
|
- keyResult.add(split1[1]);
|
|
|
- nameResult.add(split1[2]);
|
|
|
- }
|
|
|
- if (dataResult.size() > 0 && keyResult.size() > 0) {
|
|
|
- InsertDataVO vo = new InsertDataVO();
|
|
|
- vo.setPKeyId(pKeyIdJL);
|
|
|
- vo.setInitTabName(initTabNameJL);
|
|
|
- vo.setKey(keyResult.stream().findAny().orElse(null));
|
|
|
- vo.setData(StringUtils.join(dataResult, "☆"));
|
|
|
- vo.setDataLength(vo.getData().length());
|
|
|
- vo.setName(nameResult.stream().findAny().orElse(null));
|
|
|
- resultData.add(vo);
|
|
|
- }
|
|
|
+ Set<String> dataResult = new HashSet<>();
|
|
|
+ Set<String> keyResult = new HashSet<>();
|
|
|
+ Set<String> nameResult = new HashSet<>();
|
|
|
+ for (String v : values) {
|
|
|
+ String[] split1 = v.split("---");
|
|
|
+ dataResult.add(split1[0]);
|
|
|
+ keyResult.add(split1[1]);
|
|
|
+ nameResult.add(split1[2]);
|
|
|
+ }
|
|
|
+ if (dataResult.size() > 0 && keyResult.size() > 0) {
|
|
|
+ InsertDataVO vo = new InsertDataVO();
|
|
|
+ vo.setPKeyId(pKeyIdJL);
|
|
|
+ vo.setInitTabName(initTabNameJL);
|
|
|
+ vo.setKey(keyResult.stream().findAny().orElse(null));
|
|
|
+ vo.setData(StringUtils.join(dataResult, "☆"));
|
|
|
+ vo.setDataLength(vo.getData().length());
|
|
|
+ vo.setName(nameResult.stream().findAny().orElse(null));
|
|
|
+ resultData.add(vo);
|
|
|
}
|
|
|
}
|
|
|
}
|