From 678d973384f9093de13a4245bca9f83e2e1ad5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sat, 19 Feb 2022 01:28:30 +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/XmBranchStateController.java | 8 +- .../ctrl/XmProjectBaselineController.java | 12 +- .../XmProjectMBudgetCostNouserController.java | 2 +- .../XmProjectMBudgetCostUserController.java | 2 +- .../ctrl/XmProjectMCostNouserController.java | 2 +- .../ctrl/XmProjectMCostUserController.java | 2 +- .../XmProjectPhaseBaselineController.java | 6 +- .../core/ctrl/XmProjectPhaseController.java | 106 ++++++++++-------- .../XmProjectPhaseTemplateController.java | 20 ++-- .../core/ctrl/XmProjectStateController.java | 8 +- .../ctrl/XmProjectStateHisController.java | 8 +- .../ctrl/XmProjectTemplateController.java | 12 +- .../com/xm/core/ctrl/XmTaskController.java | 10 +- .../core/ctrl/XmTaskExecuserController.java | 12 +- .../core/service/XmProjectPhaseService.java | 7 ++ 15 files changed, 118 insertions(+), 99 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java index b5c8836c..9e5cda1b 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java @@ -56,8 +56,8 @@ public class XmBranchStateController { @ApiImplicitParam(name="totalClosedBugCnt",value="已关闭bug总数",required=false), @ApiImplicitParam(name="totalResolvedBugCnt",value="已解决bug总数",required=false), @ApiImplicitParam(name="totalCompleteTaskCnt",value="已完成任务总数-来自任务表",required=false), - @ApiImplicitParam(name="totalPhaseCnt",value="项目阶段计划数",required=false), - @ApiImplicitParam(name="totalCompletePhaseCnt",value="项目阶段计划已完成数",required=false), + @ApiImplicitParam(name="totalPhaseCnt",value="项目计划数",required=false), + @ApiImplicitParam(name="totalCompletePhaseCnt",value="项目计划已完成数",required=false), @ApiImplicitParam(name="totalNeedPayAmount",value="待付款总金额",required=false), @ApiImplicitParam(name="totalFinishPayAmount",value="已付款总金额",required=false), @ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false), @@ -86,8 +86,8 @@ public class XmBranchStateController { @ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false), @ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false), @ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false), - @ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="testCases",value="测试案例总数",required=false), @ApiImplicitParam(name="execCases",value="测试中案例总数",required=false), @ApiImplicitParam(name="designCases",value="设计中案例总数",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectBaselineController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectBaselineController.java index 07755c7c..7f2b6048 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectBaselineController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectBaselineController.java @@ -63,14 +63,14 @@ public class XmProjectBaselineController { @ApiImplicitParam(name="planTotalCost",value="总预算",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), - @ApiImplicitParam(name="planNouserAt",value="非人力成本总预算-应该大于或等于阶段计划非人力总成本",required=false), - @ApiImplicitParam(name="planInnerUserAt",value="内部人力成本总预算-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="planOutUserAt",value="外购人力成本总预算-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="planNouserAt",value="非人力成本总预算-应该大于或等于计划非人力总成本",required=false), + @ApiImplicitParam(name="planInnerUserAt",value="内部人力成本总预算-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="planOutUserAt",value="外购人力成本总预算-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="locked",value="是否锁定整个项目不允许变化0否1是",required=false), @ApiImplicitParam(name="baseTime",value="基线时间",required=false), @ApiImplicitParam(name="baseRemark",value="基线备注",required=false), @ApiImplicitParam(name="baselineId",value="基线主键",required=false), - @ApiImplicitParam(name="planWorkload",value="总预算工作量-应该大于或等于阶段计划总工作量",required=false), + @ApiImplicitParam(name="planWorkload",value="总预算工作量-应该大于或等于计划总工作量",required=false), @ApiImplicitParam(name="totalReceivables",value="总预计收款金额",required=false), @ApiImplicitParam(name="budgetMarginRate",value="预估毛利率",required=false), @ApiImplicitParam(name="contractAmt",value="合同总金额",required=false), @@ -80,8 +80,8 @@ public class XmProjectBaselineController { @ApiImplicitParam(name="planInnerUserCnt",value="内部人数",required=false), @ApiImplicitParam(name="planWorkingHours",value="预计工作小时数目",required=false), @ApiImplicitParam(name="taxRate",value="税率",required=false), - @ApiImplicitParam(name="planInnerUserWorkload",value="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="planOutUserWorkload",value="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="planInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="planOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="projectId",value="项目编号",required=false), @ApiImplicitParam(name="ctime",value="创建时间",required=false), @ApiImplicitParam(name="pageSize",value="每页记录数",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostNouserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostNouserController.java index 17b96efd..d065fde5 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostNouserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostNouserController.java @@ -60,7 +60,7 @@ public class XmProjectMBudgetCostNouserController { @ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), - @ApiImplicitParam(name="projectPhaseId",value="阶段计划",required=false), + @ApiImplicitParam(name="projectPhaseId",value="计划",required=false), @ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="bizzMonth",value="费用归属月份yyyy-mm",required=false), @ApiImplicitParam(name="pageSize",value="每页记录数",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java index dc41ba41..95fcf0a8 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java @@ -52,7 +52,7 @@ public class XmProjectMBudgetCostUserController { @ApiImplicitParam(name="bizzMonth",value="费用归属月份yyyy-mm",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), - @ApiImplicitParam(name="projectPhaseId",value="项目阶段",required=false), + @ApiImplicitParam(name="projectPhaseId",value="项目计划",required=false), @ApiImplicitParam(name="costType",value="成本类型0人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="pageSize",value="每页记录数",required=false), @ApiImplicitParam(name="currentPage",value="当前页码,从1开始",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostNouserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostNouserController.java index 2bf39dd3..a52e651f 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostNouserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostNouserController.java @@ -66,7 +66,7 @@ public class XmProjectMCostNouserController { @ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), - @ApiImplicitParam(name="projectPhaseId",value="项目计划阶段编号",required=false), + @ApiImplicitParam(name="projectPhaseId",value="项目计划计划编号",required=false), @ApiImplicitParam(name="actCostAmount",value="实际成本金额",required=false), @ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="bizMonth",value="业务归属月份yyyy-mm",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java index 3f5be5bf..c5f7f95f 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java @@ -68,7 +68,7 @@ public class XmProjectMCostUserController { @ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), - @ApiImplicitParam(name="projectPhaseId",value="项目计划阶段编号",required=false), + @ApiImplicitParam(name="projectPhaseId",value="项目计划计划编号",required=false), @ApiImplicitParam(name="actCostAmount",value="金额",required=false), @ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="bizMonth",value="业务归属月份yyyy-mm",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseBaselineController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseBaselineController.java index e9a0036e..b0ca380e 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseBaselineController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseBaselineController.java @@ -46,10 +46,10 @@ public class XmProjectPhaseBaselineController { @ApiImplicitParams({ @ApiImplicitParam(name="id",value="基线主键,主键",required=false), @ApiImplicitParam(name="baseCtime",value="基线建立时间",required=false), - @ApiImplicitParam(name="projectPhaseId",value="阶段主键",required=false), - @ApiImplicitParam(name="phaseName",value="阶段名称",required=false), + @ApiImplicitParam(name="projectPhaseId",value="计划主键",required=false), + @ApiImplicitParam(name="phaseName",value="计划名称",required=false), @ApiImplicitParam(name="remark",value="备注",required=false), - @ApiImplicitParam(name="parentPhaseId",value="上级阶段编号",required=false), + @ApiImplicitParam(name="parentPhaseId",value="上级计划编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="projectId",value="当前项目编号",required=false), @ApiImplicitParam(name="beginDate",value="开始时间",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java index c320e5c9..1367831d 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java @@ -5,6 +5,7 @@ import com.mdp.core.entity.Tips; import com.mdp.core.err.BizException; import com.mdp.core.utils.NumberUtil; import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.ResponseHelper; import com.mdp.mybatis.PageUtils; import com.mdp.qx.HasQx; import com.mdp.safe.client.entity.User; @@ -25,14 +26,11 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** - * url编制采用rest风格,如对XM.xm_project_phase 项目阶段模板的操作有增删改查,对应的url分别为:
+ * url编制采用rest风格,如对XM.xm_project_phase 项目计划模板的操作有增删改查,对应的url分别为:
* 新增: xm/xmProjectPhase/add
* 查询: xm/xmProjectPhase/list
* 模糊查询: xm/xmProjectPhase/listKey
@@ -44,7 +42,7 @@ import java.util.stream.Collectors; ***/ @RestController("xm.core.xmProjectPhaseController") @RequestMapping(value="/**/xm/core/xmProjectPhase") -@Api(tags={"项目阶段模板操作接口"}) +@Api(tags={"项目计划模板操作接口"}) public class XmProjectPhaseController { static Log logger=LogFactory.getLog(XmProjectPhaseController.class); @@ -60,12 +58,12 @@ public class XmProjectPhaseController { @Autowired XmRecordService xmRecordService; - @ApiOperation( value = "查询项目阶段模板信息列表",notes="listXmProjectPhase,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") + @ApiOperation( value = "查询项目计划模板信息列表",notes="listXmProjectPhase,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @ApiImplicitParams({ - @ApiImplicitParam(name="id",value="阶段主键,主键",required=false), - @ApiImplicitParam(name="phaseName",value="阶段名称",required=false), + @ApiImplicitParam(name="id",value="计划主键,主键",required=false), + @ApiImplicitParam(name="phaseName",value="计划名称",required=false), @ApiImplicitParam(name="remark",value="备注",required=false), - @ApiImplicitParam(name="parentPhaseId",value="上级阶段编号",required=false), + @ApiImplicitParam(name="parentPhaseId",value="上级计划编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="projectId",value="当前项目编号",required=false), @ApiImplicitParam(name="beginDate",value="开始时间",required=false), @@ -95,7 +93,7 @@ public class XmProjectPhaseController { @ApiImplicitParam(name="phaseBudgetOutUserCnt",value="外购人数",required=false), @ApiImplicitParam(name="phaseBudgetInnerUserCnt",value="内部人数",required=false), @ApiImplicitParam(name="actRate",value="实际进度0-100",required=false), - @ApiImplicitParam(name="phaseStatus",value="阶段状态0初始1执行中2完工3关闭4删除中5已删除6暂停",required=false), + @ApiImplicitParam(name="phaseStatus",value="计划状态0初始1执行中2完工3关闭4删除中5已删除6暂停",required=false), @ApiImplicitParam(name="actOutUserAt",value="实际外部人力成本",required=false), @ApiImplicitParam(name="taskCnt",value="任务数",required=false), @ApiImplicitParam(name="finishTaskCnt",value="完成的任务数",required=false), @@ -123,25 +121,25 @@ public class XmProjectPhaseController { } - @HasQx(value = "xm_core_xmProjectPhase_setPhaseMngUser",name = "设置阶段计划负责人",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_setPhaseMngUser",name = "设置计划负责人",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/setPhaseMngUser",method=RequestMethod.POST) public Map setPhaseMngUser(@RequestBody XmProjectPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功设置"); try{ if(StringUtils.isEmpty(xmProjectPhase.getId())) { - tips.setFailureMsg("阶段计划编号不能为空"); + tips.setFailureMsg("计划编号不能为空"); m.put("tips", tips); return m; }else if(StringUtils.isEmpty(xmProjectPhase.getId())) { - tips.setFailureMsg("阶段计划编号不能为空"); + tips.setFailureMsg("计划编号不能为空"); m.put("tips", tips); return m; }else{ XmProjectPhase xmProjectPhaseQuery = new XmProjectPhase(xmProjectPhase.getId()); XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhaseQuery); if(xmProjectPhaseDb==null){ - tips.setFailureMsg("阶段计划不存在"); + tips.setFailureMsg("计划不存在"); m.put("tips", tips); return m; } @@ -150,13 +148,13 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许设置阶段计划负责人"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许设置计划负责人"); m.put("tips", tips); return m; } boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,xmProjectPhase.getMngUserid(),user.getUserid()); if( !meIsPm && !meIsHisTeamHead ){ - tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许设置其为阶段计划负责人"); + tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许设置其为计划负责人"); m.put("tips", tips); return m; } @@ -184,7 +182,7 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200,response=XmProjectPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) - @HasQx(value = "xm_core_xmProjectPhase_add",name = "创建项目阶段计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_add",name = "创建项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/add",method=RequestMethod.POST) public Map addXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase) { Map m = new HashMap<>(); @@ -210,13 +208,13 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许设置阶段计划负责人"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许设置计划负责人"); m.put("tips", tips); return m; } boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,xmProjectPhase.getMngUserid(),user.getUserid()); if( !meIsPm && !meIsHisTeamHead ){ - tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许设置其为阶段计划负责人"); + tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许设置其为计划负责人"); m.put("tips", tips); return m; } @@ -232,9 +230,18 @@ public class XmProjectPhaseController { excludePhaseIds.add(xmProjectPhase.getId()); Tips judgetTips=xmProjectPhaseService.judgetBudget(projectId, phaseBudgetCost,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,phaseBudgetNouserAt,excludePhaseIds); if(judgetTips.isOk()) { + if(StringUtils.hasText(xmProjectPhase.getParentPhaseId())){ + XmProjectPhase parentDb=xmProjectPhaseService.selectOneObject(new XmProjectPhase(xmProjectPhase.getParentPhaseId())); + if(parentDb==null){ + return ResponseHelper.failed("p-no-exists","上级计划不存在"); + } + if(!"1".equals(parentDb.getNtype())){ + return ResponseHelper.failed("p-ntype-no-1","上级【"+parentDb.getPhaseName()+"】不是计划集,不能在其之下建立子计划"); + } + } xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhase); xmProjectPhaseService.insert(xmProjectPhase); - xmRecordService.addXmPhaseRecord(projectId, xmProjectPhase.getId(), "项目-阶段计划-新增计划", "新增阶段计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); + xmRecordService.addXmPhaseRecord(projectId, xmProjectPhase.getId(), "项目-计划-新增计划", "新增计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); m.put("data",xmProjectPhase); }else { tips=judgetTips; @@ -254,7 +261,7 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") }) - @HasQx(value = "xm_core_xmProjectPhase_del",name = "删除项目阶段计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_del",name = "删除项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/del",method=RequestMethod.POST) public Map delXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase){ Map m = new HashMap<>(); @@ -265,13 +272,13 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许删除阶段计划"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许删除计划"); m.put("tips", tips); return m; } boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,xmProjectPhase.getMngUserid(),user.getUserid()); if( !meIsPm && !meIsHisTeamHead ){ - tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许删除其负责的阶段计划"); + tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许删除其负责的计划"); m.put("tips", tips); return m; } @@ -282,12 +289,12 @@ public class XmProjectPhaseController { }else { Long checkExistsChildren =xmProjectPhaseService.checkExistsChildren(xmProjectPhase.getId()); if(checkExistsChildren>0) { - tips.setFailureMsg("存在"+checkExistsChildren+"条子阶段计划,不允许删除"); + tips.setFailureMsg("存在"+checkExistsChildren+"条子计划,不允许删除"); }else { xmProjectPhaseService.deleteByPk(xmProjectPhase); - xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-阶段计划-删除计划", "删除阶段计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); + xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-计划-删除计划", "删除计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); } } @@ -309,7 +316,7 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200,response=XmProjectPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) - @HasQx(value = "xm_core_xmProjectPhase_edit",name = "修改项目阶段计划基础信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_edit",name = "修改项目计划基础信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/edit",method=RequestMethod.POST) public Map editXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase) { Map m = new HashMap<>(); @@ -320,7 +327,7 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许修改阶段计划"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许修改计划"); m.put("tips", tips); return m; } @@ -330,7 +337,7 @@ public class XmProjectPhaseController { } boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,xmProjectPhase.getMngUserid(),user.getUserid()); if( !meIsPm && !meIsHisTeamHead ){ - tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许修改其负责的阶段计划"); + tips.setFailureMsg("您不是"+xmProjectPhase.getMngUsername()+"的组长,不允许修改其负责的计划"); m.put("tips", tips); return m; } @@ -348,7 +355,7 @@ public class XmProjectPhaseController { if(judgetTips.isOk()) { xmProjectPhase=xmProjectPhaseService.autoCalcWorkload(xmProjectPhase); xmProjectPhaseService.updateByPk(xmProjectPhase); - xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-阶段计划-修改计划", "修改阶段计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); + xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-计划-修改计划", "修改计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); }else { tips=judgetTips; @@ -372,14 +379,14 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) - @HasQx(value = "xm_core_xmProjectPhase_batchDel",name = "批量删除项目阶段计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_batchDel",name = "批量删除项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchDel",method=RequestMethod.POST) public Map batchDelXmProjectPhase(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功删除"+(xmProjectPhases==null?0:xmProjectPhases.size())+"条数据"); try{ if(xmProjectPhases==null || xmProjectPhases.size()==0){ - tips.setFailureMsg("阶段计划不能为空"); + tips.setFailureMsg("计划不能为空"); m.put("tips", tips); return m; } @@ -392,7 +399,7 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许删除阶段计划"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许删除计划"); m.put("tips", tips); return m; } @@ -415,7 +422,7 @@ public class XmProjectPhaseController { }else { delPhases.add(phase); delCount=delCount+1; - xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-阶段计划-删除计划", "删除阶段计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); + xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-计划-删除计划", "删除计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } } @@ -425,7 +432,7 @@ public class XmProjectPhaseController { } String noQxTips=""; if(noQxUsernames.size()>0){ - noQxTips="您无权删除以下人员所负责的阶段计划【"+StringUtils.arrayToCommaDelimitedString(noQxUsernames.toArray())+"】"; + noQxTips="您无权删除以下人员所负责的计划【"+StringUtils.arrayToCommaDelimitedString(noQxUsernames.toArray())+"】"; } if(noDelList.size()>0 && hasChildList.size()>0 ) { @@ -456,14 +463,14 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) - @HasQx(value = "xm_core_xmProjectPhase_batchImportFromTemplate",name = "从模板批量创建项目阶段计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_batchImportFromTemplate",name = "从模板批量创建项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchImportFromTemplate",method=RequestMethod.POST) public Map batchImportFromTemplate(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功导入"+xmProjectPhases.size()+"条数据"); try{ if(xmProjectPhases==null || xmProjectPhases.size()==0){ - tips.setFailureMsg("阶段计划不能为空"); + tips.setFailureMsg("计划不能为空"); m.put("tips", tips); return m; } @@ -473,7 +480,7 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许批量导入阶段计划"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许批量导入计划"); m.put("tips", tips); return m; } @@ -497,12 +504,17 @@ public class XmProjectPhaseController { Tips judgetTips=xmProjectPhaseService.judgetBudget(projectId, phaseBudgetCost,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,phaseBudgetNouserAt,null); if(judgetTips.isOk()) { - + for (XmProjectPhase projectPhase : xmProjectPhases) { + projectPhase.setMngUsername(user.getUsername()); + projectPhase.setMngUserid(user.getUserid()); + projectPhase.setCtime(new Date()); + projectPhase.setLtime(new Date()); + } xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); xmProjectPhaseService.doBatchInsert(xmProjectPhases); for (XmProjectPhase phase : xmProjectPhases) { - xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-阶段计划-新增计划", "新增阶段计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); + xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-计划-新增计划", "新增计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } }else { @@ -524,14 +536,14 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) - @HasQx(value = "xm_core_xmProjectPhase_batchSaveBudget",name = "批量修改项目阶段计划的预算",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_batchSaveBudget",name = "批量修改项目计划的预算",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchSaveBudget",method=RequestMethod.POST) public Map batchSaveBudget(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功修改"+xmProjectPhases.size()+"条数据"); try{ if(xmProjectPhases==null || xmProjectPhases.size()==0){ - tips.setFailureMsg("阶段计划不能为空"); + tips.setFailureMsg("计划不能为空"); m.put("tips", tips); return m; } @@ -541,7 +553,7 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许修改阶段计划预算"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许修改计划预算"); m.put("tips", tips); return m; } @@ -567,7 +579,7 @@ public class XmProjectPhaseController { if(judgetTips.isOk()) { xmProjectPhaseService.batchInsertOrUpdate(xmProjectPhases); for (XmProjectPhase phase : xmProjectPhases) { - xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-阶段计划-修改计划预算", "修改阶段计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); + xmRecordService.addXmPhaseRecord(phase.getProjectId(), phase.getId(), "项目-计划-修改计划预算", "修改计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } }else { @@ -588,7 +600,7 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) - @HasQx(value = "xm_core_xmProjectPhase_loadTasksToXmProjectPhase",name = "计算各个阶段计划对应的bug、task、测试案例等数据",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_loadTasksToXmProjectPhase",name = "计算各个计划对应的bug、task、测试案例等数据",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/loadTasksToXmProjectPhase",method=RequestMethod.POST) public Map loadTasksToXmProjectPhase(@RequestBody Map params) { Map m = new HashMap<>(); @@ -600,7 +612,7 @@ public class XmProjectPhaseController { boolean meIsPm=groupService.checkUserIsProjectManager(groupVoList,user.getUserid()); boolean meIsTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,user.getUserid(),user.getUserid()); if( !meIsPm && !meIsTeamHead ){ - tips.setFailureMsg("您不是组长、也不是项目管理者,不允许发起阶段计划统计任务"); + tips.setFailureMsg("您不是组长、也不是项目管理者,不允许发起计划统计任务"); m.put("tips", tips); return m; } @@ -620,7 +632,7 @@ public class XmProjectPhaseController { @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) - @HasQx(value = "xm_core_xmProjectPhase_loadTasksToXmProjectPhase",name = "计算各个阶段计划对应的bug、task、测试案例等数据",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @HasQx(value = "xm_core_xmProjectPhase_loadTasksToXmProjectPhase",name = "计算各个计划对应的bug、task、测试案例等数据",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/calcKeyPaths",method=RequestMethod.POST) public Map calcKeyPaths(@RequestBody Map params) { Map m = new HashMap<>(); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseTemplateController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseTemplateController.java index d35ea66d..d7a5f068 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseTemplateController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseTemplateController.java @@ -18,7 +18,7 @@ import java.util.List; import java.util.Map; /** - * url编制采用rest风格,如对XM.xm_project_phase_template 项目阶段模板的操作有增删改查,对应的url分别为:
+ * url编制采用rest风格,如对XM.xm_project_phase_template 项目计划模板的操作有增删改查,对应的url分别为:
* 新增: xm/xmProjectPhaseTemplate/add
* 查询: xm/xmProjectPhaseTemplate/list
* 模糊查询: xm/xmProjectPhaseTemplate/listKey
@@ -30,7 +30,7 @@ import java.util.Map; ***/ @RestController("xm.core.xmProjectPhaseTemplateController") @RequestMapping(value="/**/xm/core/xmProjectPhaseTemplate") -@Api(tags={"项目阶段模板操作接口"}) +@Api(tags={"项目计划模板操作接口"}) public class XmProjectPhaseTemplateController { static Log logger=LogFactory.getLog(XmProjectPhaseTemplateController.class); @@ -41,12 +41,12 @@ public class XmProjectPhaseTemplateController { - @ApiOperation( value = "查询项目阶段模板信息列表",notes="listXmProjectPhaseTemplate,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") + @ApiOperation( value = "查询项目计划模板信息列表",notes="listXmProjectPhaseTemplate,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @ApiImplicitParams({ - @ApiImplicitParam(name="id",value="阶段主键,主键",required=false), - @ApiImplicitParam(name="phaseName",value="阶段名称",required=false), + @ApiImplicitParam(name="id",value="计划主键,主键",required=false), + @ApiImplicitParam(name="phaseName",value="计划名称",required=false), @ApiImplicitParam(name="remark",value="备注",required=false), - @ApiImplicitParam(name="parentPhaseId",value="上级阶段编号",required=false), + @ApiImplicitParam(name="parentPhaseId",value="上级计划编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="projectId",value="当前项目编号",required=false), @ApiImplicitParam(name="beginDate",value="开始时间",required=false), @@ -92,7 +92,7 @@ public class XmProjectPhaseTemplateController { /***/ - @ApiOperation( value = "新增一条项目阶段模板信息",notes="addXmProjectPhaseTemplate,主键如果为空,后台自动生成") + @ApiOperation( value = "新增一条项目计划模板信息",notes="addXmProjectPhaseTemplate,主键如果为空,后台自动生成") @ApiResponses({ @ApiResponse(code = 200,response=XmProjectPhaseTemplate.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @@ -126,7 +126,7 @@ public class XmProjectPhaseTemplateController { /***/ - @ApiOperation( value = "删除一条项目阶段模板信息",notes="delXmProjectPhaseTemplate,仅需要上传主键字段") + @ApiOperation( value = "删除一条项目计划模板信息",notes="delXmProjectPhaseTemplate,仅需要上传主键字段") @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") }) @@ -150,7 +150,7 @@ public class XmProjectPhaseTemplateController { /***/ - @ApiOperation( value = "根据主键修改一条项目阶段模板信息",notes="editXmProjectPhaseTemplate") + @ApiOperation( value = "根据主键修改一条项目计划模板信息",notes="editXmProjectPhaseTemplate") @ApiResponses({ @ApiResponse(code = 200,response=XmProjectPhaseTemplate.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @@ -175,7 +175,7 @@ public class XmProjectPhaseTemplateController { /***/ - @ApiOperation( value = "根据主键列表批量删除项目阶段模板信息",notes="batchDelXmProjectPhaseTemplate,仅需要上传主键字段") + @ApiOperation( value = "根据主键列表批量删除项目计划模板信息",notes="batchDelXmProjectPhaseTemplate,仅需要上传主键字段") @ApiResponses({ @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java index e3ed74bc..78fbc08c 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java @@ -61,8 +61,8 @@ public class XmProjectStateController { @ApiImplicitParam(name="totalClosedBugCnt",value="已关闭bug总数",required=false), @ApiImplicitParam(name="totalResolvedBugCnt",value="已解决bug总数",required=false), @ApiImplicitParam(name="totalCompleteTaskCnt",value="已完成任务总数-来自任务表",required=false), - @ApiImplicitParam(name="totalPhaseCnt",value="项目阶段计划数",required=false), - @ApiImplicitParam(name="totalCompletePhaseCnt",value="项目阶段计划已完成数",required=false), + @ApiImplicitParam(name="totalPhaseCnt",value="项目计划数",required=false), + @ApiImplicitParam(name="totalCompletePhaseCnt",value="项目计划已完成数",required=false), @ApiImplicitParam(name="totalNeedPayAmount",value="待付款总金额",required=false), @ApiImplicitParam(name="totalFinishPayAmount",value="已付款总金额",required=false), @ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false), @@ -91,8 +91,8 @@ public class XmProjectStateController { @ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false), @ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false), @ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false), - @ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="testCases",value="测试案例总数",required=false), @ApiImplicitParam(name="execCases",value="测试中案例总数",required=false), @ApiImplicitParam(name="designCases",value="设计中案例总数",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateHisController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateHisController.java index e791abee..b5e50926 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateHisController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateHisController.java @@ -59,8 +59,8 @@ public class XmProjectStateHisController { @ApiImplicitParam(name="totalClosedBugCnt",value="已关闭bug总数",required=false), @ApiImplicitParam(name="totalResolvedBugCnt",value="已解决bug总数",required=false), @ApiImplicitParam(name="totalCompleteTaskCnt",value="已完成任务总数-来自任务表",required=false), - @ApiImplicitParam(name="totalPhaseCnt",value="项目阶段计划数",required=false), - @ApiImplicitParam(name="totalCompletePhaseCnt",value="项目阶段计划已完成数",required=false), + @ApiImplicitParam(name="totalPhaseCnt",value="项目计划数",required=false), + @ApiImplicitParam(name="totalCompletePhaseCnt",value="项目计划已完成数",required=false), @ApiImplicitParam(name="totalNeedPayAmount",value="待付款总金额",required=false), @ApiImplicitParam(name="totalFinishPayAmount",value="已付款总金额",required=false), @ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false), @@ -89,8 +89,8 @@ public class XmProjectStateHisController { @ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false), @ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false), @ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false), - @ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="testCases",value="测试案例总数",required=false), @ApiImplicitParam(name="execCases",value="测试中案例总数",required=false), @ApiImplicitParam(name="designCases",value="设计中案例总数",required=false), diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectTemplateController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectTemplateController.java index 5f1d300b..b90c2522 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectTemplateController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectTemplateController.java @@ -62,14 +62,14 @@ public class XmProjectTemplateController { @ApiImplicitParam(name="planTotalCost",value="总预算",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), - @ApiImplicitParam(name="planNouserAt",value="非人力成本总预算-应该大于或等于阶段计划非人力总成本",required=false), - @ApiImplicitParam(name="planInnerUserAt",value="内部人力成本总预算-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="planOutUserAt",value="外购人力成本总预算-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="planNouserAt",value="非人力成本总预算-应该大于或等于计划非人力总成本",required=false), + @ApiImplicitParam(name="planInnerUserAt",value="内部人力成本总预算-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="planOutUserAt",value="外购人力成本总预算-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="locked",value="是否锁定整个项目不允许变化0否1是",required=false), @ApiImplicitParam(name="baseTime",value="基线时间",required=false), @ApiImplicitParam(name="baseRemark",value="基线备注",required=false), @ApiImplicitParam(name="baselineId",value="基线主键",required=false), - @ApiImplicitParam(name="planWorkload",value="总预算工作量-应该大于或等于阶段计划总工作量",required=false), + @ApiImplicitParam(name="planWorkload",value="总预算工作量-应该大于或等于计划总工作量",required=false), @ApiImplicitParam(name="totalReceivables",value="总预计收款金额",required=false), @ApiImplicitParam(name="budgetMarginRate",value="预估毛利率",required=false), @ApiImplicitParam(name="contractAmt",value="合同总金额",required=false), @@ -79,8 +79,8 @@ public class XmProjectTemplateController { @ApiImplicitParam(name="planInnerUserCnt",value="内部人数",required=false), @ApiImplicitParam(name="planWorkingHours",value="预计工作小时数目",required=false), @ApiImplicitParam(name="taxRate",value="税率",required=false), - @ApiImplicitParam(name="planInnerUserWorkload",value="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",required=false), - @ApiImplicitParam(name="planOutUserWorkload",value="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",required=false), + @ApiImplicitParam(name="planInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false), + @ApiImplicitParam(name="planOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false), @ApiImplicitParam(name="productId",value="产品编号",required=false), @ApiImplicitParam(name="productName",value="产品名称",required=false), @ApiImplicitParam(name="templateId",value="项目模板编号",required=false), 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 48f70daf..715b142a 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 @@ -738,7 +738,7 @@ public class XmTaskController { return m; } if( !StringUtils.hasText(projectPhaseId) ){ - tips.setFailureMsg("阶段计划编号不能为空"); + tips.setFailureMsg("计划编号不能为空"); m.put("tips", tips); return m; } @@ -759,7 +759,7 @@ public class XmTaskController { List excludeTaskIds=new ArrayList<>(); for (XmTask g : xmTasks) { if(!projectPhaseId.equals(g.getProjectPhaseId())){ - tips.setFailureMsg("只能在同一个阶段计划下批量导入任务"); + tips.setFailureMsg("只能在同一个计划下批量导入任务"); m.put("tips", tips); return m; } @@ -1001,7 +1001,7 @@ public class XmTaskController { return m; } if( !StringUtils.hasText(projectPhaseId) ){ - tips.setFailureMsg("阶段计划编号不能为空"); + tips.setFailureMsg("计划编号不能为空"); m.put("tips", tips); return m; } @@ -1026,7 +1026,7 @@ public class XmTaskController { return m; } if(!projectPhaseId.equals(task.getProjectPhaseId())){ - tips.setFailureMsg("只能在同一个阶段计划下批量修改任务"); + tips.setFailureMsg("只能在同一个计划下批量修改任务"); m.put("tips", tips); return m; } @@ -1049,7 +1049,7 @@ public class XmTaskController { return m; } if(!projectPhaseId.equals(task.getProjectPhaseId())){ - tips.setFailureMsg("只能在同一个阶段计划下批量修改任务"); + tips.setFailureMsg("只能在同一个计划下批量修改任务"); m.put("tips", tips); return m; } diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java index 8b6cd90e..47ad33ed 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java @@ -120,7 +120,7 @@ public class XmTaskExecuserController { } if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){ - tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改"); + tips.setFailureMsg("该任务已经处于完工、结算计划,不允许再修改"); m.put("tips", tips); return m; } @@ -252,7 +252,7 @@ public class XmTaskExecuserController { } if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){ - tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改"); + tips.setFailureMsg("该任务已经处于完工、结算计划,不允许再修改"); m.put("tips", tips); return m; } @@ -319,7 +319,7 @@ public class XmTaskExecuserController { return m; } if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){ - tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改"); + tips.setFailureMsg("该任务已经处于完工、结算计划,不允许再修改"); m.put("tips", tips); return m; } @@ -366,7 +366,7 @@ public class XmTaskExecuserController { } if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){ - tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改"); + tips.setFailureMsg("该任务已经处于完工、结算计划,不允许再修改"); m.put("tips", tips); return m; } @@ -413,7 +413,7 @@ public class XmTaskExecuserController { } if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){ - tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改"); + tips.setFailureMsg("该任务已经处于完工、结算计划,不允许再修改"); m.put("tips", tips); return m; } @@ -459,7 +459,7 @@ public class XmTaskExecuserController { return m; } if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){ - tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改报价"); + tips.setFailureMsg("该任务已经处于完工、结算计划,不允许再修改报价"); m.put("tips", tips); return m; } diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java index 53e663b1..df077294 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java @@ -222,6 +222,13 @@ public class XmProjectPhaseService extends BaseService { @Transactional public void doBatchInsert(List xmProjectPhases) { + for (XmProjectPhase xmProjectPhase : xmProjectPhases) { + long childrenCnt=xmProjectPhases.stream().filter(i->xmProjectPhase.getId().equals(i.getParentPhaseId())).count(); + xmProjectPhase.setChildrenCnt(Integer.valueOf(childrenCnt+"")); + if(childrenCnt>0){ + xmProjectPhase.setNtype("1"); + } + } super.batchInsert(xmProjectPhases); List list= xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); list=list.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())).collect(Collectors.toList());