diff --git a/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java index db9774c1..19ed2738 100644 --- a/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java @@ -72,6 +72,8 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl标签,不以

结尾,也不以结尾 + private static final Pattern imgPattern = Pattern.compile("]+>(?)(?)"); /** * 保存 @@ -154,25 +156,36 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl leftMenuEOList = sarFileSplitMenuEOService.queryByInfoId(leftStandard); Map leftMenuMap = wrapperMenuMap(leftMenuEOList, sfcInfo.getId(), CompareConst.POS_LEFT); sarFileCompareMenuService.saveBatch(leftMenuMap.values()); + long b = System.currentTimeMillis(); + log.error("左菜单保存============================"+(b - a)); List rightMenuEOList = sarFileSplitMenuEOService.queryByInfoId(rightStandard); Map rightMenuMap = wrapperMenuMap(rightMenuEOList, sfcInfo.getId(), CompareConst.POS_RIGHT); sarFileCompareMenuService.saveBatch(rightMenuMap.values()); + long c = System.currentTimeMillis(); + log.error("右菜单保存============================"+(c - b)); //文档对比信息条款 List leftItemEOList = sarFileSplitItemsEOService.selectByInfoId(leftStandard); List leftItemList = wrapperItemList(leftItemEOList, sfcInfo.getId(), leftMenuMap, CompareConst.POS_LEFT); List rightItemEOList = sarFileSplitItemsEOService.selectByInfoId(rightStandard); List rightItemList = wrapperItemList(rightItemEOList, sfcInfo.getId(), rightMenuMap, CompareConst.POS_RIGHT); - + long y = System.currentTimeMillis(); + log.error("============================"+(y - c)); if (!leftItemList.isEmpty() && !rightItemList.isEmpty()) { //双重循环找到相似度最高的条款做关联 for (int i = 0; i < leftItemList.size(); i++) { String leftTxt = leftItemList.get(i).getItemsText(); - String leftAllTxt = leftItemList.get(i).getItemsNum() + leftItemList.get(i).getItemsName() + leftItemList.get(i).getItemsText(); +// String leftAllTxt = leftItemList.get(i).getItemsNum() + leftItemList.get(i).getItemsName() + leftItemList.get(i).getItemsText(); + StringBuilder sb = new StringBuilder(); + sb.append(leftItemList.get(i).getItemsNum()) + .append(leftItemList.get(i).getItemsName()) + .append(leftItemList.get(i).getItemsText()); + String leftAllTxt = sb.toString(); //初始化 假设未找到相似条目 leftItemList.get(i).setTargetStand(-1); //定义初始化的相似度 @@ -183,14 +196,23 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl标签,不以

结尾,也不以结尾 String leftTxtTrim = StringUtils.isBlank(leftTxt) ? "" : leftTxt.trim(); String rightTxtTrim = StringUtils.isBlank(rightTxt) ? "" : rightTxt.trim(); - boolean leftTxtMatches = Pattern.matches("]+>(?)(?)", leftTxtTrim); - boolean rightTxtMatches = Pattern.matches("]+>(?)(?)", rightTxtTrim); + boolean leftTxtMatches = leftTxtTrim.matches("]+>(?)(?)"); + boolean rightTxtMatches = rightTxtTrim.matches("]+>(?)(?)"); +// boolean leftTxtMatches = Pattern.matches("]+>(?)(?)", leftTxtTrim); +// boolean rightTxtMatches = Pattern.matches("]+>(?)(?)", rightTxtTrim); +// boolean leftTxtMatches = imgPattern.matcher(leftTxtTrim).find(); +// boolean rightTxtMatches = imgPattern.matcher(rightTxtTrim).find(); if (leftTxtMatches && rightTxtMatches){ // 如果是纯img标签直接对比内容 if (leftTxtTrim.equals(rightTxtTrim) @@ -217,8 +239,14 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl