|
@@ -2582,7 +2582,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
//实体数据
|
|
|
String querySql = "select * from " + wbsTreePrivate.getInitTableName() + " where p_key_id=" + pkeyId + " and group_id = " + groupId;
|
|
|
List<Map<String, Object>> dataIn = jdbcTemplate.queryForList(querySql);
|
|
|
-
|
|
|
+ String keyNames="";
|
|
|
//匹配关联
|
|
|
try {
|
|
|
String fileUrl = wbsTreePrivate.getHtmlUrl();
|
|
@@ -2598,6 +2598,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
htmlString = htmlString.replaceAll("placeholder", "placeholderxx");
|
|
|
htmlString = htmlString.replaceAll("title", "titlexx");
|
|
|
Document doc = Jsoup.parse(htmlString);
|
|
|
+ keyNames= getKeyNameList(doc);
|
|
|
if(entrustId != null){
|
|
|
//有委托单信息是从实验报告关联委托单进来的 通过委托单查询到具体的样品id
|
|
|
String sql = "select * from u_entrust_info where id ="+entrustId;
|
|
@@ -2842,10 +2843,40 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if(reData.size()>0){
|
|
|
+ //处理key重复导致pdf数据错位
|
|
|
+ for (Iterator<Map.Entry<String, Object>> iterator = reData.entrySet().iterator(); iterator.hasNext(); ) {
|
|
|
+ Map.Entry<String, Object> entry = iterator.next();
|
|
|
+ if (!keyNames.equals("") && keyNames.indexOf(entry.getKey()) <= 0) {
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
list.add(reData);
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 拿到html里面所有的keyName
|
|
|
+ * @param doc
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public String getKeyNameList(Document doc){
|
|
|
+ StringBuilder allKeyName=new StringBuilder();
|
|
|
+ Elements select = doc.getElementsByAttributeValueContaining("keyname","key_");
|
|
|
+ if(!select.isEmpty()){
|
|
|
+ for (Element element : select) {
|
|
|
+ String keyName = element.attr("keyname");
|
|
|
+ allKeyName.append(keyName+",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String allKeyNames = allKeyName.toString();
|
|
|
+ if(allKeyNames.endsWith(",")){
|
|
|
+ allKeyNames = allKeyNames.substring(0, allKeyNames.length() - 1);
|
|
|
+ }
|
|
|
+ return allKeyNames;
|
|
|
+ }
|
|
|
+
|
|
|
private void chart(Map<String, Object> reData, WbsTreePrivate wtp) {
|
|
|
try {
|
|
|
if (reData.size() > 0 && wtp != null) {
|
|
@@ -3136,7 +3167,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
}
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(DataInfo)) {
|
|
|
- DataInfo.remove("key_46__26_1");
|
|
|
+ //DataInfo.remove("key_46__26_1");
|
|
|
for (String val : Objects.requireNonNull(DataInfo).keySet()) {
|
|
|
if (val.contains("__")) {
|
|
|
String[] DataVal = val.split("__");
|
|
@@ -3258,7 +3289,10 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- Row row = sheet.getRow(y1);
|
|
|
+ if(y1==23&&x1==9){
|
|
|
+ System.out.println("");
|
|
|
+ }
|
|
|
+ Row row = sheet.getRow(y1-1);
|
|
|
if (row != null) {
|
|
|
Cell cell = row.getCell(x1 - 1);
|
|
|
if (cell != null) {
|