合并代码,bug修复

This commit is contained in:
2025-12-30 17:21:21 +08:00
parent 21f522cd1a
commit 3d815dc9e8
4 changed files with 54 additions and 35 deletions

View File

@@ -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<ZtKanbanlaneMapper, ZtKanbanlane> implements IZtKanbanlaneService {
@Autowired
@@ -116,6 +118,14 @@ public class ZtKanbanlaneServiceImpl extends ServiceImpl<ZtKanbanlaneMapper, ZtK
st.setAssignedToName(ztUser.getNickname());
st.setColor(ztUser.getColor());
}
ztUser = userMap.get(st.getProductUser());
if(ztUser!=null){
st.setProductUserName(ztUser.getNickname());
}
ztUser = userMap.get(st.getTestUser());
if(ztUser!=null){
st.setTestUserName(ztUser.getNickname());
}
if(product!=null){
st.setProductName(product.getName());
}
@@ -317,8 +327,13 @@ public class ZtKanbanlaneServiceImpl extends ServiceImpl<ZtKanbanlaneMapper, ZtK
thisZtKanbancell.setCards(StringUtils.join(carIds,","));
}
this.kanbancellService.updateById(thisZtKanbancell);
ZtKanbancell ztKanbanlane = this.baseMapper.getZtKanbanlane(type, toStatus, execId);
if(ztKanbanlane==null){
log.info("看板未获取到execId={} bussId={} type={} toStatus={}", execId, bussId, type, toStatus);
return;
}
this.kanbancellService.updateById(thisZtKanbancell);
String cards = ztKanbanlane.getCards();
List l=StringUtils.isEmpty(cards)?new ArrayList<>():new ArrayList<>(Arrays.asList(cards.split(",")));
l.add(bussId.toString());

View File

@@ -161,6 +161,10 @@ public class ZtStoryServiceImpl extends ServiceImpl<ZtStoryMapper, ZtStory> impl
if (ztUser != null) {
d.setProductUserName(ztUser.getNickname());
}
ztUser = userMap.get(d.getTestUser());
if (ztUser != null) {
d.setTestUserName(ztUser.getNickname());
}
List<ZtProject> ztProjectList = executionMapByStory.get(d.getId());
if (!CollectionUtils.isEmpty(ztProjectList)) {
// d.setExecution(ztProject.getId());
@@ -984,7 +988,7 @@ public class ZtStoryServiceImpl extends ServiceImpl<ZtStoryMapper, ZtStory> 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("无需内部验收,不需要提交");
}
//产品验收中

View File

@@ -1054,41 +1054,40 @@ public class ZtTaskServiceImpl extends ServiceImpl<ZtTaskMapper, ZtTask> 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) {

View File

@@ -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