Przeglądaj źródła

fix 空值不更新数据库问题

A17404李放 3 lat temu
rodzic
commit
b9c85505ed

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

@@ -1,7 +1,10 @@
 package com.nb.bus.controller;
 
+import cn.dev33.satoken.SaManager;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.mapper.Mapper;
@@ -17,11 +20,12 @@ import com.nb.bus.service.dto.DeviceResult;
 import com.nb.common.annotation.Log;
 import com.nb.common.crud.BaseService;
 import com.nb.common.crud.controller.BaseCrudController;
+import com.nb.common.crud.controller.BaseDeleteController;
+import com.nb.common.crud.controller.BaseQueryController;
+import com.nb.common.crud.controller.BaseSaveController;
 import com.nb.common.exception.CustomException;
 import com.nb.common.result.R;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
@@ -42,7 +46,9 @@ import java.util.List;
 @AllArgsConstructor
 @RequestMapping("/bus/device/info")
 @Api(tags = "设备管理",description = "统一权限前缀(device:info),device:info:add")
-public class BusDeviceController extends BaseCrudController<BusDeviceEntity, String> {
+public class BusDeviceController implements
+        BaseSaveController<BusDeviceEntity, String>,
+        BaseDeleteController<BusDeviceEntity, String> {
     private final LocalBusDeviceService deviceService;
 
     @Log(title = "设备换绑")
@@ -61,7 +67,22 @@ public class BusDeviceController extends BaseCrudController<BusDeviceEntity, Str
     @ApiOperation(value = "设备管理分页查询",notes = "权限【device:info:query】")
     public R<IPage<DeviceResult>> pageQuery(@RequestBody DeviceQuery query){
         return R.success(deviceService.pageQuery(query.getPage(),query));
-   }
+    }
+
+    @GetMapping("/view")
+    @ApiOperation(value = "根据ID查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id",value = "主键id",required = true)
+    })
+    public R<DeviceResult> getById(@RequestParam("id") String id) {
+        queryAuth();
+        String key=String.valueOf(id);
+        if(CharSequenceUtil.isNullOrUndefined(key)){
+            return R.fail("查询结果不存在");
+        }
+        return R.success(deviceService.view(key));
+    }
+
     /**
      * 权限控制前缀
      * @return
@@ -71,6 +92,11 @@ public class BusDeviceController extends BaseCrudController<BusDeviceEntity, Str
         return "device:info";
     }
 
+    @Override
+    public StpLogic getStpLogin() {
+        return SaManager.getStpLogic("");
+    }
+
 
     @Override
     public BaseService<? extends Mapper<BusDeviceEntity>, BusDeviceEntity, String> getService() {

+ 24 - 6
nb-system/src/main/java/com/nb/bus/entity/BusClinicEntity.java

@@ -1,9 +1,6 @@
 package com.nb.bus.entity;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.nb.bus.service.dto.FormulaDrugDomain;
 import com.nb.bus.service.dto.UndoDeviceConfig;
@@ -54,53 +51,73 @@ public class BusClinicEntity extends TenantGenericEntity<String,String> {
     private Date endTime;
 
     @ApiModelProperty(value = "asa")
+    @Length(max = 255,message = "asa长度不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String asa;
 
     @ApiModelProperty(value = "患者姓名")
     @Length(max = 255,message = "患者姓名长度不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String patientName;
 
     @ApiModelProperty(value = "患者性别")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private SexEnum patientGender;
 
     @ApiModelProperty(value = "患者年龄")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Integer patientAge;
 
     @ApiModelProperty(value = "病区")
     @Length(max = 255,message = "病区")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String ward;
 
     @ApiModelProperty(value = "病床号")
     @Length(max = 255,message = "病床号长度不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String bedNo;
 
     @ApiModelProperty(value = "体重")
     @Length(max = 255,message = "体重不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+
     private String weight;
 
     @ApiModelProperty(value = "身高")
     @Length(max = 255,message = "身高不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+
     private String height;
 
     @ApiModelProperty(value = "麻醉医生")
     @Length(max = 255,message = "麻醉医生不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+
     private String anaDoctor;
 
     @ApiModelProperty(value = "麻醉方式")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    @Length(max = 255,message = "麻醉方式不得超过255个字节")
     private String anaType;
 
     @ApiModelProperty(value = "镇痛方式")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    @Length(max = 255,message = "镇痛方式不得超过255个字节")
     private String analType;
 
     @ApiModelProperty(value = "手术医生")
     @Length(max = 255,message = "手术医生不得超过255个字节")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String surgeryDoctor;
 
     @ApiModelProperty(value = "配置人员")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    @Length(max = 255,message = "配置人员不得超过255个字节")
     private String configPerson;
 
     @ApiModelProperty(value = "配方")
-    @TableField(typeHandler = FastjsonTypeHandler.class,javaType = true)
+    @TableField(typeHandler = FastjsonTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
     private FormulaDrugDomain formula;
 
     @ApiModelProperty(value = "临床是否结束,0、未结束 1、结束 ")
@@ -114,12 +131,13 @@ public class BusClinicEntity extends TenantGenericEntity<String,String> {
     @TableField(typeHandler = FastjsonTypeHandler.class)
     private UndoDeviceConfig undoConfig;
 
-    //todo
+
     @ApiModelProperty(value = "监护类型,1、有泵监护 0、无泵监护")
     @JsonIgnoreProperties(allowGetters = true)
     private Boolean monitorType;
 
     @ApiModelProperty(value = "医嘱")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String entrust;
 
     @ApiModelProperty("该临床的最后一次评价时间")

+ 2 - 0
nb-system/src/main/java/com/nb/bus/mapper/BusDeviceMapper.java

@@ -34,4 +34,6 @@ public interface BusDeviceMapper extends BaseMapper<BusDeviceEntity> {
     Integer notDelete(String deviceId);
 
     IPage<DeviceResult> pageQuery(Page<DeviceResult> page,@Param("query") DeviceQuery query);
+
+    DeviceResult view(@Param("id") String id);
 }

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

@@ -210,6 +210,10 @@ public class LocalBusDeviceService extends BaseService<BusDeviceMapper, BusDevic
         return this.baseMapper.pageQuery(page,query);
     }
 
+    public DeviceResult view(String id){
+        return this.baseMapper.view(id);
+    }
+
     /**
      * 描述: 从阿里云平台获取全部的设备,同步到系统数据库
      * @author lifang

+ 0 - 1
nb-system/src/main/java/com/nb/bus/websocket/listener/DeviceInfoListener.java

@@ -308,7 +308,6 @@ public class DeviceInfoListener {
             //结束其余输注信息
             infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda()
                     .eq(BusInfusionHistoryEntity::getDeviceId,device.getDeviceId())
-                    .eq(BusInfusionHistoryEntity::getTenantId,device.getTenantId())
                     .eq(BusInfusionHistoryEntity::getFinished,false)
                     .set(BusInfusionHistoryEntity::getFinished,true));
         }else {

+ 17 - 0
nb-system/src/main/resources/mapper/bus/BusDeviceMapper.xml

@@ -72,4 +72,21 @@
         on i.id=d.infusion_id
         order by d.create_time desc
     </select>
+
+    <select id="view" resultMap="pageQueryResult">
+        select
+        d.id as id,
+        d.device_id as device_id,
+        d.alias as alias,
+        ifnull(i.type,0) as type,
+        d.config as config,
+        d.create_time as create_time,
+        d.update_time as update_time,
+        d.tenant_id as tenant_id
+        from (select * from bus_device where id=#{id})
+         AS d
+        LEFT JOIN (select * from bus_infusion_history) as i
+        on i.id=d.infusion_id
+        order by d.create_time desc
+    </select>
 </mapper>