A17404李放 3 rokov pred
rodič
commit
1612d1b208
31 zmenil súbory, kde vykonal 266 pridanie a 114 odobranie
  1. 8 8
      coffee-admin/src/test/java/com/coffee/admin/BusPatientTest.java
  2. 2 2
      coffee-admin/src/test/java/com/coffee/admin/HisStrategyTest.java
  3. 2 2
      coffee-common/src/main/java/com/coffee/common/entity/GenericEntity.java
  4. 5 0
      coffee-system/src/main/java/com/coffee/bus/bean/HisInfo.java
  5. 36 0
      coffee-system/src/main/java/com/coffee/bus/controller/BusClinicController.java
  6. 1 27
      coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceManualController.java
  7. 13 10
      coffee-system/src/main/java/com/coffee/bus/controller/BusPatientController.java
  8. 8 3
      coffee-system/src/main/java/com/coffee/bus/controller/vo/ClinicEditVo.java
  9. 8 3
      coffee-system/src/main/java/com/coffee/bus/entity/BusClinicEntity.java
  10. 1 0
      coffee-system/src/main/java/com/coffee/bus/entity/BusFormulaEntity.java
  11. 1 1
      coffee-system/src/main/java/com/coffee/bus/entity/BusInfusionHistoryEntity.java
  12. 6 0
      coffee-system/src/main/java/com/coffee/bus/hospital/his/HisRequest.java
  13. 6 0
      coffee-system/src/main/java/com/coffee/bus/hospital/his/HisResponse.java
  14. 39 3
      coffee-system/src/main/java/com/coffee/bus/hospital/his/HisScriptSession.java
  15. 8 9
      coffee-system/src/main/java/com/coffee/bus/hospital/script/PythonParse.java
  16. 12 3
      coffee-system/src/main/java/com/coffee/bus/registry/patient/ClusterPatientOperator.java
  17. 1 1
      coffee-system/src/main/java/com/coffee/bus/registry/patient/ClusterPatientRegistry.java
  18. 2 7
      coffee-system/src/main/java/com/coffee/bus/service/LocalBusClinicService.java
  19. 1 0
      coffee-system/src/main/java/com/coffee/bus/service/LocalBusHospitalService.java
  20. 8 4
      coffee-system/src/main/java/com/coffee/bus/service/LocalBusInfusionHistoryService.java
  21. 2 4
      coffee-system/src/main/java/com/coffee/bus/service/dto/ClinicAnalClinicRecord.java
  22. 2 2
      coffee-system/src/main/java/com/coffee/bus/service/dto/FormulaDrugDetailDomain.java
  23. 22 0
      coffee-system/src/main/java/com/coffee/bus/service/dto/FormulaDrugDomain.java
  24. 0 5
      coffee-system/src/main/java/com/coffee/bus/service/dto/ManualMonitorResult.java
  25. 1 1
      coffee-system/src/main/java/com/coffee/bus/service/dto/PatientDeviceNoneResult.java
  26. 3 1
      coffee-system/src/main/java/com/coffee/bus/web/handler/CheckSignHandler.java
  27. 43 0
      coffee-system/src/main/java/com/coffee/bus/web/handler/CheckTimeHandler.java
  28. 20 13
      coffee-system/src/main/java/com/coffee/bus/websocket/listener/HisInfoListener.java
  29. 1 1
      coffee-system/src/main/resources/mapper/bus/BusClinicMapper.xml
  30. 1 1
      coffee-system/src/main/resources/mapper/bus/BusDeviceManualMapper.xml
  31. 3 3
      coffee-system/src/main/resources/mapper/bus/BusPatientMapper.xml

+ 8 - 8
coffee-admin/src/test/java/com/coffee/admin/BusPatientTest.java

@@ -6,7 +6,7 @@ import cn.hutool.core.util.EnumUtil;
 import cn.hutool.core.util.RandomUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.coffee.bus.controller.BusDeviceManualController;
-import com.coffee.bus.controller.vo.DeviceManualVo;
+import com.coffee.bus.controller.vo.ClinicEditVo;
 import com.coffee.bus.entity.BusClinicEntity;
 import com.coffee.bus.entity.BusDeviceManualEntity;
 import com.coffee.bus.entity.BusPatientEntity;
@@ -63,7 +63,7 @@ public class BusPatientTest {
         for (int i = 0; i < 30; i++) {
             BusClinicEntity clinic = new BusClinicEntity();
             clinic.setStartTime(new Date());
-            clinic.setName(clinicNames.get(RandomUtil.randomInt(clinicNames.size()-1)));
+            clinic.setSurgeryName(clinicNames.get(RandomUtil.randomInt(clinicNames.size()-1)));
             clinic.setPatientName(getName());
             clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
             clinic.setBedNo(String.valueOf(RandomUtil.randomInt(10,100)));
@@ -97,7 +97,7 @@ public class BusPatientTest {
                     BusClinicEntity clinic = new BusClinicEntity();
                     clinic.setStartTime(target.getStartTime()==null?
                             RandomUtil.randomDate(DateUtil.beginOfMonth(new Date()), DateField.HOUR,-30,30):target.getStartTime());
-                    clinic.setName(clinicNames.get(RandomUtil.randomInt(clinicNames.size()-1)));
+                    clinic.setSurgeryName(clinicNames.get(RandomUtil.randomInt(clinicNames.size()-1)));
                     clinic.setPatientName(getName());
                     clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
                     clinic.setBedNo(target.getBedNo());
@@ -127,10 +127,10 @@ public class BusPatientTest {
     @Test
     public void manualSave(){
         for (int i = 0; i < 30; i++) {
-            DeviceManualVo deviceManualVo = new DeviceManualVo();
+            ClinicEditVo clinicEditVo = new ClinicEditVo();
             BusClinicEntity clinic = new BusClinicEntity();
             clinic.setStartTime(new Date());
-            clinic.setName(clinicNames.get(RandomUtil.randomInt(clinicNames.size()-1)));
+            clinic.setSurgeryName(clinicNames.get(RandomUtil.randomInt(clinicNames.size()-1)));
             clinic.setPatientAge(RandomUtil.randomInt(15,50));
             clinic.setPatientName(getName());
             clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
@@ -146,7 +146,7 @@ public class BusPatientTest {
             clinic.setPatientCode(String.valueOf(RandomUtil.randomInt(100000,300000)));
             clinic.setTenantId("1");
 
-            deviceManualVo.setClinic(clinic);
+            clinicEditVo.setClinic(clinic);
 
             BusDeviceManualEntity manual = new BusDeviceManualEntity();
             manual.setType(DeviceManualEnum.machine);
@@ -154,8 +154,8 @@ public class BusPatientTest {
             manual.setContinueDose(RandomUtil.randomBigDecimal(BigDecimal.valueOf(10)));
             manual.setSelfControlDose(RandomUtil.randomBigDecimal(BigDecimal.valueOf(10)));
             manual.setSelfControlLockTime(RandomUtil.randomInt(100));
-            deviceManualVo.setManual(manual);
-            manualController.save(deviceManualVo);
+            clinicEditVo.setManual(manual);
+//            manualController.save(clinicEditVo);
 
 //        patientService.save(patient);
 //        clinicService.save(clinic);

+ 2 - 2
coffee-admin/src/test/java/com/coffee/admin/HisStrategyTest.java

@@ -58,7 +58,7 @@ public class HisStrategyTest {
             BusClinicEntity clinic = new BusClinicEntity();
             clinic.setStartTime(target.getStartTime()==null?
                     RandomUtil.randomDate(DateUtil.beginOfMonth(new Date()), DateField.HOUR,-30,30):DateUtil.date(target.getStartTime()).offset(DateField.HOUR_OF_DAY,-1));
-            clinic.setName(BusPatientTest.clinicNames.get(RandomUtil.randomInt(BusPatientTest.clinicNames.size()-1)));
+            clinic.setSurgeryName(BusPatientTest.clinicNames.get(RandomUtil.randomInt(BusPatientTest.clinicNames.size()-1)));
             clinic.setPatientName(getName());
             clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
             clinic.setBedNo(target.getBedNo());
@@ -77,7 +77,7 @@ public class HisStrategyTest {
         }
         BusClinicEntity clinic = new BusClinicEntity();
         clinic.setStartTime(DateUtil.beginOfDay(new Date()));
-        clinic.setName(BusPatientTest.clinicNames.get(RandomUtil.randomInt(BusPatientTest.clinicNames.size()-1)));
+        clinic.setSurgeryName(BusPatientTest.clinicNames.get(RandomUtil.randomInt(BusPatientTest.clinicNames.size()-1)));
         clinic.setPatientName(getName());
         clinic.setPatientGender(EnumUtil.likeValueOf(SexEnum.class,RandomUtil.randomInt(1,2)));
         clinic.setBedNo("10");

+ 2 - 2
coffee-common/src/main/java/com/coffee/common/entity/GenericEntity.java

@@ -40,9 +40,9 @@ public abstract class  GenericEntity<PK> implements Entity,RecordModifierEntity,
     private Date updateTime;
 
     /* 分组校验 */
-    public @interface Update {
+    public static @interface Update {
     }
 
-    public @interface Insert {
+    public static @interface Insert {
     }
 }

+ 5 - 0
coffee-system/src/main/java/com/coffee/bus/bean/HisInfo.java

@@ -86,4 +86,9 @@ public class HisInfo {
      * 配置医生(配置人员、配药医生)
      */
     private String configPerson;
+    /**
+     * 医嘱
+     */
+    private String entrust;
+
 }

+ 36 - 0
coffee-system/src/main/java/com/coffee/bus/controller/BusClinicController.java

@@ -1,9 +1,11 @@
 package com.coffee.bus.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.coffee.bus.controller.vo.ClinicStatsVo;
+import com.coffee.bus.controller.vo.ClinicEditVo;
 import com.coffee.bus.entity.*;
 import com.coffee.bus.registry.device.DeviceRegistry;
 import com.coffee.bus.service.*;
@@ -12,6 +14,7 @@ import com.coffee.common.exception.CustomException;
 import com.coffee.common.result.R;
 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.validation.annotation.Validated;
@@ -39,9 +42,14 @@ public class BusClinicController {
     private final LocalBusInfusionModifyService infusionModifyService;
     private final LocalBusDeviceHistoryService deviceHistoryService;
     private final DeviceRegistry deviceRegistry;
+    private final LocalBusDeviceManualService deviceManualService;
+    private final LocalBusPatientService patientService;
     @PostMapping("/stats")
     @ApiOperation(value = "临床过程中的数据记录",notes = "权限【无】")
     public R<ClinicStatsReturnResult> stats(@RequestBody@Validated ClinicStatsVo statsVo) {
+        if (!(statsVo.isAppendDose()||statsVo.isContinueDose()||statsVo.isInputDose()||statsVo.isInValidCount()||statsVo.isValidCount())){
+            return R.success(new ClinicStatsReturnResult());
+        }
         return R.success(clinicService.stats(statsVo));
     }
 
@@ -113,4 +121,32 @@ public class BusClinicController {
 
         return R.success(result);
     }
+
+
+    @PostMapping("/edit")
+    @SaCheckPermission("bus:clinic:edit")
+    @ApiOperation(value = "编辑病人信息",notes = "编辑病人临床信息,权限【bus:clinic:edit】")
+    public R<Boolean> edit(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId, @RequestBody @Validated ClinicEditVo entity){
+        if(entity.getHaveDevice()){
+            BusClinicEntity clinic = entity.getClinic();
+            if(clinic==null|| StrUtil.isEmpty(clinic.getId())){
+                throw new CustomException("临床信息不能为空");
+            }
+            clinic.setTenantId(tenantId);
+            patientService.manualEdit(clinic);
+            return R.success(true);
+        }else {
+            deviceManualService.edit(entity.getManual(),entity.getClinic());
+            return R.success(true);
+        }
+    }
+
+    @PostMapping("/save")
+    @SaCheckPermission("bus:clinic:save")
+    @ApiOperation(value = "新增手术信息",notes = "新增病人信息,权限【bus:clinic:save】")
+    public R save(@RequestBody ClinicEditVo entity){
+        deviceManualService.save(entity.getManual(),entity.getClinic());
+        return R.success();
+    }
+
 }

+ 1 - 27
coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceManualController.java

@@ -1,20 +1,10 @@
 package com.coffee.bus.controller;
 
-import cn.dev33.satoken.SaManager;
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.dev33.satoken.stp.StpLogic;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.mapper.Mapper;
-import com.coffee.bus.controller.vo.DeviceManualVo;
-import com.coffee.bus.entity.BusDeviceManualEntity;
-import com.coffee.bus.entity.BusDrugEntity;
+import com.coffee.bus.controller.vo.ClinicEditVo;
 import com.coffee.bus.service.LocalBusDeviceManualService;
-import com.coffee.bus.service.LocalBusDrugService;
 import com.coffee.bus.service.dto.ManualMonitorQuery;
 import com.coffee.bus.service.dto.ManualMonitorResult;
-import com.coffee.common.crud.BaseService;
-import com.coffee.common.crud.controller.BaseCrudController;
-import com.coffee.common.crud.controller.BaseQueryController;
 import com.coffee.common.result.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -40,22 +30,6 @@ import java.util.List;
 public class BusDeviceManualController {
     private final LocalBusDeviceManualService deviceManualService;
 
-    @PostMapping("/edit")
-    @SaCheckPermission("device:manual:edit")
-    @ApiOperation(value = "编辑病人信息",notes = "编辑病人信息,权限【device:manual:edit】")
-    public R edit(@RequestBody DeviceManualVo entity){
-        deviceManualService.edit(entity.getManual(),entity.getClinic());
-        return R.success();
-    }
-
-    @PostMapping("/save")
-    @SaCheckPermission("device:manual:save")
-    @ApiOperation(value = "新增病人信息",notes = "新增病人信息,权限【device:manual:save】")
-    public R save(@RequestBody DeviceManualVo entity){
-        deviceManualService.save(entity.getManual(),entity.getClinic());
-        return R.success();
-    }
-
     @PostMapping("/no_page")
     @SaCheckPermission("device:manual:query")
     @ApiOperation(value = "查询其他监控输注列表,不分页",notes = "查询其他监控输注列表,权限【device:manual:query】")

+ 13 - 10
coffee-system/src/main/java/com/coffee/bus/controller/BusPatientController.java

@@ -6,6 +6,7 @@ import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.Update;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.mapper.Mapper;
 import com.coffee.bus.controller.vo.GetPatientInfoVo;
@@ -22,6 +23,7 @@ import com.coffee.bus.service.dto.*;
 import com.coffee.bus.utils.WsPublishUtils;
 import com.coffee.common.crud.BaseService;
 import com.coffee.common.crud.controller.BaseQueryController;
+import com.coffee.common.entity.GenericEntity;
 import com.coffee.common.exception.CustomException;
 import com.coffee.common.result.R;
 import io.swagger.annotations.*;
@@ -252,13 +254,14 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
     }
 
 
-    @PostMapping("/edit")
-    @SaCheckPermission("device:patient:edit")
-    @ApiOperation(value = "编辑病人当前手术信息",notes = "编辑病人信息及病人当前手术信息,权限标识为【device:patient:edit】")
-    public R edit(@RequestBody BusClinicEntity clinic){
-        patientService.manualEdit(clinic);
-        return R.success();
-    }
+//    @PostMapping("/edit")
+//    @SaCheckPermission("device:patient:edit")
+//    @ApiOperation(value = "编辑病人当前手术信息",notes = "编辑病人信息及病人当前手术信息,权限标识为【device:patient:edit】")
+//    public R edit(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId,@RequestBody@Validated(GenericEntity.Update.class) BusClinicEntity clinic){
+//        clinic.setTenantId(tenantId);
+//        patientService.manualEdit(clinic);
+//        return R.success(true);
+//    }
 
 
     @GetMapping("/monitor/{monitorType}/{clinicId}")
@@ -305,8 +308,8 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
 
     @PostMapping("/pull/async")
     @SaCheckPermission("device:patient:pull")
-    @ApiOperation(value = "步更新患者信息,超时时间默认为10s,超时后数据返回继续处理,输注监控",notes = "权限标识为【bus:patient:pull】")
-    public DeferredResult<R<BusClinicEntity>> syn(@RequestAttribute("tenantId") String tenantId, @RequestBody GetPatientInfoVo vo){
+    @ApiOperation(value = "步更新患者信息,超时时间默认为10s,超时后数据返回继续处理,输注监控",notes = "权限标识为【bus:patient:pull】")
+    public DeferredResult<R<BusClinicEntity>> syn(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId, @RequestBody GetPatientInfoVo vo){
         return patientService.getPatientInfoFromHis(tenantId,vo.getPatientCode(),vo.getTimeout(),false);
     }
 
@@ -335,7 +338,7 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
     @PostMapping("/pull/sync")
     @SaCheckPermission("device:patient:pull")
     @ApiOperation(value = "同步更新患者信息,超时时间默认为10s,超时后数据返回则不进行处理,无泵更新",notes = "权限标识为【bus:patient:pull】")
-    public DeferredResult<R<BusClinicEntity>>  async(@RequestAttribute("tenantId") String tenantId, @RequestBody GetPatientInfoVo vo){
+    public DeferredResult<R<BusClinicEntity>>  async(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId, @RequestBody GetPatientInfoVo vo){
         return patientService.getPatientInfoFromHis(tenantId,vo.getPatientCode(),vo.getTimeout(),true);
     }
 

+ 8 - 3
coffee-system/src/main/java/com/coffee/bus/controller/vo/DeviceManualVo.java → coffee-system/src/main/java/com/coffee/bus/controller/vo/ClinicEditVo.java

@@ -6,16 +6,21 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * @author lifang
  * @version 1.0.0
- * @ClassName DeviceManualVo.java
+ * @ClassName ClinicEditVo.java
  * @Description TODO
  * @createTime 2022年05月06日 09:29:00
  */
-@ApiModel("手动添加其他监控视图")
+@ApiModel("编辑/新增")
 @Data
-public class DeviceManualVo {
+public class ClinicEditVo {
+    @ApiModelProperty("0、无泵 1、输注 ")
+    @NotNull(message = "输注判断标识不能为空")
+    private Boolean haveDevice;
     @ApiModelProperty("设备信息")
     private BusDeviceManualEntity manual;
     @ApiModelProperty("手术信息")

+ 8 - 3
coffee-system/src/main/java/com/coffee/bus/entity/BusClinicEntity.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.coffee.bus.bean.HisInfo;
+import com.coffee.bus.service.dto.FormulaDrugDomain;
 import com.coffee.bus.service.dto.UndoDeviceConfig;
 import com.coffee.common.entity.TenantGenericEntity;
 import com.coffee.common.enums.SexEnum;
@@ -34,7 +35,7 @@ public class BusClinicEntity extends TenantGenericEntity<String,String> {
 
     @ApiModelProperty(value = "临床手术名称")
     @Length(max = 255,message = "临床手术名称长度不得超过255个字节")
-    private String name;
+    private String surgeryName;
 
     @ApiModelProperty(value = "病号")
     @Length(max = 255,message = "病号长度不得超过255个字节")
@@ -98,7 +99,7 @@ public class BusClinicEntity extends TenantGenericEntity<String,String> {
 
     @ApiModelProperty(value = "配方")
     @TableField(typeHandler = FastjsonTypeHandler.class,javaType = true)
-    private List<FormulaDrugDomain> formula;
+    private FormulaDrugDomain formula;
 
     @ApiModelProperty(value = "临床是否结束,0、未结束 1、结束 ")
     private Boolean finished;
@@ -120,6 +121,9 @@ public class BusClinicEntity extends TenantGenericEntity<String,String> {
     @JsonIgnoreProperties(allowGetters = true)
     private Boolean monitorType;
 
+    @ApiModelProperty(value = "医嘱")
+    private String entrust;
+
     public static BusClinicEntity of(HisInfo hisInfo){
         BusClinicEntity clinic = new BusClinicEntity();
         clinic.setTenantId(hisInfo.getHospitalId());
@@ -132,13 +136,14 @@ public class BusClinicEntity extends TenantGenericEntity<String,String> {
         //病区 需新增 todo
         clinic.setWard(hisInfo.getWard());
         clinic.setBedNo(hisInfo.getBedNo());
-        clinic.setName(hisInfo.getOperation());
+        clinic.setSurgeryName(hisInfo.getOperation());
         clinic.setSurgeryDoctor(hisInfo.getSurgeon());
         clinic.setStartTime(hisInfo.getOperationTime());
         //asa分级 todo
         //easymode todo
 //        clinic.setFormula(hisInfo.getFormula());
         clinic.setConfigPerson(hisInfo.getConfigPerson());
+        clinic.setEntrust(hisInfo.getEntrust());
         return clinic;
     }
 }

+ 1 - 0
coffee-system/src/main/java/com/coffee/bus/entity/BusFormulaEntity.java

@@ -3,6 +3,7 @@ package com.coffee.bus.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.coffee.bus.service.dto.FormulaDrugDomain;
 import com.coffee.common.entity.TenantGenericEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

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

@@ -137,7 +137,7 @@ public class BusInfusionHistoryEntity extends CommonDeviceParam<String,String> {
         entity.setAlarm(running.getAlarm());
 
         //若当前临床信息不存在,则将时间戳置为 3000/01/01 01:01:01
-        entity.setClinicStartTime(new Date(32503654861L));
+        entity.setClinicStartTime(new Date(32503654861000L));
         return entity;
     }
 

+ 6 - 0
coffee-system/src/main/java/com/coffee/bus/hospital/his/HisRequest.java

@@ -70,6 +70,12 @@ public class HisRequest implements Serializable {
      */
     private boolean sync;
 
+    /**
+     *
+     * 医院id
+     *
+     */
+    private String tenantId;
     /**
      *
      * 用户响应结果

+ 6 - 0
coffee-system/src/main/java/com/coffee/bus/hospital/his/HisResponse.java

@@ -69,5 +69,11 @@ public class HisResponse {
      */
     private Date timestamp;
 
+    /**
+     *
+     * 医院id
+     *
+     */
+    private String tenantId;
 
 }

+ 39 - 3
coffee-system/src/main/java/com/coffee/bus/hospital/his/HisScriptSession.java

@@ -3,6 +3,7 @@ package com.coffee.bus.hospital.his;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.spring.SpringUtil;
@@ -20,11 +21,15 @@ import com.coffee.bus.hospital.script.ScriptManager;
 import com.coffee.bus.hospital.script.ScriptParse;
 import com.coffee.bus.service.LocalBusClinicService;
 import com.coffee.bus.service.LocalBusHospitalService;
+import com.coffee.bus.service.dto.FormulaDrugDetailDomain;
+import com.coffee.bus.service.dto.FormulaDrugDomain;
 import com.coffee.common.cache.ConfigStorage;
 import com.coffee.common.cache.manager.ConfigStorageManager;
 import com.coffee.common.cache.value.Value;
+import com.coffee.common.enums.SexEnum;
 import com.coffee.common.exception.CustomException;
 import com.coffee.common.result.R;
+import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.util.Assert;
 import org.springframework.web.context.request.async.DeferredResult;
@@ -33,7 +38,7 @@ import org.tio.core.Tio;
 import org.tio.core.utils.TioUtils;
 import org.tio.websocket.common.WsResponse;
 
-import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executors;
@@ -49,6 +54,7 @@ import java.util.concurrent.TimeUnit;
  */
 @Slf4j
 public class HisScriptSession {
+    @Getter
     private String hospitalId;
     private ChannelContext channelContext;
     private ScriptManager scriptManager;
@@ -246,6 +252,9 @@ public class HisScriptSession {
         Tio.send(channelContext, WsResponse.fromText(JSONUtil.toJsonStr(request),"utf-8"));
         executorService.schedule(()->{
             BusClinicEntity clinicEntity = clinicService.recentClinicByPatientCode("1", request.getPatientCode());
+            if(clinicEntity==null){
+                clinicEntity=new BusClinicEntity();
+            }
             List<BusClinicEntity> clinic = new ArrayList<>();
             HisResponse hisResponse = new HisResponse();
             hisResponse.setMessageId(request.getMessageId());
@@ -255,7 +264,34 @@ public class HisScriptSession {
             for (int i = 0; i < 5; i++) {
                 clinicEntity.setId(null);
                 clinicEntity.setMonitorType(true);
-                clinicEntity.setName("新的临床数据"+i);
+                clinicEntity.setPatientCode(request.getPatientCode());
+                clinicEntity.setPatientGender(SexEnum.MAN);
+                clinicEntity.setPatientAge(RandomUtil.randomInt(20,40));
+                clinicEntity.setPatientName("病人名称"+i);
+                clinicEntity.setSurgeryName("新的临床数据"+i);
+                clinicEntity.setSurgeryDoctor("手术医生"+i);
+                clinicEntity.setAnaDoctor("麻醉医生"+i);
+                clinicEntity.setConfigPerson("配置人员"+i);
+                clinicEntity.setAnaType("麻醉方式"+i);
+                clinicEntity.setStartTime(DateUtil.yesterday());
+                clinicEntity.setAnalType("镇痛方式"+i);
+                clinicEntity.setEntrust("医嘱"+i);
+                clinicEntity.setAsa("ASA"+i);
+                clinicEntity.setTenantId(this.getHospitalId());
+                FormulaDrugDomain formulaDrugDomain = new FormulaDrugDomain();
+                formulaDrugDomain.setName("镇痛配方"+i);
+
+                FormulaDrugDetailDomain detailDomain = new FormulaDrugDetailDomain();
+                detailDomain.setDose("1");
+                detailDomain.setUnit("ml");
+                detailDomain.setName("鸦胆子");
+                FormulaDrugDetailDomain detailDomain1 = new FormulaDrugDetailDomain();
+                detailDomain1.setDose("1");
+                detailDomain1.setUnit("ml");
+                detailDomain1.setName("利多卡因");
+                formulaDrugDomain.setDetail(Arrays.asList(detailDomain,detailDomain1));
+
+                clinicEntity.setFormula(formulaDrugDomain);
                 BusClinicEntity c = new BusClinicEntity();
                 BeanUtil.copyProperties(clinicEntity,c);
                 c.setStartTime(RandomUtil.randomDate(new Date(), DateField.HOUR_OF_DAY,-30,10));
@@ -306,7 +342,7 @@ public class HisScriptSession {
         }else {
             if (hisRequest != null) {
                 log.warn("医院[{}]拉取信息失败,失败原因[{}]",hospitalId,hisResponse.getErrorMsg());
-                 List<DeferredResult<R<BusClinicEntity>>> results = hisRequest.getResult();
+                List<DeferredResult<R<BusClinicEntity>>> results = hisRequest.getResult();
                 if(CollectionUtil.isNotEmpty(results)){
                     results.parallelStream().forEach(result-> result.setResult(R.fail("更新失败,失败原因["+ hisResponse.getErrorMsg()+"]")));
                 }

+ 8 - 9
coffee-system/src/main/java/com/coffee/bus/hospital/script/PythonParse.java

@@ -25,15 +25,14 @@ public class PythonParse implements ScriptParse {
     private PyFunction pyFunction;
 
     public PythonParse() {
-        Properties p = new Properties();
-        p.setProperty("python.console.encoding", "UTF-8");
-        PySystemState systemState = Py.getSystemState();
-//        PyString xml = new PyString("\\python-modules");
-        PyString xml = new PyString("E:\\software\\coffee-boot\\coffee-admin\\src\\main\\resources\\python");
-        systemState.path.append(xml);
-        PythonInterpreter.initialize(System.getProperties(), p, new String[] {});
-
-        interpreter = new PythonInterpreter();
+//        Properties p = new Properties();
+//        p.setProperty("python.console.encoding", "UTF-8");
+//        PySystemState systemState = Py.getSystemState();
+////        PyString xml = new PyString("\\python-modules");
+//        PyString xml = new PyString("E:\\software\\coffee-boot\\coffee-admin\\src\\main\\resources\\python");
+//        systemState.path.append(xml);
+//        PythonInterpreter.initialize(System.getProperties(), p, new String[] {});
+//        interpreter = new PythonInterpreter();
 
     }
 

+ 12 - 3
coffee-system/src/main/java/com/coffee/bus/registry/patient/ClusterPatientOperator.java

@@ -1,5 +1,7 @@
 package com.coffee.bus.registry.patient;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.json.JSONUtil;
 import com.coffee.bus.registry.constant.PatientKeyConstant;
 import com.coffee.bus.registry.patient.bean.DeviceTimeSmallInfo;
 import com.coffee.bus.registry.patient.bean.PatientCacheInfo;
@@ -7,6 +9,7 @@ import com.coffee.common.cache.ConfigStorage;
 import com.coffee.common.enums.SexEnum;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author lifang
@@ -135,8 +138,14 @@ public class ClusterPatientOperator implements PatientOperator<PatientCacheInfo>
 
     @Override
     public Set<DeviceTimeSmallInfo> getAllDevice() {
-        return getValue(PatientKeyConstant.DEVICES).as(HashSet.class);
-    }
+        Set<Map<String,Object>> set = getValue(PatientKeyConstant.DEVICES).as(HashSet.class);
+        if(CollectionUtil.isNotEmpty(set)){
+            return set.stream()
+                    .map(JSONUtil::toJsonStr)
+                    .map(json-> JSONUtil.toBean(json,DeviceTimeSmallInfo.class))
+                    .collect(Collectors.toSet());
+        }
+        return new HashSet<>();    }
 
     @Override
     public void setAllDevice(Collection<DeviceTimeSmallInfo> devices) {
@@ -167,7 +176,7 @@ public class ClusterPatientOperator implements PatientOperator<PatientCacheInfo>
 
     @Override
     public List<String> getAllKeys(){
-        return Arrays.asList("code","gender","name","tenantId","clinicId","startTime","finished","bindDeviceId","devices");
+        return Arrays.asList("code","gender","surgeyName","tenantId","clinicId","startTime","finished","bindDeviceId","devices");
     }
 
     //该病人是否为新增病人

+ 1 - 1
coffee-system/src/main/java/com/coffee/bus/registry/patient/ClusterPatientRegistry.java

@@ -90,7 +90,7 @@ public class ClusterPatientRegistry implements PatientRegistry {
             patientOperator.setGender(patient.getGender());
 
             //填充临床信息
-            patient.setName(clinic.getName());
+            patient.setName(clinic.getSurgeryName());
             patient.setClinicId(clinic.getId());
 
             patientOperator.setWard(clinic.getWard());

+ 2 - 7
coffee-system/src/main/java/com/coffee/bus/service/LocalBusClinicService.java

@@ -1,11 +1,8 @@
 package com.coffee.bus.service;
 
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.coffee.bus.controller.vo.ClinicStatsVo;
 import com.coffee.bus.entity.BusClinicEntity;
 import com.coffee.bus.entity.BusDeviceRunningEntity;
@@ -17,7 +14,6 @@ import com.coffee.bus.registry.patient.PatientRegistry;
 import com.coffee.bus.registry.patient.bean.PatientCacheInfo;
 import com.coffee.bus.service.dto.ClinicQuery;
 import com.coffee.bus.service.dto.ClinicResult;
-import com.coffee.bus.service.dto.ClinicStatsQueryResult;
 import com.coffee.bus.service.dto.ClinicStatsReturnResult;
 import com.coffee.bus.utils.WsPublishUtils;
 import com.coffee.common.crud.BaseService;
@@ -30,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
 import java.util.*;
-import java.util.function.Supplier;
 
 /**
  * @author lifang
@@ -127,7 +122,7 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
         Assert.hasText(target.getId(),"LocalBusClinicService.compareFromHis方法调用时,target参数id不能为空");
         Assert.hasText(source.getPatientCode(),"LocalBusClinicService.compareFromHis方法调用时,source参数patientCode不能为空");
         Assert.notNull(source.getStartTime(),"LocalBusClinicService.compareFromHis方法调用时,source参数startTime不能为空");
-        Assert.hasText(source.getName(),"LocalBusClinicService.compareFromHis方法调用时,source参数name不能为空");
+        Assert.hasText(source.getSurgeryName(),"LocalBusClinicService.compareFromHis方法调用时,source参数surgeName不能为空");
         source.setId(target.getId());
         this.updateById(source);
         //手术开始时间发生变化,重新计算输注数据
@@ -149,7 +144,7 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
     public void insertFromHis(BusClinicEntity source){
         Assert.hasText(source.getTenantId(),"LocalBusClinicService.insertFromHis方法调用时,source参数tenantId不能为空");
         Assert.hasText(source.getPatientCode(),"LocalBusClinicService.insertFromHis方法调用时,source参数patientCode不能为空");
-        Assert.hasText(source.getName(),"LocalBusClinicService.insertFromHis方法调用时,source参数name不能为空");
+        Assert.hasText(source.getSurgeryName(),"LocalBusClinicService.insertFromHis方法调用时,source参数surgeName不能为空");
         this.update(new UpdateWrapper<BusClinicEntity>()
                 .lambda()
                 .eq(BusClinicEntity::getPatientCode,source.getPatientCode()).eq(BusClinicEntity::getTenantId,source.getTenantId())

+ 1 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusHospitalService.java

@@ -60,6 +60,7 @@ public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusH
         if(entity.getStrategy()==null){
             entity.setStrategy(HisStrategyEnum.ALL);
         }
+        entity.setScriptOnline(false);
         entity.setCode(CodeUtils.genInviteCode(id));
         entity.setId(String.valueOf(id));
     }

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

@@ -134,8 +134,8 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
     public BusInfusionHistoryEntity recentInfusionByPatientCode(String hospitalId, String patientCode) {
         return this
                 .getOne(new QueryWrapper<BusInfusionHistoryEntity>()
-                .lambda()
-                .eq(BusInfusionHistoryEntity::getTenantId,hospitalId).eq(BusInfusionHistoryEntity::getPatientCode,patientCode).last("limit 1"));
+                        .lambda()
+                        .eq(BusInfusionHistoryEntity::getTenantId,hospitalId).eq(BusInfusionHistoryEntity::getPatientCode,patientCode).last("limit 1"));
     }
 
     /**
@@ -163,9 +163,13 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
                 .gt(BusInfusionHistoryEntity::getClinicStartTime, startTime));
         if(CollectionUtil.isNotEmpty(infusionHistories)){
             infusionHistories.sort(Comparator.comparing(BusInfusionHistoryEntity::getStartTime));
-            infusionHistories.forEach(infusion->infusion.setClinicId(clinicId));
+            infusionHistories.forEach(infusion-> {
+                        infusion.setClinicId(clinicId);
+                        infusion.setClinicStartTime(startTime);
+                    }
+            );
             clinicService.update(new UpdateWrapper<BusClinicEntity>().lambda().eq(BusClinicEntity::getId,clinicId)
-            .set(BusClinicEntity::getMonitorStartTime,infusionHistories.get(0).getStartTime()));
+                    .set(BusClinicEntity::getMonitorStartTime,infusionHistories.get(0).getStartTime()));
         }
 
     }

+ 2 - 4
coffee-system/src/main/java/com/coffee/bus/service/dto/ClinicAnalClinicRecord.java

@@ -3,7 +3,6 @@ package com.coffee.bus.service.dto;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.coffee.bus.entity.BusClinicEntity;
-import com.coffee.bus.entity.FormulaDrugDomain;
 import com.coffee.common.enums.SexEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -59,8 +58,7 @@ public class ClinicAnalClinicRecord  implements Serializable {
     private String asa;
 
     @ApiModelProperty(value = "配方")
-    @TableField(typeHandler = FastjsonTypeHandler.class,javaType = true)
-    private List<FormulaDrugDomain> formula;
+    private FormulaDrugDomain formula;
 
     @ApiModelProperty(value = "麻醉医生")
     @Length(max = 255,message = "麻醉医生不得超过255个字节")
@@ -81,7 +79,7 @@ public class ClinicAnalClinicRecord  implements Serializable {
         ClinicAnalClinicRecord clinicRecord = new ClinicAnalClinicRecord();
         clinicRecord.setId(clinic.getId());
         clinicRecord.setPatientCode(clinic.getPatientCode());
-        clinicRecord.setSurgeryName(clinic.getName());
+        clinicRecord.setSurgeryName(clinic.getSurgeryName());
         clinicRecord.setPatientName(clinic.getPatientName());
         clinicRecord.setPatientAge(clinic.getPatientAge());
         clinicRecord.setPatientGender(clinic.getPatientGender());

+ 2 - 2
coffee-system/src/main/java/com/coffee/bus/entity/FormulaDrugDomain.java → coffee-system/src/main/java/com/coffee/bus/service/dto/FormulaDrugDetailDomain.java

@@ -1,4 +1,4 @@
-package com.coffee.bus.entity;
+package com.coffee.bus.service.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -14,7 +14,7 @@ import org.hibernate.validator.constraints.Length;
  */
 @ApiModel("配方药品详情")
 @Data
-public class FormulaDrugDomain {
+public class FormulaDrugDetailDomain {
     @ApiModelProperty(value = "药品名称")
     private String name;
 

+ 22 - 0
coffee-system/src/main/java/com/coffee/bus/service/dto/FormulaDrugDomain.java

@@ -0,0 +1,22 @@
+package com.coffee.bus.service.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.*;
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName DrugDomain.java
+ * @Description TODO
+ * @createTime 2022年04月21日 14:27:00
+ */
+@ApiModel("配方药品详情")
+@Data
+public class FormulaDrugDomain {
+    @ApiModelProperty(value = "配方名称")
+    private String name;
+
+    @ApiModelProperty(value = "药品详细内容")
+    private List<FormulaDrugDetailDomain> detail;
+}

+ 0 - 5
coffee-system/src/main/java/com/coffee/bus/service/dto/ManualMonitorResult.java

@@ -1,18 +1,13 @@
 package com.coffee.bus.service.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
-import com.coffee.bus.entity.FormulaDrugDomain;
 import com.coffee.bus.enums.DeviceManualEnum;
 import com.coffee.common.enums.SexEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.hibernate.validator.constraints.Length;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 
 /**
  * @author lifang

+ 1 - 1
coffee-system/src/main/java/com/coffee/bus/service/dto/PatientDeviceNoneResult.java

@@ -41,7 +41,7 @@ public class PatientDeviceNoneResult  implements Serializable {
     private String bedNo;
 
     @ApiModelProperty("手术名称")
-    private String clinicName;
+    private String surgeryName;
 
     @ApiModelProperty("麻醉医生")
     private String anaDoctor;

+ 3 - 1
coffee-system/src/main/java/com/coffee/bus/web/handler/CheckSignHandler.java

@@ -7,6 +7,8 @@ import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.coffee.common.result.R;
 import com.coffee.common.result.ResultCode;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
 import org.springframework.web.servlet.HandlerInterceptor;
 
 import javax.servlet.http.HttpServletRequest;
@@ -18,7 +20,7 @@ import java.nio.charset.Charset;
  * @author lifang
  * @version 1.0.0
  * @ClassName CheckSignHandler.java
- * @Description TODO
+ * @Description 请求验签
  * @createTime 2022年04月22日 10:47:00
  */
 //@Configuration

+ 43 - 0
coffee-system/src/main/java/com/coffee/bus/web/handler/CheckTimeHandler.java

@@ -0,0 +1,43 @@
+package com.coffee.bus.web.handler;
+
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.digest.DigestUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.coffee.common.redis.RedisUtils;
+import com.coffee.common.result.R;
+import com.coffee.common.result.ResultCode;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.nio.charset.Charset;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName CheckSignHandler.java
+ * @Description 请求时间过期检验
+ * @createTime 2022年04月22日 10:47:00
+ */
+//@Configuration
+//@Profile("dev")
+public class CheckTimeHandler implements HandlerInterceptor {
+    RedisUtils redisUtils;
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
+        String method = request.getMethod();
+        if (method.equals("POST")) {
+            //post 请求验证参数
+            String sign = request.getHeader("Sign");
+            String timestamp = request.getHeader("Timestamp");
+//            redisUtils.get()
+        }
+        //get请求
+        return true;
+    }
+}

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

@@ -16,6 +16,7 @@ import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.List;
 
@@ -47,21 +48,27 @@ public class HisInfoListener {
         if(CollectionUtil.isEmpty(sources)){
             return;
         }
-        BusHospitalEntity hospital = hospitalService.getById(hospitalId);
-        HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(hospital.getStrategy());
+        try {
+            BusHospitalEntity hospital = hospitalService.getById(hospitalId);
+            HisStrategyManager<? extends HisStrategyHandler> hisStrategyManager = managerRegister.get(hospital.getStrategy());
 
-        //todo 处理病人信息
+            //todo 处理病人信息
 
 
-        List<BusClinicEntity> target = clinicService.list(new QueryWrapper<BusClinicEntity>().lambda()
-                .eq(BusClinicEntity::getPatientCode, patientCode).eq(BusClinicEntity::getTenantId, hospitalId)
-                .eq(BusClinicEntity::getMonitorType, true));
-        hisStrategyManager
-                .getHandlers()
-                .stream()
-                .filter(handler -> handler.apply(sources, target))
-                //找到第一个匹配的处理器进行处理
-                .findFirst()
-                .ifPresent(handler-> handler.handle(sources,target));
+            List<BusClinicEntity> target = clinicService.list(new QueryWrapper<BusClinicEntity>().lambda()
+                    .eq(BusClinicEntity::getPatientCode, patientCode).eq(BusClinicEntity::getTenantId, hospitalId)
+                    .eq(BusClinicEntity::getMonitorType, true));
+            hisStrategyManager
+                    .getHandlers()
+                    .stream()
+                    .filter(handler -> handler.apply(sources, target))
+                    //找到第一个匹配的处理器进行处理
+                    .findFirst()
+                    .ifPresent(handler-> handler.handle(sources,target));
+        } catch (Exception e){
+            log.error("解析his数据时出错,解析后数据:{},错误原因,{}",JSONUtil.toJsonStr(infoEvent),e.getLocalizedMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+
     }
 }

+ 1 - 1
coffee-system/src/main/resources/mapper/bus/BusClinicMapper.xml

@@ -82,7 +82,7 @@
             c.patient_name as patient_name,
             c.ward as ward,
             c.bed_no as bed_no,
-            c.`name` as surgery_name,
+            c.`surgery_name` as surgery_name,
             c.surgery_doctor as surgery_doctor,
             c.ana_doctor as ana_doctor,
             c.monitor_type as monitor_type,

+ 1 - 1
coffee-system/src/main/resources/mapper/bus/BusDeviceManualMapper.xml

@@ -28,7 +28,7 @@
         c.id as clinic_id,
         c.ward as ward,
         c.bed_no as bed_no,
-        c.`name` as surgery_name,
+        c.`surgery_name` as surgery_name,
         c.ana_doctor as ana_doctor,
         c.start_time as start_time,
         IFNULL(dm.type,-1) as device_type

+ 3 - 3
coffee-system/src/main/resources/mapper/bus/BusPatientMapper.xml

@@ -83,7 +83,7 @@
             <result column="age" property="age"/>
             <result column="ward" property="ward"/>
             <result column="bed_no" property="bedNo"/>
-            <result column="clinic_name" property="clinicName"/>
+            <result column="surgery_name" property="surgeryName"/>
             <result column="weight" property="weight"/>
             <result column="height" property="height"/>
             <result column="ana_doctor" property="anaDoctor"/>
@@ -104,7 +104,7 @@
              c.ward,
              c.bed_no,
              c.id as clinic_id,
-             c.`name` as clinic_name,
+             c.`surgery_name` as clinic_name,
              r.id as device_running_id,
              r.device_id as device_id,
              d.alias as device_alias,
@@ -127,7 +127,7 @@
              c.patient_age as age,
              c.ward as ward,
              c.bed_no as bed_no,
-             c.`name` as clinic_name,
+             c.`surgery_name` as surgery_name,
              c.weight as weight,
              c.height as height,
              c.ana_doctor as ana_doctor,