From 0086302c1d3e9f4be454261635aff147a4255b28 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 18 Mar 2022 16:44:00 +0800 Subject: [PATCH] 20220318LWBS --- .../ptccsens/persist/dao/ProRoleDao.java | 7 ++ .../persist/dao/ProTaskDetailDao.java | 14 +++- .../ccsens/ptccsens/service/TallService.java | 23 +++++- src/main/resources/mapper_dao/ProRoleDao.xml | 15 ++++ .../resources/mapper_dao/ProTaskDetailDao.xml | 76 +++++++++++++++++++ 5 files changed, 133 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java index 37bdfb1..46a3f9d 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java @@ -83,4 +83,11 @@ public interface ProRoleDao extends ProRoleMapper { List getWbsRoleInfo(@Param("projectId")Long projectId, @Param("isPm")int isPm); void insertReplace(ProRole role); + + /** + * 根据userID查找所有所属的角色 + * @param userId 用户id + * @return 返回角色id + */ + List allRoleByUserId(@Param("userId")Long userId); } diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java index 4f8e79a..d11479e 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java @@ -105,7 +105,7 @@ public interface ProTaskDetailDao extends ProTaskDetailMapper { * @param roleId 角色id * @return 返回任务列表 */ - List pageQueryRegularTask(@Param("roleId")Long roleId, @Param("timeNode")Long timeNode, @Param("timeUnit")int timeUnit, @Param("queryType")int queryType); + List pageQueryRegularTask(@Param("roleId")Long roleId, @Param("timeNode")Long timeNode, @Param("timeUnit")int timeUnit, @Param("queryType")int queryType, @Param("taskId")Long taskId); /** * 通过分解任务id查找任务关联的交付物插件id @@ -134,4 +134,16 @@ public interface ProTaskDetailDao extends ProTaskDetailMapper { * @return 返回二级任务信息 */ List getSecondTask(@Param("firstId")String firstId); + + /** + * 查找所有任务(不分项目) + * @param roleList 角色列表 + * @param timeNode 时间基准点 + * @param timeUnit 时间颗粒度 + * @param queryType 上查下查 + * @param taskId 任务id + * @return 返回任务列表 + */ + List getAllTaskByRoleList(@Param("roleList")List roleList, @Param("timeNode")Long timeNode, @Param("timeUnit")int timeUnit, @Param("queryType")int queryType, @Param("taskId")String taskId); + } diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index b12f6ab..99daac6 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/src/main/java/com/ccsens/ptccsens/service/TallService.java @@ -694,8 +694,9 @@ public class TallService implements ITallService { } //获取任务列表 + Long taskId = param.getTriggerType() == 0 ? param.getTaskId() : null; PageHelper.startPage(param.getPageNum(),param.getPageSize()); - List regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType()); + List regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),taskId); PageInfo queryTaskPageInfo = new PageInfo<>(regularTask); if(CollectionUtil.isNotEmpty(queryTaskPageInfo.getList())){ if(param.getQueryType() == 0){ @@ -716,4 +717,24 @@ public class TallService implements ITallService { return queryTaskPageInfo; } + + @Override + public List queryAllTask(TallTaskDto.QueryAllTask param) { + List queryTaskList = null; + //通过手机号查找服务内的用户 + ProUser user = userDao.getUserIdByPhone(param.getPhone()); + if(ObjectUtil.isNull(user)){ + return queryTaskList; + } + //查找用户所属的成员,查找所属的角色 + List roleList = roleDao.allRoleByUserId(user.getId()); + if(CollectionUtil.isNotEmpty(roleList)){ + //通过角色和时间等信息,查找任务,如果传入的参数有任务id且code符合当前服务,则排除该任务 + String taskId = Constant.BUSINESS_CODE.equals(param.getBusinessCode()) ? param.getTaskId() : null; + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + queryTaskList = taskDetailDao.getAllTaskByRoleList(roleList,param.getTimeNode(),param.getTimeUnit(),param.getQueryType(),taskId); + } + + return queryTaskList; + } } diff --git a/src/main/resources/mapper_dao/ProRoleDao.xml b/src/main/resources/mapper_dao/ProRoleDao.xml index 6030724..f1ce6e8 100644 --- a/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/src/main/resources/mapper_dao/ProRoleDao.xml @@ -236,4 +236,19 @@ LEFT JOIN t_pro_member_stakeholder ms on m.id = ms.memeber_id and ms.rec_status = 0 + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/ProTaskDetailDao.xml b/src/main/resources/mapper_dao/ProTaskDetailDao.xml index 7b122a1..388c242 100644 --- a/src/main/resources/mapper_dao/ProTaskDetailDao.xml +++ b/src/main/resources/mapper_dao/ProTaskDetailDao.xml @@ -543,6 +543,9 @@ AND plan_start_time >= #{timeNode} + + and ts.id != #{taskId} + ) AS alltask LEFT JOIN t_label_business AS llbb ON alltask.detailId = llbb.business_id LEFT JOIN t_label AS ll ON llbb.label_id = ll.id @@ -646,4 +649,77 @@ LEFT JOIN t_pro_task_plugin tp on tp.task_detail_id = task.detailId and tp.rec_status = 0 GROUP BY task.subId + + \ No newline at end of file