BAI hai 1 semana
achega
8d9b556310
Modificáronse 100 ficheiros con 880 adicións e 0 borrados
  1. 1 0
      .github/FUNDING.yml
  2. 47 0
      .gitignore
  3. 3 0
      .vscode/settings.json
  4. BIN=BIN
      CheckColumnCase.class
  5. BIN=BIN
      CheckMissingColumns.class
  6. 67 0
      CheckMissingColumns.java
  7. BIN=BIN
      CleanTestData.class
  8. 35 0
      CleanTestData.java
  9. BIN=BIN
      CreateTable.class
  10. BIN=BIN
      FixCheckConstraint.class
  11. 49 0
      FixCheckConstraint.java
  12. BIN=BIN
      FixColumnCase.class
  13. BIN=BIN
      FixStatusCheck.class
  14. BIN=BIN
      FixStatusLength.class
  15. 20 0
      LICENSE
  16. 94 0
      README.md
  17. BIN=BIN
      VerifyFix.class
  18. BIN=BIN
      VerifyTable.class
  19. 12 0
      bin/clean.bat
  20. 12 0
      bin/package.bat
  21. 14 0
      bin/run.bat
  22. 82 0
      check_missing_columns.ps1
  23. BIN=BIN
      doc/若依环境使用手册.docx
  24. 70 0
      fix_check_constraint.ps1
  25. 64 0
      fix_check_constraint_simple.ps1
  26. 274 0
      pom.xml
  27. BIN=BIN
      ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.jar
  28. 1 0
      ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.jar.sha1
  29. 30 0
      ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.pom
  30. 1 0
      ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.pom.sha1
  31. BIN=BIN
      ruoyi-admin/lib/DmJdbcDriver18-8.1.2.192.jar
  32. BIN=BIN
      ruoyi-admin/lib/HikariCP-4.0.3.jar
  33. BIN=BIN
      ruoyi-admin/lib/SparseBitSet-1.2.jar
  34. 4 0
      ruoyi-admin/lib/_remote.repositories
  35. BIN=BIN
      ruoyi-admin/lib/antlr-2.7.7.jar
  36. BIN=BIN
      ruoyi-admin/lib/aspectjweaver-1.9.7.jar
  37. BIN=BIN
      ruoyi-admin/lib/byte-buddy-1.10.22.jar
  38. BIN=BIN
      ruoyi-admin/lib/caffeine-2.9.3.jar
  39. BIN=BIN
      ruoyi-admin/lib/checker-qual-3.19.0.jar
  40. BIN=BIN
      ruoyi-admin/lib/classgraph-4.8.83.jar
  41. BIN=BIN
      ruoyi-admin/lib/classmate-1.5.1.jar
  42. BIN=BIN
      ruoyi-admin/lib/commons-codec-1.15.jar
  43. BIN=BIN
      ruoyi-admin/lib/commons-collections4-4.5.0.jar
  44. BIN=BIN
      ruoyi-admin/lib/commons-compress-1.19.jar
  45. BIN=BIN
      ruoyi-admin/lib/commons-io-2.21.0.jar
  46. BIN=BIN
      ruoyi-admin/lib/commons-lang3-3.12.0.jar
  47. BIN=BIN
      ruoyi-admin/lib/commons-math3-3.6.1.jar
  48. BIN=BIN
      ruoyi-admin/lib/commons-pool2-2.9.0.jar
  49. BIN=BIN
      ruoyi-admin/lib/curvesapi-1.06.jar
  50. BIN=BIN
      ruoyi-admin/lib/dom4j-2.1.3.jar
  51. BIN=BIN
      ruoyi-admin/lib/druid-1.2.27.jar
  52. BIN=BIN
      ruoyi-admin/lib/druid-spring-boot-starter-1.2.27.jar
  53. BIN=BIN
      ruoyi-admin/lib/error_prone_annotations-2.10.0.jar
  54. BIN=BIN
      ruoyi-admin/lib/fastjson2-2.0.60.jar
  55. BIN=BIN
      ruoyi-admin/lib/filters-2.0.235-1.jar
  56. BIN=BIN
      ruoyi-admin/lib/hibernate-commons-annotations-5.1.2.Final.jar
  57. BIN=BIN
      ruoyi-admin/lib/hibernate-core-5.4.33.jar
  58. BIN=BIN
      ruoyi-admin/lib/hibernate-validator-6.2.5.Final.jar
  59. BIN=BIN
      ruoyi-admin/lib/istack-commons-runtime-3.0.12.jar
  60. BIN=BIN
      ruoyi-admin/lib/jackson-annotations-2.12.7.jar
  61. BIN=BIN
      ruoyi-admin/lib/jackson-core-2.12.7.jar
  62. BIN=BIN
      ruoyi-admin/lib/jackson-databind-2.12.7.1.jar
  63. BIN=BIN
      ruoyi-admin/lib/jackson-datatype-jdk8-2.12.7.jar
  64. BIN=BIN
      ruoyi-admin/lib/jackson-datatype-jsr310-2.12.7.jar
  65. BIN=BIN
      ruoyi-admin/lib/jackson-module-parameter-names-2.12.7.jar
  66. BIN=BIN
      ruoyi-admin/lib/jakarta.activation-1.2.2.jar
  67. BIN=BIN
      ruoyi-admin/lib/jakarta.annotation-api-1.3.5.jar
  68. BIN=BIN
      ruoyi-admin/lib/jakarta.persistence-api-2.2.3.jar
  69. BIN=BIN
      ruoyi-admin/lib/jakarta.transaction-api-1.3.3.jar
  70. BIN=BIN
      ruoyi-admin/lib/jakarta.validation-api-2.0.2.jar
  71. BIN=BIN
      ruoyi-admin/lib/jakarta.xml.bind-api-2.3.3.jar
  72. BIN=BIN
      ruoyi-admin/lib/jandex-2.2.3.Final.jar
  73. BIN=BIN
      ruoyi-admin/lib/javassist-3.27.0-GA.jar
  74. BIN=BIN
      ruoyi-admin/lib/javax.activation-api-1.2.0.jar
  75. BIN=BIN
      ruoyi-admin/lib/javax.servlet-api-4.0.1.jar
  76. BIN=BIN
      ruoyi-admin/lib/jaxb-api-2.3.1.jar
  77. BIN=BIN
      ruoyi-admin/lib/jaxb-runtime-2.3.8.jar
  78. BIN=BIN
      ruoyi-admin/lib/jboss-logging-3.4.3.Final.jar
  79. BIN=BIN
      ruoyi-admin/lib/jjwt-0.9.1.jar
  80. BIN=BIN
      ruoyi-admin/lib/jna-5.18.1.jar
  81. BIN=BIN
      ruoyi-admin/lib/jna-platform-5.18.1.jar
  82. BIN=BIN
      ruoyi-admin/lib/jsqlparser-4.5.jar
  83. BIN=BIN
      ruoyi-admin/lib/jsr305-3.0.2.jar
  84. BIN=BIN
      ruoyi-admin/lib/jul-to-slf4j-1.7.36.jar
  85. BIN=BIN
      ruoyi-admin/lib/kaptcha-2.3.3.jar
  86. BIN=BIN
      ruoyi-admin/lib/lettuce-core-6.1.10.RELEASE.jar
  87. BIN=BIN
      ruoyi-admin/lib/log4j-api-2.17.2.jar
  88. BIN=BIN
      ruoyi-admin/lib/log4j-to-slf4j-2.17.2.jar
  89. BIN=BIN
      ruoyi-admin/lib/logback-classic-1.2.13.jar
  90. BIN=BIN
      ruoyi-admin/lib/logback-core-1.2.13.jar
  91. BIN=BIN
      ruoyi-admin/lib/mapstruct-1.3.1.Final.jar
  92. BIN=BIN
      ruoyi-admin/lib/mchange-commons-java-0.2.15.jar
  93. BIN=BIN
      ruoyi-admin/lib/mybatis-3.5.13.jar
  94. BIN=BIN
      ruoyi-admin/lib/mybatis-spring-2.1.1.jar
  95. BIN=BIN
      ruoyi-admin/lib/mybatis-spring-boot-autoconfigure-2.3.1.jar
  96. BIN=BIN
      ruoyi-admin/lib/mybatis-spring-boot-starter-2.3.1.jar
  97. BIN=BIN
      ruoyi-admin/lib/mysql-connector-j-8.0.33.jar
  98. BIN=BIN
      ruoyi-admin/lib/netty-buffer-4.1.92.Final.jar
  99. BIN=BIN
      ruoyi-admin/lib/netty-codec-4.1.92.Final.jar
  100. BIN=BIN
      ruoyi-admin/lib/netty-common-4.1.92.Final.jar

+ 1 - 0
.github/FUNDING.yml

@@ -0,0 +1 @@
+custom: http://doc.ruoyi.vip/ruoyi-vue/other/donate.html

+ 47 - 0
.gitignore

@@ -0,0 +1,47 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
+{
+    "java.compile.nullAnalysis.mode": "automatic"
+}

BIN=BIN
CheckColumnCase.class


BIN=BIN
CheckMissingColumns.class


+ 67 - 0
CheckMissingColumns.java

@@ -0,0 +1,67 @@
+import java.sql.*;
+
+public class CheckMissingColumns {
+    public static void main(String[] args) {
+        try {
+            Class.forName("dm.jdbc.driver.DmDriver");
+            Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236", "WATERSHED", "WaterShed./1224");
+            Statement stmt = conn.createStatement();
+            DatabaseMetaData meta = conn.getMetaData();
+            
+            System.out.println("??WATERSHED_MODEL???...");
+            ResultSet columns = meta.getColumns(null, null, "WATERSHED_MODEL", null);
+            
+            // ??????
+            java.util.Set<String> existingColumns = new java.util.HashSet<>();
+            System.out.println("????");
+            while (columns.next()) {
+                String columnName = columns.getString("COLUMN_NAME");
+                existingColumns.add(columnName);
+                System.out.println("  - " + columnName);
+            }
+            
+            // ????
+            String[] requiredColumns = {
+                "MODEL_ID", "MODEL_NAME", "DESCRIPTION", "CATEGORY", 
+                "SUBCATEGORY", "MODEL_TYPE", "MODEL_FORMAT", "FILE_PATH", 
+                "FILE_SIZE", "UPLOAD_UNIT", "STATUS", "CREATE_TIME", "UPDATE_TIME"
+            };
+            
+            System.out.println("\n?????");
+            for (String col : requiredColumns) {
+                System.out.println("  - " + col + (existingColumns.contains(col) ? " ?" : " ? ??"));
+            }
+            
+            // ??????
+            System.out.println("\n??????...");
+            
+            // ?????DESCRIPTION?
+            if (!existingColumns.contains("DESCRIPTION")) {
+                System.out.println("??DESCRIPTION?...");
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD DESCRIPTION VARCHAR(500)");
+            }
+            
+            // ?????CATEGORY?
+            if (!existingColumns.contains("CATEGORY")) {
+                System.out.println("??CATEGORY?...");
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD CATEGORY VARCHAR(50)");
+            }
+            
+            // ?????SUBCATEGORY?
+            if (!existingColumns.contains("SUBCATEGORY")) {
+                System.out.println("??SUBCATEGORY?...");
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD SUBCATEGORY VARCHAR(50)");
+            }
+            
+            // ????
+            System.out.println("\n???????...");
+            ResultSet queryRs = stmt.executeQuery("select model_id, model_name, description, category, subcategory, model_type, model_format, file_path, file_size, upload_unit, status, create_time, update_time from WATERSHED_MODEL");
+            System.out.println("? ?????");
+            
+            stmt.close();
+            conn.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

BIN=BIN
CleanTestData.class


+ 35 - 0
CleanTestData.java

@@ -0,0 +1,35 @@
+import java.sql.*;
+
+public class CleanTestData {
+    public static void main(String[] args) {
+        try {
+            Class.forName("dm.jdbc.driver.DmDriver");
+            Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236?charset=utf8", "WATERSHED", "WaterShed./1224");
+            Statement stmt = conn.createStatement();
+            
+            // ???6??????????7??ID=11?
+            System.out.println("???6?????...");
+            stmt.executeUpdate("DELETE FROM WATERSHED_MODEL WHERE MODEL_ID <= 10");
+            
+            // ??????
+            ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM WATERSHED_MODEL");
+            if (rs.next()) {
+                System.out.println(" ??????????: " + rs.getInt(1));
+            }
+            
+            // ????????
+            System.out.println("\n??????:");
+            rs = stmt.executeQuery("SELECT * FROM WATERSHED_MODEL");
+            while (rs.next()) {
+                System.out.println("  - ID: " + rs.getLong("MODEL_ID") + 
+                                  ", NAME: " + rs.getString("MODEL_NAME") + 
+                                  ", TYPE: " + rs.getString("MODEL_TYPE"));
+            }
+            
+            stmt.close();
+            conn.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

BIN=BIN
CreateTable.class


BIN=BIN
FixCheckConstraint.class


+ 49 - 0
FixCheckConstraint.java

@@ -0,0 +1,49 @@
+import java.sql.*;
+
+public class FixCheckConstraint {
+    public static void main(String[] args) {
+        try {
+            Class.forName("dm.jdbc.driver.DmDriver");
+            Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236", "WATERSHED", "WaterShed./1224");
+            Statement stmt = conn.createStatement();
+            
+            // ??????????????
+            System.out.println("??CHECK??...");
+            try {
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL DROP CONSTRAINT watershed_model_check_1");
+                System.out.println("? CHECK?????????????");
+            } catch (Exception e) {
+                System.out.println("? ????????????????");
+                e.printStackTrace();
+            }
+            
+            // ?????????
+            System.out.println("\n?????????...");
+            PreparedStatement pstmt = conn.prepareStatement("INSERT INTO WATERSHED_MODEL (MODEL_NAME, MODEL_TYPE, MODEL_FORMAT, STATUS) VALUES (?, ?, ?, ?)");
+            pstmt.setString(1, "????");
+            pstmt.setString(2, "????");
+            pstmt.setString(3, "test");
+            pstmt.setString(4, "??"); // ?????
+            int rows = pstmt.executeUpdate();
+            System.out.println("? ?????'??'???????: " + rows);
+            
+            // ??????????
+            pstmt.setString(4, "???"); // ?????
+            rows = pstmt.executeUpdate();
+            System.out.println("? ?????'???'???????: " + rows);
+            
+            // ?????????
+            pstmt.setString(4, "NORMAL"); // ?????
+            rows = pstmt.executeUpdate();
+            System.out.println("? ???????'NORMAL'???????: " + rows);
+            
+            System.out.println("\n? ?????CHECK?????????????");
+            
+            stmt.close();
+            pstmt.close();
+            conn.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

BIN=BIN
FixColumnCase.class


BIN=BIN
FixStatusCheck.class


BIN=BIN
FixStatusLength.class


+ 20 - 0
LICENSE

@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 RuoYi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 94 - 0
README.md


BIN=BIN
VerifyFix.class


BIN=BIN
VerifyTable.class


+ 12 - 0
bin/clean.bat

@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [信息] 清理工程target生成路径。
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+call mvn clean
+
+pause

+ 12 - 0
bin/package.bat

@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [信息] 打包Web工程,生成war/jar包文件。
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+call mvn clean package -Dmaven.test.skip=true
+
+pause

+ 14 - 0
bin/run.bat

@@ -0,0 +1,14 @@
+@echo off
+echo.
+echo [信息] 使用Jar命令运行Web工程。
+echo.
+
+cd %~dp0
+cd ../ruoyi-admin/target
+
+set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
+
+java -jar %JAVA_OPTS% ruoyi-admin.jar
+
+cd bin
+pause

+ 82 - 0
check_missing_columns.ps1

@@ -0,0 +1,82 @@
+# 检查并添加缺少的列
+$classpath = "d:\VUEobject\ModelPlatform\ruoyi-admin\lib\DmJdbcDriver18-8.1.2.192.jar"
+
+# 创建检查脚本
+$javaCode = @'
+import java.sql.*;
+
+public class CheckMissingColumns {
+    public static void main(String[] args) {
+        try {
+            Class.forName("dm.jdbc.driver.DmDriver");
+            Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236", "WATERSHED", "WaterShed./1224");
+            Statement stmt = conn.createStatement();
+            DatabaseMetaData meta = conn.getMetaData();
+            
+            System.out.println("检查WATERSHED_MODEL表结构...");
+            ResultSet columns = meta.getColumns(null, null, "WATERSHED_MODEL", null);
+            
+            // 记录现有列名
+            java.util.Set<String> existingColumns = new java.util.HashSet<>();
+            System.out.println("现有列:");
+            while (columns.next()) {
+                String columnName = columns.getString("COLUMN_NAME");
+                existingColumns.add(columnName);
+                System.out.println("  - " + columnName);
+            }
+            
+            // 需要的列
+            String[] requiredColumns = {
+                "MODEL_ID", "MODEL_NAME", "DESCRIPTION", "CATEGORY", 
+                "SUBCATEGORY", "MODEL_TYPE", "MODEL_FORMAT", "FILE_PATH", 
+                "FILE_SIZE", "UPLOAD_UNIT", "STATUS", "CREATE_TIME", "UPDATE_TIME"
+            };
+            
+            System.out.println("\n需要的列:");
+            for (String col : requiredColumns) {
+                System.out.println("  - " + col + (existingColumns.contains(col) ? " ✓" : " ✗ 缺失"));
+            }
+            
+            // 添加缺失的列
+            System.out.println("\n添加缺失的列...");
+            
+            // 检查并添加DESCRIPTION列
+            if (!existingColumns.contains("DESCRIPTION")) {
+                System.out.println("添加DESCRIPTION列...");
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD DESCRIPTION VARCHAR(500)");
+            }
+            
+            // 检查并添加CATEGORY列
+            if (!existingColumns.contains("CATEGORY")) {
+                System.out.println("添加CATEGORY列...");
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD CATEGORY VARCHAR(50)");
+            }
+            
+            // 检查并添加SUBCATEGORY列
+            if (!existingColumns.contains("SUBCATEGORY")) {
+                System.out.println("添加SUBCATEGORY列...");
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD SUBCATEGORY VARCHAR(50)");
+            }
+            
+            // 测试查询
+            System.out.println("\n测试查询所有列...");
+            ResultSet queryRs = stmt.executeQuery("select model_id, model_name, description, category, subcategory, model_type, model_format, file_path, file_size, upload_unit, status, create_time, update_time from WATERSHED_MODEL");
+            System.out.println("✅ 查询成功!");
+            
+            stmt.close();
+            conn.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+'@
+
+# 保存Java代码到文件
+$javaCode | Out-File -FilePath "d:\VUEobject\ModelPlatform\CheckMissingColumns.java" -Encoding ascii
+
+# 编译Java代码
+javac -cp $classpath "d:\VUEobject\ModelPlatform\CheckMissingColumns.java"
+
+# 运行Java程序
+java -cp "$classpath;d:\VUEobject\ModelPlatform" CheckMissingColumns

BIN=BIN
doc/若依环境使用手册.docx


+ 70 - 0
fix_check_constraint.ps1

@@ -0,0 +1,70 @@
+# 修改或删除CHECK约束,解决违反约束的问题
+$classpath = "d:\VUEobject\ModelPlatform\ruoyi-admin\lib\DmJdbcDriver18-8.1.2.192.jar"
+
+# 创建修复脚本
+$javaCode = @'
+import java.sql.*;
+
+public class FixCheckConstraint {
+    public static void main(String[] args) {
+        try {
+            Class.forName("dm.jdbc.driver.DmDriver");
+            Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236", "WATERSHED", "WaterShed./1224");
+            Statement stmt = conn.createStatement();
+            
+            System.out.println("检查当前的CHECK约束...");
+            
+            // 查看当前约束
+            ResultSet constraints = conn.getMetaData().getTableConstraints(conn.getCatalog(), null, "WATERSHED_MODEL", "CHECK");
+            while (constraints.next()) {
+                String constraintName = constraints.getString("CONSTRAINT_NAME");
+                System.out.println("当前CHECK约束: " + constraintName);
+            }
+            
+            // 删除旧约束
+            System.out.println("\n删除旧约束...");
+            stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL DROP CONSTRAINT watershed_model_check_1");
+            
+            // 直接删除约束,不再添加新约束,让应用程序控制状态值
+            System.out.println("✅ CHECK约束已删除,不再限制状态值");
+            
+            // 测试插入任意状态值
+            System.out.println("\n测试插入任意状态值...");
+            PreparedStatement pstmt = conn.prepareStatement("INSERT INTO WATERSHED_MODEL (MODEL_NAME, MODEL_TYPE, MODEL_FORMAT, STATUS) VALUES (?, ?, ?, ?)");
+            pstmt.setString(1, "测试模型");
+            pstmt.setString(2, "测试类型");
+            pstmt.setString(3, "test");
+            pstmt.setString(4, "正常"); // 中文状态值
+            int rows = pstmt.executeUpdate();
+            System.out.println("✅ 插入状态值'正常'成功,影响行数: " + rows);
+            
+            // 测试插入另一个状态值
+            pstmt.setString(4, "维护中"); // 中文状态值
+            rows = pstmt.executeUpdate();
+            System.out.println("✅ 插入状态值'维护中'成功,影响行数: " + rows);
+            
+            // 测试插入英文状态值
+            pstmt.setString(4, "NORMAL"); // 英文状态值
+            rows = pstmt.executeUpdate();
+            System.out.println("✅ 插入英文状态值'NORMAL'成功,影响行数: " + rows);
+            
+            System.out.println("\n✅ 修复完成!CHECK约束已删除,不再限制状态值");
+            
+            stmt.close();
+            pstmt.close();
+            conn.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+'@
+
+# 保存Java代码到文件
+$javaCode | Out-File -FilePath "d:\VUEobject\ModelPlatform\FixCheckConstraint.java" -Encoding ascii
+
+# 编译Java代码
+javac -cp $classpath "d:\VUEobject\ModelPlatform\FixCheckConstraint.java"
+
+# 运行Java程序
+java -cp "$classpath;d:\VUEobject\ModelPlatform" FixCheckConstraint

+ 64 - 0
fix_check_constraint_simple.ps1

@@ -0,0 +1,64 @@
+# 直接删除CHECK约束,解决违反约束的问题
+$classpath = "d:\VUEobject\ModelPlatform\ruoyi-admin\lib\DmJdbcDriver18-8.1.2.192.jar"
+
+# 创建修复脚本
+$javaCode = @'
+import java.sql.*;
+
+public class FixCheckConstraint {
+    public static void main(String[] args) {
+        try {
+            Class.forName("dm.jdbc.driver.DmDriver");
+            Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236", "WATERSHED", "WaterShed./1224");
+            Statement stmt = conn.createStatement();
+            
+            // 直接删除约束,不检查是否存在
+            System.out.println("删除CHECK约束...");
+            try {
+                stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL DROP CONSTRAINT watershed_model_check_1");
+                System.out.println("✅ CHECK约束已删除,不再限制状态值");
+            } catch (Exception e) {
+                System.out.println("❌ 约束不存在或删除失败,跳过此步骤");
+                e.printStackTrace();
+            }
+            
+            // 测试插入任意状态值
+            System.out.println("\n测试插入任意状态值...");
+            PreparedStatement pstmt = conn.prepareStatement("INSERT INTO WATERSHED_MODEL (MODEL_NAME, MODEL_TYPE, MODEL_FORMAT, STATUS) VALUES (?, ?, ?, ?)");
+            pstmt.setString(1, "测试模型");
+            pstmt.setString(2, "测试类型");
+            pstmt.setString(3, "test");
+            pstmt.setString(4, "正常"); // 中文状态值
+            int rows = pstmt.executeUpdate();
+            System.out.println("✅ 插入状态值'正常'成功,影响行数: " + rows);
+            
+            // 测试插入另一个状态值
+            pstmt.setString(4, "维护中"); // 中文状态值
+            rows = pstmt.executeUpdate();
+            System.out.println("✅ 插入状态值'维护中'成功,影响行数: " + rows);
+            
+            // 测试插入英文状态值
+            pstmt.setString(4, "NORMAL"); // 英文状态值
+            rows = pstmt.executeUpdate();
+            System.out.println("✅ 插入英文状态值'NORMAL'成功,影响行数: " + rows);
+            
+            System.out.println("\n✅ 修复完成!CHECK约束已删除,不再限制状态值");
+            
+            stmt.close();
+            pstmt.close();
+            conn.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+'@
+
+# 保存Java代码到文件
+$javaCode | Out-File -FilePath "d:\VUEobject\ModelPlatform\FixCheckConstraint.java" -Encoding ascii
+
+# 编译Java代码
+javac -cp $classpath "d:\VUEobject\ModelPlatform\FixCheckConstraint.java"
+
+# 运行Java程序
+java -cp "$classpath;d:\VUEobject\ModelPlatform" FixCheckConstraint

+ 274 - 0
pom.xml

@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         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>
+	
+    <groupId>com.ruoyi</groupId>
+    <artifactId>ruoyi</artifactId>
+    <version>3.9.1</version>
+
+    <name>ruoyi</name>
+    <url>http://www.ruoyi.vip</url>
+    <description>若依管理系统</description>
+    
+    <properties>
+        <ruoyi.version>3.9.1</ruoyi.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
+        <spring-boot.version>2.5.15</spring-boot.version>
+        <druid.version>1.2.27</druid.version>
+        <yauaa.version>7.32.0</yauaa.version>
+        <swagger.version>3.0.0</swagger.version>
+        <kaptcha.version>2.3.3</kaptcha.version>
+        <pagehelper.boot.version>1.4.7</pagehelper.boot.version>
+        <fastjson.version>2.0.60</fastjson.version>
+        <oshi.version>6.9.1</oshi.version>
+        <commons.io.version>2.21.0</commons.io.version>
+        <poi.version>4.1.2</poi.version>
+        <velocity.version>2.3</velocity.version>
+        <jwt.version>0.9.1</jwt.version>
+        <!-- override dependency version -->
+        <tomcat.version>9.0.112</tomcat.version>
+        <logback.version>1.2.13</logback.version>
+        <spring-security.version>5.7.14</spring-security.version>
+        <spring-framework.version>5.3.39</spring-framework.version>
+    </properties>
+
+    <!-- 依赖声明 -->
+    <dependencyManagement>
+        <dependencies>
+
+            <!-- 覆盖SpringFramework的依赖配置-->
+            <dependency>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-framework-bom</artifactId>
+                <version>${spring-framework.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- 覆盖SpringSecurity的依赖配置-->
+            <dependency>
+                <groupId>org.springframework.security</groupId>
+                <artifactId>spring-security-bom</artifactId>
+                <version>${spring-security.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- SpringBoot的依赖配置-->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- 覆盖logback的依赖配置-->
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-core</artifactId>
+                <version>${logback.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-classic</artifactId>
+                <version>${logback.version}</version>
+            </dependency>
+
+            <!-- 覆盖tomcat的依赖配置-->
+            <dependency>
+                <groupId>org.apache.tomcat.embed</groupId>
+                <artifactId>tomcat-embed-core</artifactId>
+                <version>${tomcat.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.tomcat.embed</groupId>
+                <artifactId>tomcat-embed-el</artifactId>
+                <version>${tomcat.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.tomcat.embed</groupId>
+                <artifactId>tomcat-embed-websocket</artifactId>
+                <version>${tomcat.version}</version>
+            </dependency>
+
+            <!-- 阿里数据库连接池 -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>druid-spring-boot-starter</artifactId>
+                <version>${druid.version}</version>
+            </dependency>
+
+            <!-- 解析客户端操作系统、浏览器等 -->
+            <dependency>
+                <groupId>nl.basjes.parse.useragent</groupId>
+                <artifactId>yauaa</artifactId>
+                <version>${yauaa.version}</version>
+            </dependency>
+
+            <!-- pagehelper 分页插件 -->
+            <dependency>
+                <groupId>com.github.pagehelper</groupId>
+                <artifactId>pagehelper-spring-boot-starter</artifactId>
+                <version>${pagehelper.boot.version}</version>
+            </dependency>
+
+            <!-- 获取系统信息 -->
+            <dependency>
+                <groupId>com.github.oshi</groupId>
+                <artifactId>oshi-core</artifactId>
+                <version>${oshi.version}</version>
+            </dependency>
+
+            <!-- Swagger3依赖 -->
+            <dependency>
+                <groupId>io.springfox</groupId>
+                <artifactId>springfox-boot-starter</artifactId>
+                <version>${swagger.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>io.swagger</groupId>
+                        <artifactId>swagger-models</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+
+            <!-- io常用工具类 -->
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons.io.version}</version>
+            </dependency>
+
+            <!-- excel工具 -->
+            <dependency>
+                <groupId>org.apache.poi</groupId>
+                <artifactId>poi-ooxml</artifactId>
+                <version>${poi.version}</version>
+            </dependency>
+
+            <!-- velocity代码生成使用模板 -->
+            <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity-engine-core</artifactId>
+                <version>${velocity.version}</version>
+            </dependency>
+
+            <!-- 阿里JSON解析器 -->
+            <dependency>
+                <groupId>com.alibaba.fastjson2</groupId>
+                <artifactId>fastjson2</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+
+            <!-- Token生成与解析-->
+            <dependency>
+                <groupId>io.jsonwebtoken</groupId>
+                <artifactId>jjwt</artifactId>
+                <version>${jwt.version}</version>
+            </dependency>
+
+            <!-- 验证码 -->
+            <dependency>
+                <groupId>pro.fessional</groupId>
+                <artifactId>kaptcha</artifactId>
+                <version>${kaptcha.version}</version>
+            </dependency>
+
+            <!-- 定时任务-->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-quartz</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 代码生成-->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-generator</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 核心模块-->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-framework</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 系统模块-->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-system</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+            <!-- 通用工具-->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>ruoyi-common</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+    <modules>
+        <module>ruoyi-admin</module>
+        <module>ruoyi-framework</module>
+        <module>ruoyi-system</module>
+        <module>ruoyi-quartz</module>
+        <module>ruoyi-generator</module>
+        <module>ruoyi-common</module>
+    </modules>
+    <packaging>pom</packaging>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                    <encoding>${project.build.sourceEncoding}</encoding>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <repositories>
+        <repository>
+            <id>public</id>
+            <name>aliyun nexus</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>public</id>
+            <name>aliyun nexus</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
+</project>

BIN=BIN
ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.jar


+ 1 - 0
ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.jar.sha1

@@ -0,0 +1 @@
+32760a13ea439bbdb0e763bf350ae94978d9f0ab

+ 30 - 0
ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.pom

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>
+	<groupId>com.dameng</groupId>
+	<version>8.1.2.192</version>
+	<artifactId>DmDialect-for-hibernate5.3</artifactId>
+	<name>DmDialect-for-hibernate5.3</name>
+	<description>DmDialect-for-hibernate5.3</description>
+	<url>https://gitee.com/dmedu/dm-jdbc-jars</url>
+	<licenses>
+		<license>
+			<name>The Apache License, Version 2.0</name>
+			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+		</license>
+	</licenses>
+	
+	<developers>
+		<developer>
+			<name>dmtech</name>
+			<email>dmtech@dameng.com</email>
+			<organization>dameng</organization>
+			<organizationUrl>http://www.dameng.com</organizationUrl>
+		</developer>
+	</developers>  
+	
+	<scm>
+        <url>https://gitee.com/dmedu/dm-jdbc-jars.git</url>
+    </scm>
+	
+</project>

+ 1 - 0
ruoyi-admin/lib/DmDialect-for-hibernate5.3-8.1.2.192.pom.sha1

@@ -0,0 +1 @@
+5bcaf4fe6896599c68b52c154c72ce09de2f45b4

BIN=BIN
ruoyi-admin/lib/DmJdbcDriver18-8.1.2.192.jar


BIN=BIN
ruoyi-admin/lib/HikariCP-4.0.3.jar


BIN=BIN
ruoyi-admin/lib/SparseBitSet-1.2.jar


+ 4 - 0
ruoyi-admin/lib/_remote.repositories

@@ -0,0 +1,4 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Thu Dec 25 17:40:37 CST 2025
+DmDialect-for-hibernate5.3-8.1.2.192.pom>public=
+DmDialect-for-hibernate5.3-8.1.2.192.jar>public=

BIN=BIN
ruoyi-admin/lib/antlr-2.7.7.jar


BIN=BIN
ruoyi-admin/lib/aspectjweaver-1.9.7.jar


BIN=BIN
ruoyi-admin/lib/byte-buddy-1.10.22.jar


BIN=BIN
ruoyi-admin/lib/caffeine-2.9.3.jar


BIN=BIN
ruoyi-admin/lib/checker-qual-3.19.0.jar


BIN=BIN
ruoyi-admin/lib/classgraph-4.8.83.jar


BIN=BIN
ruoyi-admin/lib/classmate-1.5.1.jar


BIN=BIN
ruoyi-admin/lib/commons-codec-1.15.jar


BIN=BIN
ruoyi-admin/lib/commons-collections4-4.5.0.jar


BIN=BIN
ruoyi-admin/lib/commons-compress-1.19.jar


BIN=BIN
ruoyi-admin/lib/commons-io-2.21.0.jar


BIN=BIN
ruoyi-admin/lib/commons-lang3-3.12.0.jar


BIN=BIN
ruoyi-admin/lib/commons-math3-3.6.1.jar


BIN=BIN
ruoyi-admin/lib/commons-pool2-2.9.0.jar


BIN=BIN
ruoyi-admin/lib/curvesapi-1.06.jar


BIN=BIN
ruoyi-admin/lib/dom4j-2.1.3.jar


BIN=BIN
ruoyi-admin/lib/druid-1.2.27.jar


BIN=BIN
ruoyi-admin/lib/druid-spring-boot-starter-1.2.27.jar


BIN=BIN
ruoyi-admin/lib/error_prone_annotations-2.10.0.jar


BIN=BIN
ruoyi-admin/lib/fastjson2-2.0.60.jar


BIN=BIN
ruoyi-admin/lib/filters-2.0.235-1.jar


BIN=BIN
ruoyi-admin/lib/hibernate-commons-annotations-5.1.2.Final.jar


BIN=BIN
ruoyi-admin/lib/hibernate-core-5.4.33.jar


BIN=BIN
ruoyi-admin/lib/hibernate-validator-6.2.5.Final.jar


BIN=BIN
ruoyi-admin/lib/istack-commons-runtime-3.0.12.jar


BIN=BIN
ruoyi-admin/lib/jackson-annotations-2.12.7.jar


BIN=BIN
ruoyi-admin/lib/jackson-core-2.12.7.jar


BIN=BIN
ruoyi-admin/lib/jackson-databind-2.12.7.1.jar


BIN=BIN
ruoyi-admin/lib/jackson-datatype-jdk8-2.12.7.jar


BIN=BIN
ruoyi-admin/lib/jackson-datatype-jsr310-2.12.7.jar


BIN=BIN
ruoyi-admin/lib/jackson-module-parameter-names-2.12.7.jar


BIN=BIN
ruoyi-admin/lib/jakarta.activation-1.2.2.jar


BIN=BIN
ruoyi-admin/lib/jakarta.annotation-api-1.3.5.jar


BIN=BIN
ruoyi-admin/lib/jakarta.persistence-api-2.2.3.jar


BIN=BIN
ruoyi-admin/lib/jakarta.transaction-api-1.3.3.jar


BIN=BIN
ruoyi-admin/lib/jakarta.validation-api-2.0.2.jar


BIN=BIN
ruoyi-admin/lib/jakarta.xml.bind-api-2.3.3.jar


BIN=BIN
ruoyi-admin/lib/jandex-2.2.3.Final.jar


BIN=BIN
ruoyi-admin/lib/javassist-3.27.0-GA.jar


BIN=BIN
ruoyi-admin/lib/javax.activation-api-1.2.0.jar


BIN=BIN
ruoyi-admin/lib/javax.servlet-api-4.0.1.jar


BIN=BIN
ruoyi-admin/lib/jaxb-api-2.3.1.jar


BIN=BIN
ruoyi-admin/lib/jaxb-runtime-2.3.8.jar


BIN=BIN
ruoyi-admin/lib/jboss-logging-3.4.3.Final.jar


BIN=BIN
ruoyi-admin/lib/jjwt-0.9.1.jar


BIN=BIN
ruoyi-admin/lib/jna-5.18.1.jar


BIN=BIN
ruoyi-admin/lib/jna-platform-5.18.1.jar


BIN=BIN
ruoyi-admin/lib/jsqlparser-4.5.jar


BIN=BIN
ruoyi-admin/lib/jsr305-3.0.2.jar


BIN=BIN
ruoyi-admin/lib/jul-to-slf4j-1.7.36.jar


BIN=BIN
ruoyi-admin/lib/kaptcha-2.3.3.jar


BIN=BIN
ruoyi-admin/lib/lettuce-core-6.1.10.RELEASE.jar


BIN=BIN
ruoyi-admin/lib/log4j-api-2.17.2.jar


BIN=BIN
ruoyi-admin/lib/log4j-to-slf4j-2.17.2.jar


BIN=BIN
ruoyi-admin/lib/logback-classic-1.2.13.jar


BIN=BIN
ruoyi-admin/lib/logback-core-1.2.13.jar


BIN=BIN
ruoyi-admin/lib/mapstruct-1.3.1.Final.jar


BIN=BIN
ruoyi-admin/lib/mchange-commons-java-0.2.15.jar


BIN=BIN
ruoyi-admin/lib/mybatis-3.5.13.jar


BIN=BIN
ruoyi-admin/lib/mybatis-spring-2.1.1.jar


BIN=BIN
ruoyi-admin/lib/mybatis-spring-boot-autoconfigure-2.3.1.jar


BIN=BIN
ruoyi-admin/lib/mybatis-spring-boot-starter-2.3.1.jar


BIN=BIN
ruoyi-admin/lib/mysql-connector-j-8.0.33.jar


BIN=BIN
ruoyi-admin/lib/netty-buffer-4.1.92.Final.jar


BIN=BIN
ruoyi-admin/lib/netty-codec-4.1.92.Final.jar


BIN=BIN
ruoyi-admin/lib/netty-common-4.1.92.Final.jar


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio