allen 2 tahun lalu
induk
melakukan
b5e59924b2

+ 3 - 3
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractByHandController.java

@@ -106,10 +106,10 @@ public class ExtractByHandController extends BaseController
 
     @PreAuthorize("@ss.hasPermi('suport:hand:add')")
     @Log(title = "手动构建", businessType = BusinessType.INSERT)
-    @PostMapping("/submitBySubTask")
-    public AjaxResult submitBySubTask(@RequestBody List<ExtractByHandDTO> extractByHandList)
+    @PostMapping("/submitBySubTask/{isApprove}")
+    public AjaxResult submitBySubTask(@RequestBody List<ExtractByHandDTO> extractByHandList, @PathVariable Boolean isApprove)
     {
-        return toAjax(extractByHandService.submitBySubTask(extractByHandList));
+        return success(extractByHandService.submitBySubTask(extractByHandList, isApprove));
     }
 
     @PreAuthorize("@ss.hasPermi('suport:hand:add')")

+ 1 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/dto/ExtractByHandDetailDTO.java

@@ -9,6 +9,7 @@ import java.util.List;
  */
 @Data
 public class ExtractByHandDetailDTO {
+    private Long id;
     private Long handId;
     private Long entityClassId;
     private List<String> entityList;

+ 2 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractByHandMapper.java

@@ -60,4 +60,6 @@ public interface ExtractByHandMapper
     public int deleteExtractByHandByIds(Long[] ids);
 
     List<ExtractByHand> getExtractByHandBySubtaskId(Long subTaskId);
+
+    void deleteHandAndDetailBySubTaskId(Long subTaskId);
 }

+ 1 - 1
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractByHandService.java

@@ -60,7 +60,7 @@ public interface IExtractByHandService
      */
     public int deleteExtractByHandById(Long id);
 
-    int submitBySubTask(List<ExtractByHandDTO> extractByHandList);
+    List<ExtractByHandDTO> submitBySubTask(List<ExtractByHandDTO> extractByHandList, Boolean isApprove);
 
     List<ExtractByHandDTO> getExtractByHandBySubtaskId(Long subTaskId);
 }

+ 19 - 8
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractByHandServiceImpl.java

@@ -113,14 +113,18 @@ public class ExtractByHandServiceImpl implements IExtractByHandService
 
     @Override
     @Transactional
-    public int submitBySubTask(List<ExtractByHandDTO> extractByHandList) {
+    public List<ExtractByHandDTO> submitBySubTask(List<ExtractByHandDTO> extractByHandList, Boolean isApprove) {
         List<ExtractByHand> extractByHands = ExtractByHandUtils.dto2Domain(extractByHandList);
-        int returnValue = 0;
-        if(CollectionUtils.isNotEmpty(extractByHands)){
+        // 每次进来先删除之前的数据
+        Long subTaskId = extractByHands.get(0).getSubTaskId();
+        deleteHandAndDetailBySubTaskId(subTaskId);
+
+        if (CollectionUtils.isNotEmpty(extractByHands)) {
             for (ExtractByHand extractByHand : extractByHands) {
-                returnValue = returnValue + insertExtractByHand(extractByHand);
+                extractByHand.setId(null);
+                insertExtractByHand(extractByHand);
                 List<ExtractByHandDetail> details = extractByHand.getDetails();
-                if(CollectionUtils.isNotEmpty(details)){
+                if (CollectionUtils.isNotEmpty(details)) {
                     for (ExtractByHandDetail detail : details) {
                         detail.setHandId(extractByHand.getId());
                         extractByHandDetailService.insertExtractByHandDetail(detail);
@@ -128,9 +132,16 @@ public class ExtractByHandServiceImpl implements IExtractByHandService
                 }
             }
         }
-        subTaskService.updateSubTaskStatusById(extractByHands.get(0).getSubTaskId(), ExtractKnowledgeSubTask.DOWN,"");
-        kgService.save2Neo4j(extractByHandList);
-        return returnValue;
+        if (isApprove) {
+            subTaskService.updateSubTaskStatusById(subTaskId, ExtractKnowledgeSubTask.DOWN, "");
+            kgService.save2Neo4j(extractByHandList);
+        }
+
+        return getExtractByHandBySubtaskId(subTaskId);
+    }
+
+    private void deleteHandAndDetailBySubTaskId(Long subTaskId) {
+        extractByHandMapper.deleteHandAndDetailBySubTaskId(subTaskId);
     }
 
     @Override

+ 5 - 0
kgraph-graph/src/main/resources/mapper/suport/ExtractByHandMapper.xml

@@ -89,4 +89,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <delete id="deleteHandAndDetailBySubTaskId" parameterType="Long">
+        delete from t_extract_by_hand_detail where hand_id in (select id from t_extract_by_hand where sub_task_id = #{subTaskId});
+        delete from t_extract_by_hand where sub_task_id = #{subTaskId};
+    </delete>
 </mapper>