From 2013ea208bc8fa12fb6f8d22497f2a8b5f69855f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 11 九月 2026 11:18:30 +0800
Subject: [PATCH] 1.省立同德的满意度功能处理 2.省立同德、南华采集时间缩短 3.给保存问卷接口,加一下防止重复提前的注解@RepeatSubmit 4.省立同德新增“报备科室责任人”字段 5.登陆接口加“用户类型”字段,不影响当前登陆逻辑

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java |  105 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 98 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
index 263b88b..1141e12 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
@@ -4,11 +4,16 @@
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.smartor.domain.ServiceSubTaskDetailReq;
-import com.smartor.domain.ServiceSubtask;
-import com.smartor.domain.ServiceSubtaskDetail;
+import com.ruoyi.system.service.ISysConfigService;
+import com.smartor.domain.*;
+import com.smartor.domain.DTO.QuestionResultDTO;
+import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
+import com.smartor.domain.VO.QuestionResultVO;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.service.IServiceSubtaskDetailService;
 import com.smartor.service.IServiceSubtaskService;
 import io.swagger.annotations.Api;
@@ -17,10 +22,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log;
 
 /**
  * 璇煶浠诲姟缁撴灉鏄庣粏Controller
@@ -36,6 +41,9 @@
     private IServiceSubtaskDetailService ServiceSubtaskDetailService;
     @Autowired
     private IServiceSubtaskService serviceSubtaskService;
+
+    @Autowired
+    private ISysConfigService configService;
 
     /**
      * 鏌ヨ鍗曚釜浜虹殑璇煶淇℃伅
@@ -92,6 +100,9 @@
             serviceSubtask.setSendstate(6L);
             serviceSubtask.setId(serviceSubTaskDetailReq.getSubId());
             serviceSubtask.setRemark("鏁版嵁琛ュ厖瀹屾垚");
+            serviceSubtask.setUpdateTime(new Date());
+            serviceSubtask.setFinishtime(new Date());
+            serviceSubtask.setPreachform("1");
             serviceSubtask.setResult("success");
             aBoolean = serviceSubtaskService.updateServiceSubtask(serviceSubtask);
         }
@@ -143,4 +154,84 @@
         return toAjax(ServiceSubtaskDetailService.deleteServiceSubtaskDetailByCalldetailids(calldetailids));
     }
 
+    /**
+     * 鎸囨爣缁熻
+     */
+    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:add')")
+    @ApiOperation("鎸囨爣缁熻")
+    @GetMapping(value = "/countPatByTarget/{targetid}")
+    public AjaxResult countPatByTarget(@PathVariable("targetid") Long targetid) {
+        return success(ServiceSubtaskDetailService.countPatByTarget(targetid));
+    }
+
+
+    /**
+     * 鑾峰彇闅忚璇︽儏-鎸囨爣璇︽儏(瓒呴摼鎺�)
+     */
+    @ApiOperation("鑾峰彇闅忚璇︽儏-鎸囨爣璇︽儏")
+    @PostMapping("/getServiceSubtaskDetails")
+    public List<Map<String, Object>> getServiceSubtaskDetails(@RequestBody ServiceSubtaskDetailVO serviceSubtaskDetailVO) {
+        List<Map<String, Object>> map = new ArrayList<>();
+        map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO);
+        return map;
+    }
+
+    /**
+     * 鑾峰彇闅忚璇︽儏-鎸囨爣璇︽儏(瓒呴摼鎺�)
+     */
+    @ApiOperation("鑾峰彇闅忚璇︽儏-鎸囨爣璇︽儏(瓒呴摼鎺�)")
+    @PostMapping("/getServiceSubtaskDetailsHyperlink")
+    public List<Map<String, Object>> getServiceSubtaskDetailsHyperlink(@RequestBody ServiceSubtaskDetailVO serviceSubtaskDetailVO) {
+        LoginUser loginUser = getLoginUser();
+        String orgid = loginUser.getUser().getOrgid();
+        String configKey = serviceSubtaskDetailVO.getConfigKey();
+        if (StringUtils.isNotEmpty(configKey)) {
+            String configValue = configService.selectConfigByKey(configKey, orgid);
+            serviceSubtaskDetailVO.setConfigValue(configValue);
+            if (StringUtils.isEmpty(configValue)) {
+                String logInfo = "getSfStatisticsCount-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
+                log.error(logInfo);
+            }
+        }
+        List<Map<String, Object>> map = new ArrayList<>();
+        map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO);
+        return map;
+    }
+
+
+    /**
+     * 鏌ヨ鎮h�呴殢璁夸俊鎭�
+     */
+    @ApiOperation("鐪佺珛鍚屽痉婊℃剰搴︽暟鎹粺璁�")
+    @PostMapping("/sltaMydTotalByScore")
+    public Map<String, Object> sltaMydTotal(@RequestBody QuestionResultVO questionResultVO) {
+        List<ServiceSubtaskRes> serviceSubtaskResList = null;
+        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
+        serviceSubtaskEntity.setServiceType(questionResultVO.getServiceType());
+        serviceSubtaskEntity.setEndOutHospTime(questionResultVO.getEndOutHospTime());
+        serviceSubtaskEntity.setStartOutHospTime(questionResultVO.getStartOutHospTime());
+        serviceSubtaskEntity.setDeptOrDistrict(questionResultVO.getDeptOrDistrict());
+        serviceSubtaskEntity.setLeavehospitaldistrictcodes(questionResultVO.getLeavehospitaldistrictcodes());
+        if (serviceSubtaskEntity != null) {
+            List<ServiceSubtask> serviceSubtasks = serviceSubtaskService.getServiceSubtasks(serviceSubtaskEntity);
+            serviceSubtaskResList = DtoConversionUtils.sourceToTarget(serviceSubtasks, ServiceSubtaskRes.class);
+        }
+        List<ServiceSubtaskDetailRatioExport> detailList = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskResList);
+
+        // 鎸� questiontext 鍒嗙粍鍚庤浆鎹负 QuestionResultVO
+        List<QuestionResultDTO> result = new ArrayList<>();
+        if (!detailList.isEmpty()) {
+            Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream()
+                    .collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext));
+
+            groupedMap.forEach((questionText, exportList) -> {
+                QuestionResultDTO questionResultDTO = new QuestionResultDTO();
+                questionResultDTO.setQeustionText(questionText);
+                questionResultDTO.setSubtaskDetailRatioExportList(exportList);
+                result.add(questionResultDTO);
+            });
+        }
+
+        return success(result);
+    }
 }

--
Gitblit v1.9.3