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 20ec999..1811bc0 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, @Param("taskId")Long taskId, @Param("triggerType")int triggerType); + List pageQueryRegularTask(@Param("isPm")int isPm, @Param("projectId")Long projectId,@Param("roleId")Long roleId, @Param("timeNode")Long timeNode, @Param("timeUnit")int timeUnit, @Param("queryType")int queryType, @Param("taskId")Long taskId, @Param("triggerType")int triggerType); /** * 通过分解任务id查找任务关联的交付物插件id diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java index 3a98cb4..94ab23a 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java @@ -50,4 +50,6 @@ public interface ProTaskSubDao extends ProTaskSubMapper { Long getTimeByProgressTask(@Param("timeNode")Long timeNode, @Param("roleId")Long roleId); void insertReplace(ProTaskSub taskSub); + + Long getTimeByProgressTaskAndRoleList(@Param("timeNode")Long timeNode, @Param("roleList")List roleList); } diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index e659150..e35bef8 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/src/main/java/com/ccsens/ptccsens/service/TallService.java @@ -692,10 +692,15 @@ public class TallService implements ITallService { } } } - +//如果查看的角色项目经理,则查看所有任务 + int isPm = 0; + ProRole role = proRoleDao.selectByPrimaryKey(param.getRoleId()); + if(ObjectUtil.isNotNull(role)){ + isPm = role.getLabelId().equals(Constant.PM_LABEL_ID) ? 1 : 0; + } //获取任务列表 PageHelper.startPage(param.getPageNum(),param.getPageSize()); - List regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType()); + List regularTask = taskDetailDao.pageQueryRegularTask(isPm, role.getProjectId(), param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType()); PageInfo queryTaskPageInfo = new PageInfo<>(regularTask); if(CollectionUtil.isNotEmpty(queryTaskPageInfo.getList())){ if(param.getQueryType() == 0){ @@ -713,6 +718,26 @@ public class TallService implements ITallService { //TODO 查询插件展示信息 queryPluginShow(queryTaskPageInfo.getList(),user == null ? null : user.getId()); } +// //获取任务列表 +// PageHelper.startPage(param.getPageNum(),param.getPageSize()); +// List regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType()); +// PageInfo queryTaskPageInfo = new PageInfo<>(regularTask); +// if(CollectionUtil.isNotEmpty(queryTaskPageInfo.getList())){ +// if(param.getQueryType() == 0){ +// //向上查找任务顺序是倒的,需要改成正序 +// List taskList = new ArrayList<>(); +// for (int i = queryTaskPageInfo.getList().size() - 1; i >= 0; i--) { +// taskList.add(queryTaskPageInfo.getList().get(i)); +// } +// queryTaskPageInfo.setList(taskList); +// } +// //查询任务下的插件 +// queryPluginForTask(queryTaskPageInfo.getList()); +// //查询任务下的检查人 +// queryCheckerOfTask(queryTaskPageInfo.getList()); +// //TODO 查询插件展示信息 +// queryPluginShow(queryTaskPageInfo.getList(),user == null ? null : user.getId()); +// } return queryTaskPageInfo; } @@ -727,11 +752,20 @@ public class TallService implements ITallService { } //查找用户所属的成员,查找所属的角色 List roleList = roleDao.allRoleByUserId(user.getId()); + + //根据时间基准线查询当前正在进行的任务(如果多个则选择时间最早的一个) + Long queryTime = param.getTimeNode(); +// if(CollectionUtil.isNotEmpty(roleList)) { +// Long startTime = proTaskSubDao.getTimeByProgressTaskAndRoleList(param.getTimeNode(), roleList); +// if (ObjectUtil.isNotNull(startTime)) { +// queryTime = startTime; +// } +// } 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); + queryTaskList = taskDetailDao.getAllTaskByRoleList(roleList,queryTime,param.getTimeUnit(),param.getQueryType(),taskId); } return queryTaskList; diff --git a/src/main/java/com/ccsens/ptccsens/util/Constant.java b/src/main/java/com/ccsens/ptccsens/util/Constant.java index 51715f3..27eb149 100644 --- a/src/main/java/com/ccsens/ptccsens/util/Constant.java +++ b/src/main/java/com/ccsens/ptccsens/util/Constant.java @@ -16,7 +16,8 @@ public class Constant { public static String BUSINESS_CODE = "PT"; /**财务条插件名称*/ public static String PLUGIN_FINANCE = "MP-TALL财务条"; - + /**项目经理的标签id*/ + public static Long PM_LABEL_ID = 34L; public static Map timeUnit = new HashMap<>(); public static Map timeFormat = new HashMap<>(); static { diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 850f360..2d44365 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,10 +1,10 @@ server: - port: 7320 + port: 7330 servlet: context-path: /v1.0 spring: application: - name: ptccsens + name: ptcontest datasource: type: com.alibaba.druid.pool.DruidDataSource # rabbitmq: @@ -44,8 +44,8 @@ mybatisCache: port: 6379 timeout: 1000 -notGatewayUrl: http://101.201.226.163:7320/v1.0 +notGatewayUrl: http://101.201.226.163:7330/v1.0 file: - path: /home/pt_ccsens/server/uploads/ - domain: https://test.tall.wiki/gateway/ptccsens - imgDomain: http://101.201.226.163:7320/v1.0/uploads + path: /home/pt_contest/server/uploads/ + domain: https://test.tall.wiki/gateway/ptcontest + imgDomain: http://101.201.226.163:7330/v1.0/uploads diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index fb06b38..1d0a3e7 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,10 +1,10 @@ server: - port: 7320 + port: 7330 servlet: context-path: /v1.0 spring: application: - name: ptccsens + name: ptcontest datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: @@ -35,6 +35,6 @@ gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ apiUrl: http://www.tall.wiki/ file: - path: /home/ptccsens/server/uploads/ - domain: https://www.tall.wiki/gateway/ptccsens - imgDomain: https://www.tall.wiki/gateway/ptccsens/v1.0/uploads/ + path: /home/ptcontest/server/uploads/ + domain: https://www.tall.wiki/gateway/ptcontest + imgDomain: https://www.tall.wiki/gateway/ptcontest/v1.0/uploads/ diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index b1f179e..65c2f11 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -1,10 +1,10 @@ server: - port: 7320 + port: 7330 servlet: context-path: /v1.0 spring: application: - name: ptccsens + name: ptcontest datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: @@ -43,6 +43,6 @@ eureka: ip-address: 127.0.0.1 file: - path: /home/ptccsens/server/uploads/ - domain: https://test.tall.wiki/gateway/ptccsens - imgDomain: https://test.tall.wiki/gateway/ptccsens/v1.0/uploads/ + path: /home/ptcontest/server/uploads/ + domain: https://test.tall.wiki/gateway/ptcontest + imgDomain: https://test.tall.wiki/gateway/ptcontest/v1.0/uploads/ diff --git a/src/main/resources/druid-dev.yml b/src/main/resources/druid-dev.yml index 5e0bf8b..b81cc37 100644 --- a/src/main/resources/druid-dev.yml +++ b/src/main/resources/druid-dev.yml @@ -28,7 +28,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://101.201.226.163:3306/pt_ccsens?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true + url: jdbc:mysql://101.201.226.163:3306/pt_contest?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true username: root validationQuery: SELECT 1 FROM DUAL # env: CCSENS_GAME diff --git a/src/main/resources/druid-prod.yml b/src/main/resources/druid-prod.yml index 02fa6bb..77a190a 100644 --- a/src/main/resources/druid-prod.yml +++ b/src/main/resources/druid-prod.yml @@ -29,7 +29,7 @@ spring: testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 # url: jdbc:mysql://127.0.0.1/defaultwbs?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true - url: jdbc:mysql://www.tall.wiki/pt_ccsens?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true + url: jdbc:mysql://www.tall.wiki/pt_contest?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_TALL \ No newline at end of file diff --git a/src/main/resources/druid-test.yml b/src/main/resources/druid-test.yml index 7821933..f86c245 100644 --- a/src/main/resources/druid-test.yml +++ b/src/main/resources/druid-test.yml @@ -27,7 +27,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://test.tall.wiki/pt_ccsens?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true + url: jdbc:mysql://test.tall.wiki/pt_contest?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_TALL \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 983af73..3a4a7d3 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -9,7 +9,7 @@ logback - + diff --git a/src/main/resources/mapper_dao/ProTaskDetailDao.xml b/src/main/resources/mapper_dao/ProTaskDetailDao.xml index fb3ee65..4ec9be1 100644 --- a/src/main/resources/mapper_dao/ProTaskDetailDao.xml +++ b/src/main/resources/mapper_dao/ProTaskDetailDao.xml @@ -537,7 +537,12 @@ AND ts.plan_start_time != 0 AND ts.plan_duration != 0 and rt.role_duty = 0 - AND rt.role_id = #{roleId} + + AND rt.role_id = #{roleId} + + + AND rt.role_id in (SELECT id FROM t_pro_role WHERE project_id = #{projectId} and rec_status = 0) + AND plan_start_time < #{timeNode} diff --git a/src/main/resources/mapper_dao/ProTaskSubDao.xml b/src/main/resources/mapper_dao/ProTaskSubDao.xml index 0c4c963..764bfa4 100644 --- a/src/main/resources/mapper_dao/ProTaskSubDao.xml +++ b/src/main/resources/mapper_dao/ProTaskSubDao.xml @@ -157,5 +157,27 @@ ORDER BY s.plan_start_time limit 1 + \ No newline at end of file diff --git a/src/main/resources/mbg.xml b/src/main/resources/mbg.xml index 4e06bf9..09f8c1b 100644 --- a/src/main/resources/mbg.xml +++ b/src/main/resources/mbg.xml @@ -21,7 +21,7 @@ @@ -33,7 +33,7 @@ - @@ -50,7 +50,7 @@