feat: 茂名医嘱序号同步job和接口测试
parent
f216144cf8
commit
2e35ec2d2d
@ -0,0 +1,71 @@
|
||||
package com.docus.server.archive.controller;
|
||||
|
||||
import com.docus.infrastructure.web.api.CommonResult;
|
||||
import com.docus.server.archive.entity.TBasic;
|
||||
import com.docus.server.archive.job.MmRyOrderIndexSyncJob;
|
||||
import com.docus.server.archive.mapper.TBasicMapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author YongBin Wen
|
||||
* @date 2024/3/8 15:21
|
||||
*/
|
||||
@Slf4j
|
||||
@RequestMapping("/mmry-collect")
|
||||
@Api(tags = "茂名人医同步接口")
|
||||
@RestController
|
||||
public class MmRySyncController {
|
||||
@Resource
|
||||
private MmRyOrderIndexSyncJob orderIndexSyncJob;
|
||||
|
||||
@ApiOperation(value = "根据时间进行同步医嘱序号 yyyy-MM-dd HH:mm:ss")
|
||||
@GetMapping("/sync/orderIndex")
|
||||
public CommonResult<String> syncOrderIndex(@RequestParam("dateTime") String dateTime) {
|
||||
String pattern = "yyyy-MM-dd HH:mm:ss";
|
||||
int patternLen = pattern.length();
|
||||
if (dateTime.length() != patternLen) {
|
||||
return CommonResult.failed("请传入正确的时间格式 yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
|
||||
try {
|
||||
sdf.parse(dateTime);
|
||||
} catch (Exception ex) {
|
||||
return CommonResult.failed("请传入正确的时间格式 yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
TBasicMapper tBasicMapper = orderIndexSyncJob.gettBasicMapper();
|
||||
int offset = 0;
|
||||
int size = 100;
|
||||
int total = 0;
|
||||
try {
|
||||
while (true) {
|
||||
List<TBasic> tBasicList = tBasicMapper.getBasicByDate(dateTime, offset, size);
|
||||
int basicSize = tBasicList.size();
|
||||
total += basicSize;
|
||||
if (basicSize == 0) {
|
||||
break;
|
||||
}
|
||||
for (TBasic basic : tBasicList) {
|
||||
orderIndexSyncJob.mmRyOrderIndexSync(basic);
|
||||
}
|
||||
offset += size;
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
log.error(ex.getMessage(), ex);
|
||||
return CommonResult.success("同步失败");
|
||||
}
|
||||
|
||||
return CommonResult.success("同步完成,共同步患者条数:" + total);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
package com.docus.server.archive.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 病案基本信息
|
||||
* </p>
|
||||
*
|
||||
* @author jiashi
|
||||
* @since 2021-04-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "TBasic对象", description = "病案基本信息")
|
||||
public class TBasic implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "病案主键")
|
||||
@TableId(value = "patient_id", type = IdType.ASSIGN_ID)
|
||||
private String patientId;
|
||||
|
||||
@ApiModelProperty(value = "住院次数")
|
||||
private Integer admissTimes;
|
||||
|
||||
@ApiModelProperty(value = "病案号")
|
||||
private String inpatientNo;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "身份证")
|
||||
private String idCard;
|
||||
|
||||
@ApiModelProperty(value = "住院日期")
|
||||
private Date admissDate;
|
||||
|
||||
@ApiModelProperty(value = "住院科室")
|
||||
private String admissDept;
|
||||
|
||||
@ApiModelProperty(value = "住院科室名称")
|
||||
private String admissDeptName;
|
||||
|
||||
@ApiModelProperty(value = "出院日期")
|
||||
private Date disDate;
|
||||
|
||||
@ApiModelProperty(value = "出院科室")
|
||||
private String disDept;
|
||||
|
||||
@ApiModelProperty(value = "出院科室名称")
|
||||
private String disDeptName;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "文件来源 1:af_archive_detail,2:t_scan_assort")
|
||||
private Integer fileSource;
|
||||
|
||||
}
|
@ -1,9 +1,22 @@
|
||||
package com.docus.server.archive.mapper;
|
||||
|
||||
|
||||
import com.docus.server.archive.entity.TBasic;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface TBasicMapper {
|
||||
/**
|
||||
* 根据时间查询患者基础信息
|
||||
* 会查询 出院时间大于等于条件 或者 数据 插入 时间大于等于条件 ,已出院的并且为质控的患者
|
||||
* @date 2024/3/11 8:48
|
||||
* @author YongBin Wen
|
||||
* @return 基础信息
|
||||
*/
|
||||
List<TBasic> getBasicByDate(@Param("dateTime") String dateTime, @Param("offset") long offset,@Param("size") long size);
|
||||
|
||||
int updateOrderIndex(@Param("patientId") String patientId, @Param("orderIndex") String orderIndex);
|
||||
}
|
||||
|
Loading…
Reference in New Issue