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.err.BizException;
import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper;
import com.mdp.mybatis.PageUtils;
@ -27,6 +28,8 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map;
/**
* url编制采用rest风格,如对XM.xm_menu 项目菜单表的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmMenu/add <br>
@ -90,6 +93,12 @@ public class XmMenuController {
}
List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhere(xmMenu); //列出XmMenu列表
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);
Tips tips=new Tips("查询成功");
m.put("tips", tips);
@ -121,6 +130,13 @@ public class XmMenuController {
}
List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhereWithState(xmMenu); //列出XmMenu列表
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("tips", tips);
return m;
@ -137,6 +153,12 @@ public class XmMenuController {
}else {
List<Map<String,Object>> xmMenuList = xmMenuService.selectListMapByWhereWithPlan(xmMenu); //列出XmMenu列表
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);
}

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) {
if(hadCalcMap.containsKey(node.getPmenuId())){
String idPaths=hadCalcMap.get(node.getPmenuId());
node.setPidPaths(idPaths+node.getMenuId()+",");
node.setPidPaths(idPaths);
}else{
this.parentIdPathsCalcBeforeSave(node);
String idPaths=node.getPidPaths();
idPaths=idPaths.substring(0,idPaths.length()-node.getMenuId().length()-1);
hadCalcMap.put(node.getPmenuId(),idPaths);
}
}
@ -102,7 +101,7 @@ public class XmMenuService extends BaseService {
}
if(hadCalcMap.containsKey(node.getPmenuId())){
String idPaths=hadCalcMap.get(node.getPmenuId());
node.setPidPaths(idPaths+node.getMenuId()+",");
node.setPidPaths(idPaths);
}else{
List<XmMenu> pnodeList=this.getParentList(node,nodes);
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--) {
idPath=idPath+pnodeList.get(i).getMenuId()+",";
}
node.setPidPaths(idPath+node.getMenuId()+",");
node.setPidPaths(idPath);
}
}
for (XmMenu node : nodes) {
String idPaths=node.getPidPaths();
String[] idpss=idPaths.split(",");
node.setLvl(idpss.length-1);
node.setLvl(idpss.length);
}
return nodes;
}
@ -127,7 +126,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.getMenuId() + ",");
currNode.setPidPaths("0,");
return tips;
} else {
List<XmMenu> parentList=this.getParentList(currNode);
@ -135,11 +134,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.getMenuId()+",");
currNode.setPidPaths(idPath);
String idPaths=currNode.getPidPaths();
String[] idpss=idPaths.split(",");
currNode.setLvl(idpss.length-1);
currNode.setLvl(idpss.length);
}
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) {
if(hadCalcMap.containsKey(node.getParentPhaseId())){
String idPaths=hadCalcMap.get(node.getParentPhaseId());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{
this.parentIdPathsCalcBeforeSave(node);
String idPaths=node.getPidPaths();
idPaths=idPaths.substring(0,idPaths.length()-node.getId().length()-1);
hadCalcMap.put(node.getParentPhaseId(),idPaths);
}
}
@ -266,7 +265,7 @@ public class XmProjectPhaseService extends BaseService {
}
if(hadCalcMap.containsKey(node.getParentPhaseId())){
String idPaths=hadCalcMap.get(node.getParentPhaseId());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{
List<XmProjectPhase> pnodeList=this.getParentList(node,nodes);
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--) {
idPath=idPath+pnodeList.get(i).getId()+",";
}
node.setPidPaths(idPath+node.getId()+",");
node.setPidPaths(idPath);
}
}
for (XmProjectPhase node : nodes) {
String idPaths=node.getPidPaths();
String[] idpss=idPaths.split(",");
node.setLvl(idpss.length-1);
node.setLvl(idpss.length);
}
return nodes;
}
@ -298,7 +297,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.getId() + ",");
currNode.setPidPaths("0,");
return tips;
} else {
List<XmProjectPhase> parentList=this.getParentList(currNode);
@ -306,11 +305,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.getId()+",");
currNode.setPidPaths(idPath);
String idPaths=currNode.getPidPaths();
String[] idpss=idPaths.split(",");
currNode.setLvl(idpss.length-1);
currNode.setLvl(idpss.length);
}
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) {
if(hadCalcMap.containsKey(node.getParentTaskid())){
String idPaths=hadCalcMap.get(node.getParentTaskid());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{
this.parentIdPathsCalcBeforeSave(node);
String idPaths=node.getPidPaths();
idPaths=idPaths.substring(0,idPaths.length()-node.getId().length()-1);
hadCalcMap.put(node.getParentTaskid(),idPaths);
}
}
@ -462,7 +461,7 @@ public class XmTaskService extends BaseService {
}
if(hadCalcMap.containsKey(node.getParentTaskid())){
String idPaths=hadCalcMap.get(node.getParentTaskid());
node.setPidPaths(idPaths+node.getId()+",");
node.setPidPaths(idPaths);
}else{
List<XmTask> pnodeList=this.getParentList(node,nodes);
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--) {
idPath=idPath+pnodeList.get(i).getId()+",";
}
node.setPidPaths(idPath+node.getId()+",");
node.setPidPaths(idPath);
}
}
for (XmTask node : nodes) {
String idPaths=node.getPidPaths();
String[] idpss=idPaths.split(",");
node.setLvl(idpss.length-1);
node.setLvl(idpss.length);
}
return nodes;
}
@ -494,7 +493,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.getId() + ",");
currNode.setPidPaths("0,");
return tips;
} else {
List<XmTask> parentList=this.getParentList(currNode);
@ -502,11 +501,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.getId()+",");
currNode.setPidPaths(idPath);
String idPaths=currNode.getPidPaths();
String[] idpss=idPaths.split(",");
currNode.setLvl(idpss.length-1);
currNode.setLvl(idpss.length);
}
return tips;
}

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

@ -11,6 +11,11 @@
( #{item})
</foreach>
</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
<foreach collection="tagIdList" item="item" index="index" open="(" separator=" or " close=")" >
find_in_set(#{item},res.tag_ids)

Loading…
Cancel
Save