test基础病患数据和文件入表

segment2.0
linrf 2 years ago
parent d233ab5b7b
commit a6ee50800f

@ -82,6 +82,7 @@ public class FileUploadServiceImpl implements IFileUploadService {
uploadFileVO.setFileTitle(multipartFile.getName());
uploadFileVO.setFileType(multipartFile.getContentType());
uploadFileVO.setFilePath(fileName);
uploadFileVO.setSaveFilePath(saveFilePath);
if (Func.isNotBlank(saveCutFilePath)) {
File cutFileDir = new File(saveCutFilePath + path);
@ -102,6 +103,7 @@ public class FileUploadServiceImpl implements IFileUploadService {
uploadFileVO.setHeight(height);
uploadFileVO.setX(minX);
uploadFileVO.setY(minY);
uploadFileVO.setSaveCutFilePath(saveCutFilePath);
}
multipartFile.transferTo(dest);

@ -14,6 +14,14 @@ public class UploadBatchFileRequest {
@NotNull(message = "业务系统病案主键不能为空")
private String patientId;
@ApiModelProperty(value = "病案号")
@NotNull(message = "病案号不能为空")
private String inpatientNo;
@ApiModelProperty(value = "患者姓名")
@NotNull(message = "患者姓名不能为空")
private String name;
@ApiModelProperty(value = "采集器id来源")
private String collectorId;
@ -29,6 +37,9 @@ public class UploadBatchFileRequest {
@ApiModelProperty(value = "任务id如果有 ")
private Long taskId = -1L;
@ApiModelProperty(value = "是否测试数据(0否 1是)")
private int testData;
@ApiModelProperty(value = "文件信息Json FileDTO Model")
@NotNull(message = "文件信息Json不能为空")
private String fileInfo;

@ -6,26 +6,21 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.docus.server.enums.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
* AddDTO
*
* @author AutoGenerator
* @since 2023-08-25
*/
* AddDTO
*
* @author AutoGenerator
* @since 2023-08-25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="AddOcrBasicDTO对象", description="患者信息表")
@ApiModel(value = "AddOcrBasicDTO对象", description = "患者信息表")
public class AddOcrBasicDTO implements Serializable {
@ApiModelProperty(value = "id")
@ -41,10 +36,10 @@ public class AddOcrBasicDTO implements Serializable {
private String name;
@ApiModelProperty(value = "分段完成时间")
private LocalDateTime ocrFinishTime;
private Date ocrFinishTime;
@ApiModelProperty(value = "住院日期")
private LocalDateTime admissDate;
private Date admissDate;
@ApiModelProperty(value = "住院科室")
private String admissDept;
@ -53,7 +48,7 @@ public class AddOcrBasicDTO implements Serializable {
private String admissDeptName;
@ApiModelProperty(value = "出院日期")
private LocalDateTime disDate;
private Date disDate;
@ApiModelProperty(value = "出院科室")
private String disDept;
@ -62,13 +57,13 @@ public class AddOcrBasicDTO implements Serializable {
private String disDeptName;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
private Date createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
private Date updateTime;
@ApiModelProperty(value = "是否测试数据(0否 1是)")
private Boolean isTest;
private int isTest;
}

@ -6,26 +6,21 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.docus.server.enums.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
* EditDTO
*
* @author AutoGenerator
* @since 2023-08-25
*/
* EditDTO
*
* @author AutoGenerator
* @since 2023-08-25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="EditOcrBasicDTO对象", description="患者信息表")
@ApiModel(value = "EditOcrBasicDTO对象", description = "患者信息表")
public class EditOcrBasicDTO implements Serializable {
@ApiModelProperty(value = "id")
@ -41,10 +36,10 @@ public class EditOcrBasicDTO implements Serializable {
private String name;
@ApiModelProperty(value = "分段完成时间")
private LocalDateTime ocrFinishTime;
private Date ocrFinishTime;
@ApiModelProperty(value = "住院日期")
private LocalDateTime admissDate;
private Date admissDate;
@ApiModelProperty(value = "住院科室")
private String admissDept;
@ -53,7 +48,7 @@ public class EditOcrBasicDTO implements Serializable {
private String admissDeptName;
@ApiModelProperty(value = "出院日期")
private LocalDateTime disDate;
private Date disDate;
@ApiModelProperty(value = "出院科室")
private String disDept;
@ -62,13 +57,13 @@ public class EditOcrBasicDTO implements Serializable {
private String disDeptName;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
private Date createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
private Date updateTime;
@ApiModelProperty(value = "是否测试数据(0否 1是)")
private Boolean isTest;
private int isTest;
}

@ -6,26 +6,21 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.docus.server.enums.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
* ocr AddDTO
*
* @author AutoGenerator
* @since 2023-08-25
*/
* ocr AddDTO
*
* @author AutoGenerator
* @since 2023-08-25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="AddOcrFileInfoDTO对象", description="ocr文件信息")
@ApiModel(value = "AddOcrFileInfoDTO对象", description = "ocr文件信息")
public class AddOcrFileInfoDTO implements Serializable {
@ApiModelProperty(value = "id")
@ -62,7 +57,7 @@ public class AddOcrFileInfoDTO implements Serializable {
private String ocrText;
@ApiModelProperty(value = "分段完成时间")
private LocalDateTime finshTime;
private Date finshTime;
@ApiModelProperty(value = "分段状态 0正在分段 1完成分段")
private Boolean ocrStatus;
@ -83,10 +78,10 @@ public class AddOcrFileInfoDTO implements Serializable {
private Float rate;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
private Date createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
private Date updateTime;
}

@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
@ -48,11 +48,11 @@ public class OcrBasic implements Serializable {
@ApiModelProperty(value = "分段完成时间")
@TableField("ocr_finish_time")
private LocalDateTime ocrFinishTime;
private Date ocrFinishTime;
@ApiModelProperty(value = "住院日期")
@TableField("admiss_date")
private LocalDateTime admissDate;
private Date admissDate;
@ApiModelProperty(value = "住院科室")
@TableField("admiss_dept")
@ -64,7 +64,7 @@ public class OcrBasic implements Serializable {
@ApiModelProperty(value = "出院日期")
@TableField("dis_date")
private LocalDateTime disDate;
private Date disDate;
@ApiModelProperty(value = "出院科室")
@TableField("dis_dept")
@ -76,15 +76,15 @@ public class OcrBasic implements Serializable {
@ApiModelProperty(value = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@ApiModelProperty(value = "更新时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
@ApiModelProperty(value = "是否测试数据(0否 1是)")
@TableField("is_test")
private Boolean isTest;
private int isTest;
}

@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* ocr
@ -76,7 +76,7 @@ public class OcrFileInfo implements Serializable {
@ApiModelProperty(value = "分段完成时间")
@TableField("finsh_time")
private LocalDateTime finshTime;
private Date finshTime;
@ApiModelProperty(value = "分段状态 0正在分段 1完成分段")
@TableField("ocr_status")
@ -104,11 +104,11 @@ public class OcrFileInfo implements Serializable {
@ApiModelProperty(value = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
private Date createTime;
@ApiModelProperty(value = "更新时间")
@TableField("update_time")
private LocalDateTime updateTime;
private Date updateTime;
}

@ -1,6 +1,5 @@
package com.docus.server.vo.scheduling.management.schcollectorversionfile;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -10,38 +9,35 @@ import lombok.Data;
public class UploadFileVO {
@ApiModelProperty(value = "文件标题")
@TableField("file_title")
private String fileTitle;
@ApiModelProperty(value = "文件目录 单纯文件夹路径不带文件名F:\\嘉时\\新建文件夹\\")
@TableField("file_path")
private String filePath;
@ApiModelProperty(value = "文件名称")
@TableField("file_name")
private String fileName;
@ApiModelProperty(value = "文件大小")
@TableField("file_size")
private Long fileSize;
@ApiModelProperty(value = "文件类型")
@TableField("file_type")
private String fileType;
@ApiModelProperty(value = "高度")
@TableField("height")
private int height;
@ApiModelProperty(value = "宽度")
@TableField("width")
private int width;
@ApiModelProperty(value = "横坐标")
@TableField("x")
private int x;
@ApiModelProperty(value = "纵坐标")
@TableField("y")
private int y;
@ApiModelProperty(value = "原图片路径保存前缀")
private String saveFilePath;
@ApiModelProperty(value = "剪切图片路径保存前缀")
private String saveCutFilePath;
}

@ -6,13 +6,9 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.docus.server.enums.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
@ -41,10 +37,10 @@ public class OcrBasicVO implements Serializable {
private String name;
@ApiModelProperty(value = "分段完成时间")
private LocalDateTime ocrFinishTime;
private Date ocrFinishTime;
@ApiModelProperty(value = "住院日期")
private LocalDateTime admissDate;
private Date admissDate;
@ApiModelProperty(value = "住院科室")
private String admissDept;
@ -53,7 +49,7 @@ public class OcrBasicVO implements Serializable {
private String admissDeptName;
@ApiModelProperty(value = "出院日期")
private LocalDateTime disDate;
private Date disDate;
@ApiModelProperty(value = "出院科室")
private String disDept;
@ -62,13 +58,13 @@ public class OcrBasicVO implements Serializable {
private String disDeptName;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
private Date createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
private Date updateTime;
@ApiModelProperty(value = "是否测试数据(0否 1是)")
private Boolean isTest;
private int isTest;
}

@ -1,6 +1,7 @@
package com.docus.server;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.docus.infrastructure.generator.BaseCodeGenerator;
import java.util.HashMap;
@ -26,6 +27,7 @@ public class CodeGenerator {
BaseCodeGenerator.setClientInterfaceBasePackage("com.docus.server");
AutoGenerator defaultConfig = BaseCodeGenerator.getDefaultConfig();
defaultConfig.getGlobalConfig().setSwagger2(true);
defaultConfig.getGlobalConfig().setDateType(DateType.ONLY_DATE);
defaultConfig.getStrategy().setEntityLombokModel(true);
defaultConfig.getStrategy().setInclude("ocr_basic","ocr_config","ocr_file_info","ocr_rule","ocr_special_detail","ocr_special_rule","ocr_version");//需要生成的表,可指定多个,留空为全部生成
BaseCodeGenerator.generate(defaultConfig);

@ -2,6 +2,7 @@ package com.docus.server.controller;
import com.docus.server.common.service.IFileUploadService;
import com.docus.server.dto.segmentation.UploadBatchFileRequest;
import com.docus.server.service.impl.CommonService;
import com.docus.server.service.impl.DownloadServiceImpl;
import com.docus.server.vo.scheduling.management.schcollectorversionfile.UploadFileVO;
import io.swagger.annotations.Api;
@ -34,6 +35,8 @@ public class FileController {
private IFileUploadService iFileUploadService;
@Resource
private DownloadServiceImpl downloadService;
@Resource
private CommonService commonService;
@ApiOperation("文件下载")
@GetMapping("/download")
@ -49,8 +52,14 @@ public class FileController {
public void uploadFile(@RequestPart("files") MultipartFile[] files, @Validated UploadBatchFileRequest request) throws Exception {
List<UploadFileVO> segmentation = iFileUploadService.uploadFile(files, "segmentation");
//将基础信息存到库表里面,后面自动分段后,需要上传到归档系统
commonService.add(segmentation, request);
}
/**
*
*
* @throws Exception
*/
@ApiOperation("test")
@GetMapping("/test")
public void test() throws Exception {

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "患者信息表任务管理接口", tags = "患者信息表任务管理接口")
@Api(value = "患者信息表", tags = "患者信息表")
@RestController
public class OcrBasicController implements OcrBasicApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "基础配置表任务管理接口", tags = "基础配置表任务管理接口")
@Api(value = "基础配置表", tags = "基础配置表")
@RestController
public class OcrConfigController implements OcrConfigApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "ocr文件信息任务管理接口", tags = "ocr文件信息任务管理接口")
@Api(value = "ocr文件信息", tags = "ocr文件信息")
@RestController
public class OcrFileInfoController implements OcrFileInfoApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "匹配策略表任务管理接口", tags = "匹配策略表任务管理接口")
@Api(value = "匹配策略表", tags = "匹配策略表")
@RestController
public class OcrRuleController implements OcrRuleApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-21
*/
@Api(value = "特殊策略表任务管理接口", tags = "特殊策略表任务管理接口")
@Api(value = "特殊策略表", tags = "特殊策略表")
@RestController
public class OcrSpRuleController implements OcrSpRuleApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "特殊规则详情任务管理接口", tags = "特殊规则详情任务管理接口")
@Api(value = "特殊规则详情", tags = "特殊规则详情")
@RestController
public class OcrSpecialDetailController implements OcrSpecialDetailApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "特殊策略表任务管理接口", tags = "特殊策略表任务管理接口")
@Api(value = "特殊策略表", tags = "特殊策略表")
@RestController
public class OcrSpecialRuleController implements OcrSpecialRuleApi {
@Resource

@ -21,7 +21,7 @@ import java.util.List;
* @author AutoGenerator
* @since 2023-08-25
*/
@Api(value = "正式数据版本号管理任务管理接口", tags = "正式数据版本号管理任务管理接口")
@Api(value = "正式数据版本号", tags = "正式数据版本号")
@RestController
public class OcrVersionController implements OcrVersionApi {
@Resource

@ -1,12 +1,10 @@
package com.docus.server.convert;
import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.dto.segmentation.ocrfileinfo.AddOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO;
import com.docus.server.entity.segmentation.OcrFileInfo;
import com.docus.server.dto.segmentation.ocrfileinfo.AddOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.EditOcrFileInfoDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.DeleteOcrFileInfoDTO;
import com.docus.server.vo.segmentation.ocrfileinfo.OcrFileInfoVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
@ -45,5 +43,7 @@ public interface OcrFileInfoConvert {
@Mappings({})
PageResult<OcrFileInfoVO> convertVO(PageResult<OcrFileInfo> pageResult);
List<OcrFileInfo> convertDO(List<AddOcrFileInfoDTO> files);
}

@ -62,4 +62,9 @@ public interface IOcrFileInfoService {
* @return
*/
PageResult<OcrFileInfoVO> search(SearchDTO searchDTO);
/**
*
*/
void addBatch(List<AddOcrFileInfoDTO> files);
}

@ -0,0 +1,56 @@
package com.docus.server.service.impl;
import com.docus.server.dto.segmentation.UploadBatchFileRequest;
import com.docus.server.dto.segmentation.ocrbasic.AddOcrBasicDTO;
import com.docus.server.dto.segmentation.ocrfileinfo.AddOcrFileInfoDTO;
import com.docus.server.service.IOcrBasicService;
import com.docus.server.service.IOcrFileInfoService;
import com.docus.server.vo.scheduling.management.schcollectorversionfile.UploadFileVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@Service
public class CommonService {
@Resource
private IOcrBasicService iOcrBasicService;
@Resource
private IOcrFileInfoService iOcrFileInfoService;
@Transactional(rollbackFor = Exception.class)
public void add(List<UploadFileVO> segmentation, UploadBatchFileRequest request) {
AddOcrBasicDTO addOcrBasicDTO = new AddOcrBasicDTO();
addOcrBasicDTO.setPatientId(request.getPatientId());
addOcrBasicDTO.setInpatientNo(request.getInpatientNo());
addOcrBasicDTO.setName(request.getName());
addOcrBasicDTO.setIsTest(request.getTestData());
iOcrBasicService.add(addOcrBasicDTO);
AddOcrFileInfoDTO addOcrFileInfoDTO = new AddOcrFileInfoDTO();
List<AddOcrFileInfoDTO> files = new ArrayList<>();
for (UploadFileVO uploadFileVO : segmentation) {
addOcrFileInfoDTO.setPatientId(request.getPatientId());
addOcrFileInfoDTO.setFileTitle(uploadFileVO.getFileTitle());
addOcrFileInfoDTO.setPicName(uploadFileVO.getFileName());
addOcrFileInfoDTO.setFileType(2);
addOcrFileInfoDTO.setSerialNumber(UUID.randomUUID().toString().replace("-", ""));
addOcrFileInfoDTO.setPicUrl(uploadFileVO.getSaveFilePath() + uploadFileVO.getFilePath());
addOcrFileInfoDTO.setPicCutUrl(uploadFileVO.getSaveCutFilePath() + uploadFileVO.getFilePath());
files.add(addOcrFileInfoDTO);
}
iOcrFileInfoService.addBatch(files);
}
}

@ -79,6 +79,17 @@ public class OcrFileInfoServiceImpl implements IOcrFileInfoService {
//return result;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void addBatch(List<AddOcrFileInfoDTO> files) {
List<OcrFileInfo> ocrFileInfos = OcrFileInfoConvert.INSTANCE.convertDO(files);
long id = idService.getDateSeq();
ocrFileInfos.forEach(p -> {
p.setId(id);
});
iOcrFileInfoDao.saveBatch(ocrFileInfos, 500);
}
/**
*
*

Loading…
Cancel
Save