Browse Source

fix 修复一些BUG

A17404李放 3 năm trước cách đây
mục cha
commit
57b104194c

+ 7 - 0
nb-admin/src/test/java/com/nb/admin/AliyunTest.java

@@ -16,6 +16,7 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.context.ApplicationContext;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -83,4 +84,10 @@ public class AliyunTest {
         deviceService.syncDeviceFromIot();
     }
 
+    @Test
+    public void test005(){
+        BusInfusionHistoryEntity infusionHistory = infusionHistoryService.getById("1549329948024553473");
+        Date date = new Date(1658227636571L);
+        System.out.println(infusionHistory.getLastUploadTime().equals(date));
+    }
 }

+ 3 - 17
nb-common/src/main/java/com/nb/common/crud/controller/BaseSaveController.java

@@ -30,37 +30,23 @@ public interface BaseSaveController<E,K extends Serializable> extends
 
     @PostMapping("/_batch")
     @ApiOperation(value = "批量新增数据")
-    default R add(@RequestAttribute("tenantId")@ApiParam(hidden = true) Serializable tenantId, @RequestBody @Validated(GenericEntity.Insert.class) List<E> payload) {
+    default R add(@RequestBody @Validated(GenericEntity.Insert.class) List<E> payload) {
         saveAuth();
-        payload.forEach(p->{
-            if(p instanceof TenantGenericEntity){
-                TenantGenericEntity entity= (TenantGenericEntity) p;
-                entity.setTenantId(tenantId);
-            }
-        });
         return getService().saveBatch(payload)?R.success():R.fail("数据新增失败");
     }
 
     @PostMapping("/add")
     @ApiOperation(value = "新增单个数据,并返回新增后的数据.")
-    default R add(@RequestAttribute("tenantId")@ApiParam(hidden = true) Serializable tenantId,@RequestBody @Validated(GenericEntity.Insert.class)E payload) {
+    default R add(@RequestBody @Validated(GenericEntity.Insert.class)E payload) {
         saveAuth();
-        if(payload instanceof TenantGenericEntity){
-            TenantGenericEntity entity= (TenantGenericEntity) payload;
-            entity.setTenantId(tenantId);
-        }
         return getService().save(payload)?R.success(payload):R.fail("数据新增失败");
     }
 
 
     @PostMapping("/edit")
     @ApiOperation(value = "根据ID修改数据")
-    default R update(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId,@RequestBody @Validated(GenericEntity.Update.class)E payload) {
+    default R update(@RequestBody @Validated(GenericEntity.Update.class)E payload) {
         editAuth();
-        if(payload instanceof TenantGenericEntity){
-            TenantGenericEntity entity= (TenantGenericEntity) payload;
-            entity.setTenantId(tenantId);
-        }
         return getService().updateById(payload)?R.success(payload):R.fail("更新失败");
     }
 }

+ 0 - 1
nb-common/src/main/java/com/nb/common/notice/wechat/EnterpriseWeChatNotify.java

@@ -30,7 +30,6 @@ import org.springframework.stereotype.Component;
 public class EnterpriseWeChatNotify {
     @Autowired
     private DiskSpaceHealthIndicator spaceHealthIndicator;
-    private EventLoopGroup eventExecutors=new DefaultEventLoop();
     /**
      * 企业微信钩子地址
      */

+ 1 - 1
nb-system/src/main/java/com/nb/bus/controller/BusDeviceController.java

@@ -109,7 +109,7 @@ public class BusDeviceController implements
     @SaCheckPermission("device:info:add")
     @PostMapping("/add")
     @ApiOperation(value = "新增单个数据,并返回新增后的数据. 权限【device:info:add】")
-    public R<BusDeviceEntity> add(@RequestAttribute("tenantId")@ApiParam(hidden = true) Serializable tenantId,@RequestBody BusDeviceEntity payload) {
+    public R<BusDeviceEntity> add(@RequestBody BusDeviceEntity payload) {
         log.info("添加设备");
         // 设备id不能为空
         if (StrUtil.isEmpty(payload.getDeviceId())){

+ 1 - 7
nb-system/src/main/java/com/nb/bus/controller/BusDeviceRunningController.java

@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
+import java.util.Date;
 import java.util.stream.Collectors;
 
 /**
@@ -38,12 +39,5 @@ public class BusDeviceRunningController {
         return R.success(DeviceStatusEnum.values());
     }
 
-    @PostMapping("/nopump")
-    @SaCheckPermission("device:running:add")
-    @ApiOperation(value = "新增无泵数据,权限为device:running:add")
-    public R saveNoPump(@RequestBody NoPumpConfigVo noPump) {
-        return R.success();
-    }
-
 
 }

+ 8 - 0
nb-system/src/main/java/com/nb/bus/controller/BusPatientController.java

@@ -60,6 +60,8 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
     private final LocalBusDeviceManualService manualService;
 
     private final WsPublishUtils wsPublishUtils;
+
+    private final LocalBusDeviceService deviceService;
     @PostMapping("/no_page")
     @SaCheckPermission("device:patient:query")
     @ApiOperation(value = "输注监控列表",notes = "病人监控管理列表,权限【device:patient:query】")
@@ -291,6 +293,12 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
                 clinic= clinicService.getById(vo.getClinicId());
             }
             BusInfusionHistoryEntity infusion =infusionService.getById(infusionId);
+            Optional.ofNullable(deviceService.getByDeviceId(infusion.getDeviceId()))
+                    .map(device-> {
+                        //填充泵别名
+                        infusion.setAlias(device.getAlias());
+                        return device;
+                    });
             result.setInfusion(infusion);
         }else {
             String clinicId = vo.getClinicId();

+ 0 - 34
nb-system/src/main/java/com/nb/bus/controller/vo/DeviceRunningMockVo.java

@@ -1,34 +0,0 @@
-package com.nb.bus.controller.vo;
-
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.nb.bus.enums.DeviceTypeEnum;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author lifang
- * @version 1.0.0
- * @ClassName DeviceRunningMockVo.java
- * @Description TODO
- * @createTime 2022年04月28日 11:52:00
- */
-@ApiModel("Mock设备运行数据")
-@Data
-public class DeviceRunningMockVo {
-    @ApiModelProperty(value = "网络泵id",readOnly = true)
-    private String deviceId;
-
-    @ApiModelProperty(value = "病号")
-    private String patientCode;
-
-    @ApiModelProperty(value = "分包标记位",readOnly = true)
-    @JsonIgnoreProperties(allowSetters = true)
-    private String classification;
-
-    @ApiModelProperty(value = "泵类型",readOnly = true)
-    @TableField(javaType = true,updateStrategy = FieldStrategy.NEVER)
-    private DeviceTypeEnum type;
-}

+ 1 - 0
nb-system/src/main/java/com/nb/bus/hospital/config/handler/ClinicAutoFinishMonitorHandler.java

@@ -55,6 +55,7 @@ public class ClinicAutoFinishMonitorHandler implements DelayMessageHandler {
             BusInfusionHistoryEntity infusionHistory = infusionHistoryService.getById(patient.getInfusionId());
             Date uploadTime = source.getUploadTime();
             if (infusionHistory.getLastUploadTime().equals(uploadTime)) {
+                log.info("延迟消息【{}】处理开始进行【{临床自动结束}】处理",JSONUtil.toJsonStr(message));
                 UndoDeviceConfig config = source.getConfig();
                 ManualUndoConfig manualUndoConfig = new ManualUndoConfig();
                 config.setUndoTime(new Date());

+ 0 - 14
nb-system/src/main/java/com/nb/bus/listener/event/bean/DeviceInfoEvent.java

@@ -1,13 +1,10 @@
 package com.nb.bus.listener.event.bean;
 
-import cn.hutool.json.JSONUtil;
-import com.nb.bus.controller.vo.DeviceRunningMockVo;
 import com.nb.bus.entity.BusDeviceRunningEntity;
 import lombok.Getter;
 import org.springframework.context.ApplicationEvent;
 
 import javax.validation.constraints.NotNull;
-import java.time.Clock;
 
 /**
  * @author lifang
@@ -38,16 +35,5 @@ public class DeviceInfoEvent extends ApplicationEvent {
         this.deviceId=deviceId;
     }
 
-    public DeviceInfoEvent(Object source, @NotNull DeviceRunningMockVo content, @NotNull String deviceId) {
-        super(source);
-        this.content= JSONUtil.toBean(JSONUtil.toJsonStr(content),BusDeviceRunningEntity.class);
-        this.deviceId=deviceId;
-    }
-
-    public DeviceInfoEvent(Object source, Clock clock, @NotNull BusDeviceRunningEntity content, @NotNull String deviceId) {
-        super(source, clock);
-        this.content=content;
-        this.deviceId=deviceId;
-    }
 
 }

+ 11 - 1
nb-system/src/main/java/com/nb/bus/service/LocalBusHospitalService.java

@@ -1,5 +1,6 @@
 package com.nb.bus.service;
 
+import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -31,8 +32,11 @@ import org.springframework.boot.CommandLineRunner;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.jdbc.BadSqlGrammarException;
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
@@ -93,6 +97,10 @@ public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusH
 
     @Override
     public void validateBeforeUpdate(BusHospitalEntity entity) {
+        ServletRequestAttributes request = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if(request==null){
+            return;
+        }
         if("1".equals(entity.getId())){
             throw new CustomException("系统级医院,不可修改");
         }
@@ -193,10 +201,12 @@ public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusH
         saveDefaultHospital();
         List<BusHospitalEntity> list = list();
         list.forEach(entity -> {
+            entity.setScriptOnline(false);
             nameCache.setConfig(entity.getId(),entity.getName());
         });
+        this.updateBatchById(list);
         configService.saveDefaultConfig();
-        list.forEach(hospital->hospitalManagerRegister.refresh(hospital.getId(),true,true,true,true));
+        list.forEach(hospital-> hospitalManagerRegister.refresh(hospital.getId(),true,true,true,true));
     }
 
 

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

@@ -2,6 +2,7 @@ package com.nb.bus.service;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -21,6 +22,7 @@ import com.nb.bus.registry.device.DeviceRegistry;
 import com.nb.bus.service.dto.*;
 import com.nb.common.crud.BaseService;
 import com.nb.common.exception.CustomException;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -38,6 +40,7 @@ import java.util.stream.Collectors;
  * @createTime 2022年03月19日 09:27:00
  */
 @Service
+@Slf4j
 public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHistoryMapper, BusInfusionHistoryEntity,String> {
 
     @Autowired
@@ -236,6 +239,7 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
         if(CollectionUtil.isEmpty(manualUndoConfig.getInfusionIds())){
             infusionIds =deviceIds.stream().map(deviceRegistry::getOperator).map(DeviceOperator::getInfusionId).collect(Collectors.toList());
         }
+        log.info("结束临床信息:{}", JSONUtil.toJsonStr(manualUndoConfig));
         if(!finishClinic){
             if(Boolean.TRUE.equals(manualUndoConfig.getMonitorType())){
                 BusPatientEntity patient = patientService.getById(manualUndoConfig.getPatientId());

+ 4 - 0
nb-system/src/main/java/com/nb/bus/web/handler/CheckRequestHandler.java

@@ -9,7 +9,9 @@ import com.nb.common.config.CacheHttpServletRequestWrapper;
 import com.nb.common.exception.RequestParmErrorException;
 import com.nb.common.exception.RequestSignErrorException;
 import com.nb.common.exception.RequestTimeOutException;
+import com.nb.common.util.IpUtil;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.annotation.Order;
@@ -31,6 +33,7 @@ import java.util.concurrent.TimeUnit;
 @Configuration
 @ConditionalOnProperty(value = "request.check.enable",havingValue = "true",matchIfMissing = false)
 @Order(10)
+@Slf4j
 @AllArgsConstructor
 public class CheckRequestHandler  implements HandlerInterceptor {
     private final RequestCheckProperties properties;
@@ -49,6 +52,7 @@ public class CheckRequestHandler  implements HandlerInterceptor {
             try {
                 checkTime( Long.valueOf(timestamp));
             }catch (NumberFormatException e){
+                log.error("时区错误,IP地址:【{}】,接受时间戳:【{}】,本地时间戳:【{}】,相差超过10分钟", IpUtil.getClientIp(request),timestamp,System.currentTimeMillis());
                 throw new RequestParmErrorException();
             }
             checkSign(sign,timestamp,authorization,body);