From a5b78583a1fa1149a224333f0a6055a058c6bc9d Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Thu, 29 Feb 2024 09:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E6=96=87=E5=AF=B9=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarFileCompareItemController.java | 2 +- .../service/ISarFileCompareItemService.java | 2 +- .../impl/SarFileCompareItemServiceImpl.java | 26 +++++++++++++++++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java index 093a4f6..c721f39 100644 --- a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java +++ b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java @@ -179,7 +179,7 @@ public class SarFileCompareItemController extends JeroController clauseComparison(@ApiParam("左侧id") @RequestParam(name="leftId",required=true) String leftId, @ApiParam("右侧id") @RequestParam(name="rightId",required=true) String rightId) { - List res = sarFileCompareItemService.clauseComparison(leftId,rightId); + Map res = sarFileCompareItemService.clauseComparison(leftId,rightId); return Result.OK(res); } diff --git a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java index 2a80b65..40a2b26 100644 --- a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java +++ b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java @@ -72,7 +72,7 @@ public interface ISarFileCompareItemService extends IService Map queryMapByInfoId(String infoId); - List clauseComparison(String lid,String rid); + Map clauseComparison(String lid,String rid); Map clauseComparisonEvent(JSONObject json); } diff --git a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java index cf9f72d..87c17fc 100644 --- a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java +++ b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java @@ -154,12 +154,34 @@ public class SarFileCompareItemServiceImpl extends ServiceImpl clauseComparison(String lid, String rid) { + public Map clauseComparison(String lid, String rid) { + Map resultMap = new HashMap(); + SarFileCompareItem leftItem = this.queryById(lid); SarFileCompareItem rightItem = this.queryById(rid); DiffUtils dmp = new DiffUtils(); List htmlDiffStr = dmp.getHtmlDiffStr(leftItem.getItemsText(), rightItem.getItemsText()); - return htmlDiffStr; + + String oldTxt = leftItem.getItemsText(); + String newTxt = rightItem.getItemsText(); + String similarityDegree=""; + double similarity = 100.00; + if(!StringUtils.isNotBlank(oldTxt.trim()) && !StringUtils.isNotBlank(newTxt.trim())){ + similarityDegree = "100.00"; + }else if(StringUtils.isNotBlank(oldTxt.trim()) && StringUtils.isNotBlank(newTxt.trim())){ + similarity = CompHanLPUtils.findSimilarity(oldTxt.trim(), newTxt.trim()); + NumberFormat nf = java.text.NumberFormat.getPercentInstance(); + //nf.setMaximumIntegerDigits(2);//小数点前保留几位 + nf.setMinimumFractionDigits(2);// 小数点后保留几位 + similarityDegree = nf.format(similarity); + }else{ + similarity = 0.00; + similarityDegree = "0.00"; + } + resultMap.put("similarityDegree",similarityDegree); + resultMap.put("htmlDiffStr",htmlDiffStr); + + return resultMap; } @Override