|
|
|
@ -130,17 +130,9 @@ public class OcrRuleServiceImpl implements IOcrRuleService {
|
|
|
|
|
score = ocrRuleSecondJson.getMatchRatio();
|
|
|
|
|
for (int j = 0; j < keyWordList.length; j++) {
|
|
|
|
|
keyWord = keyWordList[j];
|
|
|
|
|
if (ocrText.contains(keyWord)) {
|
|
|
|
|
rate = keyWord.length() / (double) ocrText.length() * 100;
|
|
|
|
|
//判断是否命中
|
|
|
|
|
if (rate >= score) {
|
|
|
|
|
ocrRuleResult.setRuleId(ocrRule.getId());
|
|
|
|
|
ocrRuleResult.setAssortId(assortId);
|
|
|
|
|
ocrRuleResult.setAssortName(assortName);
|
|
|
|
|
ocrRuleResult.setHitKey(keyWord);
|
|
|
|
|
ocrRuleResult.setRate(rate);
|
|
|
|
|
for (String ocrContent : ocrTextList) {
|
|
|
|
|
if (handleOcrText(assortId, assortName, score, keyWord, ocrRuleResult, ocrContent, ocrRule.getId()))
|
|
|
|
|
return ocrRuleResult;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -156,6 +148,23 @@ public class OcrRuleServiceImpl implements IOcrRuleService {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static boolean handleOcrText(String assortId, String assortName, double score, String keyWord, OcrRuleResult ocrRuleResult, String ocrContent, Long id ) {
|
|
|
|
|
double rate;
|
|
|
|
|
if (ocrContent.contains(keyWord)) {
|
|
|
|
|
rate = keyWord.length() / (double) ocrContent.length() * 100;
|
|
|
|
|
//判断是否命中
|
|
|
|
|
if (rate >= score) {
|
|
|
|
|
ocrRuleResult.setRuleId(id);
|
|
|
|
|
ocrRuleResult.setAssortId(assortId);
|
|
|
|
|
ocrRuleResult.setAssortName(assortName);
|
|
|
|
|
ocrRuleResult.setHitKey(keyWord);
|
|
|
|
|
ocrRuleResult.setRate(rate);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增
|
|
|
|
|
*
|
|
|
|
|