Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
7c2a99603f
  1. 7
      xm-core/src/main/java/com/xm/core/PubTool.java
  2. 18
      xm-core/src/main/java/com/xm/core/service/XmMenuService.java
  3. 24
      xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java
  4. 4
      xm-core/src/main/java/com/xm/core/service/XmProjectService.java
  5. 26
      xm-core/src/main/java/com/xm/core/service/XmTaskService.java
  6. 2
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml

7
xm-core/src/main/java/com/xm/core/PubTool.java

@ -3,6 +3,11 @@ package com.xm.core;
public class PubTool {
public static String getPidPaths(String pidPahts, String trimId){
return pidPahts.substring(0,pidPahts.indexOf(trimId+","));
int i=pidPahts.indexOf(trimId+",");
if(i>0){
return pidPahts.substring(0,i);
}else{
return pidPahts;
}
}
}

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

@ -128,9 +128,15 @@ public class XmMenuService extends BaseService {
Tips tips = new Tips("成功");
if (!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())) {
currNode.setPidPaths("0," + currNode.getMenuId() + ",");
currNode.setLvl(2);
return tips;
} else {
List<XmMenu> parentList=this.getParentList(currNode);
if(parentList==null || parentList.size()==0){
currNode.setPidPaths("0,"+currNode.getPmenuId()+","+currNode.getMenuId()+",");
currNode.setLvl(2);
return tips;
}
String idPath="0,";
for (int i = parentList.size() - 1; i >= 0; i--) {
idPath=idPath+parentList.get(i).getMenuId()+",";
@ -148,7 +154,7 @@ public class XmMenuService extends BaseService {
List<XmMenu> parentList=new ArrayList<>();
XmMenu current=currNode;
while (true){
if(!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())){
if(!StringUtils.hasText(current.getPmenuId()) || "0".equals(current.getPmenuId())){
return parentList;
}
XmMenu query=new XmMenu();
@ -165,16 +171,18 @@ public class XmMenuService extends BaseService {
List<XmMenu> parentList=new ArrayList<>();
XmMenu current=currNode;
while (true){
if(!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())){
if(!StringUtils.hasText(current.getPmenuId()) || "0".equals(current.getPmenuId())){
return parentList;
}
XmMenu query=new XmMenu();
query.setMenuId(current.getPmenuId());
current=nodes.stream().filter(i->i.getMenuId().equals(query.getMenuId())).findFirst().get();
if(current==null){
Optional<XmMenu> optional=nodes.stream().filter(i->i.getMenuId().equals(query.getMenuId())).findFirst();
if(optional.isPresent()){
current=optional.get();
parentList.add(current);
}else{
return parentList;
}
parentList.add(current);
}
}

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

@ -265,7 +265,7 @@ public class XmProjectPhaseService extends BaseService {
}
for (XmProjectPhase node : nodes) {
if(!StringUtils.hasText(node.getParentPhaseId())){
node.setPidPaths("0,");
node.setPidPaths("0,"+node.getId()+",");
continue;
}
if(hadCalcMap.containsKey(node.getParentPhaseId())){
@ -273,6 +273,10 @@ public class XmProjectPhaseService extends BaseService {
node.setPidPaths(idPaths+node.getId()+",");
}else{
List<XmProjectPhase> 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);
String idPath="0,";
if(hadCalcMap.containsKey(topParent.getParentPhaseId())){
@ -303,9 +307,15 @@ public class XmProjectPhaseService extends BaseService {
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<XmProjectPhase> parentList=this.getParentList(currNode);
if(parentList==null ||parentList.size()==0){
currNode.setPidPaths("0,"+currNode.getParentPhaseId()+","+currNode.getId()+",");
currNode.setLvl(2);
return tips;
}
String idPath="0,";
for (int i = parentList.size() - 1; i >= 0; i--) {
idPath=idPath+parentList.get(i).getId()+",";
@ -323,7 +333,7 @@ public class XmProjectPhaseService extends BaseService {
List<XmProjectPhase> parentList=new ArrayList<>();
XmProjectPhase current=currNode;
while (true){
if(!StringUtils.hasText(currNode.getParentPhaseId()) || "0".equals(currNode.getParentPhaseId())){
if(!StringUtils.hasText(current.getParentPhaseId()) || "0".equals(current.getParentPhaseId())){
return parentList;
}
XmProjectPhase query=new XmProjectPhase();
@ -340,16 +350,18 @@ public class XmProjectPhaseService extends BaseService {
List<XmProjectPhase> parentList=new ArrayList<>();
XmProjectPhase current=currNode;
while (true){
if(!StringUtils.hasText(currNode.getParentPhaseId()) || "0".equals(currNode.getParentPhaseId())){
if(!StringUtils.hasText(current.getParentPhaseId()) || "0".equals(current.getParentPhaseId())){
return parentList;
}
XmProjectPhase query=new XmProjectPhase();
query.setId(current.getParentPhaseId());
current=nodes.stream().filter(i->i.getId().equals(query.getId())).findFirst().get();
if(current==null){
Optional<XmProjectPhase> optional=nodes.stream().filter(i->i.getId().equals(query.getId())).findFirst();
if(!optional.isPresent()){
current=optional.get();
parentList.add(current);
}else {
return parentList;
}
parentList.add(current);
}
}

4
xm-core/src/main/java/com/xm/core/service/XmProjectService.java

@ -105,7 +105,10 @@ public class XmProjectService extends BaseService {
String newId=newIdMap.get(oldId);
node.setProjectId(xmProjectTo.getId());
node.setId(newId);
if(StringUtils.hasText(node.getParentPhaseId())){
node.setParentPhaseId(newIdMap.get(node.getParentPhaseId()));
}
node.setCtime(new Date());
node.setMngUserid(user.getUserid());
node.setMngUsername(user.getUsername());
@ -114,6 +117,7 @@ public class XmProjectService extends BaseService {
node.setBizFlowState("");
node.setBizProcInstId(null);
}
this.xmProjectPhaseService.parentIdPathsCalcBeforeSave(xmProjectPhases);
this.xmProjectPhaseService.doBatchInsert(xmProjectPhases);
}

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

@ -427,7 +427,7 @@ public class XmTaskService extends BaseService {
}
for (XmTask node : nodes) {
if(!StringUtils.hasText(node.getParentTaskid())){
node.setPidPaths("0,");
node.setPidPaths("0,"+node.getId()+",");
continue;
}
if(hadCalcMap.containsKey(node.getParentTaskid())){
@ -435,6 +435,10 @@ public class XmTaskService extends BaseService {
node.setPidPaths(idPaths+node.getId()+",");
}else{
List<XmTask> pnodeList=this.getParentList(node,nodes);
if(pnodeList==null ||pnodeList.size()==0){
node.setPidPaths("0,"+node.getParentTaskid()+","+node.getId()+",");
continue;
}
XmTask topParent=pnodeList.get(pnodeList.size()-1);
String idPath="0,";
if(hadCalcMap.containsKey(topParent.getParentTaskid())){
@ -468,6 +472,11 @@ public class XmTaskService extends BaseService {
return tips;
} else {
List<XmTask> parentList=this.getParentList(currNode);
if(parentList==null ||parentList.size()==0){
currNode.setPidPaths("0,"+currNode.getParentTaskid()+","+currNode.getId()+",");
currNode.setLvl(2);
return tips;
}
String idPath="0,";
for (int i = parentList.size() - 1; i >= 0; i--) {
idPath=idPath+parentList.get(i).getId()+",";
@ -485,7 +494,7 @@ public class XmTaskService extends BaseService {
List<XmTask> parentList=new ArrayList<>();
XmTask current=currNode;
while (true){
if(!StringUtils.hasText(currNode.getParentTaskid()) || "0".equals(currNode.getParentTaskid())){
if(!StringUtils.hasText(current.getParentTaskid()) || "0".equals(current.getParentTaskid())){
return parentList;
}
XmTask query=new XmTask();
@ -502,16 +511,19 @@ public class XmTaskService extends BaseService {
List<XmTask> parentList=new ArrayList<>();
XmTask current=currNode;
while (true){
if(!StringUtils.hasText(currNode.getParentTaskid()) || "0".equals(currNode.getParentTaskid())){
if(!StringUtils.hasText(current.getParentTaskid()) || "0".equals(current.getParentTaskid())){
return parentList;
}
XmTask query=new XmTask();
query.setId(current.getParentTaskid());
current=nodes.stream().filter(i->i.getId().equals(query.getId())).findFirst().get();
if(current==null){
Optional<XmTask> optional=nodes.stream().filter(i->i.getId().equals(query.getId())).findFirst();
if(optional.isPresent()){
current=optional.get();
parentList.add(current);
}else{
return parentList;
}
parentList.add(current);
}
}
@ -526,7 +538,7 @@ public class XmTaskService extends BaseService {
if(!pidPaths.startsWith("0,")){
return;
}
if("0".equals(node.getNtype())){
if("0".equals(node.getNtype())&&pidPaths.endsWith(id+",")){
pidPaths=pidPaths.substring(2,pidPaths.indexOf(id));
}else{
pidPaths=pidPaths.substring(2);

2
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml

@ -110,7 +110,7 @@
sum(t.task_budget_at) as task_budget_at
FROM xm_project_phase t
WHERE
t.parent_taskid=#{item}
t.parent_phase_id=#{item}
GROUP BY
t.project_id,
t.parent_phase_id

Loading…
Cancel
Save