allen преди 2 години
родител
ревизия
6ee0f2c054
променени са 23 файла, в които са добавени 1225 реда и са изтрити 47 реда
  1. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/EncyclopediaController.java
  2. 24 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/common/CommonController.java
  3. 18 4
      kgraph-admin/src/main/java/com/kgraph/web/domain/Breakdown.java
  4. 83 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/Encyclopedia.java
  5. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/EncyclopediaMapper.java
  6. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IEncyclopediaService.java
  7. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/EncyclopediaServiceImpl.java
  8. 81 0
      kgraph-admin/src/main/resources/mapper/repair/EncyclopediaMapper.xml
  9. 6 1
      kgraph-admin/src/main/resources/mapper/showInfo/BreakdownMapper.xml
  10. 5 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/DTO/TextDto.java
  11. 27 18
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeSubTaskController.java
  12. 114 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractResultController.java
  13. 69 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractResult.java
  14. 63 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractResultMapper.java
  15. 5 1
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeSubTaskService.java
  16. 65 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractResultService.java
  17. 56 4
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeSubTaskServiceImpl.java
  18. 109 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractResultServiceImpl.java
  19. 82 0
      kgraph-graph/src/main/resources/mapper/extract/ExtractResultMapper.xml
  20. 15 0
      sql/system.sql
  21. 16 0
      sql/update20030417.sql
  22. 0 19
      sql/update20230419.sql
  23. 65 0
      sql/update20230420.sql

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/EncyclopediaController.java

@@ -0,0 +1,104 @@
+package com.kgraph.web.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.web.domain.Encyclopedia;
+import com.kgraph.web.service.IEncyclopediaService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 维修百科Controller
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+@RestController
+@RequestMapping("/repair/encyclopedia")
+public class EncyclopediaController extends BaseController
+{
+    @Autowired
+    private IEncyclopediaService encyclopediaService;
+
+    /**
+     * 查询维修百科列表
+     */
+    @PreAuthorize("@ss.hasPermi('repair:encyclopedia:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Encyclopedia encyclopedia)
+    {
+        startPage();
+        List<Encyclopedia> list = encyclopediaService.selectEncyclopediaList(encyclopedia);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出维修百科列表
+     */
+    @PreAuthorize("@ss.hasPermi('repair:encyclopedia:export')")
+    @Log(title = "维修百科", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, Encyclopedia encyclopedia)
+    {
+        List<Encyclopedia> list = encyclopediaService.selectEncyclopediaList(encyclopedia);
+        ExcelUtil<Encyclopedia> util = new ExcelUtil<Encyclopedia>(Encyclopedia.class);
+        util.exportExcel(response, list, "维修百科数据");
+    }
+
+    /**
+     * 获取维修百科详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('repair:encyclopedia:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(encyclopediaService.selectEncyclopediaById(id));
+    }
+
+    /**
+     * 新增维修百科
+     */
+    @PreAuthorize("@ss.hasPermi('repair:encyclopedia:add')")
+    @Log(title = "维修百科", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody Encyclopedia encyclopedia)
+    {
+        return toAjax(encyclopediaService.insertEncyclopedia(encyclopedia));
+    }
+
+    /**
+     * 修改维修百科
+     */
+    @PreAuthorize("@ss.hasPermi('repair:encyclopedia:edit')")
+    @Log(title = "维修百科", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody Encyclopedia encyclopedia)
+    {
+        return toAjax(encyclopediaService.updateEncyclopedia(encyclopedia));
+    }
+
+    /**
+     * 删除维修百科
+     */
+    @PreAuthorize("@ss.hasPermi('repair:encyclopedia:remove')")
+    @Log(title = "维修百科", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(encyclopediaService.deleteEncyclopediaByIds(ids));
+    }
+}

+ 24 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/common/CommonController.java

@@ -1,7 +1,9 @@
 package com.kgraph.web.controller.common;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -99,6 +101,28 @@ public class CommonController
         }
     }
 
+    @PostMapping("/wangEditorUpload")
+    public AjaxResult wangEditorUpload(MultipartFile file) throws Exception {
+        try {
+            // 上传文件路径
+            String filePath = KgraphConfig.getUploadPath();
+            // 上传并返回新文件名称
+            String fileName = FileUploadUtils.upload(filePath, file);
+            String url = serverConfig.getUrl() + fileName;
+            AjaxResult ajax = AjaxResult.success();
+            Map<String, String> data = new HashMap<>();
+            data.put("url", url);
+            ajax.put("data", data);
+            ajax.put("errno", 0);
+            return ajax;
+        } catch (Exception e) {
+            AjaxResult error = AjaxResult.error(e.getMessage());
+            error.put("message", e.getMessage());
+            error.put("errno", 1);
+            return error;
+        }
+    }
+
     /**
      * 通用上传请求(多个)
      */

+ 18 - 4
kgraph-admin/src/main/java/com/kgraph/web/domain/Breakdown.java

@@ -24,8 +24,8 @@ public class Breakdown extends BaseEntity
     @Excel(name = "战区")
     private String warZone;
 
-    /** 大练基地 */
-    @Excel(name = "大练基地")
+    /** 基地 */
+    @Excel(name = "基地")
     private String base;
 
     /** 师 */
@@ -69,8 +69,8 @@ public class Breakdown extends BaseEntity
     @Excel(name = "故障件名称")
     private String breakdownUnitName;
 
-    /** 故障件型 */
-    @Excel(name = "故障件型")
+    /** 故障件型 */
+    @Excel(name = "故障件型")
     private String breakdownUnitType;
 
     /** 故障件号码 */
@@ -85,6 +85,10 @@ public class Breakdown extends BaseEntity
     @Excel(name = "故障后果")
     private String consequence;
 
+    /** 故障责任 */
+    @Excel(name = "故障责任")
+    private String duty;
+
     /** 故换件名称 */
     @Excel(name = "故换件名称")
     private String replaceUnitName;
@@ -259,6 +263,15 @@ public class Breakdown extends BaseEntity
     {
         return consequence;
     }
+    public void setDuty(String duty) 
+    {
+        this.duty = duty;
+    }
+
+    public String getDuty() 
+    {
+        return duty;
+    }
     public void setReplaceUnitName(String replaceUnitName) 
     {
         this.replaceUnitName = replaceUnitName;
@@ -325,6 +338,7 @@ public class Breakdown extends BaseEntity
             .append("breakdownUnitNumber", getBreakdownUnitNumber())
             .append("unitSystem", getUnitSystem())
             .append("consequence", getConsequence())
+            .append("duty", getDuty())
             .append("replaceUnitName", getReplaceUnitName())
             .append("replaceUnitType", getReplaceUnitType())
             .append("replaceUnitNumber", getReplaceUnitNumber())

+ 83 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/Encyclopedia.java

@@ -0,0 +1,83 @@
+package com.kgraph.web.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 维修百科对象 t_encyclopedia
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+public class Encyclopedia extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 标题 */
+    @Excel(name = "标题")
+    private String title;
+
+    /** 描述 */
+    @Excel(name = "描述")
+    private String desc;
+
+    /** 文本内容 */
+    @Excel(name = "文本内容")
+    private String text;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setTitle(String title) 
+    {
+        this.title = title;
+    }
+
+    public String getTitle() 
+    {
+        return title;
+    }
+    public void setDesc(String desc) 
+    {
+        this.desc = desc;
+    }
+
+    public String getDesc() 
+    {
+        return desc;
+    }
+    public void setText(String text) 
+    {
+        this.text = text;
+    }
+
+    public String getText() 
+    {
+        return text;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("title", getTitle())
+            .append("desc", getDesc())
+            .append("text", getText())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 61 - 0
kgraph-admin/src/main/java/com/kgraph/web/mapper/EncyclopediaMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.Encyclopedia;
+
+/**
+ * 维修百科Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+public interface EncyclopediaMapper 
+{
+    /**
+     * 查询维修百科
+     * 
+     * @param id 维修百科主键
+     * @return 维修百科
+     */
+    public Encyclopedia selectEncyclopediaById(Long id);
+
+    /**
+     * 查询维修百科列表
+     * 
+     * @param encyclopedia 维修百科
+     * @return 维修百科集合
+     */
+    public List<Encyclopedia> selectEncyclopediaList(Encyclopedia encyclopedia);
+
+    /**
+     * 新增维修百科
+     * 
+     * @param encyclopedia 维修百科
+     * @return 结果
+     */
+    public int insertEncyclopedia(Encyclopedia encyclopedia);
+
+    /**
+     * 修改维修百科
+     * 
+     * @param encyclopedia 维修百科
+     * @return 结果
+     */
+    public int updateEncyclopedia(Encyclopedia encyclopedia);
+
+    /**
+     * 删除维修百科
+     * 
+     * @param id 维修百科主键
+     * @return 结果
+     */
+    public int deleteEncyclopediaById(Long id);
+
+    /**
+     * 批量删除维修百科
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteEncyclopediaByIds(Long[] ids);
+}

+ 61 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/IEncyclopediaService.java

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.Encyclopedia;
+
+/**
+ * 维修百科Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+public interface IEncyclopediaService 
+{
+    /**
+     * 查询维修百科
+     * 
+     * @param id 维修百科主键
+     * @return 维修百科
+     */
+    public Encyclopedia selectEncyclopediaById(Long id);
+
+    /**
+     * 查询维修百科列表
+     * 
+     * @param encyclopedia 维修百科
+     * @return 维修百科集合
+     */
+    public List<Encyclopedia> selectEncyclopediaList(Encyclopedia encyclopedia);
+
+    /**
+     * 新增维修百科
+     * 
+     * @param encyclopedia 维修百科
+     * @return 结果
+     */
+    public int insertEncyclopedia(Encyclopedia encyclopedia);
+
+    /**
+     * 修改维修百科
+     * 
+     * @param encyclopedia 维修百科
+     * @return 结果
+     */
+    public int updateEncyclopedia(Encyclopedia encyclopedia);
+
+    /**
+     * 批量删除维修百科
+     * 
+     * @param ids 需要删除的维修百科主键集合
+     * @return 结果
+     */
+    public int deleteEncyclopediaByIds(Long[] ids);
+
+    /**
+     * 删除维修百科信息
+     * 
+     * @param id 维修百科主键
+     * @return 结果
+     */
+    public int deleteEncyclopediaById(Long id);
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/EncyclopediaServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.web.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.web.mapper.EncyclopediaMapper;
+import com.kgraph.web.domain.Encyclopedia;
+import com.kgraph.web.service.IEncyclopediaService;
+
+/**
+ * 维修百科Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+@Service
+public class EncyclopediaServiceImpl implements IEncyclopediaService 
+{
+    @Autowired
+    private EncyclopediaMapper encyclopediaMapper;
+
+    /**
+     * 查询维修百科
+     * 
+     * @param id 维修百科主键
+     * @return 维修百科
+     */
+    @Override
+    public Encyclopedia selectEncyclopediaById(Long id)
+    {
+        return encyclopediaMapper.selectEncyclopediaById(id);
+    }
+
+    /**
+     * 查询维修百科列表
+     * 
+     * @param encyclopedia 维修百科
+     * @return 维修百科
+     */
+    @Override
+    public List<Encyclopedia> selectEncyclopediaList(Encyclopedia encyclopedia)
+    {
+        return encyclopediaMapper.selectEncyclopediaList(encyclopedia);
+    }
+
+    /**
+     * 新增维修百科
+     * 
+     * @param encyclopedia 维修百科
+     * @return 结果
+     */
+    @Override
+    public int insertEncyclopedia(Encyclopedia encyclopedia)
+    {
+        encyclopedia.setCreateTime(DateUtils.getNowDate());
+        return encyclopediaMapper.insertEncyclopedia(encyclopedia);
+    }
+
+    /**
+     * 修改维修百科
+     * 
+     * @param encyclopedia 维修百科
+     * @return 结果
+     */
+    @Override
+    public int updateEncyclopedia(Encyclopedia encyclopedia)
+    {
+        encyclopedia.setUpdateTime(DateUtils.getNowDate());
+        return encyclopediaMapper.updateEncyclopedia(encyclopedia);
+    }
+
+    /**
+     * 批量删除维修百科
+     * 
+     * @param ids 需要删除的维修百科主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEncyclopediaByIds(Long[] ids)
+    {
+        return encyclopediaMapper.deleteEncyclopediaByIds(ids);
+    }
+
+    /**
+     * 删除维修百科信息
+     * 
+     * @param id 维修百科主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEncyclopediaById(Long id)
+    {
+        return encyclopediaMapper.deleteEncyclopediaById(id);
+    }
+}

+ 81 - 0
kgraph-admin/src/main/resources/mapper/repair/EncyclopediaMapper.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.web.mapper.EncyclopediaMapper">
+    
+    <resultMap type="Encyclopedia" id="EncyclopediaResult">
+        <result property="id"    column="id"    />
+        <result property="title"    column="title"    />
+        <result property="desc"    column="desc"    />
+        <result property="text"    column="text"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectEncyclopediaVo">
+        select id, title, `desc`, text, create_by, create_time, update_by, update_time from t_encyclopedia
+    </sql>
+
+    <select id="selectEncyclopediaList" parameterType="Encyclopedia" resultMap="EncyclopediaResult">
+        select id, title, `desc`, create_by, create_time, update_by, update_time from t_encyclopedia
+        <where>  
+            <if test="title != null  and title != ''"> and title = #{title}</if>
+            <if test="desc != null  and desc != ''"> and `desc` = #{desc}</if>
+        </where>
+    </select>
+    
+    <select id="selectEncyclopediaById" parameterType="Long" resultMap="EncyclopediaResult">
+        <include refid="selectEncyclopediaVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEncyclopedia" parameterType="Encyclopedia" useGeneratedKeys="true" keyProperty="id">
+        insert into t_encyclopedia
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="title != null">title,</if>
+            <if test="desc != null">`desc`,</if>
+            <if test="text != null">text,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="title != null">#{title},</if>
+            <if test="desc != null">#{desc},</if>
+            <if test="text != null">#{text},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEncyclopedia" parameterType="Encyclopedia">
+        update t_encyclopedia
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="title != null">title = #{title},</if>
+            <if test="desc != null">`desc` = #{desc},</if>
+            <if test="text != null">text = #{text},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEncyclopediaById" parameterType="Long">
+        delete from t_encyclopedia where id = #{id}
+    </delete>
+
+    <delete id="deleteEncyclopediaByIds" parameterType="String">
+        delete from t_encyclopedia where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 6 - 1
kgraph-admin/src/main/resources/mapper/showInfo/BreakdownMapper.xml

@@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="breakdownUnitNumber"    column="breakdown_unit_number"    />
         <result property="unitSystem"    column="unit_system"    />
         <result property="consequence"    column="consequence"    />
+        <result property="duty"    column="duty"    />
         <result property="replaceUnitName"    column="replace_unit_name"    />
         <result property="replaceUnitType"    column="replace_unit_type"    />
         <result property="replaceUnitNumber"    column="replace_unit_number"    />
@@ -34,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectBreakdownVo">
-        select id, war_zone, base, division, brigade, airplane_model, air_number, discovery_timing, discovery_date, major, `describe`, reason, breakdown_unit_name, breakdown_unit_type, breakdown_unit_number, unit_system, consequence, replace_unit_name, replace_unit_type, replace_unit_number, method, repaired_date, create_by, create_time, update_by, update_time from t_breakdown
+        select id, war_zone, base, division, brigade, airplane_model, air_number, discovery_timing, discovery_date, major, `describe`, reason, breakdown_unit_name, breakdown_unit_type, breakdown_unit_number, unit_system, consequence, duty, replace_unit_name, replace_unit_type, replace_unit_number, method, repaired_date, create_by, create_time, update_by, update_time from t_breakdown
     </sql>
 
     <select id="selectBreakdownList" parameterType="Breakdown" resultMap="BreakdownResult">
@@ -56,6 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="breakdownUnitNumber != null  and breakdownUnitNumber != ''"> and breakdown_unit_number = #{breakdownUnitNumber}</if>
             <if test="unitSystem != null  and unitSystem != ''"> and unit_system = #{unitSystem}</if>
             <if test="consequence != null  and consequence != ''"> and consequence = #{consequence}</if>
+            <if test="duty != null  and duty != ''"> and duty = #{duty}</if>
             <if test="replaceUnitName != null  and replaceUnitName != ''"> and replace_unit_name like concat('%', #{replaceUnitName}, '%')</if>
             <if test="replaceUnitType != null  and replaceUnitType != ''"> and replace_unit_type = #{replaceUnitType}</if>
             <if test="replaceUnitNumber != null  and replaceUnitNumber != ''"> and replace_unit_number = #{replaceUnitNumber}</if>
@@ -88,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="breakdownUnitNumber != null">breakdown_unit_number,</if>
             <if test="unitSystem != null">unit_system,</if>
             <if test="consequence != null">consequence,</if>
+            <if test="duty != null">duty,</if>
             <if test="replaceUnitName != null">replace_unit_name,</if>
             <if test="replaceUnitType != null">replace_unit_type,</if>
             <if test="replaceUnitNumber != null">replace_unit_number,</if>
@@ -115,6 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="breakdownUnitNumber != null">#{breakdownUnitNumber},</if>
             <if test="unitSystem != null">#{unitSystem},</if>
             <if test="consequence != null">#{consequence},</if>
+            <if test="duty != null">#{duty},</if>
             <if test="replaceUnitName != null">#{replaceUnitName},</if>
             <if test="replaceUnitType != null">#{replaceUnitType},</if>
             <if test="replaceUnitNumber != null">#{replaceUnitNumber},</if>
@@ -146,6 +150,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="breakdownUnitNumber != null">breakdown_unit_number = #{breakdownUnitNumber},</if>
             <if test="unitSystem != null">unit_system = #{unitSystem},</if>
             <if test="consequence != null">consequence = #{consequence},</if>
+            <if test="duty != null">duty = #{duty},</if>
             <if test="replaceUnitName != null">replace_unit_name = #{replaceUnitName},</if>
             <if test="replaceUnitType != null">replace_unit_type = #{replaceUnitType},</if>
             <if test="replaceUnitNumber != null">replace_unit_number = #{replaceUnitNumber},</if>

+ 5 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/DTO/TextDto.java

@@ -0,0 +1,5 @@
+package com.kgraph.graph.neo4j.DTO;
+
+public class TextDto {
+    private String id;
+}

+ 27 - 18
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeSubTaskController.java

@@ -3,7 +3,9 @@ package com.kgraph.graph.suport.controller;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.kgraph.graph.neo4j.DTO.KgDocDTO;
+import com.kgraph.graph.suport.domain.ExtractResult;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -105,28 +107,35 @@ public class ExtractKnowledgeSubTaskController extends BaseController
         return toAjax(extractKnowledgeSubTaskService.deleteExtractKnowledgeSubTaskByIds(ids));
     }
 
-    @PostMapping("/saveKnowledge")
-    public AjaxResult saveKnowledge(@RequestBody KgDocDTO kgDocDTO){
-        logger.info("saveKnowledge 方法调用成功,kgDocDTO: {}", kgDocDTO);
-        if(kgDocDTO == null){
-            return AjaxResult.error("无效payload");
-        }
-
-        if(kgDocDTO.getDocInfo() == null || kgDocDTO.getDocInfo().getDocId() == null){
-            return AjaxResult.error("文件信息不能为null");
-        }
+//    @PostMapping("/saveKnowledge")
+//    public AjaxResult saveKnowledge(@RequestBody KgDocDTO kgDocDTO){
+//        logger.info("saveKnowledge 方法调用成功,kgDocDTO: {}", kgDocDTO);
+//        if(kgDocDTO == null){
+//            return AjaxResult.error("无效payload");
+//        }
+//
+//        if(kgDocDTO.getDocInfo() == null || kgDocDTO.getDocInfo().getDocId() == null){
+//            return AjaxResult.error("文件信息不能为null");
+//        }
+//
+//        if(CollectionUtils.isEmpty(kgDocDTO.getKnowledgeList())){
+////            return AjaxResult.error("没有数据");
+//            logger.info("kgDocDTO 没有数据.");
+//        }
+//        extractKnowledgeSubTaskService.saveKnowledge(kgDocDTO);
+//        return AjaxResult.success();
+//    }
 
-        if(CollectionUtils.isEmpty(kgDocDTO.getKnowledgeList())){
-//            return AjaxResult.error("没有数据");
-            logger.info("kgDocDTO 没有数据.");
-        }
-        extractKnowledgeSubTaskService.saveKnowledge(kgDocDTO);
+    @PostMapping("/saveKnowledge")
+    public AjaxResult saveKnowledge(@RequestBody JSONObject extractResult){
+        logger.info("saveKnowledge 方法调用成功,extractResult: {}", extractResult);
+        extractKnowledgeSubTaskService.saveKnowledge(extractResult);
         return AjaxResult.success();
     }
 
-    @GetMapping("/approve/{id}/{status}")
-    public AjaxResult approveSubTask(@PathVariable("id") Long id, @PathVariable("status") String status){
-        extractKnowledgeSubTaskService.approveSubTask(id, status);
+    @PostMapping("/approve/{id}/{status}")
+    public AjaxResult approveSubTask(@PathVariable("id") Long id, @PathVariable("status") String status, @RequestBody ExtractResult extractResult){
+        extractKnowledgeSubTaskService.approveSubTask(id, status, extractResult);
         return success();
     }
 

+ 114 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractResultController.java

@@ -0,0 +1,114 @@
+package com.kgraph.graph.suport.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.graph.suport.domain.ExtractResult;
+import com.kgraph.graph.suport.service.IExtractResultService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 抽取结果信息Controller
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+@RestController
+@RequestMapping("/extract/result")
+public class ExtractResultController extends BaseController
+{
+    @Autowired
+    private IExtractResultService extractResultService;
+
+    /**
+     * 查询抽取结果信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ExtractResult extractResult)
+    {
+        startPage();
+        List<ExtractResult> list = extractResultService.selectExtractResultList(extractResult);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出抽取结果信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:export')")
+    @Log(title = "抽取结果信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ExtractResult extractResult)
+    {
+        List<ExtractResult> list = extractResultService.selectExtractResultList(extractResult);
+        ExcelUtil<ExtractResult> util = new ExcelUtil<ExtractResult>(ExtractResult.class);
+        util.exportExcel(response, list, "抽取结果信息数据");
+    }
+
+    /**
+     * 获取抽取结果信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(extractResultService.selectExtractResultById(id));
+    }
+
+    /**
+     * 获取抽取结果信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:query')")
+    @GetMapping(value = "/getResultBySubTaskId/{id}")
+    public AjaxResult getResultBySubTaskId(@PathVariable("id") Long subtaskId)
+    {
+        return success(extractResultService.getResultBySubTaskId(subtaskId));
+    }
+
+    /**
+     * 新增抽取结果信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:add')")
+    @Log(title = "抽取结果信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ExtractResult extractResult)
+    {
+        return toAjax(extractResultService.insertExtractResult(extractResult));
+    }
+
+    /**
+     * 修改抽取结果信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:edit')")
+    @Log(title = "抽取结果信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ExtractResult extractResult)
+    {
+        return toAjax(extractResultService.updateExtractResult(extractResult));
+    }
+
+    /**
+     * 删除抽取结果信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:result:remove')")
+    @Log(title = "抽取结果信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(extractResultService.deleteExtractResultByIds(ids));
+    }
+}

+ 69 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractResult.java

@@ -0,0 +1,69 @@
+package com.kgraph.graph.suport.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 抽取结果信息对象 t_extract_result
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+public class ExtractResult extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 子任务id */
+    @Excel(name = "子任务id")
+    private Long subTaskId;
+
+    /** 抽取结果集 */
+    @Excel(name = "抽取结果集")
+    private String result;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSubTaskId(Long subTaskId) 
+    {
+        this.subTaskId = subTaskId;
+    }
+
+    public Long getSubTaskId() 
+    {
+        return subTaskId;
+    }
+    public void setResult(String result) 
+    {
+        this.result = result;
+    }
+
+    public String getResult() 
+    {
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("subTaskId", getSubTaskId())
+            .append("result", getResult())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 63 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractResultMapper.java

@@ -0,0 +1,63 @@
+package com.kgraph.graph.suport.mapper;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractResult;
+
+/**
+ * 抽取结果信息Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+public interface ExtractResultMapper 
+{
+    /**
+     * 查询抽取结果信息
+     * 
+     * @param id 抽取结果信息主键
+     * @return 抽取结果信息
+     */
+    public ExtractResult selectExtractResultById(Long id);
+
+    /**
+     * 查询抽取结果信息列表
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 抽取结果信息集合
+     */
+    public List<ExtractResult> selectExtractResultList(ExtractResult extractResult);
+
+    /**
+     * 新增抽取结果信息
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 结果
+     */
+    public int insertExtractResult(ExtractResult extractResult);
+
+    /**
+     * 修改抽取结果信息
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 结果
+     */
+    public int updateExtractResult(ExtractResult extractResult);
+
+    /**
+     * 删除抽取结果信息
+     * 
+     * @param id 抽取结果信息主键
+     * @return 结果
+     */
+    public int deleteExtractResultById(Long id);
+
+    /**
+     * 批量删除抽取结果信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteExtractResultByIds(Long[] ids);
+
+    ExtractResult getResultBySubTaskId(Long subtaskId);
+}

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

@@ -2,9 +2,11 @@ package com.kgraph.graph.suport.service;
 
 import java.util.List;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.kgraph.graph.neo4j.DTO.KgDocDTO;
 import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTask;
 import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+import com.kgraph.graph.suport.domain.ExtractResult;
 
 /**
  * 知识抽取子任务Service接口
@@ -70,7 +72,9 @@ public interface IExtractKnowledgeSubTaskService
 
     void saveKnowledge(KgDocDTO kgDocDTO);
 
-    void approveSubTask(Long id, String status);
+    void approveSubTask(Long id, String status, ExtractResult extractResult);
 
     void updateTaskStatusBySubTaskId(Long subTaskId);
+
+    void saveKnowledge(JSONObject extractResult);
 }

+ 65 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractResultService.java

@@ -0,0 +1,65 @@
+package com.kgraph.graph.suport.service;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractResult;
+
+/**
+ * 抽取结果信息Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+public interface IExtractResultService 
+{
+    /**
+     * 查询抽取结果信息
+     * 
+     * @param id 抽取结果信息主键
+     * @return 抽取结果信息
+     */
+    public ExtractResult selectExtractResultById(Long id);
+
+    /**
+     * 查询抽取结果信息列表
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 抽取结果信息集合
+     */
+    public List<ExtractResult> selectExtractResultList(ExtractResult extractResult);
+
+    /**
+     * 新增抽取结果信息
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 结果
+     */
+    public int insertExtractResult(ExtractResult extractResult);
+
+    /**
+     * 修改抽取结果信息
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 结果
+     */
+    public int updateExtractResult(ExtractResult extractResult);
+
+    /**
+     * 批量删除抽取结果信息
+     * 
+     * @param ids 需要删除的抽取结果信息主键集合
+     * @return 结果
+     */
+    public int deleteExtractResultByIds(Long[] ids);
+
+    /**
+     * 删除抽取结果信息信息
+     * 
+     * @param id 抽取结果信息主键
+     * @return 结果
+     */
+    public int deleteExtractResultById(Long id);
+
+    void insertExtractResult(Long subTaskId, String result);
+
+    ExtractResult getResultBySubTaskId(Long subtaskId);
+}

+ 56 - 4
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeSubTaskServiceImpl.java

@@ -1,5 +1,7 @@
 package com.kgraph.graph.suport.service.impl;
 
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
 import com.kgraph.common.core.domain.BaseResponse;
 import com.kgraph.common.core.domain.entity.SysDictData;
 import com.kgraph.common.utils.DateUtils;
@@ -9,9 +11,11 @@ import com.kgraph.graph.neo4j.DTO.KgDocDTO;
 import com.kgraph.graph.neo4j.seavice.IKgService;
 import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTask;
 import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+import com.kgraph.graph.suport.domain.ExtractResult;
 import com.kgraph.graph.suport.domain.TripletInfo;
 import com.kgraph.graph.suport.mapper.ExtractKnowledgeSubTaskMapper;
 import com.kgraph.graph.suport.service.IExtractKnowledgeSubTaskService;
+import com.kgraph.graph.suport.service.IExtractResultService;
 import com.kgraph.graph.suport.service.ITripletInfoService;
 import com.kgraph.system.service.ISysDictDataService;
 import org.apache.commons.lang3.StringUtils;
@@ -51,6 +55,9 @@ public class ExtractKnowledgeSubTaskServiceImpl implements IExtractKnowledgeSubT
     @Autowired
     private ISysDictDataService sysDictDataService;
 
+    @Autowired
+    IExtractResultService extractResultService;
+
     /**
      * 查询知识抽取子任务
      *
@@ -185,15 +192,33 @@ public class ExtractKnowledgeSubTaskServiceImpl implements IExtractKnowledgeSubT
     @Override
     @Transactional
     @Async
-    public void approveSubTask(Long id, String status) {
+    public void approveSubTask(Long id, String status, ExtractResult extractResult) {
+
+        // 更新子任务状态
         extractKnowledgeSubTaskMapper.updateSubTaskStatusById(id, status, null, null);
-        // TODO 以下逻辑可优化成异步执行
+
+        // save resultJson
+        extractResultService.updateExtractResult(extractResult);
+        String result = extractResult.getResult();
+        JSONObject extractResultJson = JSONObject.parseObject(result);
+
+        // 审批 则同步到图数据库
         if (ExtractKnowledgeSubTask.REVIEWED.equals(status)) {
-            List<KgDTO> kgDTOList = tripletInfoService.getKgDTO(id);
-            kgService.create(kgDTOList);
+            JSONArray knowledgeList = extractResultJson.getJSONArray("knowledgeList");
+            List<KgDTO> list = new ArrayList<>(knowledgeList.size());
+            for (int i = 0; i < knowledgeList.size(); i++) {
+                JSONObject jsonObject = knowledgeList.getJSONObject(i);
+                KgDTO kgDTO = JSONObject.parseObject(jsonObject.toString(), KgDTO.class);
+                list.add(kgDTO);
+            }
+            kgService.create(list);
+            // 更新子任务状态为完成
             extractKnowledgeSubTaskMapper.updateSubTaskStatusById(id, ExtractKnowledgeSubTask.DOWN, null, null);
         }
+
+        // 更新任务状态
         extractKnowledgeSubTaskMapper.updateTaskStatusBySubTaskId(id);
+
     }
 
     @Override
@@ -201,6 +226,33 @@ public class ExtractKnowledgeSubTaskServiceImpl implements IExtractKnowledgeSubT
         extractKnowledgeSubTaskMapper.updateTaskStatusBySubTaskId(subTaskId);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveKnowledge(JSONObject extractResult) {
+        Integer code = extractResult.getInteger("code");
+        switch (code) {
+            case 200:
+                processSuccess(extractResult);
+                break;
+            default:
+                processFail(extractResult);
+        }
+    }
+
+    private void processFail(JSONObject extractResult) {
+        updateSubTaskStatusById(extractResult.getJSONObject("docInfo").getLong("subTaskId"), ExtractKnowledgeSubTask.FAILED, extractResult.getString("msg"));
+    }
+
+    private void processSuccess(JSONObject extractResult) {
+//        JSONArray relationList = extractResult.getJSONObject("knowledgeList").getJSONArray("relationList");
+//        int size = relationList.size();
+//        for(int i = 0; i < size; i++){
+//            JSONObject jsonObject = relationList.getJSONObject(i);
+//            jsonObject.put("id",i);
+//        }
+        extractResultService.insertExtractResult(extractResult.getJSONObject("docInfo").getLong("subTaskId"), extractResult.toString());
+    }
+
     private void processFail(KgDocDTO kgDocDTO) {
         updateSubTaskStatusById(kgDocDTO.getDocInfo().getSubTaskId(), ExtractKnowledgeSubTask.FAILED, kgDocDTO.getMsg());
     }

+ 109 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractResultServiceImpl.java

@@ -0,0 +1,109 @@
+package com.kgraph.graph.suport.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.suport.mapper.ExtractResultMapper;
+import com.kgraph.graph.suport.domain.ExtractResult;
+import com.kgraph.graph.suport.service.IExtractResultService;
+
+/**
+ * 抽取结果信息Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-20
+ */
+@Service
+public class ExtractResultServiceImpl implements IExtractResultService 
+{
+    @Autowired
+    private ExtractResultMapper extractResultMapper;
+
+    /**
+     * 查询抽取结果信息
+     * 
+     * @param id 抽取结果信息主键
+     * @return 抽取结果信息
+     */
+    @Override
+    public ExtractResult selectExtractResultById(Long id)
+    {
+        return extractResultMapper.selectExtractResultById(id);
+    }
+
+    /**
+     * 查询抽取结果信息列表
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 抽取结果信息
+     */
+    @Override
+    public List<ExtractResult> selectExtractResultList(ExtractResult extractResult)
+    {
+        return extractResultMapper.selectExtractResultList(extractResult);
+    }
+
+    /**
+     * 新增抽取结果信息
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 结果
+     */
+    @Override
+    public int insertExtractResult(ExtractResult extractResult)
+    {
+        extractResult.setCreateTime(DateUtils.getNowDate());
+        return extractResultMapper.insertExtractResult(extractResult);
+    }
+
+    /**
+     * 修改抽取结果信息
+     * 
+     * @param extractResult 抽取结果信息
+     * @return 结果
+     */
+    @Override
+    public int updateExtractResult(ExtractResult extractResult)
+    {
+        extractResult.setUpdateTime(DateUtils.getNowDate());
+        return extractResultMapper.updateExtractResult(extractResult);
+    }
+
+    /**
+     * 批量删除抽取结果信息
+     * 
+     * @param ids 需要删除的抽取结果信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractResultByIds(Long[] ids)
+    {
+        return extractResultMapper.deleteExtractResultByIds(ids);
+    }
+
+    /**
+     * 删除抽取结果信息信息
+     * 
+     * @param id 抽取结果信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractResultById(Long id)
+    {
+        return extractResultMapper.deleteExtractResultById(id);
+    }
+
+    @Override
+    public void insertExtractResult(Long subTaskId, String result) {
+        ExtractResult extractResult = new ExtractResult();
+        extractResult.setSubTaskId(subTaskId);
+        extractResult.setResult(result);
+        extractResultMapper.insertExtractResult(extractResult);
+    }
+
+    @Override
+    public ExtractResult getResultBySubTaskId(Long subtaskId) {
+        return extractResultMapper.getResultBySubTaskId(subtaskId);
+    }
+}

+ 82 - 0
kgraph-graph/src/main/resources/mapper/extract/ExtractResultMapper.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.suport.mapper.ExtractResultMapper">
+    
+    <resultMap type="ExtractResult" id="ExtractResultResult">
+        <result property="id"    column="id"    />
+        <result property="subTaskId"    column="sub_task_id"    />
+        <result property="result"    column="result"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectExtractResultVo">
+        select id, sub_task_id, result, create_by, create_time, update_by, update_time from t_extract_result
+    </sql>
+
+    <select id="selectExtractResultList" parameterType="ExtractResult" resultMap="ExtractResultResult">
+        <include refid="selectExtractResultVo"/>
+        <where>  
+            <if test="subTaskId != null "> and sub_task_id = #{subTaskId}</if>
+            <if test="result != null  and result != ''"> and result = #{result}</if>
+        </where>
+    </select>
+    
+    <select id="selectExtractResultById" parameterType="Long" resultMap="ExtractResultResult">
+        <include refid="selectExtractResultVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertExtractResult" parameterType="ExtractResult" useGeneratedKeys="true" keyProperty="id">
+        insert into t_extract_result
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="subTaskId != null">sub_task_id,</if>
+            <if test="result != null">result,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="subTaskId != null">#{subTaskId},</if>
+            <if test="result != null">#{result},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateExtractResult" parameterType="ExtractResult">
+        update t_extract_result
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="subTaskId != null">sub_task_id = #{subTaskId},</if>
+            <if test="result != null">result = #{result},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteExtractResultById" parameterType="Long">
+        delete from t_extract_result where id = #{id}
+    </delete>
+
+    <delete id="deleteExtractResultByIds" parameterType="String">
+        delete from t_extract_result where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="getResultBySubTaskId" parameterType="Long" resultMap="ExtractResultResult">
+        <include refid="selectExtractResultVo"/>
+        where sub_task_id = #{subTaskId}
+    </select>
+</mapper>

+ 15 - 0
sql/system.sql

@@ -1892,3 +1892,18 @@ values('故障信息删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'sho
 
 insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values('故障信息导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'showInfo:breakdown:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 抽取结果信息
+DROP TABLE
+IF
+	EXISTS t_extract_result;
+CREATE TABLE t_extract_result (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	sub_task_id BIGINT ( 20 ) NOT NULL COMMENT '子任务id',
+	result TEXT COMMENT '抽取结果集',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '抽取结果信息';

+ 16 - 0
sql/update20030417.sql

@@ -1,5 +1,21 @@
 use kgraph;
 
+DROP TABLE
+IF
+	EXISTS t_model_component;
+CREATE TABLE t_model_component (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	type VARCHAR ( 64 ) COMMENT '类型',
+	parent_id BIGINT ( 20 ) COMMENT '父id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	`name` VARCHAR ( 64 ) COMMENT '名称',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB COMMENT = '型号构型信息表';
+
 DROP TABLE
 IF
 	EXISTS t_breakdown;

+ 0 - 19
sql/update20230419.sql

@@ -1,19 +0,0 @@
-use kgraph;
-
-DROP TABLE
-IF
-	EXISTS t_air_model_info;
-CREATE TABLE t_air_model_info (
-	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
-	air_number VARCHAR ( 64 ) COMMENT '机号',
-	model_component_id BIGINT ( 20 ) COMMENT '型号id',
-	model_number VARCHAR ( 64 ) COMMENT '型号',
-	serial VARCHAR ( 64 ) COMMENT '编号',
-	production_date datetime COMMENT '出厂日期',
-	version VARCHAR ( 64 ) COMMENT '版本号',
-	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
-	create_time datetime COMMENT '创建时间',
-	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
-	update_time datetime COMMENT '更新时间',
-	PRIMARY KEY ( id )
-) ENGINE = INNODB COMMENT = '机型信息';

+ 65 - 0
sql/update20230420.sql

@@ -0,0 +1,65 @@
+use kgraph;
+
+DROP TABLE
+IF
+	EXISTS t_breakdown;
+CREATE TABLE t_breakdown (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	war_zone VARCHAR ( 64 ) COMMENT '战区',
+	base VARCHAR ( 64 ) COMMENT '基地',
+	division VARCHAR ( 64 ) COMMENT '师',
+	brigade VARCHAR ( 64 ) COMMENT '旅团',
+	airplane_model VARCHAR ( 64 ) COMMENT '机型',
+	air_number VARCHAR ( 64 ) COMMENT '机号',
+	discovery_timing VARCHAR ( 64 ) COMMENT '发现时机',
+	discovery_date datetime COMMENT '发现日期',
+	major VARCHAR ( 64 ) COMMENT '专业',
+	`describe` VARCHAR ( 255 ) COMMENT '故障描述',
+	reason VARCHAR ( 255 ) COMMENT '故障原因',
+	breakdown_unit_name VARCHAR ( 64 ) COMMENT '故障件名称',
+	breakdown_unit_type VARCHAR ( 64 ) COMMENT '故障件型号',
+	breakdown_unit_number VARCHAR ( 64 ) COMMENT '故障件号码',
+	unit_system VARCHAR ( 64 ) COMMENT '故障件所属系统',
+	consequence VARCHAR ( 255 ) COMMENT '故障后果',
+	duty VARCHAR ( 255 ) COMMENT '故障责任',
+	replace_unit_name VARCHAR ( 64 ) COMMENT '故换件名称',
+	replace_unit_type VARCHAR ( 64 ) COMMENT '故换件型别',
+	replace_unit_number VARCHAR ( 64 ) COMMENT '故换件号码',
+	method VARCHAR ( 64 ) COMMENT '排除方法',
+	repaired_date datetime COMMENT '修复日期',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB COMMENT = '故障信息表';
+
+DROP TABLE
+IF
+	EXISTS t_encyclopedia;
+CREATE TABLE t_encyclopedia (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	title VARCHAR ( 64 ) COMMENT '标题',
+	`desc` VARCHAR ( 255 ) COMMENT '描述',
+	`text` text  COMMENT '文本内容',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB COMMENT = '维修百科表';
+
+-- 抽取结果信息
+DROP TABLE
+IF
+	EXISTS t_extract_result;
+CREATE TABLE t_extract_result (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	sub_task_id BIGINT ( 20 ) NOT NULL COMMENT '子任务id',
+	result TEXT COMMENT '抽取结果集',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '抽取结果信息';