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

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

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

@ -22,6 +22,8 @@ import com.docus.server.infrastructure.dao.IZdAssortDao;
import com.docus.server.service.*;
import com.docus.server.vo.segmentation.ocrconfignew.OcrConfigNewVO;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -37,6 +39,8 @@ import java.util.stream.Collectors;
* @author AutoGenerator
* @since 2023-08-29
*/
@Slf4j
@Service
public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
@Resource
@ -125,9 +129,9 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
List<OcrFileInfo> uploadInfo = v;
OcrBasic ocrBasic = iOcrBasicDao.findOneBy("patientId", patientId);
List<FileDTO> fileDTOList = new ArrayList<>(uploadInfo.size());
List<File> files = new ArrayList<>(uploadInfo.size());
for (OcrFileInfo item:uploadInfo) {
List<FileDTO> fileDTOList = new ArrayList<>(uploadInfo.size());
List<File> files = new ArrayList<>(uploadInfo.size());
File file = new File(item.getPicUrl());
files.add(file);
@ -141,18 +145,18 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
fileDTOList.add(fileDTO);
//数据上传到3.0
}
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));
//数据上传到3.0
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.setSuccessNum(uploadInfo.size());
@ -379,6 +383,8 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
Map<String, List<OcrFileInfo>> collect = new HashMap<>();
collect.put(ocrFileInfo.getPatientId(),ocrFileInfoList);
log.info("上传参数内容:"+new Gson().toJson(collect));
this.uploadPlatform(null,collect);
}
iOcrBasicDao.updateById(ocrBasic);

Loading…
Cancel
Save