Jelajahi Sumber

update used表改为infusionHistory 输注历史
add infusionModify 输注参数修改

18339543638 3 tahun lalu
induk
melakukan
d778ae0913

+ 1 - 1
coffee-common/src/main/java/com/coffee/common/bo/LoginUser.java

@@ -83,5 +83,5 @@ public class LoginUser implements Serializable {
      * 是否为系统级别用户
      *
      **/
-    private Integer isSys;
+    private Boolean isSys;
 }

+ 6 - 2
coffee-common/src/main/java/com/coffee/common/cache/ClusterConfigStorage.java

@@ -39,10 +39,14 @@ public class ClusterConfigStorage implements ConfigStorage {
 
     @Override
     public Boolean setConfig(String key, Object value) {
-        if (key == null||value==null) {
+        if (key == null) {
             return true;
         }
-        cache.put(key, value);
+        if(value==null){
+            cache.evict(key);
+        }else {
+            cache.put(key, value);
+        }
         return true;
     }
 

+ 1 - 1
coffee-common/src/main/java/com/coffee/common/crud/BaseService.java

@@ -260,7 +260,7 @@ public abstract class BaseService<M extends BaseMapper<E>, E,PK extends Serializ
         if(!StrUtil.isNullOrUndefined(param.getTenantId())){
             LoginUser loginUser = (LoginUser) StpUtil.getTokenSession().get(com.coffee.common.Constants.LOGIN_USER_KEY);
             //是否为系统用户
-            if(loginUser!=null&&loginUser.getIsSys()!=null&&loginUser.getIsSys()==1){
+            if(loginUser!=null&&loginUser.getIsSys()!=null&&loginUser.getIsSys()){
                 queryWrapper.eq("tenant_id",param.getTenantId());
             }
         }

+ 5 - 8
coffee-system/src/main/java/com/coffee/bus/controller/BusDocController.java

@@ -20,10 +20,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author lifang
@@ -46,17 +43,17 @@ public class BusDocController extends BaseCrudController<BusDocEntity, String> {
      */
     @Override
     public String getPermissionPrefix() {
-        return "device:reg";
+        return "bus:doc";
     }
 
 
-    @GetMapping("/get/{tenantId}")
+    @GetMapping("/get")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "tenantId",value = "医院id",required = true,example = "当前用户医院id")
     })
     @ApiOperation(value = "获取当前医院的宣教文档",notes = "当用户未登录、用户为系统用户、用户租户id为空时,返回值为空,权限为空")
-    public R getCurrentHospital(@PathVariable("tenantId") String tenantId){
-        return  R.success(docService.getOne(new QueryWrapper<BusDocEntity>().lambda().eq(BusDocEntity::getTenantId,tenantId)));
+    public R getCurrentHospital(@RequestParam(value = "tenantId",required = false) String tenantId){
+        return  R.success(docService.getOne(new QueryWrapper<BusDocEntity>().lambda().eq(StrUtil.isNotEmpty(tenantId),BusDocEntity::getTenantId,tenantId)));
     }
 
     @Override

+ 17 - 0
coffee-system/src/main/java/com/coffee/bus/mapper/BusInfusionModifyMapper.java

@@ -0,0 +1,17 @@
+package com.coffee.bus.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.coffee.bus.entity.BusInfusionModifyEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author 龙三郎
+ * @version 1.0.0
+ * @ClassName BusHospitalMapper.java
+ * @Description TODO
+ * @createTime 2022年03月19日 09:15:00
+ */
+@Mapper
+public interface BusInfusionModifyMapper extends BaseMapper<BusInfusionModifyEntity> {
+
+}

+ 4 - 0
coffee-system/src/main/java/com/coffee/bus/registry/constant/DeviceKeyConstant.java

@@ -29,4 +29,8 @@ public class DeviceKeyConstant {
     public static final String CLASSIFY="classification";
 
     public static final String ALARM="alarm";
+
+    public static final String INFUSION_ID="infusion_id";
+
+    public static final String INFUSION_PARAM="infusion_param";
 }

+ 98 - 62
coffee-system/src/main/java/com/coffee/bus/registry/device/ClusterDeviceOperator.java

@@ -1,7 +1,9 @@
 package com.coffee.bus.registry.device;
 
 import cn.hutool.core.util.StrUtil;
+import com.coffee.bus.enums.DeviceAlarmEnum;
 import com.coffee.bus.enums.DeviceStatusEnum;
+import com.coffee.bus.registry.constant.DeviceKeyConstant;
 import com.coffee.bus.registry.device.bean.DeviceCacheInfo;
 import com.coffee.common.cache.ConfigStorage;
 import com.coffee.common.cache.value.Value;
@@ -28,49 +30,50 @@ public class ClusterDeviceOperator implements DeviceOperator<DeviceCacheInfo> {
 
     @Override
     public DeviceCacheInfo get() {
-        Map<String, Value> result = configStorage.getKeys(getAllKeys());
-        DeviceCacheInfo cacheInfo = DeviceCacheInfo.builder().build();
-        Value deviceId =parseValue(result.get("deviceId")) ;
-        if(deviceId!=null&&deviceId.get()!=null){
-            cacheInfo.setDeviceId(deviceId.asString());
-        }
-        Value alias =parseValue(result.get("alias"));
-        if(alias!=null&&alias.get()!=null){
-            cacheInfo.setAlias(alias.asString());
-        }
-        Value enable =parseValue( result.get("enable"));
-        if(enable!=null&&enable.get()!=null){
-            cacheInfo.setEnable(enable.asBoolean());
-        }
-        Value tenantId =parseValue(result.get("tenantId")) ;
-        if(tenantId!=null&&tenantId.get()!=null){
-            cacheInfo.setTenantId(tenantId.asString());
-        }
-        Value usingId =parseValue(result.get("usingId")) ;
-        if(usingId!=null&&usingId.get()!=null){
-            cacheInfo.setUsingId(usingId.asString());
-        }
-        Value startTime = parseValue(result.get("startTime"));
-        if(startTime!=null&&startTime.get()!=null){
-            cacheInfo.setStartTime(startTime.asDate());
-        }
-        Value patientCode = parseValue(result.get("patientCode"));
-        if(patientCode!=null&&patientCode.get()!=null){
-            cacheInfo.setPatientCode(patientCode.asString());
-        }
-        Value status =parseValue( result.get("status"));
-        if(status!=null&&status.get()!=null){
-            cacheInfo.setStatus(status.as(DeviceStatusEnum.class));
-        }
-        Value master = parseValue(result.get("master"));
-        if(master!=null&&master.get()!=null){
-            cacheInfo.setMaster(master.asBoolean());
-        }
-        Value classification = parseValue(result.get("classification"));
-        if(classification!=null&&classification.get()!=null){
-            cacheInfo.setClassification(classification.asString());
-        }
-        return cacheInfo;
+//        Map<String, Value> result = configStorage.getKeys(getAllKeys());
+//        DeviceCacheInfo cacheInfo = DeviceCacheInfo.builder().build();
+//        Value deviceId =parseValue(result.get("deviceId")) ;
+//        if(deviceId!=null&&deviceId.get()!=null){
+//            cacheInfo.setDeviceId(deviceId.asString());
+//        }
+//        Value alias =parseValue(result.get("alias"));
+//        if(alias!=null&&alias.get()!=null){
+//            cacheInfo.setAlias(alias.asString());
+//        }
+//        Value enable =parseValue( result.get("enable"));
+//        if(enable!=null&&enable.get()!=null){
+//            cacheInfo.setEnable(enable.asBoolean());
+//        }
+//        Value tenantId =parseValue(result.get("tenantId")) ;
+//        if(tenantId!=null&&tenantId.get()!=null){
+//            cacheInfo.setTenantId(tenantId.asString());
+//        }
+//        Value usingId =parseValue(result.get("usingId")) ;
+//        if(usingId!=null&&usingId.get()!=null){
+//            cacheInfo.setUsingId(usingId.asString());
+//        }
+//        Value startTime = parseValue(result.get("startTime"));
+//        if(startTime!=null&&startTime.get()!=null){
+//            cacheInfo.setStartTime(startTime.asDate());
+//        }
+//        Value patientCode = parseValue(result.get("patientCode"));
+//        if(patientCode!=null&&patientCode.get()!=null){
+//            cacheInfo.setPatientCode(patientCode.asString());
+//        }
+//        Value status =parseValue( result.get("status"));
+//        if(status!=null&&status.get()!=null){
+//            cacheInfo.setStatus(status.as(DeviceStatusEnum.class));
+//        }
+//        Value master = parseValue(result.get("master"));
+//        if(master!=null&&master.get()!=null){
+//            cacheInfo.setMaster(master.asBoolean());
+//        }
+//        Value classification = parseValue(result.get("classification"));
+//        if(classification!=null&&classification.get()!=null){
+//            cacheInfo.setClassification(classification.asString());
+//        }
+//        return cacheInfo;
+        return null;
     }
 
     @Override
@@ -111,97 +114,130 @@ public class ClusterDeviceOperator implements DeviceOperator<DeviceCacheInfo> {
 
     @Override
     public void setDeviceId(String deviceId) {
-        configStorage.setConfig("deviceId",deviceId);
+        configStorage.setConfig(DeviceKeyConstant.DEVICE_ID,deviceId);
     }
 
     @Override
     public String getDeviceId() {
-        return getValue("deviceId").asString();
+        return getValue(DeviceKeyConstant.DEVICE_ID).asString();
     }
 
     @Override
     public void setAlias(String alias) {
-        configStorage.setConfig("alias",alias);
+        configStorage.setConfig(DeviceKeyConstant.ALIAS,alias);
     }
 
     @Override
     public String getAlias() {
-        return getValue("alias").asString();
+        return getValue(DeviceKeyConstant.ALIAS).asString();
     }
 
     @Override
     public void setEnable(Boolean enable) {
-        configStorage.setConfig("enable",enable);
+        configStorage.setConfig(DeviceKeyConstant.ENABLE,enable);
     }
 
     @Override
     public boolean getEnable() {
-        return getValue("enable").asBoolean();
+        return getValue(DeviceKeyConstant.ENABLE).asBoolean();
     }
 
     @Override
     public void setTenantId(String tenantId) {
-        configStorage.setConfig("tenantId",tenantId);
+        configStorage.setConfig(DeviceKeyConstant.TENANT_ID,tenantId);
     }
 
     @Override
     public String getTenantId() {
-        return getValue("tenantId").asString();
+        return getValue(DeviceKeyConstant.TENANT_ID).asString();
     }
 
     @Override
     public void setUsingId(String usingId) {
-        configStorage.setConfig("usingId",usingId);
+        configStorage.setConfig(DeviceKeyConstant.USING_ID,usingId);
     }
 
     @Override
     public String getUsingId() {
-        return getValue("usingId").asString();
+        return getValue(DeviceKeyConstant.USING_ID).asString();
     }
 
     @Override
     public void setStartTime(Date startTime) {
-        configStorage.setConfig("startTime",startTime);
+        configStorage.setConfig(DeviceKeyConstant.START_TIME,startTime);
     }
 
     @Override
     public Date getStartTime() {
-        return getValue("startTime").asDate();
+        return getValue(DeviceKeyConstant.START_TIME).asDate();
     }
 
     @Override
     public void setPatientCode(String patientCode) {
-        configStorage.setConfig("patientCode",patientCode);
+        configStorage.setConfig(DeviceKeyConstant.PATIENT_CODE,patientCode);
     }
 
     @Override
     public String getPatientCode() {
-        return getValue("patientCode").asString();
+        return getValue(DeviceKeyConstant.PATIENT_CODE).asString();
     }
 
     @Override
     public DeviceStatusEnum getStatus() {
-        return getValue("status").as(DeviceStatusEnum.class);
+        return getValue(DeviceKeyConstant.STATUS).as(DeviceStatusEnum.class);
     }
 
     @Override
     public void setStatus(DeviceStatusEnum status) {
         if(status==null){
-            return;
+            configStorage.setConfig(DeviceKeyConstant.STATUS,null);
+        }else {
+            configStorage.setConfig(DeviceKeyConstant.STATUS,status.ordinal());
         }
-        configStorage.setConfig("status",status.ordinal());
+
     }
 
     @Override
     public void setMaster(boolean master) {
-        configStorage.setConfig("master",master);
+        configStorage.setConfig(DeviceKeyConstant.MASTER,master);
     }
 
     @Override
     public boolean getMaster() {
-        return getValue("master").asBoolean();
+        return getValue(DeviceKeyConstant.MASTER).asBoolean();
+    }
+
+    @Override
+    public void setAlarm(DeviceAlarmEnum alarm) {
+        configStorage.setConfig(DeviceKeyConstant.ALARM,alarm);
+    }
+
+    @Override
+    public DeviceAlarmEnum getAlarm() {
+        return getValue(DeviceKeyConstant.ALARM).as(DeviceAlarmEnum.class);
+    }
+
+    @Override
+    public void setInfusionId(String infusionId) {
+        configStorage.setConfig(DeviceKeyConstant.INFUSION_ID,infusionId);
+    }
+
+    @Override
+    public String getInfusionId() {
+        return getValue(DeviceKeyConstant.INFUSION_ID).as(String.class);
     }
 
+    @Override
+    public void setInfusionParam(String infusionParam) {
+        configStorage.setConfig(DeviceKeyConstant.INFUSION_PARAM,infusionParam);
+    }
+
+    @Override
+    public String getInfusionParam() {
+        return getValue(DeviceKeyConstant.INFUSION_PARAM).as(String.class);
+    }
+
+
     @Override
     public void setClassification(String classification) {
         configStorage.setConfig("classification",classification);

+ 1 - 2
coffee-system/src/main/java/com/coffee/bus/registry/device/ClusterDeviceRegistry.java

@@ -37,8 +37,7 @@ public class ClusterDeviceRegistry implements DeviceRegistry {
         }
         String key=getId()+deviceId;
         ClusterDeviceOperator deviceOperator = new ClusterDeviceOperator( configStorageManager.getStorage(key));
-        Map<String, Value> result = deviceOperator.getAll();
-        if(result==null||result.size()==0){
+        if(StrUtil.isNullOrUndefined(deviceOperator.getDeviceId())){
             //从数据库中获取数据
             BusDeviceRunningEntity pump = pumpService.getOne(new QueryWrapper<BusDeviceRunningEntity>().lambda().eq(BusDeviceRunningEntity::getDeviceId, deviceId));
             BusDeviceEntity device = deviceService.getOne(new QueryWrapper<BusDeviceEntity>().lambda()

+ 37 - 0
coffee-system/src/main/java/com/coffee/bus/registry/device/DeviceOperator.java

@@ -1,6 +1,7 @@
 package com.coffee.bus.registry.device;
 
 import com.coffee.bus.entity.BusDeviceRunningEntity;
+import com.coffee.bus.enums.DeviceAlarmEnum;
 import com.coffee.bus.enums.DeviceStatusEnum;
 import com.coffee.bus.registry.Operator;
 
@@ -125,6 +126,42 @@ public interface DeviceOperator<T> extends Operator<T> {
      */
     boolean getMaster();
 
+    /**
+     * 设置当前设备输注id
+     * @param infusionId
+     */
+    void setInfusionId(String infusionId);
+
+    /**
+     * 获取当前设备输注id
+     * @return
+     */
+    String getInfusionId();
+
+    /**
+     * 设置当前设备报警信息
+     * @param alarm
+     */
+    void setAlarm(DeviceAlarmEnum alarm);
+
+    /**
+     * 获取当前设备报警信息
+     * @return
+     */
+    DeviceAlarmEnum getAlarm();
+
+    /**
+     * 设置当前设备输注参数
+     * @return md5 加密 对比
+     */
+    void setInfusionParam(String infusionParam);
+
+    /**
+     * 获取当前设备输注参数
+     * @return
+     */
+    String getInfusionParam();
+
     /**
      * 设置当前设备标记位
      * @param classification

+ 31 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusInfusionModifyService.java

@@ -0,0 +1,31 @@
+package com.coffee.bus.service;
+
+import com.coffee.bus.entity.BusInfusionModifyEntity;
+import com.coffee.bus.mapper.BusInfusionModifyMapper;
+import com.coffee.common.crud.BaseService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author 龙三郎
+ * @version 1.0.0
+ * @ClassName LocalBusHospitalService.java
+ * @Description 临床使用设备
+ * @createTime 2022年03月19日 09:27:00
+ */
+@Service
+public class LocalBusInfusionModifyService extends BaseService<BusInfusionModifyMapper, BusInfusionModifyEntity,String> {
+    @Override
+    public void validateBeforeSave(BusInfusionModifyEntity entity) {
+
+    }
+
+    @Override
+    public void validateBeforeUpdate(BusInfusionModifyEntity entity) {
+
+    }
+
+    @Override
+    public void validateBeforeDelete(String id) {
+
+    }
+}

+ 1 - 4
coffee-system/src/main/java/com/coffee/bus/websocket/listener/DeviceInfoListener.java

@@ -22,7 +22,6 @@ import com.coffee.bus.registry.patient.bean.DeviceTimeSmallInfo;
 import com.coffee.bus.registry.patient.bean.PatientCacheInfo;
 import com.coffee.bus.service.LocalBusDeviceAlarmService;
 import com.coffee.bus.service.LocalBusDeviceRunningService;
-import com.coffee.bus.service.LocalBusPatientService;
 import com.coffee.common.cache.value.Value;
 import com.coffee.common.config.websocket.WebSocketConstant;
 import lombok.AllArgsConstructor;
@@ -43,7 +42,7 @@ import java.util.stream.Collectors;
  * @author lifang
  * @version 1.0.0
  * @ClassName DeviceInfoListener.java
- * @Description TODO
+ * @Description 设备接收处理逻辑
  * @createTime 2022年03月27日 11:21:00
  */
 @Component
@@ -55,8 +54,6 @@ public class DeviceInfoListener {
 
     private final LocalBusDeviceRunningService deviceUsingService;
 
-    private final LocalBusPatientService patientService;
-
     private final DeviceRegistry deviceRegistry;
 
     private final PatientRegistry patientRegistry;

+ 1 - 1
coffee-system/src/main/java/com/coffee/system/common/vo/UserInfoVO.java

@@ -31,5 +31,5 @@ public class UserInfoVO implements Serializable {
 
     private List<RoleInfoVO> roles;
 
-    private Integer isSys;
+    private Boolean isSys;
 }

+ 1 - 1
coffee-system/src/main/java/com/coffee/system/entity/SysUser.java

@@ -208,5 +208,5 @@ public class SysUser extends TenantGenericEntity<Long,Long> {
      *  0、否  1、是
      **/
     @TableField
-    private Integer isSys;
+    private Boolean isSys;
 }

+ 1 - 1
coffee-system/src/main/java/com/coffee/system/service/impl/SysUserServiceImpl.java

@@ -179,7 +179,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if(req.getIsSys()!=null&&1==req.getIsSys()){
             try {
                 LoginUser loginUser = (LoginUser) StpUtil.getTokenSession().get(Constants.LOGIN_USER_KEY);
-                if(req.getIsSys()==null||1!=loginUser.getIsSys()){
+                if(req.getIsSys()==null||!Boolean.TRUE.equals(loginUser.getIsSys())){
                     throw new CustomException("当前用户没有操作系统级别用户的权限");
                 }
             }catch (Exception e){