From 2ea29873566b99aa4115474cf011a1992bed8770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sat, 19 Mar 2022 22:17:25 +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 --- .../com/xm/core/service/XmProductService.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/xm-core/src/main/java/com/xm/core/service/XmProductService.java b/xm-core/src/main/java/com/xm/core/service/XmProductService.java index ea6a730e..40801fd2 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProductService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProductService.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -51,8 +52,10 @@ public class XmProductService extends BaseService { @Autowired XmProductProjectLinkService linkService; + @Autowired + private XmTaskService xmTaskService; + - /** * 产品不直接根项目关联,此函数作废了 * @param productId @@ -166,6 +169,41 @@ public class XmProductService extends BaseService { } } + if("1".equals(xmProduct.getCopyPhase())){ + XmTask taskQ=new XmTask(); + taskQ.setProductId(xmProduct.getId()); + List xmTasks=this.xmTaskService.selectListByWhere(taskQ); + Map newTaskIdMap=new HashMap<>(); + if(xmTasks!=null && xmTasks.size()>0){ + for (XmTask node : xmTasks) { + newTaskIdMap.put(node.getId(),this.xmTaskService.createKey("id")); + } + for (XmTask node : xmTasks) { + String oldId=node.getId(); + String newId=newTaskIdMap.get(oldId); + node.setProductId(xmProduct.getId()); + node.setId(newId); + node.setParentTaskid(newTaskIdMap.get(node.getParentTaskid())); + node.setCbranchId(user.getBranchId()); + node.setCdeptid(user.getDeptid()); + node.setCreateUsername(user.getUsername()); + node.setCreateUserid(user.getUserid()); + node.setCreateTime(new Date()); + node.setPreTaskid(newTaskIdMap.get(node.getPreTaskid())); + node.setIsTpl(isTpl); + node.setMenuId(newMenuIdMap.get(node.getMenuId())); + node.setExeUsernames(null); + node.setExeUserids(null); + node.setRate(BigDecimal.ZERO); + node.setActEndTime(null); + node.setActStartTime(null); + node.setExecutorUserid(null); + node.setExecutorUsername(null); + } + this.xmTaskService.parentIdPathsCalcBeforeSave(xmTasks); + this.xmTaskService.batchImportFromTemplate(xmTasks); + } + } List groupsDb=new ArrayList<>(); Map newGroupIdMap = new HashMap<>(); if( "1".equals(xmProduct.getCopyGroup())||"1".equals(xmProduct.getCopyGroupUser())) {