From 1547235c673bba4acc24c1b59e4b11bb70fde849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sun, 13 Mar 2022 22:21:56 +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/ctrl/XmTaskController.java | 45 +++++++++---------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java index 9a755693..af076ba6 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java @@ -1134,32 +1134,28 @@ public class XmTaskController { m.put("tips", tips); return m; } - XmTask xmTask=xmTasks.get(0); - String projectId=xmTask.getProjectId(); - if( !StringUtils.hasText(projectId) ){ - tips.setFailureMsg("项目编号不能为空"); - m.put("tips", tips); - return m; + Map xmTaskDbMap=this.xmTaskService.selectTasksMapByTasks(xmTasks); + XmTask xmTaskDb=xmTaskDbMap.values().stream().findFirst().isPresent()?xmTaskDbMap.values().stream().findFirst().get():null; + if(xmTaskDb==null){ + return ResponseHelper.failed("data-0","任务不存在"); } - List pgroups=groupService.getProjectGroupVoList(projectId); - if(pgroups==null || pgroups.size()==0){ - tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护"); - m.put("tips", tips); - return m; + Tips tips2=this.groupService.checkIsAdmOrTeamHeadOrAssByPtype(user,user.getUserid(),xmTaskDb.getPtype(),xmTaskDb.getProductId(),xmTaskDb.getProjectId()); + if(!tips2.isOk()){ + return ResponseHelper.failed(tips2); } - Map allowTasksDbMap=new HashMap<>(); Map noAllowTasksDbMap=new HashMap<>(); - Map xmTaskDbMap=this.xmTaskService.selectTasksMapByTasks(xmTasks); + Map frontParamsTaskMap=new HashMap<>(); List insertTasks=new ArrayList<>(); List updateTasks=new ArrayList<>(); for (XmTask task : xmTasks) { - if( !projectId.equals(task.getProjectId()) ){ - tips.setFailureMsg("所有任务必须同属于一个项目"); - m.put("tips", tips); - return m; + if( "0".equals(xmTaskDb.getPtype()) && !xmTaskDb.getProjectId().equals(task.getProjectId()) ){ + return ResponseHelper.failed("not-same-projectId","所有任务必须同属于一个项目"); + } + if( "1".equals(xmTaskDb.getPtype()) && !xmTaskDb.getProductId().equals(task.getProductId()) ){ + return ResponseHelper.failed("not-same-productId","所有任务必须同属于一个产品"); } if(task.getBudgetCost()==null){ task.setBudgetCost(BigDecimal.ZERO); @@ -1179,12 +1175,13 @@ public class XmTaskController { insertTasks.add(task); } } + List pgroups=new ArrayList<>(); + if("0".equals(xmTaskDb.getPtype())){ + pgroups=groupService.getProjectGroupVoList(xmTaskDb.getProjectId()); + }else{ + pgroups=groupService.getProductGroupVoList(xmTaskDb.getProductId()); + } for (XmTask task : xmTaskDbMap.values()) { - if( !projectId.equals(task.getProjectId()) ){ - tips.setFailureMsg("所有任务必须同属于一个项目"); - m.put("tips", tips); - return m; - } boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid()); if(!isHead){ noAllowTasksDbMap.put(task.getId(),task); @@ -1202,8 +1199,8 @@ public class XmTaskController { totalTaskBudgetCost=totalTaskBudgetCost.add(task.getBudgetCost()); } - if("0".equals(xmTask.getPtype()) && totalTaskBudgetCost.compareTo(BigDecimal.ZERO)>0){ - tips=xmTaskService.judgetProjectBudget(projectId,totalTaskBudgetCost,tasksLvl1.stream().map(i->i.getId()).collect(Collectors.toList())); + if("0".equals(xmTaskDb.getPtype()) && totalTaskBudgetCost.compareTo(BigDecimal.ZERO)>0){ + tips=xmTaskService.judgetProjectBudget(xmTaskDb.getProjectId(),totalTaskBudgetCost,tasksLvl1.stream().map(i->i.getId()).collect(Collectors.toList())); if(!tips.isOk()){ tips.setFailureMsg(tips.getMsg()+" 相关任务【"+tasksLvl1.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】"); return ResponseHelper.failed(tips);