From a5d3da1c7d435a2c76c022b818bce220cec58681 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 02 八月 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浠诲姟鍏宠仈澶氱敤鎴穒d鍒楄〃 */
     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);
-
+    /**
+     * 鎸変换鍔d鏌ヨ浠诲姟璇︽儏鍒楄〃
+     *
+     */
+    public List<ArdAppTaskDetail> selectArdAppTaskDetailListByTaskId(String task_id);
     /**
      * 鎸変换鍔d鏌ヨ涓嬪彂鐨刟pp鐢ㄦ埛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