From a5d3da1c7d435a2c76c022b818bce220cec58681 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Wed, 02 Aug 2023 10:06:38 +0800
Subject: [PATCH] 指挥端-历史任务查询接口增加按app用户id过滤
---
ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java | 18 ++++++++
ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java | 6 ++
ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml | 26 ++++++++----
ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTask.java | 12 ++++++
4 files changed, 51 insertions(+), 11 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTask.java b/ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTask.java
index ce4e2af..fda8a46 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTask.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTask.java
@@ -50,12 +50,24 @@
/** app任务关联多用户id列表 */
private List<String> userIds;
+
/** app任务关联多用户 */
private List<SysUser> sysUserList;
+
/** app任务详情信息 */
@ApiModelProperty(notes = "app任务详情信息")
private List<ArdAppTaskDetail> ardAppTaskDetailList;
+ /** app用户ID */
+ private String appUserId;
+
+ public String getAppUserId() {
+ return appUserId;
+ }
+
+ public void setAppUserId(String appUserId) {
+ this.appUserId = appUserId;
+ }
public List<SysUser> getSysUserList() {
return sysUserList;
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
index 2ebed97..f7c00f6 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
@@ -43,7 +43,11 @@
*/
public List<ArdAppTask> selectArdAppTaskListWithDetail(ArdAppTask ardAppTask);
public List<ArdAppTask> selectArdAppTaskListWithDetailById(ArdAppTask ardAppTask);
-
+ /**
+ * 按任务id查询任务详情列表
+ *
+ */
+ public List<ArdAppTaskDetail> selectArdAppTaskDetailListByTaskId(String task_id);
/**
* 按任务id查询下发的app用户id列表
*
diff --git a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
index 15e277d..ab08add 100644
--- a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -16,6 +16,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.Optional;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.StringUtils;
@@ -97,7 +98,22 @@
*/
@Override
public List<ArdAppTask> selectArdAppTaskList(ArdAppTask ardAppTask) {
- return ardAppTaskMapper.selectArdAppTaskList(ardAppTask);
+ List<ArdAppTask> parentList = ardAppTaskMapper.selectArdAppTaskList(ardAppTask);
+
+ //
+ if(StringUtils.isNotNull(ardAppTask.getAppUserId())) {
+ //如果app用户id不为空,查询出所有任务的子任务列表
+ for(ArdAppTask appTask:parentList)
+ {
+ List<ArdAppTaskDetail> ardAppTaskDetails = ardAppTaskMapper.selectArdAppTaskDetailListByTaskId(appTask.getId());
+ appTask.setArdAppTaskDetailList(ardAppTaskDetails);
+ }
+ //通过app用户id过滤子任务列表来过滤出父任务列表
+ parentList = parentList.stream()
+ .filter(parent -> parent.getArdAppTaskDetailList().stream().anyMatch(child -> child.getUserId().equals(ardAppTask.getAppUserId())))
+ .collect(Collectors.toList());
+ }
+ return parentList;
}
/**
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
index f535c75..50e2d82 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -28,10 +28,10 @@
<!-- resultMap="ArdAppTaskDetailResult"/>-->
</resultMap>
<resultMap id="ArdAppTaskSub1Result" type="ArdAppTask" extends="ArdAppTaskResult">
- <collection property="ardAppTaskPicList" notNullColumn="sub2_id" javaType="java.util.List"
- resultMap="ArdAppTaskPicResult"/>
- <collection property="ardAppTaskDetailList" notNullColumn="sub1_id" javaType="java.util.List"
- resultMap="ArdAppTaskDetailResult"/>
+ <collection property="ardAppTaskPicList" notNullColumn="sub2_id" javaType="java.util.List"
+ resultMap="ArdAppTaskPicResult"/>
+ <collection property="ardAppTaskDetailList" notNullColumn="sub1_id" javaType="java.util.List"
+ resultMap="ArdAppTaskDetailResult"/>
</resultMap>
<resultMap type="ArdAppTaskDetail" id="ArdAppTaskDetailResult">
<result property="id" column="sub1_id"/>
@@ -158,21 +158,29 @@
</if>
</where>
</select>
-
+ <select id="selectArdAppTaskDetailListByTaskId" resultType="ArdAppTaskDetail">
+ select * from ard_app_task_detail where task_id=#{taskId}
+ </select>
<select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSub1Result">
<include refid="selectArdAppTaskDto"/>
where a.id = #{id}
</select>
<select id="selectArdAppTaskDetailListByIdAndUserId" resultType="ArdAppTaskDetail">
- select * from ard_app_task_detail d
- where d.task_id = #{id} and d.user_id = #{detailUserId}
+ select *
+ from ard_app_task_detail d
+ where d.task_id = #{id}
+ and d.user_id = #{detailUserId}
</select>
<select id="selectArdAppTaskPicListById" resultType="ArdAppTaskPic">
- select * from ard_app_task_pic d where d.task_id = #{id}
+ select *
+ from ard_app_task_pic d
+ where d.task_id = #{id}
</select>
<select id="selectArdAppTaskDetailUserIdsByTaskId" parameterType="String" resultType="java.lang.String">
- select DISTINCT(user_id) from ard_app_task_detail where task_id=#{taskId}
+ select DISTINCT(user_id)
+ from ard_app_task_detail
+ where task_id = #{taskId}
</select>
--
Gitblit v1.9.3