| | |
| | | import com.ruoyi.app.tasktext.domain.ArdAppTaskText; |
| | | import com.ruoyi.app.tasktext.mapper.ArdAppTaskTextMapper; |
| | | import com.ruoyi.common.annotation.DataScope; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Optional; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | |
| | | private ArdAppTaskMapper ardAppTaskMapper; |
| | | @Resource |
| | | private ArdAppTaskTextMapper ardAppTaskTextMapper; |
| | | @Resource |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | /** |
| | | * 查询app任务管理 |
| | |
| | | */ |
| | | @Override |
| | | public ArdAppTask selectArdAppTaskById(String id) { |
| | | return ardAppTaskMapper.selectArdAppTaskById(id); |
| | | ArdAppTask ardAppTask = ardAppTaskMapper.selectArdAppTaskById(id); |
| | | |
| | | List<ArdAppTaskDetail> ardAppTaskDetailList = ardAppTask.getArdAppTaskDetailList(); |
| | | if(ardAppTaskDetailList.size()>0) |
| | | { |
| | | ardAppTaskDetailList = ardAppTaskDetailList.stream() |
| | | .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAppTaskDetail::getName))), ArrayList::new)); |
| | | ardAppTask.setArdAppTaskDetailList(ardAppTaskDetailList); |
| | | } |
| | | |
| | | List<String> userIds = ardAppTaskMapper.selectArdAppTaskDetailUserIdsByTaskId(id); |
| | | if (userIds.size() > 0) { |
| | | ardAppTask.setUserIds(userIds); |
| | | List<SysUser> sysUserList=new ArrayList<>(); |
| | | for (String userId : userIds) { |
| | | SysUser sysUser = sysUserMapper.selectUserById(userId); |
| | | sysUserList.add(sysUser); |
| | | } |
| | | ardAppTask.setSysUserList(sysUserList); |
| | | |
| | | } |
| | | return ardAppTask; |
| | | } |
| | | |
| | | @Override |
| | |
| | | * @return app任务管理 |
| | | */ |
| | | @Override |
| | | @DataScope(deptAlias = "d", userAlias = "u") |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public List<ArdAppTask> selectArdAppTaskListWithDetail(ArdAppTask ardAppTask) { |
| | | ardAppTask.setUserId(SecurityUtils.getUserId()); |
| | | List<ArdAppTask> list1 = ardAppTaskMapper.selectArdAppTaskListWithDetail(ardAppTask); |
| | | List<ArdAppTask> list = new ArrayList<>(); |
| | | list.addAll(list1); |
| | | List<ArdAppTask> list = ardAppTaskMapper.selectArdAppTaskListWithDetail(ardAppTask); |
| | | return list; |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<ArdAppTask> selectArdAppTaskListWithDetailById(ArdAppTask ardAppTask) { |
| | | ardAppTask.setUserId(SecurityUtils.getUserId()); |
| | | List<ArdAppTask> list1 = ardAppTaskMapper.selectArdAppTaskListWithDetailById(ardAppTask); |
| | | List<ArdAppTask> list = new ArrayList<>(); |
| | | list.addAll(list1); |
| | | List<ArdAppTask> list = ardAppTaskMapper.selectArdAppTaskListWithDetail(ardAppTask); |
| | | for(ArdAppTaskDetail detail : list.get(0).getArdAppTaskDetailList()) { |
| | | ArdAppTaskDetailPic ardAppTaskDetailPic =new ArdAppTaskDetailPic(); |
| | | ardAppTaskDetailPic.setTaskDetailId(detail.getId()); |
| | | List<ArdAppTaskDetailPic> ardAppTaskDetailPicList = ardAppTaskDetailPicMapper.selectArdAppTaskDetailPicList(ardAppTaskDetailPic); |
| | | detail.setArdAppTaskDetailPic(ardAppTaskDetailPicList); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | |
| | | |
| | | @Override |
| | | public ArdAppTask selectNewArdAppTaskByUserId(String userId) { |
| | | return ardAppTaskMapper.selectNewArdAppTaskByUserId(userId); |
| | | ArdAppTask ardAppTask = ardAppTaskMapper.selectNewArdAppTaskByUserId(userId); |
| | | if (StringUtils.isNotNull(ardAppTask)) { |
| | | ArdAppTaskDetail detail = new ArdAppTaskDetail(); |
| | | detail.setViewFlag("1"); |
| | | detail.setTaskId(ardAppTask.getId()); |
| | | int i = ardAppTaskMapper.updateArdAppTaskDetailByTaskId(detail); |
| | | } |
| | | return ardAppTask; |
| | | } |
| | | |
| | | /** |
| | | * 查询已弹窗但未读的任务数量 |
| | | * |
| | | * @param userId app用户Id |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int selectUnreadArdAppTaskCount(String userId) { |
| | | return ardAppTaskMapper.selectUnreadArdAppTaskCount(userId); |
| | | } |
| | | } |