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; 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列表 * 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; } /** ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -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>