From 91f8f35123a27c923e5006e0324829fbe3d9da65 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 19 一月 2026 17:52:29 +0800
Subject: [PATCH] 【丽水】smartor/servicetask/list 接口优化
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java | 38 ++++++++++++++++++++++++++------------
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 8 ++++++++
smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java | 3 +++
3 files changed, 37 insertions(+), 12 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..3cba63a 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
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -45,7 +46,7 @@
private IServiceTaskService serviceTaskService;
@Autowired
- private IServiceSubtaskService iServiceTaskCallService;
+ private IServiceSubtaskService iServiceSubtaskService;
@Value("${pub_key}")
private String pub_key;
@@ -69,20 +70,33 @@
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());
+
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskIds(taskIds);
+ serviceSubtaskVO.setStartOutHospTime(serviceTask.getStartOutHospTime());
+ serviceSubtaskVO.setEndOutHospTime(serviceTask.getEndOutHospTime());
+ // 鎵归噺鏌ヨ鎵�鏈夊瓙浠诲姟
+ Map<Long, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
+ .selectServiceSubtaskList(serviceSubtaskVO)
+ .stream()
+ .collect(Collectors.groupingBy(ServiceSubtask::getTaskid));
+
+
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)) {
+ for (ServiceTaskVO taskVO : serviceTaskVOS) {
+ List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid(), Collections.emptyList());
+
+ if (CollectionUtils.isNotEmpty(subtasks)) {
//宸插彂閫侊紙瀛愪换鍔′腑鐨� 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 yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
+ (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
//鏈彂閫�
- long wfs = ServiceTaskcalls.stream().filter(serviceTaskcall1 -> serviceTaskcall1.getSendstate() != null && serviceTaskcall1.getSendstate() == 2L).collect(Collectors.toList()).stream().count();
- ServiceTaskVO.setYfs(yfs);
- ServiceTaskVO.setWfs(wfs);
+ long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
+ s.getSendstate() == 2L).count();
+ taskVO.setYfs(yfs);
+ taskVO.setWfs(wfs);
+
}
}
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
index 36e5e43..7dca9b1 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
@@ -151,6 +151,9 @@
@ApiModelProperty(value = "浠诲姟ID")
private Long taskid;
+ @ApiModelProperty(value = "浠诲姟Id闆嗗悎")
+ private List<Long> taskIds;
+
/**
* 妯℃澘ID
*/
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 06bb5ab..1e884f0 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -278,6 +278,14 @@
<if test="senderdetail != null and senderdetail != ''">and senderdetail = #{senderdetail}</if>
<if test="type != null and type != ''">and type = #{type}</if>
<if test="taskid != null ">and taskid = #{taskid}</if>
+ <!-- taskIds绛涢�� -->
+ <if test="taskIds != null and taskIds.size() > 0">
+ AND taskid IN
+ <foreach collection="taskIds" item="itemTaskId" open="(" separator=","
+ close=")">
+ #{itemTaskId}
+ </foreach>
+ </if>
<if test="templateid != null and templateid != ''">and templateid = #{templateid}</if>
<if test="templatename != null and templatename != ''">and templatename like concat('%', #{templatename},
'%')
--
Gitblit v1.9.3