From d19f9cf960bcfe383a41f38f6cf9173fa39af087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Wed, 6 Apr 2022 00:39:14 +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 | 58 +++++++++---------- .../core/service/XmTaskExecuserService.java | 6 +- .../mapper/xm/core/dao/XmTaskMapper.xml | 32 +++++----- 3 files changed, 48 insertions(+), 48 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 ba8917dd..b9878069 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 @@ -437,8 +437,8 @@ public class XmTaskController { if( !StringUtils.hasText(xmTaskVo.getMilestone()) ){ xmTaskVo.setMilestone("0"); } - if(xmTaskVo.getBudgetCost()==null){ - xmTaskVo.setBudgetCost(BigDecimal.ZERO); + if(xmTaskVo.getBudgetAt()==null){ + xmTaskVo.setBudgetAt(BigDecimal.ZERO); } if(StringUtils.isEmpty(xmTaskVo.getId())) { xmTaskVo.setId(this.xmTaskService.createKey("id")); @@ -450,11 +450,11 @@ public class XmTaskController { } } this.xmTaskService.parentIdPathsCalcBeforeSave(xmTaskVo); - if(xmTaskVo.getBudgetCost()!=null && xmTaskVo.getBudgetCost().compareTo(BigDecimal.ZERO)>0){ + if(xmTaskVo.getBudgetAt()!=null && xmTaskVo.getBudgetAt().compareTo(BigDecimal.ZERO)>0){ if("0".equals(xmTaskVo.getPtype()) && xmTaskVo.getLvl()<=1){ - xmTaskService.judgetProjectBudget(xmTaskVo.getProjectId(),xmTaskVo.getBudgetCost(),null); + xmTaskService.judgetProjectBudget(xmTaskVo.getProjectId(),xmTaskVo.getBudgetAt(),null); }else{ - tips=xmTaskService.judgetTaskBudget(xmTaskVo.getParentTaskid(), xmTaskVo.getBudgetCost(),null,null,null,null); + tips=xmTaskService.judgetTaskBudget(xmTaskVo.getParentTaskid(), xmTaskVo.getBudgetAt(),null,null,null,null); } } if(tips.isOk()) { @@ -669,15 +669,15 @@ public class XmTaskController { } this.xmTaskService.parentIdPathsCalcBeforeSave(xmTaskVo); - if(xmTaskVo.getBudgetCost()==null)xmTaskVo.setBudgetCost(BigDecimal.ZERO); - if(xmTaskDb.getBudgetCost()==null)xmTaskDb.setBudgetCost(BigDecimal.ZERO); + if(xmTaskVo.getBudgetAt()==null)xmTaskVo.setBudgetAt(BigDecimal.ZERO); + if(xmTaskDb.getBudgetAt()==null)xmTaskDb.setBudgetAt(BigDecimal.ZERO); List excludeIds=new ArrayList<>(); excludeIds.add(xmTaskDb.getId()); - if( xmTaskDb.getBudgetCost().compareTo(xmTaskVo.getBudgetCost())!=0){ + if( xmTaskDb.getBudgetAt().compareTo(xmTaskVo.getBudgetAt())!=0){ if("0".equals(xmTaskDb.getPtype()) && xmTaskVo.getLvl()<=1){ - tips=xmTaskService.judgetProjectBudget(xmTaskDb.getProjectId(), xmTaskVo.getBudgetCost(),excludeIds); + tips=xmTaskService.judgetProjectBudget(xmTaskDb.getProjectId(), xmTaskVo.getBudgetAt(),excludeIds); }else if(StringUtils.hasText(xmTaskDb.getParentTaskid())){ - tips=xmTaskService.judgetTaskBudget(xmTaskDb.getParentTaskid(), xmTaskVo.getBudgetCost(),null,null,null,excludeIds); + tips=xmTaskService.judgetTaskBudget(xmTaskDb.getParentTaskid(), xmTaskVo.getBudgetAt(),null,null,null,excludeIds); } } @@ -842,17 +842,17 @@ public class XmTaskController { g.setPtype(batchImportVo.getPtype()); g.setProjectId(projectId); g.setProductId(productId); - if(g.getBudgetCost()==null)g.setBudgetCost(BigDecimal.ZERO); + if(g.getBudgetAt()==null)g.setBudgetAt(BigDecimal.ZERO); } xmTaskService.parentIdPathsCalcBeforeSave(xmTasks); List tasksLvl1=xmTasks.stream().filter(i->i.getLvl()<=1).collect(Collectors.toList()); if(tasksLvl1.size()>0){ - BigDecimal totalTaskBudgetCost=BigDecimal.ZERO; + BigDecimal totalTaskBudgetAt=BigDecimal.ZERO; for (XmTask task : tasksLvl1) { - totalTaskBudgetCost=totalTaskBudgetCost.add(task.getBudgetCost()); + totalTaskBudgetAt=totalTaskBudgetAt.add(task.getBudgetAt()); } - if("0".equals(batchImportVo.getPtype())&&totalTaskBudgetCost.compareTo(BigDecimal.ZERO)>0){ - tips=xmTaskService.judgetProjectBudget(projectId,totalTaskBudgetCost,tasksLvl1.stream().map(i->i.getId()).collect(Collectors.toList())); + if("0".equals(batchImportVo.getPtype())&&totalTaskBudgetAt.compareTo(BigDecimal.ZERO)>0){ + tips=xmTaskService.judgetProjectBudget(projectId,totalTaskBudgetAt,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); @@ -864,13 +864,13 @@ public class XmTaskController { if(tasks.size()>0){ Set parentTaskIdSet=tasks.stream().map(i->i.getParentTaskid()).collect(Collectors.toSet()); for (String pid : parentTaskIdSet) { - BigDecimal childBudgetCost=BigDecimal.ZERO; + BigDecimal childBudgetAt=BigDecimal.ZERO; List childs=xmTasks.stream().filter(i->pid.equals(i.getParentTaskid())).collect(Collectors.toList()); for (XmTask child : childs) { - childBudgetCost=childBudgetCost.add(child.getBudgetCost()); + childBudgetAt=childBudgetAt.add(child.getBudgetAt()); } - if(childBudgetCost.compareTo(BigDecimal.ZERO)>0){ - tips= xmTaskService.judgetTaskBudget(pid,childBudgetCost,null,null,null,childs.stream().map(i->i.getId()).collect(Collectors.toList())); + if(childBudgetAt.compareTo(BigDecimal.ZERO)>0){ + tips= xmTaskService.judgetTaskBudget(pid,childBudgetAt,null,null,null,childs.stream().map(i->i.getId()).collect(Collectors.toList())); if(!tips.isOk()){ return ResponseHelper.failed("budget-not-enought",tips.getMsg()+" 相关任务【"+childs.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】"); } @@ -1283,8 +1283,8 @@ public class XmTaskController { if( "1".equals(xmTaskDb.getPtype()) && !xmTaskDb.getProductId().equals(task.getProductId()) ){ return ResponseHelper.failed("not-same-productId","所有任务必须同属于一个产品"); } - if(task.getBudgetCost()==null){ - task.setBudgetCost(BigDecimal.ZERO); + if(task.getBudgetAt()==null){ + task.setBudgetAt(BigDecimal.ZERO); } if(task.getBudgetWorkload()==null){ task.setBudgetWorkload(BigDecimal.ZERO); @@ -1320,13 +1320,13 @@ public class XmTaskController { this.xmTaskService.parentIdPathsCalcBeforeSave(canOpTasks); List tasksLvl1=canOpTasks.stream().filter(i->i.getLvl()<=1).collect(Collectors.toList()); if(tasksLvl1.size()>0){ - BigDecimal totalTaskBudgetCost=BigDecimal.ZERO; + BigDecimal totalTaskBudgetAt=BigDecimal.ZERO; for (XmTask task : tasksLvl1) { - totalTaskBudgetCost=totalTaskBudgetCost.add(task.getBudgetCost()); + totalTaskBudgetAt=totalTaskBudgetAt.add(task.getBudgetAt()); } - 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("0".equals(xmTaskDb.getPtype()) && totalTaskBudgetAt.compareTo(BigDecimal.ZERO)>0){ + tips=xmTaskService.judgetProjectBudget(xmTaskDb.getProjectId(),totalTaskBudgetAt,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); @@ -1346,13 +1346,13 @@ public class XmTaskController { map.put(canOpTask.getParentTaskid(),childs); } for (Map.Entry> kv : map.entrySet()) { - BigDecimal childBudgetCost = BigDecimal.ZERO; + BigDecimal childBudgetAt = BigDecimal.ZERO; List childs = kv.getValue(); for (XmTask child : childs) { - childBudgetCost = childBudgetCost.add(child.getBudgetCost()); + childBudgetAt = childBudgetAt.add(child.getBudgetAt()); } - if (childBudgetCost.compareTo(BigDecimal.ZERO) > 0) { - tips = xmTaskService.judgetTaskBudget(kv.getKey(), childBudgetCost, null, null, null, childs.stream().map(i -> i.getId()).collect(Collectors.toList())); + if (childBudgetAt.compareTo(BigDecimal.ZERO) > 0) { + tips = xmTaskService.judgetTaskBudget(kv.getKey(), childBudgetAt, null, null, null, childs.stream().map(i -> i.getId()).collect(Collectors.toList())); if (!tips.isOk()) { return ResponseHelper.failed("budget-not-enought", tips.getMsg() + " 相关任务【" + childs.stream().map(i -> i.getName()).collect(Collectors.joining(",")) + "】"); } diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java index 47caa412..3dd99f94 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java @@ -250,7 +250,7 @@ public class XmTaskExecuserService extends BaseService { List> actCostAmountList=xmProjectMCostUserService.listSumForSettleGroupByTaskIdAndUserid(params); BigDecimal addSettleAmount=BigDecimal.ZERO; BigDecimal allActCostAmount=BigDecimal.ZERO; - BigDecimal taskBudgetCost=NumberUtil.getBigDecimal(xmTaskDb.getBudgetCost(),BigDecimal.ZERO); + BigDecimal taskBudgetAt=NumberUtil.getBigDecimal(xmTaskDb.getBudgetAt(),BigDecimal.ZERO); Map> actCostAmountMap=new HashMap<>(); XmTaskExecuser execuserQuery=new XmTaskExecuser(); execuserQuery.setTaskId(taskId); @@ -304,12 +304,12 @@ public class XmTaskExecuserService extends BaseService { if(settleAmount.add(userActCostAmount).compareTo(quoteAmount)>0) { throw new BizException(xmTaskExecuserDB.getUsername()+"的结算金额不能大于报价金额,剩余"+quoteAmount.subtract(userActCostAmount)+"元可结算"); } - if(settleAmount.add(userActCostAmount).compareTo(taskBudgetCost)>0) { + if(settleAmount.add(userActCostAmount).compareTo(taskBudgetAt)>0) { throw new BizException(xmTaskExecuserDB.getUsername()+"的总结算金额不能大于任务总预算金额"); } } - if(allActCostAmount.add(addSettleAmount).compareTo(taskBudgetCost)>0) { + if(allActCostAmount.add(addSettleAmount).compareTo(taskBudgetAt)>0) { throw new BizException(xmTaskDb.getName()+"结算总金额已经超出任务预算"); } for (XmTaskExecuser xmTaskExecuser : xmTaskExecuserList) { diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml index 945bc993..aaf26621 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml @@ -170,13 +170,13 @@ - select p.id,p.name,p.plan_total_cost,sum(budget_cost) as budget_cost from xm_project p left join xm_task t on t.project_id=p.id + select p.id,p.name,p.plan_total_cost,sum(budget_at) as budget_at from xm_project p left join xm_task t on t.project_id=p.id where p.id=#{projectId} and t.lvl=1 and t.id not in #{item} @@ -359,11 +359,11 @@ update xm_task res left join ( - select u.task_id, sum(u.act_cost_amount) as act_cost_amount ,sum(u.act_workload) as act_workload from xm_project_m_cost_user u + select u.task_id, sum(u.act_at_amount) as act_at_amount ,sum(u.act_workload) as act_workload from xm_project_m_cost_user u where u.task_id=#{id} group by u.task_id ) as cu on cu.task_id=res.id - set res.act_workload=ifnull(cu.act_workload,0),res.act_cost=ifnull(cu.act_cost_amount,0), + set res.act_workload=ifnull(cu.act_workload,0),res.act_at=ifnull(cu.act_at_amount,0), res.task_state=ifnull(#{taskState},res.task_state) where id=#{id}