Jelajahi Sumber

个人中心-回收站-恢复功能调整(未完成)

LHB 1 bulan lalu
induk
melakukan
3190ca45f5

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsTreeContractClient.java

@@ -202,4 +202,7 @@ public interface WbsTreeContractClient {
 
     @GetMapping(API_PREFIX + "/get-ekey")
     EKeyDto getEKey(@RequestParam String contractId, @RequestParam Long pKeyId, @RequestParam String wbsId);
+
+    @GetMapping(API_PREFIX + "/findIsExistTreeNode")
+    List<String> findIsExistTreeNode(List<String> processNodeList);
 }

+ 4 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/RecycleBinController.java

@@ -75,6 +75,9 @@ public class RecycleBinController extends BladeController {
                 List<String> processNodeList = new ArrayList<>();
                 this.foreachQueryData(nodeTypeList, recycleBinIds, processNodeList);
                 try {
+                    //筛选出项目级存在的节点
+                    processNodeList = this.wbsTreeContractClient.findIsExistTreeNode(processNodeList);
+
                     //恢复数据
                     if (processNodeList.size() > 0) {
                         regainNode = this.wbsTreeContractClient.regainRemoveTreeByPrimaryKeyIds(processNodeList);
@@ -123,7 +126,7 @@ public class RecycleBinController extends BladeController {
 
     private void foreachQueryData(List<RecycleBin> recycleList, List<String> recycleBinIds, List<String> result) {
         for (RecycleBin recycleBin : recycleList) {
-            if (StringUtils.isNotEmpty(recycleBin.getBusinessId())) {
+            if (StringUtils.isNotEmpty(recycleBin.getBusinessId()) && recycleBin.getStatus() == 1) {
                 if (recycleBin.getBusinessId().contains(",")) {
                     result.addAll(new ArrayList<>(Arrays.asList(recycleBin.getBusinessId().split(","))));
                 } else {

+ 5 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java

@@ -491,5 +491,10 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
         return wbsTreeContractService.getEKey(contractId,pKeyId,wbsId);
     }
 
+    @Override
+    public List<String> findIsExistTreeNode(List<String> ids) {
+        return wbsTreeContractService.findIsExistTreeNode(ids);
+    }
+
 
 }

+ 11 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java

@@ -146,4 +146,15 @@ public interface WbsTreeContractMapper extends EasyBaseMapper<WbsTreeContract> {
     void updateSortNotIsUseSort(@Param("type") int type,
                                 @Param("projectId") Long projectId,
                                 @Param("pKeyId") Long pKeyId);
+
+    void updateSortByPId(@Param("pId") Long pId,
+                         @Param("sort") Integer sort);
+
+    /**
+     * 批量修改排序
+     * @param resourceData
+     */
+    void updateSortBatchByPKeyId(List<WbsTreeContract> resourceData);
+
+    List<String> findIsExistTreeNode(List<String> ids);
 }

+ 9 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -953,5 +953,14 @@
           AND wtc.wbs_id = #{wbsId}
           AND wtc.is_deleted = 0;
     </select>
+    <select id="findIsExistTreeNode" resultType="java.lang.String">
+        SELECT a.p_key_id FROM `m_wbs_tree_contract` a
+        left join m_wbs_tree_private b on a.is_type_private_pid = b.p_key_id
+        where a.p_key_id in
+          <foreach collection="list" item="item" open="(" close=")" separator=",">
+              #{item}
+          </foreach>
+        and b.p_key_id is not null and b.is_deleted = 0
+    </select>
 
 </mapper>

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java

@@ -88,4 +88,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
     List<WbsTreeContract> getNodeTyp6(Long pKeyId);
 
     EKeyDto getEKey(String contractId, Long pKeyId, String wbsId);
+
+    List<String> findIsExistTreeNode(List<String> ids);
 }

+ 6 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -2773,6 +2773,12 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return baseMapper.getEKey(contractId,pKeyId,wbsId);
     }
 
+
+    @Override
+    public List<String> findIsExistTreeNode(List<String> ids) {
+        return baseMapper.findIsExistTreeNode(ids);
+    }
+
     /**
      * 展开所有合并单元格并将值填充到每个单元格
      * @param sheet Excel工作表