Преглед изворни кода

add
添加网络泵报警接口

lifang пре 3 месеци
родитељ
комит
4cb911af43

+ 11 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/APPDeptController.java

@@ -1,6 +1,7 @@
 package cn.tr.module.smart.app.controller;
 
 import cn.tr.core.pojo.CommonResult;
+import cn.tr.module.smart.app.controller.vo.AppDeptQuestionGroupVO;
 import cn.tr.module.smart.common.dto.BizDeptQueryDTO;
 import cn.tr.module.smart.common.service.IBizDeptService;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptVO;
@@ -34,4 +35,14 @@ public class APPDeptController {
     public CommonResult<List<BizWxDeptVO>> selectList(@RequestBody BizDeptQueryDTO query) {
         return CommonResult.success(bizDeptService.stdWxAppletSelectBizDeptList(query));
     }
+
+    /**
+     * @return
+     */
+    @ApiOperationSupport(author = "lf",order = 2)
+    @ApiOperation(value="查询科室-问卷的二级列表",notes = "权限: 无")
+    @PostMapping("/query/deptQuestionGroup")
+    public CommonResult<List<AppDeptQuestionGroupVO>> selectDeptQuestionGroup() {
+        return CommonResult.success(bizDeptService.selectAppDeptQuestionGroup());
+    }
 }

+ 39 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/AppDeviceController.java

@@ -0,0 +1,39 @@
+package cn.tr.module.smart.app.controller;
+
+import cn.tr.core.pojo.CommonResult;
+import cn.tr.module.smart.app.controller.vo.AppDeptQuestionGroupVO;
+import cn.tr.module.smart.common.dto.BizDeptQueryDTO;
+import cn.tr.module.smart.common.service.IBizDeptService;
+import cn.tr.module.smart.common.service.IBizDeviceAlarmService;
+import cn.tr.module.smart.wx.controller.vo.BizWxDeptVO;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+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;
+
+import java.util.List;
+
+/**
+ * @author lf
+ * @description: 设备列表
+ * @date 2025/8/4 10:16
+ */
+@Api(tags = "网络泵")
+@RestController
+@RequestMapping("/app/device")
+@AllArgsConstructor
+public class AppDeviceController {
+
+    private final IBizDeviceAlarmService deviceAlarmService;
+
+    @ApiOperationSupport(author = "lf",order = 1)
+    @ApiOperation(value="查询报警信",notes = "权限: 无")
+    @PostMapping("/queryAlarm/list")
+    public CommonResult<List<Object>> selectList(@RequestBody BizDeptQueryDTO query) {
+        return CommonResult.success(null);
+    }
+}

+ 29 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/vo/AppDeptQuestionGroupVO.java

@@ -0,0 +1,29 @@
+package cn.tr.module.smart.app.controller.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.*;
+/**
+ * 科室传输对象
+ *
+ * @author lf
+ * @date  2025/06/04 14:09
+ **/
+@Data
+@ApiModel("查询科室-问卷的二级列表")
+@ToString
+public class AppDeptQuestionGroupVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "id", position = 1)
+    private String id;
+
+    @ApiModelProperty(value = "科室名称", position = 2)
+    private String name;
+
+    @ApiModelProperty("问卷信息")
+    private List<AppQuestionAndDeptListVO> groupList;
+}

+ 2 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/app/controller/vo/AppQuestionAndDeptListVO.java

@@ -16,6 +16,8 @@ import java.io.Serializable;
 @ApiModel("科室和问卷组关联信息列表")
 public class AppQuestionAndDeptListVO implements Serializable {
 
+    private String deptId;
+
     @ApiModelProperty(value = "问卷组ID", position = 1)
     private String questionGroupId;
 

+ 0 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizDeptQueryDTO.java

@@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.*;
 /**
  * 科室查询参数
  *

+ 2 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizDeptMapper.java

@@ -1,5 +1,6 @@
 package cn.tr.module.smart.common.mapper;
 
+import cn.tr.module.smart.app.controller.vo.AppDeptQuestionGroupVO;
 import cn.tr.module.smart.common.dto.BizDeptDTO;
 import cn.tr.module.smart.common.po.BizDeptPO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptVO;
@@ -28,4 +29,5 @@ public interface BizDeptMapper {
 
     List<BizDeptPO> convertPOList(List<BizDeptDTO> source);
 
+    List<AppDeptQuestionGroupVO> convertDeptQustionGroupVOList(List<BizDeptPO> depts);
 }

+ 2 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/repository/BizQuestionGroupRepository.java

@@ -21,6 +21,8 @@ import java.util.List;
 @Mapper
 public interface BizQuestionGroupRepository extends BaseMapper<BizQuestionGroupPO> {
 
+   List<AppQuestionAndDeptListVO> selectQuestionAndDeptList();
+
    List<AppQuestionAndDeptListVO> selectQuestionAndDeptList(@Param("deptId") String deptId);
 
 

+ 3 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizDeptService.java

@@ -1,5 +1,6 @@
 package cn.tr.module.smart.common.service;
 
+import cn.tr.module.smart.app.controller.vo.AppDeptQuestionGroupVO;
 import cn.tr.module.smart.common.dto.BizDeptDTO;
 import cn.tr.module.smart.common.dto.BizDeptQueryDTO;
 import cn.tr.module.smart.web.dto.BizDeptLinkDocDTO;
@@ -78,4 +79,6 @@ public interface IBizDeptService{
      * @date 2025/8/12
      */
     boolean deptLinkQuestionGroup(BizDeptLinkQuestionDTO source);
+
+    List<AppDeptQuestionGroupVO> selectAppDeptQuestionGroup();
 }

+ 29 - 7
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizDeptServiceImpl.java

@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.tr.core.exception.ServiceException;
 import cn.tr.core.exception.TRExcCode;
+import cn.tr.module.smart.app.controller.vo.AppDeptQuestionGroupVO;
+import cn.tr.module.smart.app.controller.vo.AppQuestionAndDeptListVO;
 import cn.tr.module.smart.common.dto.BizDeptDTO;
 import cn.tr.module.smart.common.dto.BizDeptQueryDTO;
 import cn.tr.module.smart.common.mapper.BizDeptMapper;
@@ -11,6 +13,7 @@ import cn.tr.module.smart.common.po.BizDeptPO;
 import cn.tr.module.smart.common.po.BizDocDeptPO;
 import cn.tr.module.smart.common.po.BizQuestionDeptPO;
 import cn.tr.module.smart.common.repository.BizDeptRepository;
+import cn.tr.module.smart.common.repository.BizQuestionGroupRepository;
 import cn.tr.module.smart.common.service.IBizDeptService;
 import cn.tr.module.smart.web.dto.BizDeptLinkDocDTO;
 import cn.tr.module.smart.web.dto.BizDeptLinkQuestionDTO;
@@ -20,11 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -38,13 +37,14 @@ public class BizDeptServiceImpl implements IBizDeptService {
     @Autowired
     private BizDeptRepository baseRepository;
 
-
     @Autowired
     private BizDocDeptServiceImpl bizDocDeptService;
 
     @Autowired
     private BizQuestionDeptServiceImpl bizQuestionDeptService;
 
+    @Autowired
+    private BizQuestionGroupRepository questionGroupRepository;
 
     @Override
     public List<BizWxDeptVO> stdWxAppletSelectBizDeptList(BizDeptQueryDTO query) {
@@ -200,4 +200,26 @@ public class BizDeptServiceImpl implements IBizDeptService {
                         .eq(BizDeptPO::getId, deptId)) != 0;
     }
 
-}
+    @Override
+    public List<AppDeptQuestionGroupVO> selectAppDeptQuestionGroup() {
+        List<BizDeptPO> depts = baseRepository.selectList(new LambdaQueryWrapper<>());
+        if(CollectionUtil.isEmpty(depts)){
+            return Collections.emptyList();
+        }
+        List<AppDeptQuestionGroupVO> result=BizDeptMapper.INSTANCE.convertDeptQustionGroupVOList(depts);
+
+        List<AppQuestionAndDeptListVO> questionGroupPOList = questionGroupRepository.selectQuestionAndDeptList();
+        if(CollectionUtil.isEmpty(questionGroupPOList)){
+            return Collections.emptyList();
+        }
+        Map<String, List<AppQuestionAndDeptListVO>> questionGroupMap = questionGroupPOList.stream().collect(Collectors.groupingBy(AppQuestionAndDeptListVO::getDeptId));
+        return result
+                .stream()
+                .peek(dept->{
+                    List<AppQuestionAndDeptListVO> groupList = questionGroupMap.get(dept.getId());
+                    dept.setGroupList(groupList);
+                })
+                .filter(dept->CollectionUtil.isNotEmpty(dept.getGroupList()))
+                .collect(Collectors.toList());
+    }
+}

+ 31 - 27
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/vo/BizClinicVO.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
+import net.minidev.json.annotate.JsonIgnore;
 
 import javax.validation.constraints.NotBlank;
 import java.util.Date;
@@ -28,60 +29,63 @@ public class BizClinicVO extends BaseDTO  {
     @NotBlank  (message = "主键不能为空",groups = {Update.class})
     private String id;
 
-    @ApiModelProperty(value = "手术名称", position = 1)
+    @ApiModelProperty(value = "手术名称", position = 2)
     private String clinicName;
 
-    @ApiModelProperty(value = "住院号", position = 2)
+    @ApiModelProperty(value = "住院号", position = 3)
     private String patientCode;
 
-    @ApiModelProperty(value = "患者姓名", position = 3)
+    @ApiModelProperty(value = "性别", position = 4)
+    private String patientGender;
+
+    @ApiModelProperty(value = "患者姓名", position = 5)
     private String patientName;
 
-    @ApiModelProperty(value = "年龄", position = 4)
+    @ApiModelProperty(value = "年龄", position = 6)
     private Integer patientAge;
 
-    @ApiModelProperty(value = "科室名称", position = 5)
+    @ApiModelProperty(value = "科室名称", position = 7)
     private String deptName;
 
-    @ApiModelProperty(value = "是否已填写术前问卷",position = 6)
+
     private Boolean questionFlag;
 
-    @ApiModelProperty(value = "手术开始时间", position = 7)
+    @ApiModelProperty(value = "手术开始时间", position = 9)
     private Date clinicStartTime;
 
-    @ApiModelProperty(value = "手术结束时间", position = 8)
+    @ApiModelProperty(value = "手术结束时间", position = 10)
     private Date clinicEndTime;
 
-    @ApiModelProperty(value = "随访次数", position = 9)
+    @ApiModelProperty(value = "随访次数", position = 11)
     private Integer followUpCount;
 
-    @ApiModelProperty(value = "性别", position = 20)
-    private String patientGender;
+    @ApiModelProperty(value = "镇痛评价次数",position = 12)
+    private Integer assessCount;
 
-    @ApiModelProperty(value = "泵信息", position = 23)
+    @ApiModelProperty(value = "泵信息", position = 13)
     private Object pumpInfo;
 
-    @ApiModelProperty(value = "患者头像", position = 24)
+    @ApiModelProperty(value = "患者头像", position = 14)
     private String imageUrl;
 
-    @ApiModelProperty(value = "绑定的患者id",position = 25)
-    private String patientId;
-
-    @ApiModelProperty(value = "镇痛评价次数",position = 26)
-    private Integer assessCount;
-
-    @ApiModelProperty(value = "上一次填写术前问卷时间",position = 27)
+    @ApiModelProperty(value = "上一次填写术前问卷时间",hidden = true)
+    @JsonIgnore
     private Date lastBeforeQuestionTime;
 
-    @ApiModelProperty(value = "上一次填写术后问卷的时间",position = 28)
-    private Date lastAfterQuestionTime;
+    @ApiModelProperty(value = "是否已填写术前问卷",position = 8)
+    public Boolean isQuestionFlag() {
+        return !Objects.isNull(this.lastBeforeQuestionTime);
+    }
 
+    @ApiModelProperty("微信的看护人昵称")
+    private String wxUserNickname;
 
+    @ApiModelProperty("微信的看护人头像")
+    private String wxUserAvatar;
 
-    public boolean isQuestionFlag() {
-        return !Objects.isNull(this.lastBeforeQuestionTime);
-    }
+    @ApiModelProperty("看护的医生昵称")
+    private String doctorNickname;
 
-    @ApiModelProperty("创建时间")
-    private Date createTime;
+    @ApiModelProperty("看护的医生头像")
+    private String doctorAvatar;
 }

+ 27 - 15
tr-modules/tr-module-smartFollowUp/src/main/resources/mapper/smart/BizQuestionGroupMapper.xml

@@ -8,11 +8,23 @@
     <select id="selectQuestionAndDeptList"
             resultType="cn.tr.module.smart.app.controller.vo.AppQuestionAndDeptListVO">
         SELECT
-            bqg.ID AS questionGroupId,
-            bqg.NAME
+        bqg.id AS questionGroupId,
+        bqg.name,
+        bqd.dept_id as deptId
         FROM
-            biz_question_group bqg
-                JOIN biz_question_dept bqd ON bqg.ID = bqd.question_group_id
+        biz_question_group bqg
+        JOIN biz_question_dept bqd ON bqg.ID = bqd.question_group_id
+    </select>
+
+    <select id="selectQuestionAndDeptList"
+            resultType="cn.tr.module.smart.app.controller.vo.AppQuestionAndDeptListVO">
+        SELECT
+        bqg.id AS questionGroupId,
+        bqg.name,
+        bqd.dept_id as deptId
+        FROM
+        biz_question_group bqg
+        JOIN biz_question_dept bqd ON bqg.ID = bqd.question_group_id
         <where>
             and bqg.type ='AFTER'
             <if test="deptId != null">
@@ -22,18 +34,18 @@
     </select>
     <select id="queryAllUnlink" resultType="cn.tr.module.smart.web.vo.BizDeptUnlinkQuestionVO">
         SELECT
-            bqg.id as questionGroupId,
-            bqg.name,
-            bqg.type,
-            bqg.interval,
-            bqg.frequency,
-            bqg.create_time,
-            bqg.update_time,
-            bqg.create_by,
-            bqg.update_by
+        bqg.id as questionGroupId,
+        bqg.name,
+        bqg.type,
+        bqg.interval,
+        bqg.frequency,
+        bqg.create_time,
+        bqg.update_time,
+        bqg.create_by,
+        bqg.update_by
         FROM
-            biz_question_group bqg
-                LEFT JOIN biz_question_dept bqd ON bqg.ID = bqd.question_group_id
+        biz_question_group bqg
+        LEFT JOIN biz_question_dept bqd ON bqg.ID = bqd.question_group_id
         <where>
             <if test="query.deptId != null and query.deptId != '' ">
                 AND (bqd.dept_id != #{query.deptId} or bqd.dept_id is null)