|
@@ -1342,7 +1342,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
for (Element element : bhtitle) {
|
|
|
int trindex = Integer.parseInt(element.attr("trindex"));
|
|
|
if (trindex <= 10) {
|
|
|
- reData.put(element.attr("keyName"), node.getPartitionCode() == null ? "" : node.getPartitionCode());
|
|
|
+ if (StringUtils.isNotBlank(node.getPartitionCode())) {
|
|
|
+ reData.put(element.attr("keyName"), node.getPartitionCode());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1511,8 +1513,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
Map<String, Object> DataInfo = (Map<String, Object>) getBussDataInfo(pkeyId, 0).getData();
|
|
|
//真实填报率
|
|
|
Integer realFillRate = 0;
|
|
|
- //获取已经填报的数据
|
|
|
- Long fillNumbers = DataInfo.keySet().stream().filter(e -> e.contains("__")).count();
|
|
|
|
|
|
//获取excel流 和 html流
|
|
|
InputStream exceInp = CommonUtil.getOSSInputStream(excelTab.getFileUrl());
|
|
@@ -1589,20 +1589,30 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
//数据不为空
|
|
|
if (StringUtils.isNotEmpty(wbsTreeContract.getHtmlUrl())) {
|
|
|
InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(wbsTreeContract.getHtmlUrl());
|
|
|
-// InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\1578963584895942656.html");
|
|
|
+// InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\1693464012966068224.html");
|
|
|
String htmlString = IoUtil.readToString(inputStreamByUrl);
|
|
|
|
|
|
Document doc = Jsoup.parse(htmlString);
|
|
|
Element table = doc.select("table").first();
|
|
|
//计算填报率
|
|
|
- Long keySize = table.getElementsByAttribute("v-model").stream().count();
|
|
|
+ List<String> keyList = table.getElementsByAttribute("v-model").stream()
|
|
|
+ .map(l -> {
|
|
|
+ String attr = l.attr("v-model");
|
|
|
+ System.out.println(attr);
|
|
|
+ String[] split = attr.split("\\.");
|
|
|
+ return split[1];
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList());
|
|
|
Long sigSize = table.getElementsByAttribute(":readonly").stream().count();
|
|
|
- if (fillNumbers != 0 && keySize != 0){
|
|
|
+ int keySize = keyList.size();
|
|
|
+ List<String> fills = DataInfo.keySet().stream().filter(e -> e.contains("__") && e.contains("key")).collect(Collectors.toList());
|
|
|
+ if (fills.size() != 0 && keyList != null && keyList.size() != 0){
|
|
|
if (keySize == sigSize){
|
|
|
realFillRate = 100;
|
|
|
- }else {
|
|
|
- keySize = keySize - sigSize;
|
|
|
- Double v = fillNumbers.doubleValue() / keySize.doubleValue() * 100;
|
|
|
+ }else if (keySize > sigSize) {
|
|
|
+ keySize = keySize - sigSize.intValue();
|
|
|
+ keyList.retainAll(fills);
|
|
|
+ Double v = new Double(keyList.size()) / new Double(keySize) * 100;
|
|
|
realFillRate = v.intValue();
|
|
|
}
|
|
|
}
|