From 9a36facf01c0a1d3624f7adb98b7c3a7c067b3b9 Mon Sep 17 00:00:00 2001 From: guoqibing Date: Wed, 10 Dec 2025 14:12:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=A2=9E=E5=8A=A0=E7=AD=9B?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sa/zentao/entity/ZtStoryUser.java | 1 + .../java/com/sa/zentao/enums/StoryStageEnums.java | 14 ++++++++++++++ .../java/com/sa/zentao/enums/UserStoryEnums.java | 1 + .../sa/zentao/service/impl/IZtCountService.java | 6 +++++- .../sa/zentao/service/impl/ZtStoryServiceImpl.java | 4 ++++ .../service/impl/ZtStoryUserServiceImpl.java | 14 ++++++++++---- 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/sa/zentao/entity/ZtStoryUser.java b/src/main/java/com/sa/zentao/entity/ZtStoryUser.java index f7ce220..e746de6 100644 --- a/src/main/java/com/sa/zentao/entity/ZtStoryUser.java +++ b/src/main/java/com/sa/zentao/entity/ZtStoryUser.java @@ -78,6 +78,7 @@ public class ZtStoryUser implements Serializable { // DQR("storyunconfirmed","需求待确认",8), // CFM("confirmed","需求已确认",9), // KFZ("developing","研发中",10), + // KFZ("released","已发布",10), // YWC("finished","已完成",11), // CLOSED("closed","已关闭",12), private String status; diff --git a/src/main/java/com/sa/zentao/enums/StoryStageEnums.java b/src/main/java/com/sa/zentao/enums/StoryStageEnums.java index 45345bb..5268e39 100644 --- a/src/main/java/com/sa/zentao/enums/StoryStageEnums.java +++ b/src/main/java/com/sa/zentao/enums/StoryStageEnums.java @@ -2,6 +2,9 @@ package com.sa.zentao.enums; import com.baomidou.mybatisplus.annotation.EnumValue; +import java.util.ArrayList; +import java.util.List; + public enum StoryStageEnums { //closed 关闭 wait 初始化 projected 已立项 developing 研发中 developed 研发完毕 testing 测试中 // tested测试完毕 released已发布 verified已验收 closed 已关闭 @@ -28,6 +31,17 @@ public enum StoryStageEnums { this.desc=desc; } + public static List beforeStatus(int code){ + List list=new ArrayList(); + StoryStageEnums[] values = values(); + for (StoryStageEnums value : values) { + if (value.code().lambda().in(ZtStoryUser::getProduct, pIds) - .in(ZtStoryUser::getStatus, "active", "reviewing", "active", "unconfirmed", "waitcommunicate", "waitdesign", "designdoing", "designdone", "storyunconfirmed", "confirmed")); + .in(ZtStoryUser::getStatus, "active", "reviewing", "active", + "unconfirmed", "waitcommunicate", "waitdesign", "designdoing", "designdone", "storyunconfirmed", "confirmed")); ztStory = storyService.list(new QueryWrapper() .lambda().eq(ZtStory::getDeleted, "0") .in(ZtStory::getProduct, pIds) @@ -2940,3 +2941,6 @@ public class IZtCountService { } + + + 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 c084481..d4e5ece 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtStoryServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtStoryServiceImpl.java @@ -1321,6 +1321,10 @@ public class ZtStoryServiceImpl extends ServiceImpl impl ztStory.setEndDate(new Date()); } this.baseMapper.updateById(ztStory); + //用户需求 + if(ztStory.getUserStory()!=null&&ztStory.getUserStory().intValue()!=0){ + this.storyUserService.changeStatus(ztStory.getUserStory(),UserStoryEnums.RELEASED); + } String ysUser = ztStory.getYsUser(); diff --git a/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java b/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java index 69f04ca..9530596 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtStoryUserServiceImpl.java @@ -13,10 +13,7 @@ import com.sa.zentao.conf.LoginRiskUser; import com.sa.zentao.conf.RiskUserThreadLocal; import com.sa.zentao.dao.*; import com.sa.zentao.entity.*; -import com.sa.zentao.enums.ActionStatus; -import com.sa.zentao.enums.ActionType; -import com.sa.zentao.enums.FileTypes; -import com.sa.zentao.enums.UserStoryEnums; +import com.sa.zentao.enums.*; import com.sa.zentao.mapper.ZtStoryUserMapper; import com.sa.zentao.qo.StoryQo; import com.sa.zentao.qo.ZtProjectQo; @@ -731,6 +728,15 @@ public class ZtStoryUserServiceImpl extends ServiceImpl storyList = this.storyService.list(new QueryWrapper().lambda() + .ne(ZtStory::getStatus, "closed").in(ZtStory::getStage, StoryStageEnums.beforeStatus(7)).eq(ZtStory::getUserStory, id)); + if(!CollectionUtils.isEmpty(storyList)){ + return ; + } + } storyUser.setStatus(status.getCode()); storyUser.setLasteditedby(RiskUserThreadLocal.get().getName()); storyUser.setLastediteddate(new Date());