master
周文涛 2 years ago
parent 35d3d117c3
commit ad00f96e3e

@ -10,8 +10,10 @@ import lombok.Data;
*/ */
@Data @Data
public class OcrResult { public class OcrResult {
@ApiModelProperty(value = "检索字段名称") @ApiModelProperty(value = "检索字段")
private String tag; private String tag;
@ApiModelProperty(value = "检索字段名称")
private String tagName;
@ApiModelProperty(value = "api输入值") @ApiModelProperty(value = "api输入值")
private String inputText; private String inputText;
@ApiModelProperty(value = "ocr识别文本") @ApiModelProperty(value = "ocr识别文本")

@ -10,8 +10,10 @@ import lombok.Data;
*/ */
@Data @Data
public class OcrResult2 { public class OcrResult2 {
@ApiModelProperty(value = "检索字段名称") @ApiModelProperty(value = "字段")
private String tag; private String tag;
@ApiModelProperty(value = "字段名称")
private String tagName;
/*@ApiModelProperty(value = "api输入值") /*@ApiModelProperty(value = "api输入值")
private String inputText; private String inputText;
@ApiModelProperty(value = "ocr识别文本") @ApiModelProperty(value = "ocr识别文本")

@ -151,32 +151,32 @@ public class OcrIdentifyServiceImpl extends ServiceImpl<OcrIdentifyMapper, OcrId
//ocr识别参数为空不通过 //ocr识别参数为空不通过
rMessage.append(value.getFieldName() + "参数未获取到结果<br>"); rMessage.append(value.getFieldName() + "参数未获取到结果<br>");
mapPutIfTrue(fieldRightMap, field, false); mapPutIfTrue(fieldRightMap, field, false);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, value.getFieldName() + "参数未获取到结果", false); ocrResultAdd(ocrResultList, field,value.getFieldName(), inputText, text, probability, imgPath, value.getFieldName() + "参数未获取到结果", false);
} else if ("1".equals(ruleInfo) && StringUtils.isNotBlank(text)) { } else if ("1".equals(ruleInfo) && StringUtils.isNotBlank(text)) {
//不必校验,有值就行,通过 //不必校验,有值就行,通过
fieldRightMap.put(field, true); fieldRightMap.put(field, true);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, "", true); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, "", true);
} else if ("0".equals(ruleInfo)) { } else if ("0".equals(ruleInfo)) {
//必定验证参数,必须有值且匹配 //必定验证参数,必须有值且匹配
if (StringUtils.isBlank(inputText) || text.contains(inputText)) { if (StringUtils.isBlank(inputText) || text.contains(inputText)) {
fieldRightMap.put(field, true); fieldRightMap.put(field, true);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, "", true); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, "", true);
} else { } else {
rMessage.append(value.getFieldName() + "不匹配<br>"); rMessage.append(value.getFieldName() + "不匹配<br>");
mapPutIfTrue(fieldRightMap, field, false); mapPutIfTrue(fieldRightMap, field, false);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, value.getFieldName() + "不匹配", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, value.getFieldName() + "不匹配", false);
} }
} }
} }
}else{ }else{
rMessage.append(value.getFieldName() + "参数未获取到结果<br>"); rMessage.append(value.getFieldName() + "参数未获取到结果<br>");
mapPutIfTrue(fieldRightMap, field, false); mapPutIfTrue(fieldRightMap, field, false);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, value.getFieldName() + "参数未获取到结果", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, value.getFieldName() + "参数未获取到结果", false);
} }
} else { } else {
rMessage.append(value.getFieldName() + "参数未获取到结果<br>"); rMessage.append(value.getFieldName() + "参数未获取到结果<br>");
ocrResultAdd(ocrResultList, field, inputText, null, 0d, imgPath, value.getFieldName() + "参数未获取到结果", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, null, 0d, imgPath, value.getFieldName() + "参数未获取到结果", false);
fieldRightMap.put(field, false); fieldRightMap.put(field, false);
} }
} }
@ -289,9 +289,9 @@ public class OcrIdentifyServiceImpl extends ServiceImpl<OcrIdentifyMapper, OcrId
@Override @Override
@Async @Async
public void updateTaskResultInfo(String id){ public void updateTaskResultInfo(String id){
/*OcrIdentifyVo ocrIdentifyVo = this.findById(id); OcrIdentifyVo ocrIdentifyVo = this.findById(id);
List<OcrIdentifyDetail> identifyDetails = ocrIdentifyDetailService.listByIdentifyId(ocrIdentifyVo.getId()); List<OcrIdentifyDetail> identifyDetails = ocrIdentifyDetailService.listByIdentifyId(ocrIdentifyVo.getId());
for (OcrIdentifyDetail identifyDetail : identifyDetails) { /*for (OcrIdentifyDetail identifyDetail : identifyDetails) {
JSONObject semanticResult = JSONObject.parseObject(identifyDetail.getSemanticResult()); JSONObject semanticResult = JSONObject.parseObject(identifyDetail.getSemanticResult());
String imgPath = identifyDetail.getImageUrl(); String imgPath = identifyDetail.getImageUrl();
// 进行数据化 结构 // 进行数据化 结构
@ -336,32 +336,32 @@ public class OcrIdentifyServiceImpl extends ServiceImpl<OcrIdentifyMapper, OcrId
//ocr识别参数为空不通过 //ocr识别参数为空不通过
rMessage.append(value.getFieldName() + "_参数未获取到结果<br>"); rMessage.append(value.getFieldName() + "_参数未获取到结果<br>");
mapPutIfTrue(fieldRightMap, field, false); mapPutIfTrue(fieldRightMap, field, false);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, value.getFieldName() + "_参数未获取到结果", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, value.getFieldName() + "_参数未获取到结果", false);
} else if ("1".equals(ruleInfo) && StringUtils.isNotBlank(text)) { } else if ("1".equals(ruleInfo) && StringUtils.isNotBlank(text)) {
//不必校验,有值就行,通过 //不必校验,有值就行,通过
fieldRightMap.put(field, true); fieldRightMap.put(field, true);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, "", true); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, "", true);
} else if ("0".equals(ruleInfo)) { } else if ("0".equals(ruleInfo)) {
//必定验证参数,必须有值且匹配 //必定验证参数,必须有值且匹配
if (StringUtils.isBlank(inputText) || text.contains(inputText)) { if (StringUtils.isBlank(inputText) || text.contains(inputText)) {
fieldRightMap.put(field, true); fieldRightMap.put(field, true);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, "", true); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, "", true);
} else { } else {
rMessage.append(value.getFieldName() + "_参数不匹配<br>"); rMessage.append(value.getFieldName() + "_参数不匹配<br>");
mapPutIfTrue(fieldRightMap, field, false); mapPutIfTrue(fieldRightMap, field, false);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, value.getFieldName() + "_参数不匹配", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, value.getFieldName() + "_参数不匹配", false);
} }
} }
} }
}else{ }else{
rMessage.append(value.getFieldName() + "_参数未获取到结果<br>"); rMessage.append(value.getFieldName() + "_参数未获取到结果<br>");
mapPutIfTrue(fieldRightMap, field, false); mapPutIfTrue(fieldRightMap, field, false);
ocrResultAdd(ocrResultList, field, inputText, text, probability, imgPath, value.getFieldName() + "_参数未获取到结果", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, text, probability, imgPath, value.getFieldName() + "_参数未获取到结果", false);
} }
} else { } else {
rMessage.append(value.getFieldName() + "_参数未获取到结果<br>"); rMessage.append(value.getFieldName() + "_参数未获取到结果<br>");
ocrResultAdd(ocrResultList, field, inputText, null, 0d, imgPath, value.getFieldName() + "_参数未获取到结果", false); ocrResultAdd(ocrResultList,value.getFieldName(), field, inputText, null, 0d, imgPath, value.getFieldName() + "_参数未获取到结果", false);
fieldRightMap.put(field, false); fieldRightMap.put(field, false);
} }
} }
@ -522,9 +522,10 @@ public class OcrIdentifyServiceImpl extends ServiceImpl<OcrIdentifyMapper, OcrId
* @param imgPath * @param imgPath
* @param failureReason * @param failureReason
*/ */
public static void ocrResultAdd(List<OcrResult> ocrResultList, String field, String inputText, String ocrText, Double ocrPrecisionRate, String imgPath, String failureReason, Boolean ruleValidation) { public static void ocrResultAdd(List<OcrResult> ocrResultList,String fieldName, String field, String inputText, String ocrText, Double ocrPrecisionRate, String imgPath, String failureReason, Boolean ruleValidation) {
OcrResult ocrResult = new OcrResult(); OcrResult ocrResult = new OcrResult();
ocrResult.setTag(field); ocrResult.setTag(field);
ocrResult.setTagName(fieldName);
ocrResult.setOcrText(ocrText); ocrResult.setOcrText(ocrText);
ocrResult.setInputText(inputText); ocrResult.setInputText(inputText);
ocrResult.setOcrPrecisionRate(ocrPrecisionRate == null ? 0d : ocrPrecisionRate); ocrResult.setOcrPrecisionRate(ocrPrecisionRate == null ? 0d : ocrPrecisionRate);

Loading…
Cancel
Save