Bladeren bron

add 增加拉取病人信息

18339543638 3 jaren geleden
bovenliggende
commit
360bf96244

+ 5 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IPatientClient.java

@@ -1,8 +1,11 @@
 package com.nb.web.api.feign;
 
+import com.nb.core.result.R;
+import com.nb.web.api.entity.BusClinicEntity;
 import com.nb.web.api.enums.ClinicManageEnum;
 import com.nb.web.api.feign.query.PatientMonitorQuery;
 import com.nb.web.api.feign.result.*;
+import org.springframework.web.context.request.async.DeferredResult;
 
 import java.util.List;
 
@@ -14,6 +17,8 @@ import java.util.List;
  * @createTime 2022年08月10日 13:42:00
  */
 public interface IPatientClient {
+    DeferredResult<R<BusClinicEntity>> getPatientInfoFromHis(String hospitalId, String patientCode, long timeout, boolean sync);
+
     /**
      * 描述: 查询所有的监护中的病人信息
      * @author lifang

+ 1 - 1
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/vo/GetPatientInfoVo.java → nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/query/GetPatientInfoVo.java

@@ -1,4 +1,4 @@
-package com.nb.web.service.bus.controller.vo;
+package com.nb.web.api.feign.query;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 12 - 0
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java

@@ -1,5 +1,6 @@
 package com.nb.app.doctor.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -15,9 +16,12 @@ import com.nb.app.doctor.controller.vo.UpdateBindPatientVo;
 import com.nb.app.doctor.service.dto.PatientMonitorConsultResult;
 import com.nb.auth.utils.SecurityUtil;
 import com.nb.common.websocket.WebSocketSessionLifeCycleManage;
+import com.nb.core.annotation.Log;
 import com.nb.core.exception.CustomException;
 import com.nb.core.result.R;
+import com.nb.web.api.entity.BusClinicEntity;
 import com.nb.web.api.feign.IPatientClient;
+import com.nb.web.api.feign.query.GetPatientInfoVo;
 import com.nb.web.api.feign.query.PatientMonitorQuery;
 import com.nb.web.api.feign.result.InviteCodeResult;
 import com.nb.web.api.feign.result.PatientMonitorDetailResult;
@@ -28,6 +32,7 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.async.DeferredResult;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -138,4 +143,11 @@ public class PatientMonitorController {
     public R<Boolean> lift(@PathVariable("bindId") String bindId) {
         return R.success(userBindClient.liftBind(bindId,String.valueOf(SecurityUtil.getId()),null));
     }
+
+    @PostMapping("/pull/async")
+    @Log(title = "异步更新患者信息")
+    @ApiOperation(value = "异步更新患者信息,超时时间默认为10s,超时后数据返回继续处理,输注监控")
+    public DeferredResult<R<BusClinicEntity>> syn(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId, @Validated@RequestBody GetPatientInfoVo vo){
+        return patientClient.getPatientInfoFromHis(tenantId,vo.getPatientCode(),vo.getTimeout(),false);
+    }
 }

+ 1 - 3
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/BusPatientController.java

@@ -1,9 +1,7 @@
 package com.nb.web.service.bus.controller;
 
-import cn.dev33.satoken.SaManager;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaMode;
-import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.core.util.StrUtil;
@@ -19,7 +17,7 @@ import com.nb.web.api.entity.common.BusDeviceRunningEntity;
 import com.nb.web.api.feign.result.PatientMonitorDetailResult;
 import com.nb.web.api.feign.query.PatientMonitorQuery;
 import com.nb.web.api.feign.result.PatientMonitorResult;
-import com.nb.web.service.bus.controller.vo.GetPatientInfoVo;
+import com.nb.web.api.feign.query.GetPatientInfoVo;
 import com.nb.web.service.bus.controller.vo.MonitorDetailVo;
 import com.nb.web.service.bus.controller.vo.MonitorFinishedVo;
 import com.nb.web.service.bus.entity.*;

+ 1 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusPatientService.java

@@ -134,6 +134,7 @@ public class LocalBusPatientService extends BaseService<BusPatientMapper, BusPat
      * @param patientCode 病号
      * @param sync        是否为同步操作
      */
+    @Override
     public DeferredResult<R<BusClinicEntity>> getPatientInfoFromHis(String hospitalId, String patientCode, long timeout, boolean sync) {
         BusHospitalEntity hospital = hospitalService.getById(hospitalId);
         HospitalManager hospitalManager = hospitalManagerRegister.get(hospitalId);