合并代码,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.BeanCopyUtil;
import com.sa.zentao.utils.DateUtils; import com.sa.zentao.utils.DateUtils;
import com.sa.zentao.utils.KanBanConstant; import com.sa.zentao.utils.KanBanConstant;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,7 @@ import java.util.stream.Stream;
* @since 2024-07-09 * @since 2024-07-09
*/ */
@Service @Service
@Slf4j
public class ZtKanbanlaneServiceImpl extends ServiceImpl<ZtKanbanlaneMapper, ZtKanbanlane> implements IZtKanbanlaneService { public class ZtKanbanlaneServiceImpl extends ServiceImpl<ZtKanbanlaneMapper, ZtKanbanlane> implements IZtKanbanlaneService {
@Autowired @Autowired
@@ -116,6 +118,14 @@ public class ZtKanbanlaneServiceImpl extends ServiceImpl<ZtKanbanlaneMapper, ZtK
st.setAssignedToName(ztUser.getNickname()); st.setAssignedToName(ztUser.getNickname());
st.setColor(ztUser.getColor()); 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){ if(product!=null){
st.setProductName(product.getName()); st.setProductName(product.getName());
} }
@@ -317,8 +327,13 @@ public class ZtKanbanlaneServiceImpl extends ServiceImpl<ZtKanbanlaneMapper, ZtK
thisZtKanbancell.setCards(StringUtils.join(carIds,",")); thisZtKanbancell.setCards(StringUtils.join(carIds,","));
} }
this.kanbancellService.updateById(thisZtKanbancell);
ZtKanbancell ztKanbanlane = this.baseMapper.getZtKanbanlane(type, toStatus, execId); 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(); String cards = ztKanbanlane.getCards();
List l=StringUtils.isEmpty(cards)?new ArrayList<>():new ArrayList<>(Arrays.asList(cards.split(","))); List l=StringUtils.isEmpty(cards)?new ArrayList<>():new ArrayList<>(Arrays.asList(cards.split(",")));
l.add(bussId.toString()); l.add(bussId.toString());

View File

@@ -161,6 +161,10 @@ public class ZtStoryServiceImpl extends ServiceImpl<ZtStoryMapper, ZtStory> impl
if (ztUser != null) { if (ztUser != null) {
d.setProductUserName(ztUser.getNickname()); d.setProductUserName(ztUser.getNickname());
} }
ztUser = userMap.get(d.getTestUser());
if (ztUser != null) {
d.setTestUserName(ztUser.getNickname());
}
List<ZtProject> ztProjectList = executionMapByStory.get(d.getId()); List<ZtProject> ztProjectList = executionMapByStory.get(d.getId());
if (!CollectionUtils.isEmpty(ztProjectList)) { if (!CollectionUtils.isEmpty(ztProjectList)) {
// d.setExecution(ztProject.getId()); // d.setExecution(ztProject.getId());
@@ -984,7 +988,7 @@ public class ZtStoryServiceImpl extends ServiceImpl<ZtStoryMapper, ZtStory> impl
if(!StoryStageEnums.tested.getValue().equals(ztStory.getStage())){ if(!StoryStageEnums.tested.getValue().equals(ztStory.getStage())){
throw new BusinessException("需求状态不对"); throw new BusinessException("需求状态不对");
} }
if(ObjectUtil.equal(ztStory.getInnerYsFlag(),1)){ if(!ObjectUtil.equal(ztStory.getInnerYsFlag(),1)){
throw new BusinessException("无需内部验收,不需要提交"); 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(), 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); StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, "", null);
if (ztTask.getExecution() != null && ztTask.getExecution() != 0) { if (ztTask.getExecution() != null && ztTask.getExecution() != 0) {
if (StringUtils.isEmpty(dto.getTabType())) { if (StringUtils.isEmpty(dto.getTabType())) {
kanbanlaneService.changeStatus(ztTask.getExecution(), ztTask.getId(), "task", "developed"); kanbanlaneService.changeStatus(ztTask.getExecution(), ztTask.getId(), "task", "developed");
} else { } else {
KanbanQo qo = new KanbanQo(); KanbanQo qo = new KanbanQo();
qo.setStatusType(dto.getStatusType()); qo.setStatusType(dto.getStatusType());
qo.setTabType(dto.getTabType()); qo.setTabType(dto.getTabType());
qo.setId(dto.getId()); qo.setId(dto.getId());
qo.setFromId(dto.getFromId()); qo.setFromId(dto.getFromId());
qo.setToId(dto.getToId()); qo.setToId(dto.getToId());
kanbanlaneService.changeStatus(qo); kanbanlaneService.changeStatus(qo);
}
} }
} // devel 开发 request 需求 test
// devel 开发 request 需求 test //如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中”
//如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中” //如果所有的开发任务已经完成,并且所有的测试任务还没有开始,为“研发完毕"
//如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕" //如果有一个测试任务进行中,则为“测试中”
//如果有一个测试任务进行中,则视为测试中 //如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试中"
//如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试" //如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕"
//如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕"
// pause 暂停 cancel取消 closed 关闭 done 完成 wait reviewing待评审 doing // pause 暂停 cancel取消 closed 关闭 done 完成 wait reviewing待评审 doing
// devel 开发 request 需求 test // devel 开发 request 需求 test
String type = ztTask.getType(); String type = ztTask.getType();
if (ztTask.getStory() != null && ztTask.getStory() != 0) { if (ztTask.getStory() != null && ztTask.getStory() != 0) {
this.storyService.taskFinishChangeStatus(ztTask.getStory(), finishBy, TaskType.transferType(type), false); this.storyService.taskFinishChangeStatus(ztTask.getStory(), finishBy, TaskType.transferType(type), false);
} }
if (ztTask.getFeedback() != null && ztTask.getFeedback() != 0) { if (ztTask.getFeedback() != null && ztTask.getFeedback() != 0) {
this.storyFeedbackService.feedbackFinished(ztTask.getFeedback(), ztTask.getFeedbackRemark()); this.storyFeedbackService.feedbackFinished(ztTask.getFeedback(), ztTask.getFeedbackRemark());
} }
if(ztTask.getStory()!=null&&ztTask.getStory()!=0&& ObjectUtil.equal(dto.getInnerYsFlag(),1)){ if (ztTask.getStory() != null && ztTask.getStory() != 0 && ObjectUtil.equal(dto.getInnerYsFlag(), 1)) {
ZtStoryDTO qo=new ZtStoryDTO(); ZtStoryDTO qo = new ZtStoryDTO();
qo.setId(ztTask.getStory()); qo.setId(ztTask.getStory());
this.storyService.testSubmitVerified(qo); this.storyService.testSubmitVerified(qo);
} }
} }
@Override @Override
@Transactional @Transactional
public void closeTask(ZtTaskDTO dto) { public void closeTask(ZtTaskDTO dto) {

View File

@@ -137,14 +137,15 @@
s.task_count, s.task_count,
s.ys_date, s.ys_date,
s.inner_ys_flag, s.inner_ys_flag,
s.product_user,
su.title userStoryName, su.title userStoryName,
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.devel_plan_end_time,
s.test_plan_end_time s.test_plan_end_time,
s.test_user,
s.product_user
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