feat: 基础信息主管医生同步job

master
WenYongbin 3 weeks ago
parent 3687a27da4
commit e9be1445b2

@ -9,4 +9,8 @@ public interface HttpTBasicService {
List<TBasicDto> getTBasicDto(String url, Map<String,String> headers, Map<String,Object> params); List<TBasicDto> getTBasicDto(String url, Map<String,String> headers, Map<String,Object> params);
/**
*
*/
void setAttending(TBasicDto tBasicDto);
} }

@ -146,7 +146,8 @@ public class HttpTBasicServiceImpl implements HttpTBasicService {
/** /**
* *
*/ */
private void setAttending(TBasicDto tBasicDto) { @Override
public void setAttending(TBasicDto tBasicDto) {
String jzh = tBasicDto.getJzh(); String jzh = tBasicDto.getJzh();
JSONObject patientRes = mzZyyRocCurrWebCommonRpc.getInPatient(jzh); JSONObject patientRes = mzZyyRocCurrWebCommonRpc.getInPatient(jzh);
if (patientRes == null) { if (patientRes == null) {
@ -164,4 +165,6 @@ public class HttpTBasicServiceImpl implements HttpTBasicService {
tBasicDto.setAttending(baInhosDocCode); tBasicDto.setAttending(baInhosDocCode);
tBasicDto.setAttendingName(baInhosDocName); tBasicDto.setAttendingName(baInhosDocName);
} }
} }

@ -1,6 +1,5 @@
package com.docus.server.collection.infrastructure.dao.entity; package com.docus.server.collection.infrastructure.dao.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -26,8 +25,8 @@ public class TBasic implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "病案主键") @ApiModelProperty(value = "病案主键")
@TableId(value = "patient_id", type = IdType.ASSIGN_ID) @TableId(value = "patient_id")
private Long patientId; private String patientId;
@ApiModelProperty(value = "住院次数") @ApiModelProperty(value = "住院次数")
private Integer admissTimes; private Integer admissTimes;

@ -27,4 +27,8 @@ public interface TBasicMapper{
List<String> getPatientIdByMomJzh(@Param("momJzh") String momJzh); List<String> getPatientIdByMomJzh(@Param("momJzh") String momJzh);
List<String> getPid(); List<String> getPid();
List<TBasic> getNullAttending();
int updateAttending(@Param("patientId")String patientId, @Param("attending")String attending, @Param("attendingName")String attendingName);
} }

@ -5,4 +5,11 @@ import java.io.IOException;
public interface ITBasicService { public interface ITBasicService {
public void setTBasic() throws IOException, Exception; public void setTBasic() throws IOException, Exception;
/**
*
* @date 2026/3/31 15:02
* @author YongBin Wen
*/
void setAttending();
} }

@ -123,7 +123,7 @@ public class TBasicServiceImpl implements ITBasicService {
if(ObjectUtil.isNotEmpty(tBasicDto.getInpatientNo())&&(tBasicDto.getInpatientNo().contains("c")||tBasicDto.getInpatientNo().contains("C"))){ if(ObjectUtil.isNotEmpty(tBasicDto.getInpatientNo())&&(tBasicDto.getInpatientNo().contains("c")||tBasicDto.getInpatientNo().contains("C"))){
continue; continue;
} }
Long patientId = idService.getDateSeq(); String patientId = String.valueOf(idService.getDateSeq());
//数据类型转化,格式处理 //数据类型转化,格式处理
Date admissDate = null; Date admissDate = null;
@ -235,6 +235,34 @@ public class TBasicServiceImpl implements ITBasicService {
} }
@Override
public void setAttending() {
List<TBasic> 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) { public void modifyJsonFile(File file, String key, String value) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
//记录替换所在的行 //记录替换所在的行

@ -32,4 +32,15 @@ public class jobUtil {
log.error(e.getMessage(),e); 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------异常");
}
}
} }

@ -81,6 +81,15 @@
WHERE WHERE
`jzh` = #{tBasic.jzh} `jzh` = #{tBasic.jzh}
</update> </update>
<update id="updateAttending">
UPDATE `docus_medicalrecord`.`t_basic`
SET
`update_time` = now(),
`attending` = #{attending},
`attending_name` =#{attendingName}
WHERE
`patient_id` = #{patientId}
</update>
<select id="selectOne" resultType="java.lang.Integer"> <select id="selectOne" resultType="java.lang.Integer">
select count(patient_id) from docus_medicalrecord.t_basic where jzh=#{jzh} select count(patient_id) from docus_medicalrecord.t_basic where jzh=#{jzh}
@ -94,4 +103,14 @@
<select id="getPid" resultType="java.lang.String"> <select id="getPid" resultType="java.lang.String">
select patient_id from `docus_medicalrecord`.`t_basic` limit 10 select patient_id from `docus_medicalrecord`.`t_basic` limit 10
</select> </select>
<select id="getNullAttending" resultType="com.docus.server.collection.infrastructure.dao.entity.TBasic">
select
inpatient_no,patient_id,jzh
from `docus_medicalrecord`.`t_basic`
where dis_date>='2024-05-01 00:00:00'
and is_other=0
and file_source=1
and is_cancel=0
and attending is null
</select>
</mapper> </mapper>

Loading…
Cancel
Save