瀏覽代碼

分配wbs树

liuyc 2 年之前
父節點
當前提交
ce3fd2343d

+ 10 - 19
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -753,7 +753,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                             List<String> names = contractInfoArrayList.stream().distinct().map(ContractInfo::getContractName).collect(Collectors.toList());
                             if (wbsTreeContractList.size() > 0) {
                                 String join = StringUtils.join(names, ",");
-                                throw new ServiceException(StringUtil.format("当前项目wbs树的节点已被 {} 引用中,删除失败", join));
+                                return R.fail(400, StringUtil.format("当前项目wbs树的节点已被 {} 引用中,删除失败", join));
                             }
                         }
 
@@ -787,7 +787,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     if (saveIds.size() >= 1000) {
                         String redisValue = bladeRedis.get("submit-wbs-project:" + pawDTO.getProjectId());
                         if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
-                            throw new ServiceException("请勿重复提交,请60秒后再尝试");
+                            return R.fail(400, "请勿重复提交,请60秒后再尝试");
                         }
                     }
 
@@ -824,27 +824,18 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                     } else if (pawDTO.getReferenceType().equals("private")) {
                         List<WbsTreePrivate> addListData = new ArrayList<>();
 
-                        //获取当前树下所有节点、表信息(type=10独立表)
+                        /*//获取当前树下所有节点、表信息(type=10独立表)
+                        List<WbsTreePrivate> wbsTreePrivatesNodeAndTab = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getStatus, 1).eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId()).eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId()).and(obj -> obj.eq(WbsTreePrivate::getType, 1).or().eq(WbsTreePrivate::getType, 2)));
+                        List<WbsTreePrivate> wbsTreePrivatesTableDLOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getStatus, 1).eq(WbsTreePrivate::getParentId, -10).isNull(WbsTreePrivate::getWbsId));
+                        wbsTreePrivatesNodeAndTab.addAll(wbsTreePrivatesTableDLOld);*/
+
                         List<WbsTreePrivate> wbsTreePrivatesNodeAndTab = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
                                 .eq(WbsTreePrivate::getStatus, 1)
                                 .eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId())
-                                .eq(WbsTreePrivate::getWbsId, pawDTO.getWbsId())
-                                .and(obj -> obj.eq(WbsTreePrivate::getType, 1).or().eq(WbsTreePrivate::getType, 2))
-                        );
-                        List<WbsTreePrivate> wbsTreePrivatesTableDLOld = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
-                                .eq(WbsTreePrivate::getProjectId, pawDTO.getReferencePrivateWbsProjectId())
-                                .eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getStatus, 1)
-                                .eq(WbsTreePrivate::getParentId, -10).isNull(WbsTreePrivate::getWbsId));
-
-                        wbsTreePrivatesNodeAndTab.addAll(wbsTreePrivatesTableDLOld);
+                                .apply("((wbs_id = '" + pawDTO.getWbsId() + "' AND (type = 1 OR type = 2)) OR (wbs_id IS NULL AND type = 10 AND parent_id = -10))"));
 
                         //获取当前项目下的所有独立表
-                        List<WbsTreePrivate> wbsTreePrivatesTableDL = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery()
-                                .select(WbsTreePrivate::getId)
-                                .eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId())
-                                .eq(WbsTreePrivate::getType, 10)
-                                .eq(WbsTreePrivate::getParentId, -10)
-                                .eq(WbsTreePrivate::getStatus, 1));
+                        List<WbsTreePrivate> wbsTreePrivatesTableDL = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().select(WbsTreePrivate::getId).eq(WbsTreePrivate::getProjectId, pawDTO.getProjectId()).eq(WbsTreePrivate::getType, 10).eq(WbsTreePrivate::getParentId, -10).eq(WbsTreePrivate::getStatus, 1));
 
                         for (WbsTreePrivate wbsTreePrivate : wbsTreePrivatesNodeAndTab) {
                             if (wbsTreePrivate.getType() == 1 || wbsTreePrivate.getType() == 2) {
@@ -917,7 +908,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                         }
 
                         //异步修改htmlUrl
-                        //wbsTreePrivateService.batchResetHtmlUrl(insertData2);
+                        wbsTreePrivateService.batchResetHtmlUrl(insertData2);
 
                         //修改状态
                         if (pawDTO.getWbsType() == 1) {