解决手工处理。导致的只有留一条上传bug

segment-new
zhanghai 1 year ago
parent d2e087030a
commit 1d3b404432

@ -329,7 +329,7 @@ public class StartSegmentHandler {
//特殊结束后,马上进入正常分段逻辑 //特殊结束后,马上进入正常分段逻辑
OcrRuleResult ocrRuleResult = handleStrategy(ocrTextList); OcrRuleResult ocrRuleResult = handleStrategy(ocrTextList);
if (ocrRuleResult == null) { if (ocrRuleResult == null||ocrRuleResult.getFailReason()!=null) {
if (this.isDefaultUsed.equals(1)) { if (this.isDefaultUsed.equals(1)) {
log.info("进入到默认分段---------------------------------------------"); log.info("进入到默认分段---------------------------------------------");
OcrRuleResult defaultOcrResult = new OcrRuleResult(); OcrRuleResult defaultOcrResult = new OcrRuleResult();
@ -352,8 +352,13 @@ public class StartSegmentHandler {
this.setFileInfo(fileInfo, sort, defaultOcrResult); this.setFileInfo(fileInfo, sort, defaultOcrResult);
successNum++; successNum++;
} else { } else {
this.setFileInfo(fileInfo, sort, new OcrRuleResult()); if(ocrRuleResult!=null){
fileInfo.setFailReason("未匹配到关键字"); this.setFileInfo(fileInfo, sort, ocrRuleResult);
}else{
this.setFileInfo(fileInfo, sort, new OcrRuleResult());
fileInfo.setFailReason("未匹配到关键字");
}
failNum++; failNum++;
} }
@ -382,7 +387,7 @@ public class StartSegmentHandler {
if (singleOcr) { if (singleOcr) {
OcrRuleResult ocrRuleResult = handleStrategy(ocrTextList); OcrRuleResult ocrRuleResult = handleStrategy(ocrTextList);
if (ocrRuleResult == null) { if (ocrRuleResult == null||ocrRuleResult.getFailReason()!=null) {
if (this.isDefaultUsed.equals(1)) { if (this.isDefaultUsed.equals(1)) {
log.info("进入到默认分段---------------------------------------------"); log.info("进入到默认分段---------------------------------------------");
OcrRuleResult defaultOcrResult = new OcrRuleResult(); OcrRuleResult defaultOcrResult = new OcrRuleResult();
@ -405,8 +410,13 @@ public class StartSegmentHandler {
this.setFileInfo(fileInfo, sort, defaultOcrResult); this.setFileInfo(fileInfo, sort, defaultOcrResult);
successNum++; successNum++;
} else { } else {
this.setFileInfo(fileInfo, sort, new OcrRuleResult());
fileInfo.setFailReason("未匹配到关键字"); if(ocrRuleResult!=null){
this.setFileInfo(fileInfo, sort, ocrRuleResult);
}else{
this.setFileInfo(fileInfo, sort, new OcrRuleResult());
fileInfo.setFailReason("未匹配到关键字");
}
failNum++; failNum++;
} }
@ -478,7 +488,7 @@ public class StartSegmentHandler {
CommonResult<String> result = platformService.uploadPlatform(files, request); CommonResult<String> result = platformService.uploadPlatform(files, request);
log.info(ocrBasic.getInpatientNo() + " 上传结果 :{}", result); log.info(ocrBasic.getInpatientNo() + " 上传结果 :{}", result);
if (result.getCode() != 0) { if (result.getCode() != 0) {
throw new RuntimeException("上传3.0 报错"); throw new RuntimeException("上传3.0 报错"+result.getMsg());
} }
return 1; return 1;
}else{ }else{

@ -22,6 +22,8 @@ import com.docus.server.infrastructure.dao.IZdAssortDao;
import com.docus.server.service.*; import com.docus.server.service.*;
import com.docus.server.vo.segmentation.ocrconfignew.OcrConfigNewVO; import com.docus.server.vo.segmentation.ocrconfignew.OcrConfigNewVO;
import com.docus.server.vo.segmentation.ocrfileinfo.OcrFileInfoVO; import com.docus.server.vo.segmentation.ocrfileinfo.OcrFileInfoVO;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -37,6 +39,8 @@ import java.util.stream.Collectors;
* @author AutoGenerator * @author AutoGenerator
* @since 2023-08-29 * @since 2023-08-29
*/ */
@Slf4j
@Service @Service
public class OcrFileInfoServiceImpl implements IOcrFileInfoService { public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
@Resource @Resource
@ -125,9 +129,9 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
List<OcrFileInfo> uploadInfo = v; List<OcrFileInfo> uploadInfo = v;
OcrBasic ocrBasic = iOcrBasicDao.findOneBy("patientId", patientId); OcrBasic ocrBasic = iOcrBasicDao.findOneBy("patientId", patientId);
List<FileDTO> fileDTOList = new ArrayList<>(uploadInfo.size());
List<File> files = new ArrayList<>(uploadInfo.size());
for (OcrFileInfo item:uploadInfo) { for (OcrFileInfo item:uploadInfo) {
List<FileDTO> fileDTOList = new ArrayList<>(uploadInfo.size());
List<File> files = new ArrayList<>(uploadInfo.size());
File file = new File(item.getPicUrl()); File file = new File(item.getPicUrl());
files.add(file); files.add(file);
@ -141,18 +145,18 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
fileDTOList.add(fileDTO); fileDTOList.add(fileDTO);
//数据上传到3.0 }
UploadBatchFileRequest request = new UploadBatchFileRequest(); //数据上传到3.0
request.setCollectorId("-1");
request.setInpatientNo(ocrBasic.getInpatientNo());
request.setTestData(0);
request.setPatientId(patientId);
request.setName(ocrBasic.getName());
request.setFileInfo(JSONUtil.toJsonStr(fileDTOList));
platformService.uploadPlatform(files, request); UploadBatchFileRequest request = new UploadBatchFileRequest();
} request.setCollectorId("-1");
request.setInpatientNo(ocrBasic.getInpatientNo());
request.setTestData(0);
request.setPatientId(patientId);
request.setName(ocrBasic.getName());
request.setFileInfo(JSONUtil.toJsonStr(fileDTOList));
platformService.uploadPlatform(files, request);
ocrBasic.setFailNum(0); ocrBasic.setFailNum(0);
ocrBasic.setSuccessNum(uploadInfo.size()); ocrBasic.setSuccessNum(uploadInfo.size());
@ -379,6 +383,8 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
Map<String, List<OcrFileInfo>> collect = new HashMap<>(); Map<String, List<OcrFileInfo>> collect = new HashMap<>();
collect.put(ocrFileInfo.getPatientId(),ocrFileInfoList); collect.put(ocrFileInfo.getPatientId(),ocrFileInfoList);
log.info("上传参数内容:"+new Gson().toJson(collect));
this.uploadPlatform(null,collect); this.uploadPlatform(null,collect);
} }
iOcrBasicDao.updateById(ocrBasic); iOcrBasicDao.updateById(ocrBasic);

Loading…
Cancel
Save