From 9657558761d8ee675b0c692806cafe9f7d5fe530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Wed, 21 Jul 2021 02:48:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81=E9=A1=B9=E7=9B=AE=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/ctrl/XmProjectGroupController.java | 14 +++++- .../service/XmProductProjectLinkService.java | 5 +- .../core/service/XmProjectGroupService.java | 49 +++++++++++++++++-- .../core/dao/XmProductProjectLinkMapper.xml | 7 ++- .../xm/core/dao/XmProjectPhaseMapper.xml | 10 ++-- 5 files changed, 73 insertions(+), 12 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java index 9e5e8890..60875f34 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -98,7 +99,18 @@ public class XmProjectGroupController { Map m = new HashMap<>(); RequestUtils.transformArray(params, "ids"); PageUtils.startPage(params); - List xmProjectGroupList = xmProjectGroupService.getProjectGroupVoList((String) params.get("projectId")); //列出XmProjectGroup列表 + List xmProjectGroupList=new ArrayList<>(); + String iterationId= (String) params.get("iterationId"); + String projectId= (String) params.get("projectId"); + String productId= (String) params.get("productId"); + if(StringUtils.hasText(projectId)){ + xmProjectGroupList = xmProjectGroupService.getProjectGroupVoList(projectId); //列出XmProjectGroup列表 + }else if(StringUtils.hasText(iterationId)){ + xmProjectGroupList = xmProjectGroupService.getProjectGroupVoListByIterationId(iterationId ); //列出XmProjectGroup列表 + } if(StringUtils.hasText(productId)){ + xmProjectGroupList = xmProjectGroupService.getProjectGroupVoListByProductId( productId); //列出XmProjectGroup列表 + } + PageUtils.responePage(m, xmProjectGroupList); m.put("data",xmProjectGroupList); Tips tips=new Tips("查询成功"); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProductProjectLinkService.java b/xm-core/src/main/java/com/xm/core/service/XmProductProjectLinkService.java index 0a1fce30..2ea92e4c 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProductProjectLinkService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProductProjectLinkService.java @@ -15,7 +15,10 @@ import com.xm.core.entity.XmProductProjectLink; @Service("xm.core.xmProductProjectLinkService") public class XmProductProjectLinkService extends BaseService { static Logger logger =LoggerFactory.getLogger(XmProductProjectLinkService.class); - /** 请在此类添加自定义函数 */ + List selectListByIterationId(String iterationId){ + List data=super.selectList("selectListByIterationId",iterationId); + return data; + } } diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java index 6adc38d8..5e4a1757 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java @@ -6,9 +6,7 @@ import com.mdp.core.err.BizException; import com.mdp.core.service.BaseService; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; -import com.xm.core.entity.XmProject; -import com.xm.core.entity.XmProjectGroup; -import com.xm.core.entity.XmProjectGroupUser; +import com.xm.core.entity.*; import com.xm.core.service.cache.XmProjectGroupCacheService; import com.xm.core.service.push.XmPushMsgService; import com.xm.core.vo.XmProjectGroupVo; @@ -42,7 +40,12 @@ public class XmProjectGroupService extends BaseService { @Autowired XmProjectGroupCacheService groupCacheService; - + + @Autowired + XmIterationProductLinkService xmIterationProductLinkService; + + @Autowired + XmProductProjectLinkService xmProductProjectLinkService; @Autowired private XmProjectService xmProjectService; @@ -685,6 +688,42 @@ public class XmProjectGroupService extends BaseService { } return false; } - + + + public List getProjectGroupVoListByIterationId(String iterationId) { + + List list=this.xmProductProjectLinkService.selectListByIterationId(iterationId); + List datas=new ArrayList<>(); + if(list!=null && list.size()>0){ + for (XmProductProjectLink productProjectLink : list) { + List data0=this.getProjectGroupVoList(productProjectLink.getProjectId()); + if(data0!=null && data0.size()>0){ + datas.addAll(data0); + } + } + } + return datas; + } + + /** + * 根据产品编号查询团队 + * @param productId + * @return + */ + public List getProjectGroupVoListByProductId(String productId) { + XmProductProjectLink xmProductProjectLink=new XmProductProjectLink(); + xmProductProjectLink.setProductId(productId); + List list=this.xmProductProjectLinkService.selectListByWhere(xmProductProjectLink); + List datas=new ArrayList<>(); + if(list!=null && list.size()>0){ + for (XmProductProjectLink productProjectLink : list) { + List data0=this.getProjectGroupVoList(productProjectLink.getProjectId()); + if(data0!=null && data0.size()>0){ + datas.addAll(data0); + } + } + } + return datas; + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductProjectLinkMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductProjectLinkMapper.xml index 9af88d98..0de8c74f 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductProjectLinkMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductProjectLinkMapper.xml @@ -5,8 +5,11 @@ - - + + diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml index 218d3910..b33b7d45 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml @@ -65,11 +65,15 @@ + + and exists( select 1 from xm_task t inner join xm_iteration_menu im on t.menu_id=im.menu_id where t.project_phase_id=res.id and im.iteration_id=#{iterationId}) + + + and exists( select 1 from xm_task t where t.product_id=#{productId}) + - - and exists( select 1 from xm_task t inner join xm_iteration_menu im on t.menu_id=im.menu_id where t.project_phase_id=res.id and im.iteration_id=#{iterationId}) - + order by res.seq_no asc