From 1ecb6109954d22e9be03518d64cdcfd89b599091 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 02 六月 2026 18:20:11 +0800
Subject: [PATCH] 1.处理修改service_task时,子任务删除,未将出院数据还原的问题; 2.新增省立同德满意度接口 3.处理患者基本信息并发新增的问题

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java |   64 ++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 23 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
index a1346c9..a2fca4a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -14,6 +14,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.service.IServiceSubtaskService;
 import com.smartor.service.IServiceTaskService;
 import io.swagger.annotations.Api;
@@ -26,8 +27,10 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.time.LocalDate;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -45,7 +48,7 @@
     private IServiceTaskService serviceTaskService;
 
     @Autowired
-    private IServiceSubtaskService iServiceTaskCallService;
+    private IServiceSubtaskService iServiceSubtaskService;
 
     @Value("${pub_key}")
     private String pub_key;
@@ -62,30 +65,44 @@
     @ApiOperation("鏌ヨ浠诲姟鍒楄〃")
     //@PreAuthorize("@ss.hasPermi('smartor:ServiceTask:list')")
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
-    @PostMapping("list")
+    @PostMapping("/list")
     public TableDataInfo list(@RequestBody ServiceTask serviceTask) {
         PageUtils.startPageByPost(serviceTask.getPageNum(), serviceTask.getPageSize());
 //        List<ServiceTask> list = serviceTaskService.selectServiceTaskList(serviceTask);
         List<ServiceTask> list = serviceTaskService.selectServiceTaskAndtaskDeptList(serviceTask);
         List<ServiceTaskVO> serviceTaskVOS = DtoConversionUtils.sourceToTarget(list, ServiceTaskVO.class);
+//
+//        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
+//
+//        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
+//        serviceSubtaskEntity.setTaskIds(taskIds);
+//        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
+//        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
+//        // 鎵归噺鏌ヨ鎵�鏈夊瓙浠诲姟
+//        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
+//                .selectServiceSubtaskList(serviceSubtaskEntity)
+//                .stream()
+//                .filter(subtask -> subtask.getTaskid() != null)  // 娣诲姞杩囨护
+//                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
+
 
         if (CollectionUtils.isNotEmpty(serviceTaskVOS)) {
-            for (ServiceTaskVO ServiceTaskVO : serviceTaskVOS) {
-                ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
-                serviceSubtaskVO.setTaskid(ServiceTaskVO.getTaskid());
-                serviceSubtaskVO.setStartOutHospTime(serviceTask.getStartOutHospTime());
-                serviceSubtaskVO.setEndOutHospTime(serviceTask.getEndOutHospTime());
-                List<ServiceSubtask> ServiceTaskcalls = iServiceTaskCallService.selectServiceSubtaskList(serviceSubtaskVO);
-                if (CollectionUtils.isNotEmpty(ServiceTaskcalls)) {
-                    //宸插彂閫侊紙瀛愪换鍔′腑鐨� sendstate=1涓鸿棰嗗彇锛�
-                    long yfs = ServiceTaskcalls.stream().filter(serviceTaskcall1 -> (serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() >= 3L) || (serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() == 1L)).collect(Collectors.toList()).stream().count();
-                    //鏈彂閫�
-                    long wfs = ServiceTaskcalls.stream().filter(serviceTaskcall1 -> serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() == 2L).collect(Collectors.toList()).stream().count();
-                    ServiceTaskVO.setYfs(yfs);
-                    ServiceTaskVO.setWfs(wfs);
-                }
-
-            }
+//            for (ServiceTaskVO taskVO : serviceTaskVOS) {
+//                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
+//
+//                if (CollectionUtils.isNotEmpty(subtasks)) {
+//                    //宸插彂閫侊紙瀛愪换鍔′腑鐨� sendstate=1涓鸿棰嗗彇锛�
+//                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
+//                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
+//                    //鏈彂閫�
+//                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
+//                            s.getSendstate() == 2L).count();
+//                    taskVO.setYfs(yfs);
+//                    taskVO.setWfs(wfs);
+//
+//                }
+//
+//            }
             //鑾峰彇total
             long total = PageUtils.count(new ISelect() {
                 @Override
@@ -133,10 +150,11 @@
     @Log(title = "璇煶浠诲姟", businessType = BusinessType.INSERT)
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/add")
-    public AjaxResult add(@RequestBody ServiceTask ServiceTask) {
+    public AjaxResult add(@RequestBody ServiceTask serviceTask) {
         SysUser user = getLoginUser().getUser();
-        ServiceTask.setOrgid(user.getOrgid());
-        return toAjax(serviceTaskService.insertServiceTask(ServiceTask));
+        serviceTask.setOrgid(user.getOrgid());
+        serviceTask.setCampusid(user.getCampusid());
+        return toAjax(serviceTaskService.insertServiceTask(serviceTask));
     }
 
     /**
@@ -211,7 +229,7 @@
 
         log.info("tid鍜宲id鐨勫�间负锛歿},{}", tid, pid);
         if (StringUtils.isEmpty(serviceTaskScriptQues.getPatfrom())) serviceTaskScriptQues.setPatfrom("0");
-        return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom()));
+        return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom(),null));
     }
 
 
@@ -235,7 +253,7 @@
 
         log.info("tid鍜宲id鐨勫�间负锛歿},{}", tid, pid);
         if (StringUtils.isEmpty(serviceTaskScriptQues.getPatfrom())) serviceTaskScriptQues.setPatfrom("0");
-        return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom()));
+        return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom(),null));
     }
 
 

--
Gitblit v1.9.3