|
@@ -3217,6 +3217,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public boolean copyNode(List<String> leftIds, List<String> rightIds) {
|
|
|
List<WbsTreePrivate> leftLists = baseMapper.selectAllChildNode(leftIds);
|
|
|
for (String rightId : rightIds) {
|
|
@@ -3230,7 +3231,27 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
})
|
|
|
.collect(Collectors.toList());
|
|
|
WbsTreePrivate rightWbsTreePrivate = baseMapper.getByPKeyId(Long.parseLong(rightId));
|
|
|
-
|
|
|
+ Integer rightNodeType = rightWbsTreePrivate.getNodeType();
|
|
|
+ if (rightNodeType == 1) {
|
|
|
+ rightNodeType=1;
|
|
|
+ }else if(rightNodeType==18){
|
|
|
+ rightNodeType=2;
|
|
|
+ }else {
|
|
|
+ rightNodeType=rightNodeType++;
|
|
|
+ }
|
|
|
+ for (WbsTreePrivate leftList : leftLists) {
|
|
|
+ Integer leftType=leftList.getNodeType();
|
|
|
+ if(leftType==1){
|
|
|
+ leftType=1;
|
|
|
+ }else if(leftType==18){
|
|
|
+ leftType=2;
|
|
|
+ }else {
|
|
|
+ leftType=leftType++;
|
|
|
+ }
|
|
|
+ if(leftType<=rightNodeType){
|
|
|
+ throw new ServiceException(leftList.getNodeName()+"不能复制到"+rightWbsTreePrivate.getNodeName()+",原因节点类型不能复制");
|
|
|
+ }
|
|
|
+ }
|
|
|
// 找到leftLists中所有的根节点(没有在leftLists中作为子节点出现的节点)
|
|
|
Set<Long> allPIds = workingList.stream()
|
|
|
.map(WbsTreePrivate::getPId)
|