diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java index 79878781..f70908d5 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java @@ -16,10 +16,8 @@ public class ChartDto { @NotNull @ApiModelProperty("项目id") private Long projectId; - @NotEmpty @ApiModelProperty("开始日期") private String start; - @NotEmpty @ApiModelProperty("结束日期") private String end; @ApiModelProperty("角色id") diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java index 150514c9..34178a93 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java @@ -52,4 +52,12 @@ public interface ProMemberDao extends ProMemberMapper{ * @return */ List queryMembersByProjectId(@Param("projectId")Long projectId); + + /** + * 通过userId和项目id查询memberId + * @param projectIdList 全部的项目id + * @param currentUserId userId + * @return 返回所有的成员id + */ + List getIdByUserIdAndProjectId(@Param("projectIdList")List projectIdList, @Param("currentUserId")Long currentUserId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java index 58b5a5c4..d1b0738b 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java @@ -28,24 +28,24 @@ public interface SysProjectDao extends SysProjectMapper{ List selectRelevanceProject(@Param("projectId")Long projectId); - List getExecutorChart(@Param("projectId")Long projectId,@Param("type")Integer type,@Param("process")Integer process, + List getExecutorChart(@Param("projectIdList")List projectIdList,@Param("type")Integer type,@Param("process")Integer process, @Param("roleIdList")List roleIdList,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime); - List getCompleteTaskByTime(@Param("projectId")Long projectId,@Param("roleIdList")List roleIdList, + List getCompleteTaskByTime(@Param("projectIdList")List projectIdList,@Param("roleIdList")List roleIdList, @Param("beginTime")Long beginTime,@Param("endTime")Long endTime); - List getProjectTrend(@Param("projectId")Long projectId, @Param("start")Long start, @Param("end")Long end, + List getProjectTrend(@Param("projectIdList")List projectIdList, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId,@Param("allMemberId")Long allMemberId); - ChartVo.ProjectOverview getOverview(@Param("projectId")Long projectId, @Param("beginTime")Long beginTime,@Param("endTime")Long endTime,@Param("roleIdList")List roleIdList); + ChartVo.ProjectOverview getOverview(@Param("projectIdList")List projectIdList, @Param("beginTime")Long beginTime,@Param("endTime")Long endTime,@Param("roleIdList")List roleIdList); - List getBurnoutFigure(@Param("projectId")Long projectId, + List getBurnoutFigure(@Param("projectIdList")List projectIdList, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId,@Param("allMemberId")Long allMemberId,@Param("type") Integer type); // Integer getTaskTotalByProjectId(@Param("projectId")Long projectId, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId); - ChartVo.ProjectOverview getOverviewByToDay(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime,@Param("roleIdList")List roleIdList); + ChartVo.ProjectOverview getOverviewByToDay(@Param("projectIdList")List projectIdList, @Param("startTime")Long startTime, @Param("endTime")Long endTime,@Param("roleIdList")List roleIdList); /** * 根据父项目id查找项目,不包含当前项目 diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskSubTimeDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskSubTimeDao.java index b191ad15..6fdcd970 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskSubTimeDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskSubTimeDao.java @@ -14,10 +14,10 @@ public interface TaskSubTimeDao extends ProTaskSubTimeMapper{ void clearTaskRealTime(@Param("projectId")Long projectId); - List getKanbanTake(@Param("userId")Long userId,@Param("projectId")Long projectId, @Param("roleId")Long roleId, - @Param("type") Integer type,@Param("memberId")Long memberId,@Param("orderType")Integer orderType,@Param("order")Integer order); + List getKanbanTake(@Param("userId")Long userId,@Param("projectIdList")List projectIdList, @Param("roleId")Long roleId, + @Param("type") Integer type,@Param("memberIdList")List memberIdList,@Param("orderType")Integer orderType,@Param("order")Integer order); - List getKanbanTakeByType(@Param("userId")Long userId,@Param("projectId")Long projectId, @Param("roleId")Long roleId, + List getKanbanTakeByType(@Param("userId")Long userId,@Param("projectIdList")List projectIdList, @Param("roleId")Long roleId, @Param("type")Integer type,@Param("orderType")Integer orderType,@Param("order")Integer order); List queryMinutesTaskByTime(@Param("projectId")Long projectId, @Param("startTime")Long startTime, @Param("endTime")Long endTime); diff --git a/tall/src/main/java/com/ccsens/tall/service/ChartService.java b/tall/src/main/java/com/ccsens/tall/service/ChartService.java index 4654df03..4d4bbed7 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ChartService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ChartService.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -34,11 +35,25 @@ public class ChartService implements IChartService{ */ @Override public ChartVo.ExecutorChart getExecutorChart(Long currentUserId,ChartDto.ChartsExecutorDto executor) { - SysProject sysProject = sysProjectDao.selectByPrimaryKey(executor.getProjectId()); - if(ObjectUtil.isNull(sysProject)){ - throw new BaseException(CodeEnum.NOT_PROJECT); + + //验证当前是否是lwbs在调用接口,项目id和当前用户id一致时认为是lwbs + List projectIdList = new ArrayList<>(); + if(currentUserId.equals(executor.getProjectId())){ + Long startTime = executor.getBeginTime() == null ? DateUtil.beginOfWeek(new Date()).getTime() : executor.getBeginTime(); + Long endTime = executor.getEndTime() == null ? DateUtil.endOfWeek(new Date()).getTime() : executor.getEndTime(); + + //查找此用户所有的项目id + projectIdList = sysProjectDao.queryProjectIdByUserId(startTime,endTime,currentUserId); + }else { + //不是lwbs正常查询 + projectIdList.add(executor.getProjectId()); } - List executorChartList = sysProjectDao.getExecutorChart(executor.getProjectId(),executor.getType(), executor.getProcess(), + +// SysProject sysProject = sysProjectDao.selectByPrimaryKey(executor.getProjectId()); +// if(ObjectUtil.isNull(sysProject)){ +// throw new BaseException(CodeEnum.NOT_PROJECT); +// } + List executorChartList = sysProjectDao.getExecutorChart(projectIdList,executor.getType(), executor.getProcess(), executor.getRoleList(),executor.getBeginTime(),executor.getEndTime()); ChartVo.ExecutorChart executorChart = new ChartVo.ExecutorChart(); executorChart.setType(executor.getType()); @@ -54,8 +69,21 @@ public class ChartService implements IChartService{ */ @Override public List getCompleteTaskByTime(Long currentUserId, ChartDto.ChartsCompleteDto completeDto) { + //验证当前是否是lwbs在调用接口,项目id和当前用户id一致时认为是lwbs + List projectIdList = new ArrayList<>(); + if(currentUserId.equals(completeDto.getProjectId())){ + Long startTime = completeDto.getBeginTime() == null ? DateUtil.beginOfWeek(new Date()).getTime() : completeDto.getBeginTime(); + Long endTime = completeDto.getEndTime() == null ? DateUtil.endOfWeek(new Date()).getTime() : completeDto.getEndTime(); + + //查找此用户所有的项目id + projectIdList = sysProjectDao.queryProjectIdByUserId(startTime,endTime,currentUserId); + }else { + //不是lwbs正常查询 + projectIdList.add(completeDto.getProjectId()); + } + //查找所有角色及任务数量 - List completeTaskNumList = sysProjectDao.getCompleteTaskByTime(completeDto.getProjectId(),completeDto.getRoleList(), + List completeTaskNumList = sysProjectDao.getCompleteTaskByTime(projectIdList,completeDto.getRoleList(), completeDto.getBeginTime(),completeDto.getEndTime()); return completeTaskNumList; } @@ -68,15 +96,26 @@ public class ChartService implements IChartService{ */ @Override public List getProjectTrend(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto) { - Long start = DateUtil.parse(projectTrendDto.getStart()).getTime(); - Long end = DateUtil.parse(projectTrendDto.getEnd()).getTime(); + Long start = projectTrendDto.getStart() != null ? DateUtil.parse(projectTrendDto.getStart()).getTime() : DateUtil.beginOfWeek(new Date()).getTime(); + Long end = projectTrendDto.getEnd() != null ? DateUtil.parse(projectTrendDto.getEnd()).getTime() : DateUtil.endOfWeek(new Date()).getTime(); + //验证当前是否是lwbs在调用接口,项目id和当前用户id一致时认为是lwbs + List projectIdList = new ArrayList<>(); + if(currentUserId.equals(projectTrendDto.getProjectId())){ + //查找此用户所有的项目id + projectIdList = sysProjectDao.queryProjectIdByUserId(start,end,currentUserId); + }else { + //不是lwbs正常查询 + projectIdList.add(projectTrendDto.getProjectId()); + } + + //获取“全体成员”角色 ProRole allMember = proRoleService.getAllMember(projectTrendDto.getProjectId()); Long allMemberId = null; if (ObjectUtil.isNotNull(allMember)) { allMemberId = allMember.getId(); } - List projectTrendVoList = sysProjectDao.getProjectTrend(projectTrendDto.getProjectId(),start,end,projectTrendDto.getRoleId(),allMemberId); + List projectTrendVoList = sysProjectDao.getProjectTrend(projectIdList,start,end,projectTrendDto.getRoleId(),allMemberId); return projectTrendVoList; } @@ -88,13 +127,26 @@ public class ChartService implements IChartService{ */ @Override public ChartVo.ProjectOverview getOverview(Long currentUserId, ChartDto.ChartsOverviewDto overview) throws Exception { + //验证当前是否是lwbs在调用接口,项目id和当前用户id一致时认为是lwbs + List projectIdList = new ArrayList<>(); + if(currentUserId.equals(overview.getProjectId())){ + Long startTime = overview.getBeginTime() == null ? DateUtil.beginOfWeek(new Date()).getTime() : overview.getBeginTime(); + Long endTime = overview.getEndTime() == null ? DateUtil.endOfWeek(new Date()).getTime() : overview.getEndTime(); + + //查找此用户所有的项目id + projectIdList = sysProjectDao.queryProjectIdByUserId(startTime,endTime,currentUserId); + }else { + //不是lwbs正常查询 + projectIdList.add(overview.getProjectId()); + } + //获取全部的数据 - ChartVo.ProjectOverview projectOverview = sysProjectDao.getOverview(overview.getProjectId(),overview.getBeginTime(),overview.getEndTime(),overview.getRoleList()); + ChartVo.ProjectOverview projectOverview = sysProjectDao.getOverview(projectIdList,overview.getBeginTime(),overview.getEndTime(),overview.getRoleList()); //获取当天零点和二十四点的时间 Long startTime = DateUtil.beginOfDay(new Date()).getTime(); Long endTime = DateUtil.endOfDay(new Date()).getTime(); //获取当天的数据 - ChartVo.ProjectOverview projectOverview1 = sysProjectDao.getOverviewByToDay(overview.getProjectId(),startTime,endTime,overview.getRoleList()); + ChartVo.ProjectOverview projectOverview1 = sysProjectDao.getOverviewByToDay(projectIdList,startTime,endTime,overview.getRoleList()); //将数据整合在一起 projectOverview.setTodayCompleted(projectOverview1.getTodayCompleted() == null ? 0 : projectOverview1.getTodayCompleted()); projectOverview.setToday(projectOverview1.getToday()); @@ -109,8 +161,22 @@ public class ChartService implements IChartService{ */ @Override public List getBurnoutFigure(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto) { - Long start = DateUtil.parse(projectTrendDto.getStart()).getTime(); - Long end = DateUtil.parse(projectTrendDto.getEnd()).getTime(); +// Long start = DateUtil.parse(projectTrendDto.getStart()).getTime(); +// Long end = DateUtil.parse(projectTrendDto.getEnd()).getTime(); + + Long start = projectTrendDto.getStart() != null ? DateUtil.parse(projectTrendDto.getStart()).getTime() : DateUtil.beginOfWeek(new Date()).getTime(); + Long end = projectTrendDto.getEnd() != null ? DateUtil.parse(projectTrendDto.getEnd()).getTime() : DateUtil.endOfWeek(new Date()).getTime(); + //验证当前是否是lwbs在调用接口,项目id和当前用户id一致时认为是lwbs + List projectIdList = new ArrayList<>(); + if(currentUserId.equals(projectTrendDto.getProjectId())){ + //查找此用户所有的项目id + projectIdList = sysProjectDao.queryProjectIdByUserId(start,end,currentUserId); + }else { + //不是lwbs正常查询 + projectIdList.add(projectTrendDto.getProjectId()); + } + + //获取“全体成员”角色 ProRole allMember = proRoleService.getAllMember(projectTrendDto.getProjectId()); Long allMemberId = null; @@ -118,7 +184,7 @@ public class ChartService implements IChartService{ allMemberId = allMember.getId(); } //获取任务总数(如果type传1 查询规定条件内的任务总数,若传null,则按天分组查找) - List totalList = sysProjectDao.getBurnoutFigure(projectTrendDto.getProjectId(),start,end,projectTrendDto.getRoleId(),allMemberId,1); + List totalList = sysProjectDao.getBurnoutFigure(projectIdList,start,end,projectTrendDto.getRoleId(),allMemberId,1); //理想 AtomicReference idealTotal = new AtomicReference<>(); BigDecimal idealTotalInt = new BigDecimal(0); @@ -133,7 +199,7 @@ public class ChartService implements IChartService{ realTotal.set(totalList.get(0).getTotalDay()); } //按天获取信息 - List burnoutFigureList = sysProjectDao.getBurnoutFigure(projectTrendDto.getProjectId(),start,end,projectTrendDto.getRoleId(),allMemberId,null); + List burnoutFigureList = sysProjectDao.getBurnoutFigure(projectIdList,start,end,projectTrendDto.getRoleId(),allMemberId,null); if(CollectionUtil.isNotEmpty(burnoutFigureList)){ //每天理想完成数,总数/天数=每天理想完成数 BigDecimal idealFinish = idealTotalInt.divide(BigDecimal.valueOf(burnoutFigureList.size()),1,BigDecimal.ROUND_HALF_UP); diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index ab0145c4..7801cbf1 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -678,13 +678,27 @@ public class TaskSubTimeService implements ITaskSubTimeService { */ @Override public List getKanbanTake(Long currentUserId, TaskDto.QueryKanbanTask queryKanbanTask) throws Exception { + //验证当前是否是lwbs在调用接口,项目id和当前用户id一致时认为是lwbs + List projectIdList = new ArrayList<>(); + if(currentUserId.equals(queryKanbanTask.getProjectId())){ + //查找此用户所有的项目id + projectIdList = sysProjectDao.queryProjectIdByUserId(queryKanbanTask.getStartTime(),queryKanbanTask.getEndTime(),currentUserId); + }else { + //不是lwbs正常查询 + projectIdList.add(queryKanbanTask.getProjectId()); + } + + //查询该用户在每个项目下的member + List memberIdList = proMemberDao.getIdByUserIdAndProjectId(projectIdList,currentUserId); + + //返回的list List kanBans = new ArrayList<>(); - //查找此用户在项目下的成员 - ProMember member = proMemberService.selectByUserId(currentUserId, queryKanbanTask.getProjectId()); - if (ObjectUtil.isNull(member)) { - throw new BaseException(CodeEnum.NOT_MEMBER); - } +// //查找此用户在项目下的成员 +// ProMember member = proMemberService.selectByUserId(currentUserId, queryKanbanTask.getProjectId()); +// if (ObjectUtil.isNull(member)) { +// throw new BaseException(CodeEnum.NOT_MEMBER); +// } //TODO 暂时确定三个状态 Map typeMap = new HashMap<>(0); @@ -700,10 +714,10 @@ public class TaskSubTimeService implements ITaskSubTimeService { kanBan.setTypeName(entry.getValue()); PageHelper.startPage(queryKanbanTask.getPage(), queryKanbanTask.getPageSize()); if (kanBan.getCode() <= 2) { - List kanBanTaskList = taskSubTimeDao.getKanbanTake(currentUserId,queryKanbanTask.getProjectId(), queryKanbanTask.getRoleId(), kanBan.getCode(), member.getId(),queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); + List kanBanTaskList = taskSubTimeDao.getKanbanTake(currentUserId,projectIdList, queryKanbanTask.getRoleId(), kanBan.getCode(), memberIdList,queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); kanBan.setTaskList(new PageInfo<>(kanBanTaskList)); } else { - List kanBanTaskList = taskSubTimeDao.getKanbanTakeByType(currentUserId,queryKanbanTask.getProjectId(), queryKanbanTask.getRoleId(), kanBan.getCode(),queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); + List kanBanTaskList = taskSubTimeDao.getKanbanTakeByType(currentUserId,projectIdList, queryKanbanTask.getRoleId(), kanBan.getCode(),queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); kanBan.setTaskList(new PageInfo<>(kanBanTaskList)); } kanBans.add(kanBan); @@ -714,10 +728,10 @@ public class TaskSubTimeService implements ITaskSubTimeService { kanBan.setTypeName(typeMap.get(queryKanbanTask.getType())); PageHelper.startPage(queryKanbanTask.getPage(), queryKanbanTask.getPageSize()); if (kanBan.getCode() <= 2) { - List kanBanTaskList = taskSubTimeDao.getKanbanTake(currentUserId,queryKanbanTask.getProjectId(), queryKanbanTask.getRoleId(), queryKanbanTask.getType(), member.getId(),queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); + List kanBanTaskList = taskSubTimeDao.getKanbanTake(currentUserId,projectIdList, queryKanbanTask.getRoleId(), queryKanbanTask.getType(), memberIdList,queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); kanBan.setTaskList(new PageInfo<>(kanBanTaskList)); } else { - List kanBanTaskList = taskSubTimeDao.getKanbanTakeByType(currentUserId,queryKanbanTask.getProjectId(), queryKanbanTask.getRoleId(), queryKanbanTask.getType(),queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); + List kanBanTaskList = taskSubTimeDao.getKanbanTakeByType(currentUserId,projectIdList, queryKanbanTask.getRoleId(), queryKanbanTask.getType(),queryKanbanTask.getOrderType(),queryKanbanTask.getOrder()); kanBan.setTaskList(new PageInfo<>(kanBanTaskList)); } kanBans.add(kanBan); diff --git a/tall/src/main/resources/banner.txt b/tall/src/main/resources/banner.txt index 759c9b00..57a9c224 100644 --- a/tall/src/main/resources/banner.txt +++ b/tall/src/main/resources/banner.txt @@ -1,21 +1,35 @@ -// _ooOoo_ -// o8888888o -// 88" . "88 -// (| -_- |) -// O\ = /O -// ____/`---'\____ -// . ' \\| |// `. -// / \\||| : |||// \ -// / _||||| -:- |||||- \ -// | | \\\ - /// | | -// | \_| ''\---/'' | | -// \ .-\__ `-` ___/-. / -// ___`. .' /--.--\ `. . __ -// ."" '< `.___\_<|>_/___.' >'"". -// | | : `- \`.;`\ _ /`;.`/ - ` : | | -// \ \ `-. \_ __\ /__ _/ .-` / / -// ======`-.____`-.___\_____/___.-`____.-'====== -// `=---=' -// -// ............................................. -// 佛祖保佑 永无BUG \ No newline at end of file + ++++++++ ++++++++++ + ++++++ ++++++++++++++ ++++++++++++++ ++++++++++ + ++ ++++++++++++++++++++++ ++++ + ++++++ ++++ ++++++ ++++++ + ++++++++ ++++ ++++ ++++++++++ + ++++++++++ ++ ++++ ++++++++++ + ++++++++++++ ++ ++ ++++++++++++ + ++++++++++++++ ++ ++ ++++++++++++++ + ++++++++++++++++ ++ ++ ++++++++++++++++ + ++++++++++++++++++ ++++++++++++++ ++++++++++++++ ++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++ ++++++++++ ++++++++++++ ++++++++++++++++++++++++ + ++++++++++++++++++ ++++++++ ++++++++++ ++++++++++++++++++ + ++++++++++++++++ ++++++++ ++++++++++ ++++++++++++++++ + ++++++++++++++++ ++++++++ ++++++++ ++++++++++++++ + ++++++++++++++ ++++++++ ++++++ ++++++++++++++ + ++++++++++++++ ++++++++ ++++++++ ++++++++++++++ + ++++++++++++++ ++++++++ ++++++++ ++++++++++++ + ++ ++++++++ ++++++++ ++++++++ ++++++++ ++ + ++ ++++++++ ++++++ ++++++ ++++++++ ++ + ++ ++++++++ ++++++++ ++++++++ ++++++++ ++ + ++ ++++++++ ++++++++ ++++++++ ++++++++ ++ + ++ ++++++++ ++++++++ ++++++++ ++++++++ ++ + ++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++ + ++ ++++++++++++++++++++++++++ ++++++++++++++++++++++++++ ++ + ++ ++++++++++++++++++ ++++++++++++++++++ ++ + ++ ++++++++++ ++++++++++++++ ++++++++++++ ++ + ++ ++++++++++ ++ + ++++ ++++++ ++++ + ++++ ++ ++++ + ++++++++ ++++++++ + ++++++++++++++++++++++++++ + + \ No newline at end of file diff --git a/tall/src/main/resources/banner2.txt b/tall/src/main/resources/banner2.txt new file mode 100644 index 00000000..759c9b00 --- /dev/null +++ b/tall/src/main/resources/banner2.txt @@ -0,0 +1,21 @@ +// _ooOoo_ +// o8888888o +// 88" . "88 +// (| -_- |) +// O\ = /O +// ____/`---'\____ +// . ' \\| |// `. +// / \\||| : |||// \ +// / _||||| -:- |||||- \ +// | | \\\ - /// | | +// | \_| ''\---/'' | | +// \ .-\__ `-` ___/-. / +// ___`. .' /--.--\ `. . __ +// ."" '< `.___\_<|>_/___.' >'"". +// | | : `- \`.;`\ _ /`;.`/ - ` : | | +// \ \ `-. \_ __\ /__ _/ .-` / / +// ======`-.____`-.___\_____/___.-`____.-'====== +// `=---=' +// +// ............................................. +// 佛祖保佑 永无BUG \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/ProMemberDao.xml b/tall/src/main/resources/mapper_dao/ProMemberDao.xml index 5e2c6916..d7be6c8f 100644 --- a/tall/src/main/resources/mapper_dao/ProMemberDao.xml +++ b/tall/src/main/resources/mapper_dao/ProMemberDao.xml @@ -333,4 +333,16 @@ m.rec_status = 0 GROUP BY m.id + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysProjectDao.xml b/tall/src/main/resources/mapper_dao/SysProjectDao.xml index 8ef3da68..1ebc0fb1 100644 --- a/tall/src/main/resources/mapper_dao/SysProjectDao.xml +++ b/tall/src/main/resources/mapper_dao/SysProjectDao.xml @@ -308,11 +308,14 @@ WHERE - r.project_id = #{projectId} + r.name not IN ('观众','MVP') and (SELECT name FROM t_pro_role pr WHERE r.parent_id = pr.id) in ('PM','Member') - AND - r.name not IN ('观众','MVP') + and + r.project_id in + + #{id} + and r.id in @@ -320,7 +323,6 @@ #{roleId} - AND d.`level` in (1,2,3) GROUP BY r.`name` @@ -376,10 +378,13 @@ WHERE - r.project_id = #{projectId} - and d.`level` in (2,3) and + r.project_id in + + #{id} + + and (SELECT name FROM t_pro_role pr WHERE r.parent_id = pr.id) in ('PM','Member') and @@ -426,7 +431,10 @@ d.executor_role in (#{roleId},#{allMemberId}) and - d.project_id = #{projectId} + d.project_id in + + #{id} + group by FROM_UNIXTIME(s.begin_time/1000,'%Y-%m-%d') @@ -454,9 +462,13 @@ GROUP BY st.task_detail_id ) t on t.sTaskId = td.id WHERE - td.project_id = #{projectId} - and td.`level` in (1,2,3) + and + td.project_id in + + #{id} + + AND td.end_time > #{beginTime} @@ -495,10 +507,13 @@ GROUP BY st.task_detail_id ) t on t.sTaskId = td.id WHERE - td.project_id = #{projectId} - and td.`level` in (2,3) and + td.project_id in + + #{id} + + and td.begin_time < #{endTime} and td.end_time > #{startTime} @@ -540,7 +555,10 @@ d.executor_role = #{roleId} and - d.project_id = #{projectId} + d.project_id in + + #{id} + group by FROM_UNIXTIME(m.real_finish_time/1000,'%Y-%m-%d') ) t on t.finishTime = FROM_UNIXTIME(s.begin_time/1000,'%Y-%m-%d') WHERE @@ -552,7 +570,10 @@ d.executor_role = #{roleId} and - d.project_id = #{projectId} + d.project_id in + + #{id} + group by FROM_UNIXTIME(s.begin_time/1000,'%Y-%m-%d') diff --git a/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml b/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml index 379068bc..a220a531 100644 --- a/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml @@ -76,9 +76,11 @@ FROM t_pro_sub_time_member m LEFT JOIN t_pro_task_sub_time s on m.task_sub_time_id = s.id WHERE - m.member_id = #{memberId} - and m.rec_status = 0 + and m.member_id in + + #{id} + )t on t.sId = s.id LEFT JOIN ( @@ -93,8 +95,11 @@ and r.rec_status = 0 ) a on a.rId = r.id WHERE - d.project_id = #{projectId} - and d.rec_status = 0 + d.rec_status = 0 + and d.project_id in + + #{id} + and d.level != 0 and d.level != 1 @@ -144,10 +149,13 @@ and r.rec_status = 0 ) t on t.rId = r.id WHERE - d.project_id = #{projectId} - and d.rec_status = 0 and + d.project_id in + + #{id} + + and d.level != 0 and d.level != 1