diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java index e0418a10..ec769efc 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java @@ -11,6 +11,7 @@ import com.mdp.mybatis.PageUtils; import com.mdp.qx.HasQx; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; +import com.xm.core.entity.XmProductProjectLink; import com.xm.core.entity.XmProject; import com.xm.core.service.*; import com.xm.core.vo.XmGroupVo; @@ -139,6 +140,16 @@ public class XmProjectController { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ + if(!StringUtils.hasText(xmProjectVo.getName())){ + return ResponseHelper.failed("name-0","项目名称不能为空"); + } + if(xmProjectVo.getLinks()!=null && xmProjectVo.getLinks().size()>0){ + for (XmProductProjectLink link : xmProjectVo.getLinks()) { + if(!StringUtils.hasText(link.getProductId())){ + return ResponseHelper.failed("productId-0","关联的产品编号不能为空"); + } + } + } xmProjectService.saveProject(xmProjectVo); xmProjectService.clearProject(xmProjectVo.getId()); m.put("data",xmProjectVo); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectService.java index f1ac2443..84fb76ff 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectService.java @@ -34,7 +34,9 @@ public class XmProjectService extends BaseService { @Value("${mdp.platform-branch-id:platform-branch-001}") String platformBranchId="platform-branch-001"; - + + @Autowired + XmProductProjectLinkService linkService; @Autowired XmTaskService xmTaskService; @@ -102,7 +104,6 @@ public class XmProjectService extends BaseService { if(StringUtils.hasText(xmProject.getName()) && xmProject.getName().equals(xmProjectDb.getName())){ xmProjectTo.setName(xmProject.getName()+"(复制)"); } - xmProjectTo.setGroups(null); xmProjectTo.setIsTpl(isTpl); xmProjectTo.setStatus("0"); xmProjectTo.setFromTplId(xmProjectDb.getId()); @@ -314,7 +315,19 @@ public class XmProjectService extends BaseService { xmProjectVo.setDel("0"); xmProjectVo.setLtime(new Date()); XmProject projectDb=new XmProject(); - BeanUtils.copyProperties(xmProjectVo,projectDb); + BeanUtils.copyProperties(xmProjectVo,projectDb); + + + if(xmProjectVo.getLinks()!=null && xmProjectVo.getLinks().size()>0){ + for (XmProductProjectLink link : xmProjectVo.getLinks()) { + link.setProjectId(xmProjectVo.getId()); + link.setCtime(new Date()); + link.setLinkStatus("1"); + link.setCuserid(user.getUserid()); + link.setCusername(user.getUsername()); + } + this.linkService.batchInsert(xmProjectVo.getLinks()); + } this.insert(projectDb); xmRecordService.addXmProjectRecord(xmProjectVo.getId(), "项目-新增项目", "新建项目"+xmProjectVo.getName(), JSONObject.toJSONString(xmProjectVo),null); return xmProjectVo; diff --git a/xm-core/src/main/java/com/xm/core/vo/XmProjectVo.java b/xm-core/src/main/java/com/xm/core/vo/XmProjectVo.java index df364d88..a86d824c 100644 --- a/xm-core/src/main/java/com/xm/core/vo/XmProjectVo.java +++ b/xm-core/src/main/java/com/xm/core/vo/XmProjectVo.java @@ -1,20 +1,19 @@ package com.xm.core.vo; +import com.xm.core.entity.XmProductProjectLink; import com.xm.core.entity.XmProject; import java.util.List; public class XmProjectVo extends XmProject { - - List groups; - - - public List getGroups() { - return groups; + List links; + + public List getLinks() { + return links; } - public void setGroups(List groups) { - this.groups = groups; + public void setLinks(List links) { + this.links = links; } }