|
@@ -413,6 +413,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
continue;
|
|
|
}
|
|
|
ArchiveTreeVO2 archiveTree = new ArchiveTreeVO2();
|
|
|
+ archiveTree.setIswbsNode(true);
|
|
|
archiveTree.setId(wbsTreeVO2.getId());
|
|
|
archiveTree.setParentId(wbsTreeVO2.getParentId());
|
|
|
archiveTree.setTitle(wbsTreeVO2.getTitle());
|
|
@@ -458,7 +459,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
//分类并卷规则的需要生成个随机数,作为同一个分类赋值archiveAutoNodeId
|
|
|
if(archiveAutoType==2){
|
|
|
double v = Math.random() * 10000;
|
|
|
- int ran = (int)v;
|
|
|
+ long ran = (long)v;
|
|
|
archiveAutoGroupId=Long.parseLong(System.currentTimeMillis()+""+ran);
|
|
|
}
|
|
|
|
|
@@ -483,7 +484,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
archiveTree.getArchiveAutoType(),
|
|
|
archiveTree.getArchiveAutoNodeId(),
|
|
|
archiveTree.getArchiveAutoGroupId(),
|
|
|
- archiveTree.getAncestors()
|
|
|
+ archiveTree.getAncestors()+","+archiveTree.getId()
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -506,7 +507,8 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
Long archiveAutoGroupId=null;
|
|
|
//分类并卷规则的需要生成个随机数,作为同一个分类赋值archiveAutoNodeId
|
|
|
if(archiveAutoType==2){
|
|
|
- double ran=(Math.random()*100000000) + 1;
|
|
|
+ double v = Math.random() * 10000;
|
|
|
+ long ran = (long)v;
|
|
|
archiveAutoGroupId=Long.parseLong(System.currentTimeMillis()+""+ran);
|
|
|
}
|
|
|
|
|
@@ -555,7 +557,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
if(archiveAutoType==2){
|
|
|
Long groupId = dto.getArchiveAutoGroupId();
|
|
|
String selectNodeIds = dto.getSelectNodeIds();
|
|
|
- List<String> selectNodeIdlist = Arrays.asList(selectNodeIds);
|
|
|
+ List<String> selectNodeIdlist = Arrays.asList(selectNodeIds.split(","));
|
|
|
//先将同一分组的节点删除配置,。
|
|
|
baseMapper.removeNodeForArchiveAutoRule_Group(groupId);
|
|
|
//然后再按照选择节点保存新的设置
|
|
@@ -572,7 +574,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
archiveTree.getArchiveAutoType(),
|
|
|
archiveTree.getArchiveAutoNodeId(),
|
|
|
archiveTree.getArchiveAutoGroupId(),
|
|
|
- archiveTree.getAncestors()
|
|
|
+ archiveTree.getAncestors()+","+archiveTree.getId()
|
|
|
);
|
|
|
}
|
|
|
}
|
|
@@ -650,9 +652,10 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
// 因为分类并卷规则影响范围包括下面所有子节点,如果给archive_auto_group_select=0的节点也就是范围内的子节点单独取消规则,会造成案卷归属节点错乱。
|
|
|
// (不理那么多,就这样限制先 。如业务非要发神经就要 TODO 验证节点的父节点是否为分类并卷规则,如是则取消。若无其他兄弟节点,继续往上验证。)
|
|
|
baseMapper.removeAllSonNodeIdsForArchiveAutoRule_2(node.getArchiveAutoType(),node.getAncestors());
|
|
|
+ }else{
|
|
|
+ returnMap.put("code","0");
|
|
|
+ returnMap.put("msg","只能取消设置的节点,不能取消设置节点范围下节点");
|
|
|
}
|
|
|
- returnMap.put("code","0");
|
|
|
- returnMap.put("msg","只能取消设置的节点,不能取消设置节点范围下节点");
|
|
|
}
|
|
|
//删除节点及所有子节点 单独并卷规则
|
|
|
if(archiveAutoType==3){
|
|
@@ -677,9 +680,9 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
public Map<String,Object> getArchiveAutoRule(Long id,boolean iswbsNode) {
|
|
|
|
|
|
if(iswbsNode){
|
|
|
- return getArchiveAutoRule_ArchiveTreeNode(id);
|
|
|
- }else{
|
|
|
return getArchiveAutoRule_WbsTreeNode(id);
|
|
|
+ }else{
|
|
|
+ return getArchiveAutoRule_ArchiveTreeNode(id);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -702,6 +705,9 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
String ancestors = archiveAutoNode.getAncestors();
|
|
|
String[] ancestorssplit = ancestors.split(",");//全路径ID
|
|
|
for(String pId:ancestorssplit){
|
|
|
+ if(pId.equals("0")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
long pIdLong = Long.parseLong(pId);
|
|
|
ArchiveTree pIdNode = baseMapper.selectById(pIdLong);
|
|
|
allName.append(pIdNode.getNodeName()+"/");
|
|
@@ -720,9 +726,10 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
//找出当前节点大类
|
|
|
String ancestors = archiveTree.getAncestors();
|
|
|
String[] ancestorssplit = ancestors.split(",");//全路径ID
|
|
|
- String nodeAncestors = ancestorssplit[0]+","+ancestorssplit[1]; //大类的ancestors
|
|
|
+ String nodeAncestors = ancestorssplit[0]+","+ancestorssplit[1]+","+ancestorssplit[2]; //大类的ancestors
|
|
|
+ Long bigNodeID =Long.parseLong(ancestorssplit[2]); //大类节点ID
|
|
|
//获取大类下所有节点,过滤单独规则,其他分类并卷规则组节点
|
|
|
- List<ArchiveTreeAutoRuleVO> nodetree = ForestNodeMerger.merge(baseMapper.getAllSonNodeforGroupView(nodeAncestors, archiveTree.getArchiveAutoNodeId()));
|
|
|
+ List<ArchiveTreeAutoRuleVO> nodetree = ForestNodeMerger.merge(baseMapper.getAllSonNodeforGroupView(nodeAncestors, archiveTree.getArchiveAutoNodeId(),bigNodeID));
|
|
|
//获取与当前节点设置同一分类分组的节点
|
|
|
List<ArchiveTree> listGroup= baseMapper.selectList(Wrappers.<ArchiveTree>lambdaQuery()
|
|
|
.eq(ArchiveTree::getArchiveAutoGroupId, archiveTree.getArchiveAutoGroupId())
|
|
@@ -733,9 +740,10 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
for(ArchiveTree node:listGroup){
|
|
|
nodeSelect.append(node.getId()+",");
|
|
|
}
|
|
|
- map.put("type",archiveAutoType);
|
|
|
+ map.put("archiveAutoType",archiveAutoType);
|
|
|
+ map.put("archiveAutoGroupId",archiveTree.getArchiveAutoGroupId());
|
|
|
map.put("tree",nodetree);
|
|
|
- map.put("data",nodeSelect.toString());
|
|
|
+ map.put("selectNodeIds",nodeSelect.toString());
|
|
|
return map;
|
|
|
}
|
|
|
if(archiveAutoType==3){
|
|
@@ -744,6 +752,9 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
String ancestors = archiveTree.getAncestors();
|
|
|
String[] ancestorssplit = ancestors.split(",");//全路径ID
|
|
|
for(String pId:ancestorssplit){
|
|
|
+ if(pId.equals("0")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
long pIdLong = Long.parseLong(pId);
|
|
|
ArchiveTree pIdNode = baseMapper.selectById(pIdLong);
|
|
|
allName.append(pIdNode.getNodeName()+"/");
|