From 2b9d6bda5eb24fd5817b060a8d0b08e3179d53a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Fri, 11 Mar 2022 15:50:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xm/core/ctrl/XmIterationController.java | 20 ++++++++++++++-- .../xm/core/service/XmIterationService.java | 17 ++++++++++--- .../java/com/xm/core/vo/XmIterationVo.java | 24 +++++++++---------- .../mapper/xm/core/dao/XmIterationMapper.xml | 14 ++++------- .../core/dao/XmProductProjectLinkMapper.xml | 2 +- .../mapper/xm/core/dao/XmProjectMapper.xml | 5 ++-- 6 files changed, 52 insertions(+), 30 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java index 9757f8ea..5cdcbc1d 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java @@ -10,9 +10,11 @@ import com.mdp.qx.HasQx; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.entity.XmIteration; +import com.xm.core.entity.XmIterationLink; import com.xm.core.service.XmIterationService; import com.xm.core.service.XmProductService; import com.xm.core.service.XmRecordService; +import com.xm.core.vo.XmIterationVo; import io.swagger.annotations.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -151,7 +153,7 @@ public class XmIterationController { }) @HasQx(value = "xm_core_xmIteration_add",name = "新增迭代计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmIteration(@RequestBody XmIteration xmIteration) { + public Map addXmIteration(@RequestBody XmIterationVo xmIteration) { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ @@ -171,7 +173,21 @@ public class XmIterationController { xmIteration.setCusername(user.getUsername()); xmIteration.setBranchId(user.getBranchId()); xmIteration.setIstatus("0"); - xmIterationService.insert(xmIteration); + xmIteration.setAdminUserid(user.getUserid()); + xmIteration.setAdminUsername(user.getUsername()); + if(xmIteration.getLinks()!=null && xmIteration.getLinks().size()>0){ + for (XmIterationLink link : xmIteration.getLinks()) { + link.setIterationId(xmIteration.getId()); + link.setCtime(new Date()); + link.setLinkStatus("1"); + link.setCuserid(user.getUserid()); + link.setCusername(user.getUsername()); + if(!StringUtils.hasText(link.getLtype())){ + return ResponseHelper.failed("ltype-0","关联类型不能为空"); + } + } + } + xmIterationService.addIteration(xmIteration); xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-新增","新增迭代"+xmIteration.getIterationName()); m.put("data",xmIteration); }catch (BizException e) { diff --git a/xm-core/src/main/java/com/xm/core/service/XmIterationService.java b/xm-core/src/main/java/com/xm/core/service/XmIterationService.java index 2e4f0d6b..4461632f 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmIterationService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmIterationService.java @@ -1,7 +1,10 @@ package com.xm.core.service; import com.mdp.core.service.BaseService; +import com.xm.core.vo.XmIterationVo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; @@ -13,8 +16,9 @@ import java.util.Map; ***/ @Service("xm.core.xmIterationService") public class XmIterationService extends BaseService { - - /** 请在此类添加自定义函数 */ + + @Autowired + XmIterationLinkService xmIterationLinkService; /** * 调用存储过程计算指定迭代的任务预算数据 @@ -26,12 +30,19 @@ public class XmIterationService extends BaseService { /** * 连同功能关联的状态数据一起带出 - * @param xmMenu + * @param iterationMap * @return */ public List> selectListMapByWhereWithState(Map iterationMap) { // TODO Auto-generated method stub return this.selectList("selectListMapByWhereWithState", iterationMap); } + + @Transactional + public void addIteration(XmIterationVo xmIteration) { + super.insert(xmIteration); + this.xmIterationLinkService.batchInsert(xmIteration.getLinks()); + + } } diff --git a/xm-core/src/main/java/com/xm/core/vo/XmIterationVo.java b/xm-core/src/main/java/com/xm/core/vo/XmIterationVo.java index 53c6f354..b3dbc881 100644 --- a/xm-core/src/main/java/com/xm/core/vo/XmIterationVo.java +++ b/xm-core/src/main/java/com/xm/core/vo/XmIterationVo.java @@ -1,21 +1,21 @@ package com.xm.core.vo; import com.xm.core.entity.XmIteration; +import com.xm.core.entity.XmIterationLink; + +import java.util.List; public class XmIterationVo extends XmIteration { - private static final long serialVersionUID = 1534268338972176747L; - - /** - * addSub,edit,delete - */ - String opType=""; - - public String getOpType() { - return opType; - } - public void setOpType(String opType) { - this.opType = opType; + + + List links; + + public List getLinks() { + return links; } + public void setLinks(List links) { + this.links = links; + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationMapper.xml index d2b497c5..b2c0c029 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationMapper.xml @@ -36,10 +36,8 @@ ) - and exists( select 1 from xm_iteration_link ipl inner join xm_product_project_link ppl - on ipl.pro_id=ppl.product_id - where ppl.project_id=#{projectId} and ipl.iteration_id =res.id - and ipl.pro_id=#{productId} + and exists( select 1 from xm_iteration_link ipl + where ipl.pro_id=#{projectId} and ipl.iteration_id =res.id ) @@ -78,14 +76,12 @@ and exists ( select 1 from xm_iteration_link ipl - where ipl.iteration_id=res.id and ipl.pro_id=#{productId} + where ipl.iteration_id=res.id and ipl.pro_id=#{productId} and ipl.ltype='1' ) - and exists( select 1 from xm_iteration_link ipl inner join xm_product_project_link ppl - on ipl.pro_id=ppl.product_id - where ppl.project_id=#{projectId} and ipl.iteration_id =res.id - and ipl.pro_id=#{productId} + and exists( select 1 from xm_iteration_link ipl + where ipl.pro_id=#{projectId} and ipl.iteration_id =res.id and ipl.ltype='0' ) 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 6fab5c7e..ad1c1fda 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 @@ -8,7 +8,7 @@ diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMapper.xml index 444a3dfa..c57efec7 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMapper.xml @@ -55,9 +55,8 @@ ) - and exists( select 1 from xm_iteration_link ipl inner join xm_product_project_link ppl - on ipl.pro_id=ppl.product_id - where ppl.project_id =res.id and ipl.iteration_id=#{iterationId} + and exists( select 1 from xm_iteration_link ipl + where ipl.pro_id =res.id and ipl.iteration_id=#{iterationId} and ipl.ltype='0' ) and res.name like #{key}