浏览代码

增加病区列表接口,和监听患者传输病区内容存储表

wangzl 4 月之前
父节点
当前提交
901bc83b25

+ 36 - 1
pump-admin/src/main/test/com/tuoren/web/Test1.java

@@ -1,13 +1,21 @@
 package com.tuoren.web;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.tuoren.TuorenApplication;
 import com.tuoren.web.layer.controller.BusPatientController;
 import com.tuoren.web.layer.d0.PumpRemoveRequestDTO;
 import com.tuoren.web.layer.d0.PumpVo;
 import com.tuoren.web.layer.entity.BusPatientEntity;
+import com.tuoren.web.layer.entity.BusPumpEntity;
+import com.tuoren.web.layer.entity.BusWordEntity;
 import com.tuoren.web.layer.service.IBusPatientService;
+import com.tuoren.web.layer.service.IBusPumpService;
+import com.tuoren.web.layer.service.IBusReceiveRecordUpdateService;
+import com.tuoren.web.layer.service.IBusWordService;
 import com.tuoren.web.layer.service.impl.BusPumpServiceImpl;
 import com.tuoren.web.layer.vo.PumpParam;
+import com.tuoren.web.layer.vo.WordParam;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -15,7 +23,6 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
 import java.util.Arrays;
@@ -42,6 +49,15 @@ public class Test1 {
     private BusPatientController busPatientController;
     @Resource
     private IBusPatientService iBusPatientEntityService;
+
+    @Resource
+    private IBusPumpService iBusPumpService;
+    @Resource
+    private IBusReceiveRecordUpdateService iBusReceiveRecordUpdateService;
+
+    @Resource
+    private IBusWordService iBusWordService;
+
     @Test
     public void test() throws Exception {
         rabbitTemplate.convertAndSend("removePump","123412412", Arrays.asList("12","23","3455"));
@@ -100,4 +116,23 @@ public class Test1 {
         List<PumpVo> pumpVos = busPumpService.queryPumpInfo(pumpParam);
         System.out.println(pumpVos);
     }
+    @Test
+    public void test5() throws Exception {
+        //测试增加修改记录
+        BusPumpEntity byId = iBusPumpService.getBaseMapper().selectOne(new LambdaQueryWrapper<BusPumpEntity>()
+                .eq(BusPumpEntity::getPumpCode, "51236535303002A8")
+                .last("limit 1"));
+        System.out.println(byId.getId());
+        iBusReceiveRecordUpdateService.comparePumpData(byId);
+    }
+
+    @Test
+    public void test6() throws Exception {
+        BusPatientEntity busPatientEntity = iBusPatientEntityService.getBaseMapper().selectById("009c1c23-e5d1-4cbc-9884-b96fb4c6941d");
+        iBusWordService.insertWord(busPatientEntity);
+        WordParam wordParam = new WordParam();
+        wordParam.setHospitalCode("5490dd8896e54ecab824b006074361de");
+        IPage<BusWordEntity> busWordEntityIPage = iBusWordService.queryWordList(1, 10, wordParam);
+        System.out.println(busWordEntityIPage);
+    }
 }

+ 48 - 0
pump-web/src/main/java/com/tuoren/web/layer/controller/BusWordController.java

@@ -0,0 +1,48 @@
+package com.tuoren.web.layer.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.tuoren.common.api.CommonResult;
+import com.tuoren.web.layer.entity.BusReceiveRecordUpdateEntity;
+import com.tuoren.web.layer.entity.BusWordEntity;
+import com.tuoren.web.layer.service.IBusWordService;
+import com.tuoren.web.layer.vo.ReceiveRecordUpdateQueryParam;
+import com.tuoren.web.layer.vo.WordParam;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/8/5 14:41
+ */
+@Api(tags = "BusWordController", description = "病区管理")
+@Slf4j
+@RestController
+@RequestMapping("/bus/word")
+public class BusWordController {
+
+    @Autowired
+    private  IBusWordService iBusWordService;
+
+    /**
+     * 分页查询所有数据(模糊查询)
+     *
+     * @param pageNo   页码
+     * @param pageSize 条数
+     * @param param    查询实体
+     * @return 所有数据
+     */
+    @ApiOperation("分页查询数据")
+    @PostMapping("/list")
+    public CommonResult<IPage<BusWordEntity>> selectCopyAll(Integer pageNo, Integer pageSize, @RequestBody WordParam param) {
+        IPage<BusWordEntity> result = iBusWordService.queryWordList(pageNo, pageSize, param);
+        return CommonResult.success(result);
+    }
+}

+ 43 - 0
pump-web/src/main/java/com/tuoren/web/layer/entity/BusWordEntity.java

@@ -0,0 +1,43 @@
+package com.tuoren.web.layer.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/8/5 13:53
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("bus_word")
+@ApiModel(value="BusWordEntity对象", description="")
+public class BusWordEntity {
+
+    @ApiModelProperty(value = "主键",hidden = true)
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "医院编码")
+    private String hospitalCode;
+
+    @ApiModelProperty(value = "病区")
+    private String wardCode;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime gmtCreate;
+
+    @ApiModelProperty(value = "更新时间",hidden = true)
+    private LocalDateTime gmtModified;
+}

+ 12 - 0
pump-web/src/main/java/com/tuoren/web/layer/mapper/BusWordMapper.java

@@ -0,0 +1,12 @@
+package com.tuoren.web.layer.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tuoren.web.layer.entity.BusWordEntity;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/8/5 13:58
+ */
+public interface BusWordMapper extends BaseMapper<BusWordEntity> {
+}

+ 19 - 0
pump-web/src/main/java/com/tuoren/web/layer/service/IBusWordService.java

@@ -0,0 +1,19 @@
+package com.tuoren.web.layer.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.tuoren.web.layer.entity.BusPatientEntity;
+import com.tuoren.web.layer.entity.BusWordEntity;
+import com.tuoren.web.layer.vo.WordParam;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/8/5 13:59
+ */
+public interface IBusWordService extends IService<BusWordEntity> {
+
+    void insertWord(BusPatientEntity patientEntity);
+
+    IPage<BusWordEntity> queryWordList(Integer pageNo, Integer pageSize, WordParam param);
+}

+ 3 - 15
pump-web/src/main/java/com/tuoren/web/layer/service/impl/BusReceiveRecordUpdateImpl.java

@@ -41,6 +41,7 @@ public class BusReceiveRecordUpdateImpl extends ServiceImpl<BusReceiveRecordUpda
     public void comparePumpData(BusPumpEntity pumpEntity) {
         try {
             if (ObjectUtil.isNull(pumpEntity)) {
+                log.info("泵表数据为空");
                 return;
             }
             BusReceiveRecordUpdateEntity busReceiveRecordUpdateEntity = this.getBaseMapper().selectOne(new LambdaQueryWrapper<BusReceiveRecordUpdateEntity>()
@@ -62,6 +63,8 @@ public class BusReceiveRecordUpdateImpl extends ServiceImpl<BusReceiveRecordUpda
                 String updateMd5 = DigestUtil.md5Hex(updateEntityMap.toString());
                 if (!pumpMd5.equals(updateMd5)) {
                     this.save(insertUpdateEntity);
+                }else {
+                    log.info("数据无修改无须插入 泵码{} , 医院code {} ,患者编码 {}",pumpEntity.getPumpCode(),pumpEntity.getHospitalCode(),pumpEntity.getPatientCode());
                 }
             }
         } catch (Exception e) {
@@ -98,19 +101,4 @@ public class BusReceiveRecordUpdateImpl extends ServiceImpl<BusReceiveRecordUpda
         }
         return resultMap;
     }
-
-
-    public static void main(String[] args) {
-        BusPumpEntity pumpEntity = new BusPumpEntity();
-        pumpEntity.setPumpCode("PUMP_CODE");
-        pumpEntity.setHospitalCode("HOSPITAL_CODE");
-        pumpEntity.setPatientCode("PATIENT_CODE");
-        pumpEntity.setContinueQuantity(BigDecimal.valueOf(1));
-        pumpEntity.setMaxQuantity(BigDecimal.valueOf(1));
-        pumpEntity.setFirstQuantity(1);
-        pumpEntity.setSingleQuantity(BigDecimal.valueOf(1));
-        pumpEntity.setTotalQuantity(1);
-        BusReceiveRecordUpdateEntity updateEntityNew = new BusReceiveRecordUpdateEntity();
-
-    }
 }

+ 60 - 0
pump-web/src/main/java/com/tuoren/web/layer/service/impl/BusWordServiceImpl.java

@@ -0,0 +1,60 @@
+package com.tuoren.web.layer.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.tuoren.web.layer.entity.BusPatientEntity;
+import com.tuoren.web.layer.entity.BusWordEntity;
+import com.tuoren.web.layer.mapper.BusWordMapper;
+import com.tuoren.web.layer.service.IBusWordService;
+import com.tuoren.web.layer.vo.WordParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/8/5 14:00
+ */
+@Slf4j
+@Service
+public class BusWordServiceImpl extends ServiceImpl<BusWordMapper, BusWordEntity> implements IBusWordService {
+    @Override
+    public void insertWord(BusPatientEntity patientEntity) {
+        if (ObjectUtil.isNull(patientEntity)) {
+            log.info("插入病区对象为空");
+            return;
+        }
+        BusWordEntity busWordEntity = this.getBaseMapper().selectOne(new LambdaQueryWrapper<BusWordEntity>()
+                .eq(BusWordEntity::getHospitalCode, patientEntity.getHospitalCode())
+                .eq(BusWordEntity::getWardCode, patientEntity.getWardCode()));
+        if (ObjectUtil.isNull(busWordEntity)) {
+            BusWordEntity insertEntity = new BusWordEntity();
+            insertEntity.setHospitalCode(patientEntity.getHospitalCode());
+            insertEntity.setWardCode(patientEntity.getWardCode());
+            this.save(insertEntity);
+        }else {
+            log.info("插入病区内容已存在 医院code{} ,病区{}" ,patientEntity.getHospitalCode(),patientEntity.getWardCode());
+        }
+    }
+
+    @Override
+    public IPage<BusWordEntity> queryWordList(Integer pageNo, Integer pageSize, WordParam param) {
+        IPage<BusWordEntity> iPage = new Page<>(pageNo, pageSize);
+        LambdaQueryWrapper<BusWordEntity> wrapper = new LambdaQueryWrapper<>();
+        if (StrUtil.isNotBlank(param.getHospitalCode())) {
+            wrapper.eq(BusWordEntity::getHospitalCode, param.getHospitalCode());
+        }
+        if (StrUtil.isNotBlank(param.getWardCode())) {
+            wrapper.eq(BusWordEntity::getWardCode, param.getWardCode());
+        }
+        List<BusWordEntity> list = this.list(wrapper);
+        iPage.setRecords(list);
+        return iPage;
+    }
+}

+ 32 - 0
pump-web/src/main/java/com/tuoren/web/layer/vo/WordParam.java

@@ -0,0 +1,32 @@
+package com.tuoren.web.layer.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/8/5 14:31
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "WordParam", description = "字段: 接口: 接口名称 | 接口名称 | 注释")
+public class WordParam implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "接口: null | 第几页")
+    private Integer pageNo = 1;
+
+    @ApiModelProperty(value = "接口: null | 条数")
+    private Integer pageSize = 10;
+
+    @ApiModelProperty(value = "医院编码")
+    private String hospitalCode;
+
+    @ApiModelProperty(value = "病区")
+    private String wardCode;
+}

+ 6 - 0
pump-web/src/main/java/com/tuoren/web/rabbit/RabbitHandle.java

@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
 
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.gson.Gson;
@@ -70,6 +71,8 @@ public class RabbitHandle {
 
 	private final IBusReceiveRecordUpdateService iBusReceiveRecordUpdateService;
 
+	private final IBusWordService iBusWordService;
+
 	PushInfo pushInfo;
 	/**
 	 * @Description 监听呼吸队列
@@ -130,6 +133,9 @@ public class RabbitHandle {
 		}
 		patient.setUndoTime(undoTime);
 		iBusPatientService.saveOrUpdate(patient);
+		if(StrUtil.isNotBlank(patient.getWardCode())){
+			iBusWordService.insertWord(patient);
+		}
 	}
 	
 	/**