Ver Fonte

add
问卷信息

18339543638 há 4 meses atrás
pai
commit
56ff871875

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

@@ -2,6 +2,8 @@ package cn.tr.module.smart.common.service;
 
 import cn.tr.module.smart.common.dto.BizQuestionGroupDTO;
 import cn.tr.module.smart.common.dto.BizQuestionGroupQueryDTO;
+import cn.tr.module.smart.web.dto.BizWebQuestionAnswerDTO;
+import cn.tr.module.smart.wx.controller.vo.BizWebQuestionGroupVO;
 
 import java.util.Collection;
 import java.util.List;
@@ -66,4 +68,6 @@ public interface IBizQuestionGroupService{
      * @date 2025/7/31
      */
      BizQuestionGroupDTO  selectQuestionGroupById(String id);
+
+    BizWebQuestionGroupVO selectBizQuestionGroupById(String id);
 }

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

@@ -29,5 +29,11 @@ public interface IBizQuestionService{
      * @date 2025/7/31
      */
     List<BizQuestionDTO> selectQuestionByGroupId(String groupId);
+
+    /**
+     * 查询问题组下所有问题数据
+     * @param groupId
+     * @return
+     */
     List<BizWxDeptQuestionVO> selectBizQuestionByGroupId(String groupId);
 }

+ 6 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizQuestionAnswerServiceImpl.java

@@ -19,6 +19,7 @@ import cn.tr.module.smart.common.repository.BizQuestionAnswerRepository;
 import cn.tr.module.smart.common.repository.BizQuestionGroupRepository;
 import cn.tr.module.smart.common.repository.BizQuestionRepository;
 import cn.tr.module.smart.common.service.IBizQuestionAnswerService;
+import cn.tr.module.smart.common.service.IBizQuestionService;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerByClinicIdDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerQueryDTO;
@@ -28,6 +29,7 @@ import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import cn.tr.module.smart.wx.dto.BizWxAppletCommitSurgeryQuestionDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -56,6 +58,9 @@ public class BizQuestionAnswerServiceImpl implements IBizQuestionAnswerService {
     @Autowired
     private BizClinicRoomRepository clinicRoomRepository;
 
+    @Autowired
+    @Lazy
+    private IBizQuestionService questionService;
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean stdWxAppletCommitPreSurgeryQuestionnaireAnswer(BizWxAppletCommitSurgeryQuestionDTO source) {
@@ -120,6 +125,7 @@ public class BizQuestionAnswerServiceImpl implements IBizQuestionAnswerService {
             throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "未查询到问卷组信息");
         }
         BizWebQuestionAnswerDTO bizWebQuestionAnswerDTO = new BizWebQuestionAnswerDTO();
+        bizWebQuestionAnswerDTO.setId(bizQuestionGroupPO.getId());
         bizWebQuestionAnswerDTO.setGroupName(bizQuestionGroupPO.getName());
         bizWebQuestionAnswerDTO.setSendTime(bizQuestionAnswerPO.getSendTime());
         bizWebQuestionAnswerDTO.setAnswerTime(bizQuestionAnswerPO.getAnswerTime());

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

@@ -3,6 +3,7 @@ package cn.tr.module.smart.common.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.digest.DigestUtil;
 import cn.tr.core.exception.ServiceException;
 import cn.tr.core.exception.TRExcCode;
@@ -10,17 +11,17 @@ import cn.tr.core.strategy.LoginUserStrategy;
 import cn.tr.core.tenant.TenantContextHolder;
 import cn.tr.module.smart.common.dto.BizQuestionGroupDTO;
 import cn.tr.module.smart.common.dto.BizQuestionGroupQueryDTO;
-import cn.tr.module.smart.common.mapper.BizQuestionGroupMapper;
-import cn.tr.module.smart.common.mapper.BizQuestionGroupSquareMapper;
-import cn.tr.module.smart.common.mapper.BizQuestionSquareMapper;
-import cn.tr.module.smart.common.po.BizQuestionGroupPO;
-import cn.tr.module.smart.common.po.BizQuestionGroupSquarePO;
-import cn.tr.module.smart.common.po.BizQuestionPO;
-import cn.tr.module.smart.common.po.BizQuestionSquarePO;
+import cn.tr.module.smart.common.entity.BizWxAppletQuestionAnswerEntity;
+import cn.tr.module.smart.common.mapper.*;
+import cn.tr.module.smart.common.po.*;
 import cn.tr.module.smart.common.repository.BizQuestionGroupRepository;
 import cn.tr.module.smart.common.repository.BizQuestionGroupSquareRepository;
 import cn.tr.module.smart.common.repository.BizQuestionRepository;
 import cn.tr.module.smart.common.service.IBizQuestionGroupService;
+import cn.tr.module.smart.web.dto.BizWebQuestionAnswerDTO;
+import cn.tr.module.smart.web.vo.BizWebQuestionAnswerVO;
+import cn.tr.module.smart.wx.controller.vo.BizWebQuestionGroupVO;
+import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -207,4 +208,19 @@ public class BizQuestionGroupServiceImpl implements IBizQuestionGroupService {
     public BizQuestionGroupDTO selectQuestionGroupById(String id) {
         return BizQuestionGroupMapper.INSTANCE.convertDto(baseRepository.selectById(id));
     }
+
+    @Override
+    public BizWebQuestionGroupVO selectBizQuestionGroupById(String id) {
+        BizQuestionGroupPO bizQuestionGroupPO = this.baseRepository.selectById(id);
+        if (ObjectUtil.isNull(bizQuestionGroupPO)) {
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "未查询到问卷组信息");
+        }
+        List<BizQuestionPO> questionList = bizQuestionRepository.selectList(new LambdaQueryWrapper<BizQuestionPO>()
+                .eq(BizQuestionPO::getGroupId, id));
+        BizWebQuestionGroupVO bizWebQuestionAnswerDTO = new BizWebQuestionGroupVO();
+        bizWebQuestionAnswerDTO.setId(bizQuestionGroupPO.getId());
+        bizWebQuestionAnswerDTO.setGroupName(bizQuestionGroupPO.getName());
+        bizWebQuestionAnswerDTO.setQuestionList(BizQuestionMapper.INSTANCE.convertWxDeptQuestionVOList(questionList));
+        return bizWebQuestionAnswerDTO;
+    }
 }

+ 3 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/dto/BizWebQuestionAnswerDTO.java

@@ -18,9 +18,11 @@ import java.util.List;
  */
 @Data
 @ToString
-@ApiModel("问卷信息在感情")
+@ApiModel("问卷信息情")
 public class BizWebQuestionAnswerDTO implements Serializable {
     private static final long serialVersionUID = 1L;
+    @ApiModelProperty("问卷id")
+    private String id;
 
     @ApiModelProperty(value = "问题名称", position = 1)
     private String groupName;

+ 24 - 5
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/BizWxAppletQuestionController.java

@@ -6,9 +6,12 @@ import cn.tr.core.pojo.CommonResult;
 import cn.tr.module.smart.common.enums.ClinicPhaseEnums;
 import cn.tr.module.smart.common.service.IBizClinicRoomService;
 import cn.tr.module.smart.common.service.IBizQuestionAnswerService;
+import cn.tr.module.smart.common.service.IBizQuestionGroupService;
+import cn.tr.module.smart.common.service.IBizQuestionService;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerByClinicIdDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionQueryDTO;
+import cn.tr.module.smart.wx.controller.vo.BizWebQuestionGroupVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import cn.tr.module.smart.wx.dto.BizWxAppletCommitSurgeryQuestionDTO;
 import cn.tr.plugin.mybatis.base.BaseController;
@@ -16,6 +19,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import java.util.*;
@@ -34,7 +38,8 @@ public class BizWxAppletQuestionController extends BaseController{
 
     private final IBizClinicRoomService clinicRoomService;
     private final IBizQuestionAnswerService questionAnswerService;
-    private final IBizQuestionAnswerService bizQuestionAnswerService;
+    private final IBizQuestionService bizQuestionService;
+    private final IBizQuestionGroupService questionGroupService;
     @ApiOperationSupport(author = "zzy",order = 1)
     @GetMapping("/preSurgery/query/{clinicId}")
     @ApiOperation(value = "查看术前问卷",notes = "权限: 无")
@@ -56,19 +61,33 @@ public class BizWxAppletQuestionController extends BaseController{
 
 
     @ApiOperationSupport(author = "lf", order = 3)
+    @ApiOperation(value = "查看术后问卷详细信息", notes = "权限: 无")
+    @GetMapping("/question/detail/{answerId}")
+    public CommonResult<BizWebQuestionAnswerDTO> selectQuestionnaireDetail(@PathVariable String answerId) {
+        return CommonResult.success(questionAnswerService.selectDetailByAnswerId(answerId));
+    }
+
+    @ApiOperationSupport(author = "lf", order = 4)
     @GetMapping("/postSurgery/query/{clinicId}")
-    @ApiOperation(value = "查看术后问卷",notes = "权限: 无")
+    @ApiOperation(value = "查看手术所有的术后问卷记录",notes = "权限: 无")
     public CommonResult<List<BizWebQuestionAnswerByClinicIdDTO>> selectQuestionnaireList(@PathVariable("clinicId") String clinicId) {
         BizWebQuestionQueryDTO query = new BizWebQuestionQueryDTO();
         query.setClinicId(clinicId);
         query.setQuestionType(ClinicPhaseEnums.AFTER);
-        return CommonResult.success(bizQuestionAnswerService.selectAnswerByClinicList(query));
+        return CommonResult.success(questionAnswerService.selectAnswerByClinicList(query));
     }
-    @ApiOperationSupport(author = "lf", order = 4)
+    @ApiOperationSupport(author = "lf", order = 5)
     @ApiOperation(value = "提交术后问卷",notes = "权限: 无")
     @PostMapping("/postSurgery/commit")
     public CommonResult<Boolean> selectQuestionnaireList(@RequestBody@Validated BizWxAppletCommitSurgeryQuestionDTO source) {
         questionAnswerService.stdWxAppletCommitPostSurgeryQuestionnaireAnswer(source);
         return CommonResult.success(Boolean.TRUE);
     }
-}
+
+    @ApiOperationSupport(author = "lf", order = 6)
+    @GetMapping("/groupDetail/{id}")
+    @ApiOperation(value = "获取术后问卷信息",notes = "权限: 无")
+    public CommonResult<BizWebQuestionGroupVO> selectQuestionnaireById(@PathVariable("id") String id) {
+        return CommonResult.success(questionGroupService.selectBizQuestionGroupById(id));
+    }
+}

+ 33 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/vo/BizWebQuestionGroupVO.java

@@ -0,0 +1,33 @@
+package cn.tr.module.smart.wx.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.Date;
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/7/22 13:50
+ */
+@Data
+@ToString
+@ApiModel("问卷信息详情")
+public class BizWebQuestionGroupVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty("问卷id")
+    private String id;
+
+    @ApiModelProperty(value = "问题名称", position = 1)
+    private String groupName;
+
+    @ApiModelProperty(value = "问卷类型", position = 4)
+    private String questionType;
+
+    @ApiModelProperty(value = "问题集合", position = 5)
+    private List<BizWxDeptQuestionVO> questionList;
+}

+ 1 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/vo/BizWxDeptQuestionVO.java

@@ -15,7 +15,7 @@ import java.util.List;
  * @Description XXX
  */
 @Data
-@ApiModel("微信小程序术问卷")
+@ApiModel("微信小程序术问卷")
 @ToString
 public class BizWxDeptQuestionVO {