Pārlūkot izejas kodu

fix
患者列表

lifang 3 mēneši atpakaļ
vecāks
revīzija
67e529b679

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

@@ -92,4 +92,6 @@ public interface IBizQuestionGroupService{
      * @param source
      */
     BizUndoMsgPushResultVO pushMpInfo(AppMessageQuestionGroupPushDTO source);
+
+    BizWebQuestionGroupVO groupDetailByAi(String clinicId) throws NoApiKeyException, InputRequiredException;
 }

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

@@ -759,7 +759,12 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
         //如果未设置的话,采用AI生成一组问卷
         BizClinicRoomPO bizClinicRoomPO = baseRepository.selectById(clinicId);
         BizQuestionGroupAiDTO query = new BizQuestionGroupAiDTO();
-        query.setName(bizClinicRoomPO.getClinicName()+"术前问卷");
+        String name = new StringBuilder().append("年龄:").append(bizClinicRoomPO.getPatientAge())
+                .append("性别:").append(bizClinicRoomPO.getPatientGender())
+                .append("手术:").append(bizClinicRoomPO.getClinicName())
+                .append(",术前问卷")
+                .toString();
+        query.setName(name);
         query.setType(ClinicPhaseEnums.BEFORE);
         List<BizQuestionDTO> bizQuestionDTOS = questionGroupService.generateAi(query);
         return BizQuestionMapper.INSTANCE.dtoConvertWxDeptQuestionVOList(bizQuestionDTOS)

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

@@ -409,4 +409,27 @@ public class BizQuestionGroupServiceImpl implements IBizQuestionGroupService {
         }
         return result;
     }
+
+    @Override
+    @Cacheable(value = "ai::preSurgeryQuestionnaire#2592000",key = "'groupId:' + #clinicId")
+    public BizWebQuestionGroupVO groupDetailByAi(String clinicId) throws NoApiKeyException, InputRequiredException {
+        BizWebQuestionGroupVO result = new BizWebQuestionGroupVO();
+        result.setGroupName("AI术后问卷");
+        //如果未设置的话,采用AI生成一组问卷
+        BizClinicRoomPO bizClinicRoomPO = clinicRoomRepository.selectById(clinicId);
+        BizQuestionGroupAiDTO query = new BizQuestionGroupAiDTO();
+        String name = new StringBuilder().append("年龄:").append(bizClinicRoomPO.getPatientAge())
+                .append("性别:").append(bizClinicRoomPO.getPatientGender())
+                .append("手术:").append(bizClinicRoomPO.getClinicName())
+                .append(",术后问卷")
+                .toString();
+        query.setName(name);
+        query.setType(ClinicPhaseEnums.AFTER);
+        List<BizQuestionDTO> bizQuestionDTOS = this.generateAi(query);
+        result.setQuestionList(BizQuestionMapper.INSTANCE.dtoConvertWxDeptQuestionVOList(bizQuestionDTOS)
+                .stream()
+                .peek(t->t.setGroupId(clinicId))
+                .collect(Collectors.toList()));
+        return result;
+    }
 }

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

@@ -2,6 +2,8 @@ package cn.tr.module.smart.wx.controller;
 
 import cn.hutool.core.collection.CollectionUtil;
 
+import cn.tr.core.exception.ServiceException;
+import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.pojo.CommonResult;
 import cn.tr.module.smart.common.enums.ClinicPhaseEnums;
 import cn.tr.module.smart.common.service.IBizClinicRoomService;
@@ -90,7 +92,18 @@ public class BizWxAppletQuestionController extends BaseController{
     @ApiOperationSupport(author = "lf", order = 6)
     @GetMapping("/groupDetail/{id}")
     @ApiOperation(value = "获取术后问卷信息(包含问题)",notes = "权限: 无")
-    public CommonResult<BizWebQuestionGroupVO> selectQuestionnaireById(@PathVariable("id") String id) {
+    public CommonResult<BizWebQuestionGroupVO> groupDetail(@PathVariable("id") String id) {
         return CommonResult.success(questionGroupService.selectBizQuestionGroupById(id));
     }
+
+    @ApiOperationSupport(author = "lf", order = 7)
+    @GetMapping("/groupDetailByAi/{clinicId}")
+    @ApiOperation(value = "获取术后问卷信息(AI实时生成)",notes = "权限: 无")
+    public CommonResult<BizWebQuestionGroupVO> groupDetailByAi(@PathVariable("clinicId") String clinicId) {
+        try {
+            return CommonResult.success(questionGroupService.groupDetailByAi(clinicId));
+        }catch (Exception e){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"问卷获取失败");
+        }
+    }
 }