批量上传到3.0

segment2.0
zhanglb 2 years ago
parent 5d57935f0e
commit 8151b43a78

@ -70,12 +70,5 @@ public interface OcrFileInfoApi {
@PutMapping("/edit")
void edit(@RequestBody EditOcrFileInfoDTO editOcrFileInfoDTO);
/**
*
*
* @param deleteOcrFileInfoDTO
* @return
*/
@DeleteMapping("/delete")
int delete(@RequestBody DeleteOcrFileInfoDTO deleteOcrFileInfoDTO);
}

@ -0,0 +1,14 @@
package com.docus.server.dto.segmentation;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel("批量上传参数")
public class UploadPlatformDto {
private String dateStart;
private String dateEnd;
}

@ -4,12 +4,9 @@ import com.docus.server.api.ocr.OcrApi;
import com.docus.server.common.event.FlowEvent;
import com.docus.server.common.service.IFileUploadService;
import com.docus.server.dto.segmentation.UploadBatchFileRequest;
import com.docus.server.dto.segmentation.UploadPlatformDto;
import com.docus.server.entity.segmentation.OcrFileInfoTest;
import com.docus.server.service.IOcrCutConfigService;
import com.docus.server.service.IOcrCutConfigTestService;
import com.docus.server.service.IOcrFileInfoTestService;
import com.docus.server.service.IOcrVersionService;
import com.docus.server.service.IPublishEventService;
import com.docus.server.service.*;
import com.docus.server.service.impl.CommonService;
import com.docus.server.service.impl.PlatformServiceImpl;
import com.docus.server.vo.scheduling.management.schcollectorversionfile.UploadFileVO;
@ -18,11 +15,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@ -53,7 +46,7 @@ public class FileController {
@Resource
private IPublishEventService iPublishEventService;
@Resource
private IOcrFileInfoTestService iOcrFileInfoTestService;
private IOcrFileInfoService iOcrFileInfoService;
@Resource
private IOcrVersionService iOcrVersionService;
@Resource
@ -89,18 +82,9 @@ public class FileController {
Double widthStart = null;
Double widthEnd = null;
// if (testData == 1) {
// OcrCutConfigTestVO ocrCutConfigTestVO = iOcrCutConfigTestService.findAll().get(0);
// height = ocrCutConfigTestVO.getHeight();
// widthStart = ocrCutConfigTestVO.getWidthStart();
// widthEnd = ocrCutConfigTestVO.getWidthEnd();
// } else {
// OcrVersion ocrVersion = iOcrVersionService.finEnableVersion();
// OcrCutConfigVO ocrCutConfigVO = iOcrCutConfigService.findByVersion(ocrVersion.getVersion());
// height = ocrCutConfigVO.getHeight();
// widthStart = ocrCutConfigVO.getWidthStart();
// widthEnd = ocrCutConfigVO.getWidthEnd();
// }
if (testData != 1) {
iOcrFileInfoService.delete(request.getPatientId());
}
List<UploadFileVO> segmentation = iFileUploadService.uploadFile(files, "segmentation", height, widthStart, widthEnd);
@ -145,15 +129,16 @@ public class FileController {
return commonService.getOcr(segmentation.get(0), request);
}
//
// /**
// * 下载平台
// *
// * @throws Exception
// */
// @ApiOperation("批量上传文件到归档系统")
// @GetMapping("/uploadPlatform")
// public void uploadPlatform() throws Exception {
// downloadService.uploadPlatform(null, null);
// }
/**
* 3.0
*
* @throws Exception
*/
@ApiOperation("上传到3.0补偿")
@PostMapping("/uploadPlatform")
public String uploadPlatform(@RequestBody UploadPlatformDto uploadPlatformDto) {
iOcrFileInfoService.uploadPlatform(uploadPlatformDto);
return "成功";
}
}

@ -84,15 +84,5 @@ public class OcrFileInfoController implements OcrFileInfoApi {
iOcrFileInfoService.edit(editOcrFileInfoDTO);
}
/**
*
*
* @param deleteOcrFileInfoDTO
* @return
*/
@ApiOperation("批量删除")
@Override
public int delete(DeleteOcrFileInfoDTO deleteOcrFileInfoDTO) {
return iOcrFileInfoService.delete(deleteOcrFileInfoDTO);
}
}

@ -3,6 +3,7 @@ package com.docus.server.infrastructure.dao;
import com.docus.infrastructure.core.db.dao.IBaseDao;
import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.dto.segmentation.UploadPlatformDto;
import com.docus.server.entity.segmentation.OcrFileInfo;
import java.util.List;
@ -44,7 +45,7 @@ public interface IOcrFileInfoDao extends IBaseDao<OcrFileInfo> {
* @param ids ids
* @return
*/
int delete(List<Long> ids);
int delete(String pid);
/**
*
@ -62,4 +63,6 @@ public interface IOcrFileInfoDao extends IBaseDao<OcrFileInfo> {
* @return
*/
int findByIdAndName(Long id, String name);
List<OcrFileInfo> getUploadInfo(UploadPlatformDto uploadPlatformDto);
}

@ -6,6 +6,7 @@ import com.docus.core.util.Func;
import com.docus.infrastructure.core.db.dao.impl.BaseDaoImpl;
import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.dto.segmentation.UploadPlatformDto;
import com.docus.server.entity.segmentation.OcrBasicTest;
import com.docus.server.entity.segmentation.OcrFileInfo;
import com.docus.server.infrastructure.dao.IOcrFileInfoDao;
@ -65,8 +66,8 @@ public class OcrFileInfoDaoImpl extends BaseDaoImpl<OcrFileInfoMapper, OcrFileIn
* @return
*/
@Override
public int delete(List<Long> ids) {
return super.deleteByIds(ids);
public int delete(String pid) {
return super.deleteBy("patientId",pid);
}
/**
@ -123,4 +124,12 @@ public class OcrFileInfoDaoImpl extends BaseDaoImpl<OcrFileInfoMapper, OcrFileIn
return baseMapper.selectCount(query);
}
@Override
public List<OcrFileInfo> getUploadInfo(UploadPlatformDto uploadPlatformDto) {
LambdaQueryWrapper<OcrFileInfo> query = Wrappers.lambdaQuery();
query.gt(OcrFileInfo::getOcrFinishTime,uploadPlatformDto.getDateStart());
query.lt(OcrFileInfo::getOcrFinishTime,uploadPlatformDto.getDateEnd());
return baseMapper.selectList(query);
}
}

@ -2,6 +2,7 @@ package com.docus.server.service;
import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.dto.segmentation.UploadPlatformDto;
import com.docus.server.dto.segmentation.ocrfileinfo.AddOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO;
@ -53,7 +54,7 @@ public interface IOcrFileInfoService {
* @param deleteOcrFileInfoDTO
* @return
*/
int delete(DeleteOcrFileInfoDTO deleteOcrFileInfoDTO);
int delete(String pid);
/**
*
@ -67,4 +68,6 @@ public interface IOcrFileInfoService {
*
*/
void addBatch(List<AddOcrFileInfoDTO> files);
void uploadPlatform(UploadPlatformDto uploadPlatformDto);
}

@ -1,21 +1,32 @@
package com.docus.server.service.impl;
import cn.hutool.json.JSONUtil;
import com.docus.infrastructure.redis.service.IdService;
import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.convert.OcrFileInfoConvert;
import com.docus.server.dto.segmentation.FileDTO;
import com.docus.server.dto.segmentation.UploadBatchFileRequest;
import com.docus.server.dto.segmentation.UploadPlatformDto;
import com.docus.server.dto.segmentation.ocrfileinfo.AddOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO;
import com.docus.server.entity.segmentation.OcrBasic;
import com.docus.server.entity.segmentation.OcrFileInfo;
import com.docus.server.infrastructure.dao.IOcrBasicDao;
import com.docus.server.infrastructure.dao.IOcrFileInfoDao;
import com.docus.server.service.IOcrFileInfoService;
import com.docus.server.vo.segmentation.ocrfileinfo.OcrFileInfoVO;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* ocr
@ -29,7 +40,12 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
private IOcrFileInfoDao iOcrFileInfoDao;
@Resource
private IdService idService;
@Value("${ocr.defaultSuffix}")
private String defaultSuffix;
@Resource
private IOcrBasicDao iOcrBasicDao;
@Resource
private PlatformServiceImpl platformService;
/**
*
*
@ -89,6 +105,53 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
iOcrFileInfoDao.saveBatch(ocrFileInfos, 500);
}
@Override
public void uploadPlatform(UploadPlatformDto uploadPlatformDto) {
Map<String, List<OcrFileInfo>> collect = iOcrFileInfoDao.getUploadInfo(uploadPlatformDto).stream().collect(Collectors.groupingBy(OcrFileInfo::getPatientId));
collect.forEach((k,v)->{
String patientId = k;
List<OcrFileInfo> uploadInfo = v;
List<OcrBasic> ocrBasicList = iOcrBasicDao.findBy("patientId", patientId);
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);
FileDTO fileDTO = new FileDTO();
fileDTO.setAssortId(item.getAssortId());
fileDTO.setSort(item.getSort());
fileDTO.setFileType(2);
fileDTO.setFileTitle(item.getAssortName()+this.defaultSuffix);
fileDTO.setUploadFileName(item.getPicName());
fileDTO.setSerialNumber(item.getSerialNumber());
fileDTOList.add(fileDTO);
//数据上传到3.0
OcrBasic ocrBasic = ocrBasicList.get(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));
platformService.uploadPlatform(files, request);
}
});
}
/**
*
*
@ -148,8 +211,8 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
* @return
*/
@Override
public int delete(DeleteOcrFileInfoDTO deleteOcrFileInfoDTO) {
return iOcrFileInfoDao.delete(deleteOcrFileInfoDTO.getIds());
public int delete(String pid) {
return iOcrFileInfoDao.delete(pid);
}
}

Loading…
Cancel
Save