批量上传到3.0

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

@ -70,12 +70,5 @@ public interface OcrFileInfoApi {
@PutMapping("/edit") @PutMapping("/edit")
void edit(@RequestBody EditOcrFileInfoDTO editOcrFileInfoDTO); 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.event.FlowEvent;
import com.docus.server.common.service.IFileUploadService; import com.docus.server.common.service.IFileUploadService;
import com.docus.server.dto.segmentation.UploadBatchFileRequest; 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.entity.segmentation.OcrFileInfoTest;
import com.docus.server.service.IOcrCutConfigService; import com.docus.server.service.*;
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.impl.CommonService; import com.docus.server.service.impl.CommonService;
import com.docus.server.service.impl.PlatformServiceImpl; import com.docus.server.service.impl.PlatformServiceImpl;
import com.docus.server.vo.scheduling.management.schcollectorversionfile.UploadFileVO; 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.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
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.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -53,7 +46,7 @@ public class FileController {
@Resource @Resource
private IPublishEventService iPublishEventService; private IPublishEventService iPublishEventService;
@Resource @Resource
private IOcrFileInfoTestService iOcrFileInfoTestService; private IOcrFileInfoService iOcrFileInfoService;
@Resource @Resource
private IOcrVersionService iOcrVersionService; private IOcrVersionService iOcrVersionService;
@Resource @Resource
@ -89,18 +82,9 @@ public class FileController {
Double widthStart = null; Double widthStart = null;
Double widthEnd = null; Double widthEnd = null;
// if (testData == 1) { if (testData != 1) {
// OcrCutConfigTestVO ocrCutConfigTestVO = iOcrCutConfigTestService.findAll().get(0); iOcrFileInfoService.delete(request.getPatientId());
// 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();
// }
List<UploadFileVO> segmentation = iFileUploadService.uploadFile(files, "segmentation", height, widthStart, widthEnd); List<UploadFileVO> segmentation = iFileUploadService.uploadFile(files, "segmentation", height, widthStart, widthEnd);
@ -145,15 +129,16 @@ public class FileController {
return commonService.getOcr(segmentation.get(0), request); return commonService.getOcr(segmentation.get(0), request);
} }
//
// /** /**
// * 下载平台 * 3.0
// * *
// * @throws Exception * @throws Exception
// */ */
// @ApiOperation("批量上传文件到归档系统") @ApiOperation("上传到3.0补偿")
// @GetMapping("/uploadPlatform") @PostMapping("/uploadPlatform")
// public void uploadPlatform() throws Exception { public String uploadPlatform(@RequestBody UploadPlatformDto uploadPlatformDto) {
// downloadService.uploadPlatform(null, null); iOcrFileInfoService.uploadPlatform(uploadPlatformDto);
// } return "成功";
}
} }

@ -84,15 +84,5 @@ public class OcrFileInfoController implements OcrFileInfoApi {
iOcrFileInfoService.edit(editOcrFileInfoDTO); 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.core.db.dao.IBaseDao;
import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult; import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.dto.segmentation.UploadPlatformDto;
import com.docus.server.entity.segmentation.OcrFileInfo; import com.docus.server.entity.segmentation.OcrFileInfo;
import java.util.List; import java.util.List;
@ -44,7 +45,7 @@ public interface IOcrFileInfoDao extends IBaseDao<OcrFileInfo> {
* @param ids ids * @param ids ids
* @return * @return
*/ */
int delete(List<Long> ids); int delete(String pid);
/** /**
* *
@ -62,4 +63,6 @@ public interface IOcrFileInfoDao extends IBaseDao<OcrFileInfo> {
* @return * @return
*/ */
int findByIdAndName(Long id, String name); 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.core.db.dao.impl.BaseDaoImpl;
import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult; 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.OcrBasicTest;
import com.docus.server.entity.segmentation.OcrFileInfo; import com.docus.server.entity.segmentation.OcrFileInfo;
import com.docus.server.infrastructure.dao.IOcrFileInfoDao; import com.docus.server.infrastructure.dao.IOcrFileInfoDao;
@ -65,8 +66,8 @@ public class OcrFileInfoDaoImpl extends BaseDaoImpl<OcrFileInfoMapper, OcrFileIn
* @return * @return
*/ */
@Override @Override
public int delete(List<Long> ids) { public int delete(String pid) {
return super.deleteByIds(ids); return super.deleteBy("patientId",pid);
} }
/** /**
@ -123,4 +124,12 @@ public class OcrFileInfoDaoImpl extends BaseDaoImpl<OcrFileInfoMapper, OcrFileIn
return baseMapper.selectCount(query); 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.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult; 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.AddOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO; import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO; import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO;
@ -53,7 +54,7 @@ public interface IOcrFileInfoService {
* @param deleteOcrFileInfoDTO * @param deleteOcrFileInfoDTO
* @return * @return
*/ */
int delete(DeleteOcrFileInfoDTO deleteOcrFileInfoDTO); int delete(String pid);
/** /**
* *
@ -67,4 +68,6 @@ public interface IOcrFileInfoService {
* *
*/ */
void addBatch(List<AddOcrFileInfoDTO> files); void addBatch(List<AddOcrFileInfoDTO> files);
void uploadPlatform(UploadPlatformDto uploadPlatformDto);
} }

@ -1,21 +1,32 @@
package com.docus.server.service.impl; package com.docus.server.service.impl;
import cn.hutool.json.JSONUtil;
import com.docus.infrastructure.redis.service.IdService; import com.docus.infrastructure.redis.service.IdService;
import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.request.SearchDTO;
import com.docus.infrastructure.web.response.PageResult; import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.convert.OcrFileInfoConvert; 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.AddOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO; import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO; 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.entity.segmentation.OcrFileInfo;
import com.docus.server.infrastructure.dao.IOcrBasicDao;
import com.docus.server.infrastructure.dao.IOcrFileInfoDao; import com.docus.server.infrastructure.dao.IOcrFileInfoDao;
import com.docus.server.service.IOcrFileInfoService; import com.docus.server.service.IOcrFileInfoService;
import com.docus.server.vo.segmentation.ocrfileinfo.OcrFileInfoVO; import com.docus.server.vo.segmentation.ocrfileinfo.OcrFileInfoVO;
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;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* ocr * ocr
@ -29,7 +40,12 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
private IOcrFileInfoDao iOcrFileInfoDao; private IOcrFileInfoDao iOcrFileInfoDao;
@Resource @Resource
private IdService idService; 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); 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 * @return
*/ */
@Override @Override
public int delete(DeleteOcrFileInfoDTO deleteOcrFileInfoDTO) { public int delete(String pid) {
return iOcrFileInfoDao.delete(deleteOcrFileInfoDTO.getIds()); return iOcrFileInfoDao.delete(pid);
} }
} }

Loading…
Cancel
Save