diff --git a/src/main/java/com/sa/zentao/service/impl/ZtKanbanlaneServiceImpl.java b/src/main/java/com/sa/zentao/service/impl/ZtKanbanlaneServiceImpl.java index 5be7006..8d8893c 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtKanbanlaneServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtKanbanlaneServiceImpl.java @@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sa.zentao.utils.BeanCopyUtil; import com.sa.zentao.utils.DateUtils; import com.sa.zentao.utils.KanBanConstant; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +38,7 @@ import java.util.stream.Stream; * @since 2024-07-09 */ @Service +@Slf4j public class ZtKanbanlaneServiceImpl extends ServiceImpl implements IZtKanbanlaneService { @Autowired @@ -116,6 +118,14 @@ public class ZtKanbanlaneServiceImpl extends ServiceImpl():new ArrayList<>(Arrays.asList(cards.split(","))); l.add(bussId.toString()); diff --git a/src/main/java/com/sa/zentao/service/impl/ZtStoryServiceImpl.java b/src/main/java/com/sa/zentao/service/impl/ZtStoryServiceImpl.java index b37df86..df442c7 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtStoryServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtStoryServiceImpl.java @@ -161,6 +161,10 @@ public class ZtStoryServiceImpl extends ServiceImpl impl if (ztUser != null) { d.setProductUserName(ztUser.getNickname()); } + ztUser = userMap.get(d.getTestUser()); + if (ztUser != null) { + d.setTestUserName(ztUser.getNickname()); + } List ztProjectList = executionMapByStory.get(d.getId()); if (!CollectionUtils.isEmpty(ztProjectList)) { // d.setExecution(ztProject.getId()); @@ -984,7 +988,7 @@ public class ZtStoryServiceImpl extends ServiceImpl impl if(!StoryStageEnums.tested.getValue().equals(ztStory.getStage())){ throw new BusinessException("需求状态不对"); } - if(ObjectUtil.equal(ztStory.getInnerYsFlag(),1)){ + if(!ObjectUtil.equal(ztStory.getInnerYsFlag(),1)){ throw new BusinessException("无需内部验收,不需要提交"); } //产品验收中 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 8e77e89..05aa043 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java @@ -1054,41 +1054,40 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme actionService.addAction(ActionType.RW, ActionStatus.WC, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, "", null); - if (ztTask.getExecution() != null && ztTask.getExecution() != 0) { - if (StringUtils.isEmpty(dto.getTabType())) { - kanbanlaneService.changeStatus(ztTask.getExecution(), ztTask.getId(), "task", "developed"); - } else { - KanbanQo qo = new KanbanQo(); - qo.setStatusType(dto.getStatusType()); - qo.setTabType(dto.getTabType()); - qo.setId(dto.getId()); - qo.setFromId(dto.getFromId()); - qo.setToId(dto.getToId()); - kanbanlaneService.changeStatus(qo); + if (ztTask.getExecution() != null && ztTask.getExecution() != 0) { + if (StringUtils.isEmpty(dto.getTabType())) { + kanbanlaneService.changeStatus(ztTask.getExecution(), ztTask.getId(), "task", "developed"); + } else { + KanbanQo qo = new KanbanQo(); + qo.setStatusType(dto.getStatusType()); + qo.setTabType(dto.getTabType()); + qo.setId(dto.getId()); + qo.setFromId(dto.getFromId()); + qo.setToId(dto.getToId()); + kanbanlaneService.changeStatus(qo); + } } - } - // devel 开发 request 需求 test - //如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中” - //如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕" - //如果有一个测试任务进行中,则视为“测试中” - //如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试中" - //如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕" + // devel 开发 request 需求 test + //如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中” + //如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕" + //如果有一个测试任务进行中,则视为“测试中” + //如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试中" + //如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕" // pause 暂停 cancel取消 closed 关闭 done 完成 wait reviewing待评审 doing // devel 开发 request 需求 test - String type = ztTask.getType(); - if (ztTask.getStory() != null && ztTask.getStory() != 0) { - this.storyService.taskFinishChangeStatus(ztTask.getStory(), finishBy, TaskType.transferType(type), false); - } - if (ztTask.getFeedback() != null && ztTask.getFeedback() != 0) { - this.storyFeedbackService.feedbackFinished(ztTask.getFeedback(), ztTask.getFeedbackRemark()); - } - if(ztTask.getStory()!=null&&ztTask.getStory()!=0&& ObjectUtil.equal(dto.getInnerYsFlag(),1)){ - ZtStoryDTO qo=new ZtStoryDTO(); - qo.setId(ztTask.getStory()); - this.storyService.testSubmitVerified(qo); - } + String type = ztTask.getType(); + if (ztTask.getStory() != null && ztTask.getStory() != 0) { + this.storyService.taskFinishChangeStatus(ztTask.getStory(), finishBy, TaskType.transferType(type), false); + } + if (ztTask.getFeedback() != null && ztTask.getFeedback() != 0) { + this.storyFeedbackService.feedbackFinished(ztTask.getFeedback(), ztTask.getFeedbackRemark()); + } + if (ztTask.getStory() != null && ztTask.getStory() != 0 && ObjectUtil.equal(dto.getInnerYsFlag(), 1)) { + ZtStoryDTO qo = new ZtStoryDTO(); + qo.setId(ztTask.getStory()); + this.storyService.testSubmitVerified(qo); + } } - @Override @Transactional public void closeTask(ZtTaskDTO dto) { diff --git a/src/main/resources/mapper/ZtStoryMapper.xml b/src/main/resources/mapper/ZtStoryMapper.xml index 56448ee..c871df0 100644 --- a/src/main/resources/mapper/ZtStoryMapper.xml +++ b/src/main/resources/mapper/ZtStoryMapper.xml @@ -137,14 +137,15 @@ s.task_count, s.ys_date, s.inner_ys_flag, - s.product_user, su.title userStoryName, su.id userStoryId, ps.title parentName, su.openedDate userStoryCreateTime, su.openedBy userStoryCreateUser, s.devel_plan_end_time, - s.test_plan_end_time + s.test_plan_end_time, + s.test_user, + s.product_user from zt_story s left join zt_story_user su on s.user_story = su.id