allen 2 жил өмнө
parent
commit
70dc8a2626
59 өөрчлөгдсөн 5722 нэмэгдсэн , 154 устгасан
  1. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirModelInfoController.java
  2. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirPartInfoController.java
  3. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirPartStatusInfoController.java
  4. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirSubsystemInfoController.java
  5. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirSubsystemStatusInfoController.java
  6. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirSystemInfoController.java
  7. 104 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/AirSystemStatusInfoController.java
  8. 39 2
      kgraph-admin/src/main/java/com/kgraph/web/controller/BreakdownController.java
  9. 102 0
      kgraph-admin/src/main/java/com/kgraph/web/controller/ModelComponentController.java
  10. 127 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirModelInfo.java
  11. 128 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirPartInfo.java
  12. 157 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirPartStatusInfo.java
  13. 128 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirSubsystemInfo.java
  14. 157 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirSubsystemStatusInfo.java
  15. 127 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirSystemInfo.java
  16. 157 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/AirSystemStatusInfo.java
  17. 130 74
      kgraph-admin/src/main/java/com/kgraph/web/domain/Breakdown.java
  18. 84 0
      kgraph-admin/src/main/java/com/kgraph/web/domain/ModelComponent.java
  19. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirModelInfoMapper.java
  20. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirPartInfoMapper.java
  21. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirPartStatusInfoMapper.java
  22. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirSubsystemInfoMapper.java
  23. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirSubsystemStatusInfoMapper.java
  24. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirSystemInfoMapper.java
  25. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/AirSystemStatusInfoMapper.java
  26. 5 1
      kgraph-admin/src/main/java/com/kgraph/web/mapper/BreakdownMapper.java
  27. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/mapper/ModelComponentMapper.java
  28. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirModelInfoService.java
  29. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirPartInfoService.java
  30. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirPartStatusInfoService.java
  31. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirSubsystemInfoService.java
  32. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirSubsystemStatusInfoService.java
  33. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirSystemInfoService.java
  34. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IAirSystemStatusInfoService.java
  35. 7 1
      kgraph-admin/src/main/java/com/kgraph/web/service/IBreakdownService.java
  36. 61 0
      kgraph-admin/src/main/java/com/kgraph/web/service/IModelComponentService.java
  37. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirModelInfoServiceImpl.java
  38. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirPartInfoServiceImpl.java
  39. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirPartStatusInfoServiceImpl.java
  40. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSubsystemInfoServiceImpl.java
  41. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSubsystemStatusInfoServiceImpl.java
  42. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSystemInfoServiceImpl.java
  43. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSystemStatusInfoServiceImpl.java
  44. 29 1
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/BreakdownServiceImpl.java
  45. 96 0
      kgraph-admin/src/main/java/com/kgraph/web/service/impl/ModelComponentServiceImpl.java
  46. 96 0
      kgraph-admin/src/main/resources/mapper/ledger/AirModelInfoMapper.xml
  47. 97 0
      kgraph-admin/src/main/resources/mapper/ledger/AirPartInfoMapper.xml
  48. 106 0
      kgraph-admin/src/main/resources/mapper/ledger/AirPartStatusInfoMapper.xml
  49. 97 0
      kgraph-admin/src/main/resources/mapper/ledger/AirSubsystemInfoMapper.xml
  50. 106 0
      kgraph-admin/src/main/resources/mapper/ledger/AirSubsystemStatusInfoMapper.xml
  51. 96 0
      kgraph-admin/src/main/resources/mapper/ledger/AirSystemInfoMapper.xml
  52. 106 0
      kgraph-admin/src/main/resources/mapper/ledger/AirSystemStatusInfoMapper.xml
  53. 87 0
      kgraph-admin/src/main/resources/mapper/ledger/ModelComponentMapper.xml
  54. 108 44
      kgraph-admin/src/main/resources/mapper/showInfo/BreakdownMapper.xml
  55. 0 14
      kgraph-graph/src/main/java/com/kgraph/graph/suport/utils/GraphUtils.java
  56. 142 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/utils/SupportUtils.java
  57. 12 8
      kgraph-graph/src/test/java/com/kgraph/graph/TestNeo4j.java
  58. 370 9
      sql/system.sql
  59. 450 0
      sql/update20030417.sql

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirModelInfoController.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.AirModelInfo;
+import com.kgraph.web.service.IAirModelInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 机型信息Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/airModel")
+public class AirModelInfoController extends BaseController
+{
+    @Autowired
+    private IAirModelInfoService airModelInfoService;
+
+    /**
+     * 查询机型信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airModel:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirModelInfo airModelInfo)
+    {
+        startPage();
+        List<AirModelInfo> list = airModelInfoService.selectAirModelInfoList(airModelInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出机型信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airModel:export')")
+    @Log(title = "机型信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirModelInfo airModelInfo)
+    {
+        List<AirModelInfo> list = airModelInfoService.selectAirModelInfoList(airModelInfo);
+        ExcelUtil<AirModelInfo> util = new ExcelUtil<AirModelInfo>(AirModelInfo.class);
+        util.exportExcel(response, list, "机型信息数据");
+    }
+
+    /**
+     * 获取机型信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airModel:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airModelInfoService.selectAirModelInfoById(id));
+    }
+
+    /**
+     * 新增机型信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airModel:add')")
+    @Log(title = "机型信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirModelInfo airModelInfo)
+    {
+        return toAjax(airModelInfoService.insertAirModelInfo(airModelInfo));
+    }
+
+    /**
+     * 修改机型信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airModel:edit')")
+    @Log(title = "机型信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirModelInfo airModelInfo)
+    {
+        return toAjax(airModelInfoService.updateAirModelInfo(airModelInfo));
+    }
+
+    /**
+     * 删除机型信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airModel:remove')")
+    @Log(title = "机型信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airModelInfoService.deleteAirModelInfoByIds(ids));
+    }
+}

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirPartInfoController.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.AirPartInfo;
+import com.kgraph.web.service.IAirPartInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 部件基本信息Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/airPart")
+public class AirPartInfoController extends BaseController
+{
+    @Autowired
+    private IAirPartInfoService airPartInfoService;
+
+    /**
+     * 查询部件基本信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airPart:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirPartInfo airPartInfo)
+    {
+        startPage();
+        List<AirPartInfo> list = airPartInfoService.selectAirPartInfoList(airPartInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出部件基本信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airPart:export')")
+    @Log(title = "部件基本信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirPartInfo airPartInfo)
+    {
+        List<AirPartInfo> list = airPartInfoService.selectAirPartInfoList(airPartInfo);
+        ExcelUtil<AirPartInfo> util = new ExcelUtil<AirPartInfo>(AirPartInfo.class);
+        util.exportExcel(response, list, "部件基本信息数据");
+    }
+
+    /**
+     * 获取部件基本信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airPart:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airPartInfoService.selectAirPartInfoById(id));
+    }
+
+    /**
+     * 新增部件基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airPart:add')")
+    @Log(title = "部件基本信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirPartInfo airPartInfo)
+    {
+        return toAjax(airPartInfoService.insertAirPartInfo(airPartInfo));
+    }
+
+    /**
+     * 修改部件基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airPart:edit')")
+    @Log(title = "部件基本信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirPartInfo airPartInfo)
+    {
+        return toAjax(airPartInfoService.updateAirPartInfo(airPartInfo));
+    }
+
+    /**
+     * 删除部件基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airPart:remove')")
+    @Log(title = "部件基本信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airPartInfoService.deleteAirPartInfoByIds(ids));
+    }
+}

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirPartStatusInfoController.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.AirPartStatusInfo;
+import com.kgraph.web.service.IAirPartStatusInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 部件履历Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/partRecord")
+public class AirPartStatusInfoController extends BaseController
+{
+    @Autowired
+    private IAirPartStatusInfoService airPartStatusInfoService;
+
+    /**
+     * 查询部件履历列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:partRecord:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirPartStatusInfo airPartStatusInfo)
+    {
+        startPage();
+        List<AirPartStatusInfo> list = airPartStatusInfoService.selectAirPartStatusInfoList(airPartStatusInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出部件履历列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:partRecord:export')")
+    @Log(title = "部件履历", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirPartStatusInfo airPartStatusInfo)
+    {
+        List<AirPartStatusInfo> list = airPartStatusInfoService.selectAirPartStatusInfoList(airPartStatusInfo);
+        ExcelUtil<AirPartStatusInfo> util = new ExcelUtil<AirPartStatusInfo>(AirPartStatusInfo.class);
+        util.exportExcel(response, list, "部件履历数据");
+    }
+
+    /**
+     * 获取部件履历详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:partRecord:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airPartStatusInfoService.selectAirPartStatusInfoById(id));
+    }
+
+    /**
+     * 新增部件履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:partRecord:add')")
+    @Log(title = "部件履历", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirPartStatusInfo airPartStatusInfo)
+    {
+        return toAjax(airPartStatusInfoService.insertAirPartStatusInfo(airPartStatusInfo));
+    }
+
+    /**
+     * 修改部件履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:partRecord:edit')")
+    @Log(title = "部件履历", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirPartStatusInfo airPartStatusInfo)
+    {
+        return toAjax(airPartStatusInfoService.updateAirPartStatusInfo(airPartStatusInfo));
+    }
+
+    /**
+     * 删除部件履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:partRecord:remove')")
+    @Log(title = "部件履历", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airPartStatusInfoService.deleteAirPartStatusInfoByIds(ids));
+    }
+}

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirSubsystemInfoController.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.AirSubsystemInfo;
+import com.kgraph.web.service.IAirSubsystemInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 分系统基本信息Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/baseSubsystem")
+public class AirSubsystemInfoController extends BaseController
+{
+    @Autowired
+    private IAirSubsystemInfoService airSubsystemInfoService;
+
+    /**
+     * 查询分系统基本信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseSubsystem:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirSubsystemInfo airSubsystemInfo)
+    {
+        startPage();
+        List<AirSubsystemInfo> list = airSubsystemInfoService.selectAirSubsystemInfoList(airSubsystemInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出分系统基本信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseSubsystem:export')")
+    @Log(title = "分系统基本信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirSubsystemInfo airSubsystemInfo)
+    {
+        List<AirSubsystemInfo> list = airSubsystemInfoService.selectAirSubsystemInfoList(airSubsystemInfo);
+        ExcelUtil<AirSubsystemInfo> util = new ExcelUtil<AirSubsystemInfo>(AirSubsystemInfo.class);
+        util.exportExcel(response, list, "分系统基本信息数据");
+    }
+
+    /**
+     * 获取分系统基本信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseSubsystem:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airSubsystemInfoService.selectAirSubsystemInfoById(id));
+    }
+
+    /**
+     * 新增分系统基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseSubsystem:add')")
+    @Log(title = "分系统基本信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirSubsystemInfo airSubsystemInfo)
+    {
+        return toAjax(airSubsystemInfoService.insertAirSubsystemInfo(airSubsystemInfo));
+    }
+
+    /**
+     * 修改分系统基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseSubsystem:edit')")
+    @Log(title = "分系统基本信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirSubsystemInfo airSubsystemInfo)
+    {
+        return toAjax(airSubsystemInfoService.updateAirSubsystemInfo(airSubsystemInfo));
+    }
+
+    /**
+     * 删除分系统基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseSubsystem:remove')")
+    @Log(title = "分系统基本信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airSubsystemInfoService.deleteAirSubsystemInfoByIds(ids));
+    }
+}

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirSubsystemStatusInfoController.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.AirSubsystemStatusInfo;
+import com.kgraph.web.service.IAirSubsystemStatusInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 分系统履历Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/subsystemRecord")
+public class AirSubsystemStatusInfoController extends BaseController
+{
+    @Autowired
+    private IAirSubsystemStatusInfoService airSubsystemStatusInfoService;
+
+    /**
+     * 查询分系统履历列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:subsystemRecord:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        startPage();
+        List<AirSubsystemStatusInfo> list = airSubsystemStatusInfoService.selectAirSubsystemStatusInfoList(airSubsystemStatusInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出分系统履历列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:subsystemRecord:export')")
+    @Log(title = "分系统履历", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        List<AirSubsystemStatusInfo> list = airSubsystemStatusInfoService.selectAirSubsystemStatusInfoList(airSubsystemStatusInfo);
+        ExcelUtil<AirSubsystemStatusInfo> util = new ExcelUtil<AirSubsystemStatusInfo>(AirSubsystemStatusInfo.class);
+        util.exportExcel(response, list, "分系统履历数据");
+    }
+
+    /**
+     * 获取分系统履历详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:subsystemRecord:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airSubsystemStatusInfoService.selectAirSubsystemStatusInfoById(id));
+    }
+
+    /**
+     * 新增分系统履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:subsystemRecord:add')")
+    @Log(title = "分系统履历", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        return toAjax(airSubsystemStatusInfoService.insertAirSubsystemStatusInfo(airSubsystemStatusInfo));
+    }
+
+    /**
+     * 修改分系统履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:subsystemRecord:edit')")
+    @Log(title = "分系统履历", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        return toAjax(airSubsystemStatusInfoService.updateAirSubsystemStatusInfo(airSubsystemStatusInfo));
+    }
+
+    /**
+     * 删除分系统履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:subsystemRecord:remove')")
+    @Log(title = "分系统履历", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airSubsystemStatusInfoService.deleteAirSubsystemStatusInfoByIds(ids));
+    }
+}

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirSystemInfoController.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.AirSystemInfo;
+import com.kgraph.web.service.IAirSystemInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 系统基本信息Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/airSystem")
+public class AirSystemInfoController extends BaseController
+{
+    @Autowired
+    private IAirSystemInfoService airSystemInfoService;
+
+    /**
+     * 查询系统基本信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airSystem:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirSystemInfo airSystemInfo)
+    {
+        startPage();
+        List<AirSystemInfo> list = airSystemInfoService.selectAirSystemInfoList(airSystemInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出系统基本信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airSystem:export')")
+    @Log(title = "系统基本信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirSystemInfo airSystemInfo)
+    {
+        List<AirSystemInfo> list = airSystemInfoService.selectAirSystemInfoList(airSystemInfo);
+        ExcelUtil<AirSystemInfo> util = new ExcelUtil<AirSystemInfo>(AirSystemInfo.class);
+        util.exportExcel(response, list, "系统基本信息数据");
+    }
+
+    /**
+     * 获取系统基本信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airSystem:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airSystemInfoService.selectAirSystemInfoById(id));
+    }
+
+    /**
+     * 新增系统基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airSystem:add')")
+    @Log(title = "系统基本信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirSystemInfo airSystemInfo)
+    {
+        return toAjax(airSystemInfoService.insertAirSystemInfo(airSystemInfo));
+    }
+
+    /**
+     * 修改系统基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airSystem:edit')")
+    @Log(title = "系统基本信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirSystemInfo airSystemInfo)
+    {
+        return toAjax(airSystemInfoService.updateAirSystemInfo(airSystemInfo));
+    }
+
+    /**
+     * 删除系统基本信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:airSystem:remove')")
+    @Log(title = "系统基本信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airSystemInfoService.deleteAirSystemInfoByIds(ids));
+    }
+}

+ 104 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/AirSystemStatusInfoController.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.AirSystemStatusInfo;
+import com.kgraph.web.service.IAirSystemStatusInfoService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 系统履历Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/systemRecord")
+public class AirSystemStatusInfoController extends BaseController
+{
+    @Autowired
+    private IAirSystemStatusInfoService airSystemStatusInfoService;
+
+    /**
+     * 查询系统履历列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:systemRecord:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AirSystemStatusInfo airSystemStatusInfo)
+    {
+        startPage();
+        List<AirSystemStatusInfo> list = airSystemStatusInfoService.selectAirSystemStatusInfoList(airSystemStatusInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出系统履历列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:systemRecord:export')")
+    @Log(title = "系统履历", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AirSystemStatusInfo airSystemStatusInfo)
+    {
+        List<AirSystemStatusInfo> list = airSystemStatusInfoService.selectAirSystemStatusInfoList(airSystemStatusInfo);
+        ExcelUtil<AirSystemStatusInfo> util = new ExcelUtil<AirSystemStatusInfo>(AirSystemStatusInfo.class);
+        util.exportExcel(response, list, "系统履历数据");
+    }
+
+    /**
+     * 获取系统履历详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:systemRecord:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(airSystemStatusInfoService.selectAirSystemStatusInfoById(id));
+    }
+
+    /**
+     * 新增系统履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:systemRecord:add')")
+    @Log(title = "系统履历", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AirSystemStatusInfo airSystemStatusInfo)
+    {
+        return toAjax(airSystemStatusInfoService.insertAirSystemStatusInfo(airSystemStatusInfo));
+    }
+
+    /**
+     * 修改系统履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:systemRecord:edit')")
+    @Log(title = "系统履历", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AirSystemStatusInfo airSystemStatusInfo)
+    {
+        return toAjax(airSystemStatusInfoService.updateAirSystemStatusInfo(airSystemStatusInfo));
+    }
+
+    /**
+     * 删除系统履历
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:systemRecord:remove')")
+    @Log(title = "系统履历", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(airSystemStatusInfoService.deleteAirSystemStatusInfoByIds(ids));
+    }
+}

+ 39 - 2
kgraph-admin/src/main/java/com/kgraph/web/controller/BreakdownController.java

@@ -19,13 +19,14 @@ import com.kgraph.common.enums.BusinessType;;
 import com.kgraph.web.domain.Breakdown;
 import com.kgraph.web.service.IBreakdownService;
 import com.kgraph.common.utils.poi.ExcelUtil;;
-import com.kgraph.common.core.page.TableDataInfo;;
+import com.kgraph.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;;
 
 /**
  * 故障信息Controller
  * 
  * @author Allen
- * @date 2023-04-13
+ * @date 2023-04-16
  */
 @RestController
 @RequestMapping("/showInfo/breakdown")
@@ -101,4 +102,40 @@ public class BreakdownController extends BaseController
     {
         return toAjax(breakdownService.deleteBreakdownByIds(ids));
     }
+
+    @PostMapping("/importTemplate")
+    public void importTemplate(HttpServletResponse response)
+    {
+        ExcelUtil<Breakdown> util = new ExcelUtil<>(Breakdown.class);
+        util.importTemplateExcel(response, "故障信息");
+    }
+
+    @Log(title = "故障信息导入", businessType = BusinessType.IMPORT)
+    @PreAuthorize("@ss.hasPermi('showInfo:breakdown:add')")
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
+    {
+        ExcelUtil<Breakdown> util = new ExcelUtil<>(Breakdown.class);
+        List<Breakdown> breakdownList = util.importExcel(file.getInputStream());
+        String message = breakdownService.excelImport(breakdownList);
+        return AjaxResult.success(message);
+    }
+
+    @GetMapping(value = "/getBreakDownCountByMonth")
+    public AjaxResult getBreakDownCountByMonth()
+    {
+        return success(breakdownService.getBreakDownCountByMonth());
+    }
+
+    @GetMapping(value = "/getAirplaneModelCountByMonth/{date}")
+    public AjaxResult getAirplaneModelCountByMonth(@PathVariable String date)
+    {
+        return success(breakdownService.getAirplaneModelCountByMonth(date));
+    }
+
+    @GetMapping(value = "/getMajorCountByMonth/{date}")
+    public AjaxResult getMajorCountByMonth(@PathVariable String date)
+    {
+        return success(breakdownService.getMajorCountByMonth(date));
+    }
 }

+ 102 - 0
kgraph-admin/src/main/java/com/kgraph/web/controller/ModelComponentController.java

@@ -0,0 +1,102 @@
+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.ModelComponent;
+import com.kgraph.web.service.IModelComponentService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+
+/**
+ * 型号构型信息Controller
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@RestController
+@RequestMapping("/ledger/baseModel")
+public class ModelComponentController extends BaseController
+{
+    @Autowired
+    private IModelComponentService modelComponentService;
+
+    /**
+     * 查询型号构型信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseModel:list')")
+    @GetMapping("/list")
+    public AjaxResult list(ModelComponent modelComponent)
+    {
+        List<ModelComponent> list = modelComponentService.selectModelComponentList(modelComponent);
+        return success(list);
+    }
+
+    /**
+     * 导出型号构型信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseModel:export')")
+    @Log(title = "型号构型信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ModelComponent modelComponent)
+    {
+        List<ModelComponent> list = modelComponentService.selectModelComponentList(modelComponent);
+        ExcelUtil<ModelComponent> util = new ExcelUtil<ModelComponent>(ModelComponent.class);
+        util.exportExcel(response, list, "型号构型信息数据");
+    }
+
+    /**
+     * 获取型号构型信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseModel:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(modelComponentService.selectModelComponentById(id));
+    }
+
+    /**
+     * 新增型号构型信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseModel:add')")
+    @Log(title = "型号构型信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ModelComponent modelComponent)
+    {
+        return toAjax(modelComponentService.insertModelComponent(modelComponent));
+    }
+
+    /**
+     * 修改型号构型信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseModel:edit')")
+    @Log(title = "型号构型信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ModelComponent modelComponent)
+    {
+        return toAjax(modelComponentService.updateModelComponent(modelComponent));
+    }
+
+    /**
+     * 删除型号构型信息
+     */
+    @PreAuthorize("@ss.hasPermi('ledger:baseModel:remove')")
+    @Log(title = "型号构型信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(modelComponentService.deleteModelComponentByIds(ids));
+    }
+}

+ 127 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirModelInfo.java

@@ -0,0 +1,127 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_model_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirModelInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 飞机号 */
+    @Excel(name = "飞机号")
+    private String airNumber;
+
+    /** 型号id */
+    private Long modelComponentId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setAirNumber(String airNumber) 
+    {
+        this.airNumber = airNumber;
+    }
+
+    public String getAirNumber() 
+    {
+        return airNumber;
+    }
+    public void setModelComponentId(Long modelComponentId) 
+    {
+        this.modelComponentId = modelComponentId;
+    }
+
+    public Long getModelComponentId() 
+    {
+        return modelComponentId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("airNumber", getAirNumber())
+            .append("modelComponentId", getModelComponentId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("version", getVersion())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 128 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirPartInfo.java

@@ -0,0 +1,128 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_part_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirPartInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 型号id */
+    @Excel(name = "型号id")
+    private Long modelComponentId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 厂家信息 */
+    @Excel(name = "厂家信息")
+    private String manufacturerInfo;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setModelComponentId(Long modelComponentId) 
+    {
+        this.modelComponentId = modelComponentId;
+    }
+
+    public Long getModelComponentId() 
+    {
+        return modelComponentId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setManufacturerInfo(String manufacturerInfo) 
+    {
+        this.manufacturerInfo = manufacturerInfo;
+    }
+
+    public String getManufacturerInfo() 
+    {
+        return manufacturerInfo;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("modelComponentId", getModelComponentId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("manufacturerInfo", getManufacturerInfo())
+            .append("version", getVersion())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 157 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirPartStatusInfo.java

@@ -0,0 +1,157 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_part_status_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirPartStatusInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 部件id */
+    private Long airPartId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date versionUpdateDate;
+
+    /** 维修次数 */
+    @Excel(name = "维修次数")
+    private Long repairTimes;
+
+    /** 维修时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "维修时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date repairDate;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setAirPartId(Long airPartId) 
+    {
+        this.airPartId = airPartId;
+    }
+
+    public Long getAirPartId() 
+    {
+        return airPartId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+    public void setVersionUpdateDate(Date versionUpdateDate) 
+    {
+        this.versionUpdateDate = versionUpdateDate;
+    }
+
+    public Date getVersionUpdateDate() 
+    {
+        return versionUpdateDate;
+    }
+    public void setRepairTimes(Long repairTimes) 
+    {
+        this.repairTimes = repairTimes;
+    }
+
+    public Long getRepairTimes() 
+    {
+        return repairTimes;
+    }
+    public void setRepairDate(Date repairDate) 
+    {
+        this.repairDate = repairDate;
+    }
+
+    public Date getRepairDate() 
+    {
+        return repairDate;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("airPartId", getAirPartId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("version", getVersion())
+            .append("versionUpdateDate", getVersionUpdateDate())
+            .append("repairTimes", getRepairTimes())
+            .append("repairDate", getRepairDate())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 128 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirSubsystemInfo.java

@@ -0,0 +1,128 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_subsystem_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirSubsystemInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 型号id */
+    @Excel(name = "型号id")
+    private Long modelComponentId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 厂家信息 */
+    @Excel(name = "厂家信息")
+    private String manufacturerInfo;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setModelComponentId(Long modelComponentId) 
+    {
+        this.modelComponentId = modelComponentId;
+    }
+
+    public Long getModelComponentId() 
+    {
+        return modelComponentId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setManufacturerInfo(String manufacturerInfo) 
+    {
+        this.manufacturerInfo = manufacturerInfo;
+    }
+
+    public String getManufacturerInfo() 
+    {
+        return manufacturerInfo;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("modelComponentId", getModelComponentId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("manufacturerInfo", getManufacturerInfo())
+            .append("version", getVersion())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 157 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirSubsystemStatusInfo.java

@@ -0,0 +1,157 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_subsystem_status_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirSubsystemStatusInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 子系统id */
+    private Long airSubsystemId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date versionUpdateDate;
+
+    /** 维修次数 */
+    @Excel(name = "维修次数")
+    private Long repairTimes;
+
+    /** 维修时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "维修时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date repairDate;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setAirSubsystemId(Long airSubsystemId) 
+    {
+        this.airSubsystemId = airSubsystemId;
+    }
+
+    public Long getAirSubsystemId() 
+    {
+        return airSubsystemId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+    public void setVersionUpdateDate(Date versionUpdateDate) 
+    {
+        this.versionUpdateDate = versionUpdateDate;
+    }
+
+    public Date getVersionUpdateDate() 
+    {
+        return versionUpdateDate;
+    }
+    public void setRepairTimes(Long repairTimes) 
+    {
+        this.repairTimes = repairTimes;
+    }
+
+    public Long getRepairTimes() 
+    {
+        return repairTimes;
+    }
+    public void setRepairDate(Date repairDate) 
+    {
+        this.repairDate = repairDate;
+    }
+
+    public Date getRepairDate() 
+    {
+        return repairDate;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("airSubsystemId", getAirSubsystemId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("version", getVersion())
+            .append("versionUpdateDate", getVersionUpdateDate())
+            .append("repairTimes", getRepairTimes())
+            .append("repairDate", getRepairDate())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 127 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirSystemInfo.java

@@ -0,0 +1,127 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_system_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirSystemInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 型号id */
+    private Long modelComponentId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 厂家信息 */
+    @Excel(name = "厂家信息")
+    private String manufacturerInfo;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setModelComponentId(Long modelComponentId) 
+    {
+        this.modelComponentId = modelComponentId;
+    }
+
+    public Long getModelComponentId() 
+    {
+        return modelComponentId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setManufacturerInfo(String manufacturerInfo) 
+    {
+        this.manufacturerInfo = manufacturerInfo;
+    }
+
+    public String getManufacturerInfo() 
+    {
+        return manufacturerInfo;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("modelComponentId", getModelComponentId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("manufacturerInfo", getManufacturerInfo())
+            .append("version", getVersion())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 157 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/AirSystemStatusInfo.java

@@ -0,0 +1,157 @@
+package com.kgraph.web.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_air_system_status_info
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class AirSystemStatusInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 系统id */
+    private Long airSystemId;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 编号 */
+    @Excel(name = "编号")
+    private String serial;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date productionDate;
+
+    /** 版本号 */
+    @Excel(name = "版本号")
+    private String version;
+
+    /** 出厂日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date versionUpdateDate;
+
+    /** 维修次数 */
+    @Excel(name = "维修次数")
+    private Long repairTimes;
+
+    /** 维修时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "维修时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date repairDate;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setAirSystemId(Long airSystemId) 
+    {
+        this.airSystemId = airSystemId;
+    }
+
+    public Long getAirSystemId() 
+    {
+        return airSystemId;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setSerial(String serial) 
+    {
+        this.serial = serial;
+    }
+
+    public String getSerial() 
+    {
+        return serial;
+    }
+    public void setProductionDate(Date productionDate) 
+    {
+        this.productionDate = productionDate;
+    }
+
+    public Date getProductionDate() 
+    {
+        return productionDate;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+    public void setVersionUpdateDate(Date versionUpdateDate) 
+    {
+        this.versionUpdateDate = versionUpdateDate;
+    }
+
+    public Date getVersionUpdateDate() 
+    {
+        return versionUpdateDate;
+    }
+    public void setRepairTimes(Long repairTimes) 
+    {
+        this.repairTimes = repairTimes;
+    }
+
+    public Long getRepairTimes() 
+    {
+        return repairTimes;
+    }
+    public void setRepairDate(Date repairDate) 
+    {
+        this.repairDate = repairDate;
+    }
+
+    public Date getRepairDate() 
+    {
+        return repairDate;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("airSystemId", getAirSystemId())
+            .append("modelNumber", getModelNumber())
+            .append("serial", getSerial())
+            .append("productionDate", getProductionDate())
+            .append("version", getVersion())
+            .append("versionUpdateDate", getVersionUpdateDate())
+            .append("repairTimes", getRepairTimes())
+            .append("repairDate", getRepairDate())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 130 - 74
kgraph-admin/src/main/java/com/kgraph/web/domain/Breakdown.java

@@ -11,7 +11,7 @@ import com.kgraph.common.core.domain.BaseEntity;;
  * 故障信息对象 t_breakdown
  * 
  * @author Allen
- * @date 2023-04-13
+ * @date 2023-04-16
  */
 public class Breakdown extends BaseEntity
 {
@@ -24,14 +24,35 @@ public class Breakdown extends BaseEntity
     @Excel(name = "战区")
     private String warZone;
 
-    /** 单位 */
-    @Excel(name = "单位")
-    private String organization;
+    /** 大练基地 */
+    @Excel(name = "大练基地")
+    private String base;
+
+    /** 师 */
+    @Excel(name = "师")
+    private String division;
+
+    /** 旅团 */
+    @Excel(name = "旅团")
+    private String brigade;
+
+    /** 机型 */
+    @Excel(name = "机型")
+    private String airplaneModel;
+
+    /** 机号 */
+    @Excel(name = "机号")
+    private String airNumber;
 
     /** 发现时机 */
     @Excel(name = "发现时机")
     private String discoveryTiming;
 
+    /** 发现日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "发现日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date discoveryDate;
+
     /** 专业 */
     @Excel(name = "专业")
     private String major;
@@ -46,11 +67,15 @@ public class Breakdown extends BaseEntity
 
     /** 故障件名称 */
     @Excel(name = "故障件名称")
-    private String unitName;
+    private String breakdownUnitName;
 
     /** 故障件型别 */
     @Excel(name = "故障件型别")
-    private String unitType;
+    private String breakdownUnitType;
+
+    /** 故障件号码 */
+    @Excel(name = "故障件号码")
+    private String breakdownUnitNumber;
 
     /** 故障件所属系统 */
     @Excel(name = "故障件所属系统")
@@ -60,31 +85,22 @@ public class Breakdown extends BaseEntity
     @Excel(name = "故障后果")
     private String consequence;
 
-    /** 故障责任 */
-    @Excel(name = "故障责任")
-    private String duty;
+    /** 故换件名称 */
+    @Excel(name = "故换件名称")
+    private String replaceUnitName;
 
-    /** 故障件名称 */
-    @Excel(name = "故障件名称")
-    private String name;
+    /** 故换件型别 */
+    @Excel(name = "故换件型别")
+    private String replaceUnitType;
 
-    /** 故件号码 */
-    @Excel(name = "故件号码")
-    private String number;
+    /** 故件号码 */
+    @Excel(name = "故件号码")
+    private String replaceUnitNumber;
 
     /** 排除方法 */
     @Excel(name = "排除方法")
     private String method;
 
-    /** 故障修复时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "故障修复时间", width = 30, dateFormat = "yyyy-MM-dd")
-    private Date repairTime;
-
-    /** 故障状态 */
-    @Excel(name = "故障状态")
-    private String status;
-
     public void setId(Long id) 
     {
         this.id = id;
@@ -103,14 +119,50 @@ public class Breakdown extends BaseEntity
     {
         return warZone;
     }
-    public void setOrganization(String organization) 
+    public void setBase(String base) 
+    {
+        this.base = base;
+    }
+
+    public String getBase() 
+    {
+        return base;
+    }
+    public void setDivision(String division) 
+    {
+        this.division = division;
+    }
+
+    public String getDivision() 
+    {
+        return division;
+    }
+    public void setBrigade(String brigade) 
+    {
+        this.brigade = brigade;
+    }
+
+    public String getBrigade() 
+    {
+        return brigade;
+    }
+    public void setAirplaneModel(String airplaneModel) 
+    {
+        this.airplaneModel = airplaneModel;
+    }
+
+    public String getAirplaneModel() 
+    {
+        return airplaneModel;
+    }
+    public void setAirNumber(String airNumber) 
     {
-        this.organization = organization;
+        this.airNumber = airNumber;
     }
 
-    public String getOrganization() 
+    public String getAirNumber() 
     {
-        return organization;
+        return airNumber;
     }
     public void setDiscoveryTiming(String discoveryTiming) 
     {
@@ -121,6 +173,15 @@ public class Breakdown extends BaseEntity
     {
         return discoveryTiming;
     }
+    public void setDiscoveryDate(Date discoveryDate) 
+    {
+        this.discoveryDate = discoveryDate;
+    }
+
+    public Date getDiscoveryDate() 
+    {
+        return discoveryDate;
+    }
     public void setMajor(String major) 
     {
         this.major = major;
@@ -148,23 +209,32 @@ public class Breakdown extends BaseEntity
     {
         return reason;
     }
-    public void setUnitName(String unitName) 
+    public void setBreakdownUnitName(String breakdownUnitName) 
+    {
+        this.breakdownUnitName = breakdownUnitName;
+    }
+
+    public String getBreakdownUnitName() 
+    {
+        return breakdownUnitName;
+    }
+    public void setBreakdownUnitType(String breakdownUnitType) 
     {
-        this.unitName = unitName;
+        this.breakdownUnitType = breakdownUnitType;
     }
 
-    public String getUnitName() 
+    public String getBreakdownUnitType() 
     {
-        return unitName;
+        return breakdownUnitType;
     }
-    public void setUnitType(String unitType) 
+    public void setBreakdownUnitNumber(String breakdownUnitNumber) 
     {
-        this.unitType = unitType;
+        this.breakdownUnitNumber = breakdownUnitNumber;
     }
 
-    public String getUnitType() 
+    public String getBreakdownUnitNumber() 
     {
-        return unitType;
+        return breakdownUnitNumber;
     }
     public void setUnitSystem(String unitSystem) 
     {
@@ -184,32 +254,32 @@ public class Breakdown extends BaseEntity
     {
         return consequence;
     }
-    public void setDuty(String duty) 
+    public void setReplaceUnitName(String replaceUnitName) 
     {
-        this.duty = duty;
+        this.replaceUnitName = replaceUnitName;
     }
 
-    public String getDuty() 
+    public String getReplaceUnitName() 
     {
-        return duty;
+        return replaceUnitName;
     }
-    public void setName(String name) 
+    public void setReplaceUnitType(String replaceUnitType) 
     {
-        this.name = name;
+        this.replaceUnitType = replaceUnitType;
     }
 
-    public String getName() 
+    public String getReplaceUnitType() 
     {
-        return name;
+        return replaceUnitType;
     }
-    public void setNumber(String number) 
+    public void setReplaceUnitNumber(String replaceUnitNumber) 
     {
-        this.number = number;
+        this.replaceUnitNumber = replaceUnitNumber;
     }
 
-    public String getNumber() 
+    public String getReplaceUnitNumber() 
     {
-        return number;
+        return replaceUnitNumber;
     }
     public void setMethod(String method) 
     {
@@ -220,45 +290,31 @@ public class Breakdown extends BaseEntity
     {
         return method;
     }
-    public void setRepairTime(Date repairTime) 
-    {
-        this.repairTime = repairTime;
-    }
-
-    public Date getRepairTime() 
-    {
-        return repairTime;
-    }
-    public void setStatus(String status) 
-    {
-        this.status = status;
-    }
-
-    public String getStatus() 
-    {
-        return status;
-    }
 
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
             .append("id", getId())
             .append("warZone", getWarZone())
-            .append("organization", getOrganization())
+            .append("base", getBase())
+            .append("division", getDivision())
+            .append("brigade", getBrigade())
+            .append("airplaneModel", getAirplaneModel())
+            .append("airNumber", getAirNumber())
             .append("discoveryTiming", getDiscoveryTiming())
+            .append("discoveryDate", getDiscoveryDate())
             .append("major", getMajor())
             .append("describe", getDescribe())
             .append("reason", getReason())
-            .append("unitName", getUnitName())
-            .append("unitType", getUnitType())
+            .append("breakdownUnitName", getBreakdownUnitName())
+            .append("breakdownUnitType", getBreakdownUnitType())
+            .append("breakdownUnitNumber", getBreakdownUnitNumber())
             .append("unitSystem", getUnitSystem())
             .append("consequence", getConsequence())
-            .append("duty", getDuty())
-            .append("name", getName())
-            .append("number", getNumber())
+            .append("replaceUnitName", getReplaceUnitName())
+            .append("replaceUnitType", getReplaceUnitType())
+            .append("replaceUnitNumber", getReplaceUnitNumber())
             .append("method", getMethod())
-            .append("repairTime", getRepairTime())
-            .append("status", getStatus())
             .append("createBy", getCreateBy())
             .append("createTime", getCreateTime())
             .append("updateBy", getUpdateBy())

+ 84 - 0
kgraph-admin/src/main/java/com/kgraph/web/domain/ModelComponent.java

@@ -0,0 +1,84 @@
+package com.kgraph.web.domain;
+
+import com.kgraph.common.core.domain.TreeEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+
+/**
+ * 型号构型信息对象 t_model_component
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public class ModelComponent extends TreeEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 类型 */
+    @Excel(name = "类型")
+    private String type;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /** 名称 */
+    @Excel(name = "名称")
+    private String name;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setModelNumber(String modelNumber) 
+    {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() 
+    {
+        return modelNumber;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("type", getType())
+            .append("parentId", getParentId())
+            .append("modelNumber", getModelNumber())
+            .append("name", getName())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirModelInfo;
+
+/**
+ * 机型信息Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirModelInfoMapper 
+{
+    /**
+     * 查询机型信息
+     * 
+     * @param id 机型信息主键
+     * @return 机型信息
+     */
+    public AirModelInfo selectAirModelInfoById(Long id);
+
+    /**
+     * 查询机型信息列表
+     * 
+     * @param airModelInfo 机型信息
+     * @return 机型信息集合
+     */
+    public List<AirModelInfo> selectAirModelInfoList(AirModelInfo airModelInfo);
+
+    /**
+     * 新增机型信息
+     * 
+     * @param airModelInfo 机型信息
+     * @return 结果
+     */
+    public int insertAirModelInfo(AirModelInfo airModelInfo);
+
+    /**
+     * 修改机型信息
+     * 
+     * @param airModelInfo 机型信息
+     * @return 结果
+     */
+    public int updateAirModelInfo(AirModelInfo airModelInfo);
+
+    /**
+     * 删除机型信息
+     * 
+     * @param id 机型信息主键
+     * @return 结果
+     */
+    public int deleteAirModelInfoById(Long id);
+
+    /**
+     * 批量删除机型信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirModelInfoByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirPartInfo;
+
+/**
+ * 部件基本信息Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirPartInfoMapper 
+{
+    /**
+     * 查询部件基本信息
+     * 
+     * @param id 部件基本信息主键
+     * @return 部件基本信息
+     */
+    public AirPartInfo selectAirPartInfoById(Long id);
+
+    /**
+     * 查询部件基本信息列表
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 部件基本信息集合
+     */
+    public List<AirPartInfo> selectAirPartInfoList(AirPartInfo airPartInfo);
+
+    /**
+     * 新增部件基本信息
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 结果
+     */
+    public int insertAirPartInfo(AirPartInfo airPartInfo);
+
+    /**
+     * 修改部件基本信息
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 结果
+     */
+    public int updateAirPartInfo(AirPartInfo airPartInfo);
+
+    /**
+     * 删除部件基本信息
+     * 
+     * @param id 部件基本信息主键
+     * @return 结果
+     */
+    public int deleteAirPartInfoById(Long id);
+
+    /**
+     * 批量删除部件基本信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirPartInfoByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirPartStatusInfo;
+
+/**
+ * 部件履历Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirPartStatusInfoMapper 
+{
+    /**
+     * 查询部件履历
+     * 
+     * @param id 部件履历主键
+     * @return 部件履历
+     */
+    public AirPartStatusInfo selectAirPartStatusInfoById(Long id);
+
+    /**
+     * 查询部件履历列表
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 部件履历集合
+     */
+    public List<AirPartStatusInfo> selectAirPartStatusInfoList(AirPartStatusInfo airPartStatusInfo);
+
+    /**
+     * 新增部件履历
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 结果
+     */
+    public int insertAirPartStatusInfo(AirPartStatusInfo airPartStatusInfo);
+
+    /**
+     * 修改部件履历
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 结果
+     */
+    public int updateAirPartStatusInfo(AirPartStatusInfo airPartStatusInfo);
+
+    /**
+     * 删除部件履历
+     * 
+     * @param id 部件履历主键
+     * @return 结果
+     */
+    public int deleteAirPartStatusInfoById(Long id);
+
+    /**
+     * 批量删除部件履历
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirPartStatusInfoByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSubsystemInfo;
+
+/**
+ * 分系统基本信息Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirSubsystemInfoMapper 
+{
+    /**
+     * 查询分系统基本信息
+     * 
+     * @param id 分系统基本信息主键
+     * @return 分系统基本信息
+     */
+    public AirSubsystemInfo selectAirSubsystemInfoById(Long id);
+
+    /**
+     * 查询分系统基本信息列表
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 分系统基本信息集合
+     */
+    public List<AirSubsystemInfo> selectAirSubsystemInfoList(AirSubsystemInfo airSubsystemInfo);
+
+    /**
+     * 新增分系统基本信息
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 结果
+     */
+    public int insertAirSubsystemInfo(AirSubsystemInfo airSubsystemInfo);
+
+    /**
+     * 修改分系统基本信息
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 结果
+     */
+    public int updateAirSubsystemInfo(AirSubsystemInfo airSubsystemInfo);
+
+    /**
+     * 删除分系统基本信息
+     * 
+     * @param id 分系统基本信息主键
+     * @return 结果
+     */
+    public int deleteAirSubsystemInfoById(Long id);
+
+    /**
+     * 批量删除分系统基本信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirSubsystemInfoByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSubsystemStatusInfo;
+
+/**
+ * 分系统履历Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirSubsystemStatusInfoMapper 
+{
+    /**
+     * 查询分系统履历
+     * 
+     * @param id 分系统履历主键
+     * @return 分系统履历
+     */
+    public AirSubsystemStatusInfo selectAirSubsystemStatusInfoById(Long id);
+
+    /**
+     * 查询分系统履历列表
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 分系统履历集合
+     */
+    public List<AirSubsystemStatusInfo> selectAirSubsystemStatusInfoList(AirSubsystemStatusInfo airSubsystemStatusInfo);
+
+    /**
+     * 新增分系统履历
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 结果
+     */
+    public int insertAirSubsystemStatusInfo(AirSubsystemStatusInfo airSubsystemStatusInfo);
+
+    /**
+     * 修改分系统履历
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 结果
+     */
+    public int updateAirSubsystemStatusInfo(AirSubsystemStatusInfo airSubsystemStatusInfo);
+
+    /**
+     * 删除分系统履历
+     * 
+     * @param id 分系统履历主键
+     * @return 结果
+     */
+    public int deleteAirSubsystemStatusInfoById(Long id);
+
+    /**
+     * 批量删除分系统履历
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirSubsystemStatusInfoByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSystemInfo;
+
+/**
+ * 系统基本信息Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirSystemInfoMapper 
+{
+    /**
+     * 查询系统基本信息
+     * 
+     * @param id 系统基本信息主键
+     * @return 系统基本信息
+     */
+    public AirSystemInfo selectAirSystemInfoById(Long id);
+
+    /**
+     * 查询系统基本信息列表
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 系统基本信息集合
+     */
+    public List<AirSystemInfo> selectAirSystemInfoList(AirSystemInfo airSystemInfo);
+
+    /**
+     * 新增系统基本信息
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 结果
+     */
+    public int insertAirSystemInfo(AirSystemInfo airSystemInfo);
+
+    /**
+     * 修改系统基本信息
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 结果
+     */
+    public int updateAirSystemInfo(AirSystemInfo airSystemInfo);
+
+    /**
+     * 删除系统基本信息
+     * 
+     * @param id 系统基本信息主键
+     * @return 结果
+     */
+    public int deleteAirSystemInfoById(Long id);
+
+    /**
+     * 批量删除系统基本信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirSystemInfoByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSystemStatusInfo;
+
+/**
+ * 系统履历Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface AirSystemStatusInfoMapper 
+{
+    /**
+     * 查询系统履历
+     * 
+     * @param id 系统履历主键
+     * @return 系统履历
+     */
+    public AirSystemStatusInfo selectAirSystemStatusInfoById(Long id);
+
+    /**
+     * 查询系统履历列表
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 系统履历集合
+     */
+    public List<AirSystemStatusInfo> selectAirSystemStatusInfoList(AirSystemStatusInfo airSystemStatusInfo);
+
+    /**
+     * 新增系统履历
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 结果
+     */
+    public int insertAirSystemStatusInfo(AirSystemStatusInfo airSystemStatusInfo);
+
+    /**
+     * 修改系统履历
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 结果
+     */
+    public int updateAirSystemStatusInfo(AirSystemStatusInfo airSystemStatusInfo);
+
+    /**
+     * 删除系统履历
+     * 
+     * @param id 系统履历主键
+     * @return 结果
+     */
+    public int deleteAirSystemStatusInfoById(Long id);
+
+    /**
+     * 批量删除系统履历
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAirSystemStatusInfoByIds(Long[] ids);
+}

+ 5 - 1
kgraph-admin/src/main/java/com/kgraph/web/mapper/BreakdownMapper.java

@@ -7,7 +7,7 @@ import com.kgraph.web.domain.Breakdown;
  * 故障信息Mapper接口
  * 
  * @author Allen
- * @date 2023-04-13
+ * @date 2023-04-16
  */
 public interface BreakdownMapper 
 {
@@ -57,5 +57,9 @@ public interface BreakdownMapper
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
+
     public int deleteBreakdownByIds(Long[] ids);
+    public List getBreakDownCountByMonth();
+    public List getAirplaneModelCountByMonth(String date);
+    public List getMajorCountByMonth(String date);
 }

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.mapper;
+
+import java.util.List;
+import com.kgraph.web.domain.ModelComponent;
+
+/**
+ * 型号构型信息Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface ModelComponentMapper 
+{
+    /**
+     * 查询型号构型信息
+     * 
+     * @param id 型号构型信息主键
+     * @return 型号构型信息
+     */
+    public ModelComponent selectModelComponentById(Long id);
+
+    /**
+     * 查询型号构型信息列表
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 型号构型信息集合
+     */
+    public List<ModelComponent> selectModelComponentList(ModelComponent modelComponent);
+
+    /**
+     * 新增型号构型信息
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 结果
+     */
+    public int insertModelComponent(ModelComponent modelComponent);
+
+    /**
+     * 修改型号构型信息
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 结果
+     */
+    public int updateModelComponent(ModelComponent modelComponent);
+
+    /**
+     * 删除型号构型信息
+     * 
+     * @param id 型号构型信息主键
+     * @return 结果
+     */
+    public int deleteModelComponentById(Long id);
+
+    /**
+     * 批量删除型号构型信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteModelComponentByIds(Long[] ids);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirModelInfo;
+
+/**
+ * 机型信息Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirModelInfoService 
+{
+    /**
+     * 查询机型信息
+     * 
+     * @param id 机型信息主键
+     * @return 机型信息
+     */
+    public AirModelInfo selectAirModelInfoById(Long id);
+
+    /**
+     * 查询机型信息列表
+     * 
+     * @param airModelInfo 机型信息
+     * @return 机型信息集合
+     */
+    public List<AirModelInfo> selectAirModelInfoList(AirModelInfo airModelInfo);
+
+    /**
+     * 新增机型信息
+     * 
+     * @param airModelInfo 机型信息
+     * @return 结果
+     */
+    public int insertAirModelInfo(AirModelInfo airModelInfo);
+
+    /**
+     * 修改机型信息
+     * 
+     * @param airModelInfo 机型信息
+     * @return 结果
+     */
+    public int updateAirModelInfo(AirModelInfo airModelInfo);
+
+    /**
+     * 批量删除机型信息
+     * 
+     * @param ids 需要删除的机型信息主键集合
+     * @return 结果
+     */
+    public int deleteAirModelInfoByIds(Long[] ids);
+
+    /**
+     * 删除机型信息信息
+     * 
+     * @param id 机型信息主键
+     * @return 结果
+     */
+    public int deleteAirModelInfoById(Long id);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirPartInfo;
+
+/**
+ * 部件基本信息Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirPartInfoService 
+{
+    /**
+     * 查询部件基本信息
+     * 
+     * @param id 部件基本信息主键
+     * @return 部件基本信息
+     */
+    public AirPartInfo selectAirPartInfoById(Long id);
+
+    /**
+     * 查询部件基本信息列表
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 部件基本信息集合
+     */
+    public List<AirPartInfo> selectAirPartInfoList(AirPartInfo airPartInfo);
+
+    /**
+     * 新增部件基本信息
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 结果
+     */
+    public int insertAirPartInfo(AirPartInfo airPartInfo);
+
+    /**
+     * 修改部件基本信息
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 结果
+     */
+    public int updateAirPartInfo(AirPartInfo airPartInfo);
+
+    /**
+     * 批量删除部件基本信息
+     * 
+     * @param ids 需要删除的部件基本信息主键集合
+     * @return 结果
+     */
+    public int deleteAirPartInfoByIds(Long[] ids);
+
+    /**
+     * 删除部件基本信息信息
+     * 
+     * @param id 部件基本信息主键
+     * @return 结果
+     */
+    public int deleteAirPartInfoById(Long id);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirPartStatusInfo;
+
+/**
+ * 部件履历Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirPartStatusInfoService 
+{
+    /**
+     * 查询部件履历
+     * 
+     * @param id 部件履历主键
+     * @return 部件履历
+     */
+    public AirPartStatusInfo selectAirPartStatusInfoById(Long id);
+
+    /**
+     * 查询部件履历列表
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 部件履历集合
+     */
+    public List<AirPartStatusInfo> selectAirPartStatusInfoList(AirPartStatusInfo airPartStatusInfo);
+
+    /**
+     * 新增部件履历
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 结果
+     */
+    public int insertAirPartStatusInfo(AirPartStatusInfo airPartStatusInfo);
+
+    /**
+     * 修改部件履历
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 结果
+     */
+    public int updateAirPartStatusInfo(AirPartStatusInfo airPartStatusInfo);
+
+    /**
+     * 批量删除部件履历
+     * 
+     * @param ids 需要删除的部件履历主键集合
+     * @return 结果
+     */
+    public int deleteAirPartStatusInfoByIds(Long[] ids);
+
+    /**
+     * 删除部件履历信息
+     * 
+     * @param id 部件履历主键
+     * @return 结果
+     */
+    public int deleteAirPartStatusInfoById(Long id);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSubsystemInfo;
+
+/**
+ * 分系统基本信息Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirSubsystemInfoService 
+{
+    /**
+     * 查询分系统基本信息
+     * 
+     * @param id 分系统基本信息主键
+     * @return 分系统基本信息
+     */
+    public AirSubsystemInfo selectAirSubsystemInfoById(Long id);
+
+    /**
+     * 查询分系统基本信息列表
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 分系统基本信息集合
+     */
+    public List<AirSubsystemInfo> selectAirSubsystemInfoList(AirSubsystemInfo airSubsystemInfo);
+
+    /**
+     * 新增分系统基本信息
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 结果
+     */
+    public int insertAirSubsystemInfo(AirSubsystemInfo airSubsystemInfo);
+
+    /**
+     * 修改分系统基本信息
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 结果
+     */
+    public int updateAirSubsystemInfo(AirSubsystemInfo airSubsystemInfo);
+
+    /**
+     * 批量删除分系统基本信息
+     * 
+     * @param ids 需要删除的分系统基本信息主键集合
+     * @return 结果
+     */
+    public int deleteAirSubsystemInfoByIds(Long[] ids);
+
+    /**
+     * 删除分系统基本信息信息
+     * 
+     * @param id 分系统基本信息主键
+     * @return 结果
+     */
+    public int deleteAirSubsystemInfoById(Long id);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSubsystemStatusInfo;
+
+/**
+ * 分系统履历Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirSubsystemStatusInfoService 
+{
+    /**
+     * 查询分系统履历
+     * 
+     * @param id 分系统履历主键
+     * @return 分系统履历
+     */
+    public AirSubsystemStatusInfo selectAirSubsystemStatusInfoById(Long id);
+
+    /**
+     * 查询分系统履历列表
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 分系统履历集合
+     */
+    public List<AirSubsystemStatusInfo> selectAirSubsystemStatusInfoList(AirSubsystemStatusInfo airSubsystemStatusInfo);
+
+    /**
+     * 新增分系统履历
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 结果
+     */
+    public int insertAirSubsystemStatusInfo(AirSubsystemStatusInfo airSubsystemStatusInfo);
+
+    /**
+     * 修改分系统履历
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 结果
+     */
+    public int updateAirSubsystemStatusInfo(AirSubsystemStatusInfo airSubsystemStatusInfo);
+
+    /**
+     * 批量删除分系统履历
+     * 
+     * @param ids 需要删除的分系统履历主键集合
+     * @return 结果
+     */
+    public int deleteAirSubsystemStatusInfoByIds(Long[] ids);
+
+    /**
+     * 删除分系统履历信息
+     * 
+     * @param id 分系统履历主键
+     * @return 结果
+     */
+    public int deleteAirSubsystemStatusInfoById(Long id);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSystemInfo;
+
+/**
+ * 系统基本信息Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirSystemInfoService 
+{
+    /**
+     * 查询系统基本信息
+     * 
+     * @param id 系统基本信息主键
+     * @return 系统基本信息
+     */
+    public AirSystemInfo selectAirSystemInfoById(Long id);
+
+    /**
+     * 查询系统基本信息列表
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 系统基本信息集合
+     */
+    public List<AirSystemInfo> selectAirSystemInfoList(AirSystemInfo airSystemInfo);
+
+    /**
+     * 新增系统基本信息
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 结果
+     */
+    public int insertAirSystemInfo(AirSystemInfo airSystemInfo);
+
+    /**
+     * 修改系统基本信息
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 结果
+     */
+    public int updateAirSystemInfo(AirSystemInfo airSystemInfo);
+
+    /**
+     * 批量删除系统基本信息
+     * 
+     * @param ids 需要删除的系统基本信息主键集合
+     * @return 结果
+     */
+    public int deleteAirSystemInfoByIds(Long[] ids);
+
+    /**
+     * 删除系统基本信息信息
+     * 
+     * @param id 系统基本信息主键
+     * @return 结果
+     */
+    public int deleteAirSystemInfoById(Long id);
+}

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.AirSystemStatusInfo;
+
+/**
+ * 系统履历Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IAirSystemStatusInfoService 
+{
+    /**
+     * 查询系统履历
+     * 
+     * @param id 系统履历主键
+     * @return 系统履历
+     */
+    public AirSystemStatusInfo selectAirSystemStatusInfoById(Long id);
+
+    /**
+     * 查询系统履历列表
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 系统履历集合
+     */
+    public List<AirSystemStatusInfo> selectAirSystemStatusInfoList(AirSystemStatusInfo airSystemStatusInfo);
+
+    /**
+     * 新增系统履历
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 结果
+     */
+    public int insertAirSystemStatusInfo(AirSystemStatusInfo airSystemStatusInfo);
+
+    /**
+     * 修改系统履历
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 结果
+     */
+    public int updateAirSystemStatusInfo(AirSystemStatusInfo airSystemStatusInfo);
+
+    /**
+     * 批量删除系统履历
+     * 
+     * @param ids 需要删除的系统履历主键集合
+     * @return 结果
+     */
+    public int deleteAirSystemStatusInfoByIds(Long[] ids);
+
+    /**
+     * 删除系统履历信息
+     * 
+     * @param id 系统履历主键
+     * @return 结果
+     */
+    public int deleteAirSystemStatusInfoById(Long id);
+}

+ 7 - 1
kgraph-admin/src/main/java/com/kgraph/web/service/IBreakdownService.java

@@ -7,7 +7,7 @@ import com.kgraph.web.domain.Breakdown;
  * 故障信息Service接口
  * 
  * @author Allen
- * @date 2023-04-13
+ * @date 2023-04-16
  */
 public interface IBreakdownService 
 {
@@ -58,4 +58,10 @@ public interface IBreakdownService
      * @return 结果
      */
     public int deleteBreakdownById(Long id);
+
+    String excelImport(List<Breakdown> breakdownList);
+
+    List getBreakDownCountByMonth();
+    List getAirplaneModelCountByMonth(String date);
+    List getMajorCountByMonth(String date);
 }

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

@@ -0,0 +1,61 @@
+package com.kgraph.web.service;
+
+import java.util.List;
+import com.kgraph.web.domain.ModelComponent;
+
+/**
+ * 型号构型信息Service接口
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+public interface IModelComponentService 
+{
+    /**
+     * 查询型号构型信息
+     * 
+     * @param id 型号构型信息主键
+     * @return 型号构型信息
+     */
+    public ModelComponent selectModelComponentById(Long id);
+
+    /**
+     * 查询型号构型信息列表
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 型号构型信息集合
+     */
+    public List<ModelComponent> selectModelComponentList(ModelComponent modelComponent);
+
+    /**
+     * 新增型号构型信息
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 结果
+     */
+    public int insertModelComponent(ModelComponent modelComponent);
+
+    /**
+     * 修改型号构型信息
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 结果
+     */
+    public int updateModelComponent(ModelComponent modelComponent);
+
+    /**
+     * 批量删除型号构型信息
+     * 
+     * @param ids 需要删除的型号构型信息主键集合
+     * @return 结果
+     */
+    public int deleteModelComponentByIds(Long[] ids);
+
+    /**
+     * 删除型号构型信息信息
+     * 
+     * @param id 型号构型信息主键
+     * @return 结果
+     */
+    public int deleteModelComponentById(Long id);
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirModelInfoServiceImpl.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.AirModelInfoMapper;
+import com.kgraph.web.domain.AirModelInfo;
+import com.kgraph.web.service.IAirModelInfoService;
+
+/**
+ * 机型信息Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirModelInfoServiceImpl implements IAirModelInfoService 
+{
+    @Autowired
+    private AirModelInfoMapper airModelInfoMapper;
+
+    /**
+     * 查询机型信息
+     * 
+     * @param id 机型信息主键
+     * @return 机型信息
+     */
+    @Override
+    public AirModelInfo selectAirModelInfoById(Long id)
+    {
+        return airModelInfoMapper.selectAirModelInfoById(id);
+    }
+
+    /**
+     * 查询机型信息列表
+     * 
+     * @param airModelInfo 机型信息
+     * @return 机型信息
+     */
+    @Override
+    public List<AirModelInfo> selectAirModelInfoList(AirModelInfo airModelInfo)
+    {
+        return airModelInfoMapper.selectAirModelInfoList(airModelInfo);
+    }
+
+    /**
+     * 新增机型信息
+     * 
+     * @param airModelInfo 机型信息
+     * @return 结果
+     */
+    @Override
+    public int insertAirModelInfo(AirModelInfo airModelInfo)
+    {
+        airModelInfo.setCreateTime(DateUtils.getNowDate());
+        return airModelInfoMapper.insertAirModelInfo(airModelInfo);
+    }
+
+    /**
+     * 修改机型信息
+     * 
+     * @param airModelInfo 机型信息
+     * @return 结果
+     */
+    @Override
+    public int updateAirModelInfo(AirModelInfo airModelInfo)
+    {
+        airModelInfo.setUpdateTime(DateUtils.getNowDate());
+        return airModelInfoMapper.updateAirModelInfo(airModelInfo);
+    }
+
+    /**
+     * 批量删除机型信息
+     * 
+     * @param ids 需要删除的机型信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirModelInfoByIds(Long[] ids)
+    {
+        return airModelInfoMapper.deleteAirModelInfoByIds(ids);
+    }
+
+    /**
+     * 删除机型信息信息
+     * 
+     * @param id 机型信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirModelInfoById(Long id)
+    {
+        return airModelInfoMapper.deleteAirModelInfoById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirPartInfoServiceImpl.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.AirPartInfoMapper;
+import com.kgraph.web.domain.AirPartInfo;
+import com.kgraph.web.service.IAirPartInfoService;
+
+/**
+ * 部件基本信息Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirPartInfoServiceImpl implements IAirPartInfoService 
+{
+    @Autowired
+    private AirPartInfoMapper airPartInfoMapper;
+
+    /**
+     * 查询部件基本信息
+     * 
+     * @param id 部件基本信息主键
+     * @return 部件基本信息
+     */
+    @Override
+    public AirPartInfo selectAirPartInfoById(Long id)
+    {
+        return airPartInfoMapper.selectAirPartInfoById(id);
+    }
+
+    /**
+     * 查询部件基本信息列表
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 部件基本信息
+     */
+    @Override
+    public List<AirPartInfo> selectAirPartInfoList(AirPartInfo airPartInfo)
+    {
+        return airPartInfoMapper.selectAirPartInfoList(airPartInfo);
+    }
+
+    /**
+     * 新增部件基本信息
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 结果
+     */
+    @Override
+    public int insertAirPartInfo(AirPartInfo airPartInfo)
+    {
+        airPartInfo.setCreateTime(DateUtils.getNowDate());
+        return airPartInfoMapper.insertAirPartInfo(airPartInfo);
+    }
+
+    /**
+     * 修改部件基本信息
+     * 
+     * @param airPartInfo 部件基本信息
+     * @return 结果
+     */
+    @Override
+    public int updateAirPartInfo(AirPartInfo airPartInfo)
+    {
+        airPartInfo.setUpdateTime(DateUtils.getNowDate());
+        return airPartInfoMapper.updateAirPartInfo(airPartInfo);
+    }
+
+    /**
+     * 批量删除部件基本信息
+     * 
+     * @param ids 需要删除的部件基本信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirPartInfoByIds(Long[] ids)
+    {
+        return airPartInfoMapper.deleteAirPartInfoByIds(ids);
+    }
+
+    /**
+     * 删除部件基本信息信息
+     * 
+     * @param id 部件基本信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirPartInfoById(Long id)
+    {
+        return airPartInfoMapper.deleteAirPartInfoById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirPartStatusInfoServiceImpl.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.AirPartStatusInfoMapper;
+import com.kgraph.web.domain.AirPartStatusInfo;
+import com.kgraph.web.service.IAirPartStatusInfoService;
+
+/**
+ * 部件履历Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirPartStatusInfoServiceImpl implements IAirPartStatusInfoService 
+{
+    @Autowired
+    private AirPartStatusInfoMapper airPartStatusInfoMapper;
+
+    /**
+     * 查询部件履历
+     * 
+     * @param id 部件履历主键
+     * @return 部件履历
+     */
+    @Override
+    public AirPartStatusInfo selectAirPartStatusInfoById(Long id)
+    {
+        return airPartStatusInfoMapper.selectAirPartStatusInfoById(id);
+    }
+
+    /**
+     * 查询部件履历列表
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 部件履历
+     */
+    @Override
+    public List<AirPartStatusInfo> selectAirPartStatusInfoList(AirPartStatusInfo airPartStatusInfo)
+    {
+        return airPartStatusInfoMapper.selectAirPartStatusInfoList(airPartStatusInfo);
+    }
+
+    /**
+     * 新增部件履历
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 结果
+     */
+    @Override
+    public int insertAirPartStatusInfo(AirPartStatusInfo airPartStatusInfo)
+    {
+        airPartStatusInfo.setCreateTime(DateUtils.getNowDate());
+        return airPartStatusInfoMapper.insertAirPartStatusInfo(airPartStatusInfo);
+    }
+
+    /**
+     * 修改部件履历
+     * 
+     * @param airPartStatusInfo 部件履历
+     * @return 结果
+     */
+    @Override
+    public int updateAirPartStatusInfo(AirPartStatusInfo airPartStatusInfo)
+    {
+        airPartStatusInfo.setUpdateTime(DateUtils.getNowDate());
+        return airPartStatusInfoMapper.updateAirPartStatusInfo(airPartStatusInfo);
+    }
+
+    /**
+     * 批量删除部件履历
+     * 
+     * @param ids 需要删除的部件履历主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirPartStatusInfoByIds(Long[] ids)
+    {
+        return airPartStatusInfoMapper.deleteAirPartStatusInfoByIds(ids);
+    }
+
+    /**
+     * 删除部件履历信息
+     * 
+     * @param id 部件履历主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirPartStatusInfoById(Long id)
+    {
+        return airPartStatusInfoMapper.deleteAirPartStatusInfoById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSubsystemInfoServiceImpl.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.AirSubsystemInfoMapper;
+import com.kgraph.web.domain.AirSubsystemInfo;
+import com.kgraph.web.service.IAirSubsystemInfoService;
+
+/**
+ * 分系统基本信息Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirSubsystemInfoServiceImpl implements IAirSubsystemInfoService 
+{
+    @Autowired
+    private AirSubsystemInfoMapper airSubsystemInfoMapper;
+
+    /**
+     * 查询分系统基本信息
+     * 
+     * @param id 分系统基本信息主键
+     * @return 分系统基本信息
+     */
+    @Override
+    public AirSubsystemInfo selectAirSubsystemInfoById(Long id)
+    {
+        return airSubsystemInfoMapper.selectAirSubsystemInfoById(id);
+    }
+
+    /**
+     * 查询分系统基本信息列表
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 分系统基本信息
+     */
+    @Override
+    public List<AirSubsystemInfo> selectAirSubsystemInfoList(AirSubsystemInfo airSubsystemInfo)
+    {
+        return airSubsystemInfoMapper.selectAirSubsystemInfoList(airSubsystemInfo);
+    }
+
+    /**
+     * 新增分系统基本信息
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 结果
+     */
+    @Override
+    public int insertAirSubsystemInfo(AirSubsystemInfo airSubsystemInfo)
+    {
+        airSubsystemInfo.setCreateTime(DateUtils.getNowDate());
+        return airSubsystemInfoMapper.insertAirSubsystemInfo(airSubsystemInfo);
+    }
+
+    /**
+     * 修改分系统基本信息
+     * 
+     * @param airSubsystemInfo 分系统基本信息
+     * @return 结果
+     */
+    @Override
+    public int updateAirSubsystemInfo(AirSubsystemInfo airSubsystemInfo)
+    {
+        airSubsystemInfo.setUpdateTime(DateUtils.getNowDate());
+        return airSubsystemInfoMapper.updateAirSubsystemInfo(airSubsystemInfo);
+    }
+
+    /**
+     * 批量删除分系统基本信息
+     * 
+     * @param ids 需要删除的分系统基本信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSubsystemInfoByIds(Long[] ids)
+    {
+        return airSubsystemInfoMapper.deleteAirSubsystemInfoByIds(ids);
+    }
+
+    /**
+     * 删除分系统基本信息信息
+     * 
+     * @param id 分系统基本信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSubsystemInfoById(Long id)
+    {
+        return airSubsystemInfoMapper.deleteAirSubsystemInfoById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSubsystemStatusInfoServiceImpl.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.AirSubsystemStatusInfoMapper;
+import com.kgraph.web.domain.AirSubsystemStatusInfo;
+import com.kgraph.web.service.IAirSubsystemStatusInfoService;
+
+/**
+ * 分系统履历Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirSubsystemStatusInfoServiceImpl implements IAirSubsystemStatusInfoService 
+{
+    @Autowired
+    private AirSubsystemStatusInfoMapper airSubsystemStatusInfoMapper;
+
+    /**
+     * 查询分系统履历
+     * 
+     * @param id 分系统履历主键
+     * @return 分系统履历
+     */
+    @Override
+    public AirSubsystemStatusInfo selectAirSubsystemStatusInfoById(Long id)
+    {
+        return airSubsystemStatusInfoMapper.selectAirSubsystemStatusInfoById(id);
+    }
+
+    /**
+     * 查询分系统履历列表
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 分系统履历
+     */
+    @Override
+    public List<AirSubsystemStatusInfo> selectAirSubsystemStatusInfoList(AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        return airSubsystemStatusInfoMapper.selectAirSubsystemStatusInfoList(airSubsystemStatusInfo);
+    }
+
+    /**
+     * 新增分系统履历
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 结果
+     */
+    @Override
+    public int insertAirSubsystemStatusInfo(AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        airSubsystemStatusInfo.setCreateTime(DateUtils.getNowDate());
+        return airSubsystemStatusInfoMapper.insertAirSubsystemStatusInfo(airSubsystemStatusInfo);
+    }
+
+    /**
+     * 修改分系统履历
+     * 
+     * @param airSubsystemStatusInfo 分系统履历
+     * @return 结果
+     */
+    @Override
+    public int updateAirSubsystemStatusInfo(AirSubsystemStatusInfo airSubsystemStatusInfo)
+    {
+        airSubsystemStatusInfo.setUpdateTime(DateUtils.getNowDate());
+        return airSubsystemStatusInfoMapper.updateAirSubsystemStatusInfo(airSubsystemStatusInfo);
+    }
+
+    /**
+     * 批量删除分系统履历
+     * 
+     * @param ids 需要删除的分系统履历主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSubsystemStatusInfoByIds(Long[] ids)
+    {
+        return airSubsystemStatusInfoMapper.deleteAirSubsystemStatusInfoByIds(ids);
+    }
+
+    /**
+     * 删除分系统履历信息
+     * 
+     * @param id 分系统履历主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSubsystemStatusInfoById(Long id)
+    {
+        return airSubsystemStatusInfoMapper.deleteAirSubsystemStatusInfoById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSystemInfoServiceImpl.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.AirSystemInfoMapper;
+import com.kgraph.web.domain.AirSystemInfo;
+import com.kgraph.web.service.IAirSystemInfoService;
+
+/**
+ * 系统基本信息Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirSystemInfoServiceImpl implements IAirSystemInfoService 
+{
+    @Autowired
+    private AirSystemInfoMapper airSystemInfoMapper;
+
+    /**
+     * 查询系统基本信息
+     * 
+     * @param id 系统基本信息主键
+     * @return 系统基本信息
+     */
+    @Override
+    public AirSystemInfo selectAirSystemInfoById(Long id)
+    {
+        return airSystemInfoMapper.selectAirSystemInfoById(id);
+    }
+
+    /**
+     * 查询系统基本信息列表
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 系统基本信息
+     */
+    @Override
+    public List<AirSystemInfo> selectAirSystemInfoList(AirSystemInfo airSystemInfo)
+    {
+        return airSystemInfoMapper.selectAirSystemInfoList(airSystemInfo);
+    }
+
+    /**
+     * 新增系统基本信息
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 结果
+     */
+    @Override
+    public int insertAirSystemInfo(AirSystemInfo airSystemInfo)
+    {
+        airSystemInfo.setCreateTime(DateUtils.getNowDate());
+        return airSystemInfoMapper.insertAirSystemInfo(airSystemInfo);
+    }
+
+    /**
+     * 修改系统基本信息
+     * 
+     * @param airSystemInfo 系统基本信息
+     * @return 结果
+     */
+    @Override
+    public int updateAirSystemInfo(AirSystemInfo airSystemInfo)
+    {
+        airSystemInfo.setUpdateTime(DateUtils.getNowDate());
+        return airSystemInfoMapper.updateAirSystemInfo(airSystemInfo);
+    }
+
+    /**
+     * 批量删除系统基本信息
+     * 
+     * @param ids 需要删除的系统基本信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSystemInfoByIds(Long[] ids)
+    {
+        return airSystemInfoMapper.deleteAirSystemInfoByIds(ids);
+    }
+
+    /**
+     * 删除系统基本信息信息
+     * 
+     * @param id 系统基本信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSystemInfoById(Long id)
+    {
+        return airSystemInfoMapper.deleteAirSystemInfoById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/AirSystemStatusInfoServiceImpl.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.AirSystemStatusInfoMapper;
+import com.kgraph.web.domain.AirSystemStatusInfo;
+import com.kgraph.web.service.IAirSystemStatusInfoService;
+
+/**
+ * 系统履历Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class AirSystemStatusInfoServiceImpl implements IAirSystemStatusInfoService 
+{
+    @Autowired
+    private AirSystemStatusInfoMapper airSystemStatusInfoMapper;
+
+    /**
+     * 查询系统履历
+     * 
+     * @param id 系统履历主键
+     * @return 系统履历
+     */
+    @Override
+    public AirSystemStatusInfo selectAirSystemStatusInfoById(Long id)
+    {
+        return airSystemStatusInfoMapper.selectAirSystemStatusInfoById(id);
+    }
+
+    /**
+     * 查询系统履历列表
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 系统履历
+     */
+    @Override
+    public List<AirSystemStatusInfo> selectAirSystemStatusInfoList(AirSystemStatusInfo airSystemStatusInfo)
+    {
+        return airSystemStatusInfoMapper.selectAirSystemStatusInfoList(airSystemStatusInfo);
+    }
+
+    /**
+     * 新增系统履历
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 结果
+     */
+    @Override
+    public int insertAirSystemStatusInfo(AirSystemStatusInfo airSystemStatusInfo)
+    {
+        airSystemStatusInfo.setCreateTime(DateUtils.getNowDate());
+        return airSystemStatusInfoMapper.insertAirSystemStatusInfo(airSystemStatusInfo);
+    }
+
+    /**
+     * 修改系统履历
+     * 
+     * @param airSystemStatusInfo 系统履历
+     * @return 结果
+     */
+    @Override
+    public int updateAirSystemStatusInfo(AirSystemStatusInfo airSystemStatusInfo)
+    {
+        airSystemStatusInfo.setUpdateTime(DateUtils.getNowDate());
+        return airSystemStatusInfoMapper.updateAirSystemStatusInfo(airSystemStatusInfo);
+    }
+
+    /**
+     * 批量删除系统履历
+     * 
+     * @param ids 需要删除的系统履历主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSystemStatusInfoByIds(Long[] ids)
+    {
+        return airSystemStatusInfoMapper.deleteAirSystemStatusInfoByIds(ids);
+    }
+
+    /**
+     * 删除系统履历信息
+     * 
+     * @param id 系统履历主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAirSystemStatusInfoById(Long id)
+    {
+        return airSystemStatusInfoMapper.deleteAirSystemStatusInfoById(id);
+    }
+}

+ 29 - 1
kgraph-admin/src/main/java/com/kgraph/web/service/impl/BreakdownServiceImpl.java

@@ -12,7 +12,7 @@ import com.kgraph.web.service.IBreakdownService;
  * 故障信息Service业务层处理
  * 
  * @author Allen
- * @date 2023-04-13
+ * @date 2023-04-16
  */
 @Service
 public class BreakdownServiceImpl implements IBreakdownService 
@@ -93,4 +93,32 @@ public class BreakdownServiceImpl implements IBreakdownService
     {
         return breakdownMapper.deleteBreakdownById(id);
     }
+
+    @Override
+    public String excelImport(List<Breakdown> breakdownList) {
+        for (Breakdown breakdown : breakdownList) {
+            if (breakdown.getId() == null) {
+                breakdownMapper.insertBreakdown(breakdown);
+            } else {
+                breakdownMapper.updateBreakdown(breakdown);
+            }
+        }
+        return "上传成功";
+    }
+
+    @Override
+    public List getBreakDownCountByMonth() {
+        return breakdownMapper.getBreakDownCountByMonth();
+    }
+
+    @Override
+    public List getAirplaneModelCountByMonth(String date) {
+        return breakdownMapper.getAirplaneModelCountByMonth(date);
+    }
+
+    @Override
+    public List getMajorCountByMonth(String date) {
+        return breakdownMapper.getMajorCountByMonth(date);
+    }
+
 }

+ 96 - 0
kgraph-admin/src/main/java/com/kgraph/web/service/impl/ModelComponentServiceImpl.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.ModelComponentMapper;
+import com.kgraph.web.domain.ModelComponent;
+import com.kgraph.web.service.IModelComponentService;
+
+/**
+ * 型号构型信息Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-04-16
+ */
+@Service
+public class ModelComponentServiceImpl implements IModelComponentService 
+{
+    @Autowired
+    private ModelComponentMapper modelComponentMapper;
+
+    /**
+     * 查询型号构型信息
+     * 
+     * @param id 型号构型信息主键
+     * @return 型号构型信息
+     */
+    @Override
+    public ModelComponent selectModelComponentById(Long id)
+    {
+        return modelComponentMapper.selectModelComponentById(id);
+    }
+
+    /**
+     * 查询型号构型信息列表
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 型号构型信息
+     */
+    @Override
+    public List<ModelComponent> selectModelComponentList(ModelComponent modelComponent)
+    {
+        return modelComponentMapper.selectModelComponentList(modelComponent);
+    }
+
+    /**
+     * 新增型号构型信息
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 结果
+     */
+    @Override
+    public int insertModelComponent(ModelComponent modelComponent)
+    {
+        modelComponent.setCreateTime(DateUtils.getNowDate());
+        return modelComponentMapper.insertModelComponent(modelComponent);
+    }
+
+    /**
+     * 修改型号构型信息
+     * 
+     * @param modelComponent 型号构型信息
+     * @return 结果
+     */
+    @Override
+    public int updateModelComponent(ModelComponent modelComponent)
+    {
+        modelComponent.setUpdateTime(DateUtils.getNowDate());
+        return modelComponentMapper.updateModelComponent(modelComponent);
+    }
+
+    /**
+     * 批量删除型号构型信息
+     * 
+     * @param ids 需要删除的型号构型信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteModelComponentByIds(Long[] ids)
+    {
+        return modelComponentMapper.deleteModelComponentByIds(ids);
+    }
+
+    /**
+     * 删除型号构型信息信息
+     * 
+     * @param id 型号构型信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteModelComponentById(Long id)
+    {
+        return modelComponentMapper.deleteModelComponentById(id);
+    }
+}

+ 96 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirModelInfoMapper.xml

@@ -0,0 +1,96 @@
+<?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.AirModelInfoMapper">
+    
+    <resultMap type="AirModelInfo" id="AirModelInfoResult">
+        <result property="id"    column="id"    />
+        <result property="airNumber"    column="air_number"    />
+        <result property="modelComponentId"    column="model_component_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="version"    column="version"    />
+        <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="selectAirModelInfoVo">
+        select id, air_number, model_component_id, model_number, serial, production_date, version, create_by, create_time, update_by, update_time from t_air_model_info
+    </sql>
+
+    <select id="selectAirModelInfoList" parameterType="AirModelInfo" resultMap="AirModelInfoResult">
+        <include refid="selectAirModelInfoVo"/>
+        <where>  
+            <if test="airNumber != null  and airNumber != ''"> and air_number = #{airNumber}</if>
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirModelInfoById" parameterType="Long" resultMap="AirModelInfoResult">
+        <include refid="selectAirModelInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirModelInfo" parameterType="AirModelInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_model_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="airNumber != null">air_number,</if>
+            <if test="modelComponentId != null">model_component_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="version != null">version,</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="airNumber != null">#{airNumber},</if>
+            <if test="modelComponentId != null">#{modelComponentId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="version != null">#{version},</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="updateAirModelInfo" parameterType="AirModelInfo">
+        update t_air_model_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="airNumber != null">air_number = #{airNumber},</if>
+            <if test="modelComponentId != null">model_component_id = #{modelComponentId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="version != null">version = #{version},</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="deleteAirModelInfoById" parameterType="Long">
+        delete from t_air_model_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirModelInfoByIds" parameterType="String">
+        delete from t_air_model_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 97 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirPartInfoMapper.xml

@@ -0,0 +1,97 @@
+<?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.AirPartInfoMapper">
+    
+    <resultMap type="AirPartInfo" id="AirPartInfoResult">
+        <result property="id"    column="id"    />
+        <result property="modelComponentId"    column="model_component_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="manufacturerInfo"    column="manufacturer_info"    />
+        <result property="version"    column="version"    />
+        <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="selectAirPartInfoVo">
+        select id, model_component_id, model_number, serial, production_date, manufacturer_info, version, create_by, create_time, update_by, update_time from t_air_part_info
+    </sql>
+
+    <select id="selectAirPartInfoList" parameterType="AirPartInfo" resultMap="AirPartInfoResult">
+        <include refid="selectAirPartInfoVo"/>
+        <where>  
+            <if test="modelComponentId != null "> and model_component_id = #{modelComponentId}</if>
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="manufacturerInfo != null  and manufacturerInfo != ''"> and manufacturer_info = #{manufacturerInfo}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirPartInfoById" parameterType="Long" resultMap="AirPartInfoResult">
+        <include refid="selectAirPartInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirPartInfo" parameterType="AirPartInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_part_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="modelComponentId != null">model_component_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="manufacturerInfo != null">manufacturer_info,</if>
+            <if test="version != null">version,</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="modelComponentId != null">#{modelComponentId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="manufacturerInfo != null">#{manufacturerInfo},</if>
+            <if test="version != null">#{version},</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="updateAirPartInfo" parameterType="AirPartInfo">
+        update t_air_part_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="modelComponentId != null">model_component_id = #{modelComponentId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="manufacturerInfo != null">manufacturer_info = #{manufacturerInfo},</if>
+            <if test="version != null">version = #{version},</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="deleteAirPartInfoById" parameterType="Long">
+        delete from t_air_part_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirPartInfoByIds" parameterType="String">
+        delete from t_air_part_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 106 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirPartStatusInfoMapper.xml

@@ -0,0 +1,106 @@
+<?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.AirPartStatusInfoMapper">
+    
+    <resultMap type="AirPartStatusInfo" id="AirPartStatusInfoResult">
+        <result property="id"    column="id"    />
+        <result property="airPartId"    column="air_part_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="version"    column="version"    />
+        <result property="versionUpdateDate"    column="version_update_date"    />
+        <result property="repairTimes"    column="repair_times"    />
+        <result property="repairDate"    column="repair_date"    />
+        <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="selectAirPartStatusInfoVo">
+        select id, air_part_id, model_number, serial, production_date, version, version_update_date, repair_times, repair_date, create_by, create_time, update_by, update_time from t_air_part_status_info
+    </sql>
+
+    <select id="selectAirPartStatusInfoList" parameterType="AirPartStatusInfo" resultMap="AirPartStatusInfoResult">
+        <include refid="selectAirPartStatusInfoVo"/>
+        <where>  
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+            <if test="versionUpdateDate != null "> and version_update_date = #{versionUpdateDate}</if>
+            <if test="repairTimes != null "> and repair_times = #{repairTimes}</if>
+            <if test="repairDate != null "> and repair_date = #{repairDate}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirPartStatusInfoById" parameterType="Long" resultMap="AirPartStatusInfoResult">
+        <include refid="selectAirPartStatusInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirPartStatusInfo" parameterType="AirPartStatusInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_part_status_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="airPartId != null">air_part_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="version != null">version,</if>
+            <if test="versionUpdateDate != null">version_update_date,</if>
+            <if test="repairTimes != null">repair_times,</if>
+            <if test="repairDate != null">repair_date,</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="airPartId != null">#{airPartId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="version != null">#{version},</if>
+            <if test="versionUpdateDate != null">#{versionUpdateDate},</if>
+            <if test="repairTimes != null">#{repairTimes},</if>
+            <if test="repairDate != null">#{repairDate},</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="updateAirPartStatusInfo" parameterType="AirPartStatusInfo">
+        update t_air_part_status_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="airPartId != null">air_part_id = #{airPartId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="versionUpdateDate != null">version_update_date = #{versionUpdateDate},</if>
+            <if test="repairTimes != null">repair_times = #{repairTimes},</if>
+            <if test="repairDate != null">repair_date = #{repairDate},</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="deleteAirPartStatusInfoById" parameterType="Long">
+        delete from t_air_part_status_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirPartStatusInfoByIds" parameterType="String">
+        delete from t_air_part_status_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 97 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirSubsystemInfoMapper.xml

@@ -0,0 +1,97 @@
+<?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.AirSubsystemInfoMapper">
+    
+    <resultMap type="AirSubsystemInfo" id="AirSubsystemInfoResult">
+        <result property="id"    column="id"    />
+        <result property="modelComponentId"    column="model_component_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="manufacturerInfo"    column="manufacturer_info"    />
+        <result property="version"    column="version"    />
+        <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="selectAirSubsystemInfoVo">
+        select id, model_component_id, model_number, serial, production_date, manufacturer_info, version, create_by, create_time, update_by, update_time from t_air_subsystem_info
+    </sql>
+
+    <select id="selectAirSubsystemInfoList" parameterType="AirSubsystemInfo" resultMap="AirSubsystemInfoResult">
+        <include refid="selectAirSubsystemInfoVo"/>
+        <where>  
+            <if test="modelComponentId != null "> and model_component_id = #{modelComponentId}</if>
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="manufacturerInfo != null  and manufacturerInfo != ''"> and manufacturer_info = #{manufacturerInfo}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirSubsystemInfoById" parameterType="Long" resultMap="AirSubsystemInfoResult">
+        <include refid="selectAirSubsystemInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirSubsystemInfo" parameterType="AirSubsystemInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_subsystem_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="modelComponentId != null">model_component_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="manufacturerInfo != null">manufacturer_info,</if>
+            <if test="version != null">version,</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="modelComponentId != null">#{modelComponentId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="manufacturerInfo != null">#{manufacturerInfo},</if>
+            <if test="version != null">#{version},</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="updateAirSubsystemInfo" parameterType="AirSubsystemInfo">
+        update t_air_subsystem_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="modelComponentId != null">model_component_id = #{modelComponentId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="manufacturerInfo != null">manufacturer_info = #{manufacturerInfo},</if>
+            <if test="version != null">version = #{version},</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="deleteAirSubsystemInfoById" parameterType="Long">
+        delete from t_air_subsystem_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirSubsystemInfoByIds" parameterType="String">
+        delete from t_air_subsystem_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 106 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirSubsystemStatusInfoMapper.xml

@@ -0,0 +1,106 @@
+<?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.AirSubsystemStatusInfoMapper">
+    
+    <resultMap type="AirSubsystemStatusInfo" id="AirSubsystemStatusInfoResult">
+        <result property="id"    column="id"    />
+        <result property="airSubsystemId"    column="air_subsystem_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="version"    column="version"    />
+        <result property="versionUpdateDate"    column="version_update_date"    />
+        <result property="repairTimes"    column="repair_times"    />
+        <result property="repairDate"    column="repair_date"    />
+        <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="selectAirSubsystemStatusInfoVo">
+        select id, air_subsystem_id, model_number, serial, production_date, version, version_update_date, repair_times, repair_date, create_by, create_time, update_by, update_time from t_air_subsystem_status_info
+    </sql>
+
+    <select id="selectAirSubsystemStatusInfoList" parameterType="AirSubsystemStatusInfo" resultMap="AirSubsystemStatusInfoResult">
+        <include refid="selectAirSubsystemStatusInfoVo"/>
+        <where>  
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+            <if test="versionUpdateDate != null "> and version_update_date = #{versionUpdateDate}</if>
+            <if test="repairTimes != null "> and repair_times = #{repairTimes}</if>
+            <if test="repairDate != null "> and repair_date = #{repairDate}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirSubsystemStatusInfoById" parameterType="Long" resultMap="AirSubsystemStatusInfoResult">
+        <include refid="selectAirSubsystemStatusInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirSubsystemStatusInfo" parameterType="AirSubsystemStatusInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_subsystem_status_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="airSubsystemId != null">air_subsystem_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="version != null">version,</if>
+            <if test="versionUpdateDate != null">version_update_date,</if>
+            <if test="repairTimes != null">repair_times,</if>
+            <if test="repairDate != null">repair_date,</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="airSubsystemId != null">#{airSubsystemId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="version != null">#{version},</if>
+            <if test="versionUpdateDate != null">#{versionUpdateDate},</if>
+            <if test="repairTimes != null">#{repairTimes},</if>
+            <if test="repairDate != null">#{repairDate},</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="updateAirSubsystemStatusInfo" parameterType="AirSubsystemStatusInfo">
+        update t_air_subsystem_status_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="airSubsystemId != null">air_subsystem_id = #{airSubsystemId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="versionUpdateDate != null">version_update_date = #{versionUpdateDate},</if>
+            <if test="repairTimes != null">repair_times = #{repairTimes},</if>
+            <if test="repairDate != null">repair_date = #{repairDate},</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="deleteAirSubsystemStatusInfoById" parameterType="Long">
+        delete from t_air_subsystem_status_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirSubsystemStatusInfoByIds" parameterType="String">
+        delete from t_air_subsystem_status_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 96 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirSystemInfoMapper.xml

@@ -0,0 +1,96 @@
+<?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.AirSystemInfoMapper">
+    
+    <resultMap type="AirSystemInfo" id="AirSystemInfoResult">
+        <result property="id"    column="id"    />
+        <result property="modelComponentId"    column="model_component_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="manufacturerInfo"    column="manufacturer_info"    />
+        <result property="version"    column="version"    />
+        <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="selectAirSystemInfoVo">
+        select id, model_component_id, model_number, serial, production_date, manufacturer_info, version, create_by, create_time, update_by, update_time from t_air_system_info
+    </sql>
+
+    <select id="selectAirSystemInfoList" parameterType="AirSystemInfo" resultMap="AirSystemInfoResult">
+        <include refid="selectAirSystemInfoVo"/>
+        <where>  
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="manufacturerInfo != null  and manufacturerInfo != ''"> and manufacturer_info = #{manufacturerInfo}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirSystemInfoById" parameterType="Long" resultMap="AirSystemInfoResult">
+        <include refid="selectAirSystemInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirSystemInfo" parameterType="AirSystemInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_system_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="modelComponentId != null">model_component_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="manufacturerInfo != null">manufacturer_info,</if>
+            <if test="version != null">version,</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="modelComponentId != null">#{modelComponentId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="manufacturerInfo != null">#{manufacturerInfo},</if>
+            <if test="version != null">#{version},</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="updateAirSystemInfo" parameterType="AirSystemInfo">
+        update t_air_system_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="modelComponentId != null">model_component_id = #{modelComponentId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="manufacturerInfo != null">manufacturer_info = #{manufacturerInfo},</if>
+            <if test="version != null">version = #{version},</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="deleteAirSystemInfoById" parameterType="Long">
+        delete from t_air_system_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirSystemInfoByIds" parameterType="String">
+        delete from t_air_system_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 106 - 0
kgraph-admin/src/main/resources/mapper/ledger/AirSystemStatusInfoMapper.xml

@@ -0,0 +1,106 @@
+<?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.AirSystemStatusInfoMapper">
+    
+    <resultMap type="AirSystemStatusInfo" id="AirSystemStatusInfoResult">
+        <result property="id"    column="id"    />
+        <result property="airSystemId"    column="air_system_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="serial"    column="serial"    />
+        <result property="productionDate"    column="production_date"    />
+        <result property="version"    column="version"    />
+        <result property="versionUpdateDate"    column="version_update_date"    />
+        <result property="repairTimes"    column="repair_times"    />
+        <result property="repairDate"    column="repair_date"    />
+        <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="selectAirSystemStatusInfoVo">
+        select id, air_system_id, model_number, serial, production_date, version, version_update_date, repair_times, repair_date, create_by, create_time, update_by, update_time from t_air_system_status_info
+    </sql>
+
+    <select id="selectAirSystemStatusInfoList" parameterType="AirSystemStatusInfo" resultMap="AirSystemStatusInfoResult">
+        <include refid="selectAirSystemStatusInfoVo"/>
+        <where>  
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="serial != null  and serial != ''"> and serial = #{serial}</if>
+            <if test="productionDate != null "> and production_date = #{productionDate}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+            <if test="versionUpdateDate != null "> and version_update_date = #{versionUpdateDate}</if>
+            <if test="repairTimes != null "> and repair_times = #{repairTimes}</if>
+            <if test="repairDate != null "> and repair_date = #{repairDate}</if>
+        </where>
+    </select>
+    
+    <select id="selectAirSystemStatusInfoById" parameterType="Long" resultMap="AirSystemStatusInfoResult">
+        <include refid="selectAirSystemStatusInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAirSystemStatusInfo" parameterType="AirSystemStatusInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into t_air_system_status_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="airSystemId != null">air_system_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="serial != null">serial,</if>
+            <if test="productionDate != null">production_date,</if>
+            <if test="version != null">version,</if>
+            <if test="versionUpdateDate != null">version_update_date,</if>
+            <if test="repairTimes != null">repair_times,</if>
+            <if test="repairDate != null">repair_date,</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="airSystemId != null">#{airSystemId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="serial != null">#{serial},</if>
+            <if test="productionDate != null">#{productionDate},</if>
+            <if test="version != null">#{version},</if>
+            <if test="versionUpdateDate != null">#{versionUpdateDate},</if>
+            <if test="repairTimes != null">#{repairTimes},</if>
+            <if test="repairDate != null">#{repairDate},</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="updateAirSystemStatusInfo" parameterType="AirSystemStatusInfo">
+        update t_air_system_status_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="airSystemId != null">air_system_id = #{airSystemId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="serial != null">serial = #{serial},</if>
+            <if test="productionDate != null">production_date = #{productionDate},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="versionUpdateDate != null">version_update_date = #{versionUpdateDate},</if>
+            <if test="repairTimes != null">repair_times = #{repairTimes},</if>
+            <if test="repairDate != null">repair_date = #{repairDate},</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="deleteAirSystemStatusInfoById" parameterType="Long">
+        delete from t_air_system_status_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAirSystemStatusInfoByIds" parameterType="String">
+        delete from t_air_system_status_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 87 - 0
kgraph-admin/src/main/resources/mapper/ledger/ModelComponentMapper.xml

@@ -0,0 +1,87 @@
+<?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.ModelComponentMapper">
+    
+    <resultMap type="ModelComponent" id="ModelComponentResult">
+        <result property="id"    column="id"    />
+        <result property="type"    column="type"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="name"    column="name"    />
+        <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="selectModelComponentVo">
+        select id, type, parent_id, model_number, name, create_by, create_time, update_by, update_time from t_model_component
+    </sql>
+
+    <select id="selectModelComponentList" parameterType="ModelComponent" resultMap="ModelComponentResult">
+        <include refid="selectModelComponentVo"/>
+        <where>  
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="parentId != null "> and parent_id = #{parentId}</if>
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+        </where>
+    </select>
+    
+    <select id="selectModelComponentById" parameterType="Long" resultMap="ModelComponentResult">
+        <include refid="selectModelComponentVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertModelComponent" parameterType="ModelComponent" useGeneratedKeys="true" keyProperty="id">
+        insert into t_model_component
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="type != null">type,</if>
+            <if test="parentId != null">parent_id,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="name != null">name,</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="type != null">#{type},</if>
+            <if test="parentId != null">#{parentId},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="name != null">#{name},</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="updateModelComponent" parameterType="ModelComponent">
+        update t_model_component
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="type != null">type = #{type},</if>
+            <if test="parentId != null">parent_id = #{parentId},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="name != null">name = #{name},</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="deleteModelComponentById" parameterType="Long">
+        delete from t_model_component where id = #{id}
+    </delete>
+
+    <delete id="deleteModelComponentByIds" parameterType="String">
+        delete from t_model_component where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 108 - 44
kgraph-admin/src/main/resources/mapper/showInfo/BreakdownMapper.xml

@@ -7,21 +7,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="Breakdown" id="BreakdownResult">
         <result property="id"    column="id"    />
         <result property="warZone"    column="war_zone"    />
-        <result property="organization"    column="organization"    />
+        <result property="base"    column="base"    />
+        <result property="division"    column="division"    />
+        <result property="brigade"    column="brigade"    />
+        <result property="airplaneModel"    column="airplane_model"    />
+        <result property="airNumber"    column="air_number"    />
         <result property="discoveryTiming"    column="discovery_timing"    />
+        <result property="discoveryDate"    column="discovery_date"    />
         <result property="major"    column="major"    />
         <result property="describe"    column="describe"    />
         <result property="reason"    column="reason"    />
-        <result property="unitName"    column="unit_name"    />
-        <result property="unitType"    column="unit_type"    />
+        <result property="breakdownUnitName"    column="breakdown_unit_name"    />
+        <result property="breakdownUnitType"    column="breakdown_unit_type"    />
+        <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="name"    column="name"    />
-        <result property="number"    column="number"    />
+        <result property="replaceUnitName"    column="replace_unit_name"    />
+        <result property="replaceUnitType"    column="replace_unit_type"    />
+        <result property="replaceUnitNumber"    column="replace_unit_number"    />
         <result property="method"    column="method"    />
-        <result property="repairTime"    column="repair_time"    />
-        <result property="status"    column="status"    />
         <result property="createBy"    column="create_by"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateBy"    column="update_by"    />
@@ -29,28 +33,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectBreakdownVo">
-        select id, war_zone, organization, discovery_timing, major, describe, reason, unit_name, unit_type, unit_system, consequence, duty, name, number, method, repair_time, status, 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, replace_unit_name, replace_unit_type, replace_unit_number, method, create_by, create_time, update_by, update_time from t_breakdown
     </sql>
 
     <select id="selectBreakdownList" parameterType="Breakdown" resultMap="BreakdownResult">
         <include refid="selectBreakdownVo"/>
         <where>  
             <if test="warZone != null  and warZone != ''"> and war_zone = #{warZone}</if>
-            <if test="organization != null  and organization != ''"> and organization = #{organization}</if>
+            <if test="base != null  and base != ''"> and base = #{base}</if>
+            <if test="division != null  and division != ''"> and division = #{division}</if>
+            <if test="brigade != null  and brigade != ''"> and brigade = #{brigade}</if>
+            <if test="airplaneModel != null  and airplaneModel != ''"> and airplane_model = #{airplaneModel}</if>
+            <if test="airNumber != null  and airNumber != ''"> and air_number = #{airNumber}</if>
             <if test="discoveryTiming != null  and discoveryTiming != ''"> and discovery_timing = #{discoveryTiming}</if>
+            <if test="discoveryDate != null "> and discovery_date = #{discoveryDate}</if>
             <if test="major != null  and major != ''"> and major = #{major}</if>
-            <if test="describe != null  and describe != ''"> and describe = #{describe}</if>
+            <if test="describe != null  and describe != ''"> and `describe` = #{describe}</if>
             <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
-            <if test="unitName != null  and unitName != ''"> and unit_name like concat('%', #{unitName}, '%')</if>
-            <if test="unitType != null  and unitType != ''"> and unit_type = #{unitType}</if>
+            <if test="breakdownUnitName != null  and breakdownUnitName != ''"> and breakdown_unit_name like concat('%', #{breakdownUnitName}, '%')</if>
+            <if test="breakdownUnitType != null  and breakdownUnitType != ''"> and breakdown_unit_type = #{breakdownUnitType}</if>
+            <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="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
-            <if test="number != null  and number != ''"> and number = #{number}</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>
             <if test="method != null  and method != ''"> and method = #{method}</if>
-            <if test="repairTime != null "> and repair_time = #{repairTime}</if>
-            <if test="status != null  and status != ''"> and status = #{status}</if>
         </where>
     </select>
     
@@ -63,21 +71,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         insert into t_breakdown
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="warZone != null">war_zone,</if>
-            <if test="organization != null">organization,</if>
+            <if test="base != null">base,</if>
+            <if test="division != null">division,</if>
+            <if test="brigade != null">brigade,</if>
+            <if test="airplaneModel != null">airplane_model,</if>
+            <if test="airNumber != null">air_number,</if>
             <if test="discoveryTiming != null">discovery_timing,</if>
+            <if test="discoveryDate != null">discovery_date,</if>
             <if test="major != null">major,</if>
-            <if test="describe != null">describe,</if>
+            <if test="describe != null">`describe`,</if>
             <if test="reason != null">reason,</if>
-            <if test="unitName != null">unit_name,</if>
-            <if test="unitType != null">unit_type,</if>
+            <if test="breakdownUnitName != null">breakdown_unit_name,</if>
+            <if test="breakdownUnitType != null">breakdown_unit_type,</if>
+            <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="name != null">name,</if>
-            <if test="number != null">number,</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>
             <if test="method != null">method,</if>
-            <if test="repairTime != null">repair_time,</if>
-            <if test="status != null">status,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
@@ -85,21 +97,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="warZone != null">#{warZone},</if>
-            <if test="organization != null">#{organization},</if>
+            <if test="base != null">#{base},</if>
+            <if test="division != null">#{division},</if>
+            <if test="brigade != null">#{brigade},</if>
+            <if test="airplaneModel != null">#{airplaneModel},</if>
+            <if test="airNumber != null">#{airNumber},</if>
             <if test="discoveryTiming != null">#{discoveryTiming},</if>
+            <if test="discoveryDate != null">#{discoveryDate},</if>
             <if test="major != null">#{major},</if>
             <if test="describe != null">#{describe},</if>
             <if test="reason != null">#{reason},</if>
-            <if test="unitName != null">#{unitName},</if>
-            <if test="unitType != null">#{unitType},</if>
+            <if test="breakdownUnitName != null">#{breakdownUnitName},</if>
+            <if test="breakdownUnitType != null">#{breakdownUnitType},</if>
+            <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="name != null">#{name},</if>
-            <if test="number != null">#{number},</if>
+            <if test="replaceUnitName != null">#{replaceUnitName},</if>
+            <if test="replaceUnitType != null">#{replaceUnitType},</if>
+            <if test="replaceUnitNumber != null">#{replaceUnitNumber},</if>
             <if test="method != null">#{method},</if>
-            <if test="repairTime != null">#{repairTime},</if>
-            <if test="status != null">#{status},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
@@ -111,21 +127,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update t_breakdown
         <trim prefix="SET" suffixOverrides=",">
             <if test="warZone != null">war_zone = #{warZone},</if>
-            <if test="organization != null">organization = #{organization},</if>
+            <if test="base != null">base = #{base},</if>
+            <if test="division != null">division = #{division},</if>
+            <if test="brigade != null">brigade = #{brigade},</if>
+            <if test="airplaneModel != null">airplane_model = #{airplaneModel},</if>
+            <if test="airNumber != null">air_number = #{airNumber},</if>
             <if test="discoveryTiming != null">discovery_timing = #{discoveryTiming},</if>
+            <if test="discoveryDate != null">discovery_date = #{discoveryDate},</if>
             <if test="major != null">major = #{major},</if>
-            <if test="describe != null">describe = #{describe},</if>
+            <if test="describe != null">`describe` = #{describe},</if>
             <if test="reason != null">reason = #{reason},</if>
-            <if test="unitName != null">unit_name = #{unitName},</if>
-            <if test="unitType != null">unit_type = #{unitType},</if>
+            <if test="breakdownUnitName != null">breakdown_unit_name = #{breakdownUnitName},</if>
+            <if test="breakdownUnitType != null">breakdown_unit_type = #{breakdownUnitType},</if>
+            <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="name != null">name = #{name},</if>
-            <if test="number != null">number = #{number},</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>
             <if test="method != null">method = #{method},</if>
-            <if test="repairTime != null">repair_time = #{repairTime},</if>
-            <if test="status != null">status = #{status},</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>
@@ -144,4 +164,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <select id="getBreakDownCountByMonth" resultType="Map">
+        SELECT
+            DATE_FORMAT( discovery_date, '%Y-%m' ) `date`,
+            count(*) `value`
+        FROM
+            t_breakdown
+        GROUP BY
+            DATE_FORMAT( discovery_date, '%Y-%m' )
+        ORDER BY
+            DATE_FORMAT( discovery_date, '%Y-%m' ) DESC
+        LIMIT 6
+    </select>
+    <select id="getAirplaneModelCountByMonth" resultType="Map" parameterType="String">
+        SELECT
+            airplane_Model `name`,
+            count(*) `value`
+        FROM
+            t_breakdown
+        WHERE
+        <choose>
+            <when test="name != null">DATE_FORMAT( discovery_date, '%Y-%m' ) = #{value} </when>
+            <otherwise>
+                DATE_FORMAT( discovery_date, '%Y-%m' ) = DATE_FORMAT( now(), '%Y-%m' )
+            </otherwise>
+        </choose>
+        GROUP BY airplane_Model
+    </select>
+
+    <select id="getMajorCountByMonth" resultType="Map" parameterType="String">
+        SELECT
+            major `name`,
+            count(*) `value`
+        FROM
+            t_breakdown
+        WHERE
+        <choose>
+            <when test="name != null">DATE_FORMAT( discovery_date, '%Y-%m' ) = #{value} </when>
+            <otherwise>
+                DATE_FORMAT( discovery_date, '%Y-%m' ) = DATE_FORMAT( now(), '%Y-%m' )
+            </otherwise>
+        </choose>
+        GROUP BY major
+    </select>
 </mapper>

+ 0 - 14
kgraph-graph/src/main/java/com/kgraph/graph/suport/utils/GraphUtils.java

@@ -1,14 +0,0 @@
-package com.kgraph.graph.suport.utils;
-
-import com.kgraph.common.config.KgraphConfig;
-import com.kgraph.common.utils.file.FileUtils;
-
-public class GraphUtils {
-    public String getFileRealPath(String filePath) {
-        String realFileName = FileUtils.getFileNameByPath(filePath);
-        if (filePath.startsWith(KgraphConfig.UPLOAD_HEAD_PATH)) {
-            filePath = filePath.substring(KgraphConfig.UPLOAD_HEAD_PATH_LENGTH);
-        }
-        return KgraphConfig.getUploadPath() + filePath;
-    }
-}

+ 142 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/utils/SupportUtils.java

@@ -0,0 +1,142 @@
+package com.kgraph.graph.suport.utils;
+
+import com.kgraph.common.config.KgraphConfig;
+import com.kgraph.common.utils.file.FileUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.text.PDFTextStripper;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+
+public class SupportUtils {
+
+    public static final int NUM_IN_LINE_PDF_SEED = 40;
+    public static final int UN_END_LIST_SIZE = 5;
+
+    public static final List<String> END_CODE_LIST = new ArrayList() {
+        {
+            add("。");
+            add("!");
+            add("?");
+            add(".");
+            add(",");
+            add("?");
+            add(")");
+            add("]");
+            add(":");
+            add(":");
+        }
+    };
+
+    public static String getFileRealPath(String filePath) {
+        String realFileName = FileUtils.getFileNameByPath(filePath);
+        if (filePath.startsWith(KgraphConfig.UPLOAD_HEAD_PATH)) {
+            filePath = filePath.substring(KgraphConfig.UPLOAD_HEAD_PATH_LENGTH);
+        }
+        return KgraphConfig.getUploadPath() + filePath;
+    }
+
+    public static String pdfToText(String filePath) throws IOException {
+        String fileRealPath = getFileRealPath(filePath);
+        File file = new File(fileRealPath);
+        if (file.exists()) {
+            PDDocument doc = PDDocument.load(file);
+            String text = new PDFTextStripper().getText(doc);
+            return formatPdfText(text);
+        }
+        return null;
+    }
+
+    /**
+     * 获取pdf的内容,转换pdf的换行符
+     * 1. 获取每一小段文字内容
+     * 2. 获取自然段,
+     * 2.1 只有一行,直接返回
+     * 2.2 多行
+     * 2.2.1 获取段落容量种子数 @SupportUtils.getLineNumberSeed
+     * 2.2.2 是结束语句并且小于种子数
+     *
+     * @param text text
+     * @return return
+     */
+    public static String formatPdfText(String text) {
+        String[] subTexts = text.split(System.lineSeparator());
+        int length = subTexts.length;
+        if (length <= 1) {
+            return text;
+        } else {
+            int lineNumberSeed = getLineNumberSeed(subTexts, length);
+            System.out.println("lineNumberSeed:"+lineNumberSeed);
+            StringJoiner textSj = new StringJoiner(System.lineSeparator());
+            StringBuilder testSb = new StringBuilder();
+            for (String subText : subTexts) {
+                if (StringUtils.isBlank(subText)) {
+                    textSj.add(subText);
+                } else {
+                    testSb.append(subText);
+                    int subTextLength = subText.length();
+                    if (
+                            END_CODE_LIST.contains(subText.substring(subTextLength - 1))
+                                ||
+                            subTextLength < lineNumberSeed
+                    ) {
+                        textSj.add(testSb);
+                        testSb = new StringBuilder();
+                    }
+                }
+            }
+            System.out.println("最终结果=======================================");
+            return textSj.toString();
+        }
+    }
+
+    /**
+     * 获取每行字数的种子数
+     * 1. 获取非结束语句的每行
+     * 2. 无结束符号的行数<=10,求出平均值avg;avg,NUM_IN_LINE_PDF_SEED两者取最大值返回
+     * 3. 无结束符号的行数>10, 剔除最小的20%,最大的20%,求平均值,返回
+     *
+     * @param subTexts subTexts
+     * @param length   length
+     * @return return
+     */
+    private static int getLineNumberSeed(String[] subTexts, int length) {
+        List<String> unEndList = new ArrayList<>();
+        for (String subText : subTexts) {
+            // 跳过空语句
+            if (StringUtils.isBlank(subText) || subText.length() < UN_END_LIST_SIZE) {
+                continue;
+            }
+            // 跳过结束词的语句
+            if (END_CODE_LIST.contains(subText.substring(subText.length() - 1))) {
+                continue;
+            }
+            unEndList.add(subText);
+        }
+        System.out.println("unEndList Start=======================");
+        unEndList.forEach(System.out::println);
+        System.out.println("unEndList End=======================");
+        int unEndListSize = unEndList.size();
+        // 无结束符号的行数<=10,求出平均值avg;avg,NUM_IN_LINE_PDF_SEED两者取最大值返回
+        if (unEndListSize <= UN_END_LIST_SIZE) {
+            System.out.println("无符号语句<=10");
+            int lengthSum = unEndList.stream().mapToInt(String::length).sum();
+            int avg = lengthSum / unEndListSize;
+            System.out.println("语句数为:"+unEndListSize);
+            System.out.println("总长度为:"+lengthSum);
+            return Math.max(avg, NUM_IN_LINE_PDF_SEED);
+        } else {
+            System.out.println("无符号语句>10");
+            // 无结束符号的行数>10, 剔除最小的20%,最大的20%,求平均值,返回
+            unEndList.sort(Comparator.comparing(String::length));
+//            List<String> subUnEndList = unEndList.subList(unEndListSize * 5 / 10, (unEndListSize * 6) / 10);
+//            long lengthSum = subUnEndList.stream().mapToLong(String::length).sum();
+//            System.out.println("语句数为:"+subUnEndList.size());
+//            System.out.println("总长度为:"+lengthSum);
+//            return (int) (lengthSum / subUnEndList.size());
+            return unEndList.get(unEndList.size()/5).length();
+        }
+    }
+}

+ 12 - 8
kgraph-graph/src/test/java/com/kgraph/graph/TestNeo4j.java

@@ -1,5 +1,6 @@
 package com.kgraph.graph;
 
+import com.kgraph.graph.suport.utils.SupportUtils;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.text.PDFTextStripper;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -9,20 +10,23 @@ import java.io.IOException;
 
 @SpringBootTest
 public class TestNeo4j {
-//    public static void main(String[] args) {
-//        try {
-//            PDDocument doc = PDDocument.load(new File("C:\\Users\\allen\\Desktop\\example.pdf"));
-//            String text = new PDFTextStripper().getText(doc);
+    public static void main(String[] args) {
+        try {
+            PDDocument doc = PDDocument.load(new File("C:\\Users\\allen\\Desktop\\SupportUtils\\5.pdf"));
+            String text = new PDFTextStripper().getText(doc);
+            System.out.println(text);
+            System.out.println("============================分割线==========================");
+            System.out.println(SupportUtils.formatPdfText(text));
 //            System.out.println(System.lineSeparator());
 //            String[] split = text.split(System.lineSeparator());
 //            for (String s : split) {
 //                System.out.println(s);}
 //            System.out.println("Text in PDF\n---------------------------------");
 //            System.out.println(text);
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//        }
-//    }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
 
 
 //    @Autowired

+ 370 - 9
sql/system.sql

@@ -1328,21 +1328,25 @@ IF
 CREATE TABLE t_breakdown (
 	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
 	war_zone VARCHAR ( 64 ) COMMENT '战区',
-	organization 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 '故障原因',
-	unit_name VARCHAR ( 64 ) COMMENT '故障件名称',
-	unit_type VARCHAR ( 64 ) 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 ( 64 ) COMMENT '故障责任',
-	`name` VARCHAR ( 64 ) COMMENT '故障件名称',
-	number VARCHAR ( 64 ) COMMENT '故障件号码',
+	replace_unit_name VARCHAR ( 64 ) COMMENT '故换件名称',
+	replace_unit_type VARCHAR ( 64 ) COMMENT '故换件型别',
+	replace_unit_number VARCHAR ( 64 ) COMMENT '故换件号码',
 	method VARCHAR ( 64 ) COMMENT '排除方法',
-	repair_time datetime COMMENT '故障修复时间',
-	`status` VARCHAR ( 64 ) COMMENT '故障状态',
 	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
 	create_time datetime COMMENT '创建时间',
 	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
@@ -1524,4 +1528,361 @@ insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame
 values('案例删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'doc:case:remove',       '#', 'admin', sysdate(), '', null, '');
 
 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', 'doc:case:export',       '#', 'admin', sysdate(), '', null, '');
+values('案例导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'doc:case:export',       '#', 'admin', sysdate(), '', null, '');
+
+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 = '型号构型信息表';
+
+-- 菜单 SQL
+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('型号构型信息', '2052', '1', 'baseModel', 'ledger/baseModel/index', 1, 0, 'C', '0', '0', 'ledger:baseModel:list', '#', 'admin', sysdate(), '', null, '型号构型信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseModel:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseModel:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseModel:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseModel:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:baseModel:export',       '#', 'admin', sysdate(), '', null, '');
+
+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 = '机型信息';
+
+DROP TABLE
+IF
+	EXISTS t_air_system_info;
+CREATE TABLE t_air_system_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+    model_component_id BIGINT ( 20 ) COMMENT '型号id',
+    model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	manufacturer_info VARCHAR ( 64 ) 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 = '系统基本信息';
+
+DROP TABLE
+IF
+	EXISTS t_air_subsystem_info;
+CREATE TABLE t_air_subsystem_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+    model_component_id BIGINT ( 20 ) COMMENT '型号id',
+    model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	manufacturer_info VARCHAR ( 64 ) 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 = '分系统基本信息';
+
+DROP TABLE
+IF
+	EXISTS t_air_part_info;
+CREATE TABLE t_air_part_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+    model_component_id BIGINT ( 20 ) COMMENT '型号id',
+    model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	manufacturer_info VARCHAR ( 64 ) 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 = '部件基本信息';
+
+-- -------------------------
+DROP TABLE
+IF
+	EXISTS t_air_system_status_info;
+CREATE TABLE t_air_system_status_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	air_system_id BIGINT ( 20 ) COMMENT '系统id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	version VARCHAR ( 64 ) COMMENT '版本号',
+	version_update_date datetime COMMENT '出厂日期',
+	repair_times INT COMMENT '维修次数',
+	repair_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_air_subsystem_status_info;
+CREATE TABLE t_air_subsystem_status_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	air_subsystem_id BIGINT ( 20 ) COMMENT '子系统id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	version VARCHAR ( 64 ) COMMENT '版本号',
+	version_update_date datetime COMMENT '出厂日期',
+	repair_times INT COMMENT '维修次数',
+	repair_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_air_part_status_info;
+CREATE TABLE t_air_part_status_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	air_part_id BIGINT ( 20 ) COMMENT '部件id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	version VARCHAR ( 64 ) COMMENT '版本号',
+	version_update_date datetime COMMENT '出厂日期',
+	repair_times INT COMMENT '维修次数',
+	repair_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 = '部件履历';
+
+-- 菜单 SQL
+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('系统履历', '2317', '1', 'systemRecord', 'ledger/systemRecord/index', 1, 0, 'C', '0', '0', 'ledger:systemRecord:list', '#', 'admin', sysdate(), '', null, '系统履历菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:systemRecord:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:systemRecord:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:systemRecord:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:systemRecord:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:systemRecord:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+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('分系统履历', '2317', '1', 'subsystemRecord', 'ledger/subsystemRecord/index', 1, 0, 'C', '0', '0', 'ledger:subsystemRecord:list', '#', 'admin', sysdate(), '', null, '分系统履历菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:subsystemRecord:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+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('部件履历', '2317', '1', 'partRecord', 'ledger/partRecord/index', 1, 0, 'C', '0', '0', 'ledger:partRecord:list', '#', 'admin', sysdate(), '', null, '部件履历菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:partRecord:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:partRecord:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:partRecord:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:partRecord:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:partRecord:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+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('分系统基本信息', '2315', '1', 'baseSubsystem', 'ledger/baseSubsystem/index', 1, 0, 'C', '0', '0', 'ledger:baseSubsystem:list', '#', 'admin', sysdate(), '', null, '分系统基本信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:baseSubsystem:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+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('系统基本信息', '2315', '1', 'airSystem', 'ledger/airSystem/index', 1, 0, 'C', '0', '0', 'ledger:airSystem:list', '#', 'admin', sysdate(), '', null, '系统基本信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airSystem:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airSystem:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airSystem:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airSystem:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:airSystem:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+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('部件基本信息', '2315', '1', 'airPart', 'ledger/airPart/index', 1, 0, 'C', '0', '0', 'ledger:airPart:list', '#', 'admin', sysdate(), '', null, '部件基本信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airPart:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airPart:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airPart:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airPart:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:airPart:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+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('机型信息', '2315', '1', 'airModel', 'ledger/airModel/index', 1, 0, 'C', '0', '0', 'ledger:airModel:list', '#', 'admin', sysdate(), '', null, '机型信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airModel:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airModel:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airModel:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'ledger:airModel:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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', 'ledger:airModel:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- ------
+-- 菜单 SQL
+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('故障统计', '2056', '1', 'breakdown', 'showInfo/breakdown/index', 1, 0, 'C', '0', '0', 'showInfo:breakdown:list', '#', 'admin', sysdate(), '', null, '故障信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+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, '1',  '#', '', 1, 0, 'F', '0', '0', 'showInfo:breakdown:query',        '#', 'admin', sysdate(), '', null, '');
+
+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, '2',  '#', '', 1, 0, 'F', '0', '0', 'showInfo:breakdown:add',          '#', 'admin', sysdate(), '', null, '');
+
+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, '3',  '#', '', 1, 0, 'F', '0', '0', 'showInfo:breakdown:edit',         '#', 'admin', sysdate(), '', null, '');
+
+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, '4',  '#', '', 1, 0, 'F', '0', '0', 'showInfo:breakdown:remove',       '#', 'admin', sysdate(), '', null, '');
+
+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, '');

+ 450 - 0
sql/update20030417.sql

@@ -0,0 +1,450 @@
+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_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 = '机型信息';
+
+DROP TABLE
+IF
+	EXISTS t_air_system_info;
+CREATE TABLE t_air_system_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+    model_component_id BIGINT ( 20 ) COMMENT '型号id',
+    model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	manufacturer_info VARCHAR ( 64 ) 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 = '系统基本信息';
+
+DROP TABLE
+IF
+	EXISTS t_air_subsystem_info;
+CREATE TABLE t_air_subsystem_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+    model_component_id BIGINT ( 20 ) COMMENT '型号id',
+    model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	manufacturer_info VARCHAR ( 64 ) 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 = '分系统基本信息';
+
+DROP TABLE
+IF
+	EXISTS t_air_part_info;
+CREATE TABLE t_air_part_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+    model_component_id BIGINT ( 20 ) COMMENT '型号id',
+    model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	manufacturer_info VARCHAR ( 64 ) 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 = '部件基本信息';
+
+-- -------------------------
+DROP TABLE
+IF
+	EXISTS t_air_system_status_info;
+CREATE TABLE t_air_system_status_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	air_system_id BIGINT ( 20 ) COMMENT '系统id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	version VARCHAR ( 64 ) COMMENT '版本号',
+	version_update_date datetime COMMENT '出厂日期',
+	repair_times INT COMMENT '维修次数',
+	repair_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_air_subsystem_status_info;
+CREATE TABLE t_air_subsystem_status_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	air_subsystem_id BIGINT ( 20 ) COMMENT '子系统id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	version VARCHAR ( 64 ) COMMENT '版本号',
+	version_update_date datetime COMMENT '出厂日期',
+	repair_times INT COMMENT '维修次数',
+	repair_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_air_part_status_info;
+CREATE TABLE t_air_part_status_info (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '序号',
+	air_part_id BIGINT ( 20 ) COMMENT '部件id',
+	model_number VARCHAR ( 64 ) COMMENT '型号',
+	serial VARCHAR ( 64 ) COMMENT '编号',
+	production_date datetime COMMENT '出厂日期',
+	version VARCHAR ( 64 ) COMMENT '版本号',
+	version_update_date datetime COMMENT '出厂日期',
+	repair_times INT COMMENT '维修次数',
+	repair_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 = '部件履历';
+
+truncate table `sys_menu`;
+
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统管理', 0, 11, 'system', NULL, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2022-11-11 06:49:47', 'admin', '2023-02-14 03:52:03', '系统管理目录');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统监控', 0, 12, 'monitor', NULL, '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', '2022-11-11 06:49:47', 'admin', '2023-02-14 03:52:10', '系统监控目录');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统工具', 0, 13, 'tool', NULL, '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', '2022-11-11 06:49:47', 'admin', '2023-02-14 03:52:15', '系统工具目录');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2022-11-11 06:49:47', '', NULL, '用户管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2022-11-11 06:49:47', '', NULL, '角色管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2022-11-11 06:49:47', '', NULL, '菜单管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2022-11-11 06:49:47', '', NULL, '部门管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2022-11-11 06:49:47', '', NULL, '岗位管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2022-11-11 06:49:48', '', NULL, '字典管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2022-11-11 06:49:48', '', NULL, '参数设置菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2022-11-11 06:49:48', '', NULL, '通知公告菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2022-11-11 06:49:48', '', NULL, '日志管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2022-11-11 06:49:48', '', NULL, '在线用户菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2022-11-11 06:49:48', '', NULL, '定时任务菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2022-11-11 06:49:48', '', NULL, '数据监控菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2022-11-11 06:49:48', '', NULL, '服务监控菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2022-11-11 06:49:48', '', NULL, '缓存监控菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2022-11-11 06:49:48', '', NULL, '缓存列表菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (115, '表单构建', 3, 1, 'build', 'tool/build/index', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2022-11-11 06:49:48', '', NULL, '表单构建菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (116, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2022-11-11 06:49:48', '', NULL, '代码生成菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (117, '系统接口', 3, 3, 'swagger', 'tool/swagger/index', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2022-11-11 06:49:48', '', NULL, '系统接口菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2022-11-11 06:49:48', '', NULL, '操作日志菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2022-11-11 06:49:48', '', NULL, '登录日志菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1000, '用户查询', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1001, '用户新增', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1002, '用户修改', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1003, '用户删除', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1004, '用户导出', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1005, '用户导入', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1006, '重置密码', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1007, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1008, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1009, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1010, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1011, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1012, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1013, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1014, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1015, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1016, '部门查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1017, '部门新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1018, '部门修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1019, '部门删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1020, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1021, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1022, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1023, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1024, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1025, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1026, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1027, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1028, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1029, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1030, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1031, '参数新增', 106, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1032, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1033, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1034, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1035, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1036, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1037, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1038, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2022-11-11 06:49:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1039, '操作查询', 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1040, '操作删除', 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1041, '日志导出', 500, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1042, '登录查询', 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1043, '登录删除', 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1044, '日志导出', 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1045, '账户解锁', 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1046, '在线查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1047, '批量强退', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1048, '单条强退', 109, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1049, '任务查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1050, '任务新增', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1051, '任务修改', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1052, '任务删除', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1053, '状态修改', 110, 5, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1054, '任务导出', 110, 6, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1055, '生成查询', 116, 1, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1056, '生成修改', 116, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1057, '生成删除', 116, 3, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1058, '导入代码', 116, 4, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1059, '预览代码', 116, 5, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1060, '生成代码', 116, 6, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2022-11-11 06:49:49', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2001, '资源管理', 0, 99, 'research', NULL, NULL, 1, 0, 'M', '1', '0', '', 'zip', 'admin', '2022-11-16 02:57:56', 'admin', '2023-04-17 07:40:22', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2052, '台账管理', 0, 1, 'ledger', NULL, NULL, 1, 0, 'M', '0', '0', '', 'guide', 'admin', '2023-02-10 01:01:31', 'admin', '2023-04-17 07:35:41', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2056, '维保中心', 0, 3, 'maintenance', NULL, NULL, 1, 0, 'M', '0', '0', '', 'education', 'admin', '2023-02-10 01:06:09', 'admin', '2023-04-17 07:38:27', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2060, '报表统计', 0, 99, 'report', NULL, NULL, 1, 0, 'M', '1', '0', '', 'chart', 'admin', '2023-02-10 01:10:50', 'admin', '2023-04-17 07:39:24', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2061, '预警中心', 0, 99, 'warning', NULL, NULL, 1, 0, 'M', '1', '0', '', 'component', 'admin', '2023-02-10 01:14:00', 'admin', '2023-04-17 07:41:42', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2062, '统计', 2060, 0, '/404', NULL, NULL, 1, 0, 'C', '0', '0', '', 'button', 'admin', '2023-02-10 01:14:22', 'admin', '2023-02-10 01:38:06', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2063, '报表', 2060, 1, '/404', NULL, NULL, 1, 0, 'C', '0', '0', '', 'druid', 'admin', '2023-02-10 01:14:36', 'admin', '2023-02-14 08:35:44', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2064, '预警配置', 2061, 0, '/404', NULL, NULL, 1, 0, 'C', '0', '0', '', 'color', 'admin', '2023-02-10 01:15:07', 'admin', '2023-02-10 01:38:21', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2065, '预警记录', 2061, 1, '/404', NULL, NULL, 1, 0, 'C', '0', '0', '', 'date-range', 'admin', '2023-02-10 01:15:22', 'admin', '2023-02-10 01:38:25', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2066, '图数据管理', 0, 8, 'graphdata', NULL, NULL, 1, 0, 'M', '0', '0', '', 'button', 'admin', '2023-02-10 01:16:28', 'admin', '2023-02-14 02:48:38', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2087, '文件管理', 2001, 1, 'dataFile', 'dataCenter/dataFile/index', NULL, 1, 0, 'C', '0', '0', 'dataCenter:dataFile:list', 'excel', 'admin', '2023-02-14 01:16:19', 'admin', '2023-02-14 08:36:11', '文件管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2088, '文件管理查询', 2087, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'dataCenter:dataFile:query', '#', 'admin', '2023-02-14 01:16:19', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2089, '文件管理新增', 2087, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'dataCenter:dataFile:add', '#', 'admin', '2023-02-14 01:16:19', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2090, '文件管理修改', 2087, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'dataCenter:dataFile:edit', '#', 'admin', '2023-02-14 01:16:19', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2091, '文件管理删除', 2087, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'dataCenter:dataFile:remove', '#', 'admin', '2023-02-14 01:16:19', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2092, '文件管理导出', 2087, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'dataCenter:dataFile:export', '#', 'admin', '2023-02-14 01:16:19', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2093, '系统与子系统', 2052, 11, 'eqiupSys', 'ledger/eqiupSys/index', NULL, 1, 0, 'C', '1', '0', 'ledger:eqiupSys:list', 'swagger', 'admin', '2023-02-14 02:38:02', 'admin', '2023-04-17 07:35:55', '系统与子系统菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2094, '系统与子系统查询', 2093, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:eqiupSys:query', '#', 'admin', '2023-02-14 02:38:02', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2095, '系统与子系统新增', 2093, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:eqiupSys:add', '#', 'admin', '2023-02-14 02:38:02', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2096, '系统与子系统修改', 2093, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:eqiupSys:edit', '#', 'admin', '2023-02-14 02:38:02', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2097, '系统与子系统删除', 2093, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:eqiupSys:remove', '#', 'admin', '2023-02-14 02:38:02', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2098, '系统与子系统导出', 2093, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:eqiupSys:export', '#', 'admin', '2023-02-14 02:38:02', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2099, '装备', 2052, 11, 'equip', 'ledger/equip/index', NULL, 1, 0, 'C', '1', '0', 'ledger:equip:list', 'dict', 'admin', '2023-02-14 02:43:23', 'admin', '2023-04-17 07:36:04', '装备菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2100, '装备查询', 2099, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:equip:query', '#', 'admin', '2023-02-14 02:43:23', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2101, '装备新增', 2099, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:equip:add', '#', 'admin', '2023-02-14 02:43:23', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2102, '装备修改', 2099, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:equip:edit', '#', 'admin', '2023-02-14 02:43:23', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2103, '装备删除', 2099, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:equip:remove', '#', 'admin', '2023-02-14 02:43:23', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2104, '装备导出', 2099, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:equip:export', '#', 'admin', '2023-02-14 02:43:23', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2105, '故障缺陷', 2056, 9, 'faultInfo', 'maintenance/faultInfo/index', NULL, 1, 0, 'C', '1', '0', 'maintenance:faultInfo:list', 'clipboard', 'admin', '2023-02-14 02:49:44', 'admin', '2023-04-17 07:38:02', '故障缺陷菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2106, '故障缺陷查询', 2105, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultInfo:query', '#', 'admin', '2023-02-14 02:49:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2107, '故障缺陷新增', 2105, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultInfo:add', '#', 'admin', '2023-02-14 02:49:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2108, '故障缺陷修改', 2105, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultInfo:edit', '#', 'admin', '2023-02-14 02:49:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2109, '故障缺陷删除', 2105, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultInfo:remove', '#', 'admin', '2023-02-14 02:49:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2110, '故障缺陷导出', 2105, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultInfo:export', '#', 'admin', '2023-02-14 02:49:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2111, '故障记录', 2056, 9, 'faultRecord', 'maintenance/faultRecord/index', NULL, 1, 0, 'C', '1', '0', 'maintenance:faultRecord:list', 'input', 'admin', '2023-02-14 02:50:25', 'admin', '2023-04-17 07:38:11', '故障记录菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2112, '故障记录查询', 2111, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultRecord:query', '#', 'admin', '2023-02-14 02:50:25', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2113, '故障记录新增', 2111, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultRecord:add', '#', 'admin', '2023-02-14 02:50:25', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2114, '故障记录修改', 2111, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultRecord:edit', '#', 'admin', '2023-02-14 02:50:25', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2115, '故障记录删除', 2111, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultRecord:remove', '#', 'admin', '2023-02-14 02:50:25', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2116, '故障记录导出', 2111, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'maintenance:faultRecord:export', '#', 'admin', '2023-02-14 02:50:25', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2117, '部件管理', 2052, 11, 'parts', 'ledger/parts/index', NULL, 1, 0, 'C', '1', '0', 'ledger:parts:list', 'documentation', 'admin', '2023-02-14 02:50:43', 'admin', '2023-04-17 07:36:10', '部件管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2118, '部件管理查询', 2117, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:parts:query', '#', 'admin', '2023-02-14 02:50:43', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2119, '部件管理新增', 2117, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:parts:add', '#', 'admin', '2023-02-14 02:50:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2120, '部件管理修改', 2117, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:parts:edit', '#', 'admin', '2023-02-14 02:50:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2121, '部件管理删除', 2117, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:parts:remove', '#', 'admin', '2023-02-14 02:50:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2122, '部件管理导出', 2117, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:parts:export', '#', 'admin', '2023-02-14 02:50:44', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2123, '平台管理', 2052, 11, 'platform', 'ledger/platform/index', NULL, 1, 0, 'C', '1', '0', 'ledger:platform:list', 'fullscreen', 'admin', '2023-02-14 02:50:59', 'admin', '2023-04-17 07:36:23', '平台管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2124, '平台管理查询', 2123, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:platform:query', '#', 'admin', '2023-02-14 02:50:59', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2125, '平台管理新增', 2123, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:platform:add', '#', 'admin', '2023-02-14 02:50:59', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2126, '平台管理修改', 2123, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:platform:edit', '#', 'admin', '2023-02-14 02:50:59', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2127, '平台管理删除', 2123, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:platform:remove', '#', 'admin', '2023-02-14 02:51:00', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2128, '平台管理导出', 2123, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:platform:export', '#', 'admin', '2023-02-14 02:51:00', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2129, '专业', 2052, 11, 'major', 'ledger/major/index', NULL, 1, 0, 'C', '1', '0', 'ledger:major:list', 'logininfor', 'admin', '2023-02-14 02:59:41', 'admin', '2023-04-17 07:36:28', '专业菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2130, '专业查询', 2129, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:major:query', '#', 'admin', '2023-02-14 02:59:41', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2131, '专业新增', 2129, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:major:add', '#', 'admin', '2023-02-14 02:59:41', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2132, '专业修改', 2129, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:major:edit', '#', 'admin', '2023-02-14 02:59:41', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2133, '专业删除', 2129, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:major:remove', '#', 'admin', '2023-02-14 02:59:41', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2134, '专业导出', 2129, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:major:export', '#', 'admin', '2023-02-14 02:59:41', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2141, '实体类管理', 2066, 3, 'class', 'knowledge/class/index', NULL, 1, 0, 'C', '0', '0', 'knowledge:class:list', 'log', 'admin', '2023-02-14 06:41:46', 'admin', '2023-04-05 12:28:15', '实体类管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2142, '实体类管理查询', 2141, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:class:query', '#', 'admin', '2023-02-14 06:41:46', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2143, '实体类管理新增', 2141, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:class:add', '#', 'admin', '2023-02-14 06:41:46', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2144, '实体类管理修改', 2141, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:class:edit', '#', 'admin', '2023-02-14 06:41:46', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2145, '实体类管理删除', 2141, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:class:remove', '#', 'admin', '2023-02-14 06:41:46', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2146, '实体类管理导出', 2141, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:class:export', '#', 'admin', '2023-02-14 06:41:46', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2153, '实体属性管理', 2066, 5, 'entityAttribute', 'knowledge/entityAttribute/index', NULL, 1, 0, 'C', '0', '0', 'knowledge:entityAttribute:list', 'example', 'admin', '2023-02-14 06:42:11', 'admin', '2023-02-14 06:47:41', '实体属性管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2154, '实体属性管理查询', 2153, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityAttribute:query', '#', 'admin', '2023-02-14 06:42:11', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2155, '实体属性管理新增', 2153, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityAttribute:add', '#', 'admin', '2023-02-14 06:42:11', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2156, '实体属性管理修改', 2153, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityAttribute:edit', '#', 'admin', '2023-02-14 06:42:11', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2157, '实体属性管理删除', 2153, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityAttribute:remove', '#', 'admin', '2023-02-14 06:42:11', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2158, '实体属性管理导出', 2153, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityAttribute:export', '#', 'admin', '2023-02-14 06:42:11', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2159, '实体管理', 2066, 4, 'entity', 'knowledge/entity/index', NULL, 1, 0, 'C', '0', '0', 'knowledge:entity:list', 'shopping', 'admin', '2023-02-14 06:42:29', 'admin', '2023-02-14 06:47:33', '实体管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2160, '实体管理查询', 2159, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entity:query', '#', 'admin', '2023-02-14 06:42:29', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2161, '实体管理新增', 2159, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entity:add', '#', 'admin', '2023-02-14 06:42:29', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2162, '实体管理修改', 2159, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entity:edit', '#', 'admin', '2023-02-14 06:42:29', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2163, '实体管理删除', 2159, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entity:remove', '#', 'admin', '2023-02-14 06:42:29', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2164, '实体管理导出', 2159, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entity:export', '#', 'admin', '2023-02-14 06:42:29', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2165, '实体关系管理', 2066, 6, 'entityRelation', 'knowledge/entityRelation/index', NULL, 1, 0, 'C', '0', '0', 'knowledge:entityRelation:list', 'nested', 'admin', '2023-02-14 06:42:50', 'admin', '2023-02-14 06:47:48', '实体关系管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2166, '实体关系管理查询', 2165, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityRelation:query', '#', 'admin', '2023-02-14 06:42:50', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2167, '实体关系管理新增', 2165, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityRelation:add', '#', 'admin', '2023-02-14 06:42:50', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2168, '实体关系管理修改', 2165, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityRelation:edit', '#', 'admin', '2023-02-14 06:42:50', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2169, '实体关系管理删除', 2165, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityRelation:remove', '#', 'admin', '2023-02-14 06:42:50', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2170, '实体关系管理导出', 2165, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'knowledge:entityRelation:export', '#', 'admin', '2023-02-14 06:42:50', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2172, 'AI', 0, 99, 'ai', NULL, NULL, 1, 0, 'M', '1', '0', '', 'example', 'admin', '2023-02-15 01:50:17', 'admin', '2023-04-17 07:41:07', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2173, '智能问答', 2172, 1, 'question', 'ai/question/index', NULL, 1, 0, 'C', '0', '0', '', 'question', 'admin', '2023-02-15 01:51:18', 'admin', '2023-04-13 12:01:33', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2174, '故障', 2172, 2, 'question/breakdown', 'ai/question/breakdown/index', NULL, 1, 0, 'C', '0', '0', '', 'cascader', 'admin', '2023-02-15 01:51:44', 'admin', '2023-04-13 09:37:48', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2175, '数据采集', 2066, 1, 'upload', NULL, NULL, 1, 0, 'M', '0', '0', '', 'upload', 'admin', '2023-03-20 06:18:55', 'admin', '2023-03-20 07:23:54', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2176, '知识抽取', 2066, 2, 'extract', NULL, NULL, 1, 0, 'M', '0', '0', '', 'color', 'admin', '2023-03-20 06:19:53', 'admin', '2023-03-20 07:24:07', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2207, '上传管理', 2175, 1, 'uploadManage', 'upload/uploadManage/index', NULL, 1, 0, 'C', '0', '0', 'upload:uploadManage:list', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '上传管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2208, '上传管理查询', 2207, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:uploadManage:query', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2209, '上传管理新增', 2207, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:uploadManage:add', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2210, '上传管理修改', 2207, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:uploadManage:edit', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2211, '上传管理删除', 2207, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:uploadManage:remove', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2212, '上传管理导出', 2207, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:uploadManage:export', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2213, '数据管理', 2175, 1, 'dataManage', 'upload/dataManage/index', NULL, 1, 0, 'C', '0', '0', 'upload:dataManage:list', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '数据管理菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2214, '数据管理查询', 2213, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:dataManage:query', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2215, '数据管理新增', 2213, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:dataManage:add', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2216, '数据管理修改', 2213, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:dataManage:edit', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2217, '数据管理删除', 2213, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:dataManage:remove', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2218, '数据管理导出', 2213, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'upload:dataManage:export', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2219, '知识抽取任务', 2176, 1, 'task', 'extract/task/index', NULL, 1, 0, 'C', '0', '0', 'extract:task:list', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '知识抽取任务菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2220, '知识抽取任务查询', 2219, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'extract:task:query', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2221, '知识抽取任务新增', 2219, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'extract:task:add', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2222, '知识抽取任务修改', 2219, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'extract:task:edit', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2223, '知识抽取任务删除', 2219, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'extract:task:remove', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2224, '知识抽取任务导出', 2219, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'extract:task:export', '#', 'admin', '2023-03-20 07:08:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2248, '事故信息', 2176, 1, 'accident', 'uploadDetail/accident/index', NULL, 1, 0, 'C', '0', '0', 'uploadDetail:accident:list', '#', 'admin', '2023-04-03 08:20:27', '', NULL, '事故信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2249, '事故信息查询', 2248, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'uploadDetail:accident:query', '#', 'admin', '2023-04-03 08:20:27', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2250, '事故信息新增', 2248, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'uploadDetail:accident:add', '#', 'admin', '2023-04-03 08:20:27', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2251, '事故信息修改', 2248, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'uploadDetail:accident:edit', '#', 'admin', '2023-04-03 08:20:27', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2252, '事故信息删除', 2248, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'uploadDetail:accident:remove', '#', 'admin', '2023-04-03 08:20:27', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2253, '事故信息导出', 2248, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'uploadDetail:accident:export', '#', 'admin', '2023-04-03 08:20:27', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2254, '关系查询', 2066, 0, 'search', 'knowledge/search/index', NULL, 1, 0, 'C', '0', '0', '', 'search', 'admin', '2023-04-05 12:33:58', 'admin', '2023-04-05 12:36:07', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2255, 'd3图', 2066, 0, 'chartByD3', 'knowledge/search/chartByD3', NULL, 1, 0, 'C', '0', '0', NULL, '#', 'admin', '2023-04-07 06:52:46', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2256, 'test', 2066, 99, 'test', 'knowledge/test/index', NULL, 1, 0, 'C', '0', '0', NULL, '#', 'admin', '2023-04-11 13:20:08', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2257, '维修百科', 0, 5, 'repair', NULL, NULL, 1, 0, 'M', '0', '0', '', 'build', 'admin', '2023-04-12 01:53:21', 'admin', '2023-04-12 07:42:01', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2258, '文档展示', 2257, 1, 'doc', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'clipboard', 'admin', '2023-04-12 01:55:17', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2263, '名词展示', 2257, 2, 'noun', 'repair/noun/index', NULL, 1, 0, 'C', '0', '0', '', 'pdf', 'admin', '2023-04-12 03:06:12', 'admin', '2023-04-13 12:18:05', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2264, '信息展示', 0, 99, 'showInfo', NULL, NULL, 1, 0, 'M', '1', '0', '', 'redis-list', 'admin', '2023-04-13 02:09:46', 'admin', '2023-04-17 07:40:34', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2265, '故障信息维护', 2264, 10, 'breakdown/edit', 'showInfo/breakdown/index', NULL, 1, 0, 'C', '0', '0', 'showInfo:breakdown:list', 'build', 'admin', '2023-04-13 02:14:37', 'admin', '2023-04-13 08:34:16', '故障信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2266, '故障信息查询', 2265, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:query', '#', 'admin', '2023-04-13 02:14:37', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2267, '故障信息新增', 2265, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:add', '#', 'admin', '2023-04-13 02:14:37', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2268, '故障信息修改', 2265, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:edit', '#', 'admin', '2023-04-13 02:14:37', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2269, '故障信息删除', 2265, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:remove', '#', 'admin', '2023-04-13 02:14:37', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2270, '故障信息导出', 2265, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:export', '#', 'admin', '2023-04-13 02:14:37', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2271, '故障信息统计', 2264, 1, 'breakdown/info/show', 'showInfo/breakdown/statistics/index', NULL, 1, 0, 'C', '0', '0', '', 'color', 'admin', '2023-04-13 02:18:48', 'admin', '2023-04-13 03:39:06', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2272, '教材', 2258, 1, 'textbook', 'doc/textbook/index', NULL, 1, 0, 'C', '0', '0', 'doc:textbook:list', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '教材菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2273, '教材查询', 2272, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:textbook:query', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2274, '教材新增', 2272, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:textbook:add', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2275, '教材修改', 2272, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:textbook:edit', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2276, '教材删除', 2272, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:textbook:remove', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2277, '教材导出', 2272, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:textbook:export', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2278, '技术通报', 2258, 1, 'tech', 'doc/tech/index', NULL, 1, 0, 'C', '0', '0', 'doc:tech:list', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '技术通报菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2279, '技术通报查询', 2278, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:tech:query', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2280, '技术通报新增', 2278, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:tech:add', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2281, '技术通报修改', 2278, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:tech:edit', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2282, '技术通报删除', 2278, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:tech:remove', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2283, '技术通报导出', 2278, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:tech:export', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2284, '随机资料', 2258, 1, 'radmon', 'doc/radmon/index', NULL, 1, 0, 'C', '0', '0', 'doc:radmon:list', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '随机资料菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2285, '随机资料查询', 2284, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:radmon:query', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2286, '随机资料新增', 2284, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:radmon:add', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2287, '随机资料修改', 2284, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:radmon:edit', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2288, '随机资料删除', 2284, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:radmon:remove', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2289, '随机资料导出', 2284, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:radmon:export', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2290, '案例', 2258, 1, 'case', 'doc/case/index', NULL, 1, 0, 'C', '0', '0', 'doc:case:list', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '案例菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2291, '案例查询', 2290, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:case:query', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2292, '案例新增', 2290, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:case:add', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2293, '案例修改', 2290, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:case:edit', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2294, '案例删除', 2290, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:case:remove', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2295, '案例导出', 2290, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'doc:case:export', '#', 'admin', '2023-04-13 06:16:18', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2296, '知识点', 2172, 3, 'question/knowledage', 'ai/question/knowledage/index', NULL, 1, 0, 'C', '0', '0', '', 'button', 'admin', '2023-04-13 07:26:42', 'admin', '2023-04-13 09:37:53', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2297, '维修建议', 2172, 4, 'question/suggest', 'ai/question/suggest/index', NULL, 1, 0, 'C', '0', '0', '', 'form', 'admin', '2023-04-13 07:28:02', 'admin', '2023-04-13 09:37:58', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2298, '搜索', 0, 2, 'searchV2', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'search', 'admin', '2023-04-13 08:54:08', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2299, '文档检索', 2298, 1, 'sdoc', 'searchV2/doc/index', NULL, 1, 0, 'C', '0', '0', '', 'documentation', 'admin', '2023-04-13 08:55:11', 'admin', '2023-04-13 08:59:51', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2300, '知识点检索', 2298, 2, 'sknowledge', 'searchV2/knowledge/index', NULL, 1, 0, 'C', '0', '0', '', 'skill', 'admin', '2023-04-13 08:56:33', 'admin', '2023-04-13 08:59:44', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2301, '故障检索', 2298, 3, 'sbreakdown', 'searchV2/breakdown/index', NULL, 1, 0, 'C', '0', '0', '', 'bug', 'admin', '2023-04-13 08:57:28', 'admin', '2023-04-13 08:59:34', '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2308, '型号构型信息', 2052, 1, 'baseModel', 'ledger/baseModel/index', NULL, 1, 0, 'C', '0', '0', 'ledger:baseModel:list', '#', 'admin', '2023-04-16 07:18:26', 'admin', '2023-04-16 10:50:02', '型号构型信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2309, '型号构型信息查询', 2308, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseModel:query', '#', 'admin', '2023-04-16 07:18:26', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2310, '型号构型信息新增', 2308, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseModel:add', '#', 'admin', '2023-04-16 07:18:26', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2311, '型号构型信息修改', 2308, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseModel:edit', '#', 'admin', '2023-04-16 07:18:26', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2312, '型号构型信息删除', 2308, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseModel:remove', '#', 'admin', '2023-04-16 07:18:26', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2313, '型号构型信息导出', 2308, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseModel:export', '#', 'admin', '2023-04-16 07:18:26', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2315, '平台基本数据', 2052, 2, 'platformBase', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'checkbox', 'admin', '2023-04-16 10:03:09', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2317, '履历管理', 2052, 3, 'record', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'code', 'admin', '2023-04-16 10:29:48', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2318, '系统履历', 2317, 1, 'systemRecord', 'ledger/systemRecord/index', NULL, 1, 0, 'C', '0', '0', 'ledger:systemRecord:list', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '系统履历菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2319, '系统履历查询', 2318, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:systemRecord:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2320, '系统履历新增', 2318, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:systemRecord:add', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2321, '系统履历修改', 2318, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:systemRecord:edit', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2322, '系统履历删除', 2318, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:systemRecord:remove', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2323, '系统履历导出', 2318, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:systemRecord:export', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2324, '分系统履历', 2317, 1, 'subsystemRecord', 'ledger/subsystemRecord/index', NULL, 1, 0, 'C', '0', '0', 'ledger:subsystemRecord:list', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '分系统履历菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2325, '分系统履历查询', 2324, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2326, '分系统履历新增', 2324, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:add', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2327, '分系统履历修改', 2324, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:edit', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2328, '分系统履历删除', 2324, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:remove', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2329, '分系统履历导出', 2324, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:subsystemRecord:export', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2330, '部件履历', 2317, 1, 'partRecord', 'ledger/partRecord/index', NULL, 1, 0, 'C', '0', '0', 'ledger:partRecord:list', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '部件履历菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2331, '部件履历查询', 2330, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:partRecord:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2332, '部件履历新增', 2330, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:partRecord:add', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2333, '部件履历修改', 2330, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:partRecord:edit', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2334, '部件履历删除', 2330, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:partRecord:remove', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2335, '部件履历导出', 2330, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:partRecord:export', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2336, '分系统信息', 2315, 3, 'baseSubsystem', 'ledger/baseSubsystem/index', NULL, 1, 0, 'C', '0', '0', 'ledger:baseSubsystem:list', '#', 'admin', '2023-04-16 10:44:06', 'admin', '2023-04-17 06:53:19', '分系统基本信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2337, '分系统基本信息查询', 2336, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2338, '分系统基本信息新增', 2336, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:add', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2339, '分系统基本信息修改', 2336, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:edit', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2340, '分系统基本信息删除', 2336, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:remove', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2341, '分系统基本信息导出', 2336, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:baseSubsystem:export', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2342, '系统信息', 2315, 2, 'airSystem', 'ledger/airSystem/index', NULL, 1, 0, 'C', '0', '0', 'ledger:airSystem:list', '#', 'admin', '2023-04-16 10:44:06', 'admin', '2023-04-17 06:53:14', '系统基本信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2343, '系统基本信息查询', 2342, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airSystem:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2344, '系统基本信息新增', 2342, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airSystem:add', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2345, '系统基本信息修改', 2342, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airSystem:edit', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2346, '系统基本信息删除', 2342, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airSystem:remove', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2347, '系统基本信息导出', 2342, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airSystem:export', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2348, '部件信息', 2315, 4, 'airPart', 'ledger/airPart/index', NULL, 1, 0, 'C', '0', '0', 'ledger:airPart:list', '#', 'admin', '2023-04-16 10:44:06', 'admin', '2023-04-17 06:53:26', '部件基本信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2349, '部件基本信息查询', 2348, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airPart:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2350, '部件基本信息新增', 2348, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airPart:add', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2351, '部件基本信息修改', 2348, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airPart:edit', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2352, '部件基本信息删除', 2348, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airPart:remove', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2353, '部件基本信息导出', 2348, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airPart:export', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2354, '机型信息', 2315, 1, 'airModel', 'ledger/airModel/index', NULL, 1, 0, 'C', '0', '0', 'ledger:airModel:list', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '机型信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2355, '机型信息查询', 2354, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airModel:query', '#', 'admin', '2023-04-16 10:44:06', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2356, '机型信息新增', 2354, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airModel:add', '#', 'admin', '2023-04-16 10:44:07', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2357, '机型信息修改', 2354, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airModel:edit', '#', 'admin', '2023-04-16 10:44:07', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2358, '机型信息删除', 2354, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airModel:remove', '#', 'admin', '2023-04-16 10:44:07', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2359, '机型信息导出', 2354, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'ledger:airModel:export', '#', 'admin', '2023-04-16 10:44:07', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2360, '故障统计', 2056, 1, 'sbreakdown', 'showInfo/breakdown/index', NULL, 1, 0, 'C', '0', '0', 'showInfo:breakdown:list', '#', 'admin', '2023-04-16 11:25:20', 'admin', '2023-04-16 14:44:12', '故障信息菜单');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2361, '故障信息查询', 2360, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:query', '#', 'admin', '2023-04-16 11:25:20', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2362, '故障信息新增', 2360, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:add', '#', 'admin', '2023-04-16 11:25:20', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2363, '故障信息修改', 2360, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:edit', '#', 'admin', '2023-04-16 11:25:20', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2364, '故障信息删除', 2360, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:remove', '#', 'admin', '2023-04-16 11:25:20', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2365, '故障信息导出', 2360, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'showInfo:breakdown:export', '#', 'admin', '2023-04-16 11:25:20', '', NULL, '');
+INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2366, '报表统计', 2056, 2, 'repairStatistic', 'showInfo/breakdown/statistics/index', NULL, 1, 0, 'C', '0', '0', '', 'chart', 'admin', '2023-04-16 14:46:49', 'admin', '2023-04-17 00:50:14', '');
+commit;