From 792c70f0bb3d1ab9a2f1dfac86e4f0d8318a24a5 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Mon, 21 Aug 2023 10:47:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=AF=E5=90=A6=E9=87=8D=E7=97=87=E7=97=85?= =?UTF-8?q?=E4=BA=BA=E7=9A=84=E7=8A=B6=E6=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/busservice/SdBusinessService.java | 15 ++++++++ .../impl/SdBusinessServiceImpl.java | 19 ++++++++++ .../DynamicDatasourceTestController.java | 37 ------------------- .../controller/SdRyHospitalController.java | 36 ++++++++++++++++++ .../server/message/mapper/SdRyIcuMapper.java | 3 ++ .../server/message/mapper/TBasicMapper.java | 9 +++++ src/main/resources/bootstrap.yml | 3 +- src/main/resources/mapper/SdRyIcuMapper.xml | 7 ++++ src/main/resources/mapper/TBasicMapper.xml | 6 +++ 9 files changed, 97 insertions(+), 38 deletions(-) delete mode 100644 src/main/java/com/docus/server/message/controller/DynamicDatasourceTestController.java create mode 100644 src/main/java/com/docus/server/message/controller/SdRyHospitalController.java diff --git a/src/main/java/com/docus/server/message/busservice/SdBusinessService.java b/src/main/java/com/docus/server/message/busservice/SdBusinessService.java index af1d017..8900f3f 100644 --- a/src/main/java/com/docus/server/message/busservice/SdBusinessService.java +++ b/src/main/java/com/docus/server/message/busservice/SdBusinessService.java @@ -19,4 +19,19 @@ public interface SdBusinessService { * @return 消息处理结果 */ MessageResponse wsNurseSubmitHandle(Message message); + + /** + * 同步患者是否重症病人,住院号+住院次数 + * @param inpatientNo 住院号 + * @param admissTimes 住院次数 + */ + void updIcuRecordState(String inpatientNo, Integer admissTimes); + + /** + * 是否是重症病人(重症视图是否有数据) + * @param inpatientNo 住院号 + * @param admissTimes 住院次数 + * @return 是 true 否 false + */ + boolean isIcuRecord(String inpatientNo, Integer admissTimes); } diff --git a/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java b/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java index ecd72a1..a562962 100644 --- a/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java +++ b/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java @@ -14,6 +14,7 @@ import com.docus.server.message.dto.RecordSubmitDTO; import com.docus.server.message.dto.WsNurseSubmitDTO; import com.docus.server.message.feign.dto.CompensateTasRequest; import com.docus.server.message.feign.service.CollectTaskService; +import com.docus.server.message.mapper.SdRyIcuMapper; import com.docus.server.message.mapper.TBasicMapper; import com.docus.server.message.rpc.ShunDePeopleRpc; import com.docus.server.message.rpc.dto.HisZyCyYzDTO; @@ -36,6 +37,7 @@ public class SdBusinessServiceImpl implements SdBusinessService { private CollectTaskService collectTaskService; private TBasicMapper tBasicMapper; private ShunDePeopleRpc shunDePeopleRpc; + private SdRyIcuMapper sdRyIcuMapper; @Autowired public void setCollectTaskService(CollectTaskService collectTaskService) { @@ -52,6 +54,11 @@ public class SdBusinessServiceImpl implements SdBusinessService { this.shunDePeopleRpc = shunDePeopleRpc; } + @Autowired + public void setSdRyIcuMapper(SdRyIcuMapper sdRyIcuMapper) { + this.sdRyIcuMapper = sdRyIcuMapper; + } + @Override public MessageResponse recordSubmitHandle(Message message) { try { @@ -123,6 +130,18 @@ public class SdBusinessServiceImpl implements SdBusinessService { } + @Override + public void updIcuRecordState(String inpatientNo, Integer admissTimes) { + int state = isIcuRecord(inpatientNo, admissTimes) ? 1 : 0; + tBasicMapper.updIcuRecordState(inpatientNo, admissTimes, state); + } + + @Override + public boolean isIcuRecord(String inpatientNo, Integer admissTimes) { + Integer exists = sdRyIcuMapper.isExists(inpatientNo, admissTimes); + return !Objects.isNull(exists); + } + private void compensateTask(List patientIds, List collectorIds) { CompensateTasRequest dto = new CompensateTasRequest(); dto.setPatientIds(patientIds); diff --git a/src/main/java/com/docus/server/message/controller/DynamicDatasourceTestController.java b/src/main/java/com/docus/server/message/controller/DynamicDatasourceTestController.java deleted file mode 100644 index 324ec7f..0000000 --- a/src/main/java/com/docus/server/message/controller/DynamicDatasourceTestController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.docus.server.message.controller; - -import com.docus.server.message.mapper.SdRyIcuMapper; -import com.docus.server.message.mapper.TBasicMapper; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; - -/** - * @author WYBDEV - */ -@Api("多数据源测试") -@RestController -@Slf4j -@RequestMapping("/dynamic/test") -public class DynamicDatasourceTestController { - @Autowired - TBasicMapper tBasicMapper; - @Autowired - SdRyIcuMapper sdRyIcuMapper; - - - @ApiOperation("根据病案主键") - @GetMapping("/getPatient") - public Object getPatient(@RequestParam("patientId") String patientId,@RequestParam("db")String db){ - HashMap stringObjectHashMap = new HashMap<>(); - - stringObjectHashMap.put(sdRyIcuMapper.getClass().getName(), sdRyIcuMapper.getById(patientId)); - stringObjectHashMap.put( tBasicMapper.getClass().getName(),tBasicMapper.getDischargeCount(patientId)); - return stringObjectHashMap; - } - -} diff --git a/src/main/java/com/docus/server/message/controller/SdRyHospitalController.java b/src/main/java/com/docus/server/message/controller/SdRyHospitalController.java new file mode 100644 index 0000000..724642b --- /dev/null +++ b/src/main/java/com/docus/server/message/controller/SdRyHospitalController.java @@ -0,0 +1,36 @@ +package com.docus.server.message.controller; + +import com.docus.infrastructure.web.api.CommonResult; +import com.docus.server.message.busservice.SdBusinessService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +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; + +/** + * @author WYBDEV + */ +@Api("顺德人医医院") +@RestController +@Slf4j +@RequestMapping("/hospital/sdRy") +public class SdRyHospitalController { + + @Autowired + private SdBusinessService sdBusinessService; + + + @ApiOperation("同步患者是否重症病人,住院号+住院次数") + @GetMapping("/updIcuRecordState") + public CommonResult updIcuRecordState(@RequestParam("inpatientNo") String inpatientNo, @RequestParam("admissTimes") Integer admissTimes) { + log.info("顺德人医,同步患者是否重症病人,住院号:{},住院次数:{}",inpatientNo,admissTimes); + sdBusinessService.updIcuRecordState(inpatientNo, admissTimes); + return CommonResult.success("成功!"); + } + + +} diff --git a/src/main/java/com/docus/server/message/mapper/SdRyIcuMapper.java b/src/main/java/com/docus/server/message/mapper/SdRyIcuMapper.java index c757b56..bc17c21 100644 --- a/src/main/java/com/docus/server/message/mapper/SdRyIcuMapper.java +++ b/src/main/java/com/docus/server/message/mapper/SdRyIcuMapper.java @@ -10,4 +10,7 @@ import java.util.Map; @Mapper public interface SdRyIcuMapper { Map getById(@Param("id") String patientId); + + + Integer isExists(@Param("inpatientNo")String inpatientNo,@Param("admissTimes") Integer admissTimes); } diff --git a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java index 8205982..5dfa46f 100644 --- a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java @@ -53,4 +53,13 @@ public interface TBasicMapper { * @return database操作行 */ int updateDisDateTime(@Param("patientId") String patientId,@Param("disDate") String disDate); + + /** + * 更新基础信息,是否重症患者 + * @param inpatientNo 病案号 + * @param admissTimes 住院次数 + * @param state 状态 1是,0否 + * @return 数据库操作行 + */ + int updIcuRecordState(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("state") int state); } diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index b0139be..004bdf2 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -33,7 +33,8 @@ spring: test-on-return: false validation-query: select 1 icu: - url: jdbc:log4jdbc:mysql://192.168.31.233:3306/docus_medicalrecord?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai +# url: jdbc:log4jdbc:mysql://192.168.31.233:3306/docus_medicalrecord?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + url: jdbc:log4jdbc:mysql://192.168.16.228:3306/sdyy_icu?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: docus password: docus702 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy diff --git a/src/main/resources/mapper/SdRyIcuMapper.xml b/src/main/resources/mapper/SdRyIcuMapper.xml index 25fbfbf..7f3bdfb 100644 --- a/src/main/resources/mapper/SdRyIcuMapper.xml +++ b/src/main/resources/mapper/SdRyIcuMapper.xml @@ -9,4 +9,11 @@ FROM `docus_medicalrecord`.t_basic tb WHERE tb.patient_id=#{id} + diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index 98c77ec..bb52d97 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -20,6 +20,12 @@ set `dis_date`=#{disDate} where `patient_id`=#{patientId} + + update `docus_medicalrecord`.`t_basic` + set `is_icu`=#{state} + where inpatient_no=#{inpatientNo} + and admiss_times=#{admissTimes} +