From f070e6d593adda06848cce99bf9924ed4720592a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Thu, 10 Mar 2022 16:41:09 +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 --- .../core/ctrl/XmProductPhaseController.java | 178 +++++++++--------- .../com/xm/core/ctrl/XmProjectController.java | 2 +- .../core/ctrl/XmProjectPhaseController.java | 178 +++++++++--------- .../com/xm/core/ctrl/XmTaskController.java | 3 +- .../{XmProjectPhase.java => XmPhase.java} | 6 +- ...tPhaseService.java => XmPhaseService.java} | 76 ++++---- .../com/xm/core/service/XmProductService.java | 10 +- .../com/xm/core/service/XmProjectService.java | 10 +- .../{XmProjectPhaseVo.java => XmPhaseVo.java} | 4 +- .../xm/core/dao/XmProjectPhaseMapper.xml | 20 +- 10 files changed, 243 insertions(+), 244 deletions(-) rename xm-core/src/main/java/com/xm/core/entity/{XmProjectPhase.java => XmPhase.java} (99%) rename xm-core/src/main/java/com/xm/core/service/{XmProjectPhaseService.java => XmPhaseService.java} (88%) rename xm-core/src/main/java/com/xm/core/vo/{XmProjectPhaseVo.java => XmPhaseVo.java} (73%) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProductPhaseController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProductPhaseController.java index 9c938c23..234d65fb 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProductPhaseController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProductPhaseController.java @@ -11,8 +11,8 @@ import com.mdp.qx.HasQx; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.PubTool; +import com.xm.core.entity.XmPhase; import com.xm.core.entity.XmProduct; -import com.xm.core.entity.XmProjectPhase; import com.xm.core.service.*; import com.xm.core.vo.XmGroupVo; import io.swagger.annotations.*; @@ -47,7 +47,7 @@ public class XmProductPhaseController { static Log logger=LogFactory.getLog(XmProductPhaseController.class); @Autowired - private XmProjectPhaseService xmProjectPhaseService; + private XmPhaseService xmPhaseService; @Autowired private XmGroupService groupService; @@ -106,14 +106,14 @@ public class XmProductPhaseController { @ApiImplicitParam(name="orderDirs",value="排序方式,与orderFields对应,升序 asc,降序desc 如 性别 升序、学生编号降序 ['asc','desc']",required=false) }) @ApiResponses({ - @ApiResponse(code = 200,response= XmProjectPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") + @ApiResponse(code = 200,response= XmPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") }) @RequestMapping(value="/list",method=RequestMethod.GET) public Map listXmProductPhase( @RequestParam Map xmProjectPhase){ Map m = new HashMap<>(); RequestUtils.transformArray(xmProjectPhase, "ids"); PageUtils.startPage(xmProjectPhase); - List> xmProjectPhaseList = xmProjectPhaseService.selectListMapByWhere(xmProjectPhase); //列出XmProjectPhase列表 + List> xmProjectPhaseList = xmPhaseService.selectListMapByWhere(xmProjectPhase); //列出XmProjectPhase列表 PageUtils.responePage(m, xmProjectPhaseList); if("1".equals(xmProjectPhase.get("withParents")) && !"1".equals(xmProjectPhase.get("isTop")) && xmProjectPhaseList.size()>0){ Set pidPathsSet=new HashSet<>(); @@ -129,7 +129,7 @@ public class XmProductPhaseController { pidPathsSet.add(pidPaths); } if(pidPathsSet!=null && pidPathsSet.size()>0){ - List> parentList=xmProjectPhaseService.selectListMapByWhere(map("pidPathsList",pidPathsSet.stream().collect(Collectors.toList()))); + List> parentList= xmPhaseService.selectListMapByWhere(map("pidPathsList",pidPathsSet.stream().collect(Collectors.toList()))); parentList=parentList.stream().filter(i->!idSet.contains(i.get("id"))).collect(Collectors.toList()); if(parentList!=null && parentList.size()>0){ xmProjectPhaseList.addAll(parentList); @@ -146,7 +146,7 @@ public class XmProductPhaseController { @HasQx(value = "xm_core_xmProjectPhase_setPhaseMngUser",name = "设置计划负责人",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/setPhaseMngUser",method=RequestMethod.POST) - public Map setPhaseMngUser(@RequestBody XmProjectPhase xmProjectPhase) { + public Map setPhaseMngUser(@RequestBody XmPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功设置"); try{ @@ -155,8 +155,8 @@ public class XmProductPhaseController { m.put("tips", tips); return m; }else{ - XmProjectPhase xmProjectPhaseQuery = new XmProjectPhase(xmProjectPhase.getId()); - XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhaseQuery); + XmPhase xmProjectPhaseQuery = new XmPhase(xmProjectPhase.getId()); + XmPhase xmProjectPhaseDb=this.xmPhaseService.selectOneObject(xmProjectPhaseQuery); if(xmProjectPhaseDb==null){ tips.setFailureMsg("计划不存在"); m.put("tips", tips); @@ -179,11 +179,11 @@ public class XmProductPhaseController { return m; } if(tips.isOk()){ - XmProjectPhase xmProjectPhaseToUpdate=new XmProjectPhase(); + XmPhase xmProjectPhaseToUpdate=new XmPhase(); xmProjectPhaseToUpdate.setId(xmProjectPhase.getId()); xmProjectPhaseToUpdate.setMngUserid(xmProjectPhase.getMngUserid()); xmProjectPhaseToUpdate.setMngUsername(xmProjectPhase.getMngUsername()); - this.xmProjectPhaseService.updateSomeFieldByPk(xmProjectPhaseToUpdate); + this.xmPhaseService.updateSomeFieldByPk(xmProjectPhaseToUpdate); this.xmRecordService.addProductPhaseRecord(xmProduct.getId(),xmProjectPhase.getId(),"产品-计划-设置计划负责人","计划负责人由【"+xmProjectPhaseDb.getMngUsername()+"】变更为【"+xmProjectPhase.getMngUsername()+"】"); } } @@ -201,11 +201,11 @@ public class XmProductPhaseController { @ApiOperation( value = "新增一条xm_project_phase信息",notes="addXmProjectPhase,主键如果为空,后台自动生成") @ApiResponses({ - @ApiResponse(code = 200,response=XmProjectPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + @ApiResponse(code = 200,response= XmPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @HasQx(value = "xm_core_xmProjectPhase_add",name = "创建项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase) { + public Map addXmProjectPhase(@RequestBody XmPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ @@ -213,10 +213,10 @@ public class XmProductPhaseController { return ResponseHelper.failed("productId-0","请上送项目编号"); } if(StringUtils.isEmpty(xmProjectPhase.getId())) { - xmProjectPhase.setId(xmProjectPhaseService.createKey("id")); + xmProjectPhase.setId(xmPhaseService.createKey("id")); }else{ - XmProjectPhase xmProjectPhaseQuery = new XmProjectPhase(xmProjectPhase.getId()); - if(xmProjectPhaseService.countByWhere(xmProjectPhaseQuery)>0){ + XmPhase xmProjectPhaseQuery = new XmPhase(xmProjectPhase.getId()); + if(xmPhaseService.countByWhere(xmProjectPhaseQuery)>0){ tips.setFailureMsg("编号重复,请修改编号再提交"); m.put("tips", tips); return m; @@ -245,28 +245,28 @@ public class XmProductPhaseController { } List excludePhaseIds=new ArrayList<>(); excludePhaseIds.add(xmProjectPhase.getId()); - xmProjectPhaseService.calcPhaseBudgetAmount(xmProjectPhase); - xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhase); + xmPhaseService.calcPhaseBudgetAmount(xmProjectPhase); + xmPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhase); if(xmProjectPhase.getLvl()==1){ if("1".equals(xmProduct.getBudgetCtrl())){ - tips=xmProjectPhaseService.judgetProductBudget(xmProduct.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); + tips= xmPhaseService.judgetProductBudget(xmProduct.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); } }else { if("1".equals(xmProduct.getPhaseBudgetCtrl())) { - tips = xmProjectPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); + tips = xmPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); } } if(!tips.isOk()){ return ResponseHelper.failed(tips); } - XmProjectPhase parentDb=xmProjectPhaseService.selectOneObject(new XmProjectPhase(xmProjectPhase.getParentPhaseId())); + XmPhase parentDb= xmPhaseService.selectOneObject(new XmPhase(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.insert(xmProjectPhase); + xmPhaseService.insert(xmProjectPhase); xmRecordService.addProductPhaseRecord(xmProduct.getId(), xmProjectPhase.getId(), "产品-计划-新增计划", "新增计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); m.put("data",xmProjectPhase); }catch (BizException e) { @@ -286,14 +286,14 @@ public class XmProductPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_del",name = "删除项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/del",method=RequestMethod.POST) - public Map delXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase){ + public Map delXmProjectPhase(@RequestBody XmPhase xmProjectPhase){ Map m = new HashMap<>(); Tips tips=new Tips("成功删除一条数据"); try{ if(!StringUtils.hasText(xmProjectPhase.getId())){ return ResponseHelper.failed("id-0","请上送计划编号"); } - XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhase); + XmPhase xmProjectPhaseDb=this.xmPhaseService.selectOneObject(xmProjectPhase); if(xmProjectPhaseDb==null){ return ResponseHelper.failed("data-0","该计划已不存在"); } @@ -314,7 +314,7 @@ public class XmProductPhaseController { return m; } //检查是否由关联的任务,有则不允许删除 - Long exists=this.xmProjectPhaseService.checkExistsTask(xmProjectPhase.getId()); + Long exists=this.xmPhaseService.checkExistsTask(xmProjectPhase.getId()); if(exists>0) { tips.setFailureMsg("存在"+exists+"条任务,不允许删除"); }else { @@ -322,7 +322,7 @@ public class XmProductPhaseController { if(xmProjectPhaseDb.getChildrenCnt()!=null && xmProjectPhaseDb.getChildrenCnt()>0){ tips.setFailureMsg("存在"+xmProjectPhaseDb.getChildrenCnt()+"条子计划,不允许删除"); } else { - xmProjectPhaseService.deleteByPk(xmProjectPhaseDb); + xmPhaseService.deleteByPk(xmProjectPhaseDb); xmRecordService.addProductPhaseRecord(xmProjectPhaseDb.getProductId(), xmProjectPhaseDb.getId(), "产品-计划-删除计划", "删除计划"+xmProjectPhaseDb.getPhaseName(),"",JSON.toJSONString(xmProjectPhaseDb)); } } @@ -343,18 +343,18 @@ public class XmProductPhaseController { /***/ @ApiOperation( value = "根据主键修改一条xm_project_phase信息",notes="editXmProjectPhase") @ApiResponses({ - @ApiResponse(code = 200,response=XmProjectPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + @ApiResponse(code = 200,response= XmPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @HasQx(value = "xm_core_xmProjectPhase_edit",name = "修改项目计划基础信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/edit",method=RequestMethod.POST) - public Map editXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase) { + public Map editXmProjectPhase(@RequestBody XmPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功更新一条数据"); try{ if(!StringUtils.hasText(xmProjectPhase.getId())){ return ResponseHelper.failed("id-0","请上送计划编号"); } - XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhase); + XmPhase xmProjectPhaseDb=this.xmPhaseService.selectOneObject(xmProjectPhase); if(xmProjectPhaseDb==null){ return ResponseHelper.failed("data-0","该计划已不存在"); } @@ -378,8 +378,8 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - xmProjectPhase=xmProjectPhaseService.autoCalcWorkload(xmProjectPhase); - xmProjectPhaseService.calcPhaseBudgetAmount(xmProjectPhase); + xmProjectPhase= xmPhaseService.autoCalcWorkload(xmProjectPhase); + xmPhaseService.calcPhaseBudgetAmount(xmProjectPhase); List excludePhaseIds=new ArrayList<>(); excludePhaseIds.add(xmProjectPhase.getId()); @@ -387,11 +387,11 @@ public class XmProductPhaseController { if(xmProjectPhaseDb.getPhaseBudgetAt()!=null && xmProjectPhaseDb.getPhaseBudgetAt().compareTo(xmProjectPhase.getPhaseBudgetAt())!=0){ if(xmProjectPhase.getLvl()==1){ if("1".equals(xmProduct.getBudgetCtrl())){ - tips=this.xmProjectPhaseService.judgetProductBudget(xmProduct.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); + tips=this.xmPhaseService.judgetProductBudget(xmProduct.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); } }else{ if("1".equals(xmProduct.getPhaseBudgetCtrl())) { - tips = this.xmProjectPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); + tips = this.xmPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); } } @@ -399,7 +399,7 @@ public class XmProductPhaseController { if(!tips.isOk()) { return ResponseHelper.failed(tips); } - xmProjectPhaseService.editByPk(xmProjectPhase); + xmPhaseService.editByPk(xmProjectPhase); xmRecordService.addProductPhaseRecord(xmProjectPhase.getProductId(), xmProjectPhase.getId(), "产品-计划-修改计划", "修改计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); m.put("data",xmProjectPhase); @@ -423,7 +423,7 @@ public class XmProductPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_batchDel",name = "批量删除项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchDel",method=RequestMethod.POST) - public Map batchDelXmProjectPhase(@RequestBody List xmProjectPhases) { + public Map batchDelXmProjectPhase(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功删除"+(xmProjectPhases==null?0:xmProjectPhases.size())+"条数据"); try{ @@ -432,7 +432,7 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - XmProjectPhase xmProjectPhase=xmProjectPhases.get(0); + XmPhase xmProjectPhase=xmProjectPhases.get(0); if(!StringUtils.hasText(xmProjectPhase.getProductId())){ tips.setFailureMsg("项目编号不能为空"); m.put("tips", tips); @@ -451,26 +451,26 @@ public class XmProductPhaseController { return m; } List noQxUsernames=new ArrayList<>(); - List delPhases=new ArrayList<>(); - List xmProjectPhaseListDb=this.xmProjectPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); - for (XmProjectPhase phase : xmProjectPhaseListDb) { + List delPhases=new ArrayList<>(); + List xmProjectPhaseListDb=this.xmPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); + for (XmPhase phase : xmProjectPhaseListDb) { boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,phase.getMngUserid(),user.getUserid()); if( !meIsPm && !meIsHisTeamHead ){ noQxUsernames.add(phase.getMngUsername()); continue; } //检查是否由关联的任务,有则不允许删除 - Long exists=this.xmProjectPhaseService.checkExistsTask(phase.getId()); + Long exists=this.xmPhaseService.checkExistsTask(phase.getId()); if(exists>0) { existsTaskList.add(phase.getPhaseName()); }else { delPhases.add(phase); } } - List canDelNodes=new ArrayList<>(); - for (XmProjectPhase phase : delPhases) { + List canDelNodes=new ArrayList<>(); + for (XmPhase phase : delPhases) { - boolean canDelAllChild =xmProjectPhaseService.checkCanDelAllChild(phase,delPhases); + boolean canDelAllChild = xmPhaseService.checkCanDelAllChild(phase,delPhases); if(!canDelAllChild) { hasChildList.add(phase.getPhaseName()); }else { @@ -478,7 +478,7 @@ public class XmProductPhaseController { } } if(canDelNodes.size()>0){ - this.xmProjectPhaseService.doBatchDelete(canDelNodes); + this.xmPhaseService.doBatchDelete(canDelNodes); xmRecordService.addProductPhaseRecord(xmProjectPhase.getProductId(), "", "产品-计划-批量删除计划", "批量删除计划"+canDelNodes.stream().map(i->i.getPhaseName()).collect(Collectors.joining(",")),"",JSON.toJSONString(canDelNodes)); } @@ -519,7 +519,7 @@ public class XmProductPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_batchImportFromTemplate",name = "从模板批量创建项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchImportFromTemplate",method=RequestMethod.POST) - public Map batchImportFromTemplate(@RequestBody List xmProjectPhases) { + public Map batchImportFromTemplate(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功导入"+xmProjectPhases.size()+"条数据"); try{ @@ -528,7 +528,7 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - XmProjectPhase xmProjectPhase=xmProjectPhases.get(0); + XmPhase xmProjectPhase=xmProjectPhases.get(0); if(!StringUtils.hasText(xmProjectPhase.getProductId())){ return ResponseHelper.failed("productId-0","请上送项目编号"); @@ -544,39 +544,39 @@ public class XmProductPhaseController { return m; } String productId=null; - for (XmProjectPhase g : xmProjectPhases) { + for (XmPhase g : xmProjectPhases) { productId=g.getProductId(); g.setMngUserid(user.getUserid()); g.setMngUsername(user.getUsername()); - g=xmProjectPhaseService.autoCalcWorkload(g); - xmProjectPhaseService.calcPhaseBudgetAmount(g); + g= xmPhaseService.autoCalcWorkload(g); + xmPhaseService.calcPhaseBudgetAmount(g); } - xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); - List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); + xmPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); + List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); if(l1Phases==null ||l1Phases.size()==0){//如果是导入到某个计划之下, //找到导入的树中最上面的节点 - List noExists=xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); + List noExists=xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); //根据同一个父亲归类 - Map> map=new HashMap<>(); - for (XmProjectPhase noExist : noExists) { - List phases=map.get(noExist.getParentPhaseId()); + Map> map=new HashMap<>(); + for (XmPhase noExist : noExists) { + List phases=map.get(noExist.getParentPhaseId()); if(phases==null){ phases=new ArrayList<>(); map.put(noExist.getParentPhaseId(),phases); } phases.add(noExist); } - for (Map.Entry> kv : map.entrySet()) { + for (Map.Entry> kv : map.entrySet()) { String parentId=kv.getKey(); - List children=kv.getValue(); + List children=kv.getValue(); BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; List excludeIds=children.stream().map(i->i.getId()).collect(Collectors.toList()); - for (XmProjectPhase child : children) { + for (XmPhase child : children) { phaseTotalBudgetAt=phaseTotalBudgetAt.add(child.getPhaseBudgetAt()); } if("1".equals(xmProduct.getPhaseBudgetCtrl())){ - Tips tips2=xmProjectPhaseService.judgetPhaseBudget(parentId,phaseTotalBudgetAt,null,null,null,excludeIds); + Tips tips2= xmPhaseService.judgetPhaseBudget(parentId,phaseTotalBudgetAt,null,null,null,excludeIds); if(!tips2.isOk()){ tips2.setFailureMsg(tips2.getMsg()+" 相关计划为【"+children.stream().map(i->i.getPhaseName()).collect(Collectors.joining(","))+"】"); return ResponseHelper.failed(tips2); @@ -586,27 +586,27 @@ public class XmProductPhaseController { }else{//直接导入到项目之下,需要判断当前一级预算是否超出项目总预算 BigDecimal phaseTotalBudgetWorkload=BigDecimal.ZERO; BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; - for (XmProjectPhase l1Phase : l1Phases) { + for (XmPhase l1Phase : l1Phases) { phaseTotalBudgetWorkload=phaseTotalBudgetWorkload.add(l1Phase.getPhaseBudgetWorkload()); phaseTotalBudgetAt=phaseTotalBudgetAt.add(l1Phase.getPhaseBudgetAt()); } if("1".equals(xmProduct.getBudgetCtrl())) { - tips = xmProjectPhaseService.judgetProductBudget(productId, phaseTotalBudgetAt, null, null, null, l1Phases.stream().map(i -> i.getId()).collect(Collectors.toList())); + tips = xmPhaseService.judgetProductBudget(productId, phaseTotalBudgetAt, null, null, null, l1Phases.stream().map(i -> i.getId()).collect(Collectors.toList())); if (!tips.isOk()) { return ResponseHelper.failed(tips); } } } if(tips.isOk()) { - for (XmProjectPhase projectPhase : xmProjectPhases) { + for (XmPhase projectPhase : xmProjectPhases) { projectPhase.setMngUsername(user.getUsername()); projectPhase.setMngUserid(user.getUserid()); projectPhase.setCtime(new Date()); projectPhase.setLtime(new Date()); } - xmProjectPhaseService.doBatchInsert(xmProjectPhases); + xmPhaseService.doBatchInsert(xmProjectPhases); - for (XmProjectPhase phase : xmProjectPhases) { + for (XmPhase phase : xmProjectPhases) { xmRecordService.addProductPhaseRecord(phase.getProductId(), phase.getId(), "产品-计划-新增计划", "新增计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } @@ -629,7 +629,7 @@ public class XmProductPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_batchSaveBudget",name = "批量修改项目计划的预算",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchSaveBudget",method=RequestMethod.POST) - public Map batchSaveBudget(@RequestBody List xmProjectPhases) { + public Map batchSaveBudget(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功修改"+xmProjectPhases.size()+"条数据"); try{ @@ -638,7 +638,7 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - XmProjectPhase xmProjectPhase=xmProjectPhases.get(0); + XmPhase xmProjectPhase=xmProjectPhases.get(0); if(!StringUtils.hasText(xmProjectPhase.getProductId())){ return ResponseHelper.failed("productId-0","请上送项目编号"); } @@ -654,49 +654,49 @@ public class XmProductPhaseController { return m; } String productId=null; - for (XmProjectPhase g : xmProjectPhases) { + for (XmPhase g : xmProjectPhases) { productId=g.getProductId(); - g=xmProjectPhaseService.autoCalcWorkload(g); - xmProjectPhaseService.calcPhaseBudgetAmount(g); + g= xmPhaseService.autoCalcWorkload(g); + xmPhaseService.calcPhaseBudgetAmount(g); } - xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); - List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); + xmPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); + List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); if(l1Phases==null ||l1Phases.size()==0){//如果是导入到某个计划之下,{//直接导入到项目之下,需要判断当前一级预算是否超出项目总预算 BigDecimal phaseTotalBudgetWorkload=BigDecimal.ZERO; BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; - for (XmProjectPhase l1Phase : l1Phases) { + for (XmPhase l1Phase : l1Phases) { phaseTotalBudgetWorkload=phaseTotalBudgetWorkload.add(l1Phase.getPhaseBudgetWorkload()); phaseTotalBudgetAt=phaseTotalBudgetAt.add(l1Phase.getPhaseBudgetAt()); } if("1".equals(xmProduct.getBudgetCtrl())){ - tips=xmProjectPhaseService.judgetProductBudget(productId,phaseTotalBudgetAt,null,null,null,l1Phases.stream().map(i->i.getId()).collect(Collectors.toList())); + tips= xmPhaseService.judgetProductBudget(productId,phaseTotalBudgetAt,null,null,null,l1Phases.stream().map(i->i.getId()).collect(Collectors.toList())); if(!tips.isOk()){ return ResponseHelper.failed(tips); } } } //找到导入的树中最上面的节点 - List parentNoNulls= xmProjectPhases.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())&&!"0".equals(i.getParentPhaseId())).collect(Collectors.toList()); + List parentNoNulls= xmProjectPhases.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())&&!"0".equals(i.getParentPhaseId())).collect(Collectors.toList()); //根据同一个父亲归类 - Map> map=new HashMap<>(); - for (XmProjectPhase phase : parentNoNulls) { - List phases=map.get(phase.getParentPhaseId()); + Map> map=new HashMap<>(); + for (XmPhase phase : parentNoNulls) { + List phases=map.get(phase.getParentPhaseId()); if(phases==null){ phases=new ArrayList<>(); map.put(phase.getParentPhaseId(),phases); } phases.add(phase); } - for (Map.Entry> kv : map.entrySet()) { + for (Map.Entry> kv : map.entrySet()) { String parentId=kv.getKey(); - List children=kv.getValue(); + List children=kv.getValue(); BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; List excludeIds=children.stream().map(i->i.getId()).collect(Collectors.toList()); - for (XmProjectPhase child : children) { + for (XmPhase child : children) { phaseTotalBudgetAt=phaseTotalBudgetAt.add(child.getPhaseBudgetAt()); } if("1".equals(xmProduct.getPhaseBudgetCtrl())) { - Tips tips2 = xmProjectPhaseService.judgetPhaseBudget(parentId, phaseTotalBudgetAt, null, null, null, excludeIds); + Tips tips2 = xmPhaseService.judgetPhaseBudget(parentId, phaseTotalBudgetAt, null, null, null, excludeIds); if (!tips2.isOk()) { tips2.setFailureMsg(tips2.getMsg() + " 相关计划为【" + children.stream().map(i -> i.getPhaseName()).collect(Collectors.joining(",")) + "】"); return ResponseHelper.failed(tips2); @@ -705,19 +705,19 @@ public class XmProductPhaseController { } - for (XmProjectPhase projectPhase : xmProjectPhases) { + for (XmPhase projectPhase : xmProjectPhases) { int childrenCnt=Integer.valueOf(xmProjectPhases.stream().filter(i->projectPhase.getId().equals(i.getParentPhaseId())).count()+""); if(childrenCnt>0){ projectPhase.setChildrenCnt(childrenCnt); projectPhase.setNtype("1"); } } - List xmProjectPhaseListDb=xmProjectPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); + List xmProjectPhaseListDb= xmPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); - List inserts=xmProjectPhases.stream().filter(i->!xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); - List updates=xmProjectPhases.stream().filter(i->xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); - xmProjectPhaseService.batchInsertOrUpdate(inserts,updates); - for (XmProjectPhase phase : xmProjectPhases) { + List inserts=xmProjectPhases.stream().filter(i->!xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); + List updates=xmProjectPhases.stream().filter(i->xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); + xmPhaseService.batchInsertOrUpdate(inserts,updates); + for (XmPhase phase : xmProjectPhases) { xmRecordService.addProductPhaseRecord(phase.getProductId(), phase.getId(), "产品-计划-修改计划预算", "修改计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } @@ -758,7 +758,7 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - int i= xmProjectPhaseService.loaMenusToXmProductPhase(xmProduct.getId()); + int i= xmPhaseService.loaMenusToXmProductPhase(xmProduct.getId()); xmRecordService.addProductPhaseRecord(xmProduct.getId(), "", "产品-计划-汇总统计", "计算项目计划进度","",null); @@ -799,7 +799,7 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - xmProjectPhaseService.calcKeyPaths((String) params.get("productId")); + xmPhaseService.calcKeyPaths((String) params.get("productId")); xmRecordService.addProductPhaseRecord(xmProduct.getId(), "", "产品-计划-关键路径计算", "计算项目计划关键路径","",null); }catch (BizException e) { @@ -837,7 +837,7 @@ public class XmProductPhaseController { m.put("tips", tips); return m; } - Map data=xmProjectPhaseService.selectTotalProjectAndPhaseBudgetCost((String) params.get("productId"),null); + Map data= xmPhaseService.selectTotalProjectAndPhaseBudgetCost((String) params.get("productId"),null); m.put("data",data); }catch (BizException e) { tips=e.getTips(); 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 2622d543..e0418a10 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 @@ -54,7 +54,7 @@ public class XmProjectController { private XmRecordService xmRecordService; @Autowired - private XmProjectPhaseService xmProjectPhaseService; + private XmPhaseService xmProjectPhaseService; @Value("${mdp.platform-branch-id:platform-branch-001}") String platformBranchId="platform-branch-001"; 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 1732fde9..ceb14afc 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 @@ -11,8 +11,8 @@ import com.mdp.qx.HasQx; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.PubTool; +import com.xm.core.entity.XmPhase; import com.xm.core.entity.XmProject; -import com.xm.core.entity.XmProjectPhase; import com.xm.core.service.*; import com.xm.core.vo.XmGroupVo; import io.swagger.annotations.*; @@ -47,7 +47,7 @@ public class XmProjectPhaseController { static Log logger=LogFactory.getLog(XmProjectPhaseController.class); @Autowired - private XmProjectPhaseService xmProjectPhaseService; + private XmPhaseService xmPhaseService; @Autowired private XmGroupService groupService; @@ -106,14 +106,14 @@ public class XmProjectPhaseController { @ApiImplicitParam(name="orderDirs",value="排序方式,与orderFields对应,升序 asc,降序desc 如 性别 升序、学生编号降序 ['asc','desc']",required=false) }) @ApiResponses({ - @ApiResponse(code = 200,response= XmProjectPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") + @ApiResponse(code = 200,response= XmPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") }) @RequestMapping(value="/list",method=RequestMethod.GET) public Map listXmProjectPhase( @RequestParam Map xmProjectPhase){ Map m = new HashMap<>(); RequestUtils.transformArray(xmProjectPhase, "ids"); PageUtils.startPage(xmProjectPhase); - List> xmProjectPhaseList = xmProjectPhaseService.selectListMapByWhere(xmProjectPhase); //列出XmProjectPhase列表 + List> xmProjectPhaseList = xmPhaseService.selectListMapByWhere(xmProjectPhase); //列出XmProjectPhase列表 PageUtils.responePage(m, xmProjectPhaseList); if("1".equals(xmProjectPhase.get("withParents")) && !"1".equals(xmProjectPhase.get("isTop")) && xmProjectPhaseList.size()>0){ Set pidPathsSet=new HashSet<>(); @@ -129,7 +129,7 @@ public class XmProjectPhaseController { pidPathsSet.add(pidPaths); } if(pidPathsSet!=null && pidPathsSet.size()>0){ - List> parentList=xmProjectPhaseService.selectListMapByWhere(map("pidPathsList",pidPathsSet.stream().collect(Collectors.toList()))); + List> parentList= xmPhaseService.selectListMapByWhere(map("pidPathsList",pidPathsSet.stream().collect(Collectors.toList()))); parentList=parentList.stream().filter(i->!idSet.contains(i.get("id"))).collect(Collectors.toList()); if(parentList!=null && parentList.size()>0){ xmProjectPhaseList.addAll(parentList); @@ -146,7 +146,7 @@ public class XmProjectPhaseController { @HasQx(value = "xm_core_xmProjectPhase_setPhaseMngUser",name = "设置计划负责人",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/setPhaseMngUser",method=RequestMethod.POST) - public Map setPhaseMngUser(@RequestBody XmProjectPhase xmProjectPhase) { + public Map setPhaseMngUser(@RequestBody XmPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功设置"); try{ @@ -155,8 +155,8 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; }else{ - XmProjectPhase xmProjectPhaseQuery = new XmProjectPhase(xmProjectPhase.getId()); - XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhaseQuery); + XmPhase xmProjectPhaseQuery = new XmPhase(xmProjectPhase.getId()); + XmPhase xmProjectPhaseDb=this.xmPhaseService.selectOneObject(xmProjectPhaseQuery); if(xmProjectPhaseDb==null){ tips.setFailureMsg("计划不存在"); m.put("tips", tips); @@ -179,11 +179,11 @@ public class XmProjectPhaseController { return m; } if(tips.isOk()){ - XmProjectPhase xmProjectPhaseToUpdate=new XmProjectPhase(); + XmPhase xmProjectPhaseToUpdate=new XmPhase(); xmProjectPhaseToUpdate.setId(xmProjectPhase.getId()); xmProjectPhaseToUpdate.setMngUserid(xmProjectPhase.getMngUserid()); xmProjectPhaseToUpdate.setMngUsername(xmProjectPhase.getMngUsername()); - this.xmProjectPhaseService.updateSomeFieldByPk(xmProjectPhaseToUpdate); + this.xmPhaseService.updateSomeFieldByPk(xmProjectPhaseToUpdate); this.xmRecordService.addProjectPhaseRecord(xmProject.getId(),xmProjectPhase.getId(),"项目-计划-设置计划负责人","计划负责人由【"+xmProjectPhaseDb.getMngUsername()+"】变更为【"+xmProjectPhase.getMngUsername()+"】"); } } @@ -201,11 +201,11 @@ public class XmProjectPhaseController { @ApiOperation( value = "新增一条xm_project_phase信息",notes="addXmProjectPhase,主键如果为空,后台自动生成") @ApiResponses({ - @ApiResponse(code = 200,response=XmProjectPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + @ApiResponse(code = 200,response= XmPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @HasQx(value = "xm_core_xmProjectPhase_add",name = "创建项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase) { + public Map addXmProjectPhase(@RequestBody XmPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ @@ -213,10 +213,10 @@ public class XmProjectPhaseController { return ResponseHelper.failed("projectId-0","请上送项目编号"); } if(StringUtils.isEmpty(xmProjectPhase.getId())) { - xmProjectPhase.setId(xmProjectPhaseService.createKey("id")); + xmProjectPhase.setId(xmPhaseService.createKey("id")); }else{ - XmProjectPhase xmProjectPhaseQuery = new XmProjectPhase(xmProjectPhase.getId()); - if(xmProjectPhaseService.countByWhere(xmProjectPhaseQuery)>0){ + XmPhase xmProjectPhaseQuery = new XmPhase(xmProjectPhase.getId()); + if(xmPhaseService.countByWhere(xmProjectPhaseQuery)>0){ tips.setFailureMsg("编号重复,请修改编号再提交"); m.put("tips", tips); return m; @@ -245,28 +245,28 @@ public class XmProjectPhaseController { } List excludePhaseIds=new ArrayList<>(); excludePhaseIds.add(xmProjectPhase.getId()); - xmProjectPhaseService.calcPhaseBudgetAmount(xmProjectPhase); - xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhase); + xmPhaseService.calcPhaseBudgetAmount(xmProjectPhase); + xmPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhase); if(xmProjectPhase.getLvl()==1){ if("1".equals(xmProject.getBudgetCtrl())){ - tips=xmProjectPhaseService.judgetProjectBudget(xmProject.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); + tips= xmPhaseService.judgetProjectBudget(xmProject.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); } }else { if("1".equals(xmProject.getPhaseBudgetCtrl())) { - tips = xmProjectPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); + tips = xmPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); } } if(!tips.isOk()){ return ResponseHelper.failed(tips); } - XmProjectPhase parentDb=xmProjectPhaseService.selectOneObject(new XmProjectPhase(xmProjectPhase.getParentPhaseId())); + XmPhase parentDb= xmPhaseService.selectOneObject(new XmPhase(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.insert(xmProjectPhase); + xmPhaseService.insert(xmProjectPhase); xmRecordService.addProjectPhaseRecord(xmProject.getId(), xmProjectPhase.getId(), "项目-计划-新增计划", "新增计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); m.put("data",xmProjectPhase); }catch (BizException e) { @@ -286,14 +286,14 @@ public class XmProjectPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_del",name = "删除项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/del",method=RequestMethod.POST) - public Map delXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase){ + public Map delXmProjectPhase(@RequestBody XmPhase xmProjectPhase){ Map m = new HashMap<>(); Tips tips=new Tips("成功删除一条数据"); try{ if(!StringUtils.hasText(xmProjectPhase.getId())){ return ResponseHelper.failed("id-0","请上送计划编号"); } - XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhase); + XmPhase xmProjectPhaseDb=this.xmPhaseService.selectOneObject(xmProjectPhase); if(xmProjectPhaseDb==null){ return ResponseHelper.failed("data-0","该计划已不存在"); } @@ -314,7 +314,7 @@ public class XmProjectPhaseController { return m; } //检查是否由关联的任务,有则不允许删除 - Long exists=this.xmProjectPhaseService.checkExistsTask(xmProjectPhase.getId()); + Long exists=this.xmPhaseService.checkExistsTask(xmProjectPhase.getId()); if(exists>0) { tips.setFailureMsg("存在"+exists+"条任务,不允许删除"); }else { @@ -322,7 +322,7 @@ public class XmProjectPhaseController { if(xmProjectPhaseDb.getChildrenCnt()!=null && xmProjectPhaseDb.getChildrenCnt()>0){ tips.setFailureMsg("存在"+xmProjectPhaseDb.getChildrenCnt()+"条子计划,不允许删除"); } else { - xmProjectPhaseService.deleteByPk(xmProjectPhaseDb); + xmPhaseService.deleteByPk(xmProjectPhaseDb); xmRecordService.addProjectPhaseRecord(xmProjectPhaseDb.getProjectId(), xmProjectPhaseDb.getId(), "项目-计划-删除计划", "删除计划"+xmProjectPhaseDb.getPhaseName(),"",JSON.toJSONString(xmProjectPhaseDb)); } } @@ -343,18 +343,18 @@ public class XmProjectPhaseController { /***/ @ApiOperation( value = "根据主键修改一条xm_project_phase信息",notes="editXmProjectPhase") @ApiResponses({ - @ApiResponse(code = 200,response=XmProjectPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + @ApiResponse(code = 200,response= XmPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @HasQx(value = "xm_core_xmProjectPhase_edit",name = "修改项目计划基础信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/edit",method=RequestMethod.POST) - public Map editXmProjectPhase(@RequestBody XmProjectPhase xmProjectPhase) { + public Map editXmProjectPhase(@RequestBody XmPhase xmProjectPhase) { Map m = new HashMap<>(); Tips tips=new Tips("成功更新一条数据"); try{ if(!StringUtils.hasText(xmProjectPhase.getId())){ return ResponseHelper.failed("id-0","请上送计划编号"); } - XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhase); + XmPhase xmProjectPhaseDb=this.xmPhaseService.selectOneObject(xmProjectPhase); if(xmProjectPhaseDb==null){ return ResponseHelper.failed("data-0","该计划已不存在"); } @@ -378,8 +378,8 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - xmProjectPhase=xmProjectPhaseService.autoCalcWorkload(xmProjectPhase); - xmProjectPhaseService.calcPhaseBudgetAmount(xmProjectPhase); + xmProjectPhase= xmPhaseService.autoCalcWorkload(xmProjectPhase); + xmPhaseService.calcPhaseBudgetAmount(xmProjectPhase); List excludePhaseIds=new ArrayList<>(); excludePhaseIds.add(xmProjectPhase.getId()); @@ -387,11 +387,11 @@ public class XmProjectPhaseController { if(xmProjectPhaseDb.getPhaseBudgetAt()!=null && xmProjectPhaseDb.getPhaseBudgetAt().compareTo(xmProjectPhase.getPhaseBudgetAt())!=0){ if(xmProjectPhase.getLvl()==1){ if("1".equals(xmProject.getBudgetCtrl())){ - tips=this.xmProjectPhaseService.judgetProjectBudget(xmProject.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); + tips=this.xmPhaseService.judgetProjectBudget(xmProject.getId(),xmProjectPhase.getPhaseBudgetAt(),null,null,null,excludePhaseIds); } }else{ if("1".equals(xmProject.getPhaseBudgetCtrl())) { - tips = this.xmProjectPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); + tips = this.xmPhaseService.judgetPhaseBudget(xmProjectPhase.getParentPhaseId(), xmProjectPhase.getPhaseBudgetAt(), null, null, null, excludePhaseIds); } } @@ -399,7 +399,7 @@ public class XmProjectPhaseController { if(!tips.isOk()) { return ResponseHelper.failed(tips); } - xmProjectPhaseService.editByPk(xmProjectPhase); + xmPhaseService.editByPk(xmProjectPhase); xmRecordService.addProjectPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-计划-修改计划", "修改计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); m.put("data",xmProjectPhase); @@ -423,7 +423,7 @@ public class XmProjectPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_batchDel",name = "批量删除项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchDel",method=RequestMethod.POST) - public Map batchDelXmProjectPhase(@RequestBody List xmProjectPhases) { + public Map batchDelXmProjectPhase(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功删除"+(xmProjectPhases==null?0:xmProjectPhases.size())+"条数据"); try{ @@ -432,7 +432,7 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - XmProjectPhase xmProjectPhase=xmProjectPhases.get(0); + XmPhase xmProjectPhase=xmProjectPhases.get(0); if(!StringUtils.hasText(xmProjectPhase.getProjectId())){ tips.setFailureMsg("项目编号不能为空"); m.put("tips", tips); @@ -451,26 +451,26 @@ public class XmProjectPhaseController { return m; } List noQxUsernames=new ArrayList<>(); - List delPhases=new ArrayList<>(); - List xmProjectPhaseListDb=this.xmProjectPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); - for (XmProjectPhase phase : xmProjectPhaseListDb) { + List delPhases=new ArrayList<>(); + List xmProjectPhaseListDb=this.xmPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); + for (XmPhase phase : xmProjectPhaseListDb) { boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,phase.getMngUserid(),user.getUserid()); if( !meIsPm && !meIsHisTeamHead ){ noQxUsernames.add(phase.getMngUsername()); continue; } //检查是否由关联的任务,有则不允许删除 - Long exists=this.xmProjectPhaseService.checkExistsTask(phase.getId()); + Long exists=this.xmPhaseService.checkExistsTask(phase.getId()); if(exists>0) { existsTaskList.add(phase.getPhaseName()); }else { delPhases.add(phase); } } - List canDelNodes=new ArrayList<>(); - for (XmProjectPhase phase : delPhases) { + List canDelNodes=new ArrayList<>(); + for (XmPhase phase : delPhases) { - boolean canDelAllChild =xmProjectPhaseService.checkCanDelAllChild(phase,delPhases); + boolean canDelAllChild = xmPhaseService.checkCanDelAllChild(phase,delPhases); if(!canDelAllChild) { hasChildList.add(phase.getPhaseName()); }else { @@ -478,7 +478,7 @@ public class XmProjectPhaseController { } } if(canDelNodes.size()>0){ - this.xmProjectPhaseService.doBatchDelete(canDelNodes); + this.xmPhaseService.doBatchDelete(canDelNodes); xmRecordService.addProjectPhaseRecord(xmProjectPhase.getProjectId(), "", "项目-计划-批量删除计划", "批量删除计划"+canDelNodes.stream().map(i->i.getPhaseName()).collect(Collectors.joining(",")),"",JSON.toJSONString(canDelNodes)); } @@ -519,7 +519,7 @@ public class XmProjectPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_batchImportFromTemplate",name = "从模板批量创建项目计划",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchImportFromTemplate",method=RequestMethod.POST) - public Map batchImportFromTemplate(@RequestBody List xmProjectPhases) { + public Map batchImportFromTemplate(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功导入"+xmProjectPhases.size()+"条数据"); try{ @@ -528,7 +528,7 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - XmProjectPhase xmProjectPhase=xmProjectPhases.get(0); + XmPhase xmProjectPhase=xmProjectPhases.get(0); if(!StringUtils.hasText(xmProjectPhase.getProjectId())){ return ResponseHelper.failed("projectId-0","请上送项目编号"); @@ -544,39 +544,39 @@ public class XmProjectPhaseController { return m; } String projectId=null; - for (XmProjectPhase g : xmProjectPhases) { + for (XmPhase g : xmProjectPhases) { projectId=g.getProjectId(); g.setMngUserid(user.getUserid()); g.setMngUsername(user.getUsername()); - g=xmProjectPhaseService.autoCalcWorkload(g); - xmProjectPhaseService.calcPhaseBudgetAmount(g); + g= xmPhaseService.autoCalcWorkload(g); + xmPhaseService.calcPhaseBudgetAmount(g); } - xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); - List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); + xmPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); + List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); if(l1Phases==null ||l1Phases.size()==0){//如果是导入到某个计划之下, //找到导入的树中最上面的节点 - List noExists=xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); + List noExists=xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); //根据同一个父亲归类 - Map> map=new HashMap<>(); - for (XmProjectPhase noExist : noExists) { - List phases=map.get(noExist.getParentPhaseId()); + Map> map=new HashMap<>(); + for (XmPhase noExist : noExists) { + List phases=map.get(noExist.getParentPhaseId()); if(phases==null){ phases=new ArrayList<>(); map.put(noExist.getParentPhaseId(),phases); } phases.add(noExist); } - for (Map.Entry> kv : map.entrySet()) { + for (Map.Entry> kv : map.entrySet()) { String parentId=kv.getKey(); - List children=kv.getValue(); + List children=kv.getValue(); BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; List excludeIds=children.stream().map(i->i.getId()).collect(Collectors.toList()); - for (XmProjectPhase child : children) { + for (XmPhase child : children) { phaseTotalBudgetAt=phaseTotalBudgetAt.add(child.getPhaseBudgetAt()); } if("1".equals(xmProject.getPhaseBudgetCtrl())){ - Tips tips2=xmProjectPhaseService.judgetPhaseBudget(parentId,phaseTotalBudgetAt,null,null,null,excludeIds); + Tips tips2= xmPhaseService.judgetPhaseBudget(parentId,phaseTotalBudgetAt,null,null,null,excludeIds); if(!tips2.isOk()){ tips2.setFailureMsg(tips2.getMsg()+" 相关计划为【"+children.stream().map(i->i.getPhaseName()).collect(Collectors.joining(","))+"】"); return ResponseHelper.failed(tips2); @@ -586,27 +586,27 @@ public class XmProjectPhaseController { }else{//直接导入到项目之下,需要判断当前一级预算是否超出项目总预算 BigDecimal phaseTotalBudgetWorkload=BigDecimal.ZERO; BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; - for (XmProjectPhase l1Phase : l1Phases) { + for (XmPhase l1Phase : l1Phases) { phaseTotalBudgetWorkload=phaseTotalBudgetWorkload.add(l1Phase.getPhaseBudgetWorkload()); phaseTotalBudgetAt=phaseTotalBudgetAt.add(l1Phase.getPhaseBudgetAt()); } if("1".equals(xmProject.getBudgetCtrl())) { - tips = xmProjectPhaseService.judgetProjectBudget(projectId, phaseTotalBudgetAt, null, null, null, l1Phases.stream().map(i -> i.getId()).collect(Collectors.toList())); + tips = xmPhaseService.judgetProjectBudget(projectId, phaseTotalBudgetAt, null, null, null, l1Phases.stream().map(i -> i.getId()).collect(Collectors.toList())); if (!tips.isOk()) { return ResponseHelper.failed(tips); } } } if(tips.isOk()) { - for (XmProjectPhase projectPhase : xmProjectPhases) { + for (XmPhase projectPhase : xmProjectPhases) { projectPhase.setMngUsername(user.getUsername()); projectPhase.setMngUserid(user.getUserid()); projectPhase.setCtime(new Date()); projectPhase.setLtime(new Date()); } - xmProjectPhaseService.doBatchInsert(xmProjectPhases); + xmPhaseService.doBatchInsert(xmProjectPhases); - for (XmProjectPhase phase : xmProjectPhases) { + for (XmPhase phase : xmProjectPhases) { xmRecordService.addProjectPhaseRecord(phase.getProjectId(), phase.getId(), "项目-计划-新增计划", "新增计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } @@ -629,7 +629,7 @@ public class XmProjectPhaseController { }) @HasQx(value = "xm_core_xmProjectPhase_batchSaveBudget",name = "批量修改项目计划的预算",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @RequestMapping(value="/batchSaveBudget",method=RequestMethod.POST) - public Map batchSaveBudget(@RequestBody List xmProjectPhases) { + public Map batchSaveBudget(@RequestBody List xmProjectPhases) { Map m = new HashMap<>(); Tips tips=new Tips("成功修改"+xmProjectPhases.size()+"条数据"); try{ @@ -638,7 +638,7 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - XmProjectPhase xmProjectPhase=xmProjectPhases.get(0); + XmPhase xmProjectPhase=xmProjectPhases.get(0); if(!StringUtils.hasText(xmProjectPhase.getProjectId())){ return ResponseHelper.failed("projectId-0","请上送项目编号"); } @@ -654,49 +654,49 @@ public class XmProjectPhaseController { return m; } String projectId=null; - for (XmProjectPhase g : xmProjectPhases) { + for (XmPhase g : xmProjectPhases) { projectId=g.getProjectId(); - g=xmProjectPhaseService.autoCalcWorkload(g); - xmProjectPhaseService.calcPhaseBudgetAmount(g); + g= xmPhaseService.autoCalcWorkload(g); + xmPhaseService.calcPhaseBudgetAmount(g); } - xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); - List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); + xmPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases); + List l1Phases=xmProjectPhases.stream().filter(i->1==i.getLvl()).collect(Collectors.toList()); if(l1Phases==null ||l1Phases.size()==0){//如果是导入到某个计划之下,{//直接导入到项目之下,需要判断当前一级预算是否超出项目总预算 BigDecimal phaseTotalBudgetWorkload=BigDecimal.ZERO; BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; - for (XmProjectPhase l1Phase : l1Phases) { + for (XmPhase l1Phase : l1Phases) { phaseTotalBudgetWorkload=phaseTotalBudgetWorkload.add(l1Phase.getPhaseBudgetWorkload()); phaseTotalBudgetAt=phaseTotalBudgetAt.add(l1Phase.getPhaseBudgetAt()); } if("1".equals(xmProject.getBudgetCtrl())){ - tips=xmProjectPhaseService.judgetProjectBudget(projectId,phaseTotalBudgetAt,null,null,null,l1Phases.stream().map(i->i.getId()).collect(Collectors.toList())); + tips= xmPhaseService.judgetProjectBudget(projectId,phaseTotalBudgetAt,null,null,null,l1Phases.stream().map(i->i.getId()).collect(Collectors.toList())); if(!tips.isOk()){ return ResponseHelper.failed(tips); } } } //找到导入的树中最上面的节点 - List parentNoNulls= xmProjectPhases.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())&&!"0".equals(i.getParentPhaseId())).collect(Collectors.toList()); + List parentNoNulls= xmProjectPhases.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())&&!"0".equals(i.getParentPhaseId())).collect(Collectors.toList()); //根据同一个父亲归类 - Map> map=new HashMap<>(); - for (XmProjectPhase phase : parentNoNulls) { - List phases=map.get(phase.getParentPhaseId()); + Map> map=new HashMap<>(); + for (XmPhase phase : parentNoNulls) { + List phases=map.get(phase.getParentPhaseId()); if(phases==null){ phases=new ArrayList<>(); map.put(phase.getParentPhaseId(),phases); } phases.add(phase); } - for (Map.Entry> kv : map.entrySet()) { + for (Map.Entry> kv : map.entrySet()) { String parentId=kv.getKey(); - List children=kv.getValue(); + List children=kv.getValue(); BigDecimal phaseTotalBudgetAt=BigDecimal.ZERO; List excludeIds=children.stream().map(i->i.getId()).collect(Collectors.toList()); - for (XmProjectPhase child : children) { + for (XmPhase child : children) { phaseTotalBudgetAt=phaseTotalBudgetAt.add(child.getPhaseBudgetAt()); } if("1".equals(xmProject.getPhaseBudgetCtrl())) { - Tips tips2 = xmProjectPhaseService.judgetPhaseBudget(parentId, phaseTotalBudgetAt, null, null, null, excludeIds); + Tips tips2 = xmPhaseService.judgetPhaseBudget(parentId, phaseTotalBudgetAt, null, null, null, excludeIds); if (!tips2.isOk()) { tips2.setFailureMsg(tips2.getMsg() + " 相关计划为【" + children.stream().map(i -> i.getPhaseName()).collect(Collectors.joining(",")) + "】"); return ResponseHelper.failed(tips2); @@ -705,19 +705,19 @@ public class XmProjectPhaseController { } - for (XmProjectPhase projectPhase : xmProjectPhases) { + for (XmPhase projectPhase : xmProjectPhases) { int childrenCnt=Integer.valueOf(xmProjectPhases.stream().filter(i->projectPhase.getId().equals(i.getParentPhaseId())).count()+""); if(childrenCnt>0){ projectPhase.setChildrenCnt(childrenCnt); projectPhase.setNtype("1"); } } - List xmProjectPhaseListDb=xmProjectPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); + List xmProjectPhaseListDb= xmPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList())); - List inserts=xmProjectPhases.stream().filter(i->!xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); - List updates=xmProjectPhases.stream().filter(i->xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); - xmProjectPhaseService.batchInsertOrUpdate(inserts,updates); - for (XmProjectPhase phase : xmProjectPhases) { + List inserts=xmProjectPhases.stream().filter(i->!xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); + List updates=xmProjectPhases.stream().filter(i->xmProjectPhaseListDb.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); + xmPhaseService.batchInsertOrUpdate(inserts,updates); + for (XmPhase phase : xmProjectPhases) { xmRecordService.addProjectPhaseRecord(phase.getProjectId(), phase.getId(), "项目-计划-修改计划预算", "修改计划"+phase.getPhaseName(),JSON.toJSONString(phase),null); } @@ -758,7 +758,7 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - int i= xmProjectPhaseService.loadTasksToXmProjectPhase(xmProject.getId()); + int i= xmPhaseService.loadTasksToXmProjectPhase(xmProject.getId()); xmRecordService.addProjectPhaseRecord(xmProject.getId(), "", "项目-计划-汇总统计", "计算项目计划进度","",null); @@ -799,7 +799,7 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - xmProjectPhaseService.calcKeyPaths((String) params.get("projectId")); + xmPhaseService.calcKeyPaths((String) params.get("projectId")); xmRecordService.addProjectPhaseRecord(xmProject.getId(), "", "项目-计划-关键路径计算", "计算项目计划关键路径","",null); }catch (BizException e) { @@ -837,7 +837,7 @@ public class XmProjectPhaseController { m.put("tips", tips); return m; } - Map data=xmProjectPhaseService.selectTotalProjectAndPhaseBudgetCost((String) params.get("projectId"),null); + Map data= xmPhaseService.selectTotalProjectAndPhaseBudgetCost((String) params.get("projectId"),null); m.put("data",data); }catch (BizException e) { tips=e.getTips(); 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 734b4c47..020202c9 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 @@ -19,7 +19,6 @@ import com.xm.core.service.*; import com.xm.core.service.cache.XmTaskCacheService; import com.xm.core.service.push.XmPushMsgService; import com.xm.core.vo.BatchRelTasksWithMenu; -import com.xm.core.vo.BatchRelTasksWithPhase; import com.xm.core.vo.XmGroupVo; import com.xm.core.vo.XmTaskVo; import io.swagger.annotations.*; @@ -70,7 +69,7 @@ public class XmTaskController { @Autowired private XmProjectService xmProjectService; @Autowired - XmProjectPhaseService xmProjectPhaseService; + XmPhaseService xmProjectPhaseService; @Autowired XmMenuService xmMenusService; diff --git a/xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java b/xm-core/src/main/java/com/xm/core/entity/XmPhase.java similarity index 99% rename from xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java rename to xm-core/src/main/java/com/xm/core/entity/XmPhase.java index 3ff699a7..10102cb7 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmPhase.java @@ -15,7 +15,7 @@ import java.math.BigDecimal; * id;
*/ @ApiModel(description="项目阶段模板") -public class XmProjectPhase implements java.io.Serializable { +public class XmPhase implements java.io.Serializable { private static final long serialVersionUID = 1L; @@ -195,12 +195,12 @@ public class XmProjectPhase implements java.io.Serializable { String calcType; /**阶段主键**/ - public XmProjectPhase(String id) { + public XmPhase(String id) { this.id = id; } /**项目阶段模板**/ - public XmProjectPhase() { + public XmPhase() { } /** diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java b/xm-core/src/main/java/com/xm/core/service/XmPhaseService.java similarity index 88% rename from xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java rename to xm-core/src/main/java/com/xm/core/service/XmPhaseService.java index e6baa108..bf744ab7 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmPhaseService.java @@ -5,7 +5,7 @@ import com.mdp.core.service.BaseService; import com.mdp.core.utils.NumberUtil; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; -import com.xm.core.entity.XmProjectPhase; +import com.xm.core.entity.XmPhase; import com.xm.core.vo.XmGroupVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,7 +22,7 @@ import java.util.stream.Collectors; * 实体 XmProjectPhase 表 XM.xm_project_phase 当前主键(包括多主键): id; ***/ @Service("xm.core.xmProjectPhaseService") -public class XmProjectPhaseService extends BaseService { +public class XmPhaseService extends BaseService { /** 请在此类添加自定义函数 */ @@ -58,7 +58,7 @@ public class XmProjectPhaseService extends BaseService { return tips; } @Transactional - public int insert(XmProjectPhase parameter) { + public int insert(XmPhase parameter) { int i= super.insert(parameter); if(StringUtils.hasText(parameter.getParentPhaseId())){ sumParents(parameter); @@ -69,7 +69,7 @@ public class XmProjectPhaseService extends BaseService { @Transactional - public int deleteByPk(XmProjectPhase parameter) { + public int deleteByPk(XmPhase parameter) { int i= super.deleteByPk(parameter); if(StringUtils.hasText(parameter.getParentPhaseId())){ sumParents(parameter); @@ -141,13 +141,13 @@ public class XmProjectPhaseService extends BaseService { } @Transactional - public int[] doBatchDelete(List batchValues) { + public int[] doBatchDelete(List batchValues) { int[] result= super.batchDelete(batchValues); batchSumParents(batchValues); return result; } - public XmProjectPhase autoCalcWorkload(XmProjectPhase phase) { + public XmPhase autoCalcWorkload(XmPhase phase) { BigDecimal phaseBudgetHours=NumberUtil.getBigDecimal(phase.getPhaseBudgetHours(),BigDecimal.ZERO); BigDecimal phaseBudgetInnerUserCnt=NumberUtil.getBigDecimal(phase.getPhaseBudgetInnerUserCnt(),BigDecimal.ZERO); BigDecimal phaseBudgetOutUserCnt=NumberUtil.getBigDecimal(phase.getPhaseBudgetOutUserCnt(),BigDecimal.ZERO); @@ -199,18 +199,18 @@ public class XmProjectPhaseService extends BaseService { * @param delNodes 本批量需要删除的全部节点 * @return */ - public boolean checkCanDelAllChild(XmProjectPhase delNode, List delNodes) { + public boolean checkCanDelAllChild(XmPhase delNode, List delNodes) { if(delNode==null){ return true; } if(delNode.getChildrenCnt()==null||delNode.getChildrenCnt()<=0){ return true; } - List childList=delNodes.stream().filter(i->delNode.getId().equals(i.getParentPhaseId())).collect(Collectors.toList()); + List childList=delNodes.stream().filter(i->delNode.getId().equals(i.getParentPhaseId())).collect(Collectors.toList()); if(childList==null||childList.size() inserts,List updates) { - List addList=inserts; - List editList=updates; - List all=new ArrayList<>(); + public void batchInsertOrUpdate(List inserts, List updates) { + List addList=inserts; + List editList=updates; + List all=new ArrayList<>(); if(addList.size()>0) { all.addAll(addList); this.batchInsert(addList); @@ -240,8 +240,8 @@ public class XmProjectPhaseService extends BaseService { } @Transactional - public void doBatchInsert(List xmProjectPhases) { - for (XmProjectPhase xmProjectPhase : xmProjectPhases) { + public void doBatchInsert(List xmProjectPhases) { + for (XmPhase xmProjectPhase : xmProjectPhases) { long childrenCnt=xmProjectPhases.stream().filter(i->xmProjectPhase.getId().equals(i.getParentPhaseId())).count(); xmProjectPhase.setChildrenCnt(Integer.valueOf(childrenCnt+"")); if(childrenCnt>0){ @@ -253,11 +253,11 @@ public class XmProjectPhaseService extends BaseService { } - public List parentIdPathsCalcBeforeSave(List nodes) { - List noExistsList=nodes.stream().filter(i->!nodes.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); + public List parentIdPathsCalcBeforeSave(List nodes) { + List noExistsList=nodes.stream().filter(i->!nodes.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList()); noExistsList=noExistsList.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())).collect(Collectors.toList()); Map hadCalcMap=new HashMap<>(); - for (XmProjectPhase node : noExistsList) { + for (XmPhase node : noExistsList) { if(hadCalcMap.containsKey(node.getParentPhaseId())){ String idPaths=hadCalcMap.get(node.getParentPhaseId()); node.setPidPaths(idPaths+node.getId()+","); @@ -268,7 +268,7 @@ public class XmProjectPhaseService extends BaseService { hadCalcMap.put(node.getParentPhaseId(),idPaths); } } - for (XmProjectPhase node : nodes) { + for (XmPhase node : nodes) { if(!StringUtils.hasText(node.getParentPhaseId())){ node.setPidPaths("0,"+node.getId()+","); continue; @@ -277,12 +277,12 @@ public class XmProjectPhaseService extends BaseService { String idPaths=hadCalcMap.get(node.getParentPhaseId()); node.setPidPaths(idPaths+node.getId()+","); }else{ - List pnodeList=this.getParentList(node,nodes); + List pnodeList=this.getParentList(node,nodes); if(pnodeList==null ||pnodeList.size()==0){ node.setPidPaths("0,"+node.getParentPhaseId()+","+node.getId()+","); continue; } - XmProjectPhase topParent=pnodeList.get(pnodeList.size()-1); + XmPhase topParent=pnodeList.get(pnodeList.size()-1); String idPath="0,"; if(hadCalcMap.containsKey(topParent.getParentPhaseId())){ idPath=hadCalcMap.get(topParent.getParentPhaseId()); @@ -293,7 +293,7 @@ public class XmProjectPhaseService extends BaseService { node.setPidPaths(idPath+node.getId()+","); } } - for (XmProjectPhase node : nodes) { + for (XmPhase node : nodes) { String idPaths=node.getPidPaths(); String[] idpss=idPaths.split(","); node.setLvl(idpss.length-1); @@ -308,14 +308,14 @@ public class XmProjectPhaseService extends BaseService { } - public Tips parentIdPathsCalcBeforeSave(XmProjectPhase currNode) { + public Tips parentIdPathsCalcBeforeSave(XmPhase currNode) { Tips tips = new Tips("成功"); if (!StringUtils.hasText(currNode.getParentPhaseId()) || "0".equals(currNode.getParentPhaseId())) { currNode.setPidPaths("0," + currNode.getId() + ","); currNode.setLvl(1); return tips; } else { - List parentList=this.getParentList(currNode); + List parentList=this.getParentList(currNode); if(parentList==null ||parentList.size()==0){ currNode.setPidPaths("0,"+currNode.getParentPhaseId()+","+currNode.getId()+","); currNode.setLvl(2); @@ -334,14 +334,14 @@ public class XmProjectPhaseService extends BaseService { return tips; } - private List getParentList(XmProjectPhase currNode){ - List parentList=new ArrayList<>(); - XmProjectPhase current=currNode; + private List getParentList(XmPhase currNode){ + List parentList=new ArrayList<>(); + XmPhase current=currNode; while (true){ if(!StringUtils.hasText(current.getParentPhaseId()) || "0".equals(current.getParentPhaseId())){ return parentList; } - XmProjectPhase query=new XmProjectPhase(); + XmPhase query=new XmPhase(); query.setId(current.getParentPhaseId()); current=this.selectOneObject(query); if(current==null){ @@ -351,16 +351,16 @@ public class XmProjectPhaseService extends BaseService { } } - private List getParentList(XmProjectPhase currNode,List nodes){ - List parentList=new ArrayList<>(); - XmProjectPhase current=currNode; + private List getParentList(XmPhase currNode, List nodes){ + List parentList=new ArrayList<>(); + XmPhase current=currNode; while (true){ if(!StringUtils.hasText(current.getParentPhaseId()) || "0".equals(current.getParentPhaseId())){ return parentList; } - XmProjectPhase query=new XmProjectPhase(); + XmPhase query=new XmPhase(); query.setId(current.getParentPhaseId()); - Optional optional=nodes.stream().filter(i->i.getId().equals(query.getId())).findFirst(); + Optional optional=nodes.stream().filter(i->i.getId().equals(query.getId())).findFirst(); if(!optional.isPresent()){ current=optional.get(); parentList.add(current); @@ -372,7 +372,7 @@ public class XmProjectPhaseService extends BaseService { @Transactional - public void sumParents(XmProjectPhase node){ + public void sumParents(XmPhase node){ String id=node.getId(); String pidPaths=node.getPidPaths(); if(!StringUtils.hasText(pidPaths)){ @@ -401,9 +401,9 @@ public class XmProjectPhaseService extends BaseService { } @Transactional - public void batchSumParents(List xmProjectPhases) { + public void batchSumParents(List xmProjectPhases) { List> list=new ArrayList<>(); - for (XmProjectPhase node : xmProjectPhases) { + for (XmPhase node : xmProjectPhases) { String id=node.getId(); String pidPaths=node.getPidPaths(); if(!StringUtils.hasText(pidPaths)){ @@ -452,7 +452,7 @@ public class XmProjectPhaseService extends BaseService { } @Transactional - public void editByPk(XmProjectPhase xmProjectPhase) { + public void editByPk(XmPhase xmProjectPhase) { super.updateByPk(xmProjectPhase); this.sumParents(xmProjectPhase); } @@ -528,7 +528,7 @@ public class XmProjectPhaseService extends BaseService { return this.selectOne("selectPhaseBudgetCost", p); } - public void calcPhaseBudgetAmount(XmProjectPhase phase){ + public void calcPhaseBudgetAmount(XmPhase phase){ if(phase.getPhaseBudgetInnerUserAt()==null){ phase.setPhaseBudgetInnerUserAt(BigDecimal.ZERO); } 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 047aa06c..3975c2c4 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 @@ -45,7 +45,7 @@ public class XmProductService extends BaseService { @Autowired - XmProjectPhaseService xmProjectPhaseService; + XmPhaseService xmProjectPhaseService; @@ -140,15 +140,15 @@ public class XmProductService extends BaseService { Map newPhaseIdMap=new HashMap<>(); if("1".equals(xmProduct.getCopyPhase())){ - XmProjectPhase phaseQuery=new XmProjectPhase(); + XmPhase phaseQuery=new XmPhase(); phaseQuery.setProductId(xmProductDb.getId()); - List xmProjectPhases=this.xmProjectPhaseService.selectListByWhere(phaseQuery); + List xmProjectPhases=this.xmProjectPhaseService.selectListByWhere(phaseQuery); if(xmProjectPhases!=null && xmProjectPhases.size()>0){ - for (XmProjectPhase node : xmProjectPhases) { + for (XmPhase node : xmProjectPhases) { String id=this.xmProjectPhaseService.createKey("id"); newPhaseIdMap.put(node.getId(),id); } - for (XmProjectPhase node : xmProjectPhases) { + for (XmPhase node : xmProjectPhases) { String oldId=node.getId(); String newId=newPhaseIdMap.get(oldId); node.setProjectId(null); 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 ed2bf48f..d6522dac 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 @@ -57,7 +57,7 @@ public class XmProjectService extends BaseService { @Autowired XmProjectCacheService xmProjectCacheService; @Autowired - XmProjectPhaseService xmProjectPhaseService; + XmPhaseService xmProjectPhaseService; @Autowired XmGroupService groupService; @@ -116,17 +116,17 @@ public class XmProjectService extends BaseService { xmProjectTo.setPmUsername(user.getUsername()); this.saveProject(xmProjectTo); - XmProjectPhase phaseQuery=new XmProjectPhase(); + XmPhase phaseQuery=new XmPhase(); phaseQuery.setProjectId(xmProjectDb.getId()); Map newPhaseIdMap=new HashMap<>(); if("1".equals(xmProject.getCopyPhase()) ||"1".equals(xmProject.getCopyTask())){ - List xmProjectPhases=this.xmProjectPhaseService.selectListByWhere(phaseQuery); + List xmProjectPhases=this.xmProjectPhaseService.selectListByWhere(phaseQuery); if(xmProjectPhases!=null && xmProjectPhases.size()>0){ - for (XmProjectPhase node : xmProjectPhases) { + for (XmPhase node : xmProjectPhases) { String id=this.xmProjectPhaseService.createKey("id"); newPhaseIdMap.put(node.getId(),id); } - for (XmProjectPhase node : xmProjectPhases) { + for (XmPhase node : xmProjectPhases) { String oldId=node.getId(); String newId=newPhaseIdMap.get(oldId); node.setProjectId(xmProjectTo.getId()); diff --git a/xm-core/src/main/java/com/xm/core/vo/XmProjectPhaseVo.java b/xm-core/src/main/java/com/xm/core/vo/XmPhaseVo.java similarity index 73% rename from xm-core/src/main/java/com/xm/core/vo/XmProjectPhaseVo.java rename to xm-core/src/main/java/com/xm/core/vo/XmPhaseVo.java index 16285d6c..51175336 100644 --- a/xm-core/src/main/java/com/xm/core/vo/XmProjectPhaseVo.java +++ b/xm-core/src/main/java/com/xm/core/vo/XmPhaseVo.java @@ -1,8 +1,8 @@ package com.xm.core.vo; -import com.xm.core.entity.XmProjectPhase; +import com.xm.core.entity.XmPhase; -public class XmProjectPhaseVo extends XmProjectPhase { +public class XmPhaseVo extends XmPhase { private static final long serialVersionUID = 1534268338972176747L; /** diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml index 0fc30454..9312fc9d 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml @@ -1,6 +1,6 @@ - + @@ -229,7 +229,7 @@ and res.ntype='1' - select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res where res.id in #{item} @@ -259,7 +259,7 @@ - select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res @@ -267,7 +267,7 @@ - select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res where res.id = #{id} @@ -280,14 +280,14 @@ res.id = #{id} - select count(1) from xm_project_phase res - + insert into xm_project_phase( ) values ( @@ -296,7 +296,7 @@ - + delete from xm_project_phase res @@ -304,13 +304,13 @@ - + delete from xm_project_phase where id = #{id} - + update xm_project_phase @@ -319,7 +319,7 @@ - + update xm_project_phase