浏览代码

首次提交

yin_yu820 5 月之前
当前提交
d9fa74b441
共有 100 个文件被更改,包括 9359 次插入0 次删除
  1. 二进制
      .DS_Store
  2. 0 0
      README.md
  3. 二进制
      jp-console/.DS_Store
  4. 65 0
      jp-console/.idea/compiler.xml
  5. 31 0
      jp-console/.idea/encodings.xml
  6. 30 0
      jp-console/.idea/jarRepositories.xml
  7. 15 0
      jp-console/.idea/misc.xml
  8. 3 0
      jp-console/.idea/shelf/Uncommitted_changes_before_Update_at_2025_2_12_17_03_[Changes]/shelved.patch
  9. 4 0
      jp-console/.idea/shelf/Uncommitted_changes_before_Update_at_2025_2_12_17_03__Changes_.xml
  10. 6 0
      jp-console/.idea/vcs.xml
  11. 640 0
      jp-console/.idea/workspace.xml
  12. 1816 0
      jp-console/01.uml
  13. 2004 0
      jp-console/02.uml
  14. 二进制
      jp-console/jeeplus-module/jeeplus-test/.mvn/wrapper/maven-wrapper.jar
  15. 1 0
      jp-console/jeeplus-module/jeeplus-test/.mvn/wrapper/maven-wrapper.properties
  16. 42 0
      jp-console/jeeplus-module/jeeplus-test/pom.xml
  17. 84 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/TestActivitiAuditController.java
  18. 84 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/TestActivitiExpenseController.java
  19. 84 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/TestActivitiLeaveController.java
  20. 22 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/app/AppTestActivitiLeaveController.java
  21. 88 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/domain/TestActivitiAudit.java
  22. 49 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/domain/TestActivitiExpense.java
  23. 48 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/domain/TestActivitiLeave.java
  24. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/TestActivitiAuditMapper.java
  25. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/TestActivitiExpenseMapper.java
  26. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/TestActivitiLeaveMapper.java
  27. 59 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/xml/TestActivitiAuditMapper.xml
  28. 52 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/xml/TestActivitiExpenseMapper.xml
  29. 44 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/xml/TestActivitiLeaveMapper.xml
  30. 69 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/TestActivitiAuditService.java
  31. 69 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/TestActivitiExpenseService.java
  32. 69 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/TestActivitiLeaveService.java
  33. 98 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/dto/TestActivitiAuditDTO.java
  34. 55 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/dto/TestActivitiExpenseDTO.java
  35. 54 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/dto/TestActivitiLeaveDTO.java
  36. 40 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/mapstruct/TestActivitiAuditWrapper.java
  37. 40 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/mapstruct/TestActivitiExpenseWrapper.java
  38. 36 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/mapstruct/TestActivitiLeaveWrapper.java
  39. 153 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/controller/TestContinentController.java
  40. 152 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/controller/TestCountryController.java
  41. 31 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/domain/TestContinent.java
  42. 39 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/domain/TestCountry.java
  43. 17 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/TestContinentMapper.java
  44. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/TestCountryMapper.java
  45. 6 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/xml/TestContinentMapper.xml
  46. 47 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/xml/TestCountryMapper.xml
  47. 21 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/TestContinentService.java
  48. 45 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/TestCountryService.java
  49. 39 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/dto/TestContinentDTO.java
  50. 53 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/dto/TestCountryDTO.java
  51. 24 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/mapstruct/TestContinentWrapper.java
  52. 38 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/mapstruct/TestCountryWrapper.java
  53. 153 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/controller/CourseController.java
  54. 153 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/controller/StudentController.java
  55. 152 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/controller/StudentCourseController.java
  56. 31 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/domain/Course.java
  57. 31 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/domain/Student.java
  58. 39 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/domain/StudentCourse.java
  59. 17 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/CourseMapper.java
  60. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/StudentCourseMapper.java
  61. 17 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/StudentMapper.java
  62. 6 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/xml/CourseMapper.xml
  63. 46 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/xml/StudentCourseMapper.xml
  64. 6 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/xml/StudentMapper.xml
  65. 21 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/CourseService.java
  66. 45 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/StudentCourseService.java
  67. 21 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/StudentService.java
  68. 39 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/dto/CourseDTO.java
  69. 60 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/dto/StudentCourseDTO.java
  70. 39 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/dto/StudentDTO.java
  71. 24 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/mapstruct/CourseWrapper.java
  72. 40 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/mapstruct/StudentCourseWrapper.java
  73. 24 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/mapstruct/StudentWrapper.java
  74. 145 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/controller/TestMobileController.java
  75. 22 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/controller/app/AppTestMobileController.java
  76. 84 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/domain/TestMobile.java
  77. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/mapper/TestMobileMapper.java
  78. 62 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/mapper/xml/TestMobileMapper.xml
  79. 45 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/service/TestMobileService.java
  80. 154 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/service/dto/TestMobileDTO.java
  81. 42 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/service/mapstruct/TestMobileWrapper.java
  82. 153 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/controller/TestNoteController.java
  83. 39 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/domain/TestNote.java
  84. 17 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/mapper/TestNoteMapper.java
  85. 6 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/mapper/xml/TestNoteMapper.xml
  86. 21 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/service/TestNoteService.java
  87. 49 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/service/dto/TestNoteDTO.java
  88. 24 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/service/mapstruct/TestNoteWrapper.java
  89. 152 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/controller/TestFormLeaveController.java
  90. 48 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/domain/TestFormLeave.java
  91. 37 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/mapper/TestFormLeaveMapper.java
  92. 54 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/mapper/xml/TestFormLeaveMapper.xml
  93. 45 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/service/TestFormLeaveService.java
  94. 78 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/service/dto/TestFormLeaveDTO.java
  95. 44 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/service/mapstruct/TestFormLeaveWrapper.java
  96. 152 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/controller/TestDataMainFormController.java
  97. 59 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataChild21.java
  98. 58 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataChild22.java
  99. 58 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataChild23.java
  100. 59 0
      jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataMainForm.java

二进制
.DS_Store


+ 0 - 0
README.md


二进制
jp-console/.DS_Store


+ 65 - 0
jp-console/.idea/compiler.xml

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Annotation profile for jeeplus cloud" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <processorPath useClasspath="false">
+          <entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct-processor/1.4.1.Final/mapstruct-processor-1.4.1.Final.jar" />
+          <entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct/1.4.1.Final/mapstruct-1.4.1.Final.jar" />
+          <entry name="$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.20/lombok-1.18.20.jar" />
+          <entry name="$MAVEN_REPOSITORY$/org/projectlombok/lombok-mapstruct-binding/0.2.0/lombok-mapstruct-binding-0.2.0.jar" />
+        </processorPath>
+        <module name="jeeplus-calendar" />
+        <module name="jeeplus-test" />
+        <module name="jeeplus-monitor" />
+        <module name="jeeplus-notify" />
+        <module name="jeeplus-ureport" />
+        <module name="jeeplus-web" />
+        <module name="jeeplus-datascreen" />
+        <module name="ly" />
+        <module name="jeeplus-datasource" />
+        <module name="jeeplus-wps" />
+        <module name="jeeplus-admin" />
+        <module name="jeeplus-flowable" />
+        <module name="jeeplus-mail" />
+        <module name="jeeplus-file" />
+        <module name="jeeplus-common" />
+        <module name="jeeplus-tools" />
+        <module name="jeeplus-quartz" />
+        <module name="jeeplus-echarts" />
+        <module name="jeeplus-form" />
+      </profile>
+    </annotationProcessing>
+    <bytecodeTargetLevel>
+      <module name="jeeplus-modules" target="8" />
+    </bytecodeTargetLevel>
+  </component>
+  <component name="JavacSettings">
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="jeeplus-admin" options="-parameters" />
+      <module name="jeeplus-calendar" options="-parameters" />
+      <module name="jeeplus-common" options="-parameters" />
+      <module name="jeeplus-datascreen" options="-parameters" />
+      <module name="jeeplus-datasource" options="-parameters" />
+      <module name="jeeplus-echarts" options="-parameters" />
+      <module name="jeeplus-file" options="-parameters" />
+      <module name="jeeplus-flowable" options="-parameters" />
+      <module name="jeeplus-form" options="-parameters" />
+      <module name="jeeplus-mail" options="-parameters" />
+      <module name="jeeplus-module" options="" />
+      <module name="jeeplus-monitor" options="-parameters" />
+      <module name="jeeplus-notify" options="-parameters" />
+      <module name="jeeplus-quartz" options="-parameters" />
+      <module name="jeeplus-test" options="-parameters" />
+      <module name="jeeplus-tools" options="-parameters" />
+      <module name="jeeplus-ureport" options="-parameters" />
+      <module name="jeeplus-web" options="-parameters" />
+      <module name="jeeplus-wps" options="-parameters" />
+      <module name="jp-console" options="" />
+      <module name="ly" options="-parameters" />
+    </option>
+  </component>
+</project>

+ 31 - 0
jp-console/.idea/encodings.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/jeeplus-module/jeeplus-test/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-module/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-modules/jeeplus-test/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-modules/ly/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-modules/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-platform/jeeplus-admin/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-platform/jeeplus-common/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-platform/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-calendar/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-datascreen/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-datasource/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-echarts/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-file/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-flowable/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-form/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-mail/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-monitor/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-notify/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-quartz/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-tools/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-ureport/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/jeeplus-wps/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-plugins/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/jeeplus-web/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+  </component>
+</project>

+ 30 - 0
jp-console/.idea/jarRepositories.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="aliyun-repos" />
+      <option name="name" value="aliyun-repos" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="sonatype-repos-s" />
+      <option name="name" value="Sonatype Repository" />
+      <option name="url" value="https://oss.sonatype.org/content/repositories/snapshots" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 15 - 0
jp-console/.idea/misc.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="FrameworkDetectionExcludesConfiguration">
+    <file type="web" url="file://$PROJECT_DIR$/jeeplus-web" />
+  </component>
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
+</project>

文件差异内容过多而无法显示
+ 3 - 0
jp-console/.idea/shelf/Uncommitted_changes_before_Update_at_2025_2_12_17_03_[Changes]/shelved.patch


+ 4 - 0
jp-console/.idea/shelf/Uncommitted_changes_before_Update_at_2025_2_12_17_03__Changes_.xml

@@ -0,0 +1,4 @@
+<changelist name="Uncommitted_changes_before_Update_at_2025_2_12_17_03_[Changes]" date="1739351009675" recycled="true" deleted="true">
+  <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2025_2_12_17_03_[Changes]/shelved.patch" />
+  <option name="DESCRIPTION" value="Uncommitted changes before Update at 2025/2/12 17:03 [Changes]" />
+</changelist>

+ 6 - 0
jp-console/.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>

+ 640 - 0
jp-console/.idea/workspace.xml

@@ -0,0 +1,640 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AutoImportSettings">
+    <option name="autoReloadType" value="SELECTIVE" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" id="676a1a2f-0edc-4ee8-9d0f-dfdc8f06aa27" name="Changes" comment="列表调整;接口调整">
+      <change afterPath="$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/controller/BaiduController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/jeeplus-module/ly/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/jeeplus-module/ly/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/controller/EnterpriseInfoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/controller/EnterpriseInfoController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/saleinventory/mapper/xml/SaleInventoryMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/saleinventory/mapper/xml/SaleInventoryMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/jeeplus-web/src/main/resources/application-development.yml" beforeDir="false" afterPath="$PROJECT_DIR$/jeeplus-web/src/main/resources/application-development.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/jeeplus-web/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/jeeplus-web/src/main/resources/application.yml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../jp-ui/src/api/enterpriseinfo/enterpriseInfoService.js" beforeDir="false" afterPath="$PROJECT_DIR$/../jp-ui/src/api/enterpriseinfo/enterpriseInfoService.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../jp-ui/src/views/modules/enterpriseinfo/EnterpriseInfoList.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../jp-ui/src/views/modules/enterpriseinfo/EnterpriseInfoList.vue" afterDir="false" />
+    </list>
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="ChangesViewManager">
+    <option name="groupingKeys">
+      <option value="directory" />
+    </option>
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Class" />
+      </list>
+    </option>
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
+  </component>
+  <component name="HighlightingSettingsPerFile">
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/buildinginfo/controller/BuildingManagementController.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/buildinginfo/mapper/xml/BuildingManagementMapper.xml" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/dp/FirstDpController.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/mapper/OfficeMapper.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-web/src/main/resources/application-production.yml" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/dp/DpController.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/domain/EnterpriseInfo.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/parkmanagement/controller/ParkManagementController.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/service/EnterpriseInfoService.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-web/src/main/resources/application.yml" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/parkmanagement/service/ParkManagementService.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/mapper/xml/EnterpriseInfoMapper.xml" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/parkmanagement/mapper/xml/ParkManagementMapper.xml" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/controller/EnterpriseInfoController.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/enterpriseinfo/service/dto/EnterpriseInfoDTO.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/mapper/xml/OfficeMapper.xml" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/service/OfficeService.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/buildinginfo/domain/BuildingManagement.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/buildinginfo/mapper/BuildingManagementMapper.java" root0="FORCE_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/jeeplus-module/ly/src/main/java/com/jeeplus/buildinginfo/service/BuildingManagementService.java" root0="FORCE_HIGHLIGHTING" />
+  </component>
+  <component name="MarkdownSettingsMigration">
+    <option name="stateVersion" value="1" />
+  </component>
+  <component name="MavenImportPreferences">
+    <option name="generalSettings">
+      <MavenGeneralSettings>
+        <option name="useMavenConfig" value="true" />
+      </MavenGeneralSettings>
+    </option>
+  </component>
+  <component name="ProjectId" id="2oBVsYxAdvnY8ImICrfa86zBPol" />
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
+    <OptionsSetting value="false" id="Update" />
+    <ConfirmationsSetting value="2" id="Add" />
+  </component>
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent">
+    <property name="RequestMappingsPanelOrder0" value="0" />
+    <property name="RequestMappingsPanelOrder1" value="1" />
+    <property name="RequestMappingsPanelOrder2" value="2" />
+    <property name="RequestMappingsPanelWidth0" value="75" />
+    <property name="RequestMappingsPanelWidth1" value="75" />
+    <property name="RequestMappingsPanelWidth2" value="75" />
+    <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
+    <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="nodejs_package_manager_path" value="npm" />
+    <property name="project.structure.last.edited" value="Modules" />
+    <property name="project.structure.proportion" value="0.0" />
+    <property name="project.structure.side.proportion" value="0.0" />
+  </component>
+  <component name="ReactorSettings">
+    <option name="notificationShown" value="true" />
+  </component>
+  <component name="RecentsManager">
+    <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.jeeplus.dp" />
+    </key>
+  </component>
+  <component name="RunManager">
+    <configuration name="JeeplusWebApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
+      <module name="jeeplus-web" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.jeeplus.JeeplusWebApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+  </component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="676a1a2f-0edc-4ee8-9d0f-dfdc8f06aa27" name="Changes" comment="" />
+      <created>1730343165342</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1730343165342</updated>
+      <workItem from="1730343166425" duration="1292000" />
+      <workItem from="1730345582463" duration="420000" />
+      <workItem from="1730346520844" duration="9366000" />
+      <workItem from="1730421422353" duration="4403000" />
+      <workItem from="1730427921244" duration="171000" />
+      <workItem from="1730428105080" duration="80000" />
+      <workItem from="1730430837148" duration="994000" />
+      <workItem from="1730431996982" duration="11088000" />
+      <workItem from="1730680515993" duration="16628000" />
+      <workItem from="1730766917694" duration="7475000" />
+      <workItem from="1730791128233" duration="6164000" />
+      <workItem from="1730853016396" duration="16763000" />
+      <workItem from="1730940019200" duration="15092000" />
+      <workItem from="1731026071840" duration="6415000" />
+      <workItem from="1731033350255" duration="14058000" />
+      <workItem from="1731285775925" duration="14659000" />
+      <workItem from="1731372316766" duration="17165000" />
+      <workItem from="1731457662953" duration="9445000" />
+      <workItem from="1731544643629" duration="33365000" />
+      <workItem from="1731631187550" duration="14929000" />
+      <workItem from="1731723978065" duration="839000" />
+      <workItem from="1732006937302" duration="2177000" />
+      <workItem from="1732172545559" duration="1761000" />
+      <workItem from="1732273337798" duration="26000" />
+      <workItem from="1732497775558" duration="8264000" />
+      <workItem from="1732584361634" duration="7730000" />
+      <workItem from="1732614259806" duration="1005000" />
+      <workItem from="1732668366733" duration="4610000" />
+      <workItem from="1732690280532" duration="3433000" />
+      <workItem from="1732754108286" duration="621000" />
+      <workItem from="1732766886833" duration="1017000" />
+      <workItem from="1732776293405" duration="5005000" />
+      <workItem from="1733190544851" duration="619000" />
+      <workItem from="1733273911317" duration="6500000" />
+      <workItem from="1733367445673" duration="9096000" />
+      <workItem from="1733445397870" duration="6936000" />
+      <workItem from="1733465153226" duration="7574000" />
+      <workItem from="1733706163885" duration="18347000" />
+      <workItem from="1733741744873" duration="6889000" />
+      <workItem from="1733793783113" duration="4845000" />
+      <workItem from="1733897288695" duration="1717000" />
+      <workItem from="1733964048746" duration="7656000" />
+      <workItem from="1734051234605" duration="3583000" />
+      <workItem from="1734313078795" duration="3632000" />
+      <workItem from="1734415188474" duration="21207000" />
+      <workItem from="1734485821694" duration="5860000" />
+      <workItem from="1734569640284" duration="12276000" />
+      <workItem from="1734675080931" duration="647000" />
+      <workItem from="1734916513529" duration="5915000" />
+      <workItem from="1735008191847" duration="5632000" />
+      <workItem from="1735090865652" duration="2349000" />
+      <workItem from="1735106362340" duration="935000" />
+      <workItem from="1735783083067" duration="6189000" />
+      <workItem from="1735868155299" duration="2235000" />
+      <workItem from="1736060688726" duration="201000" />
+      <workItem from="1736494431062" duration="1818000" />
+      <workItem from="1736834996017" duration="2606000" />
+      <workItem from="1737076862727" duration="11305000" />
+      <workItem from="1737339296291" duration="2100000" />
+      <workItem from="1737420144614" duration="4121000" />
+      <workItem from="1737510515171" duration="628000" />
+      <workItem from="1737599079061" duration="762000" />
+      <workItem from="1738717743068" duration="2199000" />
+      <workItem from="1738810785177" duration="638000" />
+      <workItem from="1738893080769" duration="2322000" />
+      <workItem from="1739000176131" duration="1192000" />
+      <workItem from="1739150317552" duration="3246000" />
+      <workItem from="1739244160807" duration="8770000" />
+      <workItem from="1739322015810" duration="2509000" />
+      <workItem from="1739350900227" duration="1369000" />
+    </task>
+    <task id="LOCAL-00027" summary="添加企业状态、企业撤场时间;销售及入库添加企业自报/税源办查询。查询结果为1-X月。">
+      <created>1731291607131</created>
+      <option name="number" value="00027" />
+      <option name="presentableId" value="LOCAL-00027" />
+      <option name="project" value="LOCAL" />
+      <updated>1731291607131</updated>
+    </task>
+    <task id="LOCAL-00028" summary="列表添加企业状态">
+      <created>1731292073852</created>
+      <option name="number" value="00028" />
+      <option name="presentableId" value="LOCAL-00028" />
+      <option name="project" value="LOCAL" />
+      <updated>1731292073852</updated>
+    </task>
+    <task id="LOCAL-00029" summary="企业信息列表调整">
+      <created>1731304742425</created>
+      <option name="number" value="00029" />
+      <option name="presentableId" value="LOCAL-00029" />
+      <option name="project" value="LOCAL" />
+      <updated>1731304742425</updated>
+    </task>
+    <task id="LOCAL-00030" summary="企业信息添加楼宇筛选功能">
+      <created>1731305971492</created>
+      <option name="number" value="00030" />
+      <option name="presentableId" value="LOCAL-00030" />
+      <option name="project" value="LOCAL" />
+      <updated>1731305971492</updated>
+    </task>
+    <task id="LOCAL-00031" summary="企业信息添加男人数、女人数、党员数">
+      <created>1731306616684</created>
+      <option name="number" value="00031" />
+      <option name="presentableId" value="LOCAL-00031" />
+      <option name="project" value="LOCAL" />
+      <updated>1731306616684</updated>
+    </task>
+    <task id="LOCAL-00032" summary="大屏:企业信息统计;人员信息统计;  隐藏租金,消防器材数,消防器材是否过期加入到企业基本信息中">
+      <created>1731315281217</created>
+      <option name="number" value="00032" />
+      <option name="presentableId" value="LOCAL-00032" />
+      <option name="project" value="LOCAL" />
+      <updated>1731315281217</updated>
+    </task>
+    <task id="LOCAL-00033" summary="大屏:税收收入对比;导入企业基本数据、开票入库数据后生成功能;企业销售及税收页面调整;">
+      <created>1731463793772</created>
+      <option name="number" value="00033" />
+      <option name="presentableId" value="LOCAL-00033" />
+      <option name="project" value="LOCAL" />
+      <updated>1731463793772</updated>
+    </task>
+    <task id="LOCAL-00034" summary="大屏:人员统计分析调整;统计报表;">
+      <created>1731550387572</created>
+      <option name="number" value="00034" />
+      <option name="presentableId" value="LOCAL-00034" />
+      <option name="project" value="LOCAL" />
+      <updated>1731550387573</updated>
+    </task>
+    <task id="LOCAL-00035" summary="报表:数据统计">
+      <created>1731552772017</created>
+      <option name="number" value="00035" />
+      <option name="presentableId" value="LOCAL-00035" />
+      <option name="project" value="LOCAL" />
+      <updated>1731552772017</updated>
+    </task>
+    <task id="LOCAL-00036" summary="打包发布配置;本年度各园区收入税收分析;大屏左上角:本月开票、本月税收、同比、环比。">
+      <created>1731586653703</created>
+      <option name="number" value="00036" />
+      <option name="presentableId" value="LOCAL-00036" />
+      <option name="project" value="LOCAL" />
+      <updated>1731586653703</updated>
+    </task>
+    <task id="LOCAL-00037" summary="大屏接口调整">
+      <created>1731591581419</created>
+      <option name="number" value="00037" />
+      <option name="presentableId" value="LOCAL-00037" />
+      <option name="project" value="LOCAL" />
+      <updated>1731591581419</updated>
+    </task>
+    <task id="LOCAL-00038" summary="大屏接口调整">
+      <created>1731595157154</created>
+      <option name="number" value="00038" />
+      <option name="presentableId" value="LOCAL-00038" />
+      <option name="project" value="LOCAL" />
+      <updated>1731595157154</updated>
+    </task>
+    <task id="LOCAL-00039" summary="添加根据officeid获取企业id或楼宇园区id">
+      <created>1731602390844</created>
+      <option name="number" value="00039" />
+      <option name="presentableId" value="LOCAL-00039" />
+      <option name="project" value="LOCAL" />
+      <updated>1731602390844</updated>
+    </task>
+    <task id="LOCAL-00040" summary="去除登录初始密码">
+      <created>1731635399624</created>
+      <option name="number" value="00040" />
+      <option name="presentableId" value="LOCAL-00040" />
+      <option name="project" value="LOCAL" />
+      <updated>1731635399624</updated>
+    </task>
+    <task id="LOCAL-00041" summary="关闭演示模式">
+      <created>1731636741220</created>
+      <option name="number" value="00041" />
+      <option name="presentableId" value="LOCAL-00041" />
+      <option name="project" value="LOCAL" />
+      <updated>1731636741220</updated>
+    </task>
+    <task id="LOCAL-00042" summary="页面调整">
+      <created>1731639205265</created>
+      <option name="number" value="00042" />
+      <option name="presentableId" value="LOCAL-00042" />
+      <option name="project" value="LOCAL" />
+      <updated>1731639205265</updated>
+    </task>
+    <task id="LOCAL-00043" summary="页面调整">
+      <created>1731652400324</created>
+      <option name="number" value="00043" />
+      <option name="presentableId" value="LOCAL-00043" />
+      <option name="project" value="LOCAL" />
+      <updated>1731652400324</updated>
+    </task>
+    <task id="LOCAL-00044" summary="楼宇面积添加限制">
+      <created>1731724754481</created>
+      <option name="number" value="00044" />
+      <option name="presentableId" value="LOCAL-00044" />
+      <option name="project" value="LOCAL" />
+      <updated>1731724754481</updated>
+    </task>
+    <task id="LOCAL-00045" summary="销售及税收页面调整">
+      <created>1732024498922</created>
+      <option name="number" value="00045" />
+      <option name="presentableId" value="LOCAL-00045" />
+      <option name="project" value="LOCAL" />
+      <updated>1732024498922</updated>
+    </task>
+    <task id="LOCAL-00046" summary="楼宇管理员添加权限">
+      <created>1732173680037</created>
+      <option name="number" value="00046" />
+      <option name="presentableId" value="LOCAL-00046" />
+      <option name="project" value="LOCAL" />
+      <updated>1732173680037</updated>
+    </task>
+    <task id="LOCAL-00047" summary="添加统计字段;调整开发环境端口;调整统计页面;调整企业明细表">
+      <created>1732527725485</created>
+      <option name="number" value="00047" />
+      <option name="presentableId" value="LOCAL-00047" />
+      <option name="project" value="LOCAL" />
+      <updated>1732527725485</updated>
+    </task>
+    <task id="LOCAL-00048" summary="添加按园区,按楼宇统计;企业明细表添加导出功能;添加物业管理员角色">
+      <created>1732606960058</created>
+      <option name="number" value="00048" />
+      <option name="presentableId" value="LOCAL-00048" />
+      <option name="project" value="LOCAL" />
+      <updated>1732606960058</updated>
+    </task>
+    <task id="LOCAL-00049" summary="企业列表添加楼宇名称">
+      <created>1732673154144</created>
+      <option name="number" value="00049" />
+      <option name="presentableId" value="LOCAL-00049" />
+      <option name="project" value="LOCAL" />
+      <updated>1732673154145</updated>
+    </task>
+    <task id="LOCAL-00050" summary="数据统计调整">
+      <created>1732691978476</created>
+      <option name="number" value="00050" />
+      <option name="presentableId" value="LOCAL-00050" />
+      <option name="project" value="LOCAL" />
+      <updated>1732691978477</updated>
+    </task>
+    <task id="LOCAL-00051" summary="企业列表导出功能调整">
+      <created>1733282240361</created>
+      <option name="number" value="00051" />
+      <option name="presentableId" value="LOCAL-00051" />
+      <option name="project" value="LOCAL" />
+      <updated>1733282240361</updated>
+    </task>
+    <task id="LOCAL-00052" summary="销售及税收新增、列表调整;企业基本信息修改新增页面调整">
+      <created>1733379924233</created>
+      <option name="number" value="00052" />
+      <option name="presentableId" value="LOCAL-00052" />
+      <option name="project" value="LOCAL" />
+      <updated>1733379924234</updated>
+    </task>
+    <task id="LOCAL-00053" summary="数据统计调整">
+      <created>1733476431676</created>
+      <option name="number" value="00053" />
+      <option name="presentableId" value="LOCAL-00053" />
+      <option name="project" value="LOCAL" />
+      <updated>1733476431676</updated>
+    </task>
+    <task id="LOCAL-00054" summary="好多调整">
+      <created>1733793930591</created>
+      <option name="number" value="00054" />
+      <option name="presentableId" value="LOCAL-00054" />
+      <option name="project" value="LOCAL" />
+      <updated>1733793930591</updated>
+    </task>
+    <task id="LOCAL-00055" summary="添加企业保存时人员数判断;">
+      <created>1733798547369</created>
+      <option name="number" value="00055" />
+      <option name="presentableId" value="LOCAL-00055" />
+      <option name="project" value="LOCAL" />
+      <updated>1733798547370</updated>
+    </task>
+    <task id="LOCAL-00056" summary="添加企业保存时人员数判断;">
+      <created>1733798572017</created>
+      <option name="number" value="00056" />
+      <option name="presentableId" value="LOCAL-00056" />
+      <option name="project" value="LOCAL" />
+      <updated>1733798572017</updated>
+    </task>
+    <task id="LOCAL-00057" summary="企业基本信息Tab;企业类型多选;大屏统计接口">
+      <created>1734423846840</created>
+      <option name="number" value="00057" />
+      <option name="presentableId" value="LOCAL-00057" />
+      <option name="project" value="LOCAL" />
+      <updated>1734423846841</updated>
+    </task>
+    <task id="LOCAL-00058" summary="首页调整">
+      <created>1734430038840</created>
+      <option name="number" value="00058" />
+      <option name="presentableId" value="LOCAL-00058" />
+      <option name="project" value="LOCAL" />
+      <updated>1734430038840</updated>
+    </task>
+    <task id="LOCAL-00059" summary="添加企业诉求">
+      <created>1734435926979</created>
+      <option name="number" value="00059" />
+      <option name="presentableId" value="LOCAL-00059" />
+      <option name="project" value="LOCAL" />
+      <updated>1734435926980</updated>
+    </task>
+    <task id="LOCAL-00060" summary="企业诉求添加到提醒通知;修改企业类型筛选功能;大屏接口">
+      <created>1734441257600</created>
+      <option name="number" value="00060" />
+      <option name="presentableId" value="LOCAL-00060" />
+      <option name="project" value="LOCAL" />
+      <updated>1734441257601</updated>
+    </task>
+    <task id="LOCAL-00061" summary="企业诉求添加到提醒通知;修改企业类型筛选功能;大屏接口">
+      <created>1734443750091</created>
+      <option name="number" value="00061" />
+      <option name="presentableId" value="LOCAL-00061" />
+      <option name="project" value="LOCAL" />
+      <updated>1734443750091</updated>
+    </task>
+    <task id="LOCAL-00062" summary="企业诉求添加诉求人信息显示">
+      <created>1734501482698</created>
+      <option name="number" value="00062" />
+      <option name="presentableId" value="LOCAL-00062" />
+      <option name="project" value="LOCAL" />
+      <updated>1734501482699</updated>
+    </task>
+    <task id="LOCAL-00063" summary="大屏调整;统计报表楼宇调整;添加楼宇状态">
+      <created>1734598835545</created>
+      <option name="number" value="00063" />
+      <option name="presentableId" value="LOCAL-00063" />
+      <option name="project" value="LOCAL" />
+      <updated>1734598835546</updated>
+    </task>
+    <task id="LOCAL-00064" summary="企业筛选调整">
+      <created>1734599406698</created>
+      <option name="number" value="00064" />
+      <option name="presentableId" value="LOCAL-00064" />
+      <option name="project" value="LOCAL" />
+      <updated>1734599406698</updated>
+    </task>
+    <task id="LOCAL-00065" summary="功能调整">
+      <created>1734933711527</created>
+      <option name="number" value="00065" />
+      <option name="presentableId" value="LOCAL-00065" />
+      <option name="project" value="LOCAL" />
+      <updated>1734933711528</updated>
+    </task>
+    <task id="LOCAL-00066" summary="功能调整">
+      <created>1735019886956</created>
+      <option name="number" value="00066" />
+      <option name="presentableId" value="LOCAL-00066" />
+      <option name="project" value="LOCAL" />
+      <updated>1735019886957</updated>
+    </task>
+    <task id="LOCAL-00067" summary="修复bug">
+      <created>1735020775268</created>
+      <option name="number" value="00067" />
+      <option name="presentableId" value="LOCAL-00067" />
+      <option name="project" value="LOCAL" />
+      <updated>1735020775268</updated>
+    </task>
+    <task id="LOCAL-00068" summary="税收收入添加筛选条件">
+      <created>1735106083009</created>
+      <option name="number" value="00068" />
+      <option name="presentableId" value="LOCAL-00068" />
+      <option name="project" value="LOCAL" />
+      <updated>1735106083010</updated>
+    </task>
+    <task id="LOCAL-00069" summary="物业管理员税收收入添加税源办查询类别的新增">
+      <created>1735800280513</created>
+      <option name="number" value="00069" />
+      <option name="presentableId" value="LOCAL-00069" />
+      <option name="project" value="LOCAL" />
+      <updated>1735800280513</updated>
+    </task>
+    <task id="LOCAL-00070" summary="企业明细表是否">
+      <created>1735871266074</created>
+      <option name="number" value="00070" />
+      <option name="presentableId" value="LOCAL-00070" />
+      <option name="project" value="LOCAL" />
+      <updated>1735871266074</updated>
+    </task>
+    <task id="LOCAL-00071" summary="服务器迁移">
+      <created>1736835853351</created>
+      <option name="number" value="00071" />
+      <option name="presentableId" value="LOCAL-00071" />
+      <option name="project" value="LOCAL" />
+      <updated>1736835853352</updated>
+    </task>
+    <task id="LOCAL-00072" summary="选人调整">
+      <created>1736845821186</created>
+      <option name="number" value="00072" />
+      <option name="presentableId" value="LOCAL-00072" />
+      <option name="project" value="LOCAL" />
+      <updated>1736845821188</updated>
+    </task>
+    <task id="LOCAL-00073" summary="列表调整;接口调整">
+      <created>1737099815087</created>
+      <option name="number" value="00073" />
+      <option name="presentableId" value="LOCAL-00073" />
+      <option name="project" value="LOCAL" />
+      <updated>1737099815087</updated>
+    </task>
+    <task id="LOCAL-00074" summary="列表调整;接口调整">
+      <created>1737103294271</created>
+      <option name="number" value="00074" />
+      <option name="presentableId" value="LOCAL-00074" />
+      <option name="project" value="LOCAL" />
+      <updated>1737103294271</updated>
+    </task>
+    <task id="LOCAL-00075" summary="列表调整;接口调整">
+      <created>1737103622568</created>
+      <option name="number" value="00075" />
+      <option name="presentableId" value="LOCAL-00075" />
+      <option name="project" value="LOCAL" />
+      <updated>1737103622568</updated>
+    </task>
+    <option name="localTasksCounter" value="76" />
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="42875d5e-fc5a-4b38-82ea-e34738c98836">
+          <value>
+            <State>
+              <option name="SHOW_ONLY_AFFECTED_CHANGES" value="true" />
+              <option name="FILTERS">
+                <map>
+                  <entry key="branch">
+                    <value>
+                      <list>
+                        <option value="HEAD" />
+                      </list>
+                    </value>
+                  </entry>
+                  <entry key="roots">
+                    <value>
+                      <list>
+                        <option value="$PROJECT_DIR$/.." />
+                      </list>
+                    </value>
+                  </entry>
+                </map>
+              </option>
+            </State>
+          </value>
+        </entry>
+        <entry key="MAIN">
+          <value>
+            <State />
+          </value>
+        </entry>
+      </map>
+    </option>
+    <option name="OPEN_GENERIC_TABS">
+      <map>
+        <entry key="42875d5e-fc5a-4b38-82ea-e34738c98836" value="TOOL_WINDOW" />
+      </map>
+    </option>
+    <option name="RECENT_FILTERS">
+      <map>
+        <entry key="User">
+          <value>
+            <list>
+              <RecentGroup>
+                <option name="FILTER_VALUES">
+                  <option value="*" />
+                </option>
+              </RecentGroup>
+            </list>
+          </value>
+        </entry>
+      </map>
+    </option>
+  </component>
+  <component name="VcsManagerConfiguration">
+    <MESSAGE value="销售及税收页面调整" />
+    <MESSAGE value="楼宇管理员添加权限" />
+    <MESSAGE value="添加统计字段;调整开发环境端口;调整统计页面;调整企业明细表" />
+    <MESSAGE value="添加按园区,按楼宇统计;企业明细表添加导出功能;添加物业管理员角色" />
+    <MESSAGE value="企业列表添加楼宇名称" />
+    <MESSAGE value="企业列表导出功能调整" />
+    <MESSAGE value="销售及税收新增、列表调整;企业基本信息修改新增页面调整" />
+    <MESSAGE value="数据统计调整" />
+    <MESSAGE value="好多调整" />
+    <MESSAGE value="添加企业保存时人员数判断;" />
+    <MESSAGE value="企业基本信息Tab;企业类型多选;大屏统计接口" />
+    <MESSAGE value="首页调整" />
+    <MESSAGE value="添加企业诉求" />
+    <MESSAGE value="企业诉求添加到提醒通知;修改企业类型筛选功能;大屏接口" />
+    <MESSAGE value="企业诉求添加诉求人信息显示" />
+    <MESSAGE value="大屏调整;统计报表楼宇调整;添加楼宇状态" />
+    <MESSAGE value="企业筛选调整" />
+    <MESSAGE value="功能调整" />
+    <MESSAGE value="修复bug" />
+    <MESSAGE value="税收收入添加筛选条件" />
+    <MESSAGE value="物业管理员税收收入添加税源办查询类别的新增" />
+    <MESSAGE value="企业明细表是否" />
+    <MESSAGE value="服务器迁移" />
+    <MESSAGE value="选人调整" />
+    <MESSAGE value="列表调整;接口调整" />
+    <option name="LAST_COMMIT_MESSAGE" value="列表调整;接口调整" />
+  </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/service/OfficeService.java</url>
+          <line>139</line>
+          <option name="timeStamp" value="9" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
+    <watches-manager>
+      <configuration name="SpringBootApplicationConfigurationType">
+        <watch expression="p" />
+        <watch expression="list.get(i).get(&quot;id&quot;).toString()" />
+      </configuration>
+    </watches-manager>
+  </component>
+</project>

+ 1816 - 0
jp-console/01.uml

@@ -0,0 +1,1816 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Diagram>
+  <ID>MAVEN</ID>
+  <OriginalElement>org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0</OriginalElement>
+  <nodes>
+    <node x="4774.8065192656495" y="1460.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0</node>
+    <node x="1607.9379295220592" y="1190.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE</node>
+    <node x="2628.8545961887257" y="840.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE</node>
+    <node x="2131.3685897435903" y="590.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE</node>
+    <node x="3958.5629295220597" y="680.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE</node>
+    <node x="3855.5629295220597" y="590.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3</node>
+    <node x="2740.785256410257" y="490.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3/ch.qos.logback:logback-core:jar:1.2.3</node>
+    <node x="4004.5629295220597" y="590.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2</node>
+    <node x="3989.3129295220597" y="490.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2/org.apache.logging.log4j:log4j-api:jar:2.11.2</node>
+    <node x="5305.8065192656495" y="490.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.slf4j:jul-to-slf4j:jar:1.7.25</node>
+    <node x="2876.785256410257" y="680.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/javax.annotation:javax.annotation-api:jar:1.3.2</node>
+    <node x="2406.0546004168395" y="80.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE</node>
+    <node x="2413.0546004168395" y="0.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE/org.springframework:spring-jcl:jar:5.1.5.RELEASE</node>
+    <node x="3057.785256410257" y="680.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.yaml:snakeyaml:jar:1.23</node>
+    <node x="2582.0592853600656" y="340.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE</node>
+    <node x="3548.346267083506" y="230.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE</node>
+    <node x="1186.7916666666674" y="1020.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.aspectj:aspectjweaver:jar:1.9.2</node>
+    <node x="3023.4342853600656" y="1020.0">org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE</node>
+    <node x="3230.5629295220597" y="590.0">org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE</node>
+    <node x="2594.785256410257" y="490.0">org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE</node>
+    <node x="4770.8065192656495" y="1190.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE</node>
+    <node x="4720.767618693399" y="1020.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE</node>
+    <node x="4846.8065192656495" y="840.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE</node>
+    <node x="5106.8065192656495" y="490.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE</node>
+    <node x="4811.8273525989825" y="680.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE</node>
+    <node x="4980.8065192656495" y="340.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE</node>
+    <node x="8867.39875198809" y="1020.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE</node>
+    <node x="9150.35360141584" y="340.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final</node>
+    <node x="8770.292618693398" y="840.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final</node>
+    <node x="8673.042618693398" y="490.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final</node>
+    <node x="8673.542618693398" y="680.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final</node>
+    <node x="8527.542618693398" y="590.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final</node>
+    <node x="8532.042618693398" y="490.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final/io.netty:netty-resolver:jar:4.1.33.Final</node>
+    <node x="5727.450863272232" y="840.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE</node>
+    <node x="5714.450863272232" y="680.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE/org.reactivestreams:reactive-streams:jar:1.0.2</node>
+    <node x="2418.562929522059" y="1190.0">org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE</node>
+    <node x="2363.1769230769237" y="1020.0">org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE/org.freemarker:freemarker:jar:2.3.28</node>
+    <node x="4045.184285360065" y="1020.0">org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE</node>
+    <node x="5425.8065192656495" y="490.0">org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/com.zaxxer:HikariCP:jar:3.2.0</node>
+    <node x="4125.0565192656495" y="840.0">org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE</node>
+    <node x="3232.6879295220597" y="1190.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2</node>
+    <node x="3273.6879295220597" y="1020.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2</node>
+    <node x="3375.035256410257" y="840.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2</node>
+    <node x="3510.850952026732" y="680.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2</node>
+    <node x="3431.5629295220597" y="590.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.baomidou:mybatis-plus-annotation:jar:3.4.2</node>
+    <node x="3638.5629295220597" y="590.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.github.jsqlparser:jsqlparser:jar:4.0</node>
+    <node x="3752.5629295220597" y="590.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/org.mybatis:mybatis:jar:3.5.6</node>
+    <node x="3289.535256410257" y="680.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/org.mybatis:mybatis-spring:jar:2.0.5</node>
+    <node x="2000.8685897435903" y="680.0">com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE</node>
+    <node x="4434.8065192656495" y="1190.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE</node>
+    <node x="4471.767618693399" y="1020.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.16</node>
+    <node x="5760.4898568270955" y="1020.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final</node>
+    <node x="5590.450863272232" y="840.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/javax.validation:validation-api:jar:2.0.1.Final</node>
+    <node x="6096.367529938899" y="840.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/com.fasterxml:classmate:jar:1.4.0</node>
+    <node x="1946.8129295220592" y="1190.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE</node>
+    <node x="1327.7916666666674" y="1020.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE</node>
+    <node x="724.875" y="840.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.core:jackson-databind:jar:2.9.8</node>
+    <node x="885.875" y="840.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8</node>
+    <node x="1066.1073622831436" y="680.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6</node>
+    <node x="1344.8750000000005" y="840.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8</node>
+    <node x="1787.6185897435903" y="680.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6</node>
+    <node x="1078.8750000000005" y="840.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8</node>
+    <node x="1625.6185897435903" y="680.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6</node>
+    <node x="1721.4379295220592" y="840.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE</node>
+    <node x="1975.3129295220592" y="1020.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE</node>
+    <node x="2416.0592853600656" y="340.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE</node>
+    <node x="10014.671102598983" y="1190.0">com.microsoft.sqlserver:mssql-jdbc:jar:6.4.0.jre8</node>
+    <node x="0.0" y="1190.0">mysql:mysql-connector-java:jar:8.0.15</node>
+    <node x="10136.671102598983" y="1190.0">org.postgresql:postgresql:jar:42.2.5</node>
+    <node x="4078.6815192656495" y="1190.0">com.alibaba:druid-spring-boot-starter:jar:1.1.10</node>
+    <node x="4288.017618693399" y="1020.0">com.alibaba:druid-spring-boot-starter:jar:1.1.10/com.alibaba:druid:jar:1.1.10</node>
+    <node x="5433.450863272232" y="340.0">com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25</node>
+    <node x="189.0" y="1190.0">cglib:cglib:jar:3.1</node>
+    <node x="191.0" y="1020.0">cglib:cglib:jar:3.1/org.ow2.asm:asm:jar:4.2</node>
+    <node x="4674.8065192656495" y="1190.0">javax.servlet.jsp:jsp-api:jar:2.1</node>
+    <node x="7199.725863272232" y="1190.0">commons-dbcp:commons-dbcp:jar:1.4</node>
+    <node x="7301.750952026732" y="1020.0">commons-dbcp:commons-dbcp:jar:1.4/commons-pool:commons-pool:jar:1.6</node>
+    <node x="6355.08709073268" y="840.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2</node>
+    <node x="6229.148779938899" y="490.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2</node>
+    <node x="5949.4627692656495" y="680.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-cache:jar:1.4.0-RC2</node>
+    <node x="6077.4627692656495" y="680.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2</node>
+    <node x="6138.2127692656495" y="590.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-core:jar:1.4.0-RC2</node>
+    <node x="6449.3898525989825" y="680.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-cipher:jar:1.4.0-RC2</node>
+    <node x="6579.1398525989825" y="590.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-core:jar:1.4.0-RC2</node>
+    <node x="6733.83709073268" y="680.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2</node>
+    <node x="6742.1398525989825" y="590.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2/commons-beanutils:commons-beanutils:jar:1.9.3</node>
+    <node x="6412.6398525989825" y="590.0">org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-event:jar:1.4.0-RC2</node>
+    <node x="6335.6398525989825" y="1190.0">org.apache.shiro:shiro-spring:jar:1.4.0-RC2</node>
+    <node x="6623.0877692656495" y="1190.0">org.apache.shiro:shiro-cas:jar:1.4.0-RC2</node>
+    <node x="6628.5877692656495" y="1020.0">org.apache.shiro:shiro-cas:jar:1.4.0-RC2/org.jasig.cas.client:cas-client-core:jar:3.2.2</node>
+    <node x="6413.742529938899" y="1020.0">org.apache.shiro:shiro-web:jar:1.4.0-RC2</node>
+    <node x="5886.0565192656495" y="840.0">org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2</node>
+    <node x="5869.4315192656495" y="490.0">org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2/net.sf.ehcache:ehcache-core:jar:2.6.11</node>
+    <node x="10256.671102598983" y="1190.0">commons-io:commons-io:jar:2.4</node>
+    <node x="639.5833333333339" y="1190.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1</node>
+    <node x="733.3156956164767" y="680.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0</node>
+    <node x="599.3156956164767" y="680.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8</node>
+    <node x="819.0416666666679" y="1020.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6</node>
+    <node x="10651.671102598983" y="1190.0">com.alibaba:fastjson:jar:1.2.45</node>
+    <node x="8768.046102598983" y="1190.0">net.sf.dozer:dozer:jar:5.5.1</node>
+    <node x="9077.939607860975" y="1020.0">net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1</node>
+    <node x="8920.042618693398" y="840.0">net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1/commons-collections:commons-collections:jar:3.2.1</node>
+    <node x="9253.939607860975" y="1020.0">net.sf.dozer:dozer:jar:5.5.1/org.apache.commons:commons-lang3:jar:3.8.1</node>
+    <node x="7235.250952026732" y="490.0">net.sf.dozer:dozer:jar:5.5.1/org.slf4j:jcl-over-slf4j:jar:1.7.25</node>
+    <node x="4291.6815192656495" y="1190.0">com.google.guava:guava:jar:20.0</node>
+    <node x="1328.4795961887257" y="1190.0">commons-lang:commons-lang:jar:2.6</node>
+    <node x="9486.197888313269" y="1190.0">org.apache.commons:commons-lang3:jar:3.5</node>
+    <node x="10387.671102598983" y="1190.0">javax.servlet:javax.servlet-api:jar:3.1.0</node>
+    <node x="5941.242529938899" y="1190.0">net.sf.json-lib:json-lib:jar:jdk15:2.4</node>
+    <node x="5957.242529938899" y="1020.0">net.sf.json-lib:json-lib:jar:jdk15:2.4/net.sf.ezmorph:ezmorph:jar:1.0.6</node>
+    <node x="1041.2916666666674" y="1190.0">com.mchange:c3p0:jar:0.9.2.1</node>
+    <node x="980.7916666666674" y="1020.0">com.mchange:c3p0:jar:0.9.2.1/com.mchange:mchange-commons-java:jar:0.2.3.4</node>
+    <node x="6081.242529938899" y="1190.0">com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5</node>
+    <node x="6139.742529938899" y="1020.0">com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5/com.mchange:c3p0:jar:0.9.5</node>
+    <node x="949.2916666666674" y="1190.0">dom4j:dom4j:jar:1.6</node>
+    <node x="7350.725863272232" y="1190.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final</node>
+    <node x="7500.168429487179" y="680.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final</node>
+    <node x="7839.261577557947" y="1020.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final</node>
+    <node x="8157.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.persistence:javax.persistence-api:jar:2.2</node>
+    <node x="8467.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.javassist:javassist:jar:3.23.1-GA</node>
+    <node x="8341.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/net.bytebuddy:byte-buddy:jar:1.9.10</node>
+    <node x="7476.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/antlr:antlr:jar:2.7.7</node>
+    <node x="7817.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.1.1.Final</node>
+    <node x="8063.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss:jandex:jar:2.0.5.Final</node>
+    <node x="7130.350863272232" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.dom4j:dom4j:jar:2.1.1</node>
+    <node x="7559.875952026732" y="840.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final</node>
+    <node x="7129.250952026732" y="1020.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/net.sf.ehcache:ehcache:jar:2.10.6</node>
+    <node x="512.0" y="840.0">com.fasterxml.jackson.core:jackson-databind:jar:2.9.6</node>
+    <node x="308.0" y="1190.0">com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6</node>
+    <node x="270.0" y="1020.0">com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6/javax.transaction:jta:jar:1.1</node>
+    <node x="339.0" y="1020.0">com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6</node>
+    <node x="7057.250952026732" y="490.0">com.zaxxer:HikariCP-java7:jar:2.4.13</node>
+    <node x="9201.197888313269" y="1190.0">org.springframework.boot:spring-boot-configuration-processor:jar:2.1.3.RELEASE</node>
+    <node x="2202.187929522059" y="1190.0">org.projectlombok:lombok:jar:1.18.6</node>
+    <node x="1854.8129295220592" y="1190.0">p6spy:p6spy:jar:3.8.0</node>
+    <node x="9915.671102598983" y="1190.0">org.apache.ddlutils:ddlutils:jar:1.0</node>
+    <node x="10433.14875198809" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-beanutils:commons-beanutils:jar:1.7.0</node>
+    <node x="10724.230118693398" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8</node>
+    <node x="10702.230118693398" y="840.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0</node>
+    <node x="10635.730118693398" y="680.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-logging:commons-logging:jar:1.0</node>
+    <node x="10801.730118693398" y="680.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-collections:commons-collections:jar:2.0</node>
+    <node x="9407.939607860975" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-codec:commons-codec:jar:1.11</node>
+    <node x="9715.939607860975" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-collections:commons-collections:jar:3.1</node>
+    <node x="9564.939607860975" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-dbcp:commons-dbcp:jar:1.2.1</node>
+    <node x="9846.171102598983" y="840.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7</node>
+    <node x="9913.671102598983" y="680.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-beanutils:commons-beanutils:jar:1.6</node>
+    <node x="9205.751762820513" y="680.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-logging:commons-logging:jar:1.0.4</node>
+    <node x="10089.671102598983" y="680.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-collections:commons-collections:jar:2.1</node>
+    <node x="9807.671102598983" y="680.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/xml-apis:xml-apis:jar:1.4.01</node>
+    <node x="9901.939607860975" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-lang:commons-lang:jar:2.1</node>
+    <node x="10047.939607860975" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging-api:jar:1.0.4</node>
+    <node x="10911.230118693398" y="840.0">org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging:jar:1.0.4</node>
+    <node x="11189.730118693398" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/dom4j:dom4j:jar:1.6.1</node>
+    <node x="11108.730118693398" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12</node>
+    <node x="11077.230118693398" y="840.0">org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12/org.hamcrest:hamcrest-core:jar:1.3</node>
+    <node x="10329.14875198809" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/stax:stax-api:jar:1.0.1</node>
+    <node x="10254.14875198809" y="1020.0">org.apache.ddlutils:ddlutils:jar:1.0/oro:oro:jar:2.0.8</node>
+    <node x="6775.5877692656495" y="1020.0">javax.xml.bind:jaxb-api:jar:2.3.1</node>
+    <node x="6778.8377692656495" y="840.0">javax.xml.bind:jaxb-api:jar:2.3.1/javax.activation:javax.activation-api:jar:1.2.0</node>
+    <node x="1216.4795961887257" y="1190.0">com.sun.xml.bind:jaxb-core:jar:2.3.0.1</node>
+    <node x="10541.671102598983" y="1190.0">com.sun.xml.bind:jaxb-impl:jar:2.3.0.1</node>
+  </nodes>
+  <notes />
+  <edges>
+    <edge source="com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5" target="com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5/com.mchange:c3p0:jar:0.9.5">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.slf4j:jul-to-slf4j:jar:1.7.25" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="5355.3065192656495" y="460.0" />
+      <point x="5454.450863272232" y="460.0" />
+      <point x="-21.0" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/org.mybatis:mybatis-spring:jar:2.0.5">
+      <point x="-45.0" y="-15.0" />
+      <point x="3420.035256410257" y="810.0" />
+      <point x="3353.035256410257" y="810.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="javax.xml.bind:jaxb-api:jar:2.3.1">
+      <point x="40.186046511627865" y="-15.0" />
+      <point x="4922.992565777277" y="1310.0" />
+      <point x="6817.0877692656495" y="1310.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.sun.xml.bind:jaxb-impl:jar:2.3.0.1">
+      <point x="100.46511627906966" y="-15.0" />
+      <point x="4983.271635544719" y="1430.0" />
+      <point x="10586.671102598983" y="1430.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final">
+      <point x="73.33333333333348" y="-15.0" />
+      <point x="4618.1398525989825" y="1140.0" />
+      <point x="5873.7398568270955" y="1140.0" />
+      <point x="37.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-27.0" y="-15.0" />
+      <point x="2158.3685897435903" y="210.0" />
+      <point x="2434.593061955301" y="210.0" />
+      <point x="-24.461538461538566" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0">
+      <point x="0.0" y="-15.0" />
+      <point x="1436.8750000000005" y="770.0" />
+      <point x="867.4823622831436" y="770.0" />
+      <point x="53.66666666666663" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final">
+      <point x="-13.625" y="-15.0" />
+      <point x="8908.27375198809" y="900.0" />
+      <point x="8565.375952026732" y="900.0" />
+      <point x="8565.375952026732" y="660.0" />
+      <point x="8549.209285360066" y="660.0" />
+      <point x="-43.33333333333303" y="15.0" />
+    </edge>
+    <edge source="javax.xml.bind:jaxb-api:jar:2.3.1" target="javax.xml.bind:jaxb-api:jar:2.3.1/javax.activation:javax.activation-api:jar:1.2.0">
+      <point x="0.0" y="-15.0" />
+      <point x="-38.25" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.javassist:javassist:jar:3.23.1-GA">
+      <point x="56.81818181818198" y="-15.0" />
+      <point x="7958.579759376129" y="1000.0" />
+      <point x="8511.375952026732" y="1000.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6" target="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6">
+      <point x="0.0" y="-15.0" />
+      <point x="414.5" y="1170.0" />
+      <point x="409.5" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="cglib:cglib:jar:3.1" target="cglib:cglib:jar:3.1/org.ow2.asm:asm:jar:4.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="57.19999999999982" y="-15.0" />
+      <point x="6862.53709073268" y="660.0" />
+      <point x="6922.4211025989825" y="660.0" />
+      <point x="6922.4211025989825" y="420.0" />
+      <point x="5496.450863272232" y="420.0" />
+      <point x="21.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging:jar:1.0.4">
+      <point x="48.33333333333394" y="-15.0" />
+      <point x="10845.063452026732" y="1000.0" />
+      <point x="10947.730118693398" y="1000.0" />
+      <point x="-36.5" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-spring:jar:1.4.0-RC2" target="org.apache.shiro:shiro-web:jar:1.4.0-RC2">
+      <point x="27.5" y="-15.0" />
+      <point x="6418.1398525989825" y="1140.0" />
+      <point x="6429.742529938899" y="1140.0" />
+      <point x="-32.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="-35.5" y="-15.0" />
+      <point x="4756.267618693399" y="940.0" />
+      <point x="3671.100952026732" y="940.0" />
+      <point x="3671.100952026732" y="640.0" />
+      <point x="3381.3962628553927" y="640.0" />
+      <point x="60.33333333333326" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="net.sf.dozer:dozer:jar:5.5.1/org.apache.commons:commons-lang3:jar:3.8.1">
+      <point x="25.875" y="-15.0" />
+      <point x="8828.421102598983" y="1170.0" />
+      <point x="9320.939607860975" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1" target="net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1/commons-collections:commons-collections:jar:3.2.1">
+      <point x="0.0" y="-15.0" />
+      <point x="9155.939607860975" y="990.0" />
+      <point x="9003.042618693398" y="990.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="5192.8065192656495" y="130.0" />
+      <point x="2507.9776773399167" y="130.0" />
+      <point x="48.92307692307713" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/net.sf.ehcache:ehcache:jar:2.10.6">
+      <point x="-49.66666666666697" y="-15.0" />
+      <point x="7375.559196605565" y="1130.0" />
+      <point x="7171.750952026732" y="1130.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-logging:commons-logging:jar:1.0">
+      <point x="-47.25" y="-15.0" />
+      <point x="10749.480118693398" y="820.0" />
+      <point x="10708.730118693398" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="60.33333333333326" y="-15.0" />
+      <point x="3381.3962628553927" y="550.0" />
+      <point x="4161.479596188727" y="550.0" />
+      <point x="4161.479596188727" y="170.0" />
+      <point x="2475.362292724532" y="170.0" />
+      <point x="16.307692307692378" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-73.33333333333348" y="-15.0" />
+      <point x="4471.4731859323165" y="1080.0" />
+      <point x="2872.5592853600656" y="1080.0" />
+      <point x="2872.5592853600656" y="990.0" />
+      <point x="2716.0420961887257" y="990.0" />
+      <point x="9.6875" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7">
+      <point x="-48.33333333333394" y="-15.0" />
+      <point x="10748.396785360064" y="980.0" />
+      <point x="9958.671102598983" y="980.0" />
+      <point x="37.5" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.projectlombok:lombok:jar:1.18.6">
+      <point x="-45.20930232558112" y="-15.0" />
+      <point x="4837.597216940068" y="1320.0" />
+      <point x="2241.687929522059" y="1320.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/dom4j:dom4j:jar:1.6.1">
+      <point x="36.67857142857065" y="-15.0" />
+      <point x="9991.849674027553" y="1170.0" />
+      <point x="11225.730118693398" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="61.875" y="-15.0" />
+      <point x="4991.1815192656495" y="810.0" />
+      <point x="5415.3065192656495" y="810.0" />
+      <point x="5415.3065192656495" y="470.0" />
+      <point x="5460.450863272232" y="470.0" />
+      <point x="-15.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="javax.xml.bind:jaxb-api:jar:2.3.1/javax.activation:javax.activation-api:jar:1.2.0">
+      <point x="-45.45454545454504" y="-15.0" />
+      <point x="7856.307032103401" y="960.0" />
+      <point x="6893.5877692656495" y="960.0" />
+      <point x="38.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="-59.16666666666697" y="-15.0" />
+      <point x="4732.600952026731" y="950.0" />
+      <point x="3160.1842853600656" y="950.0" />
+      <point x="3160.1842853600656" y="740.0" />
+      <point x="2584.2852564102564" y="740.0" />
+      <point x="2584.2852564102564" y="430.0" />
+      <point x="2645.8092853600656" y="430.0" />
+      <point x="12.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="61.333333333333485" y="-15.0" />
+      <point x="1761.2712628553927" y="1110.0" />
+      <point x="2217.937929522059" y="1110.0" />
+      <point x="2217.937929522059" y="970.0" />
+      <point x="2657.9170961887257" y="970.0" />
+      <point x="-48.4375" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="36.33333333333303" y="-15.0" />
+      <point x="8764.37595202673" y="660.0" />
+      <point x="9250.85360141584" y="660.0" />
+      <point x="9250.85360141584" y="470.0" />
+      <point x="9223.270268082506" y="470.0" />
+      <point x="10.41666666666697" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="49.25" y="-15.0" />
+      <point x="3171.1842853600656" y="1000.0" />
+      <point x="3182.785256410257" y="1000.0" />
+      <point x="3182.785256410257" y="660.0" />
+      <point x="3321.0629295220597" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-collections:commons-collections:jar:2.0">
+      <point x="47.25" y="-15.0" />
+      <point x="10843.980118693398" y="820.0" />
+      <point x="10884.730118693398" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="7678.875952026732" y="820.0" />
+      <point x="7604.293429487179" y="820.0" />
+      <point x="44.625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE">
+      <point x="20.625" y="-15.0" />
+      <point x="4949.9315192656495" y="800.0" />
+      <point x="5192.8065192656495" y="800.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="25.5" y="-15.0" />
+      <point x="2658.5592853600656" y="280.0" />
+      <point x="3554.7907115279504" y="280.0" />
+      <point x="-51.55555555555566" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-codec:commons-codec:jar:1.11">
+      <point x="-31.035714285713766" y="-15.0" />
+      <point x="9924.135388313269" y="1090.0" />
+      <point x="9476.439607860975" y="1090.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE/org.reactivestreams:reactive-streams:jar:1.0.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-configuration-processor:jar:2.1.3.RELEASE">
+      <point x="65.30232558139505" y="-15.0" />
+      <point x="4948.108844847045" y="1360.0" />
+      <point x="9333.697888313269" y="1360.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-beanutils:commons-beanutils:jar:1.6">
+      <point x="18.75" y="-15.0" />
+      <point x="9939.921102598983" y="810.0" />
+      <point x="9991.671102598983" y="810.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.alibaba:fastjson:jar:1.2.45">
+      <point x="105.48837209302292" y="-15.0" />
+      <point x="4988.294891358672" y="1440.0" />
+      <point x="10693.671102598983" y="1440.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-74.66666666666697" y="-15.0" />
+      <point x="4808.1398525989825" y="1110.0" />
+      <point x="4622.267618693399" y="1110.0" />
+      <point x="4622.267618693399" y="960.0" />
+      <point x="2774.1670961887257" y="960.0" />
+      <point x="67.8125" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-35.0" y="-15.0" />
+      <point x="4142.5565192656495" y="810.0" />
+      <point x="3845.0629295220597" y="810.0" />
+      <point x="3845.0629295220597" y="320.0" />
+      <point x="3619.2351559723948" y="320.0" />
+      <point x="12.888888888888687" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-cipher:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="38.75" y="-15.0" />
+      <point x="6565.6398525989825" y="560.0" />
+      <point x="6295.836279938899" y="560.0" />
+      <point x="18.1875" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="6277.648779938899" y="430.0" />
+      <point x="5490.450863272232" y="430.0" />
+      <point x="15.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="-38.75" y="-15.0" />
+      <point x="2667.6045961887257" y="760.0" />
+      <point x="2168.3685897435903" y="760.0" />
+      <point x="67.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="44.25" y="-15.0" />
+      <point x="8873.542618693398" y="820.0" />
+      <point x="9362.251762820513" y="820.0" />
+      <point x="9362.251762820513" y="460.0" />
+      <point x="9244.10360141584" y="460.0" />
+      <point x="31.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="commons-dbcp:commons-dbcp:jar:1.4">
+      <point x="50.232558139535286" y="-15.0" />
+      <point x="4933.039077405185" y="1330.0" />
+      <point x="7265.225863272232" y="1330.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging-api:jar:1.0.4">
+      <point x="-8.464285714286234" y="-15.0" />
+      <point x="9946.706816884696" y="1090.0" />
+      <point x="10132.939607860975" y="1090.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="8728.042618693398" y="470.0" />
+      <point x="9202.436934749174" y="470.0" />
+      <point x="-10.41666666666697" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12">
+      <point x="31.035714285713766" y="-15.0" />
+      <point x="9986.206816884696" y="1160.0" />
+      <point x="11139.230118693398" y="1160.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-cache:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="0.0" y="-15.0" />
+      <point x="6002.9627692656495" y="540.0" />
+      <point x="6235.211279938899" y="540.0" />
+      <point x="-42.4375" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="javax.servlet.jsp:jsp-api:jar:2.1">
+      <point x="-5.023255813953256" y="-15.0" />
+      <point x="4877.783263451696" y="1240.0" />
+      <point x="4712.8065192656495" y="1240.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.1.1.Final">
+      <point x="11.363636363636033" y="-15.0" />
+      <point x="7913.125213921583" y="960.0" />
+      <point x="7930.875952026732" y="960.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-core:jar:1.4.0-RC2">
+      <point x="-28.600000000000364" y="-15.0" />
+      <point x="6776.7370907326795" y="640.0" />
+      <point x="6686.3898525989825" y="640.0" />
+      <point x="35.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.core:jackson-databind:jar:2.9.6" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="-35.25" y="-15.0" />
+      <point x="547.25" y="800.0" />
+      <point x="646.8156956164767" y="800.0" />
+      <point x="-9.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE">
+      <point x="65.33333333333348" y="-15.0" />
+      <point x="3396.021262855393" y="1120.0" />
+      <point x="4091.934285360065" y="1120.0" />
+      <point x="-46.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-64.58333333333348" y="-15.0" />
+      <point x="2641.7712628553923" y="770.0" />
+      <point x="1990.3685897435903" y="770.0" />
+      <point x="1990.3685897435903" y="540.0" />
+      <point x="1950.1185897435903" y="540.0" />
+      <point x="1950.1185897435903" y="200.0" />
+      <point x="2426.439215801455" y="200.0" />
+      <point x="-32.615384615384755" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.postgresql:postgresql:jar:42.2.5">
+      <point x="85.39534883720899" y="-15.0" />
+      <point x="4968.2018681028585" y="1400.0" />
+      <point x="10186.671102598983" y="1400.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="-36.75" y="-15.0" />
+      <point x="6114.2127692656495" y="660.0" />
+      <point x="6127.7127692656495" y="660.0" />
+      <point x="6127.7127692656495" y="560.0" />
+      <point x="6259.461279938899" y="560.0" />
+      <point x="-18.1875" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE">
+      <point x="74.66666666666697" y="-15.0" />
+      <point x="4957.4731859323165" y="1150.0" />
+      <point x="8921.89875198809" y="1150.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final">
+      <point x="49.66666666666697" y="-15.0" />
+      <point x="7474.892529938899" y="1140.0" />
+      <point x="7901.761577557947" y="1140.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-53.75" y="-15.0" />
+      <point x="1986.0629295220592" y="940.0" />
+      <point x="1592.7916666666674" y="940.0" />
+      <point x="1592.7916666666674" y="180.0" />
+      <point x="2410.1315234937624" y="180.0" />
+      <point x="-48.92307692307713" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="-65.33333333333348" y="-15.0" />
+      <point x="3265.354596188726" y="1100.0" />
+      <point x="2352.6769230769237" y="1100.0" />
+      <point x="2352.6769230769237" y="820.0" />
+      <point x="2034.3685897435903" y="820.0" />
+      <point x="-67.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="15.75" y="-15.0" />
+      <point x="2673.535256410257" y="450.0" />
+      <point x="2694.5592853600656" y="450.0" />
+      <point x="2694.5592853600656" y="190.0" />
+      <point x="2459.0546004168395" y="190.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE">
+      <point x="64.58333333333348" y="-15.0" />
+      <point x="2770.937929522059" y="820.0" />
+      <point x="4062.0629295220597" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="32.25" y="-15.0" />
+      <point x="2072.062929522059" y="940.0" />
+      <point x="2249.8685897435903" y="940.0" />
+      <point x="2249.8685897435903" y="570.0" />
+      <point x="2642.035256410257" y="570.0" />
+      <point x="-15.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE">
+      <point x="11.83333333333303" y="-15.0" />
+      <point x="4803.600952026731" y="970.0" />
+      <point x="4929.3065192656495" y="970.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.16">
+      <point x="0.0" y="-15.0" />
+      <point x="4544.8065192656495" y="1110.0" />
+      <point x="4541.767618693399" y="1110.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.shiro:shiro-cas:jar:1.4.0-RC2">
+      <point x="35.16279069767461" y="-15.0" />
+      <point x="4917.969309963324" y="1300.0" />
+      <point x="6669.0877692656495" y="1300.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/javax.validation:validation-api:jar:2.0.1.Final">
+      <point x="-50.333333333333485" y="-15.0" />
+      <point x="5785.6565234937625" y="1000.0" />
+      <point x="5648.950863272232" y="1000.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="26.0" y="-15.0" />
+      <point x="1799.4379295220592" y="820.0" />
+      <point x="1950.1185897435903" y="820.0" />
+      <point x="1950.1185897435903" y="560.0" />
+      <point x="2034.1185897435903" y="560.0" />
+      <point x="2034.1185897435903" y="460.0" />
+      <point x="2714.9759520267326" y="460.0" />
+      <point x="2714.9759520267326" y="290.0" />
+      <point x="3567.6796004168395" y="290.0" />
+      <point x="-38.666666666666515" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-collections:commons-collections:jar:2.1">
+      <point x="56.25" y="-15.0" />
+      <point x="9977.421102598983" y="820.0" />
+      <point x="10172.671102598983" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-cas:jar:1.4.0-RC2" target="org.apache.shiro:shiro-web:jar:1.4.0-RC2">
+      <point x="-23.0" y="-15.0" />
+      <point x="6646.0877692656495" y="1140.0" />
+      <point x="6493.742529938899" y="1140.0" />
+      <point x="32.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE">
+      <point x="-40.875" y="-15.0" />
+      <point x="8881.02375198809" y="910.0" />
+      <point x="5782.950863272232" y="910.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.sun.xml.bind:jaxb-core:jar:2.3.0.1">
+      <point x="-70.32558139534831" y="-15.0" />
+      <point x="4812.480937870301" y="1370.0" />
+      <point x="1262.4795961887257" y="1370.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE">
+      <point x="-40.186046511627865" y="-15.0" />
+      <point x="4842.620472754022" y="1310.0" />
+      <point x="2532.062929522059" y="1310.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="0.0" y="-15.0" />
+      <point x="6210.2127692656495" y="570.0" />
+      <point x="6271.586279938899" y="570.0" />
+      <point x="-6.0625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/com.fasterxml:classmate:jar:1.4.0">
+      <point x="0.0" y="-15.0" />
+      <point x="5835.9898568270955" y="990.0" />
+      <point x="6120.117529938899" y="990.0" />
+      <point x="-23.75" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="commons-dbcp:commons-dbcp:jar:1.4/commons-pool:commons-pool:jar:1.6">
+      <point x="-36.67857142857065" y="-15.0" />
+      <point x="9918.492531170412" y="1100.0" />
+      <point x="7397.000952026732" y="1100.0" />
+      <point x="31.75" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE/org.freemarker:freemarker:jar:2.3.28">
+      <point x="-75.66666666666674" y="-15.0" />
+      <point x="2456.3962628553927" y="1110.0" />
+      <point x="2413.1769230769237" y="1110.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.persistence:javax.persistence-api:jar:2.2">
+      <point x="34.09090909090901" y="-15.0" />
+      <point x="7935.852486648855" y="980.0" />
+      <point x="8239.875952026732" y="980.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-57.33333333333303" y="-15.0" />
+      <point x="5135.4731859323165" y="470.0" />
+      <point x="4141.06292952206" y="470.0" />
+      <point x="4141.06292952206" y="300.0" />
+      <point x="3645.0129337501726" y="300.0" />
+      <point x="38.666666666666515" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8">
+      <point x="-46.75" y="-15.0" />
+      <point x="1374.5416666666674" y="990.0" />
+      <point x="972.375" y="990.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="59.16666666666697" y="-15.0" />
+      <point x="4850.934285360065" y="1000.0" />
+      <point x="5522.3065192656495" y="1000.0" />
+      <point x="5522.3065192656495" y="460.0" />
+      <point x="5472.450863272232" y="460.0" />
+      <point x="-3.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE">
+      <point x="35.0" y="-15.0" />
+      <point x="4212.5565192656495" y="820.0" />
+      <point x="4826.99401926565" y="820.0" />
+      <point x="-30.33333333333303" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2">
+      <point x="0.0" y="-15.0" />
+      <point x="3330.6879295220597" y="1000.0" />
+      <point x="3465.035256410257" y="1000.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final">
+      <point x="43.33333333333303" y="-15.0" />
+      <point x="8635.87595202673" y="570.0" />
+      <point x="8691.37595202673" y="570.0" />
+      <point x="-36.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="mysql:mysql-connector-java:jar:8.0.15">
+      <point x="-105.48837209302292" y="-15.0" />
+      <point x="4777.318147172627" y="1440.0" />
+      <point x="84.5" y="1440.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2">
+      <point x="42.0" y="-15.0" />
+      <point x="6446.08709073268" y="790.0" />
+      <point x="6805.33709073268" y="790.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="2532.062929522059" y="990.0" />
+      <point x="2696.6670961887257" y="990.0" />
+      <point x="-9.6875" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6">
+      <point x="61.33333333333337" y="-15.0" />
+      <point x="1498.208333333334" y="800.0" />
+      <point x="1858.1185897435903" y="800.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="-81.0" y="-15.0" />
+      <point x="680.0833333333339" y="1170.0" />
+      <point x="501.5" y="1170.0" />
+      <point x="501.5" y="790.0" />
+      <point x="627.8156956164767" y="790.0" />
+      <point x="-28.5" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2/net.sf.ehcache:ehcache-core:jar:2.6.11" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="5928.4315192656495" y="440.0" />
+      <point x="5484.450863272232" y="440.0" />
+      <point x="9.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="28.75" y="-15.0" />
+      <point x="4090.8129295220597" y="570.0" />
+      <point x="5295.3065192656495" y="570.0" />
+      <point x="5295.3065192656495" y="450.0" />
+      <point x="5448.450863272232" y="450.0" />
+      <point x="-27.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4138.684285360065" y="1000.0" />
+      <point x="4177.5565192656495" y="1000.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2">
+      <point x="15.069767441860677" y="-15.0" />
+      <point x="4897.87628670751" y="1260.0" />
+      <point x="6273.742529938899" y="1260.0" />
+      <point x="6273.742529938899" y="980.0" />
+      <point x="5947.0565192656495" y="980.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-26.25" y="-15.0" />
+      <point x="5007.0565192656495" y="290.0" />
+      <point x="3657.9018226390617" y="290.0" />
+      <point x="51.55555555555566" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-62.333333333333485" y="-15.0" />
+      <point x="4076.3509520267316" y="970.0" />
+      <point x="2754.7920961887257" y="970.0" />
+      <point x="48.4375" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="27.0" y="-15.0" />
+      <point x="2212.3685897435903" y="560.0" />
+      <point x="2610.535256410257" y="560.0" />
+      <point x="-47.25" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/antlr:antlr:jar:2.7.7">
+      <point x="-22.727272727272975" y="-15.0" />
+      <point x="7879.034304830673" y="940.0" />
+      <point x="7507.875952026732" y="940.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2">
+      <point x="-14.0" y="-15.0" />
+      <point x="6390.08709073268" y="800.0" />
+      <point x="6150.9627692656495" y="800.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="50.333333333333485" y="-15.0" />
+      <point x="5886.323190160429" y="1000.0" />
+      <point x="6491.075863272232" y="1000.0" />
+      <point x="6491.075863272232" y="800.0" />
+      <point x="7515.043429487179" y="800.0" />
+      <point x="-44.625" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE">
+      <point x="-60.2790697674418" y="-15.0" />
+      <point x="4822.527449498208" y="1350.0" />
+      <point x="1699.9379295220592" y="1350.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-cas:jar:1.4.0-RC2" target="org.apache.shiro:shiro-cas:jar:1.4.0-RC2/org.jasig.cas.client:cas-client-core:jar:3.2.2">
+      <point x="23.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="-60.33333333333326" y="-15.0" />
+      <point x="3260.7295961887266" y="560.0" />
+      <point x="2705.035256410257" y="560.0" />
+      <point x="47.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="1699.9379295220592" y="1160.0" />
+      <point x="1581.7916666666674" y="1160.0" />
+      <point x="1581.7916666666674" y="810.0" />
+      <point x="1939.1185897435903" y="810.0" />
+      <point x="1939.1185897435903" y="550.0" />
+      <point x="2023.1185897435903" y="550.0" />
+      <point x="2023.1185897435903" y="410.0" />
+      <point x="2594.8092853600656" y="410.0" />
+      <point x="-38.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10">
+      <point x="-25.116279069767188" y="-15.0" />
+      <point x="4857.690240195882" y="1280.0" />
+      <point x="4175.1815192656495" y="1280.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-49.25" y="-15.0" />
+      <point x="3072.6842853600656" y="980.0" />
+      <point x="2735.4170961887257" y="980.0" />
+      <point x="29.0625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6">
+      <point x="43.25" y="-15.0" />
+      <point x="1015.625" y="820.0" />
+      <point x="1136.6073622831436" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2/commons-beanutils:commons-beanutils:jar:1.9.3">
+      <point x="0.0" y="-15.0" />
+      <point x="6805.33709073268" y="660.0" />
+      <point x="6820.1398525989825" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/com.zaxxer:HikariCP:jar:3.2.0" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="5468.8065192656495" y="470.0" />
+      <point x="5466.450863272232" y="470.0" />
+      <point x="-9.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final">
+      <point x="74.40000000000009" y="-15.0" />
+      <point x="2114.2129295220593" y="1130.0" />
+      <point x="5798.2398568270955" y="1130.0" />
+      <point x="-37.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE">
+      <point x="-10.046511627906511" y="-15.0" />
+      <point x="4872.760007637743" y="1250.0" />
+      <point x="4544.8065192656495" y="1250.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final">
+      <point x="14.75" y="-15.0" />
+      <point x="8844.042618693398" y="800.0" />
+      <point x="8793.042618693398" y="800.0" />
+      <point x="8793.042618693398" y="570.0" />
+      <point x="8764.709285360066" y="570.0" />
+      <point x="36.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final/io.netty:netty-resolver:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="8592.542618693398" y="460.0" />
+      <point x="9181.60360141584" y="460.0" />
+      <point x="-31.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="-37.20000000000027" y="-15.0" />
+      <point x="2002.612929522059" y="1090.0" />
+      <point x="1773.4379295220592" y="1090.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2">
+      <point x="45.0" y="-15.0" />
+      <point x="3510.035256410257" y="810.0" />
+      <point x="3584.350952026732" y="810.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="10.75" y="-15.0" />
+      <point x="2050.562929522059" y="910.0" />
+      <point x="1979.3685897435903" y="910.0" />
+      <point x="1979.3685897435903" y="570.0" />
+      <point x="2063.3685897435903" y="570.0" />
+      <point x="2063.3685897435903" y="420.0" />
+      <point x="2620.3092853600656" y="420.0" />
+      <point x="-12.75" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="-25.875" y="-15.0" />
+      <point x="8776.671102598983" y="1120.0" />
+      <point x="7224.750952026732" y="1120.0" />
+      <point x="7224.750952026732" y="400.0" />
+      <point x="5508.450863272232" y="400.0" />
+      <point x="33.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-cipher:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-core:jar:1.4.0-RC2">
+      <point x="-38.75" y="-15.0" />
+      <point x="6488.1398525989825" y="660.0" />
+      <point x="6246.2127692656495" y="660.0" />
+      <point x="36.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="26.25" y="-15.0" />
+      <point x="5059.5565192656495" y="150.0" />
+      <point x="2491.6699850322243" y="150.0" />
+      <point x="32.615384615384755" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="3606.346267083506" y="180.0" />
+      <point x="2467.2084465706857" y="180.0" />
+      <point x="8.153846153846189" y="15.0" />
+    </edge>
+    <edge source="com.alibaba:druid-spring-boot-starter:jar:1.1.10" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="64.33333333333348" y="-15.0" />
+      <point x="4239.5148525989825" y="1120.0" />
+      <point x="5528.3065192656495" y="1120.0" />
+      <point x="5528.3065192656495" y="450.0" />
+      <point x="5478.450863272232" y="450.0" />
+      <point x="3.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-spring:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2">
+      <point x="-27.5" y="-15.0" />
+      <point x="6363.1398525989825" y="990.0" />
+      <point x="6371.420424066013" y="990.0" />
+      <point x="-32.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE">
+      <point x="-50.232558139534376" y="-15.0" />
+      <point x="4832.573961126115" y="1330.0" />
+      <point x="2039.8129295220592" y="1330.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss:jandex:jar:2.0.5.Final">
+      <point x="22.727272727272975" y="-15.0" />
+      <point x="7924.488850285219" y="970.0" />
+      <point x="8100.875952026732" y="970.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-cache:jar:1.4.0-RC2">
+      <point x="-42.0" y="-15.0" />
+      <point x="6362.08709073268" y="820.0" />
+      <point x="6029.7127692656495" y="820.0" />
+      <point x="26.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5">
+      <point x="10.046511627907421" y="-15.0" />
+      <point x="4892.853030893557" y="1250.0" />
+      <point x="6172.242529938899" y="1250.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.slf4j:jul-to-slf4j:jar:1.7.25">
+      <point x="69.0" y="-15.0" />
+      <point x="4131.06292952206" y="660.0" />
+      <point x="5355.3065192656495" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.alibaba:druid-spring-boot-starter:jar:1.1.10" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="-64.33333333333348" y="-15.0" />
+      <point x="4110.8481859323165" y="1090.0" />
+      <point x="2554.062929522059" y="1090.0" />
+      <point x="2554.062929522059" y="810.0" />
+      <point x="2101.3685897435903" y="810.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6" target="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6/javax.transaction:jta:jar:1.1">
+      <point x="-71.0" y="-15.0" />
+      <point x="343.5" y="1170.0" />
+      <point x="294.5" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-collections:commons-collections:jar:3.1">
+      <point x="-19.75" y="-15.0" />
+      <point x="9935.421102598983" y="1070.0" />
+      <point x="9798.939607860975" y="1070.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="57.33333333333303" y="-15.0" />
+      <point x="5250.1398525989825" y="430.0" />
+      <point x="5436.450863272232" y="430.0" />
+      <point x="-39.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-dbcp:commons-dbcp:jar:1.2.1">
+      <point x="-25.392857142856883" y="-15.0" />
+      <point x="9929.778245456126" y="1080.0" />
+      <point x="9630.439607860975" y="1080.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="37.20000000000027" y="-15.0" />
+      <point x="2077.0129295220595" y="1120.0" />
+      <point x="2473.6769230769237" y="1120.0" />
+      <point x="2473.6769230769237" y="980.0" />
+      <point x="2677.2920961887257" y="980.0" />
+      <point x="-29.0625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE">
+      <point x="-10.75" y="-15.0" />
+      <point x="2029.0629295220592" y="920.0" />
+      <point x="1881.8685897435903" y="920.0" />
+      <point x="1881.8685897435903" y="790.0" />
+      <point x="1777.1185897435903" y="790.0" />
+      <point x="1777.1185897435903" y="400.0" />
+      <point x="2452.5592853600656" y="400.0" />
+      <point x="-36.5" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.baomidou:mybatis-plus-annotation:jar:3.4.2">
+      <point x="-49.0" y="-15.0" />
+      <point x="3535.350952026732" y="660.0" />
+      <point x="3525.0629295220597" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="cglib:cglib:jar:3.1">
+      <point x="-100.46511627906966" y="-15.0" />
+      <point x="4782.34140298658" y="1430.0" />
+      <point x="220.5" y="1430.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="40.875" y="-15.0" />
+      <point x="8962.77375198809" y="1000.0" />
+      <point x="10266.171102598983" y="1000.0" />
+      <point x="10266.171102598983" y="450.0" />
+      <point x="9264.936934749174" y="450.0" />
+      <point x="52.08333333333303" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2" target="org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2/net.sf.ehcache:ehcache-core:jar:2.6.11">
+      <point x="-30.5" y="-15.0" />
+      <point x="5916.5565192656495" y="820.0" />
+      <point x="5928.4315192656495" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging:jar:1.0.4">
+      <point x="25.392857142856883" y="-15.0" />
+      <point x="9980.56395974184" y="1150.0" />
+      <point x="11020.730118693398" y="1150.0" />
+      <point x="36.5" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8">
+      <point x="19.75" y="-15.0" />
+      <point x="9974.921102598983" y="1140.0" />
+      <point x="10796.730118693398" y="1140.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8">
+      <point x="15.583333333333258" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="-15.75" y="-15.0" />
+      <point x="2642.035256410257" y="440.0" />
+      <point x="2671.3092853600656" y="440.0" />
+      <point x="38.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-25.5" y="-15.0" />
+      <point x="2607.5592853600656" y="200.0" />
+      <point x="2450.9007542629934" y="200.0" />
+      <point x="-8.153846153846189" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-ehcache:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-cache:jar:1.4.0-RC2">
+      <point x="30.5" y="-15.0" />
+      <point x="5977.5565192656495" y="820.0" />
+      <point x="5976.2127692656495" y="820.0" />
+      <point x="-26.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="net.sf.json-lib:json-lib:jar:jdk15:2.4">
+      <point x="5.023255813953256" y="-15.0" />
+      <point x="4887.829775079603" y="1240.0" />
+      <point x="6001.242529938899" y="1240.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="-61.875" y="-15.0" />
+      <point x="4867.4315192656495" y="730.0" />
+      <point x="3047.285256410257" y="730.0" />
+      <point x="3047.285256410257" y="570.0" />
+      <point x="2673.535256410257" y="570.0" />
+      <point x="15.75" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1">
+      <point x="8.625" y="-15.0" />
+      <point x="8811.171102598983" y="1160.0" />
+      <point x="9155.939607860975" y="1160.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="75.66666666666652" y="-15.0" />
+      <point x="2607.7295961887257" y="1120.0" />
+      <point x="2543.062929522059" y="1120.0" />
+      <point x="2543.062929522059" y="1000.0" />
+      <point x="2861.562929522059" y="1000.0" />
+      <point x="2861.562929522059" y="810.0" />
+      <point x="3166.285256410257" y="810.0" />
+      <point x="3166.285256410257" y="650.0" />
+      <point x="3260.7295961887266" y="650.0" />
+      <point x="-60.33333333333326" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2/org.apache.logging.log4j:log4j-api:jar:2.11.2">
+      <point x="-28.75" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.alibaba:druid-spring-boot-starter:jar:1.1.10" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/com.alibaba:druid:jar:1.1.10">
+      <point x="0.0" y="-15.0" />
+      <point x="4175.1815192656495" y="1110.0" />
+      <point x="4321.017618693399" y="1110.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="-32.25" y="-15.0" />
+      <point x="2007.5629295220592" y="930.0" />
+      <point x="1808.1045961887257" y="930.0" />
+      <point x="34.66666666666674" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.google.guava:guava:jar:20.0">
+      <point x="-20.093023255813932" y="-15.0" />
+      <point x="4862.713496009836" y="1270.0" />
+      <point x="4327.1815192656495" y="1270.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/stax:stax-api:jar:1.0.1">
+      <point x="8.464285714286234" y="-15.0" />
+      <point x="9963.635388313269" y="1120.0" />
+      <point x="10371.14875198809" y="1120.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final">
+      <point x="-36.33333333333303" y="-15.0" />
+      <point x="8691.709285360066" y="660.0" />
+      <point x="8635.87595202673" y="660.0" />
+      <point x="43.33333333333303" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="47.25" y="-15.0" />
+      <point x="2705.035256410257" y="470.0" />
+      <point x="2809.9795961887266" y="470.0" />
+      <point x="2809.9795961887266" y="300.0" />
+      <point x="3580.5684893057282" y="300.0" />
+      <point x="-25.77777777777783" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.fasterxml.jackson.core:jackson-databind:jar:2.9.6">
+      <point x="-90.41860465116224" y="-15.0" />
+      <point x="4792.387914614487" y="1410.0" />
+      <point x="582.5" y="1410.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.core:jackson-databind:jar:2.9.8">
+      <point x="-77.91666666666674" y="-15.0" />
+      <point x="1343.375000000001" y="1000.0" />
+      <point x="795.375" y="1000.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.github.jsqlparser:jsqlparser:jar:4.0">
+      <point x="0.0" y="-15.0" />
+      <point x="3584.350952026732" y="650.0" />
+      <point x="3685.5629295220597" y="650.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-logging:commons-logging:jar:1.0.4">
+      <point x="-56.25" y="-15.0" />
+      <point x="9864.921102598983" y="810.0" />
+      <point x="9278.751762820513" y="810.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="7425.225863272232" y="1140.0" />
+      <point x="7466.375952026732" y="1140.0" />
+      <point x="7466.375952026732" y="810.0" />
+      <point x="7544.793429487179" y="810.0" />
+      <point x="-14.875" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-core:jar:1.4.0-RC2">
+      <point x="28.0" y="-15.0" />
+      <point x="6432.08709073268" y="780.0" />
+      <point x="6614.8898525989825" y="780.0" />
+      <point x="-35.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="-61.33333333333337" y="-15.0" />
+      <point x="1375.541666666667" y="780.0" />
+      <point x="703.8156956164767" y="780.0" />
+      <point x="47.5" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-lang:commons-lang:jar:2.1">
+      <point x="-14.107142857143117" y="-15.0" />
+      <point x="9941.06395974184" y="1080.0" />
+      <point x="9964.939607860975" y="1080.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-web:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2">
+      <point x="0.0" y="-15.0" />
+      <point x="6461.742529938899" y="990.0" />
+      <point x="6404.08709073268" y="990.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3/ch.qos.logback:logback-core:jar:1.2.3">
+      <point x="-32.25" y="-15.0" />
+      <point x="3887.8129295220597" y="540.0" />
+      <point x="2798.285256410257" y="540.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE">
+      <point x="-20.625" y="-15.0" />
+      <point x="4908.6815192656495" y="820.0" />
+      <point x="4887.6606859323165" y="820.0" />
+      <point x="30.33333333333303" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="3321.0629295220597" y="320.0" />
+      <point x="3606.346267083506" y="320.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-beanutils:commons-beanutils:jar:1.7.0">
+      <point x="14.107142857143117" y="-15.0" />
+      <point x="9969.278245456126" y="1130.0" />
+      <point x="10511.14875198809" y="1130.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="-61.5" y="-15.0" />
+      <point x="1140.3750000000005" y="790.0" />
+      <point x="684.8156956164767" y="790.0" />
+      <point x="28.5" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="-28.0" y="-15.0" />
+      <point x="6376.08709073268" y="810.0" />
+      <point x="6066.9627692656495" y="810.0" />
+      <point x="6066.9627692656495" y="550.0" />
+      <point x="6247.336279938899" y="550.0" />
+      <point x="-30.3125" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1/org.slf4j:jcl-over-slf4j:jar:1.7.25" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="7291.250952026732" y="390.0" />
+      <point x="5514.450863272232" y="390.0" />
+      <point x="39.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4882.8065192656495" y="1100.0" />
+      <point x="4791.767618693399" y="1100.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8">
+      <point x="-15.583333333333258" y="-15.0" />
+      <point x="1405.708333333334" y="980.0" />
+      <point x="1201.8750000000005" y="980.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="net.sf.dozer:dozer:jar:5.5.1/org.slf4j:jcl-over-slf4j:jar:1.7.25">
+      <point x="-8.625" y="-15.0" />
+      <point x="8793.921102598983" y="1110.0" />
+      <point x="7291.250952026732" y="1110.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.zaxxer:HikariCP-java7:jar:2.4.13">
+      <point x="45.20930232558112" y="-15.0" />
+      <point x="4928.015821591231" y="1320.0" />
+      <point x="7118.750952026732" y="1320.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6">
+      <point x="61.5" y="-15.0" />
+      <point x="1263.3750000000005" y="790.0" />
+      <point x="1696.1185897435903" y="790.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE">
+      <point x="-35.16279069767461" y="-15.0" />
+      <point x="4847.643728567975" y="1300.0" />
+      <point x="3121.9342853600656" y="1300.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final">
+      <point x="-44.25" y="-15.0" />
+      <point x="8785.042618693398" y="820.0" />
+      <point x="8576.375952026732" y="820.0" />
+      <point x="8576.375952026732" y="660.0" />
+      <point x="8592.542618693398" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="-43.25" y="-15.0" />
+      <point x="929.125" y="800.0" />
+      <point x="665.8156956164767" y="800.0" />
+      <point x="9.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-22.75" y="-15.0" />
+      <point x="4834.5773525989825" y="650.0" />
+      <point x="4130.06292952206" y="650.0" />
+      <point x="4130.06292952206" y="310.0" />
+      <point x="3632.124044861284" y="310.0" />
+      <point x="25.77777777777783" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/xml-apis:xml-apis:jar:1.4.01">
+      <point x="-18.75" y="-15.0" />
+      <point x="9902.421102598983" y="800.0" />
+      <point x="9850.671102598983" y="800.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/com.zaxxer:HikariCP:jar:3.2.0">
+      <point x="62.333333333333485" y="-15.0" />
+      <point x="4201.017618693399" y="980.0" />
+      <point x="5022.3065192656495" y="980.0" />
+      <point x="5022.3065192656495" y="820.0" />
+      <point x="5468.8065192656495" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-event:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="0.0" y="-15.0" />
+      <point x="6465.1398525989825" y="570.0" />
+      <point x="6283.711279938899" y="570.0" />
+      <point x="6.0625" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.shiro:shiro-spring:jar:1.4.0-RC2">
+      <point x="20.093023255813932" y="-15.0" />
+      <point x="4902.899542521463" y="1270.0" />
+      <point x="6390.6398525989825" y="1270.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="32.25" y="-15.0" />
+      <point x="3952.3129295220597" y="560.0" />
+      <point x="5289.3065192656495" y="560.0" />
+      <point x="5289.3065192656495" y="440.0" />
+      <point x="5442.450863272232" y="440.0" />
+      <point x="-33.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-event:jar:1.4.0-RC2">
+      <point x="-57.19999999999982" y="-15.0" />
+      <point x="6748.13709073268" y="650.0" />
+      <point x="6491.3898525989825" y="650.0" />
+      <point x="26.25" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.dom4j:dom4j:jar:2.1.1">
+      <point x="-34.09090909090901" y="-15.0" />
+      <point x="7867.670668467037" y="950.0" />
+      <point x="7166.350863272232" y="950.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2">
+      <point x="30.139534883721353" y="-15.0" />
+      <point x="4912.946054149371" y="1290.0" />
+      <point x="6520.242529938899" y="1290.0" />
+      <point x="6520.242529938899" y="980.0" />
+      <point x="6436.753757399347" y="980.0" />
+      <point x="32.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12" target="org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12/org.hamcrest:hamcrest-core:jar:1.3">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4177.5565192656495" y="160.0" />
+      <point x="2483.516138878378" y="160.0" />
+      <point x="24.461538461538566" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="-11.363636363636033" y="-15.0" />
+      <point x="7890.397941194311" y="930.0" />
+      <point x="7549.375952026732" y="930.0" />
+      <point x="7549.375952026732" y="820.0" />
+      <point x="7574.543429487179" y="820.0" />
+      <point x="14.875" y="15.0" />
+    </edge>
+    <edge source="net.sf.json-lib:json-lib:jar:jdk15:2.4" target="net.sf.json-lib:json-lib:jar:jdk15:2.4/net.sf.ezmorph:ezmorph:jar:1.0.6">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/javax.annotation:javax.annotation-api:jar:1.3.2">
+      <point x="12.916666666666515" y="-15.0" />
+      <point x="2719.2712628553923" y="790.0" />
+      <point x="2956.785256410257" y="790.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final">
+      <point x="-14.75" y="-15.0" />
+      <point x="8814.542618693398" y="810.0" />
+      <point x="8728.042618693398" y="810.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="commons-lang:commons-lang:jar:2.6">
+      <point x="-65.30232558139505" y="-15.0" />
+      <point x="4817.5041936842545" y="1360.0" />
+      <point x="1391.4795961887257" y="1360.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final/io.netty:netty-resolver:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="dom4j:dom4j:jar:1.6">
+      <point x="-80.37209302325573" y="-15.0" />
+      <point x="4802.434426242394" y="1390.0" />
+      <point x="985.2916666666674" y="1390.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.commons:commons-lang3:jar:3.5">
+      <point x="70.32558139534922" y="-15.0" />
+      <point x="4953.132100660999" y="1370.0" />
+      <point x="9553.197888313269" y="1370.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/oro:oro:jar:2.0.8">
+      <point x="2.821428571429351" y="-15.0" />
+      <point x="9957.992531170412" y="1110.0" />
+      <point x="10281.64875198809" y="1110.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="22.75" y="-15.0" />
+      <point x="4880.0773525989825" y="650.0" />
+      <point x="5096.3065192656495" y="650.0" />
+      <point x="5096.3065192656495" y="140.0" />
+      <point x="2499.8238311860705" y="140.0" />
+      <point x="40.769230769230944" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="commons-io:commons-io:jar:2.4">
+      <point x="90.41860465116315" y="-15.0" />
+      <point x="4973.225123916813" y="1410.0" />
+      <point x="10312.171102598983" y="1410.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE/org.springframework:spring-jcl:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="net.sf.dozer:dozer:jar:5.5.1">
+      <point x="60.2790697674418" y="-15.0" />
+      <point x="4943.085589033091" y="1350.0" />
+      <point x="8802.546102598983" y="1350.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="77.91666666666674" y="-15.0" />
+      <point x="1499.208333333334" y="960.0" />
+      <point x="2638.5420961887257" y="960.0" />
+      <point x="-67.8125" y="15.0" />
+    </edge>
+    <edge source="commons-dbcp:commons-dbcp:jar:1.4" target="commons-dbcp:commons-dbcp:jar:1.4/commons-pool:commons-pool:jar:1.6">
+      <point x="0.0" y="-15.0" />
+      <point x="7265.225863272232" y="1140.0" />
+      <point x="7333.500952026732" y="1140.0" />
+      <point x="-31.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final">
+      <point x="13.625" y="-15.0" />
+      <point x="8935.52375198809" y="890.0" />
+      <point x="8829.292618693398" y="890.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="-43.33333333333303" y="-15.0" />
+      <point x="8549.209285360066" y="570.0" />
+      <point x="8480.66842948718" y="570.0" />
+      <point x="8480.66842948718" y="450.0" />
+      <point x="9160.770268082506" y="450.0" />
+      <point x="-52.08333333333303" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-hash:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-core:jar:1.4.0-RC2">
+      <point x="36.75" y="-15.0" />
+      <point x="6187.7127692656495" y="660.0" />
+      <point x="6174.2127692656495" y="660.0" />
+      <point x="-36.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2">
+      <point x="-30.139534883720444" y="-15.0" />
+      <point x="4852.666984381929" y="1290.0" />
+      <point x="3330.6879295220597" y="1290.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6">
+      <point x="-95.4418604651164" y="-15.0" />
+      <point x="4787.364658800533" y="1420.0" />
+      <point x="414.5" y="1420.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-26.0" y="-15.0" />
+      <point x="1747.4379295220592" y="780.0" />
+      <point x="1615.1185897435903" y="780.0" />
+      <point x="1615.1185897435903" y="190.0" />
+      <point x="2418.2853696476086" y="190.0" />
+      <point x="-40.769230769230944" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE">
+      <point x="-47.25" y="-15.0" />
+      <point x="2610.535256410257" y="400.0" />
+      <point x="2525.5592853600656" y="400.0" />
+      <point x="36.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE">
+      <point x="-74.40000000000009" y="-15.0" />
+      <point x="1965.4129295220591" y="1100.0" />
+      <point x="1421.2916666666674" y="1100.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/com.fasterxml:classmate:jar:1.4.0">
+      <point x="-56.81818181818198" y="-15.0" />
+      <point x="7844.943395739765" y="970.0" />
+      <point x="6167.617529938899" y="970.0" />
+      <point x="23.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE">
+      <point x="-12.916666666666515" y="-15.0" />
+      <point x="2693.437929522059" y="750.0" />
+      <point x="2212.3685897435903" y="750.0" />
+      <point x="27.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1">
+      <point x="-85.39534883720899" y="-15.0" />
+      <point x="4797.4111704284405" y="1400.0" />
+      <point x="761.0833333333339" y="1400.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="2101.3685897435903" y="660.0" />
+      <point x="2158.3685897435903" y="660.0" />
+      <point x="-27.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final">
+      <point x="55.25581395348854" y="-15.0" />
+      <point x="4938.062333219138" y="1340.0" />
+      <point x="7425.225863272232" y="1340.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-crypto-cipher:jar:1.4.0-RC2">
+      <point x="14.0" y="-15.0" />
+      <point x="6418.08709073268" y="770.0" />
+      <point x="6526.8898525989825" y="770.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.shiro:shiro-web:jar:1.4.0-RC2">
+      <point x="25.116279069767188" y="-15.0" />
+      <point x="4907.922798335417" y="1280.0" />
+      <point x="6461.742529938899" y="1280.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="53.75" y="-15.0" />
+      <point x="2093.562929522059" y="950.0" />
+      <point x="2565.062929522059" y="950.0" />
+      <point x="2565.062929522059" y="780.0" />
+      <point x="2866.285256410257" y="780.0" />
+      <point x="2866.285256410257" y="310.0" />
+      <point x="3593.4573781946174" y="310.0" />
+      <point x="-12.888888888888687" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="p6spy:p6spy:jar:3.8.0">
+      <point x="-55.25581395348854" y="-15.0" />
+      <point x="4827.550705312161" y="1340.0" />
+      <point x="1890.8129295220592" y="1340.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3">
+      <point x="-69.0" y="-15.0" />
+      <point x="3993.0629295220597" y="660.0" />
+      <point x="3920.0629295220597" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="0.0" y="-15.0" />
+      <point x="6650.6398525989825" y="550.0" />
+      <point x="6307.961279938899" y="550.0" />
+      <point x="30.3125" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.microsoft.sqlserver:mssql-jdbc:jar:6.4.0.jre8">
+      <point x="80.37209302325573" y="-15.0" />
+      <point x="4963.178612288905" y="1390.0" />
+      <point x="10065.671102598983" y="1390.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-config-ogdl:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-lang:jar:1.4.0-RC2">
+      <point x="28.600000000000364" y="-15.0" />
+      <point x="6833.93709073268" y="650.0" />
+      <point x="6908.6398525989825" y="650.0" />
+      <point x="6908.6398525989825" y="540.0" />
+      <point x="6320.086279938899" y="540.0" />
+      <point x="42.4375" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0">
+      <point x="0.0" y="-15.0" />
+      <point x="761.0833333333339" y="1170.0" />
+      <point x="714.375" y="1170.0" />
+      <point x="714.375" y="820.0" />
+      <point x="813.8156956164767" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.core:jackson-databind:jar:2.9.6" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0">
+      <point x="35.25" y="-15.0" />
+      <point x="617.75" y="810.0" />
+      <point x="760.1490289498097" y="810.0" />
+      <point x="-53.66666666666666" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE">
+      <point x="-11.83333333333303" y="-15.0" />
+      <point x="4779.934285360065" y="960.0" />
+      <point x="4836.3065192656495" y="960.0" />
+      <point x="4836.3065192656495" y="820.0" />
+      <point x="4857.3273525989825" y="820.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.aspectj:aspectjweaver:jar:1.9.2">
+      <point x="-61.333333333333485" y="-15.0" />
+      <point x="1638.6045961887257" y="1170.0" />
+      <point x="1247.2916666666674" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE">
+      <point x="-15.069767441860677" y="-15.0" />
+      <point x="4867.736751823789" y="1260.0" />
+      <point x="4373.1815192656495" y="1260.0" />
+      <point x="4373.1815192656495" y="1100.0" />
+      <point x="4185.434285360065" y="1100.0" />
+      <point x="46.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE">
+      <point x="35.5" y="-15.0" />
+      <point x="4827.267618693399" y="990.0" />
+      <point x="5033.3065192656495" y="990.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2" target="com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/org.mybatis:mybatis:jar:3.5.6">
+      <point x="49.0" y="-15.0" />
+      <point x="3633.350952026732" y="660.0" />
+      <point x="3793.5629295220597" y="660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.0-RC2" target="org.apache.shiro:shiro-core:jar:1.4.0-RC2/org.apache.shiro:shiro-event:jar:1.4.0-RC2">
+      <point x="0.0" y="-15.0" />
+      <point x="6404.08709073268" y="760.0" />
+      <point x="6438.8898525989825" y="760.0" />
+      <point x="-26.25" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/net.bytebuddy:byte-buddy:jar:1.9.10">
+      <point x="45.45454545454504" y="-15.0" />
+      <point x="7947.216123012491" y="990.0" />
+      <point x="8394.875952026732" y="990.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="javax.servlet:javax.servlet-api:jar:3.1.0">
+      <point x="95.4418604651164" y="-15.0" />
+      <point x="4978.248379730766" y="1420.0" />
+      <point x="10454.671102598983" y="1420.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="2489.0592853600656" y="210.0" />
+      <point x="2442.746908109147" y="210.0" />
+      <point x="-16.307692307692378" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="com.mchange:c3p0:jar:0.9.2.1">
+      <point x="-75.34883720930247" y="-15.0" />
+      <point x="4807.457682056347" y="1380.0" />
+      <point x="1073.7916666666674" y="1380.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="46.75" y="-15.0" />
+      <point x="1468.0416666666674" y="950.0" />
+      <point x="1738.7712628553927" y="950.0" />
+      <point x="-34.66666666666674" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.6" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="71.0" y="-15.0" />
+      <point x="485.5" y="1170.0" />
+      <point x="490.5" y="1170.0" />
+      <point x="490.5" y="780.0" />
+      <point x="608.8156956164767" y="780.0" />
+      <point x="-47.5" y="15.0" />
+    </edge>
+    <edge source="com.mchange:c3p0:jar:0.9.2.1" target="com.mchange:c3p0:jar:0.9.2.1/com.mchange:mchange-commons-java:jar:0.2.3.4">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:8.0" target="org.apache.ddlutils:ddlutils:jar:1.0">
+      <point x="75.34883720930247" y="-15.0" />
+      <point x="4958.155356474952" y="1380.0" />
+      <point x="9955.171102598983" y="1380.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.1/com.fasterxml.jackson.core:jackson-databind:jar:2.9.6">
+      <point x="81.0" y="-15.0" />
+      <point x="842.0833333333339" y="1170.0" />
+      <point x="889.5416666666679" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.zaxxer:HikariCP-java7:jar:2.4.13" target="com.alibaba:druid-spring-boot-starter:jar:1.1.10/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="7118.750952026732" y="410.0" />
+      <point x="5502.450863272232" y="410.0" />
+      <point x="27.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.ddlutils:ddlutils:jar:1.0" target="org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7">
+      <point x="-2.821428571429351" y="-15.0" />
+      <point x="9952.349674027553" y="1100.0" />
+      <point x="10228.439607860975" y="1100.0" />
+      <point x="10228.439607860975" y="990.0" />
+      <point x="9883.671102598983" y="990.0" />
+      <point x="-37.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.yaml:snakeyaml:jar:1.23">
+      <point x="38.75" y="-15.0" />
+      <point x="2745.1045961887257" y="800.0" />
+      <point x="3106.785256410257" y="800.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="7901.761577557947" y="920.0" />
+      <point x="7678.875952026732" y="920.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+  </edges>
+  <settings layout="Hierarchic Group" zoom="0.6792745231607629" x="9949.524882793892" y="1025.1877052673804" />
+  <SelectedNodes />
+  <Categories />
+  <VISIBILITY>All</VISIBILITY>
+</Diagram>
+

+ 2004 - 0
jp-console/02.uml

@@ -0,0 +1,2004 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Diagram>
+  <ID>MAVEN</ID>
+  <OriginalElement>org.jeeplus:jeeplus-gencode-vue:8.0</OriginalElement>
+  <nodes>
+    <node x="8908.159134656296" y="1750.0">org.jeeplus:jeeplus-gencode-vue:8.0</node>
+    <node x="8242.530894750218" y="1490.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE</node>
+    <node x="7616.2875" y="920.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE</node>
+    <node x="7675.120833333334" y="770.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE</node>
+    <node x="7957.3055932090065" y="560.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3</node>
+    <node x="7932.0555932090065" y="400.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3/ch.qos.logback:logback-core:jar:1.2.3</node>
+    <node x="8106.3055932090065" y="560.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2</node>
+    <node x="8091.0555932090065" y="400.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2/org.apache.logging.log4j:log4j-api:jar:2.11.2</node>
+    <node x="8627.788926542338" y="560.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.slf4j:jul-to-slf4j:jar:1.7.25</node>
+    <node x="8178.8055932090065" y="80.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE</node>
+    <node x="8185.8055932090065" y="0.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE/org.springframework:spring-jcl:jar:5.1.5.RELEASE</node>
+    <node x="7557.120833333334" y="770.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.yaml:snakeyaml:jar:1.23</node>
+    <node x="8242.305593209006" y="320.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE</node>
+    <node x="8291.005593209005" y="210.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE</node>
+    <node x="8278.864228083552" y="1400.0">org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.aspectj:aspectjweaver:jar:1.9.2</node>
+    <node x="7708.030894750218" y="1400.0">org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE</node>
+    <node x="8362.43892654234" y="1090.0">org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE</node>
+    <node x="4825.538301322964" y="400.0">org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE</node>
+    <node x="8969.659134656296" y="1490.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE</node>
+    <node x="8917.420833333334" y="1400.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE</node>
+    <node x="8947.02672808355" y="920.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE</node>
+    <node x="9010.33922808355" y="560.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE</node>
+    <node x="8797.780894750218" y="770.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE</node>
+    <node x="9281.31999731432" y="320.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE</node>
+    <node x="9464.205593209006" y="1400.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE</node>
+    <node x="9487.528330647654" y="400.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final</node>
+    <node x="9512.94499731432" y="1090.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final</node>
+    <node x="9570.778330647654" y="560.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final</node>
+    <node x="9520.44499731432" y="920.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final</node>
+    <node x="9650.44499731432" y="770.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final</node>
+    <node x="9725.94499731432" y="560.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final/io.netty:netty-resolver:jar:4.1.33.Final</node>
+    <node x="9357.31999731432" y="1090.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE</node>
+    <node x="9344.31999731432" y="920.0">org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE/org.reactivestreams:reactive-streams:jar:1.0.2</node>
+    <node x="7995.530894750218" y="1490.0">org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE</node>
+    <node x="8051.447561416885" y="1400.0">org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE/org.freemarker:freemarker:jar:2.3.28</node>
+    <node x="7780.947561416885" y="1090.0">org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE</node>
+    <node x="9202.33922808355" y="560.0">org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/com.zaxxer:HikariCP:jar:3.2.0</node>
+    <node x="7919.679166666667" y="920.0">org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE</node>
+    <node x="7205.064228083552" y="1490.0">org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2</node>
+    <node x="7128.6805932090065" y="920.0">org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:1.3.2</node>
+    <node x="7146.514228083552" y="1400.0">org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis:mybatis:jar:3.4.6</node>
+    <node x="7267.014228083552" y="1400.0">org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis:mybatis-spring:jar:1.3.2</node>
+    <node x="4302.914228083551" y="1490.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE</node>
+    <node x="5297.0972598756725" y="1400.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.16</node>
+    <node x="3973.3389265423393" y="1090.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final</node>
+    <node x="4108.854166666667" y="920.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/javax.validation:validation-api:jar:2.0.1.Final</node>
+    <node x="2908.297259875673" y="920.0">org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/com.fasterxml:classmate:jar:1.4.0</node>
+    <node x="4636.247561416885" y="1400.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE</node>
+    <node x="5418.172259875673" y="1090.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE</node>
+    <node x="5133.538301322964" y="920.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.core:jackson-databind:jar:2.9.8</node>
+    <node x="5501.413301322964" y="920.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8</node>
+    <node x="5671.830894750218" y="770.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9</node>
+    <node x="5294.538301322964" y="920.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8</node>
+    <node x="5510.830894750218" y="770.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9</node>
+    <node x="5799.788301322964" y="920.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8</node>
+    <node x="6012.788301322964" y="770.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9</node>
+    <node x="4522.538301322964" y="920.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE</node>
+    <node x="4974.622561416885" y="1090.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE</node>
+    <node x="4647.538301322964" y="320.0">org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE</node>
+    <node x="4055.9142280835517" y="1490.0">org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE</node>
+    <node x="3791.547259875673" y="320.0">org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-messaging:jar:5.1.5.RELEASE</node>
+    <node x="4350.254666448418" y="1090.0">org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-websocket:jar:5.1.5.RELEASE</node>
+    <node x="6756.164228083551" y="1490.0">org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE</node>
+    <node x="6742.580894750219" y="1400.0">org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE/com.sun.mail:javax.mail:jar:1.6.2</node>
+    <node x="6742.080894750219" y="1090.0">org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE/com.sun.mail:javax.mail:jar:1.6.2/javax.activation:activation:jar:1.1</node>
+    <node x="8236.272259875674" y="920.0">org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE</node>
+    <node x="7363.722259875673" y="560.0">org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE</node>
+    <node x="7107.114228083552" y="770.0">org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE</node>
+    <node x="6389.830894750218" y="1490.0">org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE</node>
+    <node x="6426.330894750218" y="770.0">org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/javax.annotation:javax.annotation-api:jar:1.3.2</node>
+    <node x="6476.830894750218" y="1090.0">org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.16</node>
+    <node x="6526.580894750218" y="1400.0">org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.16</node>
+    <node x="8847.659134656296" y="1490.0">com.microsoft.sqlserver:mssql-jdbc:jar:6.4.0.jre8</node>
+    <node x="11899.644249781752" y="1490.0">mysql:mysql-connector-java:jar:8.0.15</node>
+    <node x="11148.980593209006" y="1490.0">org.postgresql:postgresql:jar:42.2.5</node>
+    <node x="6961.164228083551" y="1490.0">com.alibaba:druid-spring-boot-starter:jar:1.1.14</node>
+    <node x="6915.247561416885" y="1400.0">com.alibaba:druid-spring-boot-starter:jar:1.1.14/com.alibaba:druid:jar:1.1.14</node>
+    <node x="9233.31999731432" y="400.0">com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25</node>
+    <node x="11639.644249781752" y="1490.0">cglib:cglib:jar:3.1</node>
+    <node x="11641.644249781752" y="1400.0">cglib:cglib:jar:3.1/org.ow2.asm:asm:jar:4.2</node>
+    <node x="10140.673061198635" y="1490.0">javax.servlet.jsp:jsp-api:jar:2.1</node>
+    <node x="4485.247561416885" y="1400.0">commons-dbcp:commons-dbcp:jar:1.4</node>
+    <node x="4144.338926542339" y="1090.0">commons-dbcp:commons-dbcp:jar:1.4/commons-pool:commons-pool:jar:1.6</node>
+    <node x="10382.24951923077" y="1090.0">org.apache.shiro:shiro-core:jar:1.4.1</node>
+    <node x="10263.830593209006" y="560.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1</node>
+    <node x="9977.858653887066" y="920.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-cache:jar:1.4.1</node>
+    <node x="10279.858653887066" y="920.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1</node>
+    <node x="10196.858653887066" y="770.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1/org.apache.shiro:shiro-crypto-core:jar:1.4.1</node>
+    <node x="10104.858653887066" y="920.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-cipher:jar:1.4.1</node>
+    <node x="10401.608653887066" y="770.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-core:jar:1.4.1</node>
+    <node x="10696.108653887066" y="920.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1</node>
+    <node x="10689.608653887066" y="770.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1/commons-beanutils:commons-beanutils:jar:1.9.3</node>
+    <node x="10564.608653887066" y="770.0">org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-event:jar:1.4.1</node>
+    <node x="10316.858653887066" y="1490.0">org.apache.shiro:shiro-spring:jar:1.4.1</node>
+    <node x="12088.644249781752" y="1490.0">org.apache.shiro:shiro-cas:jar:1.4.0</node>
+    <node x="12109.644249781752" y="1400.0">org.apache.shiro:shiro-cas:jar:1.4.0/org.apache.shiro:shiro-web:jar:1.4.0</node>
+    <node x="11962.644249781752" y="1400.0">org.apache.shiro:shiro-cas:jar:1.4.0/org.jasig.cas.client:cas-client-core:jar:3.2.2</node>
+    <node x="10365.358653887066" y="1400.0">org.apache.shiro:shiro-web:jar:1.4.1</node>
+    <node x="9895.44499731432" y="1090.0">org.apache.shiro:shiro-ehcache:jar:1.4.1</node>
+    <node x="9866.94499731432" y="560.0">org.apache.shiro:shiro-ehcache:jar:1.4.1/net.sf.ehcache:ehcache-core:jar:2.6.11</node>
+    <node x="12389.644249781752" y="1490.0">commons-io:commons-io:jar:2.4</node>
+    <node x="5057.122561416885" y="1490.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9</node>
+    <node x="5262.797259875673" y="770.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0</node>
+    <node x="5878.788301322964" y="770.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8</node>
+    <node x="5108.122561416885" y="1400.0">com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9</node>
+    <node x="12200.644249781752" y="1490.0">com.alibaba:fastjson:jar:1.2.45</node>
+    <node x="11050.683477865303" y="1490.0">net.sf.dozer:dozer:jar:5.5.1</node>
+    <node x="11160.331749781752" y="1400.0">net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1</node>
+    <node x="11155.331749781752" y="1090.0">net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1/commons-collections:commons-collections:jar:3.2.1</node>
+    <node x="11006.331749781752" y="1400.0">net.sf.dozer:dozer:jar:5.5.1/org.apache.commons:commons-lang3:jar:3.8.1</node>
+    <node x="10939.831749781752" y="560.0">net.sf.dozer:dozer:jar:5.5.1/org.slf4j:jcl-over-slf4j:jar:1.7.25</node>
+    <node x="10576.916185897437" y="1490.0">com.google.guava:guava:jar:20.0</node>
+    <node x="11493.644249781752" y="1490.0">commons-lang:commons-lang:jar:2.6</node>
+    <node x="8693.659134656296" y="1490.0">org.apache.commons:commons-lang3:jar:3.5</node>
+    <node x="11353.644249781752" y="1490.0">net.sf.json-lib:json-lib:jar:jdk15:2.4</node>
+    <node x="11369.644249781752" y="1400.0">net.sf.json-lib:json-lib:jar:jdk15:2.4/net.sf.ezmorph:ezmorph:jar:1.0.6</node>
+    <node x="12304.644249781752" y="1490.0">com.mchange:c3p0:jar:0.9.2.1</node>
+    <node x="12244.144249781752" y="1400.0">com.mchange:c3p0:jar:0.9.2.1/com.mchange:mchange-commons-java:jar:0.2.3.4</node>
+    <node x="10667.916185897437" y="1490.0">com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5</node>
+    <node x="10726.416185897437" y="1400.0">com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5/com.mchange:c3p0:jar:0.9.5</node>
+    <node x="10447.858653887066" y="1490.0">dom4j:dom4j:jar:1.6</node>
+    <node x="2730.038301322965" y="1490.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final</node>
+    <node x="2758.1097598756724" y="920.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final</node>
+    <node x="2979.7883013229643" y="1400.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final</node>
+    <node x="3582.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.persistence:javax.persistence-api:jar:2.2</node>
+    <node x="3766.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.javassist:javassist:jar:3.23.1-GA</node>
+    <node x="3210.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/net.bytebuddy:byte-buddy:jar:1.9.10</node>
+    <node x="3034.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/antlr:antlr:jar:2.7.7</node>
+    <node x="3336.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.1.1.Final</node>
+    <node x="3116.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss:jandex:jar:2.0.5.Final</node>
+    <node x="2275.9620326029462" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.activation:javax.activation-api:jar:1.2.0</node>
+    <node x="2942.547259875673" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.dom4j:dom4j:jar:2.1.1</node>
+    <node x="2633.8597598756724" y="1090.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final</node>
+    <node x="2762.038301322965" y="1400.0">org.hibernate:hibernate-ehcache:jar:5.2.12.Final/net.sf.ehcache:ehcache:jar:2.10.6</node>
+    <node x="4972.538301322964" y="920.0">com.fasterxml.jackson.core:jackson-databind:jar:2.9.9</node>
+    <node x="6116.288301322964" y="1490.0">com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9</node>
+    <node x="6198.288301322964" y="1400.0">com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9/javax.transaction:jta:jar:1.1</node>
+    <node x="6037.288301322964" y="1400.0">com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9</node>
+    <node x="1625.0189521627044" y="1490.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0</node>
+    <node x="2376.5036992696123" y="1400.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2</node>
+    <node x="2141.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2</node>
+    <node x="2108.9620326029462" y="920.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2</node>
+    <node x="2046.9620326029462" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2</node>
+    <node x="2356.183167477492" y="560.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.baomidou:mybatis-plus-annotation:jar:3.4.2</node>
+    <node x="2047.2120326029462" y="560.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.github.jsqlparser:jsqlparser:jar:4.0</node>
+    <node x="1945.2120326029462" y="560.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/org.mybatis:mybatis:jar:3.5.6</node>
+    <node x="2213.9620326029462" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/org.mybatis:mybatis-spring:jar:2.0.5</node>
+    <node x="1710.7189521627051" y="1400.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0</node>
+    <node x="1965.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-beanutils:commons-beanutils:jar:1.7.0</node>
+    <node x="188.0" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8</node>
+    <node x="166.0" y="920.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0</node>
+    <node x="99.5" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-logging:commons-logging:jar:1.0</node>
+    <node x="265.5" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-collections:commons-collections:jar:2.0</node>
+    <node x="1467.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-codec:commons-codec:jar:1.11</node>
+    <node x="968.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-collections:commons-collections:jar:3.1</node>
+    <node x="1624.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-dbcp:commons-dbcp:jar:1.2.1</node>
+    <node x="741.9620326029462" y="920.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7</node>
+    <node x="803.5" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-beanutils:commons-beanutils:jar:1.6</node>
+    <node x="637.5" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-logging:commons-logging:jar:1.0.4</node>
+    <node x="451.5" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-collections:commons-collections:jar:2.1</node>
+    <node x="1242.1831674774921" y="770.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/xml-apis:xml-apis:jar:1.4.01</node>
+    <node x="1154.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-lang:commons-lang:jar:2.1</node>
+    <node x="1775.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging-api:jar:1.0.4</node>
+    <node x="0.0" y="920.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging:jar:1.0.4</node>
+    <node x="1375.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/dom4j:dom4j:jar:1.6.1</node>
+    <node x="572.25" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12</node>
+    <node x="540.75" y="920.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12/org.hamcrest:hamcrest-core:jar:1.3</node>
+    <node x="864.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/stax:stax-api:jar:1.0.1</node>
+    <node x="1300.9620326029462" y="1090.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/oro:oro:jar:2.0.8</node>
+    <node x="1495.7189521627051" y="1400.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/javax.xml.bind:jaxb-api:jar:2.3.1</node>
+    <node x="1598.7189521627051" y="1400.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.sun.xml.bind:jaxb-core:jar:2.3.0.1</node>
+    <node x="1385.7189521627051" y="1400.0">org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.sun.xml.bind:jaxb-impl:jar:2.3.0.1</node>
+    <node x="11724.644249781752" y="1490.0">jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3</node>
+    <node x="11720.644249781752" y="1400.0">jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3/jakarta.activation:jakarta.activation-api:jar:1.2.2</node>
+  </nodes>
+  <notes />
+  <edges>
+    <edge source="com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5" target="com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5/com.mchange:c3p0:jar:0.9.5">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="9574.94499731432" y="900.0" />
+      <point x="9562.278330647654" y="900.0" />
+      <point x="9562.278330647654" y="750.0" />
+      <point x="9589.111663980988" y="750.0" />
+      <point x="-36.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.16">
+      <point x="76.5" y="-15.0" />
+      <point x="6568.330894750218" y="1470.0" />
+      <point x="6624.580894750218" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-cas:jar:1.4.0" target="org.apache.shiro:shiro-cas:jar:1.4.0/org.apache.shiro:shiro-web:jar:1.4.0">
+      <point x="23.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE">
+      <point x="-22.550000000000182" y="-15.0" />
+      <point x="8967.609134656297" y="1590.0" />
+      <point x="7806.530894750218" y="1590.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final">
+      <point x="-73.33333333333303" y="-15.0" />
+      <point x="4339.580894750219" y="1450.0" />
+      <point x="4259.997561416885" y="1450.0" />
+      <point x="4259.997561416885" y="1250.0" />
+      <point x="4011.0889265423393" y="1250.0" />
+      <point x="-37.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final">
+      <point x="40.875" y="-15.0" />
+      <point x="9559.580593209006" y="1380.0" />
+      <point x="9726.44499731432" y="1380.0" />
+      <point x="9726.44499731432" y="900.0" />
+      <point x="9758.778330647654" y="900.0" />
+      <point x="43.333333333333485" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="32.25" y="-15.0" />
+      <point x="8054.0555932090065" y="500.0" />
+      <point x="9243.012305006629" y="500.0" />
+      <point x="-32.30769230769238" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.javassist:javassist:jar:3.23.1-GA">
+      <point x="56.81818181818198" y="-15.0" />
+      <point x="3099.1064831411463" y="1250.0" />
+      <point x="3810.047259875673" y="1250.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-websocket:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-48.33333333333394" y="-15.0" />
+      <point x="4374.421333115084" y="1070.0" />
+      <point x="4334.172259875673" y="1070.0" />
+      <point x="4334.172259875673" y="140.0" />
+      <point x="8189.405593209007" y="140.0" />
+      <point x="-42.399999999999636" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-collections:commons-collections:jar:2.1">
+      <point x="-56.25" y="-15.0" />
+      <point x="760.7120326029462" y="900.0" />
+      <point x="534.5" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="cglib:cglib:jar:3.1" target="cglib:cglib:jar:3.1/org.ow2.asm:asm:jar:4.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2" target="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis:mybatis-spring:jar:1.3.2">
+      <point x="0.0" y="-15.0" />
+      <point x="7309.564228083552" y="1470.0" />
+      <point x="7330.514228083552" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="commons-dbcp:commons-dbcp:jar:1.4/commons-pool:commons-pool:jar:1.6">
+      <point x="36.67857142857156" y="-15.0" />
+      <point x="1786.8975235912767" y="1260.0" />
+      <point x="4176.088926542339" y="1260.0" />
+      <point x="-31.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE/com.sun.mail:javax.mail:jar:1.6.2" target="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE/com.sun.mail:javax.mail:jar:1.6.2/javax.activation:activation:jar:1.1">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.alibaba:druid-spring-boot-starter:jar:1.1.14" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="7057.664228083551" y="1470.0" />
+      <point x="7047.247561416885" y="1470.0" />
+      <point x="7047.247561416885" y="490.0" />
+      <point x="9236.55076654509" y="490.0" />
+      <point x="-38.769230769230944" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="-59.16666666666674" y="-15.0" />
+      <point x="8929.254166666668" y="1370.0" />
+      <point x="8520.81392654234" y="1370.0" />
+      <point x="67.875" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="net.sf.dozer:dozer:jar:5.5.1/org.apache.commons:commons-lang3:jar:3.8.1">
+      <point x="8.625" y="-15.0" />
+      <point x="11093.808477865303" y="1450.0" />
+      <point x="11073.331749781752" y="1450.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="0.0" y="-15.0" />
+      <point x="10473.108653887066" y="740.0" />
+      <point x="10318.393093209006" y="740.0" />
+      <point x="6.0625" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="10312.330593209006" y="500.0" />
+      <point x="9294.704612698937" y="500.0" />
+      <point x="19.384615384615472" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1" target="net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1/commons-collections:commons-collections:jar:3.2.1">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/net.sf.ehcache:ehcache:jar:2.10.6">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="9096.33922808355" y="480.0" />
+      <point x="9073.172561416884" y="480.0" />
+      <point x="9073.172561416884" y="140.0" />
+      <point x="8274.205593209006" y="140.0" />
+      <point x="42.399999999999636" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1">
+      <point x="-14.0" y="-15.0" />
+      <point x="10417.24951923077" y="1050.0" />
+      <point x="10353.358653887066" y="1050.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="36.75" y="-15.0" />
+      <point x="10390.108653887066" y="900.0" />
+      <point x="10376.608653887066" y="900.0" />
+      <point x="10376.608653887066" y="750.0" />
+      <point x="10306.268093209006" y="750.0" />
+      <point x="-6.0625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="60.333333333333485" y="-15.0" />
+      <point x="8513.272259875674" y="1070.0" />
+      <point x="8463.93892654234" y="1070.0" />
+      <point x="8463.93892654234" y="700.0" />
+      <point x="8759.288926542338" y="700.0" />
+      <point x="8759.288926542338" y="160.0" />
+      <point x="8260.072259875673" y="160.0" />
+      <point x="28.266666666666424" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.core:jackson-databind:jar:2.9.9" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="35.25" y="-15.0" />
+      <point x="5078.288301322964" y="850.0" />
+      <point x="5888.288301322964" y="850.0" />
+      <point x="-47.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4412.914228083551" y="1450.0" />
+      <point x="4381.747561416885" y="1450.0" />
+      <point x="4381.747561416885" y="1280.0" />
+      <point x="5615.672259875673" y="1280.0" />
+      <point x="5615.672259875673" y="1030.0" />
+      <point x="7639.5375" y="1030.0" />
+      <point x="-54.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="-35.5" y="-15.0" />
+      <point x="8952.920833333334" y="1360.0" />
+      <point x="8642.772259875674" y="1360.0" />
+      <point x="8642.772259875674" y="720.0" />
+      <point x="8822.205593209006" y="720.0" />
+      <point x="8822.205593209006" y="370.0" />
+      <point x="8331.555593209006" y="370.0" />
+      <point x="38.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-61.33333333333303" y="-15.0" />
+      <point x="8273.197561416884" y="1470.0" />
+      <point x="8226.864228083552" y="1470.0" />
+      <point x="8226.864228083552" y="1340.0" />
+      <point x="8259.280894750218" y="1340.0" />
+      <point x="8259.280894750218" y="1040.0" />
+      <point x="7748.0375" y="1040.0" />
+      <point x="54.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="-36.333333333333485" y="-15.0" />
+      <point x="9538.611663980988" y="900.0" />
+      <point x="9529.778330647654" y="900.0" />
+      <point x="9529.778330647654" y="540.0" />
+      <point x="9539.611663980988" y="540.0" />
+      <point x="-10.41666666666697" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="49.25" y="-15.0" />
+      <point x="7855.780894750218" y="1360.0" />
+      <point x="8430.31392654234" y="1360.0" />
+      <point x="-22.625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="57.33333333333326" y="-15.0" />
+      <point x="9153.672561416884" y="530.0" />
+      <point x="9262.396920391244" y="530.0" />
+      <point x="-12.923076923076906" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.apache.commons:commons-lang3:jar:3.5">
+      <point x="-6.149999999999636" y="-15.0" />
+      <point x="8984.009134656297" y="1550.0" />
+      <point x="8760.659134656296" y="1550.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="2752.8597598756724" y="1070.0" />
+      <point x="2802.7347598756724" y="1070.0" />
+      <point x="-14.875" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE">
+      <point x="20.625" y="-15.0" />
+      <point x="9050.15172808355" y="890.0" />
+      <point x="9096.33922808355" y="890.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-websocket:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4422.754666448418" y="540.0" />
+      <point x="4838.138301322964" y="540.0" />
+      <point x="-50.399999999999636" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="25.5" y="-15.0" />
+      <point x="8318.805593209006" y="300.0" />
+      <point x="8343.205593209006" y="300.0" />
+      <point x="-5.800000000000182" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3" target="jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3/jakarta.activation:jakarta.activation-api:jar:1.2.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE/org.reactivestreams:reactive-streams:jar:1.0.2">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-cipher:jar:1.4.1">
+      <point x="-28.0" y="-15.0" />
+      <point x="10403.24951923077" y="1060.0" />
+      <point x="10182.358653887066" y="1060.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE">
+      <point x="83.60000000000036" y="-15.0" />
+      <point x="7393.164228083552" y="1470.0" />
+      <point x="7686.530894750218" y="1470.0" />
+      <point x="7686.530894750218" y="1330.0" />
+      <point x="7874.447561416885" y="1330.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-core:jar:1.4.1">
+      <point x="0.0" y="-15.0" />
+      <point x="10431.24951923077" y="1070.0" />
+      <point x="10437.358653887066" y="1070.0" />
+      <point x="-35.75" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-ehcache:jar:1.4.1" target="org.apache.shiro:shiro-ehcache:jar:1.4.1/net.sf.ehcache:ehcache-core:jar:2.6.11">
+      <point x="-30.5" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-74.66666666666652" y="-15.0" />
+      <point x="9006.99246798963" y="1470.0" />
+      <point x="8614.272259875674" y="1470.0" />
+      <point x="8614.272259875674" y="1030.0" />
+      <point x="7763.5375" y="1030.0" />
+      <point x="69.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/stax:stax-api:jar:1.0.1">
+      <point x="-14.107142857143117" y="-15.0" />
+      <point x="1736.111809305562" y="1200.0" />
+      <point x="906.9620326029462" y="1200.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-35.0" y="-15.0" />
+      <point x="7937.179166666667" y="900.0" />
+      <point x="7909.479166666668" y="900.0" />
+      <point x="7909.479166666668" y="660.0" />
+      <point x="8354.805593209006" y="660.0" />
+      <point x="5.800000000000182" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="-44.25" y="-15.0" />
+      <point x="9527.69499731432" y="1070.0" />
+      <point x="9509.94499731432" y="1070.0" />
+      <point x="9509.94499731432" y="540.0" />
+      <point x="9518.778330647654" y="540.0" />
+      <point x="-31.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="9625.778330647654" y="540.0" />
+      <point x="9560.44499731432" y="540.0" />
+      <point x="10.416666666666742" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="27.0" y="-15.0" />
+      <point x="7444.722259875673" y="470.0" />
+      <point x="4888.538301322964" y="470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="commons-io:commons-io:jar:2.4">
+      <point x="79.94999999999982" y="-15.0" />
+      <point x="9070.109134656297" y="1730.0" />
+      <point x="12445.144249781752" y="1730.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.postgresql:postgresql:jar:42.2.5">
+      <point x="43.05000000000018" y="-15.0" />
+      <point x="9033.209134656297" y="1640.0" />
+      <point x="11198.980593209006" y="1640.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.apache.shiro:shiro-core:jar:1.4.1">
+      <point x="26.649999999999636" y="-15.0" />
+      <point x="9016.809134656296" y="1600.0" />
+      <point x="10530.358653887066" y="1600.0" />
+      <point x="10530.358653887066" y="1380.0" />
+      <point x="10463.916185897437" y="1380.0" />
+      <point x="32.666666666666515" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-messaging:jar:5.1.5.RELEASE">
+      <point x="-75.66666666666606" y="-15.0" />
+      <point x="4093.7475614168857" y="1470.0" />
+      <point x="3864.047259875673" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.1.1.Final">
+      <point x="34.09090909090992" y="-15.0" />
+      <point x="3076.3792104138743" y="1230.0" />
+      <point x="3449.547259875673" y="1230.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1/org.apache.shiro:shiro-crypto-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="0.0" y="-15.0" />
+      <point x="10268.858653887066" y="750.0" />
+      <point x="10294.143093209006" y="750.0" />
+      <point x="-18.1875" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE">
+      <point x="-14.350000000000364" y="-15.0" />
+      <point x="8975.809134656296" y="1570.0" />
+      <point x="8334.530894750218" y="1570.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="mysql:mysql-connector-java:jar:8.0.15">
+      <point x="63.55000000000018" y="-15.0" />
+      <point x="9053.709134656297" y="1690.0" />
+      <point x="11984.144249781752" y="1690.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="41.80000000000018" y="-15.0" />
+      <point x="7351.364228083552" y="1460.0" />
+      <point x="7473.764228083552" y="1460.0" />
+      <point x="7473.764228083552" y="1060.0" />
+      <point x="7686.0375" y="1060.0" />
+      <point x="-7.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="net.sf.json-lib:json-lib:jar:jdk15:2.4">
+      <point x="47.149999999999636" y="-15.0" />
+      <point x="9037.309134656296" y="1650.0" />
+      <point x="11413.644249781752" y="1650.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4729.247561416885" y="1260.0" />
+      <point x="5039.122561416885" y="1260.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE">
+      <point x="74.66666666666652" y="-15.0" />
+      <point x="9156.325801322964" y="1470.0" />
+      <point x="9518.705593209006" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="64.58333333333348" y="-15.0" />
+      <point x="7758.370833333334" y="900.0" />
+      <point x="7892.620833333334" y="900.0" />
+      <point x="7892.620833333334" y="650.0" />
+      <point x="8231.805593209006" y="650.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final">
+      <point x="49.66666666666606" y="-15.0" />
+      <point x="2854.204967989631" y="1470.0" />
+      <point x="3042.2883013229643" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.fasterxml.jackson.core:jackson-databind:jar:2.9.9">
+      <point x="-51.25" y="-15.0" />
+      <point x="8938.909134656296" y="1660.0" />
+      <point x="5473.122561416885" y="1660.0" />
+      <point x="5473.122561416885" y="1240.0" />
+      <point x="4869.713926542339" y="1240.0" />
+      <point x="4869.713926542339" y="1070.0" />
+      <point x="5043.038301322964" y="1070.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-32.25" y="-15.0" />
+      <point x="5006.872561416885" y="1040.0" />
+      <point x="4637.038301322964" y="1040.0" />
+      <point x="4637.038301322964" y="160.0" />
+      <point x="8203.53892654234" y="160.0" />
+      <point x="-28.266666666666424" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="57.19999999999982" y="-15.0" />
+      <point x="10824.808653887067" y="900.0" />
+      <point x="10875.952403887066" y="900.0" />
+      <point x="10875.952403887066" y="490.0" />
+      <point x="9301.166151160474" y="490.0" />
+      <point x="25.84615384615381" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-15.75" y="-15.0" />
+      <point x="4872.788301322964" y="380.0" />
+      <point x="4883.038301322964" y="380.0" />
+      <point x="4883.038301322964" y="190.0" />
+      <point x="8224.73892654234" y="190.0" />
+      <point x="-7.066666666666606" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE">
+      <point x="38.75" y="-15.0" />
+      <point x="7732.5375" y="890.0" />
+      <point x="7778.620833333334" y="890.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="32.25" y="-15.0" />
+      <point x="5071.372561416885" y="1010.0" />
+      <point x="4863.338301322964" y="1010.0" />
+      <point x="-25.199999999999818" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-ehcache:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-cache:jar:1.4.1">
+      <point x="30.5" y="-15.0" />
+      <point x="9986.94499731432" y="1070.0" />
+      <point x="10004.608653887066" y="1070.0" />
+      <point x="-26.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE">
+      <point x="-71.75" y="-15.0" />
+      <point x="8918.409134656296" y="1710.0" />
+      <point x="4169.414228083551" y="1710.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE">
+      <point x="11.833333333333258" y="-15.0" />
+      <point x="9000.254166666668" y="1360.0" />
+      <point x="9029.52672808355" y="1360.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.16">
+      <point x="73.33333333333303" y="-15.0" />
+      <point x="4486.247561416885" y="1470.0" />
+      <point x="5332.0972598756725" y="1470.0" />
+      <point x="-35.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12/org.hamcrest:hamcrest-core:jar:1.3">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/oro:oro:jar:2.0.8">
+      <point x="2.8214285714284415" y="-15.0" />
+      <point x="1753.0403807341336" y="1170.0" />
+      <point x="1328.4620326029462" y="1170.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-cache:jar:1.4.1">
+      <point x="-42.0" y="-15.0" />
+      <point x="10389.24951923077" y="1070.0" />
+      <point x="10058.108653887066" y="1070.0" />
+      <point x="26.75" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="28.59999999999991" y="-15.0" />
+      <point x="10796.208653887066" y="890.0" />
+      <point x="10856.108653887066" y="890.0" />
+      <point x="10856.108653887066" y="720.0" />
+      <point x="10342.643093209006" y="720.0" />
+      <point x="30.3125" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-cipher:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1/org.apache.shiro:shiro-crypto-core:jar:1.4.1">
+      <point x="38.75" y="-15.0" />
+      <point x="10221.108653887066" y="900.0" />
+      <point x="10232.858653887066" y="900.0" />
+      <point x="-36.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/javax.validation:validation-api:jar:2.0.1.Final">
+      <point x="50.33333333333394" y="-15.0" />
+      <point x="4099.172259875673" y="1070.0" />
+      <point x="4167.354166666667" y="1070.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="26.0" y="-15.0" />
+      <point x="4600.538301322964" y="880.0" />
+      <point x="4580.038301322964" y="880.0" />
+      <point x="4580.038301322964" y="270.0" />
+      <point x="8308.405593209005" y="270.0" />
+      <point x="-40.600000000000364" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE">
+      <point x="-10.25" y="-15.0" />
+      <point x="8979.909134656296" y="1560.0" />
+      <point x="8437.030894750218" y="1560.0" />
+      <point x="8437.030894750218" y="1330.0" />
+      <point x="8248.280894750218" y="1330.0" />
+      <point x="8248.280894750218" y="1070.0" />
+      <point x="8319.772259875674" y="1070.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.projectreactor:reactor-core:jar:3.2.6.RELEASE">
+      <point x="-40.875" y="-15.0" />
+      <point x="9477.830593209006" y="1380.0" />
+      <point x="9412.81999731432" y="1380.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/com.zaxxer:HikariCP:jar:3.2.0" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="9245.33922808355" y="540.0" />
+      <point x="9268.858458852781" y="540.0" />
+      <point x="-6.4615384615385665" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-spring:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1">
+      <point x="-27.5" y="-15.0" />
+      <point x="10344.358653887066" y="1380.0" />
+      <point x="10398.582852564105" y="1380.0" />
+      <point x="-32.666666666666515" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="71.0" y="-15.0" />
+      <point x="6293.788301322964" y="1470.0" />
+      <point x="6351.080894750218" y="1470.0" />
+      <point x="6351.080894750218" y="860.0" />
+      <point x="5983.288301322964" y="860.0" />
+      <point x="47.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/com.fasterxml:classmate:jar:1.4.0">
+      <point x="0.0" y="-15.0" />
+      <point x="4048.8389265423393" y="1050.0" />
+      <point x="2979.547259875673" y="1050.0" />
+      <point x="23.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-beanutils:commons-beanutils:jar:1.7.0">
+      <point x="31.035714285714675" y="-15.0" />
+      <point x="1781.2546664484198" y="1240.0" />
+      <point x="2043.9620326029462" y="1240.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7">
+      <point x="-19.75" y="-15.0" />
+      <point x="1730.4689521627051" y="1210.0" />
+      <point x="854.4620326029462" y="1210.0" />
+      <point x="37.5" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1/org.slf4j:jcl-over-slf4j:jar:1.7.25" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="10995.831749781752" y="470.0" />
+      <point x="9314.08922808355" y="470.0" />
+      <point x="38.76923076923072" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE/org.freemarker:freemarker:jar:2.3.28">
+      <point x="0.0" y="-15.0" />
+      <point x="8109.030894750218" y="1470.0" />
+      <point x="8101.447561416885" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-websocket:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4169.414228083551" y="1460.0" />
+      <point x="4070.0472598756733" y="1460.0" />
+      <point x="4070.0472598756733" y="1270.0" />
+      <point x="4422.754666448418" y="1270.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.persistence:javax.persistence-api:jar:2.2">
+      <point x="45.45454545454595" y="-15.0" />
+      <point x="3087.7428467775103" y="1240.0" />
+      <point x="3664.547259875673" y="1240.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE/org.springframework.data:spring-data-commons:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-57.33333333333326" y="-15.0" />
+      <point x="9039.005894750218" y="480.0" />
+      <point x="9024.922561416884" y="480.0" />
+      <point x="9024.922561416884" y="280.0" />
+      <point x="8389.605593209006" y="280.0" />
+      <point x="40.600000000000364" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-lang:commons-lang:jar:2.1">
+      <point x="-2.8214285714284415" y="-15.0" />
+      <point x="1747.3975235912767" y="1180.0" />
+      <point x="1217.9620326029462" y="1180.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8">
+      <point x="15.58333333333394" y="-15.0" />
+      <point x="5527.255593209007" y="1000.0" />
+      <point x="5587.913301322964" y="1000.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2">
+      <point x="86.39999999999964" y="-15.0" />
+      <point x="1819.418952162704" y="1470.0" />
+      <point x="2474.5036992696123" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE">
+      <point x="35.0" y="-15.0" />
+      <point x="8007.179166666667" y="900.0" />
+      <point x="8812.947561416886" y="900.0" />
+      <point x="-30.333333333333258" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="6848.664228083551" y="1470.0" />
+      <point x="6846.580894750219" y="1470.0" />
+      <point x="6846.580894750219" y="1050.0" />
+      <point x="7670.5375" y="1050.0" />
+      <point x="-23.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9">
+      <point x="-55.350000000000364" y="-15.0" />
+      <point x="8934.809134656296" y="1670.0" />
+      <point x="5178.622561416885" y="1670.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final">
+      <point x="-43.33333333333326" y="-15.0" />
+      <point x="9672.111663980988" y="750.0" />
+      <point x="9662.44499731432" y="750.0" />
+      <point x="36.66666666666674" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-messaging:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-36.25" y="-15.0" />
+      <point x="3827.797259875673" y="130.0" />
+      <point x="8182.33892654234" y="130.0" />
+      <point x="-49.46666666666624" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9">
+      <point x="0.0" y="-15.0" />
+      <point x="5386.538301322964" y="830.0" />
+      <point x="5581.330894750218" y="830.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-75.66666666666652" y="-15.0" />
+      <point x="8033.364228083552" y="1470.0" />
+      <point x="8040.947561416885" y="1470.0" />
+      <point x="8040.947561416885" y="1050.0" />
+      <point x="7732.5375" y="1050.0" />
+      <point x="38.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-codec:commons-codec:jar:1.11">
+      <point x="14.107142857143117" y="-15.0" />
+      <point x="1764.3260950198483" y="1150.0" />
+      <point x="1536.4620326029462" y="1150.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-cipher:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="-38.75" y="-15.0" />
+      <point x="10143.608653887066" y="900.0" />
+      <point x="10159.108653887066" y="900.0" />
+      <point x="10159.108653887066" y="740.0" />
+      <point x="10282.018093209006" y="740.0" />
+      <point x="-30.3125" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.apache.shiro:shiro-ehcache:jar:1.4.1">
+      <point x="6.149999999999636" y="-15.0" />
+      <point x="8996.309134656296" y="1550.0" />
+      <point x="9956.44499731432" y="1550.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-27.0" y="-15.0" />
+      <point x="7390.722259875673" y="480.0" />
+      <point x="4815.038301322964" y="480.0" />
+      <point x="4815.038301322964" y="180.0" />
+      <point x="8217.672259875673" y="180.0" />
+      <point x="-14.133333333333212" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-logging:commons-logging:jar:1.0">
+      <point x="-47.25" y="-15.0" />
+      <point x="213.25" y="900.0" />
+      <point x="172.5" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.16" target="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.16">
+      <point x="0.0" y="-15.0" />
+      <point x="6624.580894750218" y="1310.0" />
+      <point x="6594.580894750218" y="1310.0" />
+      <point x="39.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-logging:commons-logging:jar:1.0.4">
+      <point x="-18.75" y="-15.0" />
+      <point x="798.2120326029462" y="890.0" />
+      <point x="710.5" y="890.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="7874.447561416885" y="1060.0" />
+      <point x="7972.179166666667" y="1060.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.sun.xml.bind:jaxb-core:jar:2.3.0.1">
+      <point x="0.0" y="-15.0" />
+      <point x="1733.0189521627044" y="1450.0" />
+      <point x="1644.7189521627051" y="1450.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-26.25" y="-15.0" />
+      <point x="9307.56999731432" y="270.0" />
+      <point x="8401.205593209006" y="270.0" />
+      <point x="52.19999999999982" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.mchange:c3p0:jar:0.9.2.1">
+      <point x="75.85000000000036" y="-15.0" />
+      <point x="9066.009134656297" y="1720.0" />
+      <point x="12337.144249781752" y="1720.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-62.333333333333485" y="-15.0" />
+      <point x="7812.114228083552" y="1070.0" />
+      <point x="7717.0375" y="1070.0" />
+      <point x="23.25" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/antlr:antlr:jar:2.7.7">
+      <point x="0.0" y="-15.0" />
+      <point x="3042.2883013229643" y="1200.0" />
+      <point x="3065.547259875673" y="1200.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="-50.33333333333394" y="-15.0" />
+      <point x="3998.5055932090054" y="1060.0" />
+      <point x="2862.2347598756724" y="1060.0" />
+      <point x="44.625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/javax.annotation:javax.annotation-api:jar:1.3.2">
+      <point x="-64.58333333333348" y="-15.0" />
+      <point x="7629.204166666666" y="880.0" />
+      <point x="6546.330894750218" y="880.0" />
+      <point x="40.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="-60.333333333333485" y="-15.0" />
+      <point x="8392.605593209006" y="1070.0" />
+      <point x="8423.264727865302" y="1070.0" />
+      <point x="8423.264727865302" y="610.0" />
+      <point x="7946.8055932090065" y="610.0" />
+      <point x="7946.8055932090065" y="460.0" />
+      <point x="4913.738301322964" y="460.0" />
+      <point x="25.199999999999818" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9">
+      <point x="-43.25" y="-15.0" />
+      <point x="5544.663301322964" y="840.0" />
+      <point x="5742.330894750218" y="840.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="61.33333333333303" y="-15.0" />
+      <point x="8395.864228083552" y="1470.0" />
+      <point x="8410.364228083552" y="1470.0" />
+      <point x="8410.364228083552" y="1380.0" />
+      <point x="8556.295833333334" y="1380.0" />
+      <point x="8556.295833333334" y="710.0" />
+      <point x="8785.122259875672" y="710.0" />
+      <point x="8785.122259875672" y="380.0" />
+      <point x="8306.055593209006" y="380.0" />
+      <point x="12.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="-49.25" y="-15.0" />
+      <point x="7757.280894750218" y="1310.0" />
+      <point x="7520.139228083552" y="1310.0" />
+      <point x="7520.139228083552" y="1070.0" />
+      <point x="7701.5375" y="1070.0" />
+      <point x="7.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="61.875" y="-15.0" />
+      <point x="9091.40172808355" y="900.0" />
+      <point x="9298.83922808355" y="900.0" />
+      <point x="9298.83922808355" y="540.0" />
+      <point x="9275.31999731432" y="540.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="cglib:cglib:jar:3.1">
+      <point x="55.350000000000364" y="-15.0" />
+      <point x="9045.509134656297" y="1670.0" />
+      <point x="11671.144249781752" y="1670.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final">
+      <point x="-74.39999999999964" y="-15.0" />
+      <point x="4654.847561416886" y="1230.0" />
+      <point x="4086.5889265423393" y="1230.0" />
+      <point x="37.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-buffer:jar:4.1.33.Final">
+      <point x="14.75" y="-15.0" />
+      <point x="9586.69499731432" y="1060.0" />
+      <point x="9639.94499731432" y="1060.0" />
+      <point x="9639.94499731432" y="750.0" />
+      <point x="9625.778330647654" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final/io.netty:netty-resolver:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="9786.44499731432" y="520.0" />
+      <point x="9602.111663980988" y="520.0" />
+      <point x="52.08333333333326" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE">
+      <point x="75.66666666666606" y="-15.0" />
+      <point x="4245.080894750217" y="1460.0" />
+      <point x="4682.747561416885" y="1460.0" />
+      <point x="-46.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="-37.20000000000073" y="-15.0" />
+      <point x="4692.0475614168845" y="1250.0" />
+      <point x="4947.747561416885" y="1250.0" />
+      <point x="4947.747561416885" y="1060.0" />
+      <point x="4561.538301322964" y="1060.0" />
+      <point x="-13.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="net.sf.dozer:dozer:jar:5.5.1">
+      <point x="38.94999999999982" y="-15.0" />
+      <point x="9029.109134656297" y="1630.0" />
+      <point x="11085.183477865303" y="1630.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="53.75" y="-15.0" />
+      <point x="5092.872561416885" y="1000.0" />
+      <point x="4962.038301322964" y="1000.0" />
+      <point x="4962.038301322964" y="380.0" />
+      <point x="8280.555593209006" y="380.0" />
+      <point x="-12.75" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9" target="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9/javax.transaction:jta:jar:1.1">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="commons-lang:commons-lang:jar:2.6">
+      <point x="51.25" y="-15.0" />
+      <point x="9041.409134656296" y="1660.0" />
+      <point x="11556.644249781752" y="1660.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="-25.875" y="-15.0" />
+      <point x="11059.308477865303" y="1470.0" />
+      <point x="10929.331749781752" y="1470.0" />
+      <point x="10929.331749781752" y="480.0" />
+      <point x="9307.627689622013" y="480.0" />
+      <point x="32.30769230769238" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="26.25" y="-15.0" />
+      <point x="9360.06999731432" y="130.0" />
+      <point x="8281.272259875674" y="130.0" />
+      <point x="49.46666666666624" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="8349.005593209005" y="180.0" />
+      <point x="8245.93892654234" y="180.0" />
+      <point x="14.133333333333212" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-crypto-hash:jar:1.4.1/org.apache.shiro:shiro-crypto-core:jar:1.4.1">
+      <point x="-36.75" y="-15.0" />
+      <point x="10316.608653887066" y="900.0" />
+      <point x="10304.858653887066" y="900.0" />
+      <point x="36.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.jboss:jandex:jar:2.0.5.Final">
+      <point x="11.363636363636033" y="-15.0" />
+      <point x="3053.6519376866004" y="1210.0" />
+      <point x="3153.547259875673" y="1210.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.slf4j:jul-to-slf4j:jar:1.7.25">
+      <point x="69.0" y="-15.0" />
+      <point x="7847.620833333334" y="680.0" />
+      <point x="8677.288926542338" y="680.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final">
+      <point x="-75.85000000000036" y="-15.0" />
+      <point x="8914.309134656296" y="1720.0" />
+      <point x="2804.538301322965" y="1720.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.apache.shiro:shiro-web:jar:1.4.1">
+      <point x="18.449999999999818" y="-15.0" />
+      <point x="9008.609134656297" y="1580.0" />
+      <point x="10437.358653887066" y="1580.0" />
+      <point x="24.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.microsoft.sqlserver:mssql-jdbc:jar:6.4.0.jre8">
+      <point x="-2.050000000000182" y="-15.0" />
+      <point x="8988.109134656297" y="1540.0" />
+      <point x="8898.659134656296" y="1540.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9" target="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9">
+      <point x="-71.0" y="-15.0" />
+      <point x="6151.788301322964" y="1470.0" />
+      <point x="6107.788301322964" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-web:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1">
+      <point x="0.0" y="-15.0" />
+      <point x="10413.358653887066" y="1380.0" />
+      <point x="10431.24951923077" y="1380.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="-38.75" y="-15.0" />
+      <point x="7655.0375" y="870.0" />
+      <point x="7247.814228083551" y="870.0" />
+      <point x="40.19999999999982" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging:jar:1.0.4">
+      <point x="-36.67857142857156" y="-15.0" />
+      <point x="1713.5403807341336" y="1240.0" />
+      <point x="36.5" y="1240.0" />
+      <point x="-36.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="61.666666666666515" y="-15.0" />
+      <point x="6910.330894750218" y="1470.0" />
+      <point x="6888.788301322964" y="1470.0" />
+      <point x="6888.788301322964" y="1350.0" />
+      <point x="8385.06392654234" y="1350.0" />
+      <point x="-67.875" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE">
+      <point x="65.33333333333303" y="-15.0" />
+      <point x="2539.8370326029453" y="1320.0" />
+      <point x="7812.114228083552" y="1320.0" />
+      <point x="-62.333333333333485" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="74.39999999999964" y="-15.0" />
+      <point x="4803.647561416885" y="1290.0" />
+      <point x="5626.672259875673" y="1290.0" />
+      <point x="5626.672259875673" y="1040.0" />
+      <point x="7655.0375" y="1040.0" />
+      <point x="-38.75" y="15.0" />
+    </edge>
+    <edge source="com.alibaba:druid-spring-boot-starter:jar:1.1.14" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="64.33333333333303" y="-15.0" />
+      <point x="7121.997561416885" y="1470.0" />
+      <point x="7087.81392654234" y="1470.0" />
+      <point x="7087.81392654234" y="900.0" />
+      <point x="7167.414228083551" y="900.0" />
+      <point x="-40.19999999999982" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE">
+      <point x="-10.75" y="-15.0" />
+      <point x="5028.372561416885" y="1030.0" />
+      <point x="4684.038301322964" y="1030.0" />
+      <point x="-36.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="7207.614228083552" y="750.0" />
+      <point x="7381.722259875673" y="750.0" />
+      <point x="-36.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/dom4j:dom4j:jar:1.6.1">
+      <point x="8.464285714285325" y="-15.0" />
+      <point x="1758.6832378769905" y="1160.0" />
+      <point x="1411.9620326029462" y="1160.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="-13.625" y="-15.0" />
+      <point x="9505.080593209006" y="1380.0" />
+      <point x="9491.81999731432" y="1380.0" />
+      <point x="9491.81999731432" y="540.0" />
+      <point x="9497.94499731432" y="540.0" />
+      <point x="-52.08333333333303" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8/commons-beanutils:commons-beanutils-core:jar:1.7.0/commons-collections:commons-collections:jar:2.0">
+      <point x="47.25" y="-15.0" />
+      <point x="307.75" y="900.0" />
+      <point x="348.5" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="javax.servlet.jsp:jsp-api:jar:2.1">
+      <point x="10.25" y="-15.0" />
+      <point x="9000.409134656296" y="1560.0" />
+      <point x="10178.673061198635" y="1560.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8">
+      <point x="-15.58333333333394" y="-15.0" />
+      <point x="5496.088926542339" y="970.0" />
+      <point x="5386.538301322964" y="970.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="61.33333333333394" y="-15.0" />
+      <point x="5447.871634656298" y="860.0" />
+      <point x="5907.288301322964" y="860.0" />
+      <point x="-28.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE">
+      <point x="47.25" y="-15.0" />
+      <point x="4935.788301322964" y="370.0" />
+      <point x="8255.055593209006" y="370.0" />
+      <point x="-38.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.google.code.maven-play-plugin.com.mchange:c3p0-oracle-thin-extras:jar:0.9.5">
+      <point x="34.850000000000364" y="-15.0" />
+      <point x="9025.009134656297" y="1620.0" />
+      <point x="10758.916185897437" y="1620.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/org.mybatis:mybatis:jar:3.5.6">
+      <point x="-49.0" y="-15.0" />
+      <point x="2071.4620326029462" y="750.0" />
+      <point x="1986.2120326029462" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.16">
+      <point x="25.5" y="-15.0" />
+      <point x="6517.330894750218" y="1470.0" />
+      <point x="6516.080894750218" y="1470.0" />
+      <point x="-39.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-25.5" y="-15.0" />
+      <point x="8267.805593209006" y="190.0" />
+      <point x="8238.872259875672" y="190.0" />
+      <point x="7.066666666666606" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/xml-apis:xml-apis:jar:1.4.01">
+      <point x="56.25" y="-15.0" />
+      <point x="873.2120326029462" y="900.0" />
+      <point x="1285.1831674774921" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.sun.xml.bind:jaxb-impl:jar:2.3.0.1">
+      <point x="-86.39999999999964" y="-15.0" />
+      <point x="1646.6189521627048" y="1470.0" />
+      <point x="1430.7189521627051" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE">
+      <point x="-20.625" y="-15.0" />
+      <point x="9008.90172808355" y="680.0" />
+      <point x="8737.288926542338" y="680.0" />
+      <point x="8737.288926542338" y="450.0" />
+      <point x="4938.9383013229635" y="450.0" />
+      <point x="50.399999999999636" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-event:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="0.0" y="-15.0" />
+      <point x="10617.108653887066" y="730.0" />
+      <point x="10330.518093209006" y="730.0" />
+      <point x="18.1875" y="15.0" />
+    </edge>
+    <edge source="com.alibaba:druid-spring-boot-starter:jar:1.1.14" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/com.alibaba:druid:jar:1.1.14">
+      <point x="-64.33333333333303" y="-15.0" />
+      <point x="6993.330894750219" y="1470.0" />
+      <point x="6948.247561416885" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="-41.75" y="-15.0" />
+      <point x="8278.022259875674" y="840.0" />
+      <point x="7288.014228083552" y="840.0" />
+      <point x="80.39999999999964" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE">
+      <point x="-26.649999999999636" y="-15.0" />
+      <point x="8963.509134656297" y="1600.0" />
+      <point x="7697.530894750218" y="1600.0" />
+      <point x="7697.530894750218" y="1340.0" />
+      <point x="7936.780894750218" y="1340.0" />
+      <point x="62.333333333333485" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE">
+      <point x="2.050000000000182" y="-15.0" />
+      <point x="8992.209134656297" y="1540.0" />
+      <point x="9081.659134656296" y="1540.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="net.sf.dozer:dozer:jar:5.5.1/commons-beanutils:commons-beanutils:jar:1.9.1">
+      <point x="25.875" y="-15.0" />
+      <point x="11111.058477865303" y="1470.0" />
+      <point x="11238.331749781752" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE">
+      <point x="75.66666666666652" y="-15.0" />
+      <point x="8184.697561416884" y="1470.0" />
+      <point x="8161.947561416885" y="1470.0" />
+      <point x="8161.947561416885" y="1370.0" />
+      <point x="8475.56392654234" y="1370.0" />
+      <point x="22.625" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2/org.apache.logging.log4j:log4j-api:jar:2.11.2">
+      <point x="-28.75" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.9.9">
+      <point x="-47.149999999999636" y="-15.0" />
+      <point x="8943.009134656297" y="1650.0" />
+      <point x="6222.788301322964" y="1650.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2" target="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis:mybatis:jar:3.4.6">
+      <point x="-83.59999999999991" y="-15.0" />
+      <point x="7225.964228083552" y="1470.0" />
+      <point x="7187.514228083552" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="-53.75" y="-15.0" />
+      <point x="4985.372561416885" y="1050.0" />
+      <point x="4587.538301322964" y="1050.0" />
+      <point x="13.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final">
+      <point x="36.33333333333326" y="-15.0" />
+      <point x="9611.278330647654" y="900.0" />
+      <point x="9672.111663980988" y="900.0" />
+      <point x="-43.33333333333326" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="15.75" y="-15.0" />
+      <point x="4904.288301322964" y="380.0" />
+      <point x="4894.038301322964" y="380.0" />
+      <point x="4894.038301322964" y="290.0" />
+      <point x="8331.605593209006" y="290.0" />
+      <point x="-17.399999999999636" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.activation:javax.activation-api:jar:1.2.0">
+      <point x="-56.81818181818198" y="-15.0" />
+      <point x="2985.4701195047824" y="1230.0" />
+      <point x="2390.7120326029462" y="1230.0" />
+      <point x="38.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.core:jackson-databind:jar:2.9.8">
+      <point x="-46.75" y="-15.0" />
+      <point x="5464.922259875673" y="980.0" />
+      <point x="5204.038301322964" y="980.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE">
+      <point x="-67.64999999999964" y="-15.0" />
+      <point x="8922.509134656297" y="1700.0" />
+      <point x="4412.914228083551" y="1700.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-core:jar:1.4.1">
+      <point x="-57.19999999999999" y="-15.0" />
+      <point x="10710.408653887067" y="900.0" />
+      <point x="10508.858653887066" y="900.0" />
+      <point x="35.75" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="-49.66666666666606" y="-15.0" />
+      <point x="2754.8716346562987" y="1470.0" />
+      <point x="2621.8370326029462" y="1470.0" />
+      <point x="2621.8370326029462" y="1060.0" />
+      <point x="2772.9847598756724" y="1060.0" />
+      <point x="-44.625" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/javax.xml.bind:jaxb-api:jar:2.3.1">
+      <point x="-43.19999999999982" y="-15.0" />
+      <point x="1689.8189521627046" y="1460.0" />
+      <point x="1537.2189521627051" y="1460.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3/ch.qos.logback:logback-core:jar:1.2.3">
+      <point x="-32.25" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework.data:spring-data-keyvalue:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE">
+      <point x="-61.875" y="-15.0" />
+      <point x="8967.65172808355" y="900.0" />
+      <point x="8873.614228083552" y="900.0" />
+      <point x="30.333333333333485" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.slf4j:jul-to-slf4j:jar:1.7.25" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="8677.288926542338" y="520.0" />
+      <point x="9255.935381929705" y="520.0" />
+      <point x="-19.384615384615472" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="dom4j:dom4j:jar:1.6">
+      <point x="22.550000000000182" y="-15.0" />
+      <point x="9012.709134656297" y="1590.0" />
+      <point x="10483.858653887066" y="1590.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="8452.93892654234" y="690.0" />
+      <point x="8748.288926542338" y="690.0" />
+      <point x="8748.288926542338" y="300.0" />
+      <point x="8366.405593209005" y="300.0" />
+      <point x="17.399999999999636" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.core:jackson-databind:jar:2.9.9" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0">
+      <point x="-35.25" y="-15.0" />
+      <point x="5007.788301322964" y="840.0" />
+      <point x="5289.630593209005" y="840.0" />
+      <point x="-53.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="9081.659134656296" y="1460.0" />
+      <point x="8988.420833333334" y="1460.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/javax.xml.bind:jaxb-api:jar:2.3.1" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/javax.activation:javax.activation-api:jar:1.2.0">
+      <point x="0.0" y="-15.0" />
+      <point x="1537.2189521627051" y="1250.0" />
+      <point x="2314.2120326029462" y="1250.0" />
+      <point x="-38.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="35.5" y="-15.0" />
+      <point x="9023.920833333334" y="1370.0" />
+      <point x="9305.30076654509" y="1370.0" />
+      <point x="9305.30076654509" y="530.0" />
+      <point x="9281.781535775859" y="530.0" />
+      <point x="6.4615384615385665" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0">
+      <point x="-81.0" y="-15.0" />
+      <point x="5097.622561416885" y="1460.0" />
+      <point x="5072.0972598756725" y="1460.0" />
+      <point x="5072.0972598756725" y="1300.0" />
+      <point x="5691.621634656297" y="1300.0" />
+      <point x="5691.621634656297" y="820.0" />
+      <point x="5396.963926542339" y="820.0" />
+      <point x="53.66666666666697" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8">
+      <point x="46.75" y="-15.0" />
+      <point x="5558.422259875673" y="1010.0" />
+      <point x="5922.788301322964" y="1010.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-event:jar:1.4.1">
+      <point x="-28.599999999999966" y="-15.0" />
+      <point x="10739.008653887067" y="890.0" />
+      <point x="10643.358653887066" y="890.0" />
+      <point x="26.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8">
+      <point x="-31.035714285714675" y="-15.0" />
+      <point x="1719.1832378769905" y="1230.0" />
+      <point x="260.5" y="1230.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="net.sf.dozer:dozer:jar:5.5.1" target="net.sf.dozer:dozer:jar:5.5.1/org.slf4j:jcl-over-slf4j:jar:1.7.25">
+      <point x="-8.625" y="-15.0" />
+      <point x="11076.558477865303" y="1460.0" />
+      <point x="10995.831749781752" y="1460.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7/commons-beanutils:commons-beanutils:jar:1.6">
+      <point x="18.75" y="-15.0" />
+      <point x="835.7120326029462" y="890.0" />
+      <point x="881.5" y="890.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-cache:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="0.0" y="-15.0" />
+      <point x="10031.358653887066" y="730.0" />
+      <point x="10269.893093209006" y="730.0" />
+      <point x="-42.4375" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final">
+      <point x="44.25" y="-15.0" />
+      <point x="9616.19499731432" y="1070.0" />
+      <point x="9715.44499731432" y="1070.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8/com.fasterxml.jackson.core:jackson-databind:jar:2.9.9">
+      <point x="61.5" y="-15.0" />
+      <point x="5984.288301322964" y="880.0" />
+      <point x="6083.288301322964" y="880.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="-22.75" y="-15.0" />
+      <point x="8820.530894750218" y="730.0" />
+      <point x="8988.83922808355" y="730.0" />
+      <point x="8988.83922808355" y="290.0" />
+      <point x="8378.005593209005" y="290.0" />
+      <point x="29.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.apache.shiro:shiro-cas:jar:1.4.0">
+      <point x="67.64999999999964" y="-15.0" />
+      <point x="9057.809134656296" y="1700.0" />
+      <point x="12134.644249781752" y="1700.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE">
+      <point x="-38.94999999999982" y="-15.0" />
+      <point x="8951.209134656297" y="1630.0" />
+      <point x="6848.664228083551" y="1630.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.baomidou:mybatis-plus-annotation:jar:3.4.2">
+      <point x="49.0" y="-15.0" />
+      <point x="2169.4620326029462" y="750.0" />
+      <point x="2449.683167477492" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/com.zaxxer:HikariCP:jar:3.2.0">
+      <point x="62.333333333333485" y="-15.0" />
+      <point x="7936.780894750218" y="1070.0" />
+      <point x="8035.179166666667" y="1070.0" />
+      <point x="8035.179166666667" y="750.0" />
+      <point x="9245.33922808355" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="28.75" y="-15.0" />
+      <point x="8192.555593209006" y="510.0" />
+      <point x="9249.473843468168" y="510.0" />
+      <point x="-25.84615384615381" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.apache.shiro:shiro-spring:jar:1.4.1">
+      <point x="14.350000000000364" y="-15.0" />
+      <point x="9004.509134656297" y="1570.0" />
+      <point x="10371.858653887066" y="1570.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE">
+      <point x="-12.916666666666515" y="-15.0" />
+      <point x="7680.870833333334" y="860.0" />
+      <point x="7494.729166666668" y="860.0" />
+      <point x="7494.729166666668" y="750.0" />
+      <point x="7417.722259875673" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-messaging:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="36.25" y="-15.0" />
+      <point x="3900.297259875673" y="260.0" />
+      <point x="8296.805593209006" y="260.0" />
+      <point x="-52.19999999999982" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.dom4j:dom4j:jar:2.1.1">
+      <point x="-11.363636363636033" y="-15.0" />
+      <point x="3030.9246649593283" y="1190.0" />
+      <point x="2978.547259875673" y="1190.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.alibaba:fastjson:jar:1.2.45">
+      <point x="71.75" y="-15.0" />
+      <point x="9061.909134656296" y="1710.0" />
+      <point x="12242.644249781752" y="1710.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.jboss.logging:jboss-logging:jar:3.3.2.Final">
+      <point x="-34.09090909090992" y="-15.0" />
+      <point x="3008.1973922320544" y="1210.0" />
+      <point x="2882.3597598756724" y="1210.0" />
+      <point x="2882.3597598756724" y="1070.0" />
+      <point x="2832.4847598756724" y="1070.0" />
+      <point x="14.875" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-jdbc:jar:2.1.3.RELEASE/org.springframework:spring-jdbc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="7972.179166666667" y="670.0" />
+      <point x="8417.505593209005" y="670.0" />
+      <point x="8417.505593209005" y="170.0" />
+      <point x="8253.005593209007" y="170.0" />
+      <point x="21.199999999999818" y="15.0" />
+    </edge>
+    <edge source="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2" target="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:1.3.2">
+      <point x="-41.80000000000018" y="-15.0" />
+      <point x="7267.764228083552" y="1470.0" />
+      <point x="7256.1805932090065" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="net.sf.json-lib:json-lib:jar:jdk15:2.4" target="net.sf.json-lib:json-lib:jar:jdk15:2.4/net.sf.ezmorph:ezmorph:jar:1.0.6">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE/javax.annotation:javax.annotation-api:jar:1.3.2">
+      <point x="-25.5" y="-15.0" />
+      <point x="-40.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0">
+      <point x="-79.94999999999982" y="-15.0" />
+      <point x="8910.209134656297" y="1730.0" />
+      <point x="1733.0189521627044" y="1730.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging-api:jar:1.0.4">
+      <point x="25.392857142856883" y="-15.0" />
+      <point x="1775.611809305562" y="1230.0" />
+      <point x="1860.9620326029462" y="1230.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final/io.netty:netty-codec:jar:4.1.33.Final">
+      <point x="-14.75" y="-15.0" />
+      <point x="9557.19499731432" y="1070.0" />
+      <point x="9574.94499731432" y="1070.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14">
+      <point x="-34.850000000000364" y="-15.0" />
+      <point x="8955.309134656296" y="1620.0" />
+      <point x="7057.664228083551" y="1620.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="-61.5" y="-15.0" />
+      <point x="5861.288301322964" y="880.0" />
+      <point x="5945.288301322964" y="880.0" />
+      <point x="9.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final/io.netty:netty-resolver:jar:4.1.33.Final">
+      <point x="43.33333333333326" y="-15.0" />
+      <point x="9758.778330647654" y="750.0" />
+      <point x="9786.44499731432" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-spring:jar:1.4.1" target="org.apache.shiro:shiro-web:jar:1.4.1">
+      <point x="27.5" y="-15.0" />
+      <point x="10399.358653887066" y="1470.0" />
+      <point x="10389.358653887066" y="1470.0" />
+      <point x="-24.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="commons-dbcp:commons-dbcp:jar:1.4">
+      <point x="-63.55000000000018" y="-15.0" />
+      <point x="8926.609134656297" y="1690.0" />
+      <point x="4550.747561416885" y="1690.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="22.75" y="-15.0" />
+      <point x="8866.030894750218" y="740.0" />
+      <point x="8999.83922808355" y="740.0" />
+      <point x="8999.83922808355" y="150.0" />
+      <point x="8267.138926542339" y="150.0" />
+      <point x="35.33333333333303" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-logging:commons-logging:jar:1.0.4">
+      <point x="-48.33333333333303" y="-15.0" />
+      <point x="212.16666666666697" y="1070.0" />
+      <point x="109.5" y="1070.0" />
+      <point x="36.5" y="15.0" />
+    </edge>
+    <edge source="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2/org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:1.3.2" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="7256.1805932090065" y="900.0" />
+      <point x="7207.614228083552" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE/org.springframework:spring-jcl:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2">
+      <point x="-65.33333333333303" y="-15.0" />
+      <point x="2409.1703659362793" y="1240.0" />
+      <point x="2198.9620326029462" y="1240.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE">
+      <point x="77.91666666666606" y="-15.0" />
+      <point x="5589.588926542339" y="1020.0" />
+      <point x="7624.0375" y="1020.0" />
+      <point x="-69.75" y="15.0" />
+    </edge>
+    <edge source="commons-dbcp:commons-dbcp:jar:1.4" target="commons-dbcp:commons-dbcp:jar:1.4/commons-pool:commons-pool:jar:1.6">
+      <point x="0.0" y="-15.0" />
+      <point x="4550.747561416885" y="1240.0" />
+      <point x="4239.588926542339" y="1240.0" />
+      <point x="31.75" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-handler:jar:4.1.33.Final">
+      <point x="13.625" y="-15.0" />
+      <point x="9532.330593209006" y="1370.0" />
+      <point x="9571.94499731432" y="1370.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-transport:jar:4.1.33.Final" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/io.lettuce:lettuce-core:jar:5.1.4.RELEASE/io.netty:netty-common:jar:4.1.33.Final">
+      <point x="0.0" y="-15.0" />
+      <point x="9715.44499731432" y="530.0" />
+      <point x="9581.278330647654" y="530.0" />
+      <point x="31.25" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2">
+      <point x="-30.75" y="-15.0" />
+      <point x="8959.409134656296" y="1610.0" />
+      <point x="7309.564228083552" y="1610.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot:jar:2.1.3.RELEASE">
+      <point x="41.75" y="-15.0" />
+      <point x="8361.522259875674" y="620.0" />
+      <point x="7453.722259875673" y="620.0" />
+      <point x="36.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-lang:jar:1.4.1">
+      <point x="42.0" y="-15.0" />
+      <point x="10473.24951923077" y="1070.0" />
+      <point x="10886.952403887066" y="1070.0" />
+      <point x="10886.952403887066" y="710.0" />
+      <point x="10354.768093209006" y="710.0" />
+      <point x="42.4375" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE">
+      <point x="-43.05000000000018" y="-15.0" />
+      <point x="8947.109134656297" y="1640.0" />
+      <point x="6491.830894750218" y="1640.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="-26.0" y="-15.0" />
+      <point x="4548.538301322964" y="880.0" />
+      <point x="4569.038301322964" y="880.0" />
+      <point x="4569.038301322964" y="150.0" />
+      <point x="8196.472259875674" y="150.0" />
+      <point x="-35.33333333333303" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-cache:jar:2.1.3.RELEASE/org.springframework:spring-context-support:jar:5.1.5.RELEASE/org.springframework:spring-context:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE">
+      <point x="-47.25" y="-15.0" />
+      <point x="4841.288301322964" y="380.0" />
+      <point x="4757.038301322964" y="380.0" />
+      <point x="36.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE">
+      <point x="37.20000000000073" y="-15.0" />
+      <point x="4766.447561416886" y="1270.0" />
+      <point x="5511.672259875673" y="1270.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.hibernate.validator:hibernate-validator:jar:6.0.14.Final/com.fasterxml:classmate:jar:1.4.0">
+      <point x="-22.727272727272066" y="-15.0" />
+      <point x="3019.5610285956923" y="1200.0" />
+      <point x="2932.047259875673" y="1200.0" />
+      <point x="-23.75" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/org.mybatis:mybatis-spring:jar:2.0.5">
+      <point x="45.0" y="-15.0" />
+      <point x="2243.9620326029462" y="900.0" />
+      <point x="2277.4620326029462" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="43.25" y="-15.0" />
+      <point x="5631.163301322964" y="870.0" />
+      <point x="5926.288301322964" y="870.0" />
+      <point x="-9.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-websocket:jar:2.1.3.RELEASE/org.springframework:spring-websocket:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="48.33333333333394" y="-15.0" />
+      <point x="4471.087999781752" y="1070.0" />
+      <point x="4535.538301322964" y="1070.0" />
+      <point x="-39.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework:spring-aop:jar:5.1.5.RELEASE/org.springframework:spring-beans:jar:5.1.5.RELEASE">
+      <point x="10.75" y="-15.0" />
+      <point x="5049.872561416885" y="1020.0" />
+      <point x="4804.038301322964" y="1020.0" />
+      <point x="4804.038301322964" y="280.0" />
+      <point x="8320.005593209005" y="280.0" />
+      <point x="-29.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-betwixt:commons-betwixt:jar:0.8" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-digester:commons-digester:jar:1.7">
+      <point x="48.33333333333303" y="-15.0" />
+      <point x="308.83333333333303" y="1070.0" />
+      <point x="779.4620326029462" y="1070.0" />
+      <point x="-37.5" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/junit:junit:jar:4.12">
+      <point x="-25.392857142856883" y="-15.0" />
+      <point x="1724.8260950198483" y="1220.0" />
+      <point x="602.75" y="1220.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/ch.qos.logback:logback-classic:jar:1.2.3">
+      <point x="-69.0" y="-15.0" />
+      <point x="7709.620833333334" y="630.0" />
+      <point x="8021.8055932090065" y="630.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2/com.github.jsqlparser:jsqlparser:jar:4.0">
+      <point x="0.0" y="-15.0" />
+      <point x="2120.4620326029462" y="750.0" />
+      <point x="2094.2120326029462" y="750.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-freemarker:jar:2.1.3.RELEASE">
+      <point x="-18.449999999999818" y="-15.0" />
+      <point x="8971.709134656297" y="1580.0" />
+      <point x="8109.030894750218" y="1580.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1/commons-beanutils:commons-beanutils:jar:1.9.3">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-dbcp:commons-dbcp:jar:1.2.1">
+      <point x="19.75" y="-15.0" />
+      <point x="1769.9689521627051" y="1140.0" />
+      <point x="1690.4620326029462" y="1140.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-core:jar:2.9.8">
+      <point x="81.0" y="-15.0" />
+      <point x="5259.622561416885" y="1460.0" />
+      <point x="5286.5972598756725" y="1460.0" />
+      <point x="5286.5972598756725" y="1310.0" />
+      <point x="6056.288301322964" y="1310.0" />
+      <point x="6056.288301322964" y="870.0" />
+      <point x="5964.288301322964" y="870.0" />
+      <point x="28.5" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE/org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.2">
+      <point x="0.0" y="-15.0" />
+      <point x="7778.620833333334" y="640.0" />
+      <point x="8163.8055932090065" y="640.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0/commons-collections:commons-collections:jar:3.1">
+      <point x="-8.464285714285325" y="-15.0" />
+      <point x="1741.7546664484198" y="1190.0" />
+      <point x="1051.9620326029462" y="1190.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-ehcache:jar:1.4.1/net.sf.ehcache:ehcache-core:jar:2.6.11" target="com.alibaba:druid-spring-boot-starter:jar:1.1.14/org.slf4j:slf4j-api:jar:1.7.25">
+      <point x="0.0" y="-15.0" />
+      <point x="9925.94499731432" y="510.0" />
+      <point x="9288.243074237398" y="510.0" />
+      <point x="12.923076923076906" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-tx:jar:5.1.5.RELEASE">
+      <point x="-11.833333333333258" y="-15.0" />
+      <point x="8976.587500000001" y="1350.0" />
+      <point x="8843.280894750218" y="1350.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3">
+      <point x="59.44999999999982" y="-15.0" />
+      <point x="9049.609134656297" y="1680.0" />
+      <point x="11802.144249781752" y="1680.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.aspectj:aspectjweaver:jar:1.9.2">
+      <point x="0.0" y="-15.0" />
+      <point x="8334.530894750218" y="1470.0" />
+      <point x="8339.364228083552" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-validation:jar:2.1.3.RELEASE/org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.16">
+      <point x="-76.5" y="-15.0" />
+      <point x="6415.330894750218" y="1460.0" />
+      <point x="5402.0972598756725" y="1460.0" />
+      <point x="35.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-data-redis:jar:2.1.3.RELEASE/org.springframework.data:spring-data-redis:jar:2.1.5.RELEASE/org.springframework:spring-oxm:jar:5.1.5.RELEASE">
+      <point x="59.16666666666674" y="-15.0" />
+      <point x="9047.587500000001" y="1380.0" />
+      <point x="9333.81999731432" y="1380.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE">
+      <point x="-59.44999999999982" y="-15.0" />
+      <point x="8930.709134656297" y="1680.0" />
+      <point x="4775.747561416885" y="1680.0" />
+      <point x="46.5" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2/com.baomidou:mybatis-plus:jar:3.4.2/com.baomidou:mybatis-plus-extension:jar:3.4.2/com.baomidou:mybatis-plus-core:jar:3.4.2">
+      <point x="-45.0" y="-15.0" />
+      <point x="2153.9620326029462" y="900.0" />
+      <point x="2120.4620326029462" y="900.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-cas:jar:1.4.0" target="org.apache.shiro:shiro-cas:jar:1.4.0/org.jasig.cas.client:cas-client-core:jar:3.2.2">
+      <point x="-23.0" y="-15.0" />
+      <point x="12111.644249781752" y="1470.0" />
+      <point x="12026.144249781752" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-webmvc:jar:5.1.5.RELEASE/org.springframework:spring-expression:jar:5.1.5.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.springframework:spring-core:jar:5.1.5.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="4720.538301322964" y="170.0" />
+      <point x="8210.605593209006" y="170.0" />
+      <point x="-21.199999999999818" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/net.bytebuddy:byte-buddy:jar:1.9.10">
+      <point x="22.727272727272066" y="-15.0" />
+      <point x="3065.0155740502364" y="1220.0" />
+      <point x="3263.547259875673" y="1220.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-mail:jar:2.1.3.RELEASE/com.sun.mail:javax.mail:jar:1.6.2">
+      <point x="-61.666666666666515" y="-15.0" />
+      <point x="6786.997561416885" y="1470.0" />
+      <point x="6789.080894750219" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-event:jar:1.4.1">
+      <point x="14.0" y="-15.0" />
+      <point x="10445.24951923077" y="1050.0" />
+      <point x="10590.858653887066" y="1050.0" />
+      <point x="-26.25" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework:spring-web:jar:5.1.5.RELEASE">
+      <point x="-77.91666666666606" y="-15.0" />
+      <point x="5433.755593209007" y="990.0" />
+      <point x="4613.538301322964" y="990.0" />
+      <point x="39.0" y="15.0" />
+    </edge>
+    <edge source="com.mchange:c3p0:jar:0.9.2.1" target="com.mchange:c3p0:jar:0.9.2.1/com.mchange:mchange-commons-java:jar:0.2.3.4">
+      <point x="0.0" y="-15.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-gencode-vue:8.0" target="com.google.guava:guava:jar:20.0">
+      <point x="30.75" y="-15.0" />
+      <point x="9020.909134656296" y="1610.0" />
+      <point x="10612.416185897437" y="1610.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.apache.shiro:shiro-core:jar:1.4.1" target="org.apache.shiro:shiro-core:jar:1.4.1/org.apache.shiro:shiro-config-ogdl:jar:1.4.1">
+      <point x="28.0" y="-15.0" />
+      <point x="10459.24951923077" y="1060.0" />
+      <point x="10767.608653887066" y="1060.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/com.baomidou:mybatis-plus-boot-starter:jar:3.4.2" target="org.springframework.boot:spring-boot-devtools:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-autoconfigure:jar:2.1.3.RELEASE">
+      <point x="0.0" y="-15.0" />
+      <point x="2474.5036992696123" y="1250.0" />
+      <point x="2562.0870326029462" y="1250.0" />
+      <point x="2562.0870326029462" y="890.0" />
+      <point x="7127.214228083552" y="890.0" />
+      <point x="-80.39999999999964" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE" target="org.springframework.boot:spring-boot-starter-aop:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE/org.yaml:snakeyaml:jar:1.23">
+      <point x="12.916666666666515" y="-15.0" />
+      <point x="7706.704166666666" y="850.0" />
+      <point x="7606.120833333334" y="850.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final" target="org.hibernate:hibernate-ehcache:jar:5.2.12.Final/org.hibernate:hibernate-core:jar:5.3.7.Final/org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final">
+      <point x="-45.45454545454595" y="-15.0" />
+      <point x="2996.8337558684184" y="1220.0" />
+      <point x="2752.8597598756724" y="1220.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.springframework.boot:spring-boot-starter-web:jar:2.1.3.RELEASE/org.springframework.boot:spring-boot-starter-json:jar:2.1.3.RELEASE/com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8" target="com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.9/com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0">
+      <point x="-61.33333333333394" y="-15.0" />
+      <point x="5325.20496798963" y="840.0" />
+      <point x="5343.297259875673" y="840.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+    <edge source="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0" target="org.jeeplus:jeeplus-mybatis-dynamic-vue:jar:8.0/org.apache.ddlutils:ddlutils:jar:1.0">
+      <point x="43.19999999999982" y="-15.0" />
+      <point x="1776.2189521627042" y="1470.0" />
+      <point x="1750.2189521627051" y="1470.0" />
+      <point x="0.0" y="15.0" />
+    </edge>
+  </edges>
+  <settings layout="Hierarchic Group" zoom="0.07991414183109057" x="6046.5" y="770.0" />
+  <SelectedNodes>
+    <node>jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3/jakarta.activation:jakarta.activation-api:jar:1.2.2</node>
+    <node>org.jeeplus:jeeplus-gencode-vue:8.0</node>
+  </SelectedNodes>
+  <Categories />
+  <VISIBILITY>All</VISIBILITY>
+</Diagram>
+

二进制
jp-console/jeeplus-module/jeeplus-test/.mvn/wrapper/maven-wrapper.jar


+ 1 - 0
jp-console/jeeplus-module/jeeplus-test/.mvn/wrapper/maven-wrapper.properties

@@ -0,0 +1 @@
+distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip

+ 42 - 0
jp-console/jeeplus-module/jeeplus-test/pom.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.jeeplus</groupId>
+        <artifactId>jeeplus-module</artifactId>
+        <version>9.0</version>
+    </parent>
+
+
+    <artifactId>jeeplus-test</artifactId>
+    <packaging>jar</packaging>
+
+    <name>jeeplus-test</name>
+    <description>测试用例</description>
+
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.jeeplus</groupId>
+            <artifactId>jeeplus-admin</artifactId>
+            <version>${project.parent.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jeeplus</groupId>
+            <artifactId>jeeplus-flowable</artifactId>
+            <version>${project.parent.version}</version>
+        </dependency>
+
+
+    </dependencies>
+
+
+</project>

+ 84 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/TestActivitiAuditController.java

@@ -0,0 +1,84 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.controller;
+
+import javax.validation.Valid;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiAuditDTO;
+import com.jeeplus.test.activiti.service.TestActivitiAuditService;
+
+/**
+ * 薪酬调整申请Controller
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Api(tags ="薪酬调整申请")
+@RestController
+@RequestMapping(value = "/test/activiti/testActivitiAudit")
+public class TestActivitiAuditController {
+
+	@Autowired
+	private TestActivitiAuditService testActivitiAuditService;
+
+	/**
+	 * 薪酬调整申请列表数据
+	 */
+	@ApiLog("查询薪酬调整申请列表数据")
+	@ApiOperation(value = "查询薪酬调整申请列表数据")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestActivitiAuditDTO>> list(TestActivitiAuditDTO testActivitiAuditDTO, Page<TestActivitiAuditDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testActivitiAuditDTO, TestActivitiAuditDTO.class);
+		IPage<TestActivitiAuditDTO> result = testActivitiAuditService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取薪酬调整申请数据
+	 */
+	@ApiLog("根据Id获取薪酬调整申请数据")
+	@ApiOperation(value = "根据Id获取薪酬调整申请数据")
+	@GetMapping("queryById")
+	public ResponseEntity<TestActivitiAuditDTO> queryById(String id) {
+		return ResponseEntity.ok ( testActivitiAuditService.findById ( id ) );
+	}
+
+	/**
+	 * 保存薪酬调整申请
+	 */
+	@ApiLog("保存薪酬调整申请")
+	@ApiOperation(value = "保存薪酬调整申请")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestActivitiAuditDTO testActivitiAuditDTO) {
+		//新增或编辑表单保存
+		testActivitiAuditService.saveOrUpdate (testActivitiAuditDTO);
+		return ResponseUtil.newInstance ( ).add("businessTable", "test_activiti_audit").add("businessId", testActivitiAuditDTO.getId()).ok ("保存薪酬调整申请成功");
+	}
+
+
+	/**
+	 * 删除薪酬调整申请
+	 */
+	@ApiLog("删除薪酬调整申请")
+	@ApiOperation(value = "删除薪酬调整申请")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+		for(String id: idArray){
+			testActivitiAuditService.removeById ( id );
+		}
+		return ResponseEntity.ok( "删除薪酬调整申请成功" );
+	}
+
+}

+ 84 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/TestActivitiExpenseController.java

@@ -0,0 +1,84 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.controller;
+
+import javax.validation.Valid;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiExpenseDTO;
+import com.jeeplus.test.activiti.service.TestActivitiExpenseService;
+
+/**
+ * 报销申请Controller
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Api(tags ="报销申请")
+@RestController
+@RequestMapping(value = "/test/activiti/testActivitiExpense")
+public class TestActivitiExpenseController {
+
+	@Autowired
+	private TestActivitiExpenseService testActivitiExpenseService;
+
+	/**
+	 * 报销申请列表数据
+	 */
+	@ApiLog("查询报销申请列表数据")
+	@ApiOperation(value = "查询报销申请列表数据")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestActivitiExpenseDTO>> list(TestActivitiExpenseDTO testActivitiExpenseDTO, Page<TestActivitiExpenseDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testActivitiExpenseDTO, TestActivitiExpenseDTO.class);
+		IPage<TestActivitiExpenseDTO> result = testActivitiExpenseService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取报销申请数据
+	 */
+	@ApiLog("根据Id获取报销申请数据")
+	@ApiOperation(value = "根据Id获取报销申请数据")
+	@GetMapping("queryById")
+	public ResponseEntity<TestActivitiExpenseDTO> queryById(String id) {
+		return ResponseEntity.ok ( testActivitiExpenseService.findById ( id ) );
+	}
+
+	/**
+	 * 保存报销申请
+	 */
+	@ApiLog("保存报销申请")
+	@ApiOperation(value = "保存报销申请")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestActivitiExpenseDTO testActivitiExpenseDTO) {
+		//新增或编辑表单保存
+		testActivitiExpenseService.saveOrUpdate (testActivitiExpenseDTO);
+		return ResponseUtil.newInstance ( ).add("businessTable", "test_activiti_expense").add("businessId", testActivitiExpenseDTO.getId()).ok ("保存报销申请成功");
+	}
+
+
+	/**
+	 * 删除报销申请
+	 */
+	@ApiLog("删除报销申请")
+	@ApiOperation(value = "删除报销申请")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+		for(String id: idArray){
+			testActivitiExpenseService.removeById ( id );
+		}
+		return ResponseEntity.ok( "删除报销申请成功" );
+	}
+
+}

+ 84 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/TestActivitiLeaveController.java

@@ -0,0 +1,84 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.controller;
+
+import javax.validation.Valid;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiLeaveDTO;
+import com.jeeplus.test.activiti.service.TestActivitiLeaveService;
+
+/**
+ * 请假申请Controller
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Api(tags ="请假申请")
+@RestController
+@RequestMapping(value = "/test/activiti/testActivitiLeave")
+public class TestActivitiLeaveController {
+
+	@Autowired
+	private TestActivitiLeaveService testActivitiLeaveService;
+
+	/**
+	 * 请假申请列表数据
+	 */
+	@ApiLog("查询请假申请列表数据")
+	@ApiOperation(value = "查询请假申请列表数据")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestActivitiLeaveDTO>> list(TestActivitiLeaveDTO testActivitiLeaveDTO, Page<TestActivitiLeaveDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testActivitiLeaveDTO, TestActivitiLeaveDTO.class);
+		IPage<TestActivitiLeaveDTO> result = testActivitiLeaveService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取请假申请数据
+	 */
+	@ApiLog("根据Id获取请假申请数据")
+	@ApiOperation(value = "根据Id获取请假申请数据")
+	@GetMapping("queryById")
+	public ResponseEntity<TestActivitiLeaveDTO> queryById(String id) {
+		return ResponseEntity.ok ( testActivitiLeaveService.findById ( id ) );
+	}
+
+	/**
+	 * 保存请假申请
+	 */
+	@ApiLog("保存请假申请")
+	@ApiOperation(value = "保存请假申请")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestActivitiLeaveDTO testActivitiLeaveDTO) {
+		//新增或编辑表单保存
+		testActivitiLeaveService.saveOrUpdate (testActivitiLeaveDTO);
+		return ResponseUtil.newInstance ( ).add("businessTable", "test_activiti_leave").add("businessId", testActivitiLeaveDTO.getId()).ok ("保存请假申请成功");
+	}
+
+
+	/**
+	 * 删除请假申请
+	 */
+	@ApiLog("删除请假申请")
+	@ApiOperation(value = "删除请假申请")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+		for(String id: idArray){
+			testActivitiLeaveService.removeById ( id );
+		}
+		return ResponseEntity.ok( "删除请假申请成功" );
+	}
+
+}

+ 22 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/controller/app/AppTestActivitiLeaveController.java

@@ -0,0 +1,22 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.controller.app;
+
+import com.jeeplus.test.activiti.controller.TestActivitiLeaveController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 请假申请Controller
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Api(tags ="请假申请")
+@RestController
+@RequestMapping(value = "/app/test/activiti/testActivitiLeave")
+public class AppTestActivitiLeaveController extends TestActivitiLeaveController {
+
+
+}

+ 88 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/domain/TestActivitiAudit.java

@@ -0,0 +1,88 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.domain;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 薪酬调整申请Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_activiti_audit")
+public class TestActivitiAudit extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 流程实例ID
+     */
+	private String procInsId;
+	/**
+     * 变动用户
+     */
+	private String userId;
+	/**
+     * 归属部门
+     */
+	private String officeId;
+	/**
+     * 岗位
+     */
+	private String post;
+	/**
+     * 性别
+     */
+	private String sex;
+	/**
+     * 学历
+     */
+	private String edu;
+	/**
+     * 调整原因
+     */
+	private String content;
+	/**
+     * 现行标准 薪酬档级
+     */
+	private String olda;
+	/**
+     * 现行标准 月工资额
+     */
+	private String oldb;
+	/**
+     * 现行标准 年薪总额
+     */
+	private String oldc;
+	/**
+     * 调整后标准 薪酬档级
+     */
+	private String newa;
+	/**
+     * 调整后标准 月工资额
+     */
+	private String newb;
+	/**
+     * 调整后标准 年薪总额
+     */
+	private String newc;
+	/**
+     * 月增资
+     */
+	private String addNum;
+	/**
+     * 执行时间
+     */
+	private Date exeDate;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 49 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/domain/TestActivitiExpense.java

@@ -0,0 +1,49 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 报销申请Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_activiti_expense")
+public class TestActivitiExpense extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 员工姓名
+     */
+    @TableField("name")
+	private String userId;
+	/**
+     * 流程实例ID
+     */
+	private String procInsId;
+	/**
+     * 报销费用
+     */
+	private Integer cost;
+	/**
+     * 归属部门
+     */
+	private String officeId;
+	/**
+     * 报销事由
+     */
+	private String reason;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 48 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/domain/TestActivitiLeave.java

@@ -0,0 +1,48 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.domain;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 请假申请Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_activiti_leave")
+public class TestActivitiLeave extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 流程实例ID
+     */
+	private String procInsId;
+	/**
+     * 请假类型
+     */
+	private String leaveType;
+	/**
+     * 请假开始时间
+     */
+	private Date startTime;
+	/**
+     * 请假结束时间
+     */
+	private Date endTime;
+	/**
+     * 请假事由
+     */
+	private String reason;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/TestActivitiAuditMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiAuditDTO;
+import com.jeeplus.test.activiti.domain.TestActivitiAudit;
+
+/**
+ * 薪酬调整申请MAPPER接口
+ * @author liugf
+ * @version 2023-02-10
+ */
+public interface TestActivitiAuditMapper extends BaseMapper<TestActivitiAudit> {
+
+    /**
+     * 根据id获取薪酬调整申请
+     * @param id
+     * @return
+     */
+    TestActivitiAuditDTO findById(String id);
+
+    /**
+     * 获取薪酬调整申请列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <TestActivitiAuditDTO> findList(Page <TestActivitiAuditDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/TestActivitiExpenseMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiExpenseDTO;
+import com.jeeplus.test.activiti.domain.TestActivitiExpense;
+
+/**
+ * 报销申请MAPPER接口
+ * @author liugf
+ * @version 2023-02-10
+ */
+public interface TestActivitiExpenseMapper extends BaseMapper<TestActivitiExpense> {
+
+    /**
+     * 根据id获取报销申请
+     * @param id
+     * @return
+     */
+    TestActivitiExpenseDTO findById(String id);
+
+    /**
+     * 获取报销申请列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <TestActivitiExpenseDTO> findList(Page <TestActivitiExpenseDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/TestActivitiLeaveMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiLeaveDTO;
+import com.jeeplus.test.activiti.domain.TestActivitiLeave;
+
+/**
+ * 请假申请MAPPER接口
+ * @author liugf
+ * @version 2023-02-10
+ */
+public interface TestActivitiLeaveMapper extends BaseMapper<TestActivitiLeave> {
+
+    /**
+     * 根据id获取请假申请
+     * @param id
+     * @return
+     */
+    TestActivitiLeaveDTO findById(String id);
+
+    /**
+     * 获取请假申请列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <TestActivitiLeaveDTO> findList(Page <TestActivitiLeaveDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 59 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/xml/TestActivitiAuditMapper.xml

@@ -0,0 +1,59 @@
+<?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.jeeplus.test.activiti.mapper.TestActivitiAuditMapper">
+
+	<sql id="testActivitiAuditColumns">
+		a.id AS "id",
+		a.proc_ins_id AS "procInsId",
+		a.user_id AS "user.id",
+		a.office_id AS "office.id",
+		a.post AS "post",
+		a.sex AS "sex",
+		a.edu AS "edu",
+		a.content AS "content",
+		a.olda AS "olda",
+		a.oldb AS "oldb",
+		a.oldc AS "oldc",
+		a.newa AS "newa",
+		a.newb AS "newb",
+		a.newc AS "newc",
+		a.add_num AS "addNum",
+		a.exe_date AS "exeDate",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+
+
+		user.name AS "user.name",
+
+		office.name AS "office.name"
+	</sql>
+
+	<sql id="testActivitiAuditJoins">
+
+		LEFT JOIN sys_user user ON user.id = a.user_id
+		LEFT JOIN sys_office office ON office.id = a.office_id
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.activiti.service.dto.TestActivitiAuditDTO">
+		SELECT
+			<include refid="testActivitiAuditColumns"/>
+		FROM test_activiti_audit a
+		<include refid="testActivitiAuditJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.activiti.service.dto.TestActivitiAuditDTO" >
+		SELECT
+			<include refid="testActivitiAuditColumns"/>
+		FROM test_activiti_audit a
+		<include refid="testActivitiAuditJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 52 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/xml/TestActivitiExpenseMapper.xml

@@ -0,0 +1,52 @@
+<?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.jeeplus.test.activiti.mapper.TestActivitiExpenseMapper">
+
+	<sql id="testActivitiExpenseColumns">
+		a.id AS "id",
+		a.name AS "user.id",
+		a.proc_ins_id AS "procInsId",
+		a.cost AS "cost",
+		a.office_id AS "office.id",
+		a.reason AS "reason",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+
+		user.name AS "user.name",
+
+
+
+		office.name AS "office.name"
+	</sql>
+
+	<sql id="testActivitiExpenseJoins">
+
+		LEFT JOIN sys_user user ON user.id = a.name
+		LEFT JOIN sys_office office ON office.id = a.office_id
+		LEFT JOIN sys_user createBy ON createBy.id = a.create_by
+		LEFT JOIN sys_user updateBy ON updateBy.id = a.update_by
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.activiti.service.dto.TestActivitiExpenseDTO">
+		SELECT
+			<include refid="testActivitiExpenseColumns"/>
+		FROM test_activiti_expense a
+		<include refid="testActivitiExpenseJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.activiti.service.dto.TestActivitiExpenseDTO" >
+		SELECT
+			<include refid="testActivitiExpenseColumns"/>
+		FROM test_activiti_expense a
+		<include refid="testActivitiExpenseJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 44 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/mapper/xml/TestActivitiLeaveMapper.xml

@@ -0,0 +1,44 @@
+<?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.jeeplus.test.activiti.mapper.TestActivitiLeaveMapper">
+
+	<sql id="testActivitiLeaveColumns">
+		a.id AS "id",
+		a.proc_ins_id AS "procInsId",
+		a.leave_type AS "leaveType",
+		a.start_time AS "startTime",
+		a.end_time AS "endTime",
+		a.reason AS "reason",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag"
+	</sql>
+
+	<sql id="testActivitiLeaveJoins">
+
+		LEFT JOIN sys_user createBy ON createBy.id = a.create_by
+		LEFT JOIN sys_user updateBy ON updateBy.id = a.update_by
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.activiti.service.dto.TestActivitiLeaveDTO">
+		SELECT
+			<include refid="testActivitiLeaveColumns"/>
+		FROM test_activiti_leave a
+		<include refid="testActivitiLeaveJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.activiti.service.dto.TestActivitiLeaveDTO" >
+		SELECT
+			<include refid="testActivitiLeaveColumns"/>
+		FROM test_activiti_leave a
+		<include refid="testActivitiLeaveJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 69 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/TestActivitiAuditService.java

@@ -0,0 +1,69 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.service;
+
+import com.jeeplus.sys.constant.CommonConstants;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiAuditDTO;
+import com.jeeplus.test.activiti.service.mapstruct.TestActivitiAuditWrapper;
+import com.jeeplus.test.activiti.domain.TestActivitiAudit;
+import com.jeeplus.test.activiti.mapper.TestActivitiAuditMapper;
+
+/**
+ * 薪酬调整申请Service
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class TestActivitiAuditService extends ServiceImpl<TestActivitiAuditMapper, TestActivitiAudit> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public TestActivitiAuditDTO findById(String id) {
+		TestActivitiAuditDTO testActivitiAuditDTO = baseMapper.findById ( id );
+		return testActivitiAuditDTO;
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <TestActivitiAuditDTO> findPage(Page <TestActivitiAuditDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+	/**
+	* 保存或者更新
+	* @param  testActivitiAuditDTO
+	* @return
+	*/
+	public void saveOrUpdate(TestActivitiAuditDTO testActivitiAuditDTO) {
+		TestActivitiAudit testActivitiAudit =  TestActivitiAuditWrapper.INSTANCE.toEntity ( testActivitiAuditDTO );
+		super.saveOrUpdate (testActivitiAudit);
+		testActivitiAuditDTO.setId ( testActivitiAudit.getId () );
+	}
+
+	/**
+	 * 删除
+	 * @param  id
+	 * @return
+	 */
+	public void removeById(String id) {
+		super.removeById ( id );
+	}
+
+}

+ 69 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/TestActivitiExpenseService.java

@@ -0,0 +1,69 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.service;
+
+import com.jeeplus.sys.constant.CommonConstants;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiExpenseDTO;
+import com.jeeplus.test.activiti.service.mapstruct.TestActivitiExpenseWrapper;
+import com.jeeplus.test.activiti.domain.TestActivitiExpense;
+import com.jeeplus.test.activiti.mapper.TestActivitiExpenseMapper;
+
+/**
+ * 报销申请Service
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class TestActivitiExpenseService extends ServiceImpl<TestActivitiExpenseMapper, TestActivitiExpense> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public TestActivitiExpenseDTO findById(String id) {
+		TestActivitiExpenseDTO testActivitiExpenseDTO = baseMapper.findById ( id );
+		return testActivitiExpenseDTO;
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <TestActivitiExpenseDTO> findPage(Page <TestActivitiExpenseDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+	/**
+	* 保存或者更新
+	* @param  testActivitiExpenseDTO
+	* @return
+	*/
+	public void saveOrUpdate(TestActivitiExpenseDTO testActivitiExpenseDTO) {
+		TestActivitiExpense testActivitiExpense =  TestActivitiExpenseWrapper.INSTANCE.toEntity ( testActivitiExpenseDTO );
+		super.saveOrUpdate (testActivitiExpense);
+		testActivitiExpenseDTO.setId ( testActivitiExpense.getId () );
+	}
+
+	/**
+	 * 删除
+	 * @param  id
+	 * @return
+	 */
+	public void removeById(String id) {
+		super.removeById ( id );
+	}
+
+}

+ 69 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/TestActivitiLeaveService.java

@@ -0,0 +1,69 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.service;
+
+import com.jeeplus.sys.constant.CommonConstants;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.activiti.service.dto.TestActivitiLeaveDTO;
+import com.jeeplus.test.activiti.service.mapstruct.TestActivitiLeaveWrapper;
+import com.jeeplus.test.activiti.domain.TestActivitiLeave;
+import com.jeeplus.test.activiti.mapper.TestActivitiLeaveMapper;
+
+/**
+ * 请假申请Service
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class TestActivitiLeaveService extends ServiceImpl<TestActivitiLeaveMapper, TestActivitiLeave> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public TestActivitiLeaveDTO findById(String id) {
+		TestActivitiLeaveDTO testActivitiLeaveDTO = baseMapper.findById ( id );
+		return testActivitiLeaveDTO;
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <TestActivitiLeaveDTO> findPage(Page <TestActivitiLeaveDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+	/**
+	* 保存或者更新
+	* @param  testActivitiLeaveDTO
+	* @return
+	*/
+	public void saveOrUpdate(TestActivitiLeaveDTO testActivitiLeaveDTO) {
+		TestActivitiLeave testActivitiLeave =  TestActivitiLeaveWrapper.INSTANCE.toEntity ( testActivitiLeaveDTO );
+		super.saveOrUpdate (testActivitiLeave);
+		testActivitiLeaveDTO.setId ( testActivitiLeave.getId () );
+	}
+
+	/**
+	 * 删除
+	 * @param  id
+	 * @return
+	 */
+	public void removeById(String id) {
+		super.removeById ( id );
+	}
+
+}

+ 98 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/dto/TestActivitiAuditDTO.java

@@ -0,0 +1,98 @@
+/**
+        * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+        */
+package com.jeeplus.test.activiti.service.dto;
+
+import com.jeeplus.sys.service.dto.UserDTO;
+import javax.validation.constraints.NotNull;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 薪酬调整申请Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestActivitiAuditDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 流程实例ID
+     */
+	private String procInsId;
+	/**
+     * 变动用户
+     */
+	@NotNull(message="变动用户不能为空")
+	private UserDTO user;
+	/**
+     * 归属部门
+     */
+	@NotNull(message="归属部门不能为空")
+	private OfficeDTO office;
+	/**
+     * 岗位
+     */
+	private String post;
+	/**
+     * 性别
+     */
+	private String sex;
+	/**
+     * 学历
+     */
+	private String edu;
+	/**
+     * 调整原因
+     */
+	@NotNull(message="调整原因不能为空")
+	private String content;
+	/**
+     * 现行标准 薪酬档级
+     */
+	private String olda;
+	/**
+     * 现行标准 月工资额
+     */
+	@NotNull(message="现行标准 月工资额不能为空")
+	private String oldb;
+	/**
+     * 现行标准 年薪总额
+     */
+	private String oldc;
+	/**
+     * 调整后标准 薪酬档级
+     */
+	private String newa;
+	/**
+     * 调整后标准 月工资额
+     */
+	@NotNull(message="调整后标准 月工资额不能为空")
+	private String newb;
+	/**
+     * 调整后标准 年薪总额
+     */
+	private String newc;
+	/**
+     * 月增资
+     */
+	@NotNull(message="月增资不能为空")
+	private String addNum;
+	/**
+     * 执行时间
+     */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@NotNull(message="执行时间不能为空")
+	private Date exeDate;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 55 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/dto/TestActivitiExpenseDTO.java

@@ -0,0 +1,55 @@
+/**
+        * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+        */
+package com.jeeplus.test.activiti.service.dto;
+
+import com.jeeplus.sys.service.dto.UserDTO;
+import javax.validation.constraints.NotNull;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 报销申请Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestActivitiExpenseDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 员工姓名
+     */
+	@NotNull(message="员工姓名不能为空")
+    @Query(tableColumn = "a.name", javaField = "user.id", type = QueryType.LIKE)
+	private UserDTO user;
+	/**
+     * 流程实例ID
+     */
+	private String procInsId;
+	/**
+     * 报销费用
+     */
+	@NotNull(message="报销费用不能为空")
+	private Integer cost;
+	/**
+     * 归属部门
+     */
+	@NotNull(message="归属部门不能为空")
+	private OfficeDTO office;
+	/**
+     * 报销事由
+     */
+	@NotNull(message="报销事由不能为空")
+	private String reason;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 54 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/dto/TestActivitiLeaveDTO.java

@@ -0,0 +1,54 @@
+/**
+        * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+        */
+package com.jeeplus.test.activiti.service.dto;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 请假申请Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestActivitiLeaveDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 流程实例ID
+     */
+	private String procInsId;
+	/**
+     * 请假类型
+     */
+	@NotNull(message="请假类型不能为空")
+	private String leaveType;
+	/**
+     * 请假开始时间
+     */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@NotNull(message="请假开始时间不能为空")
+	private Date startTime;
+	/**
+     * 请假结束时间
+     */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@NotNull(message="请假结束时间不能为空")
+	private Date endTime;
+	/**
+     * 请假事由
+     */
+	@NotNull(message="请假事由不能为空")
+	private String reason;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 40 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/mapstruct/TestActivitiAuditWrapper.java

@@ -0,0 +1,40 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.activiti.service.dto.TestActivitiAuditDTO;
+import com.jeeplus.test.activiti.domain.TestActivitiAudit;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestActivitiAuditWrapper
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestActivitiAuditWrapper extends EntityWrapper<TestActivitiAuditDTO, TestActivitiAudit> {
+
+    TestActivitiAuditWrapper INSTANCE = Mappers.getMapper(TestActivitiAuditWrapper.class);
+     @Mappings({
+            @Mapping(source = "user.id", target = "userId"),
+            @Mapping(source = "office.id", target = "officeId"),
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    TestActivitiAudit toEntity(TestActivitiAuditDTO dto);
+
+
+    @Mappings({
+            @Mapping(source = "userId", target = "user.id"),
+            @Mapping(source = "officeId", target = "office.id"),
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    TestActivitiAuditDTO toDTO(TestActivitiAudit entity);
+}
+

+ 40 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/mapstruct/TestActivitiExpenseWrapper.java

@@ -0,0 +1,40 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.activiti.service.dto.TestActivitiExpenseDTO;
+import com.jeeplus.test.activiti.domain.TestActivitiExpense;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestActivitiExpenseWrapper
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestActivitiExpenseWrapper extends EntityWrapper<TestActivitiExpenseDTO, TestActivitiExpense> {
+
+    TestActivitiExpenseWrapper INSTANCE = Mappers.getMapper(TestActivitiExpenseWrapper.class);
+     @Mappings({
+            @Mapping(source = "user.id", target = "userId"),
+            @Mapping(source = "office.id", target = "officeId"),
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    TestActivitiExpense toEntity(TestActivitiExpenseDTO dto);
+
+
+    @Mappings({
+            @Mapping(source = "userId", target = "user.id"),
+            @Mapping(source = "officeId", target = "office.id"),
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    TestActivitiExpenseDTO toDTO(TestActivitiExpense entity);
+}
+

+ 36 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/activiti/service/mapstruct/TestActivitiLeaveWrapper.java

@@ -0,0 +1,36 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.activiti.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.activiti.service.dto.TestActivitiLeaveDTO;
+import com.jeeplus.test.activiti.domain.TestActivitiLeave;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestActivitiLeaveWrapper
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestActivitiLeaveWrapper extends EntityWrapper<TestActivitiLeaveDTO, TestActivitiLeave> {
+
+    TestActivitiLeaveWrapper INSTANCE = Mappers.getMapper(TestActivitiLeaveWrapper.class);
+     @Mappings({
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    TestActivitiLeave toEntity(TestActivitiLeaveDTO dto);
+
+
+    @Mappings({
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    TestActivitiLeaveDTO toDTO(TestActivitiLeave entity);
+}
+

+ 153 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/controller/TestContinentController.java

@@ -0,0 +1,153 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.grid.domain.TestContinent;
+import com.jeeplus.test.grid.service.dto.TestContinentDTO;
+import com.jeeplus.test.grid.service.mapstruct.TestContinentWrapper;
+import com.jeeplus.test.grid.service.TestContinentService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 洲Controller
+ * @author lgf
+ * @version 2023-02-10
+ */
+
+@Api(tags ="洲")
+@RestController
+@RequestMapping(value = "/test/grid/testContinent")
+public class TestContinentController {
+
+	@Autowired
+	private TestContinentService testContinentService;
+
+	@Autowired
+	private TestContinentWrapper testContinentWrapper;
+
+	/**
+	 * 洲列表数据
+	 */
+	@ApiLog("查询洲列表数据")
+	@ApiOperation(value = "查询洲列表数据")
+	@PreAuthorize("hasAuthority('test:grid:testContinent:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestContinent>> list(TestContinentDTO testContinentDTO, Page<TestContinent> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testContinentDTO, TestContinentDTO.class);
+		IPage<TestContinent> result = testContinentService.page (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取洲数据
+	 */
+	@ApiLog("根据Id获取洲数据")
+	@ApiOperation(value = "根据Id获取洲数据")
+	@PreAuthorize("hasAnyAuthority('test:grid:testContinent:view','test:grid:testContinent:add','test:grid:testContinent:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<TestContinentDTO> queryById(String id) {
+		return ResponseEntity.ok ( testContinentWrapper.toDTO ( testContinentService.getById ( id ) ) );
+	}
+
+	/**
+	 * 保存洲
+	 */
+	@ApiLog("保存洲")
+	@ApiOperation(value = "保存洲")
+	@PreAuthorize("hasAnyAuthority('test:grid:testContinent:add','test:grid:testContinent:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestContinentDTO testContinentDTO) {
+		//新增或编辑表单保存
+		testContinentService.saveOrUpdate (testContinentWrapper.toEntity (testContinentDTO));
+        return ResponseEntity.ok ( "保存洲成功" );
+	}
+
+
+	/**
+	 * 删除洲
+	 */
+	@ApiLog("删除洲")
+	@ApiOperation(value = "删除洲")
+	@PreAuthorize("hasAuthority('test:grid:testContinent:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        testContinentService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除洲成功" );
+	}
+	
+	/**
+     * 导出洲数据
+     *
+     * @param testContinentDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出洲数据")
+    @PreAuthorize("hasAnyAuthority('test:grid:testContinent:export')")
+    @GetMapping("export")
+    public void exportFile(TestContinentDTO testContinentDTO, Page <TestContinent> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testContinentDTO, TestContinentDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List < TestContinent> result = testContinentService.page ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( testContinentService, testContinentWrapper ).exportExcel ( result,  options.getSheetName ( ), TestContinentDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入洲数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:grid:testContinent:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( testContinentService, testContinentWrapper ).importExcel ( file, TestContinentDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入洲数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:grid:testContinent:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "洲数据导入模板.xlsx";
+        List<TestContinentDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( testContinentService, testContinentWrapper ).exportExcel ( list,  "洲数据", TestContinentDTO.class, fileName, null, response );
+    }
+
+}

+ 152 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/controller/TestCountryController.java

@@ -0,0 +1,152 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.grid.service.dto.TestCountryDTO;
+import com.jeeplus.test.grid.service.mapstruct.TestCountryWrapper;
+import com.jeeplus.test.grid.service.TestCountryService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 国家Controller
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+
+@Api(tags ="国家")
+@RestController
+@RequestMapping(value = "/test/grid/testCountry")
+public class TestCountryController {
+
+	@Autowired
+	private TestCountryService testCountryService;
+
+	@Autowired
+	private TestCountryWrapper testCountryWrapper;
+
+	/**
+	 * 国家列表数据
+	 */
+	@ApiLog("查询国家列表数据")
+	@ApiOperation(value = "查询国家列表数据")
+	@PreAuthorize("hasAuthority('test:grid:testCountry:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestCountryDTO>> list(TestCountryDTO testCountryDTO, Page<TestCountryDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testCountryDTO, TestCountryDTO.class);
+		IPage<TestCountryDTO> result = testCountryService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取国家数据
+	 */
+	@ApiLog("根据Id获取国家数据")
+	@ApiOperation(value = "根据Id获取国家数据")
+	@PreAuthorize("hasAnyAuthority('test:grid:testCountry:view','test:grid:testCountry:add','test:grid:testCountry:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<TestCountryDTO> queryById(String id) {
+		return ResponseEntity.ok ( testCountryService.findById ( id ) );
+	}
+
+	/**
+	 * 保存国家
+	 */
+	@ApiLog("保存国家")
+	@ApiOperation(value = "保存国家")
+	@PreAuthorize("hasAnyAuthority('test:grid:testCountry:add','test:grid:testCountry:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestCountryDTO testCountryDTO) {
+		//新增或编辑表单保存
+		testCountryService.saveOrUpdate (testCountryWrapper.toEntity (testCountryDTO));
+        return ResponseEntity.ok ( "保存国家成功" );
+	}
+
+
+	/**
+	 * 删除国家
+	 */
+	@ApiLog("删除国家")
+	@ApiOperation(value = "删除国家")
+	@PreAuthorize("hasAuthority('test:grid:testCountry:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        testCountryService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除国家成功" );
+	}
+	
+	/**
+     * 导出国家数据
+     *
+     * @param testCountryDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出国家数据")
+    @PreAuthorize("hasAnyAuthority('test:grid:testCountry:export')")
+    @GetMapping("export")
+    public void exportFile(TestCountryDTO testCountryDTO, Page <TestCountryDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testCountryDTO, TestCountryDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "a.id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List<TestCountryDTO> result = testCountryService.findPage ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( testCountryService, testCountryWrapper ).exportExcel ( result,  options.getSheetName ( ), TestCountryDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入国家数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:grid:testCountry:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( testCountryService, testCountryWrapper ).importExcel ( file, TestCountryDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入国家数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:grid:testCountry:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "国家数据导入模板.xlsx";
+        List<TestCountryDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( testCountryService, testCountryWrapper ).exportExcel ( list,  "国家数据", TestCountryDTO.class, fileName, null, response );
+    }
+
+}

+ 31 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/domain/TestContinent.java

@@ -0,0 +1,31 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 洲Entity
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_continent")
+public class TestContinent extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 洲名
+     */
+	private String name;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 39 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/domain/TestCountry.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 国家Entity
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_country")
+public class TestCountry extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 国名
+     */
+	private String name;
+	/**
+     * 人口
+     */
+	private String sum;
+	/**
+     * 所属洲
+     */
+	private String continentId;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 17 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/TestContinentMapper.java

@@ -0,0 +1,17 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.grid.domain.TestContinent;
+
+/**
+ * 洲MAPPER接口
+ * @author lgf
+ * @version 2023-02-10
+ */
+public interface TestContinentMapper extends BaseMapper<TestContinent> {
+
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/TestCountryMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.grid.service.dto.TestCountryDTO;
+import com.jeeplus.test.grid.domain.TestCountry;
+
+/**
+ * 国家MAPPER接口
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+public interface TestCountryMapper extends BaseMapper<TestCountry> {
+
+    /**
+     * 根据id获取国家
+     * @param id
+     * @return
+     */
+    TestCountryDTO findById(String id);
+
+    /**
+     * 获取国家列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <TestCountryDTO> findList(Page <TestCountryDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 6 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/xml/TestContinentMapper.xml

@@ -0,0 +1,6 @@
+<?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.jeeplus.test.grid.mapper.TestContinentMapper">
+
+
+</mapper>

+ 47 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/mapper/xml/TestCountryMapper.xml

@@ -0,0 +1,47 @@
+<?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.jeeplus.test.grid.mapper.TestCountryMapper">
+
+	<sql id="testCountryColumns">
+		a.id AS "id",
+		a.name AS "name",
+		a.sum AS "sum",
+		a.continent_id AS "continent.id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+
+
+
+		continent.name AS "continent.name"
+	</sql>
+
+	<sql id="testCountryJoins">
+
+		LEFT JOIN test_continent continent ON continent.id = a.continent_id
+		LEFT JOIN sys_user createBy ON createBy.id = a.create_by
+		LEFT JOIN sys_user updateBy ON updateBy.id = a.update_by
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.grid.service.dto.TestCountryDTO">
+		SELECT
+			<include refid="testCountryColumns"/>
+		FROM test_country a
+		<include refid="testCountryJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.grid.service.dto.TestCountryDTO">
+		SELECT
+			<include refid="testCountryColumns"/>
+		FROM test_country a
+		<include refid="testCountryJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 21 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/TestContinentService.java

@@ -0,0 +1,21 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.grid.domain.TestContinent;
+import com.jeeplus.test.grid.mapper.TestContinentMapper;
+
+/**
+ * 洲Service
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class TestContinentService extends ServiceImpl<TestContinentMapper, TestContinent> {
+
+}

+ 45 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/TestCountryService.java

@@ -0,0 +1,45 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.grid.service.dto.TestCountryDTO;
+import com.jeeplus.test.grid.domain.TestCountry;
+import com.jeeplus.test.grid.mapper.TestCountryMapper;
+
+/**
+ * 国家Service
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class TestCountryService extends ServiceImpl<TestCountryMapper, TestCountry> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public TestCountryDTO findById(String id) {
+		return baseMapper.findById ( id );
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <TestCountryDTO> findPage(Page <TestCountryDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+}

+ 39 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/dto/TestContinentDTO.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.service.dto;
+
+import javax.validation.constraints.NotNull;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 洲DTO
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestContinentDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 洲名
+     */
+	@NotNull(message="洲名不能为空")
+    @Query(type = QueryType.LIKE)
+	@ExcelProperty("洲名") 
+	private String name;
+	        
+	/**
+     * 备注信息
+     */
+	@ExcelProperty("备注信息") 
+	private String remarks;
+
+}

+ 53 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/dto/TestCountryDTO.java

@@ -0,0 +1,53 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.service.dto;
+
+import com.jeeplus.test.grid.service.dto.TestContinentDTO;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.excel.ExcelFieldDTOConverter;
+import com.jeeplus.core.excel.annotation.ExcelFieldProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 国家DTO
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestCountryDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 国名
+     */
+    @Query(tableColumn = "a.name", javaField = "name", type = QueryType.LIKE)
+	@ExcelProperty("国名") 
+	private String name;
+	        
+	/**
+     * 人口
+     */
+	@ExcelProperty("人口") 
+	private String sum;
+	        
+	/**
+     * 所属洲
+     */
+	@ExcelProperty(value = "所属洲", converter = ExcelFieldDTOConverter.class)
+	@ExcelFieldProperty(value = "continent.name", service =  "com.jeeplus.test.grid.service.TestContinentService", wrapper= "com.jeeplus.test.grid.service.mapstruct.TestContinentWrapper")
+	private TestContinentDTO continent;
+	        
+	/**
+     * 备注信息
+     */
+	@ExcelProperty("备注信息") 
+	private String remarks;
+
+}

+ 24 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/mapstruct/TestContinentWrapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.grid.service.dto.TestContinentDTO;
+import com.jeeplus.test.grid.domain.TestContinent;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestContinentWrapper
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestContinentWrapper extends EntityWrapper<TestContinentDTO, TestContinent> {
+
+    TestContinentWrapper INSTANCE = Mappers.getMapper(TestContinentWrapper.class);
+}
+

+ 38 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/grid/service/mapstruct/TestCountryWrapper.java

@@ -0,0 +1,38 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.grid.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.grid.service.dto.TestCountryDTO;
+import com.jeeplus.test.grid.domain.TestCountry;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestCountryWrapper
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestCountryWrapper extends EntityWrapper<TestCountryDTO, TestCountry> {
+
+    TestCountryWrapper INSTANCE = Mappers.getMapper(TestCountryWrapper.class);
+     @Mappings({
+            @Mapping(source = "continent.id", target = "continentId"),
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    TestCountry toEntity(TestCountryDTO dto);
+
+
+    @Mappings({
+            @Mapping(source = "continentId", target = "continent.id"),
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    TestCountryDTO toDTO(TestCountry entity);
+}
+

+ 153 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/controller/CourseController.java

@@ -0,0 +1,153 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.manytomany.domain.Course;
+import com.jeeplus.test.manytomany.service.dto.CourseDTO;
+import com.jeeplus.test.manytomany.service.mapstruct.CourseWrapper;
+import com.jeeplus.test.manytomany.service.CourseService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 课程Controller
+ * @author lgf
+ * @version 2023-02-10
+ */
+
+@Api(tags ="课程")
+@RestController
+@RequestMapping(value = "/test/manytomany/course")
+public class CourseController {
+
+	@Autowired
+	private CourseService courseService;
+
+	@Autowired
+	private CourseWrapper courseWrapper;
+
+	/**
+	 * 课程列表数据
+	 */
+	@ApiLog("查询课程列表数据")
+	@ApiOperation(value = "查询课程列表数据")
+	@PreAuthorize("hasAuthority('test:manytomany:course:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<Course>> list(CourseDTO courseDTO, Page<Course> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (courseDTO, CourseDTO.class);
+		IPage<Course> result = courseService.page (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取课程数据
+	 */
+	@ApiLog("根据Id获取课程数据")
+	@ApiOperation(value = "根据Id获取课程数据")
+	@PreAuthorize("hasAnyAuthority('test:manytomany:course:view','test:manytomany:course:add','test:manytomany:course:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<CourseDTO> queryById(String id) {
+		return ResponseEntity.ok ( courseWrapper.toDTO ( courseService.getById ( id ) ) );
+	}
+
+	/**
+	 * 保存课程
+	 */
+	@ApiLog("保存课程")
+	@ApiOperation(value = "保存课程")
+	@PreAuthorize("hasAnyAuthority('test:manytomany:course:add','test:manytomany:course:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody CourseDTO courseDTO) {
+		//新增或编辑表单保存
+		courseService.saveOrUpdate (courseWrapper.toEntity (courseDTO));
+        return ResponseEntity.ok ( "保存课程成功" );
+	}
+
+
+	/**
+	 * 删除课程
+	 */
+	@ApiLog("删除课程")
+	@ApiOperation(value = "删除课程")
+	@PreAuthorize("hasAuthority('test:manytomany:course:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        courseService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除课程成功" );
+	}
+	
+	/**
+     * 导出课程数据
+     *
+     * @param courseDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出课程数据")
+    @PreAuthorize("hasAnyAuthority('test:manytomany:course:export')")
+    @GetMapping("export")
+    public void exportFile(CourseDTO courseDTO, Page <Course> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (courseDTO, CourseDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List < Course> result = courseService.page ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( courseService, courseWrapper ).exportExcel ( result,  options.getSheetName ( ), CourseDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入课程数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:manytomany:course:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( courseService, courseWrapper ).importExcel ( file, CourseDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入课程数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:manytomany:course:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "课程数据导入模板.xlsx";
+        List<CourseDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( courseService, courseWrapper ).exportExcel ( list,  "课程数据", CourseDTO.class, fileName, null, response );
+    }
+
+}

+ 153 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/controller/StudentController.java

@@ -0,0 +1,153 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.manytomany.domain.Student;
+import com.jeeplus.test.manytomany.service.dto.StudentDTO;
+import com.jeeplus.test.manytomany.service.mapstruct.StudentWrapper;
+import com.jeeplus.test.manytomany.service.StudentService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 学生Controller
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+
+@Api(tags ="学生")
+@RestController
+@RequestMapping(value = "/test/manytomany/student")
+public class StudentController {
+
+	@Autowired
+	private StudentService studentService;
+
+	@Autowired
+	private StudentWrapper studentWrapper;
+
+	/**
+	 * 学生列表数据
+	 */
+	@ApiLog("查询学生列表数据")
+	@ApiOperation(value = "查询学生列表数据")
+	@PreAuthorize("hasAuthority('test:manytomany:student:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<Student>> list(StudentDTO studentDTO, Page<Student> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (studentDTO, StudentDTO.class);
+		IPage<Student> result = studentService.page (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取学生数据
+	 */
+	@ApiLog("根据Id获取学生数据")
+	@ApiOperation(value = "根据Id获取学生数据")
+	@PreAuthorize("hasAnyAuthority('test:manytomany:student:view','test:manytomany:student:add','test:manytomany:student:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<StudentDTO> queryById(String id) {
+		return ResponseEntity.ok ( studentWrapper.toDTO ( studentService.getById ( id ) ) );
+	}
+
+	/**
+	 * 保存学生
+	 */
+	@ApiLog("保存学生")
+	@ApiOperation(value = "保存学生")
+	@PreAuthorize("hasAnyAuthority('test:manytomany:student:add','test:manytomany:student:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody StudentDTO studentDTO) {
+		//新增或编辑表单保存
+		studentService.saveOrUpdate (studentWrapper.toEntity (studentDTO));
+        return ResponseEntity.ok ( "保存学生成功" );
+	}
+
+
+	/**
+	 * 删除学生
+	 */
+	@ApiLog("删除学生")
+	@ApiOperation(value = "删除学生")
+	@PreAuthorize("hasAuthority('test:manytomany:student:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        studentService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除学生成功" );
+	}
+	
+	/**
+     * 导出学生数据
+     *
+     * @param studentDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出学生数据")
+    @PreAuthorize("hasAnyAuthority('test:manytomany:student:export')")
+    @GetMapping("export")
+    public void exportFile(StudentDTO studentDTO, Page <Student> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (studentDTO, StudentDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List < Student> result = studentService.page ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( studentService, studentWrapper ).exportExcel ( result,  options.getSheetName ( ), StudentDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入学生数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:manytomany:student:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( studentService, studentWrapper ).importExcel ( file, StudentDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入学生数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:manytomany:student:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "学生数据导入模板.xlsx";
+        List<StudentDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( studentService, studentWrapper ).exportExcel ( list,  "学生数据", StudentDTO.class, fileName, null, response );
+    }
+
+}

+ 152 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/controller/StudentCourseController.java

@@ -0,0 +1,152 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.manytomany.service.dto.StudentCourseDTO;
+import com.jeeplus.test.manytomany.service.mapstruct.StudentCourseWrapper;
+import com.jeeplus.test.manytomany.service.StudentCourseService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 学生课程记录Controller
+ * @author lgf
+ * @version 2023-02-10
+ */
+
+@Api(tags ="学生课程记录")
+@RestController
+@RequestMapping(value = "/test/manytomany/studentCourse")
+public class StudentCourseController {
+
+	@Autowired
+	private StudentCourseService studentCourseService;
+
+	@Autowired
+	private StudentCourseWrapper studentCourseWrapper;
+
+	/**
+	 * 学生课程记录列表数据
+	 */
+	@ApiLog("查询学生课程记录列表数据")
+	@ApiOperation(value = "查询学生课程记录列表数据")
+	@PreAuthorize("hasAuthority('test:manytomany:studentCourse:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<StudentCourseDTO>> list(StudentCourseDTO studentCourseDTO, Page<StudentCourseDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (studentCourseDTO, StudentCourseDTO.class);
+		IPage<StudentCourseDTO> result = studentCourseService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取学生课程记录数据
+	 */
+	@ApiLog("根据Id获取学生课程记录数据")
+	@ApiOperation(value = "根据Id获取学生课程记录数据")
+	@PreAuthorize("hasAnyAuthority('test:manytomany:studentCourse:view','test:manytomany:studentCourse:add','test:manytomany:studentCourse:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<StudentCourseDTO> queryById(String id) {
+		return ResponseEntity.ok ( studentCourseService.findById ( id ) );
+	}
+
+	/**
+	 * 保存学生课程记录
+	 */
+	@ApiLog("保存学生课程记录")
+	@ApiOperation(value = "保存学生课程记录")
+	@PreAuthorize("hasAnyAuthority('test:manytomany:studentCourse:add','test:manytomany:studentCourse:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody StudentCourseDTO studentCourseDTO) {
+		//新增或编辑表单保存
+		studentCourseService.saveOrUpdate (studentCourseWrapper.toEntity (studentCourseDTO));
+        return ResponseEntity.ok ( "保存学生课程记录成功" );
+	}
+
+
+	/**
+	 * 删除学生课程记录
+	 */
+	@ApiLog("删除学生课程记录")
+	@ApiOperation(value = "删除学生课程记录")
+	@PreAuthorize("hasAuthority('test:manytomany:studentCourse:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        studentCourseService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除学生课程记录成功" );
+	}
+	
+	/**
+     * 导出学生课程记录数据
+     *
+     * @param studentCourseDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出学生课程记录数据")
+    @PreAuthorize("hasAnyAuthority('test:manytomany:studentCourse:export')")
+    @GetMapping("export")
+    public void exportFile(StudentCourseDTO studentCourseDTO, Page <StudentCourseDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (studentCourseDTO, StudentCourseDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "a.id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List<StudentCourseDTO> result = studentCourseService.findPage ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( studentCourseService, studentCourseWrapper ).exportExcel ( result,  options.getSheetName ( ), StudentCourseDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入学生课程记录数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:manytomany:studentCourse:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( studentCourseService, studentCourseWrapper ).importExcel ( file, StudentCourseDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入学生课程记录数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:manytomany:studentCourse:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "学生课程记录数据导入模板.xlsx";
+        List<StudentCourseDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( studentCourseService, studentCourseWrapper ).exportExcel ( list,  "学生课程记录数据", StudentCourseDTO.class, fileName, null, response );
+    }
+
+}

+ 31 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/domain/Course.java

@@ -0,0 +1,31 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 课程Entity
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_course")
+public class Course extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 课程名
+     */
+	private String name;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 31 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/domain/Student.java

@@ -0,0 +1,31 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 学生Entity
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_student")
+public class Student extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 姓名
+     */
+	private String name;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 39 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/domain/StudentCourse.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 学生课程记录Entity
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_student_course")
+public class StudentCourse extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 学生
+     */
+	private String studentId;
+	/**
+     * 课程
+     */
+	private String courseId;
+	/**
+     * 分数
+     */
+	private Double score;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 17 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/CourseMapper.java

@@ -0,0 +1,17 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.manytomany.domain.Course;
+
+/**
+ * 课程MAPPER接口
+ * @author lgf
+ * @version 2023-02-10
+ */
+public interface CourseMapper extends BaseMapper<Course> {
+
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/StudentCourseMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.manytomany.service.dto.StudentCourseDTO;
+import com.jeeplus.test.manytomany.domain.StudentCourse;
+
+/**
+ * 学生课程记录MAPPER接口
+ * @author lgf
+ * @version 2023-02-10
+ */
+public interface StudentCourseMapper extends BaseMapper<StudentCourse> {
+
+    /**
+     * 根据id获取学生课程记录
+     * @param id
+     * @return
+     */
+    StudentCourseDTO findById(String id);
+
+    /**
+     * 获取学生课程记录列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <StudentCourseDTO> findList(Page <StudentCourseDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 17 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/StudentMapper.java

@@ -0,0 +1,17 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.manytomany.domain.Student;
+
+/**
+ * 学生MAPPER接口
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+public interface StudentMapper extends BaseMapper<Student> {
+
+
+}

+ 6 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/xml/CourseMapper.xml

@@ -0,0 +1,6 @@
+<?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.jeeplus.test.manytomany.mapper.CourseMapper">
+
+
+</mapper>

+ 46 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/xml/StudentCourseMapper.xml

@@ -0,0 +1,46 @@
+<?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.jeeplus.test.manytomany.mapper.StudentCourseMapper">
+
+	<sql id="studentCourseColumns">
+		a.id AS "id",
+		a.student_id AS "student.id",
+		a.course_id AS "course.id",
+		a.score AS "score",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+
+		student.name AS "student.name",
+
+		course.name AS "course.name"
+	</sql>
+
+	<sql id="studentCourseJoins">
+
+		LEFT JOIN test_student student ON student.id = a.student_id
+		LEFT JOIN test_course course ON course.id = a.course_id
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.manytomany.service.dto.StudentCourseDTO">
+		SELECT
+			<include refid="studentCourseColumns"/>
+		FROM test_student_course a
+		<include refid="studentCourseJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.manytomany.service.dto.StudentCourseDTO">
+		SELECT
+			<include refid="studentCourseColumns"/>
+		FROM test_student_course a
+		<include refid="studentCourseJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 6 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/mapper/xml/StudentMapper.xml

@@ -0,0 +1,6 @@
+<?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.jeeplus.test.manytomany.mapper.StudentMapper">
+
+
+</mapper>

+ 21 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/CourseService.java

@@ -0,0 +1,21 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.manytomany.domain.Course;
+import com.jeeplus.test.manytomany.mapper.CourseMapper;
+
+/**
+ * 课程Service
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class CourseService extends ServiceImpl<CourseMapper, Course> {
+
+}

+ 45 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/StudentCourseService.java

@@ -0,0 +1,45 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.manytomany.service.dto.StudentCourseDTO;
+import com.jeeplus.test.manytomany.domain.StudentCourse;
+import com.jeeplus.test.manytomany.mapper.StudentCourseMapper;
+
+/**
+ * 学生课程记录Service
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class StudentCourseService extends ServiceImpl<StudentCourseMapper, StudentCourse> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public StudentCourseDTO findById(String id) {
+		return baseMapper.findById ( id );
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <StudentCourseDTO> findPage(Page <StudentCourseDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+}

+ 21 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/StudentService.java

@@ -0,0 +1,21 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.manytomany.domain.Student;
+import com.jeeplus.test.manytomany.mapper.StudentMapper;
+
+/**
+ * 学生Service
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class StudentService extends ServiceImpl<StudentMapper, Student> {
+
+}

+ 39 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/dto/CourseDTO.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service.dto;
+
+import javax.validation.constraints.NotNull;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 课程DTO
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class CourseDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 课程名
+     */
+	@NotNull(message="课程名不能为空")
+    @Query(type = QueryType.LIKE)
+	@ExcelProperty("课程名") 
+	private String name;
+	        
+	/**
+     * 备注信息
+     */
+	@ExcelProperty("备注信息") 
+	private String remarks;
+
+}

+ 60 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/dto/StudentCourseDTO.java

@@ -0,0 +1,60 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service.dto;
+
+import com.jeeplus.test.manytomany.service.dto.StudentDTO;
+import javax.validation.constraints.NotNull;
+import com.jeeplus.test.manytomany.service.dto.CourseDTO;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.excel.ExcelFieldDTOConverter;
+import com.jeeplus.core.excel.annotation.ExcelFieldProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 学生课程记录DTO
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class StudentCourseDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 学生
+     */
+	@NotNull(message="学生不能为空")
+    @Query(tableColumn = "a.student_id", javaField = "student.id", type = QueryType.LIKE)
+	@ExcelProperty(value = "学生", converter = ExcelFieldDTOConverter.class)
+	@ExcelFieldProperty(value = "student.name", service =  "com.jeeplus.test.manytomany.service.StudentService", wrapper= "com.jeeplus.test.manytomany.service.mapstruct.StudentWrapper")
+	private StudentDTO student;
+	        
+	/**
+     * 课程
+     */
+	@NotNull(message="课程不能为空")
+    @Query(tableColumn = "a.course_id", javaField = "course.id", type = QueryType.LIKE)
+	@ExcelProperty(value = "课程", converter = ExcelFieldDTOConverter.class)
+	@ExcelFieldProperty(value = "course.name", service =  "com.jeeplus.test.manytomany.service.CourseService", wrapper= "com.jeeplus.test.manytomany.service.mapstruct.CourseWrapper")
+	private CourseDTO course;
+	        
+	/**
+     * 分数
+     */
+	@NotNull(message="分数不能为空")
+	@ExcelProperty("分数") 
+	private Double score;
+	        
+	/**
+     * 备注信息
+     */
+	@ExcelProperty("备注信息") 
+	private String remarks;
+
+}

+ 39 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/dto/StudentDTO.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service.dto;
+
+import javax.validation.constraints.NotNull;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 学生DTO
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class StudentDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 姓名
+     */
+	@NotNull(message="姓名不能为空")
+    @Query(type = QueryType.LIKE)
+	@ExcelProperty("姓名") 
+	private String name;
+	        
+	/**
+     * 备注信息
+     */
+	@ExcelProperty("备注信息") 
+	private String remarks;
+
+}

+ 24 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/mapstruct/CourseWrapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.manytomany.service.dto.CourseDTO;
+import com.jeeplus.test.manytomany.domain.Course;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  CourseWrapper
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface CourseWrapper extends EntityWrapper<CourseDTO, Course> {
+
+    CourseWrapper INSTANCE = Mappers.getMapper(CourseWrapper.class);
+}
+

+ 40 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/mapstruct/StudentCourseWrapper.java

@@ -0,0 +1,40 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.manytomany.service.dto.StudentCourseDTO;
+import com.jeeplus.test.manytomany.domain.StudentCourse;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  StudentCourseWrapper
+ * @author lgf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface StudentCourseWrapper extends EntityWrapper<StudentCourseDTO, StudentCourse> {
+
+    StudentCourseWrapper INSTANCE = Mappers.getMapper(StudentCourseWrapper.class);
+     @Mappings({
+            @Mapping(source = "student.id", target = "studentId"),
+            @Mapping(source = "course.id", target = "courseId"),
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    StudentCourse toEntity(StudentCourseDTO dto);
+
+
+    @Mappings({
+            @Mapping(source = "studentId", target = "student.id"),
+            @Mapping(source = "courseId", target = "course.id"),
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    StudentCourseDTO toDTO(StudentCourse entity);
+}
+

+ 24 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/manytomany/service/mapstruct/StudentWrapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.manytomany.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.manytomany.service.dto.StudentDTO;
+import com.jeeplus.test.manytomany.domain.Student;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  StudentWrapper
+ * @author 刘高峰
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface StudentWrapper extends EntityWrapper<StudentDTO, Student> {
+
+    StudentWrapper INSTANCE = Mappers.getMapper(StudentWrapper.class);
+}
+

+ 145 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/controller/TestMobileController.java

@@ -0,0 +1,145 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.mobile.service.dto.TestMobileDTO;
+import com.jeeplus.test.mobile.service.mapstruct.TestMobileWrapper;
+import com.jeeplus.test.mobile.service.TestMobileService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 测试移动表单Controller
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+
+@Api(tags ="测试移动表单")
+@RestController
+@RequestMapping(value = "/test/mobile/testMobile")
+public class TestMobileController {
+
+	@Autowired
+	private TestMobileService testMobileService;
+
+	@Autowired
+	private TestMobileWrapper testMobileWrapper;
+
+	/**
+	 * 测试移动表单列表数据
+	 */
+	@ApiLog("查询测试移动表单列表数据")
+	@ApiOperation(value = "查询测试移动表单列表数据")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestMobileDTO>> list(TestMobileDTO testMobileDTO, Page<TestMobileDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testMobileDTO, TestMobileDTO.class);
+		IPage<TestMobileDTO> result = testMobileService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取测试移动表单数据
+	 */
+	@ApiLog("根据Id获取测试移动表单数据")
+	@ApiOperation(value = "根据Id获取测试移动表单数据")
+	@GetMapping("queryById")
+	public ResponseEntity<TestMobileDTO> queryById(String id) {
+		return ResponseEntity.ok ( testMobileService.findById ( id ) );
+	}
+
+	/**
+	 * 保存测试移动表单
+	 */
+	@ApiLog("保存测试移动表单")
+	@ApiOperation(value = "保存测试移动表单")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestMobileDTO testMobileDTO) {
+		//新增或编辑表单保存
+		testMobileService.saveOrUpdate (testMobileWrapper.toEntity (testMobileDTO));
+        return ResponseEntity.ok ( "保存测试移动表单成功" );
+	}
+
+
+	/**
+	 * 删除测试移动表单
+	 */
+	@ApiLog("删除测试移动表单")
+	@ApiOperation(value = "删除测试移动表单")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        testMobileService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除测试移动表单成功" );
+	}
+
+	/**
+     * 导出测试移动表单数据
+     *
+     * @param testMobileDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出测试移动表单数据")
+    @GetMapping("export")
+    public void exportFile(TestMobileDTO testMobileDTO, Page <TestMobileDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testMobileDTO, TestMobileDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "a.id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List<TestMobileDTO> result = testMobileService.findPage ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( testMobileService, testMobileWrapper ).exportExcel ( result,  options.getSheetName ( ), TestMobileDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入测试移动表单数据
+     *
+     * @return
+     */
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( testMobileService, testMobileWrapper ).importExcel ( file, TestMobileDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入测试移动表单数据模板
+     *
+     * @param response
+     * @return
+     */
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "测试移动表单数据导入模板.xlsx";
+        List<TestMobileDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( testMobileService, testMobileWrapper ).exportExcel ( list,  "测试移动表单数据", TestMobileDTO.class, fileName, null, response );
+    }
+
+}

+ 22 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/controller/app/AppTestMobileController.java

@@ -0,0 +1,22 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.controller.app;
+
+import com.jeeplus.test.mobile.controller.TestMobileController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * App测试移动表单Controller
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+
+@Api(tags ="测试移动表单")
+@RestController
+@RequestMapping(value = "/app/test/mobile/testMobile")
+public class AppTestMobileController extends TestMobileController {
+
+}

+ 84 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/domain/TestMobile.java

@@ -0,0 +1,84 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.domain;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 测试移动表单Entity
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_mobile")
+public class TestMobile extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 姓名
+     */
+	private String name;
+	/**
+     * 年龄
+     */
+	private String age;
+	/**
+     * 地区
+     */
+	private String areaId;
+	/**
+     * 公司
+     */
+	private String companyId;
+	/**
+     * 部门
+     */
+	private String officeId;
+	/**
+     * 性别
+     */
+	private String sex;
+	/**
+     * 头像
+     */
+	private String teImage;
+	/**
+     * 单选框
+     */
+	private String isSingle;
+	/**
+     * 多选框
+     */
+	private String cks;
+	/**
+     * 多行文本框
+     */
+	private String textArea;
+	/**
+     * 数字输入框
+     */
+	private String textNumber;
+	/**
+     * 日期选择框
+     */
+	private Date teDate;
+	/**
+     * 邮箱
+     */
+	private String email;
+	/**
+     * 手机号
+     */
+	private String phone;
+	/**
+     * 电话
+     */
+	private String tel;
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/mapper/TestMobileMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.mobile.service.dto.TestMobileDTO;
+import com.jeeplus.test.mobile.domain.TestMobile;
+
+/**
+ * 测试移动表单MAPPER接口
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+public interface TestMobileMapper extends BaseMapper<TestMobile> {
+
+    /**
+     * 根据id获取测试移动表单
+     * @param id
+     * @return
+     */
+    TestMobileDTO findById(String id);
+
+    /**
+     * 获取测试移动表单列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <TestMobileDTO> findList(Page <TestMobileDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 62 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/mapper/xml/TestMobileMapper.xml

@@ -0,0 +1,62 @@
+<?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.jeeplus.test.mobile.mapper.TestMobileMapper">
+
+	<sql id="testMobileColumns">
+		a.id AS "id",
+		a.name AS "name",
+		a.age AS "age",
+		a.area_id AS "area.id",
+		a.company_id AS "company.id",
+		a.office_id AS "office.id",
+		a.sex AS "sex",
+		a.te_image AS "teImage",
+		a.is_single AS "isSingle",
+		a.cks AS "cks",
+		a.text_area AS "textArea",
+		a.text_number AS "textNumber",
+		a.te_date AS "teDate",
+		a.email AS "email",
+		a.phone AS "phone",
+		a.tel AS "tel",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.del_flag AS "delFlag",
+
+
+
+		area.name AS "area.name",
+
+		company.name AS "company.name",
+
+		office.name AS "office.name"
+	</sql>
+
+	<sql id="testMobileJoins">
+
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		LEFT JOIN sys_office company ON company.id = a.company_id
+		LEFT JOIN sys_office office ON office.id = a.office_id
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.mobile.service.dto.TestMobileDTO">
+		SELECT
+			<include refid="testMobileColumns"/>
+		FROM test_mobile a
+		<include refid="testMobileJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.mobile.service.dto.TestMobileDTO">
+		SELECT
+			<include refid="testMobileColumns"/>
+		FROM test_mobile a
+		<include refid="testMobileJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 45 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/service/TestMobileService.java

@@ -0,0 +1,45 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.mobile.service.dto.TestMobileDTO;
+import com.jeeplus.test.mobile.domain.TestMobile;
+import com.jeeplus.test.mobile.mapper.TestMobileMapper;
+
+/**
+ * 测试移动表单Service
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+@Service
+@Transactional
+public class TestMobileService extends ServiceImpl<TestMobileMapper, TestMobile> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public TestMobileDTO findById(String id) {
+		return baseMapper.findById ( id );
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <TestMobileDTO> findPage(Page <TestMobileDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+}

+ 154 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/service/dto/TestMobileDTO.java

@@ -0,0 +1,154 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.service.dto;
+
+import javax.validation.constraints.NotNull;
+import com.jeeplus.sys.service.dto.AreaDTO;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.excel.converter.ExcelAreaDTOConverter;
+import com.jeeplus.core.excel.converter.ExcelOfficeDTOConverter;
+import com.jeeplus.core.excel.converter.ExcelDictDTOConverter;
+import com.jeeplus.core.excel.annotation.ExcelDictProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 测试移动表单DTO
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestMobileDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 姓名
+     */
+	@NotNull(message="姓名不能为空")
+    @Query(tableColumn = "a.name", javaField = "name", type = QueryType.LIKE)
+	@ExcelProperty("姓名") 
+	private String name;
+	        
+	/**
+     * 年龄
+     */
+	@NotNull(message="年龄不能为空")
+    @Query(tableColumn = "a.age", javaField = "age", type = QueryType.EQ)
+	@ExcelProperty("年龄") 
+	private String age;
+	        
+	/**
+     * 地区
+     */
+	@NotNull(message="地区不能为空")
+    @Query(tableColumn = "a.area_id", javaField = "area.id", type = QueryType.EQ)
+    @ExcelProperty(value = "地区", converter = ExcelAreaDTOConverter.class) 
+	private AreaDTO area;
+	        
+	/**
+     * 公司
+     */
+	@NotNull(message="公司不能为空")
+    @Query(tableColumn = "a.company_id", javaField = "company.id", type = QueryType.EQ)
+    @ExcelProperty(value = "公司", converter = ExcelOfficeDTOConverter.class) 
+	private OfficeDTO company;
+	        
+	/**
+     * 部门
+     */
+	@NotNull(message="部门不能为空")
+    @Query(tableColumn = "a.office_id", javaField = "office.id", type = QueryType.EQ)
+    @ExcelProperty(value = "部门", converter = ExcelOfficeDTOConverter.class) 
+	private OfficeDTO office;
+	        
+	/**
+     * 性别
+     */
+	@NotNull(message="性别不能为空")
+    @Query(tableColumn = "a.sex", javaField = "sex", type = QueryType.EQ)
+	@ExcelProperty(value = "性别", converter = ExcelDictDTOConverter.class)
+	@ExcelDictProperty("sex")
+	private String sex;
+	        
+	/**
+     * 头像
+     */
+	@NotNull(message="头像不能为空")
+    @Query(tableColumn = "a.te_image", javaField = "teImage", type = QueryType.EQ)
+	@ExcelProperty("头像") 
+	private String teImage;
+	        
+	/**
+     * 单选框
+     */
+	@NotNull(message="单选框不能为空")
+    @Query(tableColumn = "a.is_single", javaField = "isSingle", type = QueryType.EQ)
+	@ExcelProperty(value = "单选框", converter = ExcelDictDTOConverter.class)
+	@ExcelDictProperty("yes_no")
+	private String isSingle;
+	        
+	/**
+     * 多选框
+     */
+	@NotNull(message="多选框不能为空")
+    @Query(tableColumn = "a.cks", javaField = "cks", type = QueryType.EQ)
+	@ExcelProperty(value = "多选框", converter = ExcelDictDTOConverter.class)
+	@ExcelDictProperty("form_style")
+	private String cks;
+	        
+	/**
+     * 多行文本框
+     */
+	@NotNull(message="多行文本框不能为空")
+    @Query(tableColumn = "a.text_area", javaField = "textArea", type = QueryType.EQ)
+	@ExcelProperty("多行文本框") 
+	private String textArea;
+	        
+	/**
+     * 数字输入框
+     */
+	@NotNull(message="数字输入框不能为空")
+    @Query(tableColumn = "a.text_number", javaField = "textNumber", type = QueryType.EQ)
+	@ExcelProperty("数字输入框") 
+	private String textNumber;
+	        
+	/**
+     * 日期选择框
+     */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@NotNull(message="日期选择框不能为空")
+    @Query(tableColumn = "a.te_date", javaField = "teDate", type = QueryType.EQ)
+	@ExcelProperty("日期选择框") 
+	private Date teDate;
+	        
+	/**
+     * 邮箱
+     */
+    @Query(tableColumn = "a.email", javaField = "email", type = QueryType.EQ)
+	@ExcelProperty("邮箱") 
+	private String email;
+	        
+	/**
+     * 手机号
+     */
+    @Query(tableColumn = "a.phone", javaField = "phone", type = QueryType.EQ)
+	@ExcelProperty("手机号") 
+	private String phone;
+	        
+	/**
+     * 电话
+     */
+    @Query(tableColumn = "a.tel", javaField = "tel", type = QueryType.EQ)
+	@ExcelProperty("电话") 
+	private String tel;
+
+}

+ 42 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/mobile/service/mapstruct/TestMobileWrapper.java

@@ -0,0 +1,42 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.mobile.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.mobile.service.dto.TestMobileDTO;
+import com.jeeplus.test.mobile.domain.TestMobile;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestMobileWrapper
+ * @author 刘高峰
+ * @version 2023-02-11
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestMobileWrapper extends EntityWrapper<TestMobileDTO, TestMobile> {
+
+    TestMobileWrapper INSTANCE = Mappers.getMapper(TestMobileWrapper.class);
+     @Mappings({
+            @Mapping(source = "area.id", target = "areaId"),
+            @Mapping(source = "company.id", target = "companyId"),
+            @Mapping(source = "office.id", target = "officeId"),
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    TestMobile toEntity(TestMobileDTO dto);
+
+
+    @Mappings({
+            @Mapping(source = "areaId", target = "area.id"),
+            @Mapping(source = "companyId", target = "company.id"),
+            @Mapping(source = "officeId", target = "office.id"),
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    TestMobileDTO toDTO(TestMobile entity);
+}
+

+ 153 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/controller/TestNoteController.java

@@ -0,0 +1,153 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.note.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.note.domain.TestNote;
+import com.jeeplus.test.note.service.dto.TestNoteDTO;
+import com.jeeplus.test.note.service.mapstruct.TestNoteWrapper;
+import com.jeeplus.test.note.service.TestNoteService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 富文本测试Controller
+ * @author liugf
+ * @version 2023-02-10
+ */
+
+@Api(tags ="富文本测试")
+@RestController
+@RequestMapping(value = "/test/note/testNote")
+public class TestNoteController {
+
+	@Autowired
+	private TestNoteService testNoteService;
+
+	@Autowired
+	private TestNoteWrapper testNoteWrapper;
+
+	/**
+	 * 富文本测试列表数据
+	 */
+	@ApiLog("查询富文本测试列表数据")
+	@ApiOperation(value = "查询富文本测试列表数据")
+	@PreAuthorize("hasAuthority('test:note:testNote:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestNote>> list(TestNoteDTO testNoteDTO, Page<TestNote> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testNoteDTO, TestNoteDTO.class);
+		IPage<TestNote> result = testNoteService.page (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取富文本测试数据
+	 */
+	@ApiLog("根据Id获取富文本测试数据")
+	@ApiOperation(value = "根据Id获取富文本测试数据")
+	@PreAuthorize("hasAnyAuthority('test:note:testNote:view','test:note:testNote:add','test:note:testNote:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<TestNoteDTO> queryById(String id) {
+		return ResponseEntity.ok ( testNoteWrapper.toDTO ( testNoteService.getById ( id ) ) );
+	}
+
+	/**
+	 * 保存富文本测试
+	 */
+	@ApiLog("保存富文本测试")
+	@ApiOperation(value = "保存富文本测试")
+	@PreAuthorize("hasAnyAuthority('test:note:testNote:add','test:note:testNote:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestNoteDTO testNoteDTO) {
+		//新增或编辑表单保存
+		testNoteService.saveOrUpdate (testNoteWrapper.toEntity (testNoteDTO));
+        return ResponseEntity.ok ( "保存富文本测试成功" );
+	}
+
+
+	/**
+	 * 删除富文本测试
+	 */
+	@ApiLog("删除富文本测试")
+	@ApiOperation(value = "删除富文本测试")
+	@PreAuthorize("hasAuthority('test:note:testNote:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        testNoteService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除富文本测试成功" );
+	}
+	
+	/**
+     * 导出富文本测试数据
+     *
+     * @param testNoteDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出富文本测试数据")
+    @PreAuthorize("hasAnyAuthority('test:note:testNote:export')")
+    @GetMapping("export")
+    public void exportFile(TestNoteDTO testNoteDTO, Page <TestNote> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testNoteDTO, TestNoteDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List < TestNote> result = testNoteService.page ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( testNoteService, testNoteWrapper ).exportExcel ( result,  options.getSheetName ( ), TestNoteDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入富文本测试数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:note:testNote:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( testNoteService, testNoteWrapper ).importExcel ( file, TestNoteDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入富文本测试数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:note:testNote:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "富文本测试数据导入模板.xlsx";
+        List<TestNoteDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( testNoteService, testNoteWrapper ).exportExcel ( list,  "富文本测试数据", TestNoteDTO.class, fileName, null, response );
+    }
+
+}

+ 39 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/domain/TestNote.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.note.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 富文本测试Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_note")
+public class TestNote extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 标题
+     */
+	private String title;
+	/**
+     * 富文本1
+     */
+	private String contents1;
+	/**
+     * 富文本2
+     */
+	private String contents2;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 17 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/mapper/TestNoteMapper.java

@@ -0,0 +1,17 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.note.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.note.domain.TestNote;
+
+/**
+ * 富文本测试MAPPER接口
+ * @author liugf
+ * @version 2023-02-10
+ */
+public interface TestNoteMapper extends BaseMapper<TestNote> {
+
+
+}

+ 6 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/mapper/xml/TestNoteMapper.xml

@@ -0,0 +1,6 @@
+<?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.jeeplus.test.note.mapper.TestNoteMapper">
+
+
+</mapper>

+ 21 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/service/TestNoteService.java

@@ -0,0 +1,21 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.note.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.note.domain.TestNote;
+import com.jeeplus.test.note.mapper.TestNoteMapper;
+
+/**
+ * 富文本测试Service
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Service
+@Transactional
+public class TestNoteService extends ServiceImpl<TestNoteMapper, TestNote> {
+
+}

+ 49 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/service/dto/TestNoteDTO.java

@@ -0,0 +1,49 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.note.service.dto;
+
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 富文本测试DTO
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestNoteDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 标题
+     */
+    @Query(type = QueryType.LIKE)
+	@ExcelProperty("标题") 
+	private String title;
+	        
+	/**
+     * 富文本1
+     */
+	@ExcelProperty("富文本1") 
+	private String contents1;
+	        
+	/**
+     * 富文本2
+     */
+	@ExcelProperty("富文本2") 
+	private String contents2;
+	        
+	/**
+     * 备注信息
+     */
+	@ExcelProperty("备注信息") 
+	private String remarks;
+
+}

+ 24 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/note/service/mapstruct/TestNoteWrapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.note.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.note.service.dto.TestNoteDTO;
+import com.jeeplus.test.note.domain.TestNote;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestNoteWrapper
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestNoteWrapper extends EntityWrapper<TestNoteDTO, TestNote> {
+
+    TestNoteWrapper INSTANCE = Mappers.getMapper(TestNoteWrapper.class);
+}
+

+ 152 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/controller/TestFormLeaveController.java

@@ -0,0 +1,152 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.one.controller;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.one.service.dto.TestFormLeaveDTO;
+import com.jeeplus.test.one.service.mapstruct.TestFormLeaveWrapper;
+import com.jeeplus.test.one.service.TestFormLeaveService;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 请假表单Controller
+ * @author 刘高峰
+ * @version 2023-02-12
+ */
+
+@Api(tags ="请假表单")
+@RestController
+@RequestMapping(value = "/test/one/testFormLeave")
+public class TestFormLeaveController {
+
+	@Autowired
+	private TestFormLeaveService testFormLeaveService;
+
+	@Autowired
+	private TestFormLeaveWrapper testFormLeaveWrapper;
+
+	/**
+	 * 请假表单列表数据
+	 */
+	@ApiLog("查询请假表单列表数据")
+	@ApiOperation(value = "查询请假表单列表数据")
+	@PreAuthorize("hasAuthority('test:one:testFormLeave:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestFormLeaveDTO>> list(TestFormLeaveDTO testFormLeaveDTO, Page<TestFormLeaveDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testFormLeaveDTO, TestFormLeaveDTO.class);
+		IPage<TestFormLeaveDTO> result = testFormLeaveService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取请假表单数据
+	 */
+	@ApiLog("根据Id获取请假表单数据")
+	@ApiOperation(value = "根据Id获取请假表单数据")
+	@PreAuthorize("hasAnyAuthority('test:one:testFormLeave:view','test:one:testFormLeave:add','test:one:testFormLeave:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<TestFormLeaveDTO> queryById(String id) {
+		return ResponseEntity.ok ( testFormLeaveService.findById ( id ) );
+	}
+
+	/**
+	 * 保存请假表单
+	 */
+	@ApiLog("保存请假表单")
+	@ApiOperation(value = "保存请假表单")
+	@PreAuthorize("hasAnyAuthority('test:one:testFormLeave:add','test:one:testFormLeave:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestFormLeaveDTO testFormLeaveDTO) {
+		//新增或编辑表单保存
+		testFormLeaveService.saveOrUpdate (testFormLeaveWrapper.toEntity (testFormLeaveDTO));
+        return ResponseEntity.ok ( "保存请假表单成功" );
+	}
+
+
+	/**
+	 * 删除请假表单
+	 */
+	@ApiLog("删除请假表单")
+	@ApiOperation(value = "删除请假表单")
+	@PreAuthorize("hasAuthority('test:one:testFormLeave:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+        testFormLeaveService.removeByIds ( Lists.newArrayList ( idArray ) );
+		return ResponseEntity.ok( "删除请假表单成功" );
+	}
+	
+	/**
+     * 导出请假表单数据
+     *
+     * @param testFormLeaveDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出请假表单数据")
+    @PreAuthorize("hasAnyAuthority('test:one:testFormLeave:export')")
+    @GetMapping("export")
+    public void exportFile(TestFormLeaveDTO testFormLeaveDTO, Page <TestFormLeaveDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testFormLeaveDTO, TestFormLeaveDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "a.id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List<TestFormLeaveDTO> result = testFormLeaveService.findPage ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( testFormLeaveService, testFormLeaveWrapper ).exportExcel ( result,  options.getSheetName ( ), TestFormLeaveDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入请假表单数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:one:testFormLeave:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( testFormLeaveService, testFormLeaveWrapper ).importExcel ( file, TestFormLeaveDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入请假表单数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:one:testFormLeave:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "请假表单数据导入模板.xlsx";
+        List<TestFormLeaveDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( testFormLeaveService, testFormLeaveWrapper ).exportExcel ( list,  "请假表单数据", TestFormLeaveDTO.class, fileName, null, response );
+    }
+
+}

+ 48 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/domain/TestFormLeave.java

@@ -0,0 +1,48 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.one.domain;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 请假表单Entity
+ * @author 刘高峰
+ * @version 2023-02-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_form_leave")
+public class TestFormLeave extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 所属公司
+     */
+	private String companyId;
+	/**
+     * 归属部门
+     */
+	private String officeId;
+	/**
+     * 员工
+     */
+	private String userId;
+	/**
+     * 归属区域
+     */
+	private String areaId;
+	/**
+     * 请假开始日期
+     */
+	private Date beginDate;
+	/**
+     * 请假结束日期
+     */
+	private Date endDate;
+
+}

+ 37 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/mapper/TestFormLeaveMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.one.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.one.service.dto.TestFormLeaveDTO;
+import com.jeeplus.test.one.domain.TestFormLeave;
+
+/**
+ * 请假表单MAPPER接口
+ * @author 刘高峰
+ * @version 2023-02-12
+ */
+public interface TestFormLeaveMapper extends BaseMapper<TestFormLeave> {
+
+    /**
+     * 根据id获取请假表单
+     * @param id
+     * @return
+     */
+    TestFormLeaveDTO findById(String id);
+
+    /**
+     * 获取请假表单列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage <TestFormLeaveDTO> findList(Page <TestFormLeaveDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+}

+ 54 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/mapper/xml/TestFormLeaveMapper.xml

@@ -0,0 +1,54 @@
+<?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.jeeplus.test.one.mapper.TestFormLeaveMapper">
+
+	<sql id="testFormLeaveColumns">
+		a.id AS "id",
+		a.company_id AS "company.id",
+		a.office_id AS "office.id",
+		a.user_id AS "user.id",
+		a.area_id AS "area.id",
+		a.begin_date AS "beginDate",
+		a.end_date AS "endDate",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.del_flag AS "delFlag",
+
+		company.name AS "company.name",
+
+		office.name AS "office.name",
+
+		user.name AS "user.name",
+
+		area.name AS "area.name"
+	</sql>
+
+	<sql id="testFormLeaveJoins">
+
+		LEFT JOIN sys_office company ON company.id = a.company_id
+		LEFT JOIN sys_office office ON office.id = a.office_id
+		LEFT JOIN sys_user user ON user.id = a.user_id
+		LEFT JOIN sys_area area ON area.id = a.area_id
+	</sql>
+
+
+
+	<select id="findById" resultType="com.jeeplus.test.one.service.dto.TestFormLeaveDTO">
+		SELECT
+			<include refid="testFormLeaveColumns"/>
+		FROM test_form_leave a
+		<include refid="testFormLeaveJoins"/>
+		WHERE a.id = #{id} and a.del_flag = 0
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.one.service.dto.TestFormLeaveDTO">
+		SELECT
+			<include refid="testFormLeaveColumns"/>
+		FROM test_form_leave a
+		<include refid="testFormLeaveJoins"/>
+	    ${ew.customSqlSegment}
+	</select>
+
+</mapper>

+ 45 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/service/TestFormLeaveService.java

@@ -0,0 +1,45 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.one.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.one.service.dto.TestFormLeaveDTO;
+import com.jeeplus.test.one.domain.TestFormLeave;
+import com.jeeplus.test.one.mapper.TestFormLeaveMapper;
+
+/**
+ * 请假表单Service
+ * @author 刘高峰
+ * @version 2023-02-12
+ */
+@Service
+@Transactional
+public class TestFormLeaveService extends ServiceImpl<TestFormLeaveMapper, TestFormLeave> {
+
+	/**
+	 * 根据id查询
+	 * @param id
+	 * @return
+	 */
+	public TestFormLeaveDTO findById(String id) {
+		return baseMapper.findById ( id );
+	}
+
+	/**
+	 * 自定义分页检索
+	 * @param page
+	 * @param queryWrapper
+	 * @return
+	 */
+	public IPage <TestFormLeaveDTO> findPage(Page <TestFormLeaveDTO> page, QueryWrapper queryWrapper) {
+		queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+		return  baseMapper.findList (page, queryWrapper);
+	}
+
+}

+ 78 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/service/dto/TestFormLeaveDTO.java

@@ -0,0 +1,78 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.one.service.dto;
+
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import javax.validation.constraints.NotNull;
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.service.dto.AreaDTO;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jeeplus.core.excel.converter.ExcelOfficeDTOConverter;
+import com.jeeplus.core.excel.converter.ExcelUserDTOConverter;
+import com.jeeplus.core.excel.converter.ExcelAreaDTOConverter;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 请假表单DTO
+ * @author 刘高峰
+ * @version 2023-02-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TestFormLeaveDTO extends BaseDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	        
+	/**
+     * 所属公司
+     */
+	@NotNull(message="所属公司不能为空")
+    @ExcelProperty(value = "所属公司", converter = ExcelOfficeDTOConverter.class) 
+	private OfficeDTO company;
+	        
+	/**
+     * 归属部门
+     */
+	@NotNull(message="归属部门不能为空")
+    @Query(tableColumn = "a.office_id", javaField = "office.id", type = QueryType.EQ)
+    @ExcelProperty(value = "归属部门", converter = ExcelOfficeDTOConverter.class) 
+	private OfficeDTO office;
+	        
+	/**
+     * 员工
+     */
+    @Query(tableColumn = "a.user_id", javaField = "user.id", type = QueryType.EQ)
+    @ExcelProperty(value = "员工", converter = ExcelUserDTOConverter.class) 
+	private UserDTO user;
+	        
+	/**
+     * 归属区域
+     */
+    @Query(tableColumn = "a.area_id", javaField = "area.id", type = QueryType.EQ)
+    @ExcelProperty(value = "归属区域", converter = ExcelAreaDTOConverter.class) 
+	private AreaDTO area;
+	        
+	/**
+     * 请假开始日期
+     */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Query(tableColumn = "a.begin_date", javaField = "beginDate", type = QueryType.BETWEEN)
+	@ExcelProperty("请假开始日期") 
+	private Date beginDate;
+	        
+	/**
+     * 请假结束日期
+     */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Query(tableColumn = "a.end_date", javaField = "endDate", type = QueryType.NOTBETWEEN)
+	@ExcelProperty("请假结束日期") 
+	private Date endDate;
+
+}

+ 44 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/one/service/mapstruct/TestFormLeaveWrapper.java

@@ -0,0 +1,44 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.one.service.mapstruct;
+
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.one.service.dto.TestFormLeaveDTO;
+import com.jeeplus.test.one.domain.TestFormLeave;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ *  TestFormLeaveWrapper
+ * @author 刘高峰
+ * @version 2023-02-12
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface TestFormLeaveWrapper extends EntityWrapper<TestFormLeaveDTO, TestFormLeave> {
+
+    TestFormLeaveWrapper INSTANCE = Mappers.getMapper(TestFormLeaveWrapper.class);
+     @Mappings({
+            @Mapping(source = "company.id", target = "companyId"),
+            @Mapping(source = "office.id", target = "officeId"),
+            @Mapping(source = "user.id", target = "userId"),
+            @Mapping(source = "area.id", target = "areaId"),
+            @Mapping(source = "createBy.id", target = "createBy"),
+            @Mapping (source = "updateBy.id", target = "updateBy")})
+    TestFormLeave toEntity(TestFormLeaveDTO dto);
+
+
+    @Mappings({
+            @Mapping(source = "companyId", target = "company.id"),
+            @Mapping(source = "officeId", target = "office.id"),
+            @Mapping(source = "userId", target = "user.id"),
+            @Mapping(source = "areaId", target = "area.id"),
+            @Mapping (source = "createBy", target = "createBy.id"),
+            @Mapping (source = "updateBy", target = "updateBy.id")})
+    TestFormLeaveDTO toDTO(TestFormLeave entity);
+}
+

+ 152 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/controller/TestDataMainFormController.java

@@ -0,0 +1,152 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.onetomany.controller;
+
+import java.io.IOException;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.excel.EasyExcelUtils;
+import com.jeeplus.core.excel.ExcelOptions;
+import com.jeeplus.core.excel.annotation.ExportMode;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.onetomany.service.mapstruct.TestDataMainFormWrapper;
+import com.jeeplus.test.onetomany.service.dto.TestDataMainFormDTO;
+import com.jeeplus.test.onetomany.service.TestDataMainFormService;
+
+/**
+ * 票务代理Controller
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Api(tags ="票务代理")
+@RestController
+@RequestMapping(value = "/test/onetomany/testDataMainForm")
+public class TestDataMainFormController {
+
+	@Autowired
+	private TestDataMainFormService testDataMainFormService;
+	
+	@Autowired
+	private TestDataMainFormWrapper testDataMainFormWrapper;
+
+	/**
+	 * 票务代理列表数据
+	 */
+	@ApiLog("查询票务代理列表数据")
+	@ApiOperation(value = "查询票务代理列表数据")
+	@PreAuthorize("hasAuthority('test:onetomany:testDataMainForm:list')")
+	@GetMapping("list")
+	public ResponseEntity<IPage<TestDataMainFormDTO>> list(TestDataMainFormDTO testDataMainFormDTO, Page<TestDataMainFormDTO> page) throws Exception {
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testDataMainFormDTO, TestDataMainFormDTO.class);
+		IPage<TestDataMainFormDTO> result = testDataMainFormService.findPage (page, queryWrapper);
+		return ResponseEntity.ok (result);
+	}
+
+
+	/**
+	 * 根据Id获取票务代理数据
+	 */
+	@ApiLog("根据Id获取票务代理数据")
+	@ApiOperation(value = "根据Id获取票务代理数据")
+	@PreAuthorize("hasAnyAuthority('test:onetomany:testDataMainForm:view','test:onetomany:testDataMainForm:add','test:onetomany:testDataMainForm:edit')")
+	@GetMapping("queryById")
+	public ResponseEntity<TestDataMainFormDTO> queryById(String id) {
+		return ResponseEntity.ok ( testDataMainFormService.findById ( id ) );
+	}
+
+	/**
+	 * 保存票务代理
+	 */
+	@ApiLog("保存票务代理")
+	@ApiOperation(value = "保存票务代理")
+	@PreAuthorize("hasAnyAuthority('test:onetomany:testDataMainForm:add','test:onetomany:testDataMainForm:edit')")
+	@PostMapping("save")
+	public  ResponseEntity <String> save(@Valid @RequestBody TestDataMainFormDTO testDataMainFormDTO) {
+		//新增或编辑表单保存
+		testDataMainFormService.saveOrUpdate (testDataMainFormDTO);
+        return ResponseEntity.ok ( "保存票务代理成功" );
+	}
+
+
+	/**
+	 * 删除票务代理
+	 */
+	@ApiLog("删除票务代理")
+	@ApiOperation(value = "删除票务代理")
+	@PreAuthorize("hasAuthority('test:onetomany:testDataMainForm:del')")
+	@DeleteMapping("delete")
+	public ResponseEntity <String> delete(String ids) {
+		String idArray[] = ids.split(",");
+		for(String id: idArray){
+			testDataMainFormService.removeById ( id );
+		}
+		return ResponseEntity.ok( "删除票务代理成功" );
+	}
+	
+	/**
+     * 导出票务代理数据
+     *
+     * @param testDataMainFormDTO
+     * @param page
+     * @param response
+     * @throws Exception
+     */
+    @ApiLog("导出票务代理数据")
+    @PreAuthorize("hasAnyAuthority('test:onetomany:testDataMainForm:export')")
+    @GetMapping("export")
+    public void exportFile(TestDataMainFormDTO testDataMainFormDTO, Page <TestDataMainFormDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        String fileName = options.getFilename ( );
+		QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (testDataMainFormDTO, TestDataMainFormDTO.class);
+        if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
+            
+        } else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
+            queryWrapper.in ( "a.id", options.getSelectIds () );
+        } else { // 导出全部数据
+            page.setSize ( -1 );
+            page.setCurrent ( 0 );
+        }
+        List<TestDataMainFormDTO> result = testDataMainFormService.findPage ( page, queryWrapper ).getRecords ( );
+        EasyExcelUtils.newInstance ( testDataMainFormService, testDataMainFormWrapper ).exportExcel ( result,  options.getSheetName ( ), TestDataMainFormDTO.class, fileName,options.getExportFields (), response );
+    }
+
+    /**
+     * 导入票务代理数据
+     *
+     * @return
+     */
+    @PreAuthorize("hasAnyAuthority('test:onetomany:testDataMainForm:import')")
+    @PostMapping("import")
+    public ResponseEntity importFile(MultipartFile file) throws IOException {
+        String result = EasyExcelUtils.newInstance ( testDataMainFormService, testDataMainFormWrapper ).importExcel ( file, TestDataMainFormDTO.class );
+        return ResponseEntity.ok ( result );
+    }
+
+    /**
+     * 下载导入票务代理数据模板
+     *
+     * @param response
+     * @return
+     */
+    @PreAuthorize ("hasAnyAuthority('test:onetomany:testDataMainForm:import')")
+    @GetMapping("import/template")
+    public void importFileTemplate(HttpServletResponse response) throws IOException {
+        String fileName = "票务代理数据导入模板.xlsx";
+        List<TestDataMainFormDTO> list = Lists.newArrayList();
+        EasyExcelUtils.newInstance ( testDataMainFormService, testDataMainFormWrapper ).exportExcel ( list,  "票务代理数据", TestDataMainFormDTO.class, fileName, null, response );
+    }	
+
+}

+ 59 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataChild21.java

@@ -0,0 +1,59 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.onetomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 火车票Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_data_child1")
+public class TestDataChild21 extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 出发地
+     */
+    @TableField("startarea")
+	private String startAreaId;
+	/**
+     * 目的地
+     */
+    @TableField("endarea")
+	private String endAreaId;
+	/**
+     * 出发时间
+     */
+	private Date starttime;
+	/**
+     * 到达时间
+     */
+	private Date endtime;
+	/**
+     * 代理价格
+     */
+	private Double price;
+	/**
+     * 业务主表ID
+     */
+	private String testDataMainId;
+	/**
+     * 文件
+     */
+	private String t1File;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 58 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataChild22.java

@@ -0,0 +1,58 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.onetomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 飞机票Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_data_child2")
+public class TestDataChild22 extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 出发地
+     */
+    @TableField("startarea")
+	private String startAreaId;
+	/**
+     * 目的地
+     */
+    @TableField("endarea")
+	private String endAreaId;
+	/**
+     * 出发时间
+     */
+    @TableField("starttime")
+	private Date startTime;
+	/**
+     * 到达时间
+     */
+    @TableField("endtime")
+	private Date endTime;
+	/**
+     * 代理价格
+     */
+	private Double price;
+	/**
+     * 外键
+     */
+    @TableField("test_data_main")
+	private String testDataMainId;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 58 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataChild23.java

@@ -0,0 +1,58 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.onetomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 汽车票Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_data_child3")
+public class TestDataChild23 extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 出发地
+     */
+    @TableField("startarea")
+	private String startAreaId;
+	/**
+     * 目的地
+     */
+    @TableField("endarea")
+	private String endAreaId;
+	/**
+     * 出发时间
+     */
+    @TableField("starttime")
+	private Date startTime;
+	/**
+     * 到达时间
+     */
+    @TableField("endtime")
+	private Date endTime;
+	/**
+     * 代理价格
+     */
+	private Double price;
+	/**
+     * 外键
+     */
+    @TableField("test_data_main")
+	private String testDataMainId;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

+ 59 - 0
jp-console/jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/onetomany/domain/TestDataMainForm.java

@@ -0,0 +1,59 @@
+/**
+ * Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.onetomany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * 票务代理Entity
+ * @author liugf
+ * @version 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("test_data_main")
+public class TestDataMainForm extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 用户
+     */
+    @TableField("user_id")
+	private String tuserId;
+	/**
+     * 所属部门
+     */
+	private String officeId;
+	/**
+     * 所属区域
+     */
+	private String areaId;
+	/**
+     * 名称
+     */
+	private String name;
+	/**
+     * 性别
+     */
+	private String sex;
+	/**
+     * 身份证照片
+     */
+    @TableField("t_file")
+	private String file;
+	/**
+     * 加入日期
+     */
+	private Date inDate;
+	/**
+     * 备注信息
+     */
+	private String remarks;
+
+}

部分文件因为文件数量过多而无法显示