测试
This commit is contained in:
@@ -327,5 +327,20 @@ public class ZtStoryDTO implements Serializable {
|
|||||||
|
|
||||||
@ExcelIgnore
|
@ExcelIgnore
|
||||||
private ZtStoryCaseDTO caseInfo;
|
private ZtStoryCaseDTO caseInfo;
|
||||||
|
/**
|
||||||
|
* 开发完成时间
|
||||||
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
|
private Date developedDate;
|
||||||
|
/**
|
||||||
|
* 开发预计完成时间
|
||||||
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
|
private Date develPlanEndTime;
|
||||||
|
/**
|
||||||
|
* 测试预计完成时间
|
||||||
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
|
private Date testPlanEndTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ public class ZtTaskDTO implements Serializable {
|
|||||||
private String approvalRemark;
|
private String approvalRemark;
|
||||||
|
|
||||||
|
|
||||||
private Integer project;
|
|
||||||
|
|
||||||
|
private Integer project;
|
||||||
private Integer parent;
|
private Integer parent;
|
||||||
|
|
||||||
private Integer execution;
|
private Integer execution;
|
||||||
|
|||||||
@@ -186,6 +186,8 @@ public class ZtStory implements Serializable {
|
|||||||
private Date planEndDate;
|
private Date planEndDate;
|
||||||
//开始日期 开发开始
|
//开始日期 开发开始
|
||||||
private Date startDate;
|
private Date startDate;
|
||||||
|
//开发完毕日期
|
||||||
|
private Date developedDate;
|
||||||
//结束日期 测试结束
|
//结束日期 测试结束
|
||||||
private Date endDate;
|
private Date endDate;
|
||||||
|
|
||||||
@@ -194,8 +196,7 @@ public class ZtStory implements Serializable {
|
|||||||
private Integer ysFlag;
|
private Integer ysFlag;
|
||||||
|
|
||||||
private String ysRemark;
|
private String ysRemark;
|
||||||
//开发完毕日期
|
|
||||||
private Date developedDate;
|
|
||||||
|
|
||||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||||
private Integer userStory;
|
private Integer userStory;
|
||||||
@@ -206,6 +207,15 @@ public class ZtStory implements Serializable {
|
|||||||
//验收时间
|
//验收时间
|
||||||
|
|
||||||
private Date ysDate;
|
private Date ysDate;
|
||||||
|
/**
|
||||||
|
* 开发预计完成时间
|
||||||
|
*/
|
||||||
|
private Date develPlanEndTime;
|
||||||
|
/**
|
||||||
|
* 测试预计完成时间
|
||||||
|
*/
|
||||||
|
private Date testPlanEndTime;
|
||||||
|
|
||||||
// //开发完成时间
|
// //开发完成时间
|
||||||
// private Date develDate;
|
// private Date develDate;
|
||||||
// //测试完成时间
|
// //测试完成时间
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.sa.zentao.service.impl;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.github.pagehelper.Page;
|
import com.github.pagehelper.Page;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
@@ -647,6 +648,16 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
|||||||
throw new BusinessException("当前环境异常请联系管理员");
|
throw new BusinessException("当前环境异常请联系管理员");
|
||||||
}
|
}
|
||||||
this.baseMapper.insert(ztTask);
|
this.baseMapper.insert(ztTask);
|
||||||
|
if(ztTask.getDeadline()!=null&&ztTask.getStory()!=null&&ztTask.getStory()!=0){
|
||||||
|
ZtStory ztStory = this.storyService.getById(ztTask.getStory());
|
||||||
|
if(ztTask.getType().equals("devel")&&(ztStory.getDevelPlanEndTime()==null||ztTask.getDeadline().after(ztStory.getDevelPlanEndTime()))){
|
||||||
|
ztStory.setDevelPlanEndTime(ztTask.getDeadline());
|
||||||
|
}
|
||||||
|
if(ztTask.getType().equals("test")&&(ztStory.getTestPlanEndTime()==null||ztTask.getDeadline().after(ztStory.getTestPlanEndTime()))){
|
||||||
|
ztStory.setTestPlanEndTime(ztTask.getDeadline());
|
||||||
|
}
|
||||||
|
this.storyService.updateById(ztStory);
|
||||||
|
}
|
||||||
if ("wait".equals(ztTask.getStatus())) {
|
if ("wait".equals(ztTask.getStatus())) {
|
||||||
this.storyService.taskFinishChangeStatus(ztTask.getStory(), null, TaskType.transferType(ztTask.getType()), false);
|
this.storyService.taskFinishChangeStatus(ztTask.getStory(), null, TaskType.transferType(ztTask.getType()), false);
|
||||||
}
|
}
|
||||||
@@ -999,6 +1010,41 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
|||||||
ztTask.setLasteditedby(RiskUserThreadLocal.get().getName());
|
ztTask.setLasteditedby(RiskUserThreadLocal.get().getName());
|
||||||
ztTask.setLastediteddate(new Date());
|
ztTask.setLastediteddate(new Date());
|
||||||
this.baseMapper.updateById(ztTask);
|
this.baseMapper.updateById(ztTask);
|
||||||
|
|
||||||
|
if(ztTask.getDeadline()!=null&&ztTask.getStory()!=null&&ztTask.getStory()!=0){
|
||||||
|
ZtStory ztStory = this.storyService.getById(ztTask.getStory());
|
||||||
|
if(ztTask.getType().equals("devel")&&ztStory.getDevelPlanEndTime()!=null){
|
||||||
|
//查找最大时间那个
|
||||||
|
ztStory.setDevelPlanEndTime(ztTask.getDeadline());
|
||||||
|
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){
|
||||||
|
//查找最大时间那个
|
||||||
|
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())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ZtProjectproduct projectproduct = projectproductService.getOne(new QueryWrapper<ZtProjectproduct>().lambda().eq(ZtProjectproduct::getProject, ztTask.getProject()));
|
ZtProjectproduct projectproduct = projectproductService.getOne(new QueryWrapper<ZtProjectproduct>().lambda().eq(ZtProjectproduct::getProject, ztTask.getProject()));
|
||||||
|
|
||||||
//添加action
|
//添加action
|
||||||
@@ -1018,8 +1064,6 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.storyService.taskFinishChangeStatus(ztTask.getStory(), null, TaskType.transferType(ztTask.getType()), true);
|
this.storyService.taskFinishChangeStatus(ztTask.getStory(), null, TaskType.transferType(ztTask.getType()), true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1046,7 +1090,37 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
|||||||
//添加action
|
//添加action
|
||||||
actionService.addAction(ActionType.RW, ActionStatus.QX, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), ztTask.getProject(), ztTask.getExecution(),
|
actionService.addAction(ActionType.RW, ActionStatus.QX, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), ztTask.getProject(), ztTask.getExecution(),
|
||||||
RiskUserThreadLocal.get().getName(), dto.getDesc(), null);
|
RiskUserThreadLocal.get().getName(), dto.getDesc(), null);
|
||||||
|
if(ztTask.getDeadline()!=null&&ztTask.getStory()!=null&&ztTask.getStory()!=0){
|
||||||
|
ZtStory ztStory = this.storyService.getById(ztTask.getStory());
|
||||||
|
if(ztTask.getType().equals("devel")&&ztStory.getDevelPlanEndTime()!=null){
|
||||||
|
//查找最大时间那个
|
||||||
|
ztStory.setDevelPlanEndTime(ztTask.getDeadline());
|
||||||
|
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){
|
||||||
|
//查找最大时间那个
|
||||||
|
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())));
|
||||||
|
}
|
||||||
|
}
|
||||||
if (ztTask.getExecution() != null && ztTask.getExecution() != 0) {
|
if (ztTask.getExecution() != null && ztTask.getExecution() != 0) {
|
||||||
if (StringUtils.isEmpty(dto.getTabType())) {
|
if (StringUtils.isEmpty(dto.getTabType())) {
|
||||||
|
|
||||||
@@ -1138,6 +1212,18 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> impleme
|
|||||||
ztTask.setProduct(ztProjectproduct.getProduct());
|
ztTask.setProduct(ztProjectproduct.getProduct());
|
||||||
}
|
}
|
||||||
saveList.add(ztTask);
|
saveList.add(ztTask);
|
||||||
|
|
||||||
|
if(ztTask.getDeadline()!=null&&ztTask.getStory()!=null&&ztTask.getStory()!=0){
|
||||||
|
ZtStory ztStory = this.storyService.getById(ztTask.getStory());
|
||||||
|
if(ztTask.getType().equals("devel")&&(ztStory.getDevelPlanEndTime()==null||ztTask.getDeadline().getTime()>=ztStory.getDevelPlanEndTime().getTime()
|
||||||
|
)){
|
||||||
|
ztStory.setDevelPlanEndTime(ztTask.getDeadline());
|
||||||
|
}
|
||||||
|
if(ztTask.getType().equals("test")&&(ztStory.getTestPlanEndTime()==null||ztTask.getDeadline().getTime()>=ztStory.getTestPlanEndTime().getTime())){
|
||||||
|
ztStory.setTestPlanEndTime(ztTask.getDeadline());
|
||||||
|
}
|
||||||
|
this.storyService.updateById(ztStory);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -140,8 +140,9 @@
|
|||||||
su.id userStoryId,
|
su.id userStoryId,
|
||||||
ps.title parentName,
|
ps.title parentName,
|
||||||
su.openedDate userStoryCreateTime,
|
su.openedDate userStoryCreateTime,
|
||||||
su.openedBy userStoryCreateUser
|
su.openedBy userStoryCreateUser,
|
||||||
|
s.devel_plan_end_time,
|
||||||
|
s.test_plan_end_time
|
||||||
|
|
||||||
from zt_story s
|
from zt_story s
|
||||||
left join zt_story_user su on s.user_story = su.id
|
left join zt_story_user su on s.user_story = su.id
|
||||||
@@ -360,7 +361,8 @@
|
|||||||
s.ys_user,
|
s.ys_user,
|
||||||
s.task_count,
|
s.task_count,
|
||||||
s.ys_date,
|
s.ys_date,
|
||||||
|
s.devel_plan_end_time,
|
||||||
|
s.test_plan_end_time,
|
||||||
pt.name productName
|
pt.name productName
|
||||||
from zt_story s
|
from zt_story s
|
||||||
|
|
||||||
@@ -865,6 +867,8 @@
|
|||||||
s.user_story,
|
s.user_story,
|
||||||
s.ys_user,
|
s.ys_user,
|
||||||
s.task_count,
|
s.task_count,
|
||||||
|
s.devel_plan_end_time,
|
||||||
|
s.test_plan_end_time,
|
||||||
s.ys_date
|
s.ys_date
|
||||||
|
|
||||||
,pt.name productName
|
,pt.name productName
|
||||||
|
|||||||
Reference in New Issue
Block a user