Parcourir la source

update 修改

18339543638 il y a 3 ans
Parent
commit
2a54a30fee
20 fichiers modifiés avec 382 ajouts et 215 suppressions
  1. 3 4
      coffee-common/src/main/java/com/coffee/common/crud/BaseService.java
  2. 5 2
      coffee-framework/src/main/java/com/coffee/framework/config/mybatisplus/MybatisPlusConfig.java
  3. 53 0
      coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceManualController.java
  4. 4 2
      coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceRunningController.java
  5. 0 129
      coffee-system/src/main/java/com/coffee/bus/controller/vo/DeviceRunningMockVo.java
  6. 2 2
      coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceHistoryEntity.java
  7. 33 0
      coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceManualEntity.java
  8. 2 2
      coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceRunningEntity.java
  9. 3 2
      coffee-system/src/main/java/com/coffee/bus/entity/BusInfusionHistoryEntity.java
  10. 2 2
      coffee-system/src/main/java/com/coffee/bus/entity/BusInfusionModifyEntity.java
  11. 14 9
      coffee-system/src/main/java/com/coffee/bus/enums/DeviceAlarmEnum.java
  12. 6 3
      coffee-system/src/main/java/com/coffee/bus/enums/DeviceStatusEnum.java
  13. 4 4
      coffee-system/src/main/java/com/coffee/bus/enums/DeviceTypeEnum.java
  14. 17 0
      coffee-system/src/main/java/com/coffee/bus/mapper/BusDeviceManualMapper.java
  15. 34 0
      coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceManualService.java
  16. 3 0
      coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceService.java
  17. 0 4
      coffee-system/src/main/java/com/coffee/bus/service/LocalBusInfusionHistoryService.java
  18. 56 0
      coffee-system/src/main/java/com/coffee/bus/utils/MockUtils.java
  19. 140 49
      coffee-system/src/main/java/com/coffee/bus/websocket/listener/DeviceInfoListener.java
  20. 1 1
      coffee-system/src/main/java/com/coffee/bus/websocket/listener/HisInfoListener.java

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

@@ -205,11 +205,10 @@ public abstract class BaseService<M extends BaseMapper<E>, E,PK extends Serializ
     public Page<E> list(QueryParamEntity<E> param) {
         //是否为分页查询
         if(ObjectUtil.isNotNull(param.getPage())){
-//            param.getPage().setSearchCount(false);
             QueryWrapper<E> wrapper = build(param);
-            return this.page(param.getPage(),wrapper);
-//            page.setTotal(this.count(wrapper));
-//            return this.page(param.getPage(),build(param));
+            Page<E> page = param.getPage();
+            page.setCurrent(page.getCurrent()>0?page.getCurrent()-1:0);
+            return this.page(page,wrapper);
         }else {
             try {
                 List<E> list = list(build(param));

+ 5 - 2
coffee-framework/src/main/java/com/coffee/framework/config/mybatisplus/MybatisPlusConfig.java

@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionIntercepto
 import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.MySqlDialect;
 import com.coffee.common.Constants;
 import com.coffee.common.bo.LoginUser;
 import com.coffee.common.entity.TenantGenericEntity;
@@ -86,12 +87,13 @@ public class MybatisPlusConfig {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
         // 数据权限插件
         interceptor.addInnerInterceptor(dataPermissionInterceptor());
+        //多租户插件
+        interceptor.addInnerInterceptor(tenantLineInnerInterceptor());
         // 分页插件
         interceptor.addInnerInterceptor(paginationInnerInterceptor());
         // 乐观锁插件
         interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
-        //多租户插件
-        interceptor.addInnerInterceptor(tenantLineInnerInterceptor());
+
         return interceptor;
     }
 
@@ -114,6 +116,7 @@ public class MybatisPlusConfig {
         paginationInnerInterceptor.setDbType(DbType.MYSQL);
         // 设置最大单页限制数量,默认 500 条,-1 不受限制
         paginationInnerInterceptor.setMaxLimit(-1L);
+        paginationInnerInterceptor.setDialect(new MySqlDialect());
         return paginationInnerInterceptor;
     }
 

+ 53 - 0
coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceManualController.java

@@ -0,0 +1,53 @@
+package com.coffee.bus.controller;
+
+import cn.dev33.satoken.SaManager;
+import cn.dev33.satoken.stp.StpLogic;
+import com.baomidou.mybatisplus.core.mapper.Mapper;
+import com.coffee.bus.entity.BusDeviceManualEntity;
+import com.coffee.bus.entity.BusDrugEntity;
+import com.coffee.bus.service.LocalBusDeviceManualService;
+import com.coffee.bus.service.LocalBusDrugService;
+import com.coffee.common.crud.BaseService;
+import com.coffee.common.crud.controller.BaseCrudController;
+import com.coffee.common.crud.controller.BaseQueryController;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName BusDrugController.java
+ * @Description TODO
+ * @createTime 2022年04月08日 10:18:00
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/device/manual")
+@Api(tags = "无泵管理(即手动添加设备管理)",description = "统一权限前缀(device:manual),device:manual:add")
+public class BusDeviceManualController implements BaseQueryController<BusDeviceManualEntity,String> {
+    private final LocalBusDeviceManualService deviceManualService;
+
+
+
+    /**
+     * 权限控制前缀
+     * @return
+     */
+    @Override
+    public String getPermissionPrefix() {
+        return "device:manual";
+    }
+
+    @Override
+    public StpLogic getStpLogin() {
+        return SaManager.getStpLogic("");
+    }
+
+    @Override
+    public BaseService<? extends Mapper<BusDeviceManualEntity>, BusDeviceManualEntity, String> getService() {
+        return deviceManualService;
+    }
+
+}

+ 4 - 2
coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceRunningController.java

@@ -13,6 +13,7 @@ import com.coffee.bus.enums.DeviceAlarmEnum;
 import com.coffee.bus.enums.DeviceStatusEnum;
 import com.coffee.bus.listener.event.bean.DeviceInfoEvent;
 import com.coffee.bus.service.LocalBusDeviceRunningService;
+import com.coffee.bus.utils.MockUtils;
 import com.coffee.common.crud.BaseService;
 import com.coffee.common.crud.controller.BaseQueryController;
 import com.coffee.common.result.R;
@@ -72,9 +73,10 @@ public class BusDeviceRunningController implements BaseQueryController<BusDevice
 
     @PostMapping("/mock")
     @ApiOperation(value = "模拟设备运行数据",notes = "在进行数据模拟前,请确保该泵存在于bus_device表中,若不存在,请添加后再模拟数据,当出现泵重复状态时,权限标识为【无】")
-    public R undo(@RequestBody DeviceRunningMockVo mockVo){
+    public R<BusDeviceRunningEntity> mock(@RequestBody DeviceRunningMockVo mockVo){
+        BusDeviceRunningEntity mock = MockUtils.mock(mockVo.getDeviceId(), mockVo.getPatientCode(), mockVo.getClassification(), mockVo.getType());
         SpringUtil.publishEvent(new DeviceInfoEvent(this,mockVo,mockVo.getDeviceId()));
-        return R.success();
+        return R.success(mock);
     }
 
 

+ 0 - 129
coffee-system/src/main/java/com/coffee/bus/controller/vo/DeviceRunningMockVo.java

@@ -34,131 +34,6 @@ public class DeviceRunningMockVo {
     @ApiModelProperty(value = "病号")
     private String patientCode;
 
-    @ApiModelProperty(value = "病区")
-    private String ward;
-
-    @ApiModelProperty(value = "床号")
-    private String bedNo;
-
-    @ApiModelProperty(value = "总量",readOnly = true)
-    @Max(value = 999,message = "总量最大值不得超过999")
-    @Min(value = 0,message ="总量最小值不得超过0" )
-    private Integer totalDose;
-
-    @ApiModelProperty(value = "公共参数-首次量",readOnly = true)
-    @Max(value = 50,message = "首次量最大值不得超过50")
-    @Min(value = 0,message ="首次量最小值不得超过0" )
-    private Integer firstDose;
-
-
-    @ApiModelProperty(value = "公共参数-剩余量",readOnly = true)
-    private BigDecimal remainDose;
-
-    @ApiModelProperty(value = "公共参数-已输入量",readOnly = true)
-    private BigDecimal inputDose;
-
-    @ApiModelProperty(value = "公共参数-追加量",readOnly = true)
-    @DecimalMax(value = "10",message = "PCA追加量最大值不得超过10")
-    @DecimalMin(value = "0",message ="PCA追加量最小值不得超过0" )
-    private BigDecimal appendDose;
-
-    @ApiModelProperty(value = "公共参数-追加锁时",readOnly = true)
-    @DecimalMax(value = "99",message = "PCA追加量最大值不得超过99")
-    @DecimalMin(value = "1",message ="PCA追加量最小值不得超过0" )
-    private BigDecimal appendLockTime;
-
-    @ApiModelProperty(value = "公共参数-极限量",readOnly = true)
-    @DecimalMax(value = "90",message = "PCA追加量最大值不得超过90")
-    @DecimalMin(value = "0",message ="PCA追加量最小值不得超过0" )
-    private BigDecimal maxDose;
-
-    @ApiModelProperty(value = "公共参数-自控锁时",readOnly = true)
-    private BigDecimal selfControlLockTime;
-
-    @ApiModelProperty(value = "公共参数-自控次数",readOnly = true)
-    private BigDecimal selfControlCount;
-
-    @ApiModelProperty(value = "公共参数-pca有效次数",readOnly = true)
-    private Integer pcaValidCount;
-
-    @ApiModelProperty(value = "公共参数-pca无效次数",readOnly = true)
-    private Integer pcaInvalidCount;
-
-    @ApiModelProperty(value = "公共参数-pca总按次数",readOnly = true)
-    private Integer pcaTotalCount;
-
-    @ApiModelProperty(value = "公共参数-持续量(流速)",readOnly = true)
-    @DecimalMax(value = "50",message = "持续给液量最大值不得超过50")
-    @DecimalMin(value = "0",message ="持续给液量最小值不得超过0" )
-    private BigDecimal continueDose;
-
-    @ApiModelProperty(value = "脉冲泵参数-脉冲量",readOnly = true)
-    @Max(value = 20,message = "脉冲量最大值不得超过20")
-    @Min(value = 0,message ="脉冲量最小值不得超过0" )
-    private Integer pulseDose;
-
-    @ApiModelProperty(value = "脉冲泵参数-脉冲锁时",readOnly = true)
-    @Max(value = 90,message = "脉冲锁时最大值不得超过90")
-    @Min(value = 30,message ="脉冲锁时最小值不得超过30" )
-    private Integer pulseLockTime;
-
-    @ApiModelProperty(value = "脉冲泵参数-脉冲首次锁时",readOnly = true)
-    @Max(value = 60,message = "脉冲首次锁时最大值不得超过60")
-    @Min(value = 0,message ="脉冲首次锁时最小值不得超过0" )
-    private Integer pulseFirstLockTime;
-
-    @ApiModelProperty(value = "智能泵参数-加档周期",readOnly = true)
-    @DecimalMax(value = "10",message = "加档周期最大值不得超过10")
-    @DecimalMin(value = "0.5",message ="加档周期最小值不得超过0.5" )
-    private BigDecimal flowUpCycle;
-
-    @ApiModelProperty(value = "智能泵参数-减档周期",readOnly = true)
-    @DecimalMax(value = "10",message = "减档周期最大值不得超过10")
-    @DecimalMin(value = "0.5",message ="减档周期最小值不得超过0.5" )
-    private BigDecimal flowDownCycle;
-
-    @ApiModelProperty(value = "智能泵参数-计次",readOnly = true)
-    @DecimalMax(value = "10",message = "PCA追加量最大值不得超过10")
-    @DecimalMin(value = "1",message ="PCA追加量最小值不得超过1" )
-    private BigDecimal flowCount;
-
-    @ApiModelProperty(value = "智能泵参数-上限",readOnly = true)
-    @DecimalMax(value = "50",message = "智能泵上限值最大值不得超过90")
-    @DecimalMin(value = "1",message ="智能泵上限值最小值不得超过0" )
-    private BigDecimal flowUpLimit;
-
-    @ApiModelProperty(value = "智能泵参数-下限",readOnly = true)
-    @DecimalMax(value = "50",message = "智能泵下限值最大值不得超过50")
-    @DecimalMin(value = "0.1",message ="智能泵下限值最小值不得超过0.1" )
-    private BigDecimal flowDownLimit;
-
-    @ApiModelProperty(value = "智能泵参数-自调比例",readOnly = true)
-    @DecimalMax(value = "95",message = "自调比例不得超过95")
-    @DecimalMin(value = "0",message ="自调比例最小值不得超过0" )
-    private BigDecimal flowAdjustRate;
-
-
-    @ApiModelProperty(value = "泵运行状态",readOnly = true)
-    @TableField(typeHandler = EnumTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
-    private DeviceStatusEnum runState;
-
-    @ApiModelProperty(value = "报警信息",readOnly = true)
-    @TableField(typeHandler = EnumTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
-    private DeviceAlarmEnum alarm;
-
-    @ApiModelProperty(value = "输注即将结束提醒",readOnly = true)
-    private Boolean warnWillFinished;
-
-    @ApiModelProperty(value = "镇痛不足提醒",readOnly = true)
-    private Boolean warnAnalgesicPoor;
-
-    @ApiModelProperty(value = "电量偏低提醒",readOnly = true)
-    private Boolean warnLowBattery;
-
-
-    @ApiModelProperty(value = "备注")
-    private String remark;
-
     @ApiModelProperty(value = "分包标记位",readOnly = true)
     @JsonIgnoreProperties(allowSetters = true)
     private String classification;
@@ -166,8 +41,4 @@ public class DeviceRunningMockVo {
     @ApiModelProperty(value = "泵类型",readOnly = true)
     @TableField(javaType = true,updateStrategy = FieldStrategy.NEVER)
     private DeviceTypeEnum type;
-
-    @ApiModelProperty(value = "数据上传时间",readOnly = true,hidden = true)
-    @JsonIgnoreProperties(allowSetters = true)
-    private Date uploadTime;
 }

+ 2 - 2
coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceHistoryEntity.java

@@ -92,10 +92,10 @@ public class BusDeviceHistoryEntity extends TenantGenericEntity<String,String> {
     private BigDecimal maxDose;
 
     @ApiModelProperty(value = "公共参数-自控锁时",readOnly = true)
-    private BigDecimal selfControlLockTime;
+    private Integer selfControlLockTime;
 
     @ApiModelProperty(value = "公共参数-自控次数",readOnly = true)
-    private BigDecimal selfControlCount;
+    private Integer selfControlCount;
 
     @ApiModelProperty(value = "公共参数-pca有效次数",readOnly = true)
     private Integer pcaValidCount;

+ 33 - 0
coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceManualEntity.java

@@ -0,0 +1,33 @@
+package com.coffee.bus.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.coffee.bus.enums.DeviceTypeEnum;
+import com.coffee.common.entity.GenericEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName BusDocEntity.java
+ * @Description TODO
+ * @createTime 2022年04月09日 16:12:00
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName(value = "bus_device_manual",autoResultMap = true)
+@ApiModel(value="手动输录设备管理", description="手动输录设备管理")
+@ToString
+public class BusDeviceManualEntity extends GenericEntity<String> {
+    @ApiModelProperty("设备类型")
+    private DeviceTypeEnum type;
+
+    private String config;
+
+
+}

+ 2 - 2
coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceRunningEntity.java

@@ -103,10 +103,10 @@ public class BusDeviceRunningEntity extends TenantGenericEntity<String,String> {
     private BigDecimal maxDose;
 
     @ApiModelProperty(value = "公共参数-自控锁时",readOnly = true)
-    private BigDecimal selfControlLockTime;
+    private Integer selfControlLockTime;
 
     @ApiModelProperty(value = "公共参数-自控次数",readOnly = true)
-    private BigDecimal selfControlCount;
+    private Integer selfControlCount;
 
     @ApiModelProperty(value = "公共参数-pca有效次数",readOnly = true)
     private Integer pcaValidCount;

+ 3 - 2
coffee-system/src/main/java/com/coffee/bus/entity/BusInfusionHistoryEntity.java

@@ -12,6 +12,7 @@ import com.coffee.common.entity.TenantGenericEntity;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import javafx.beans.DefaultProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
@@ -104,10 +105,10 @@ public class BusInfusionHistoryEntity extends TenantGenericEntity<String,String>
     private BigDecimal maxDose;
 
     @ApiModelProperty(value = "公共参数-自控锁时",readOnly = true)
-    private BigDecimal selfControlLockTime;
+    private Integer selfControlLockTime;
 
     @ApiModelProperty(value = "公共参数-自控次数",readOnly = true)
-    private BigDecimal selfControlCount;
+    private Integer selfControlCount;
 
     @ApiModelProperty(value = "公共参数-pca有效次数",readOnly = true)
     private Integer pcaValidCount;

+ 2 - 2
coffee-system/src/main/java/com/coffee/bus/entity/BusInfusionModifyEntity.java

@@ -78,10 +78,10 @@ public class BusInfusionModifyEntity extends TenantGenericEntity<String,String>
     private BigDecimal maxDose;
 
     @ApiModelProperty(value = "公共参数-自控锁时",readOnly = true)
-    private BigDecimal selfControlLockTime;
+    private Integer selfControlLockTime;
 
     @ApiModelProperty(value = "公共参数-自控次数",readOnly = true)
-    private BigDecimal selfControlCount;
+    private Integer selfControlCount;
 
     @ApiModelProperty(value = "公共参数-pca有效次数",readOnly = true)
     private Integer pcaValidCount;

+ 14 - 9
coffee-system/src/main/java/com/coffee/bus/enums/DeviceAlarmEnum.java

@@ -22,16 +22,21 @@ public enum DeviceAlarmEnum  implements IEnum<Integer> {
      * 切记不可删除!!!!!!!!!!!!
      */
     //    以下为报警信息状态
-    Finished(0,"输液结束"),
-    LowBattery(1,"低电量报警"),
+    None(0,"无报警"),
+    Bubble(1,"气泡报警"),
     Jam(2,"堵塞报警"),
-    Bubble(3,"气泡报警"),
-    NoSignal(4,"不在服务区"),
-    Machine(5,"机械故障"),
-    NotFastened(6,"未扣合故障"),
-    NotBox(7,"未装药盒报警"),
-    Limit(8,"极限报警"),
-    OutOfControl(9,"电机失控报警");
+    NotBox(3,"未装药盒报警"),
+    InfusionMax(4,"输入总量报警"),
+    Limit(5,"极限报警"),
+    Finished(6,"输液结束"),
+    LowBattery(7,"电量耗尽报警"),
+    OutOfControl(8,"电机失控报警"),
+    Machine(9,"机械故障"),
+    NoSignal(10,"不在服务区"),
+
+
+
+    ;
 
 
     @Getter

+ 6 - 3
coffee-system/src/main/java/com/coffee/bus/enums/DeviceStatusEnum.java

@@ -23,9 +23,12 @@ public enum DeviceStatusEnum  implements IEnum<Integer> {
      * 如若新增,请在最后尾部新增
      * 切记不可删除!!!!!!!!!!!!
      */
-    Running(0,"正在运行"),
-    Waiting(1,"待机中"),
-    Shutdown(2,"关机");
+    Shutdown(0,"关机"),
+    StartUp(1,"开机"),
+    Running(2,"运行"),
+    Pause(3,"暂停"),
+    Waiting(4,"待机")
+    ;
 
 
     /**

+ 4 - 4
coffee-system/src/main/java/com/coffee/bus/enums/DeviceTypeEnum.java

@@ -16,10 +16,10 @@ import lombok.Getter;
 @AllArgsConstructor
 @JsonFormat(shape = JsonFormat.Shape.OBJECT)
 public enum DeviceTypeEnum implements IEnum<Integer> {
-    continuous(0,"持续型网络泵"),
-    intelligent(1,"智能泵"),
-    pulse(2,"脉冲泵"),
-    no(3,"无泵"),
+    no(0,"无泵"),
+    continuous(1,"持续型网络泵"),
+    intelligent(2,"智能泵"),
+    pulse(3,"脉冲泵"),
     other(4,"其他泵");
 
     @Getter

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

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

+ 34 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceManualService.java

@@ -0,0 +1,34 @@
+package com.coffee.bus.service;
+
+import com.coffee.bus.entity.BusDeviceManualEntity;
+import com.coffee.bus.mapper.BusDeviceManualMapper;
+import com.coffee.common.crud.BaseService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName LocalBusHospitalService.java
+ * @Description 设备注册
+ * @createTime 2022年03月19日 09:27:00
+ */
+@Service
+@Slf4j
+public class LocalBusDeviceManualService extends BaseService<BusDeviceManualMapper, BusDeviceManualEntity,String> {
+
+    @Override
+    public void validateBeforeSave(BusDeviceManualEntity entity) {
+
+    }
+
+    @Override
+    public void validateBeforeUpdate(BusDeviceManualEntity entity) {
+
+    }
+
+    @Override
+    public void validateBeforeDelete(String id) {
+
+    }
+}

+ 3 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceService.java

@@ -68,6 +68,9 @@ public class LocalBusDeviceService extends BaseService<BusDeviceMapper, BusDevic
         if(entity.getEnable()!=null){
             deviceOperator.setEnable(entity.getEnable());
         }
+        if(StrUtil.isNotEmpty(entity.getTenantId())){
+            deviceOperator.setTenantId(entity.getTenantId());
+        }
     }
 
     @Override

+ 0 - 4
coffee-system/src/main/java/com/coffee/bus/service/LocalBusInfusionHistoryService.java

@@ -2,8 +2,6 @@ package com.coffee.bus.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import cn.hutool.extra.spring.SpringUtil;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.coffee.aliyun.utils.Constants;
 import com.coffee.aliyun.utils.Items;
 import com.coffee.aliyun.utils.PumpParams;
@@ -14,8 +12,6 @@ import com.coffee.bus.listener.event.infusion.InfusionCreateEvent;
 import com.coffee.bus.listener.event.infusion.InfusionUpdateEvent;
 import com.coffee.bus.mapper.BusInfusionHistoryMapper;
 import com.coffee.common.crud.BaseService;
-import jodd.util.ObjectUtil;
-import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;

+ 56 - 0
coffee-system/src/main/java/com/coffee/bus/utils/MockUtils.java

@@ -0,0 +1,56 @@
+package com.coffee.bus.utils;
+
+import cn.hutool.core.util.RandomUtil;
+import com.coffee.bus.entity.BusDeviceRunningEntity;
+import com.coffee.bus.enums.DeviceTypeEnum;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName MockUtils.java
+ * @Description TODO
+ * @createTime 2022年05月05日 14:29:00
+ */
+public class MockUtils {
+    public static BusDeviceRunningEntity mock(String deviceId,String patientCode,String classify,DeviceTypeEnum type){
+        BusDeviceRunningEntity pump = new BusDeviceRunningEntity();
+        pump.setType(type);
+        pump.setClassification(classify);
+        pump.setDeviceId(deviceId);
+        pump.setPatientCode(patientCode);
+        pump.setTotalDose(RandomUtil.randomInt(100));
+        pump.setFirstDose(RandomUtil.randomInt(100));
+        pump.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setInputDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setAppendDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setAppendLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setMaxDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setSelfControlCount(RandomUtil.randomInt(100));
+        pump.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump.setFirstDose(RandomUtil.randomInt(100));
+        pump.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump.setPcaValidCount(RandomUtil.randomInt(100));
+        pump.setPcaInvalidCount(RandomUtil.randomInt(100));
+        pump.setPcaTotalCount(pump.getPcaInvalidCount()+pump.getPcaValidCount());
+        pump.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump.setPulseDose(RandomUtil.randomInt(100));
+        pump.setPulseLockTime(RandomUtil.randomInt(100));
+        pump.setPulseFirstLockTime(RandomUtil.randomInt(100));
+        pump.setFlowAdjustRate(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowCount(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowDownCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowDownLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowUpCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowUpLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump.setUploadTime(new Date());
+
+        return pump;
+    }
+}

+ 140 - 49
coffee-system/src/main/java/com/coffee/bus/websocket/listener/DeviceInfoListener.java

@@ -467,63 +467,154 @@ public class DeviceInfoListener {
         pump.setClassification(String.valueOf(mark));
         pump.setDeviceId("123");
         pump.setPatientCode("456");
+        pump.setTotalDose(RandomUtil.randomInt(100));
+        pump.setFirstDose(RandomUtil.randomInt(100));
+        pump.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setInputDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setAppendDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setAppendLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setMaxDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setSelfControlCount(RandomUtil.randomInt(100));
+        pump.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump.setFirstDose(RandomUtil.randomInt(100));
         pump.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
         pump.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-        pump.setSelfControlLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setSelfControlLockTime(RandomUtil.randomInt(100));
         pump.setPcaValidCount(RandomUtil.randomInt(100));
         pump.setPcaInvalidCount(RandomUtil.randomInt(100));
-        pump.setPcaTotalCount(RandomUtil.randomInt(100));
+        pump.setPcaTotalCount(pump.getPcaInvalidCount()+pump.getPcaValidCount());
+        pump.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump.setPulseDose(RandomUtil.randomInt(100));
+        pump.setPulseLockTime(RandomUtil.randomInt(100));
+        pump.setPulseFirstLockTime(RandomUtil.randomInt(100));
+        pump.setFlowAdjustRate(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowCount(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowDownCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowDownLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowUpCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump.setFlowUpLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump.setUploadTime(new Date());
+
+
         SpringUtil.publishEvent(new DeviceInfoEvent(this,pump,pump.getDeviceId()));
 
         Thread.sleep(5000);
-//
-//        BusDeviceRunningEntity pump1 = new BusDeviceRunningEntity();
-//        pump1.setDeviceId("456");
-//        pump1.setType(DeviceEnum.continuous);
-//        pump1.setClassification(String.valueOf(mark));
-//        pump1.setPatientCode("456");
-//        pump1.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump1.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump1.setSelfControlLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump1.setPcaValidCount(RandomUtil.randomInt(100));
-//        pump1.setPcaInvalidCount(RandomUtil.randomInt(100));
-//        pump1.setPcaTotalCount(RandomUtil.randomInt(100));
-//        SpringUtil.publishEvent(new DeviceInfoEvent(this,pump1,pump1.getDeviceId()));
-//
-//        Thread.sleep(5000);
-//
-//        BusDeviceRunningEntity pump2 = new BusDeviceRunningEntity();
-//        pump2.setType(DeviceEnum.continuous);
-//        pump2.setDeviceId("456");
-//        pump2.setClassification(String.valueOf(mark));
-//        pump2.setPatientCode("789");
-//        pump2.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump2.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump2.setSelfControlLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump2.setPcaValidCount(RandomUtil.randomInt(100));
-//        pump2.setPcaInvalidCount(RandomUtil.randomInt(100));
-//        pump2.setPcaTotalCount(RandomUtil.randomInt(100));
-//        pump2.setAlarm(DeviceAlarmEnum.Bubble);
-//        SpringUtil.publishEvent(new DeviceInfoEvent(this,pump2,pump2.getDeviceId()));
-//
-//
-//        Thread.sleep(5000);
-//
-//        BusDeviceRunningEntity pump3 = new BusDeviceRunningEntity();
-//        pump3.setDeviceId("456");
-//        pump3.setClassification(String.valueOf(mark));
-//        pump3.setType(DeviceEnum.continuous);
-//        pump3.setPatientCode("456");
-//        pump3.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump3.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump3.setSelfControlLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
-//        pump3.setPcaValidCount(RandomUtil.randomInt(100));
-//        pump3.setPcaInvalidCount(RandomUtil.randomInt(100));
-//        pump3.setPcaTotalCount(RandomUtil.randomInt(100));
-//        SpringUtil.publishEvent(new DeviceInfoEvent(this,pump3,pump3.getDeviceId()));
-////        });
-//        Thread.sleep(5000);
+
+        BusDeviceRunningEntity pump1 = new BusDeviceRunningEntity();
+        pump1.setDeviceId("456");
+        pump1.setType(DeviceTypeEnum.continuous);
+        pump1.setClassification(String.valueOf(mark));
+        pump1.setPatientCode("456");
+        pump1.setTotalDose(RandomUtil.randomInt(100));
+        pump1.setFirstDose(RandomUtil.randomInt(100));
+        pump1.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setInputDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setAppendDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setAppendLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setMaxDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setSelfControlCount(RandomUtil.randomInt(100));
+        pump1.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump1.setFirstDose(RandomUtil.randomInt(100));
+        pump1.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump1.setPcaValidCount(RandomUtil.randomInt(100));
+        pump1.setPcaInvalidCount(RandomUtil.randomInt(100));
+        pump1.setPcaTotalCount(pump.getPcaInvalidCount()+pump.getPcaValidCount());
+        pump1.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump1.setPulseDose(RandomUtil.randomInt(100));
+        pump1.setPulseLockTime(RandomUtil.randomInt(100));
+        pump1.setPulseFirstLockTime(RandomUtil.randomInt(100));
+        pump1.setFlowAdjustRate(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setFlowCount(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setFlowDownCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setFlowDownLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setFlowUpCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump1.setFlowUpLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump1.setUploadTime(new Date());
+        Thread.sleep(5000);
+
+        BusDeviceRunningEntity pump2 = new BusDeviceRunningEntity();
+        pump2.setType(DeviceTypeEnum.continuous);
+        pump2.setDeviceId("456");
+        pump2.setClassification(String.valueOf(mark));
+        pump2.setPatientCode("789");
+        pump2.setTotalDose(RandomUtil.randomInt(100));
+        pump2.setFirstDose(RandomUtil.randomInt(100));
+        pump2.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setInputDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setAppendDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setAppendLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setMaxDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setSelfControlCount(RandomUtil.randomInt(100));
+        pump2.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump2.setFirstDose(RandomUtil.randomInt(100));
+        pump2.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump2.setPcaValidCount(RandomUtil.randomInt(100));
+        pump2.setPcaInvalidCount(RandomUtil.randomInt(100));
+        pump2.setPcaTotalCount(pump.getPcaInvalidCount()+pump.getPcaValidCount());
+        pump2.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump2.setPulseDose(RandomUtil.randomInt(100));
+        pump2.setPulseLockTime(RandomUtil.randomInt(100));
+        pump2.setPulseFirstLockTime(RandomUtil.randomInt(100));
+        pump2.setFlowAdjustRate(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setFlowCount(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setFlowDownCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setFlowDownLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setFlowUpCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump2.setFlowUpLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump2.setUploadTime(new Date());
+
+        Thread.sleep(5000);
+
+        BusDeviceRunningEntity pump3 = new BusDeviceRunningEntity();
+        pump3.setDeviceId("456");
+        pump3.setClassification(String.valueOf(mark));
+        pump3.setType(DeviceTypeEnum.continuous);
+        pump3.setPatientCode("456");
+        pump3.setTotalDose(RandomUtil.randomInt(100));
+        pump3.setFirstDose(RandomUtil.randomInt(100));
+        pump3.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setInputDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setAppendDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setAppendLockTime(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setMaxDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setSelfControlCount(RandomUtil.randomInt(100));
+        pump3.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump3.setFirstDose(RandomUtil.randomInt(100));
+        pump3.setRemainDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setSelfControlLockTime(RandomUtil.randomInt(100));
+        pump3.setPcaValidCount(RandomUtil.randomInt(100));
+        pump3.setPcaInvalidCount(RandomUtil.randomInt(100));
+        pump3.setPcaTotalCount(pump.getPcaInvalidCount()+pump.getPcaValidCount());
+        pump3.setContinueDose(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump3.setPulseDose(RandomUtil.randomInt(100));
+        pump3.setPulseLockTime(RandomUtil.randomInt(100));
+        pump3.setPulseFirstLockTime(RandomUtil.randomInt(100));
+        pump3.setFlowAdjustRate(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setFlowCount(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setFlowDownCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setFlowDownLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setFlowUpCycle(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+        pump3.setFlowUpLimit(BigDecimal.valueOf(RandomUtil.randomInt(100)));
+
+        pump3.setUploadTime(new Date());
+        SpringUtil.publishEvent(new DeviceInfoEvent(this,pump3,pump3.getDeviceId()));
+//        });
+        Thread.sleep(5000);
         String now = DateUtil.yesterday().toString();
+
+
         BusClinicEntity clinic = new BusClinicEntity();
         clinic.setPatientCode("456");
         clinic.setName("临床:"+ now);

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

@@ -210,7 +210,7 @@ public class HisInfoListener {
                             .orderByAsc(BusInfusionHistoryEntity::getStartTime).last("limit 1"));
             if(infusion!=null){
                 //临床信息发生变化
-                if(patientOperator.getFinished()){
+                if(Boolean.TRUE.equals(patientOperator.getFinished())){
                     patientService.update(new UpdateWrapper<BusPatientEntity>().lambda()
                             .eq(BusPatientEntity::getCode,clinic.getPatientCode())
                             .eq(BusPatientEntity::getTenantId,clinic.getTenantId())