diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java index 021d9b5..19f3fca 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrIdentifyServiceImpl.java @@ -994,8 +994,6 @@ public class OcrIdentifyServiceImpl extends ServiceImpl (i.getOcrTime() == null ? 0 : i.getOcrTime()) + (i.getNluTime() == null ? 0 : i.getNluTime())).sum(); //执行时间(毫秒) - double executionTime = (ocrAndNluTimeSum * 1000) + overDataCheckTime.getTime() - startDataCheckTime.getTime(); + double dataStructuredTime = overDataCheckTime.getTime() - startDataCheckTime.getTime(); + double executionTime = (ocrAndNluTimeSum * 1000) + dataStructuredTime; responseBody.put("min",min); responseBody.put("max",max); - responseBody.put("executionTime",executionTime); + responseBody.put("dataStructuredTime",dataStructuredTime); + responseBody.put("allExecutionTime",executionTime); responseBody.put("detailList", ocrResultDTOList); + long count = ocrResultDTOList.stream().filter(o -> !o.getRuleValidation()).count(); + responseBody.put("taskResult",count>0?0:1);//匹配成功或失败 return responseBody; } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java index 5f3dfd9..6bb9f73 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java @@ -162,7 +162,10 @@ public class StrCharUtil { */ public static double similarityRatio(String strA, String strB) { double v = Similarity.charBasedSimilarity(strA, strB); - return new BigDecimal(v).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + if (v!=0) { + v=new BigDecimal(v).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + } + return v; /*System.out.println(word1 + " vs " + word2 + " 字面相似度值:" + charBasedSimilarityResult); if (StringUtils.isBlank(strA)||StringUtils.isBlank(strB)) { return 0;