diff --git a/src/main/java/com/sa/zentao/qo/ZtProjectQo.java b/src/main/java/com/sa/zentao/qo/ZtProjectQo.java index 959a5bc..1df72ac 100644 --- a/src/main/java/com/sa/zentao/qo/ZtProjectQo.java +++ b/src/main/java/com/sa/zentao/qo/ZtProjectQo.java @@ -64,6 +64,8 @@ public class ZtProjectQo extends BaseQo { private String status; + private List stageList; + private String title; private Integer module; diff --git a/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java b/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java index 35e05eb..69f04ca 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java @@ -305,6 +305,11 @@ public class ZtStoryUserServiceImpl extends ServiceImpl page = PageHelper.startPage(qo.getCurrentPage(), qo.getPageSize()); List list = this.baseMapper.pageList(qo); if (!CollectionUtils.isEmpty(list)) { diff --git a/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java b/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java index 3f191b3..73e9738 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java @@ -179,8 +179,8 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme if (CollectionUtils.isEmpty(taskList)) { return new ArrayList<>(); } - taskList=taskList.stream().peek(e->{ - if(e.getDeadline()!=null){ + taskList = taskList.stream().peek(e -> { + if (e.getDeadline() != null) { e.setDeadline(DateUtils.getDayLast(e.getDeadline())); } }).collect(Collectors.toList()); @@ -341,7 +341,7 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme // .and(e->e.or().) // ); - return this.baseMapper.taskListByPIdsAndDate(pids,firstDayOfMonth,lastDayOfMonth); + return this.baseMapper.taskListByPIdsAndDate(pids, firstDayOfMonth, lastDayOfMonth); // return taskList; } @@ -386,8 +386,8 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme } List taskList = this.list(new QueryWrapper().lambda() .select(SFunctionColums.taskColumes()) - .in(ZtTask::getProduct,pids) - .in(ZtTask::getAssignedTo,uids) + .in(ZtTask::getProduct, pids) + .in(ZtTask::getAssignedTo, uids) .ge(ZtTask::getFinishedDate, firstDayOfMonth).le(ZtTask::getFinishedDate, lastDayOfMonth)); return taskList; @@ -786,6 +786,44 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme } } + if (ztTask.getDeadline() != null && ztTask.getStory() != null && ztTask.getStory() != 0) { + ZtStory ztStory = this.storyService.getById(ztTask.getStory()); + ztStory.setDevelPlanEndTime(null); + if (ztTask.getType().equals("devel") && (ztStory.getDevelPlanEndTime() == null || ztTask.getDeadline().after(ztStory.getDevelPlanEndTime()))) { + ztStory.setDevelPlanEndTime(ztTask.getDeadline()); + } else { + //查找最大时间那个 + List ztTasks = this.baseMapper.selectList(new QueryWrapper().lambda() + .select(ZtTask::getDeadline) + .isNotNull(ZtTask::getDeadline) + .eq(ZtTask::getType, "devel") + .ne(ZtTask::getId, ztTask.getId()) + .in(ZtTask::getStatus, "pause", "done", "wait", "reviewing", "doing", "draft") + .eq(ZtTask::getStory, ztTask.getStory()).orderByDesc(ZtTask::getDeadline)); + this.storyService.update(new UpdateWrapper().lambda() + .eq(ZtStory::getId, ztTask.getStory()) + .set(ZtStory::getDevelPlanEndTime, CollectionUtils.isEmpty(ztTasks) ? null : DateUtils.getDayLast(ztTasks.get(0).getDeadline()))); + } + if (ztTask.getType().equals("test") && (ztStory.getTestPlanEndTime() == null || ztTask.getDeadline().after(ztStory.getTestPlanEndTime()))) { + ztStory.setTestPlanEndTime(ztTask.getDeadline()); + } else { + if (ztTask.getType().equals("test") && ztStory.getTestPlanEndTime() != null) { + //查找最大时间那个 + ztStory.setDevelPlanEndTime(ztTask.getDeadline()); + List ztTasks = this.baseMapper.selectList(new QueryWrapper().lambda() + .select(ZtTask::getDeadline) + .isNotNull(ZtTask::getDeadline) + .eq(ZtTask::getType, "test") + .ne(ZtTask::getId, ztTask.getId()) + .in(ZtTask::getStatus, "pause", "done", "wait", "reviewing", "doing", "draft") + .eq(ZtTask::getStory, ztTask.getStory()).orderByDesc(ZtTask::getDeadline)); + this.storyService.update(new UpdateWrapper().lambda() + .eq(ZtStory::getId, ztTask.getStory()) + .set(ZtStory::getTestPlanEndTime, CollectionUtils.isEmpty(ztTasks) ? null : DateUtils.getDayLast(ztTasks.get(0).getDeadline()))); + } + } + this.storyService.updateById(ztStory); + } fileService.updateFile(dto.getFiles(), ztTask.getId(), FileTypes.task); diff --git a/src/main/resources/mapper/ZtStoryMapper.xml b/src/main/resources/mapper/ZtStoryMapper.xml index 4cc6094..8a25740 100644 --- a/src/main/resources/mapper/ZtStoryMapper.xml +++ b/src/main/resources/mapper/ZtStoryMapper.xml @@ -264,11 +264,16 @@ and closedBy =#{qo.userName} + + and s.stage in + + #{id} + + group by s.id - - @@ -284,21 +289,10 @@ order by s.id desc - - - - -- order by id desc - -