From e9be1445b2b2f4e4c6cc2b55d19512e880ce0791 Mon Sep 17 00:00:00 2001 From: WenYongbin <1977763549@qq.com> Date: Tue, 31 Mar 2026 16:43:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=B8=BB=E7=AE=A1=E5=8C=BB=E7=94=9F=E5=90=8C=E6=AD=A5job?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../httpservices/HttpTBasicService.java | 4 +++ .../impl/HttpTBasicServiceImpl.java | 5 +++- .../infrastructure/dao/entity/TBasic.java | 5 ++-- .../dao/mapper/TBasicMapper.java | 4 +++ .../collection/service/ITBasicService.java | 7 +++++ .../service/impl/TBasicServiceImpl.java | 30 ++++++++++++++++++- .../docus/server/collection/util/jobUtil.java | 11 +++++++ src/main/resources/mapper/TBasicMapper.xml | 19 ++++++++++++ 8 files changed, 80 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/docus/server/collection/httpservices/HttpTBasicService.java b/src/main/java/com/docus/server/collection/httpservices/HttpTBasicService.java index 5f8d2ac..8b8f8b6 100644 --- a/src/main/java/com/docus/server/collection/httpservices/HttpTBasicService.java +++ b/src/main/java/com/docus/server/collection/httpservices/HttpTBasicService.java @@ -9,4 +9,8 @@ public interface HttpTBasicService { List getTBasicDto(String url, Map headers, Map params); + /** + * 设置另外的主管医生为住院医师 + */ + void setAttending(TBasicDto tBasicDto); } diff --git a/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java b/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java index 9730689..f3755f4 100644 --- a/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java +++ b/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java @@ -146,7 +146,8 @@ public class HttpTBasicServiceImpl implements HttpTBasicService { /** * 设置另外的主管医生为住院医师 */ - private void setAttending(TBasicDto tBasicDto) { + @Override + public void setAttending(TBasicDto tBasicDto) { String jzh = tBasicDto.getJzh(); JSONObject patientRes = mzZyyRocCurrWebCommonRpc.getInPatient(jzh); if (patientRes == null) { @@ -164,4 +165,6 @@ public class HttpTBasicServiceImpl implements HttpTBasicService { tBasicDto.setAttending(baInhosDocCode); tBasicDto.setAttendingName(baInhosDocName); } + + } diff --git a/src/main/java/com/docus/server/collection/infrastructure/dao/entity/TBasic.java b/src/main/java/com/docus/server/collection/infrastructure/dao/entity/TBasic.java index aaf0a3d..439d3f6 100644 --- a/src/main/java/com/docus/server/collection/infrastructure/dao/entity/TBasic.java +++ b/src/main/java/com/docus/server/collection/infrastructure/dao/entity/TBasic.java @@ -1,6 +1,5 @@ package com.docus.server.collection.infrastructure.dao.entity; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -26,8 +25,8 @@ public class TBasic implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "病案主键") - @TableId(value = "patient_id", type = IdType.ASSIGN_ID) - private Long patientId; + @TableId(value = "patient_id") + private String patientId; @ApiModelProperty(value = "住院次数") private Integer admissTimes; diff --git a/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java b/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java index 0acc74b..b78ca3b 100644 --- a/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/collection/infrastructure/dao/mapper/TBasicMapper.java @@ -27,4 +27,8 @@ public interface TBasicMapper{ List getPatientIdByMomJzh(@Param("momJzh") String momJzh); List getPid(); + + List getNullAttending(); + + int updateAttending(@Param("patientId")String patientId, @Param("attending")String attending, @Param("attendingName")String attendingName); } diff --git a/src/main/java/com/docus/server/collection/service/ITBasicService.java b/src/main/java/com/docus/server/collection/service/ITBasicService.java index 7aaa7bd..b4c099f 100644 --- a/src/main/java/com/docus/server/collection/service/ITBasicService.java +++ b/src/main/java/com/docus/server/collection/service/ITBasicService.java @@ -5,4 +5,11 @@ import java.io.IOException; public interface ITBasicService { public void setTBasic() throws IOException, Exception; + + /** + * 同步住院医师 + * @date 2026/3/31 15:02 + * @author YongBin Wen + */ + void setAttending(); } diff --git a/src/main/java/com/docus/server/collection/service/impl/TBasicServiceImpl.java b/src/main/java/com/docus/server/collection/service/impl/TBasicServiceImpl.java index 97001d1..f0c263f 100644 --- a/src/main/java/com/docus/server/collection/service/impl/TBasicServiceImpl.java +++ b/src/main/java/com/docus/server/collection/service/impl/TBasicServiceImpl.java @@ -123,7 +123,7 @@ public class TBasicServiceImpl implements ITBasicService { if(ObjectUtil.isNotEmpty(tBasicDto.getInpatientNo())&&(tBasicDto.getInpatientNo().contains("c")||tBasicDto.getInpatientNo().contains("C"))){ continue; } - Long patientId = idService.getDateSeq(); + String patientId = String.valueOf(idService.getDateSeq()); //数据类型转化,格式处理 Date admissDate = null; @@ -235,6 +235,34 @@ public class TBasicServiceImpl implements ITBasicService { } + @Override + public void setAttending() { + List nullAttendingBasicList = tBasicMapper.getNullAttending(); + if (Func.isEmpty(nullAttendingBasicList)) { + log.info(">>>>>>>>>> 本次无需同步住院医师"); + return; + } + log.info(">>>>>>>>>> 本次需同步住院医师 {} 个患者", nullAttendingBasicList.size()); + for (TBasic tBasic : nullAttendingBasicList) { + String jzh = tBasic.getJzh(); + log.info(">>>>>>>>>> 同步住院医师病案号:{},住院流水号:{} 开始。", tBasic.getInpatientNo(), jzh); + TBasicDto tBasicDto = new TBasicDto(); + tBasicDto.setJzh(jzh); + httpTBasicService.setAttending(tBasicDto); + String attending = tBasicDto.getAttending(); + if (Func.isBlank(attending)) { + log.info(">>>>>>>>>> 同步住院医师病案号:{},住院流水号:{} 未查询到主管医生。", tBasic.getInpatientNo(), jzh); + continue; + } + String attendingName = tBasicDto.getAttendingName(); + log.info(">>>>>>>>>> 同步住院医师病案号:{},住院流水号:{} 同步到的主管医生为 {},{}。", tBasic.getInpatientNo(), jzh, attending, attendingName); + tBasicMapper.updateAttending(tBasic.getPatientId(), attending, attendingName); + log.info(">>>>>>>>>> 同步住院医师病案号:{},住院流水号:{} 成功。", tBasic.getInpatientNo(), jzh); + } + + + } + public void modifyJsonFile(File file, String key, String value) { StringBuilder sb = new StringBuilder(); //记录替换所在的行 diff --git a/src/main/java/com/docus/server/collection/util/jobUtil.java b/src/main/java/com/docus/server/collection/util/jobUtil.java index 1e6e1fc..c0da461 100644 --- a/src/main/java/com/docus/server/collection/util/jobUtil.java +++ b/src/main/java/com/docus/server/collection/util/jobUtil.java @@ -32,4 +32,15 @@ public class jobUtil { log.error(e.getMessage(),e); } } + + @XxlJob("AttendingSyncJob") + public void AttendingSyncJob(){ + log.info("AttendingSyncJob------开始"); + try { + tBasicService.setAttending(); + log.info("AttendingSyncJob------结束"); + } catch (Exception e) { + log.error("AttendingSyncJob------异常"); + } + } } diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index 33b0780..d832395 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -81,6 +81,15 @@ WHERE `jzh` = #{tBasic.jzh} + + UPDATE `docus_medicalrecord`.`t_basic` + SET + `update_time` = now(), + `attending` = #{attending}, + `attending_name` =#{attendingName} + WHERE + `patient_id` = #{patientId} + select patient_id from `docus_medicalrecord`.`t_basic` limit 10 +