diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index d9a68ae6..6d9c88e9 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -60,7 +60,7 @@ public class XmMenuService extends BaseService { if(addList.size()>0) { this.batchInsert(addList); - List list= addList.stream().filter(i->!addList.stream().filter(k->k.getMenuId().equals(i.getPmenuId())).findAny().isPresent()).collect(Collectors.toList()); + List list= addList.stream().filter(i->!xmMenus.stream().filter(k->k.getMenuId().equals(i.getPmenuId())).findAny().isPresent()).collect(Collectors.toList()); list=list.stream().filter(i-> StringUtils.hasText(i.getPmenuId())).collect(Collectors.toList()); if(list.size()>0){ this.updateChildrenCntByIds(list.stream().map(i->i.getPmenuId()).collect(Collectors.toSet()).stream().collect(Collectors.toList())); @@ -87,10 +87,11 @@ public class XmMenuService extends BaseService { for (XmMenu node : noExistsList) { if(hadCalcMap.containsKey(node.getPmenuId())){ String idPaths=hadCalcMap.get(node.getPmenuId()); - node.setPidPaths(idPaths); + node.setPidPaths(idPaths+node.getMenuId()+","); }else{ this.parentIdPathsCalcBeforeSave(node); String idPaths=node.getPidPaths(); + idPaths=idPaths.substring(0,idPaths.length()-node.getMenuId().length()-1); hadCalcMap.put(node.getPmenuId(),idPaths); } } @@ -101,7 +102,7 @@ public class XmMenuService extends BaseService { } if(hadCalcMap.containsKey(node.getPmenuId())){ String idPaths=hadCalcMap.get(node.getPmenuId()); - node.setPidPaths(idPaths); + node.setPidPaths(idPaths+node.getMenuId()+","); }else{ List pnodeList=this.getParentList(node,nodes); XmMenu topParent=pnodeList.get(pnodeList.size()-1); @@ -112,13 +113,13 @@ public class XmMenuService extends BaseService { for (int i = pnodeList.size() - 1; i >= 0; i--) { idPath=idPath+pnodeList.get(i).getMenuId()+","; } - node.setPidPaths(idPath); + node.setPidPaths(idPath+node.getMenuId()+","); } } for (XmMenu node : nodes) { String idPaths=node.getPidPaths(); String[] idpss=idPaths.split(","); - node.setLvl(idpss.length); + node.setLvl(idpss.length-1); } return nodes; } @@ -126,7 +127,7 @@ public class XmMenuService extends BaseService { public Tips parentIdPathsCalcBeforeSave(XmMenu currNode) { Tips tips = new Tips("成功"); if (!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())) { - currNode.setPidPaths("0,"); + currNode.setPidPaths("0," + currNode.getMenuId() + ","); return tips; } else { List parentList=this.getParentList(currNode); @@ -134,11 +135,11 @@ public class XmMenuService extends BaseService { for (int i = parentList.size() - 1; i >= 0; i--) { idPath=idPath+parentList.get(i).getMenuId()+","; } - currNode.setPidPaths(idPath); + currNode.setPidPaths(idPath+currNode.getMenuId()+","); String idPaths=currNode.getPidPaths(); String[] idpss=idPaths.split(","); - currNode.setLvl(idpss.length); + currNode.setLvl(idpss.length-1); } return tips; } 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 b3b08600..29a4f4fe 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 @@ -251,10 +251,11 @@ public class XmProjectPhaseService extends BaseService { for (XmProjectPhase node : noExistsList) { if(hadCalcMap.containsKey(node.getParentPhaseId())){ String idPaths=hadCalcMap.get(node.getParentPhaseId()); - node.setPidPaths(idPaths); + node.setPidPaths(idPaths+node.getId()+","); }else{ this.parentIdPathsCalcBeforeSave(node); String idPaths=node.getPidPaths(); + idPaths=idPaths.substring(0,idPaths.length()-node.getId().length()-1); hadCalcMap.put(node.getParentPhaseId(),idPaths); } } @@ -265,7 +266,7 @@ public class XmProjectPhaseService extends BaseService { } if(hadCalcMap.containsKey(node.getParentPhaseId())){ String idPaths=hadCalcMap.get(node.getParentPhaseId()); - node.setPidPaths(idPaths); + node.setPidPaths(idPaths+node.getId()+","); }else{ List pnodeList=this.getParentList(node,nodes); XmProjectPhase topParent=pnodeList.get(pnodeList.size()-1); @@ -276,13 +277,13 @@ public class XmProjectPhaseService extends BaseService { for (int i = pnodeList.size() - 1; i >= 0; i--) { idPath=idPath+pnodeList.get(i).getId()+","; } - node.setPidPaths(idPath); + node.setPidPaths(idPath+node.getId()+","); } } for (XmProjectPhase node : nodes) { String idPaths=node.getPidPaths(); String[] idpss=idPaths.split(","); - node.setLvl(idpss.length); + node.setLvl(idpss.length-1); } return nodes; } @@ -297,7 +298,7 @@ public class XmProjectPhaseService extends BaseService { public Tips parentIdPathsCalcBeforeSave(XmProjectPhase currNode) { Tips tips = new Tips("成功"); if (!StringUtils.hasText(currNode.getParentPhaseId()) || "0".equals(currNode.getParentPhaseId())) { - currNode.setPidPaths("0,"); + currNode.setPidPaths("0," + currNode.getId() + ","); return tips; } else { List parentList=this.getParentList(currNode); @@ -305,11 +306,11 @@ public class XmProjectPhaseService extends BaseService { for (int i = parentList.size() - 1; i >= 0; i--) { idPath=idPath+parentList.get(i).getId()+","; } - currNode.setPidPaths(idPath); + currNode.setPidPaths(idPath+currNode.getId()+","); String idPaths=currNode.getPidPaths(); String[] idpss=idPaths.split(","); - currNode.setLvl(idpss.length); + currNode.setLvl(idpss.length-1); } return tips; } diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskService.java index 8e20074c..d4268385 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskService.java @@ -447,10 +447,11 @@ public class XmTaskService extends BaseService { for (XmTask node : noExistsList) { if(hadCalcMap.containsKey(node.getParentTaskid())){ String idPaths=hadCalcMap.get(node.getParentTaskid()); - node.setPidPaths(idPaths); + node.setPidPaths(idPaths+node.getId()+","); }else{ this.parentIdPathsCalcBeforeSave(node); String idPaths=node.getPidPaths(); + idPaths=idPaths.substring(0,idPaths.length()-node.getId().length()-1); hadCalcMap.put(node.getParentTaskid(),idPaths); } } @@ -461,7 +462,7 @@ public class XmTaskService extends BaseService { } if(hadCalcMap.containsKey(node.getParentTaskid())){ String idPaths=hadCalcMap.get(node.getParentTaskid()); - node.setPidPaths(idPaths); + node.setPidPaths(idPaths+node.getId()+","); }else{ List pnodeList=this.getParentList(node,nodes); XmTask topParent=pnodeList.get(pnodeList.size()-1); @@ -472,13 +473,13 @@ public class XmTaskService extends BaseService { for (int i = pnodeList.size() - 1; i >= 0; i--) { idPath=idPath+pnodeList.get(i).getId()+","; } - node.setPidPaths(idPath); + node.setPidPaths(idPath+node.getId()+","); } } for (XmTask node : nodes) { String idPaths=node.getPidPaths(); String[] idpss=idPaths.split(","); - node.setLvl(idpss.length); + node.setLvl(idpss.length-1); } return nodes; } @@ -493,7 +494,7 @@ public class XmTaskService extends BaseService { public Tips parentIdPathsCalcBeforeSave(XmTask currNode) { Tips tips = new Tips("成功"); if (!StringUtils.hasText(currNode.getParentTaskid()) || "0".equals(currNode.getParentTaskid())) { - currNode.setPidPaths("0,"); + currNode.setPidPaths("0," + currNode.getId() + ","); return tips; } else { List parentList=this.getParentList(currNode); @@ -501,11 +502,11 @@ public class XmTaskService extends BaseService { for (int i = parentList.size() - 1; i >= 0; i--) { idPath=idPath+parentList.get(i).getId()+","; } - currNode.setPidPaths(idPath); + currNode.setPidPaths(idPath+currNode.getId()+","); String idPaths=currNode.getPidPaths(); String[] idpss=idPaths.split(","); - currNode.setLvl(idpss.length); + currNode.setLvl(idpss.length-1); } return tips; }