Ver Fonte

add 错误提示

18339543638 há 3 anos atrás
pai
commit
10c054fa92

+ 1 - 2
nb-service/iot-service/src/main/java/com/nb/mq/entity/PcPatientEntity.java

@@ -100,7 +100,6 @@ public class PcPatientEntity implements Serializable {
     @ApiModelProperty(value = "盐值")
     @ApiModelProperty(value = "盐值")
     private String salt;
     private String salt;
 
 
-
     private String bmi;
     private String bmi;
 
 
 
 
@@ -130,7 +129,7 @@ public class PcPatientEntity implements Serializable {
             undoDeviceConfig.setUndoTime(this.getUndoTime());
             undoDeviceConfig.setUndoTime(this.getUndoTime());
             undoDeviceConfig.setWitnesses(this.getWitnessPerson());
             undoDeviceConfig.setWitnesses(this.getWitnessPerson());
             result.setUndoConfig(undoDeviceConfig);
             result.setUndoConfig(undoDeviceConfig);
-            result.setFinished(true);
+//            result.setFinished(true);
         }
         }
         result.setMonitorType(true);
         result.setMonitorType(true);
         result.setTenantId(this.getHospitalCode());
         result.setTenantId(this.getHospitalCode());

+ 3 - 1
nb-service/iot-service/src/main/java/com/nb/mq/entity/PcPumpEntity.java

@@ -147,10 +147,12 @@ public class PcPumpEntity implements Serializable {
     @ApiModelProperty(value = "显示状态")
     @ApiModelProperty(value = "显示状态")
     private String viewState;
     private String viewState;
 
 
+    @ApiModelProperty(value = "是否已撤泵",notes = "此处与PC端存在歧义,PC端采用visible字段标识是否可见,json格式化后转为isRemove,此时会发生语义上的分歧,故以PC端语义为主",example = "false、不可见,即撤泵 true、可见,即未撤泵")
+    private boolean isRemove;
+
     @ApiModelProperty(value = "最后上传时间")
     @ApiModelProperty(value = "最后上传时间")
     private Long lastUploadTime;
     private Long lastUploadTime;
 
 
-
     public BusDeviceRunningEntity toDevice(){
     public BusDeviceRunningEntity toDevice(){
         BusDeviceRunningEntity result = new BusDeviceRunningEntity();
         BusDeviceRunningEntity result = new BusDeviceRunningEntity();
         DeviceTypeEnum deviceType=DeviceTypeEnum.other;
         DeviceTypeEnum deviceType=DeviceTypeEnum.other;

+ 28 - 21
nb-service/iot-service/src/main/java/com/nb/mq/listener/RabbitMqListener.java

@@ -56,6 +56,7 @@ public class RabbitMqListener {
      * @return void
      * @return void
      */
      */
     @RabbitListener(queuesToDeclare = @Queue("cloud.patient"))
     @RabbitListener(queuesToDeclare = @Queue("cloud.patient"))
+    @Transactional (rollbackFor = Exception.class)
     public void patientQueue(@Payload String body) {
     public void patientQueue(@Payload String body) {
         log.info("消息队列中,病人队列{cloud.patient},接受消息:{}",body);
         log.info("消息队列中,病人队列{cloud.patient},接受消息:{}",body);
         BusHospitalLogEntity hospitalLog = new BusHospitalLogEntity();
         BusHospitalLogEntity hospitalLog = new BusHospitalLogEntity();
@@ -70,26 +71,26 @@ public class RabbitMqListener {
             BusClinicEntity clinic= source.toClinic(patientId);
             BusClinicEntity clinic= source.toClinic(patientId);
             PatientMonitorDetailResult patientDetail = patientClient.lookPatientDetail(patientId);
             PatientMonitorDetailResult patientDetail = patientClient.lookPatientDetail(patientId);
             BusClinicEntity existClinic = patientDetail.getClinic();
             BusClinicEntity existClinic = patientDetail.getClinic();
-            if(Boolean.TRUE.equals(clinic.getFinished())){
-                if(ObjectUtil.isNull(existClinic)||
-                        ObjectUtil.isNull(existClinic.getUndoConfig())||
-                        ObjectUtil.notEqual(clinic.getUndoConfig(),
-                                existClinic.getUndoConfig())){
-                    //避免重复撤泵,进行撤泵处理
-                    clinicClient.finish(existClinic.getId(),existClinic.getTenantId(),clinic.getUndoConfig());
-                    if (patientDetail.getInfusion()!=null) {
-                        //刷新分包标识
-                        deviceClient.refreshClassification(patientDetail.getInfusion().getDeviceId());
-                    }
-                }else {
-                    clinic.setFinished(null);
-                    clinicClient.update(existClinic.getId(),clinic);
-                }
-            }else {
+//            if(Boolean.TRUE.equals(clinic.getFinished())){
+//                if(ObjectUtil.isNull(existClinic)||
+//                        ObjectUtil.isNull(existClinic.getUndoConfig())||
+//                        ObjectUtil.notEqual(clinic.getUndoConfig(),
+//                                existClinic.getUndoConfig())){
+//                    //避免重复撤泵,进行撤泵处理
+//                    clinicClient.finish(existClinic.getId(),existClinic.getTenantId(),clinic.getUndoConfig());
+//                    if (patientDetail.getInfusion()!=null) {
+//                        //刷新分包标识
+//                        deviceClient.refreshClassification(patientDetail.getInfusion().getDeviceId());
+//                    }
+//                }else {
+//                    clinic.setFinished(null);
+//                    clinicClient.update(existClinic.getId(),clinic);
+//                }
+//            }else {
                 //当上一个临床状态为已结束时,对比临床信息是否发生改变,生成新的临床信息
                 //当上一个临床状态为已结束时,对比临床信息是否发生改变,生成新的临床信息
                 boolean sameClinic=false;
                 boolean sameClinic=false;
                 if(StrUtil.isNotEmpty(existClinic.getId())){
                 if(StrUtil.isNotEmpty(existClinic.getId())){
-                    sameClinic=(clinic.getSurgeryName()).equals(
+                    sameClinic=ObjectUtil.equal(clinic.getSurgeryName(),
                             existClinic.getSurgeryName());
                             existClinic.getSurgeryName());
                 }
                 }
                 if(!sameClinic){
                 if(!sameClinic){
@@ -102,11 +103,11 @@ public class RabbitMqListener {
                     clinic.setStartTime(existClinic.getStartTime());
                     clinic.setStartTime(existClinic.getStartTime());
                     clinicClient.update(existClinic.getId(),clinic);
                     clinicClient.update(existClinic.getId(),clinic);
                 }
                 }
-            }
+//            }
             hospitalLog.setResult(JSONUtil.toJsonStr(clinic));
             hospitalLog.setResult(JSONUtil.toJsonStr(clinic));
             hospitalLog.setSuccess(true);
             hospitalLog.setSuccess(true);
         }catch (Exception e){
         }catch (Exception e){
-            log.info("消息队列【cloud.patient】处理消息{}失败,",body,e);
+            log.error("消息队列【cloud.patient】处理消息{}失败,",body,e);
             hospitalLog.setMessage(ExceptionUtil.getExceptionMsg(e));
             hospitalLog.setMessage(ExceptionUtil.getExceptionMsg(e));
             hospitalLog.setSuccess(false);
             hospitalLog.setSuccess(false);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -124,6 +125,7 @@ public class RabbitMqListener {
      * @return void
      * @return void
      */
      */
     @RabbitListener(queuesToDeclare = @Queue("cloud.pump"))
     @RabbitListener(queuesToDeclare = @Queue("cloud.pump"))
+    @Transactional (rollbackFor = Exception.class)
     public void pumpQueue(@Payload String body) {
     public void pumpQueue(@Payload String body) {
         BusHospitalLogEntity hospitalLog = new BusHospitalLogEntity();
         BusHospitalLogEntity hospitalLog = new BusHospitalLogEntity();
         hospitalLog.setMsgId(IdWorker.getIdStr());
         hospitalLog.setMsgId(IdWorker.getIdStr());
@@ -143,10 +145,14 @@ public class RabbitMqListener {
             device.setClassification(deviceClient.getClassification(device.getDeviceId()));
             device.setClassification(deviceClient.getClassification(device.getDeviceId()));
             device.setDataNumber(deviceClient.nextDataNumber(device.getDeviceId()));
             device.setDataNumber(deviceClient.nextDataNumber(device.getDeviceId()));
             BusDeviceRunningEntity sync = iotMsgHandler.sync(device, device.getDeviceId());
             BusDeviceRunningEntity sync = iotMsgHandler.sync(device, device.getDeviceId());
+            if(!source.isRemove()){
+                clinicClient.finish(sync.getClinicId(),sync.getTenantId(),null);
+                deviceClient.refreshClassification(sync.getDeviceId());
+            }
             hospitalLog.setResult(JSONUtil.toJsonStr(sync));
             hospitalLog.setResult(JSONUtil.toJsonStr(sync));
             hospitalLog.setSuccess(true);
             hospitalLog.setSuccess(true);
         }catch (Exception e){
         }catch (Exception e){
-            log.info("消息队列【cloud.pump】处理消息{}失败,",body,e);
+            log.error("消息队列【cloud.pump】处理消息{}失败,",body,e);
             hospitalLog.setMessage(ExceptionUtil.getExceptionMsg(e));
             hospitalLog.setMessage(ExceptionUtil.getExceptionMsg(e));
             hospitalLog.setSuccess(false);
             hospitalLog.setSuccess(false);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -173,6 +179,7 @@ public class RabbitMqListener {
      * @return void
      * @return void
      */
      */
     @RabbitListener(queuesToDeclare = @Queue("cloud.analgesicScore"))
     @RabbitListener(queuesToDeclare = @Queue("cloud.analgesicScore"))
+    @Transactional (rollbackFor = Exception.class)
     public void analgesicScoreQueue(@Payload String body) {
     public void analgesicScoreQueue(@Payload String body) {
         log.info("消息队列中,评分队列{cloud.analgesicScore},接受消息:{}",body);
         log.info("消息队列中,评分队列{cloud.analgesicScore},接受消息:{}",body);
         BusHospitalLogEntity hospitalLog = new BusHospitalLogEntity();
         BusHospitalLogEntity hospitalLog = new BusHospitalLogEntity();
@@ -195,7 +202,7 @@ public class RabbitMqListener {
             hospitalLog.setResult(JSONUtil.toJsonStr(eval));
             hospitalLog.setResult(JSONUtil.toJsonStr(eval));
             hospitalLog.setSuccess(true);
             hospitalLog.setSuccess(true);
         }catch (Exception e){
         }catch (Exception e){
-            log.info("消息队列【cloud.analgesicScore】处理消息{}失败,",body,e);
+            log.error("消息队列【cloud.analgesicScore】处理消息{}失败,",body,e);
             hospitalLog.setMessage(ExceptionUtil.getExceptionMsg(e));
             hospitalLog.setMessage(ExceptionUtil.getExceptionMsg(e));
             hospitalLog.setSuccess(false);
             hospitalLog.setSuccess(false);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

+ 2 - 1
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusClinicService.java

@@ -1,5 +1,6 @@
 package com.nb.web.service.bus.service;
 package com.nb.web.service.bus.service;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -129,7 +130,7 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
         this.update(new UpdateWrapper<BusClinicEntity>().lambda()
         this.update(new UpdateWrapper<BusClinicEntity>().lambda()
                 .in(BusClinicEntity::getId,clinicIds)
                 .in(BusClinicEntity::getId,clinicIds)
                 .set(BusClinicEntity::getFinished,true)
                 .set(BusClinicEntity::getFinished,true)
-                .set(BusClinicEntity::getUndoConfig,undoConfig,"typeHandler = com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler")
+                .set(ObjectUtil.isNotNull(undoConfig),BusClinicEntity::getUndoConfig,undoConfig,"typeHandler = com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler")
                 .set(BusClinicEntity::getEndTime,finishTime));
                 .set(BusClinicEntity::getEndTime,finishTime));
         List<BusClinicEntity> clinics = this.listByIds(clinicIds);
         List<BusClinicEntity> clinics = this.listByIds(clinicIds);
         clinics.parallelStream()
         clinics.parallelStream()