liuyc 2 ani în urmă
părinte
comite
67596e182c

+ 23 - 20
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -2569,25 +2569,25 @@ public class InformationWriteQueryController extends BladeController {
         //获取被删除节点名称
         //String nodeName = StringUtils.isNotEmpty(removeNode.getFullName()) ? removeNode.getFullName() : removeNode.getNodeName() + "," + removeNodeList.stream().map(wbs -> StringUtils.isNotEmpty(wbs.getFullName()) ? wbs.getFullName() : wbs.getNodeName()).collect(Collectors.joining());
 
-//        //获取当前节点下所有填报节点
-//        List<QueryProcessDataVO> queryProcess = new ArrayList<>();
-//        if (!Arrays.asList("1,2,3,4".split(",")).contains(removeNode.getMajorDataType().toString())) {
-//            queryProcess = this.informationQueryService.queryProcessDataByParentIdAndContractId2(removeNode.getId().toString(), 1, removeNode.getContractId());
-//            if (queryProcess == null || queryProcess.size() == 0) {
-//                //填报节点
-//                queryProcess = this.informationQueryService.queryProcessDataByPrimaryKeyIdAndClassify(removeNode.getPKeyId().toString(), 1);
-//            }
-//        }
-//
-//        if (queryProcess != null && queryProcess.size() > 0) {
-//            //检查这些填报节点是否存在已经审批或已经上报的节点,如果存在则不允许删除
-//            List<QueryProcessDataVO> approvalList = queryProcess.stream().filter(vo -> new Integer("2").equals(vo.getStatus()) && vo.getInformationQueryId() != null).collect(Collectors.toList());
-//            List<QueryProcessDataVO> runTaskList = queryProcess.stream().filter(vo -> new Integer("1").equals(vo.getStatus()) && vo.getInformationQueryId() != null).collect(Collectors.toList());
-//            if (approvalList.size() > 0 || runTaskList.size() > 0) {
-//                //说明存在已经审批或已经上报的节点,不允许删除
-//                return R.data(300, false, "存在已经上报或审批的节点,不允许删除");
-//            }
-//        }
+        //获取当前节点下所有填报节点
+        /*List<QueryProcessDataVO> queryProcess = new ArrayList<>();
+        if (!Arrays.asList("1,2,3,4".split(",")).contains(removeNode.getMajorDataType().toString())) {
+            queryProcess = this.informationQueryService.queryProcessDataByParentIdAndContractId2(removeNode.getId().toString(), 1, removeNode.getContractId());
+            if (queryProcess == null || queryProcess.size() == 0) {
+                //填报节点
+                queryProcess = this.informationQueryService.queryProcessDataByPrimaryKeyIdAndClassify(removeNode.getPKeyId().toString(), 1);
+            }
+        }
+
+        if (queryProcess != null && queryProcess.size() > 0) {
+            //检查这些填报节点是否存在已经审批或已经上报的节点,如果存在则不允许删除
+            List<QueryProcessDataVO> approvalList = queryProcess.stream().filter(vo -> new Integer("2").equals(vo.getStatus()) && vo.getInformationQueryId() != null).collect(Collectors.toList());
+            List<QueryProcessDataVO> runTaskList = queryProcess.stream().filter(vo -> new Integer("1").equals(vo.getStatus()) && vo.getInformationQueryId() != null).collect(Collectors.toList());
+            if (approvalList.size() > 0 || runTaskList.size() > 0) {
+                //说明存在已经审批或已经上报的节点,不允许删除
+                return R.data(300, false, "存在已经上报或审批的节点,不允许删除");
+            }
+        }*/
 
         //保存操作记录
         List<String> idArray = JSONArray.parseArray(JSONObject.toJSONString(ids.split(",")), String.class);
@@ -2607,7 +2607,10 @@ public class InformationWriteQueryController extends BladeController {
 
         //保存进回收站
         this.recycleBinClient.saveDelBusinessData(idArray, StringUtils.isNotEmpty(removeNode.getFullName()) ? removeNode.getFullName() : removeNode.getNodeName(), 2, parentNodeName.toString(), removeNode.getProjectId(), removeNode.getContractId());
+
+        //改为物理删除
         Boolean aBoolean = this.wbsTreeContractClient.removeContractTreeNode(idArray);
+
         //更新redis
         //this.informationQueryService.AsyncWbsTree(removeNode.getParentId() + "", removeNode.getParentId() + "", removeNode.getContractId(), "", "1");
         this.informationQueryService.delAsyncWbsTree(removeNode.getContractId());
@@ -2848,7 +2851,7 @@ public class InformationWriteQueryController extends BladeController {
         List<WbsTreeContract> selectedNodeList = jdbcTemplate.query("select * from m_wbs_tree_contract where status = 1 and is_deleted = 0 and p_key_id in(" + StringUtils.join(halfSelectedList, ",") + ")", new BeanPropertyRowMapper<>(WbsTreeContract.class));
 
         //剔除与当前操作节点相同的ID,(如果saveType=1,表示当前及子级节点,那么就要剔除自己本身,否则视为仅当前节点操作,会存在自己本身)
-        if ("1".equals(saveType)){
+        if ("1".equals(saveType)) {
             //selectedNodeList.removeIf(wbsTreePrivate -> treeContract.getId().equals(wbsTreePrivate.getId()) || treeContract.getOldId().equals(wbsTreePrivate.getId().toString()));
             selectedNodeList.removeIf(wbsTreePrivate -> {
                 Long id = wbsTreePrivate.getId();

+ 6 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java

@@ -158,7 +158,12 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
 
     @Override
     public Boolean removeContractTreeNode(List<String> ids) {
-        return this.wbsTreeContractService.update(Wrappers.<WbsTreeContract>lambdaUpdate().set(WbsTreeContract::getIsDeleted, 1).in(WbsTreeContract::getPKeyId, ids));
+        if (ids.size() > 0) {
+            jdbcTemplate.execute("delete from m_wbs_tree_contract where p_key_id in(" + org.apache.commons.lang.StringUtils.join(ids, ",") + ")");
+            return true;
+        }
+        return false;
+        //return this.wbsTreeContractService.update(Wrappers.<WbsTreeContract>lambdaUpdate().set(WbsTreeContract::getIsDeleted, 1).in(WbsTreeContract::getPKeyId, ids));
     }
 
     @Override