فهرست منبع

add
平板技改项目

18339543638 8 ماه پیش
والد
کامیت
bfec00387c

+ 23 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/dto/BusPatientAbnormalMarkDTO.java

@@ -0,0 +1,23 @@
+package com.nb.web.api.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @ClassName : BusPatientAbnormalMarkDTO
+ * @Description : 病人异常标识标注
+ * @Author : LF
+ * @Date: 2025年04月18日
+ */
+@Data
+public class BusPatientAbnormalMarkDTO {
+    @ApiModelProperty(value = "临床id",required = true)
+    @NotBlank(message = "临床id不能为空")
+    private String clinicId;
+    @ApiModelProperty("是否异常 0、正常 1、异常")
+    private String abnormal;
+    @ApiModelProperty("异常情况备注")
+    private String remark;
+}

+ 13 - 1
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IPatientClient.java

@@ -1,6 +1,7 @@
 package com.nb.web.api.feign;
 
 import com.nb.core.result.R;
+import com.nb.web.api.dto.BusPatientAbnormalMarkDTO;
 import com.nb.web.api.entity.BusClinicEntity;
 import com.nb.web.api.enums.ClinicManageEnum;
 import com.nb.web.api.feign.query.DoctorPatientMonitorQuery;
@@ -111,6 +112,17 @@ public interface IPatientClient {
     boolean setClinic(BusClinicEntity busClinic);
 
 
-
+    /**
+     * 平板医生查询
+     * @param query
+     * @return
+     */
     List<DoctorPatientMonitorResult> doctorSelectPatientList(DoctorPatientMonitorQuery query);
+
+    /**
+     * 平板编辑病人异常标识
+     * @param query
+     * @return
+     */
+    boolean editAbnormalMark(BusPatientAbnormalMarkDTO query);
 }

+ 18 - 53
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java

@@ -1,11 +1,8 @@
 package com.nb.app.doctor.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -15,16 +12,10 @@ import com.nb.app.assistant.api.feign.IAssistantUserBindClient;
 import com.nb.app.assistant.api.feign.result.ContactQuery;
 import com.nb.app.assistant.api.feign.result.PatientBindAssistantResult;
 import com.nb.app.assistant.api.feign.result.UpdateBindPatientParam;
-import com.nb.app.doctor.api.feign.IAppDoctorUserClient;
-import com.nb.app.doctor.api.feign.IAppUserConsultConfigClient;
-import com.nb.app.doctor.controller.vo.*;
 import com.nb.app.doctor.controller.vo.ChangeManageVo;
 import com.nb.app.doctor.controller.vo.InviteCodeVo;
 import com.nb.app.doctor.controller.vo.UpdateBindPatientVo;
-import com.nb.web.api.entity.BusInfusionHistoryEntity;
-import com.nb.web.api.entity.common.BusDeviceRunningEntity;
-import com.nb.web.api.enums.DeviceStatusEnum;
-import com.nb.web.api.enums.PatientAlarmEnum;
+import com.nb.web.api.dto.BusPatientAbnormalMarkDTO;
 import com.nb.web.api.feign.query.DoctorPatientMonitorQuery;
 import com.nb.web.api.feign.result.DoctorPatientMonitorResult;
 import com.nb.app.doctor.service.dto.PatientMonitorConsultResult;
@@ -32,7 +23,6 @@ import com.nb.auth.utils.SecurityUtil;
 import com.nb.common.lock.annotation.DistributeLock;
 import com.nb.common.websocket.WebSocketSessionLifeCycleManage;
 import com.nb.core.annotation.Log;
-import com.nb.core.entity.QueryParamEntity;
 import com.nb.core.exception.CustomException;
 import com.nb.core.result.R;
 import com.nb.web.api.entity.BusClinicEntity;
@@ -55,18 +45,14 @@ import com.nb.web.service.bus.service.dto.ConstantQuery;
 import com.nb.web.service.bus.service.dto.DeviceHistoryQuery;
 import com.nb.web.service.bus.service.dto.ManualUndoConfig;
 import com.nb.web.service.bus.utils.WsPublishUtils;
-import io.swagger.annotations.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.DuplicateKeyException;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
-import java.io.Serializable;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
@@ -248,30 +234,21 @@ public class PatientMonitorController {
         return R.success();
     }
 
-    @PostMapping("/do/{monitorType}/finished")
-    @SaCheckPermission("app:finished:*")
+    @PostMapping("/doFinished")
     @Log(title = "手动结束管理")
-    @ApiResponse(code = 4001,message = "病号当前绑定了多个设备,不可结束管理")
-    @ApiOperation(value = "手动结束管理",notes = "病患当前绑定主设备必须要在关机、不在服务器、待机中才能结束管理,权限【app:finished:*】")
-    public R<Boolean> appFinished(@PathVariable("monitorType")@ApiParam(value = "是否为无泵管理 false、无泵 true、有泵",defaultValue = "false" ) boolean haveDevice,
-                                  @RequestBody MonitorFinishedVo monitorFinishedVo,
-                                  @RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId) {
-
+    @ApiOperation(value = "手动结束管理",notes = "病患当前绑定主设备必须要在关机、不在服务器、待机中才能结束管理")
+    public R<Boolean> appFinished(
+            @RequestBody MonitorFinishedVo monitorFinishedVo,
+            @RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId) {
         log.info("结束管理,【{}】",JSONUtil.toJsonStr(monitorFinishedVo));
-        if (haveDevice){
-            if (CollUtil.isEmpty(monitorFinishedVo.getPatientIds())){
-                throw new CustomException("未选择住院号");
-            }
-            R<Boolean> result = monitorFinished(monitorFinishedVo, tenantId);
-            CompletableFuture.runAsync(()->wsPublishUtils.publishMonitorTotalCount(tenantId))
-                    .thenRunAsync(()->wsPublishUtils.publishDeviceNone(tenantId))
-                    .thenRunAsync(()->wsPublishUtils.publishMonitorStateCount(tenantId));
-            return result;
-        }else {
-            return manualFinished(monitorFinishedVo);
+        if (CollUtil.isEmpty(monitorFinishedVo.getPatientIds())){
+            throw new CustomException("未选择住院号");
         }
-
-
+        R<Boolean> result = monitorFinished(monitorFinishedVo, tenantId);
+        CompletableFuture.runAsync(()->wsPublishUtils.publishMonitorTotalCount(tenantId))
+                .thenRunAsync(()->wsPublishUtils.publishDeviceNone(tenantId))
+                .thenRunAsync(()->wsPublishUtils.publishMonitorStateCount(tenantId));
+        return result;
     }
 
     private R<Boolean> monitorFinished(MonitorFinishedVo monitorFinishedVo, String tenantId){
@@ -301,21 +278,10 @@ public class PatientMonitorController {
     }
 
 
-    private R<Boolean> manualFinished(MonitorFinishedVo monitorFinishedVo){
-        List<String> clinicIds = monitorFinishedVo.getClinicIds();
-        if (CollUtil.isEmpty(clinicIds)) {
-            throw new CustomException("未选择临床信息");
-        }
-        manualService.finishedMonitor(monitorFinishedVo);
-        return R.success(true);
-    }
-
-
     @PostMapping("/clinic/edit")
     @Log(title = "编辑患者信息")
     @ApiOperation(value = "编辑患者信息")
     public R<Boolean> edit(@RequestBody @Validated BusClinicEntity busClinic) {
-
         return R.success(patientClient.setClinic(busClinic));
     }
 
@@ -353,15 +319,14 @@ public class PatientMonitorController {
 
     /**
      * @description: 网络泵技改项目
-     * ①在主界面添加患者的异常表示
+     * ①在主界面 添加/删除 患者的异常标识
      * @author lifang
      * @date 2025-04-17
      */
-    @PostMapping("/addAbnormalMark")
-    @ApiOperation(value = "添加异常标识(平板技改)")
-    public R<List<DoctorPatientMonitorResult>> addAbnormalMark(@RequestBody DoctorPatientMonitorQuery query) {
-        query.setTenantId(SecurityUtil.getTenantId());
-        return R.success(patientClient.doctorSelectPatientList(query));
+    @PostMapping("/editAbnormalMark")
+    @ApiOperation(value = "修改异常标识(平板技改)")
+    public R<Boolean> editAbnormalMark(@RequestBody@Validated BusPatientAbnormalMarkDTO source) {
+        return R.success(patientClient.editAbnormalMark(source));
     }
 
 

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

@@ -19,6 +19,7 @@ import com.nb.app.doctor.api.feign.IAppDoctorUserClient;
 import com.nb.app.doctor.api.feign.IAppUserConsultConfigClient;
 import com.nb.app.doctor.api.feign.result.AppDoctorUserResult;
 import com.nb.auth.utils.SecurityUtil;
+import com.nb.web.api.dto.BusPatientAbnormalMarkDTO;
 import com.nb.web.api.entity.BusClinicEntity;
 import com.nb.web.api.entity.BusDeviceEntity;
 import com.nb.web.api.entity.BusInfusionHistoryEntity;
@@ -37,6 +38,7 @@ import com.nb.web.service.bus.hospital.HospitalManagerRegister;
 import com.nb.web.service.bus.hospital.config.HospitalDeviceAutoUndoConfigHandler;
 import com.nb.web.service.bus.hospital.his.HisScriptSession;
 import com.nb.web.service.bus.hospital.his.strategy.HisStrategyEnum;
+import com.nb.web.service.bus.mapper.BusClinicMapper;
 import com.nb.web.service.bus.service.dto.*;
 import com.nb.web.service.bus.mapper.BusPatientMapper;
 import com.nb.web.service.bus.registry.patient.PatientOperator;
@@ -121,6 +123,9 @@ public class LocalBusPatientService extends BaseService<BusPatientMapper, BusPat
     @Autowired
     private IAppDoctorUserClient iAppDoctorUserClient;
 
+    @Autowired
+    private BusClinicMapper clinicMapper;
+
     private ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
 
     @Override
@@ -793,4 +798,9 @@ public class LocalBusPatientService extends BaseService<BusPatientMapper, BusPat
     public List<DoctorPatientMonitorResult> doctorSelectPatientList(DoctorPatientMonitorQuery query) {
         return baseMapper.doctorSelectPatientList(query);
     }
+
+    @Override
+    public boolean editAbnormalMark(BusPatientAbnormalMarkDTO query) {
+        return true;
+    }
 }