1
0
chenendian 2 месяцев назад
Родитель
Сommit
b87b085b1b

+ 16 - 4
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/ProjectController.java

@@ -5,10 +5,7 @@ import com.alibaba.fastjson2.JSONArray;
 import com.siwei.apply.domain.Project;
 import com.siwei.apply.domain.res.ProjectCycleRes;
 import com.siwei.apply.domain.res.ProjectOverviewRes;
-import com.siwei.apply.domain.vo.IdsVo;
-import com.siwei.apply.domain.vo.ProjectFilterVo;
-import com.siwei.apply.domain.vo.ProjectUpdateVo;
-import com.siwei.apply.domain.vo.ProjectVo;
+import com.siwei.apply.domain.vo.*;
 import com.siwei.apply.service.ProjectService;
 import com.siwei.common.core.domain.R;
 import com.siwei.common.core.web.controller.BaseController;
@@ -198,4 +195,19 @@ public class ProjectController extends BaseController {
 
 
 
+    @DeleteMapping("oneNode")
+    public R<Void> DeleteNode(@RequestBody NodeVo nodeVo) {
+        try {
+            if (nodeVo == null || nodeVo.getNodeId() == null || nodeVo.getProjectId()== null || nodeVo.getTableName()== null) {
+                return R.fail("删除的项目ID列表不能为空");
+            }
+            projectService.deleteOneNode(nodeVo);
+            return R.ok();
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+
+
 }

+ 10 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/vo/NodeVo.java

@@ -0,0 +1,10 @@
+package com.siwei.apply.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class NodeVo {
+    private String projectId;      //项目id
+    private String nodeId;      //流程id
+    private String tableName;    //表标识
+}

+ 4 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/ProjectMapper.java

@@ -69,5 +69,9 @@ public interface ProjectMapper {
 
     Integer getSearchCount(ProjectFilterVo projectFilterVo);
 
+    Integer deleteNodeByTable(@Param("nodeId")String nodeId,@Param("tableName") String tableName);
+
+
+
 
 }

+ 3 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/ProjectWorkflowMapper.java

@@ -70,4 +70,7 @@ public interface ProjectWorkflowMapper {
      */
     void update(ProjectWorkflow projectWorkflow);
 
+    void deleteById(String id);
+
+
 }

+ 6 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/ProjectService.java

@@ -5,9 +5,11 @@ import com.siwei.apply.domain.Project;
 import com.siwei.apply.domain.ProjectWorkflow;
 import com.siwei.apply.domain.res.ProjectCycleRes;
 import com.siwei.apply.domain.res.ProjectOverviewRes;
+import com.siwei.apply.domain.vo.NodeVo;
 import com.siwei.apply.domain.vo.ProjectFilterVo;
 import com.siwei.apply.domain.vo.ProjectUpdateVo;
 import com.siwei.apply.domain.vo.ProjectVo;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.util.List;
@@ -77,6 +79,10 @@ public interface ProjectService {
 
     ProjectWorkflow getProjectWorkflowByNodeId(String projectId, String nodeId);
 
+    void deleteOneNode(NodeVo nodeVo) ;
+
+
+
     void testData() ;
 
 }

+ 13 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/ProjectImpl.java

@@ -7,6 +7,7 @@ import com.siwei.apply.domain.NodeAttachment;
 import com.siwei.apply.domain.Project;
 import com.siwei.apply.domain.ProjectWorkflow;
 import com.siwei.apply.domain.res.*;
+import com.siwei.apply.domain.vo.NodeVo;
 import com.siwei.apply.domain.vo.ProjectFilterVo;
 import com.siwei.apply.domain.vo.ProjectUpdateVo;
 import com.siwei.apply.domain.vo.ProjectVo;
@@ -340,6 +341,18 @@ public class ProjectImpl implements ProjectService {
     }
 
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteOneNode(NodeVo nodeVo) {
+        // 1.删除 flow 表,2.删除当前节点数据;
+        List<ProjectWorkflow> projectWorkflows = projectWorkflowMapper.selectByProjectIdAndNodeTableName(nodeVo.getProjectId(), nodeVo.getTableName());
+        if (projectWorkflows != null && !projectWorkflows.isEmpty()) {
+            String id = projectWorkflows.get(0).getId();
+            projectWorkflowMapper.deleteById(id);
+        }
+        projectMapper.deleteNodeByTable(nodeVo.getNodeId(),  nodeVo.getTableName());
+    }
+
 
         /**
          * 递归解析json文件数据

+ 8 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/ProjectMapper.xml

@@ -197,4 +197,12 @@
             </if>
         </where>
     </select>
+
+    <delete id="deleteNodeByTable">
+        DELETE FROM ${tableName}
+        WHERE id = #{nodeId}
+    </delete>
+
+
+
 </mapper>

+ 6 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/ProjectWorkflowMapper.xml

@@ -200,4 +200,10 @@
         WHERE id = #{id}
     </update>
 
+    <delete id="deleteById">
+        DELETE FROM t_project_workflow
+        WHERE id =   #{id}
+    </delete>
+
+
 </mapper>