需求增加筛选
This commit is contained in:
@@ -64,6 +64,8 @@ public class ZtProjectQo extends BaseQo {
|
||||
|
||||
private String status;
|
||||
|
||||
private List<String> stageList;
|
||||
|
||||
private String title;
|
||||
|
||||
private Integer module;
|
||||
|
||||
@@ -305,6 +305,11 @@ public class ZtStoryUserServiceImpl extends ServiceImpl<ZtStoryUserMapper, ZtSto
|
||||
qo.setProductIds(pIds);
|
||||
}
|
||||
|
||||
if(!CollectionUtils.isEmpty(qo.getStatusList())&&qo.getStatusList().contains("unconfirmed")) {
|
||||
qo.getStatusList().addAll(Arrays.asList("unconfirmed",
|
||||
"waitcommunicate","waitdesign","designdoing","designdone","storyunconfirmed"));
|
||||
}
|
||||
|
||||
Page<ZtStoryUserDTO> page = PageHelper.startPage(qo.getCurrentPage(), qo.getPageSize());
|
||||
List<ZtStoryUserDTO> list = this.baseMapper.pageList(qo);
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
|
||||
@@ -786,6 +786,44 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> 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<ZtTask> ztTasks = this.baseMapper.selectList(new QueryWrapper<ZtTask>().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<ZtStory>().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<ZtTask> ztTasks = this.baseMapper.selectList(new QueryWrapper<ZtTask>().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<ZtStory>().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);
|
||||
@@ -893,10 +931,10 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
||||
String finishBy = StringUtils.isEmpty(ztTask.getFinishedby()) ? RiskUserThreadLocal.get().getName() : ztTask.getFinishedby();
|
||||
//如果是测试任务 提交交付物
|
||||
if ("test".equals(ztTask.getType()) && !StringUtils.isEmpty(ztTask.getDeliverContent())) {
|
||||
actionService.addAction(ActionType.RW, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
actionService.addAction(ActionType.RW, ActionStatus.TJJFW, ztTask.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null);
|
||||
if (ztTask.getStory() != null && ztTask.getStory() != 0) {
|
||||
actionService.addAction(ActionType.XQ, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
actionService.addAction(ActionType.XQ, ActionStatus.TJJFW, ztTask.getStory(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null);
|
||||
}
|
||||
if (ztTask.getStory() != null && ztTask.getStory() != 0) {
|
||||
@@ -996,7 +1034,7 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
||||
actionService.addAction(ActionType.RW, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null);
|
||||
if (ztTask.getStory() != null && ztTask.getStory() != 0) {
|
||||
actionService.addAction(ActionType.XQ, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
actionService.addAction(ActionType.XQ, ActionStatus.TJJFW, ztTask.getStory(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(),
|
||||
StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null);
|
||||
}
|
||||
}
|
||||
@@ -1085,7 +1123,6 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
||||
}
|
||||
|
||||
|
||||
|
||||
ZtProjectproduct projectproduct = projectproductService.getOne(new QueryWrapper<ZtProjectproduct>().lambda().eq(ZtProjectproduct::getProject, ztTask.getProject()));
|
||||
|
||||
//添加action
|
||||
|
||||
@@ -257,11 +257,16 @@
|
||||
and closedBy =#{qo.userName}
|
||||
</if>
|
||||
|
||||
<if test="qo.stageList != null and qo.stageList.size() > 0">
|
||||
and s.stage in
|
||||
<foreach collection="qo.stageList" item="id" index="index"
|
||||
open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
</if>
|
||||
|
||||
group by s.id
|
||||
|
||||
|
||||
<choose>
|
||||
<when test="qo.orderName != '' and qo.orderName != null ">
|
||||
<choose>
|
||||
@@ -277,20 +282,9 @@
|
||||
order by s.id desc
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
|
||||
|
||||
|
||||
-- order by id desc
|
||||
|
||||
|
||||
</select>
|
||||
<select id="projectStoryPageList" resultType="com.sa.zentao.dao.ZtStoryDTO">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
select s.id,
|
||||
s.vision,
|
||||
s.parent,
|
||||
@@ -463,7 +457,6 @@
|
||||
</if>
|
||||
|
||||
|
||||
|
||||
<if test="qo.searchVal == 'JH' ">
|
||||
and s.status = 'active'
|
||||
</if>
|
||||
@@ -564,7 +557,14 @@
|
||||
</foreach>
|
||||
|
||||
</if>
|
||||
<if test="qo.stageList != null and qo.stageList.size() > 0">
|
||||
and s.stage in
|
||||
<foreach collection="qo.stageList" item="id" index="index"
|
||||
open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
</if>
|
||||
|
||||
group by s.id
|
||||
|
||||
@@ -1028,6 +1028,14 @@
|
||||
|
||||
</if>
|
||||
|
||||
<if test="qo.stageList != null and qo.stageList.size() > 0">
|
||||
and s.stage in
|
||||
<foreach collection="qo.stageList" item="id" index="index"
|
||||
open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
</if>
|
||||
group by s.id
|
||||
|
||||
<choose>
|
||||
|
||||
@@ -162,6 +162,16 @@
|
||||
and s.openedBy = #{qo.openedby}
|
||||
</if>
|
||||
|
||||
<if test="qo.statusList != null and qo.statusList.size() > 0">
|
||||
and s.status in
|
||||
<foreach collection="qo.statusList" item="id" index="index"
|
||||
open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
</if>
|
||||
|
||||
|
||||
|
||||
<if test="qo.status != null and qo.status != '' ">
|
||||
-- 需求明确中、详细设计、详细设计中、产品已设计、需求待确认 这些查询状态合并成 “需求明确中”
|
||||
|
||||
Reference in New Issue
Block a user