Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
ea21d78129
  1. 22
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java
  2. 15
      xm-core/src/main/java/com/xm/core/service/XmMenuService.java
  3. 15
      xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java
  4. 15
      xm-core/src/main/java/com/xm/core/service/XmTaskService.java
  5. 5
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

22
xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java

@ -2,6 +2,7 @@ package com.xm.core.ctrl;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException; import com.mdp.core.err.BizException;
import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper; import com.mdp.core.utils.ResponseHelper;
import com.mdp.mybatis.PageUtils; import com.mdp.mybatis.PageUtils;
@ -27,6 +28,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map;
/** /**
* url编制采用rest风格,如对XM.xm_menu 项目菜单表的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对XM.xm_menu 项目菜单表的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmMenu/add <br> * 新增: xm/xmMenu/add <br>
@ -90,6 +93,12 @@ public class XmMenuController {
} }
List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhere(xmMenu); //列出XmMenu列表 List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhere(xmMenu); //列出XmMenu列表
PageUtils.responePage(m, xmMenuList); PageUtils.responePage(m, xmMenuList);
if("1".equals(xmMenu.get("withParents")) && !"1".equals(xmMenu.get("isTop"))){
List<String> pidPathsList=xmMenuList.stream().map(i->(String)i.get("pidPaths")).collect(Collectors.toSet()).stream().collect(Collectors.toList());
List<Map<String,Object>> parentList=xmMenuService.selectListMapByWhere(map("pidPathsList",pidPathsList));
xmMenuList.addAll(parentList);
m.put("total", NumberUtil.getInteger(m.get("total"),0)+parentList.size());
}
m.put("data",xmMenuList); m.put("data",xmMenuList);
Tips tips=new Tips("查询成功"); Tips tips=new Tips("查询成功");
m.put("tips", tips); m.put("tips", tips);
@ -121,6 +130,13 @@ public class XmMenuController {
} }
List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhereWithState(xmMenu); //列出XmMenu列表 List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhereWithState(xmMenu); //列出XmMenu列表
PageUtils.responePage(m, xmMenuList); PageUtils.responePage(m, xmMenuList);
if("1".equals(xmMenu.get("withParents")) && !"1".equals(xmMenu.get("isTop"))){
List<String> pidPathsList=xmMenuList.stream().map(i->(String)i.get("pidPaths")).collect(Collectors.toSet()).stream().collect(Collectors.toList());
List<Map<String,Object>> parentList=xmMenuService.selectListMapByWhereWithState(map("pidPathsList",pidPathsList));
xmMenuList.addAll(parentList);
m.put("total", NumberUtil.getInteger(m.get("total"),0)+parentList.size());
}
m.put("data",xmMenuList); m.put("data",xmMenuList);
m.put("tips", tips); m.put("tips", tips);
return m; return m;
@ -137,6 +153,12 @@ public class XmMenuController {
}else { }else {
List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhereWithPlan(xmMenu); //列出XmMenu列表 List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhereWithPlan(xmMenu); //列出XmMenu列表
PageUtils.responePage(m, xmMenuList); PageUtils.responePage(m, xmMenuList);
if("1".equals(xmMenu.get("withParents")) && !"1".equals(xmMenu.get("isTop"))){
List<String> pidPathsList=xmMenuList.stream().map(i->(String)i.get("pidPaths")).collect(Collectors.toSet()).stream().collect(Collectors.toList());
List<Map<String,Object>> parentList=xmMenuService.selectListMapByWhereWithPlan(map("pidPathsList",pidPathsList));
xmMenuList.addAll(parentList);
m.put("total", NumberUtil.getInteger(m.get("total"),0)+parentList.size());
}
m.put("data",xmMenuList); m.put("data",xmMenuList);
} }

15
xm-core/src/main/java/com/xm/core/service/XmMenuService.java

@ -87,11 +87,10 @@ public class XmMenuService extends BaseService {
for (XmMenu node : noExistsList) { for (XmMenu node : noExistsList) {
if(hadCalcMap.containsKey(node.getPmenuId())){ if(hadCalcMap.containsKey(node.getPmenuId())){
String idPaths=hadCalcMap.get(node.getPmenuId()); String idPaths=hadCalcMap.get(node.getPmenuId());
node.setPidPaths(idPaths+node.getMenuId()+",");
node.setPidPaths(idPaths);
}else{ }else{
this.parentIdPathsCalcBeforeSave(node); this.parentIdPathsCalcBeforeSave(node);
String idPaths=node.getPidPaths(); String idPaths=node.getPidPaths();
idPaths=idPaths.substring(0,idPaths.length()-node.getMenuId().length()-1);
hadCalcMap.put(node.getPmenuId(),idPaths); hadCalcMap.put(node.getPmenuId(),idPaths);
} }
} }
@ -102,7 +101,7 @@ public class XmMenuService extends BaseService {
} }
if(hadCalcMap.containsKey(node.getPmenuId())){ if(hadCalcMap.containsKey(node.getPmenuId())){
String idPaths=hadCalcMap.get(node.getPmenuId()); String idPaths=hadCalcMap.get(node.getPmenuId());
node.setPidPaths(idPaths+node.getMenuId()+",");
node.setPidPaths(idPaths);
}else{ }else{
List<XmMenu> pnodeList=this.getParentList(node,nodes); List<XmMenu> pnodeList=this.getParentList(node,nodes);
XmMenu topParent=pnodeList.get(pnodeList.size()-1); XmMenu topParent=pnodeList.get(pnodeList.size()-1);
@ -113,13 +112,13 @@ public class XmMenuService extends BaseService {
for (int i = pnodeList.size() - 1; i >= 0; i--) { for (int i = pnodeList.size() - 1; i >= 0; i--) {
idPath=idPath+pnodeList.get(i).getMenuId()+","; idPath=idPath+pnodeList.get(i).getMenuId()+",";
} }
node.setPidPaths(idPath+node.getMenuId()+",");
node.setPidPaths(idPath);
} }
} }
for (XmMenu node : nodes) { for (XmMenu node : nodes) {
String idPaths=node.getPidPaths(); String idPaths=node.getPidPaths();
String[] idpss=idPaths.split(","); String[] idpss=idPaths.split(",");
node.setLvl(idpss.length-1);
node.setLvl(idpss.length);
} }
return nodes; return nodes;
} }
@ -127,7 +126,7 @@ public class XmMenuService extends BaseService {
public Tips parentIdPathsCalcBeforeSave(XmMenu currNode) { public Tips parentIdPathsCalcBeforeSave(XmMenu currNode) {
Tips tips = new Tips("成功"); Tips tips = new Tips("成功");
if (!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())) { if (!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())) {
currNode.setPidPaths("0," + currNode.getMenuId() + ",");
currNode.setPidPaths("0,");
return tips; return tips;
} else { } else {
List<XmMenu> parentList=this.getParentList(currNode); List<XmMenu> parentList=this.getParentList(currNode);
@ -135,11 +134,11 @@ public class XmMenuService extends BaseService {
for (int i = parentList.size() - 1; i >= 0; i--) { for (int i = parentList.size() - 1; i >= 0; i--) {
idPath=idPath+parentList.get(i).getMenuId()+","; idPath=idPath+parentList.get(i).getMenuId()+",";
} }
currNode.setPidPaths(idPath+currNode.getMenuId()+",");
currNode.setPidPaths(idPath);
String idPaths=currNode.getPidPaths(); String idPaths=currNode.getPidPaths();
String[] idpss=idPaths.split(","); String[] idpss=idPaths.split(",");
currNode.setLvl(idpss.length-1);
currNode.setLvl(idpss.length);
} }
return tips; return tips;
} }

15
xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java

@ -251,11 +251,10 @@ public class XmProjectPhaseService extends BaseService {
for (XmProjectPhase node : noExistsList) { for (XmProjectPhase node : noExistsList) {
if(hadCalcMap.containsKey(node.getParentPhaseId())){ if(hadCalcMap.containsKey(node.getParentPhaseId())){
String idPaths=hadCalcMap.get(node.getParentPhaseId()); String idPaths=hadCalcMap.get(node.getParentPhaseId());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{ }else{
this.parentIdPathsCalcBeforeSave(node); this.parentIdPathsCalcBeforeSave(node);
String idPaths=node.getPidPaths(); String idPaths=node.getPidPaths();
idPaths=idPaths.substring(0,idPaths.length()-node.getId().length()-1);
hadCalcMap.put(node.getParentPhaseId(),idPaths); hadCalcMap.put(node.getParentPhaseId(),idPaths);
} }
} }
@ -266,7 +265,7 @@ public class XmProjectPhaseService extends BaseService {
} }
if(hadCalcMap.containsKey(node.getParentPhaseId())){ if(hadCalcMap.containsKey(node.getParentPhaseId())){
String idPaths=hadCalcMap.get(node.getParentPhaseId()); String idPaths=hadCalcMap.get(node.getParentPhaseId());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{ }else{
List<XmProjectPhase> pnodeList=this.getParentList(node,nodes); List<XmProjectPhase> pnodeList=this.getParentList(node,nodes);
XmProjectPhase topParent=pnodeList.get(pnodeList.size()-1); XmProjectPhase topParent=pnodeList.get(pnodeList.size()-1);
@ -277,13 +276,13 @@ public class XmProjectPhaseService extends BaseService {
for (int i = pnodeList.size() - 1; i >= 0; i--) { for (int i = pnodeList.size() - 1; i >= 0; i--) {
idPath=idPath+pnodeList.get(i).getId()+","; idPath=idPath+pnodeList.get(i).getId()+",";
} }
node.setPidPaths(idPath+node.getId()+",");
node.setPidPaths(idPath);
} }
} }
for (XmProjectPhase node : nodes) { for (XmProjectPhase node : nodes) {
String idPaths=node.getPidPaths(); String idPaths=node.getPidPaths();
String[] idpss=idPaths.split(","); String[] idpss=idPaths.split(",");
node.setLvl(idpss.length-1);
node.setLvl(idpss.length);
} }
return nodes; return nodes;
} }
@ -298,7 +297,7 @@ public class XmProjectPhaseService extends BaseService {
public Tips parentIdPathsCalcBeforeSave(XmProjectPhase currNode) { public Tips parentIdPathsCalcBeforeSave(XmProjectPhase currNode) {
Tips tips = new Tips("成功"); Tips tips = new Tips("成功");
if (!StringUtils.hasText(currNode.getParentPhaseId()) || "0".equals(currNode.getParentPhaseId())) { if (!StringUtils.hasText(currNode.getParentPhaseId()) || "0".equals(currNode.getParentPhaseId())) {
currNode.setPidPaths("0," + currNode.getId() + ",");
currNode.setPidPaths("0,");
return tips; return tips;
} else { } else {
List<XmProjectPhase> parentList=this.getParentList(currNode); List<XmProjectPhase> parentList=this.getParentList(currNode);
@ -306,11 +305,11 @@ public class XmProjectPhaseService extends BaseService {
for (int i = parentList.size() - 1; i >= 0; i--) { for (int i = parentList.size() - 1; i >= 0; i--) {
idPath=idPath+parentList.get(i).getId()+","; idPath=idPath+parentList.get(i).getId()+",";
} }
currNode.setPidPaths(idPath+currNode.getId()+",");
currNode.setPidPaths(idPath);
String idPaths=currNode.getPidPaths(); String idPaths=currNode.getPidPaths();
String[] idpss=idPaths.split(","); String[] idpss=idPaths.split(",");
currNode.setLvl(idpss.length-1);
currNode.setLvl(idpss.length);
} }
return tips; return tips;
} }

15
xm-core/src/main/java/com/xm/core/service/XmTaskService.java

@ -447,11 +447,10 @@ public class XmTaskService extends BaseService {
for (XmTask node : noExistsList) { for (XmTask node : noExistsList) {
if(hadCalcMap.containsKey(node.getParentTaskid())){ if(hadCalcMap.containsKey(node.getParentTaskid())){
String idPaths=hadCalcMap.get(node.getParentTaskid()); String idPaths=hadCalcMap.get(node.getParentTaskid());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{ }else{
this.parentIdPathsCalcBeforeSave(node); this.parentIdPathsCalcBeforeSave(node);
String idPaths=node.getPidPaths(); String idPaths=node.getPidPaths();
idPaths=idPaths.substring(0,idPaths.length()-node.getId().length()-1);
hadCalcMap.put(node.getParentTaskid(),idPaths); hadCalcMap.put(node.getParentTaskid(),idPaths);
} }
} }
@ -462,7 +461,7 @@ public class XmTaskService extends BaseService {
} }
if(hadCalcMap.containsKey(node.getParentTaskid())){ if(hadCalcMap.containsKey(node.getParentTaskid())){
String idPaths=hadCalcMap.get(node.getParentTaskid()); String idPaths=hadCalcMap.get(node.getParentTaskid());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{ }else{
List<XmTask> pnodeList=this.getParentList(node,nodes); List<XmTask> pnodeList=this.getParentList(node,nodes);
XmTask topParent=pnodeList.get(pnodeList.size()-1); XmTask topParent=pnodeList.get(pnodeList.size()-1);
@ -473,13 +472,13 @@ public class XmTaskService extends BaseService {
for (int i = pnodeList.size() - 1; i >= 0; i--) { for (int i = pnodeList.size() - 1; i >= 0; i--) {
idPath=idPath+pnodeList.get(i).getId()+","; idPath=idPath+pnodeList.get(i).getId()+",";
} }
node.setPidPaths(idPath+node.getId()+",");
node.setPidPaths(idPath);
} }
} }
for (XmTask node : nodes) { for (XmTask node : nodes) {
String idPaths=node.getPidPaths(); String idPaths=node.getPidPaths();
String[] idpss=idPaths.split(","); String[] idpss=idPaths.split(",");
node.setLvl(idpss.length-1);
node.setLvl(idpss.length);
} }
return nodes; return nodes;
} }
@ -494,7 +493,7 @@ public class XmTaskService extends BaseService {
public Tips parentIdPathsCalcBeforeSave(XmTask currNode) { public Tips parentIdPathsCalcBeforeSave(XmTask currNode) {
Tips tips = new Tips("成功"); Tips tips = new Tips("成功");
if (!StringUtils.hasText(currNode.getParentTaskid()) || "0".equals(currNode.getParentTaskid())) { if (!StringUtils.hasText(currNode.getParentTaskid()) || "0".equals(currNode.getParentTaskid())) {
currNode.setPidPaths("0," + currNode.getId() + ",");
currNode.setPidPaths("0,");
return tips; return tips;
} else { } else {
List<XmTask> parentList=this.getParentList(currNode); List<XmTask> parentList=this.getParentList(currNode);
@ -502,11 +501,11 @@ public class XmTaskService extends BaseService {
for (int i = parentList.size() - 1; i >= 0; i--) { for (int i = parentList.size() - 1; i >= 0; i--) {
idPath=idPath+parentList.get(i).getId()+","; idPath=idPath+parentList.get(i).getId()+",";
} }
currNode.setPidPaths(idPath+currNode.getId()+",");
currNode.setPidPaths(idPath);
String idPaths=currNode.getPidPaths(); String idPaths=currNode.getPidPaths();
String[] idpss=idPaths.split(","); String[] idpss=idPaths.split(",");
currNode.setLvl(idpss.length-1);
currNode.setLvl(idpss.length);
} }
return tips; return tips;
} }

5
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

@ -11,6 +11,11 @@
( #{item}) ( #{item})
</foreach> </foreach>
</if> </if>
<if test=" pidPathsList != null"> and
<foreach collection="pidPathsList" item="item" index="index" open="(" separator=" or " close=")" >
#{item} like concat(res.pid_paths,'%')
</foreach>
</if>
<if test=" tagIdList != null"> and <if test=" tagIdList != null"> and
<foreach collection="tagIdList" item="item" index="index" open="(" separator=" or " close=")" > <foreach collection="tagIdList" item="item" index="index" open="(" separator=" or " close=")" >
find_in_set(#{item},res.tag_ids) find_in_set(#{item},res.tag_ids)

Loading…
Cancel
Save