From 090b2cd3fc101ba5597ed912066a3baac51d9aa5 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Sat, 6 Jul 2024 22:22:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=20test=20=E7=8B=AC=E7=AB=8B=E5=87=BA?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=8C=E6=96=B9=E4=BE=BF=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pom.xml | 5 +- modules/test/bin/deploy.bat | 22 + modules/test/bin/deploy.sh | 18 + modules/test/bin/package.bat | 22 + modules/test/bin/package.sh | 18 + {web-api => modules/test}/db/h2/test.sql | 0 {web-api => modules/test}/db/mssql/test.sql | 0 .../test}/db/mysql/create_user.sql | 0 {web-api => modules/test}/db/mysql/test.sql | 0 .../test}/db/oracle/create_user.sql | 0 {web-api => modules/test}/db/oracle/test.sql | 0 .../test}/db/postgresql/test.sql | 0 {web-api => modules/test}/db/test.erm | 0 {web-api => modules/test}/db/test.png | Bin modules/test/pom.xml | 45 + .../modules/test/dao/TestDataChildDao.java | 0 .../jeesite/modules/test/dao/TestDataDao.java | 0 .../jeesite/modules/test/dao/TestTreeDao.java | 0 .../jeesite/modules/test/db/InitTestData.java | 7 + .../jeesite/modules/test/entity/TestData.java | 15 +- .../modules/test/entity/TestDataChild.java | 13 +- .../jeesite/modules/test/entity/TestTree.java | 6 +- .../modules/test/service/TestDataService.java | 0 .../modules/test/service/TestTreeService.java | 0 .../modules/test/web/DemoController.java | 0 .../modules/test/web/TestDataController.java | 0 .../modules/test/web/TestTreeController.java | 0 .../src/main/resources/db/create/h2/test.sql | 0 .../main/resources/db/create/mssql/test.sql | 0 .../main/resources/db/create/mysql/test.sql | 0 .../main/resources/db/create/oracle/test.sql | 0 .../resources/db/create/postgresql/test.sql | 0 .../modules/test/TestDataChildDao.xml | 0 .../mappings/modules/test/TestDataDao.xml | 0 .../mappings/modules/test/TestTreeDao.xml | 0 .../modules/demo/demoDataGridEditGrid.html | 2 +- .../modules/demo/demoDataGridGroupGrid.html | 2 +- .../modules/demo/demoDataGridMultiGrid.html | 6 +- .../modules/demo/demoDataGridStateGrid.html | 4 +- .../views/modules/demo/demoFormEditForm.html | 0 .../views/modules/demo/demoFormLaydate.html | 0 .../modules/demo/demoFormLayoutForm.html | 2 +- .../views/modules/demo/demoFormTabPage.html | 0 .../views/modules/demo/demoFormTableForm.html | 6 +- .../views/modules/test/testDataForm.html | 0 .../views/modules/test/testDataForm2.html | 0 .../views/modules/test/testDataList.html | 4 +- .../views/modules/test/testTreeForm.html | 2 +- .../views/modules/test/testTreeList.html | 2 +- web-api/pom.xml | 9 +- .../jeesite/modules/test/entity/TestData.java | 226 -- .../modules/test/entity/TestDataChild.java | 236 -- .../jeesite/modules/test/entity/TestTree.java | 70 - .../modules/test/service/TestDataService.java | 172 - .../modules/test/web/TestDataController.java | 153 - web-fast/db/h2/test.sql | 132 - web-fast/db/mssql/test.sql | 75 - web-fast/db/mysql/create_user.sql | 13 - web-fast/db/mysql/test.sql | 76 - web-fast/db/oracle/create_user.sql | 15 - web-fast/db/oracle/test.sql | 132 - web-fast/db/postgresql/test.sql | 132 - web-fast/db/test.erm | 3590 ----------------- web-fast/db/test.png | Bin 212991 -> 0 bytes web-fast/pom.xml | 10 +- .../modules/test/dao/TestDataChildDao.java | 19 - .../jeesite/modules/test/dao/TestDataDao.java | 27 - .../jeesite/modules/test/dao/TestTreeDao.java | 19 - .../jeesite/modules/test/db/InitTestData.java | 182 - .../jeesite/modules/test/entity/TestData.java | 226 -- .../jeesite/modules/test/entity/TestTree.java | 70 - .../modules/test/service/TestDataService.java | 172 - .../modules/test/service/TestTreeService.java | 79 - .../modules/test/web/DemoController.java | 58 - .../modules/test/web/TestDataController.java | 153 - .../modules/test/web/TestTreeController.java | 224 - .../src/main/resources/db/create/h2/test.sql | 132 - .../main/resources/db/create/mssql/test.sql | 75 - .../main/resources/db/create/mysql/test.sql | 76 - .../main/resources/db/create/oracle/test.sql | 132 - .../resources/db/create/postgresql/test.sql | 132 - .../modules/test/TestDataChildDao.xml | 15 - .../mappings/modules/test/TestDataDao.xml | 28 - .../mappings/modules/test/TestTreeDao.xml | 15 - .../modules/demo/demoDataGridGroupGrid.html | 234 -- .../modules/demo/demoDataGridStateGrid.html | 149 - .../modules/demo/demoFormLayoutForm.html | 279 -- .../views/modules/test/testDataList.html | 244 -- web/db/h2/test.sql | 132 - web/db/mssql/test.sql | 75 - web/db/mysql/create_user.sql | 13 - web/db/mysql/test.sql | 76 - web/db/oracle/create_user.sql | 15 - web/db/oracle/test.sql | 132 - web/db/postgresql/test.sql | 132 - web/db/test.erm | 3590 ----------------- web/db/test.png | Bin 212991 -> 0 bytes web/pom.xml | 9 +- .../modules/test/dao/TestDataChildDao.java | 19 - .../jeesite/modules/test/dao/TestDataDao.java | 27 - .../jeesite/modules/test/dao/TestTreeDao.java | 19 - .../jeesite/modules/test/db/InitTestData.java | 182 - .../modules/test/entity/TestDataChild.java | 236 -- .../modules/test/service/TestTreeService.java | 79 - .../modules/test/web/DemoController.java | 58 - .../modules/test/web/TestTreeController.java | 224 - web/src/main/resources/db/create/h2/test.sql | 132 - .../main/resources/db/create/mssql/test.sql | 75 - .../main/resources/db/create/mysql/test.sql | 76 - .../main/resources/db/create/oracle/test.sql | 132 - .../resources/db/create/postgresql/test.sql | 132 - .../modules/test/TestDataChildDao.xml | 15 - .../mappings/modules/test/TestDataDao.xml | 28 - .../mappings/modules/test/TestTreeDao.xml | 15 - .../modules/demo/demoDataGridEditGrid.html | 264 -- .../modules/demo/demoDataGridMultiGrid.html | 115 - .../views/modules/demo/demoFormEditForm.html | 501 --- .../views/modules/demo/demoFormLaydate.html | 66 - .../views/modules/demo/demoFormTabPage.html | 72 - .../views/modules/demo/demoFormTableForm.html | 239 -- .../views/modules/test/testDataForm.html | 403 -- .../views/modules/test/testTreeForm.html | 131 - .../views/modules/test/testTreeList.html | 96 - 123 files changed, 193 insertions(+), 15299 deletions(-) create mode 100644 modules/test/bin/deploy.bat create mode 100644 modules/test/bin/deploy.sh create mode 100644 modules/test/bin/package.bat create mode 100644 modules/test/bin/package.sh rename {web-api => modules/test}/db/h2/test.sql (100%) rename {web-api => modules/test}/db/mssql/test.sql (100%) rename {web-api => modules/test}/db/mysql/create_user.sql (100%) rename {web-api => modules/test}/db/mysql/test.sql (100%) rename {web-api => modules/test}/db/oracle/create_user.sql (100%) rename {web-api => modules/test}/db/oracle/test.sql (100%) rename {web-api => modules/test}/db/postgresql/test.sql (100%) rename {web-api => modules/test}/db/test.erm (100%) rename {web-api => modules/test}/db/test.png (100%) create mode 100644 modules/test/pom.xml rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java (100%) rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java (100%) rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java (100%) rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/db/InitTestData.java (92%) rename {web => modules/test}/src/main/java/com/jeesite/modules/test/entity/TestData.java (99%) rename {web-fast => modules/test}/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java (99%) rename {web => modules/test}/src/main/java/com/jeesite/modules/test/entity/TestTree.java (100%) rename {web => modules/test}/src/main/java/com/jeesite/modules/test/service/TestDataService.java (100%) rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/service/TestTreeService.java (100%) rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/web/DemoController.java (100%) rename {web => modules/test}/src/main/java/com/jeesite/modules/test/web/TestDataController.java (100%) rename {web-api => modules/test}/src/main/java/com/jeesite/modules/test/web/TestTreeController.java (100%) rename {web-api => modules/test}/src/main/resources/db/create/h2/test.sql (100%) rename {web-api => modules/test}/src/main/resources/db/create/mssql/test.sql (100%) rename {web-api => modules/test}/src/main/resources/db/create/mysql/test.sql (100%) rename {web-api => modules/test}/src/main/resources/db/create/oracle/test.sql (100%) rename {web-api => modules/test}/src/main/resources/db/create/postgresql/test.sql (100%) rename {web-api => modules/test}/src/main/resources/mappings/modules/test/TestDataChildDao.xml (100%) rename {web-api => modules/test}/src/main/resources/mappings/modules/test/TestDataDao.xml (100%) rename {web-api => modules/test}/src/main/resources/mappings/modules/test/TestTreeDao.xml (100%) rename {web-fast => modules/test}/src/main/resources/views/modules/demo/demoDataGridEditGrid.html (99%) rename {web => modules/test}/src/main/resources/views/modules/demo/demoDataGridGroupGrid.html (99%) rename {web-fast => modules/test}/src/main/resources/views/modules/demo/demoDataGridMultiGrid.html (97%) rename {web => modules/test}/src/main/resources/views/modules/demo/demoDataGridStateGrid.html (98%) rename {web-fast => modules/test}/src/main/resources/views/modules/demo/demoFormEditForm.html (100%) rename {web-fast => modules/test}/src/main/resources/views/modules/demo/demoFormLaydate.html (100%) rename {web => modules/test}/src/main/resources/views/modules/demo/demoFormLayoutForm.html (99%) rename {web-fast => modules/test}/src/main/resources/views/modules/demo/demoFormTabPage.html (100%) rename {web-fast => modules/test}/src/main/resources/views/modules/demo/demoFormTableForm.html (98%) rename {web-fast => modules/test}/src/main/resources/views/modules/test/testDataForm.html (100%) rename {web => modules/test}/src/main/resources/views/modules/test/testDataForm2.html (100%) rename {web => modules/test}/src/main/resources/views/modules/test/testDataList.html (99%) rename {web-fast => modules/test}/src/main/resources/views/modules/test/testTreeForm.html (99%) rename {web-fast => modules/test}/src/main/resources/views/modules/test/testTreeList.html (97%) delete mode 100644 web-api/src/main/java/com/jeesite/modules/test/entity/TestData.java delete mode 100644 web-api/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java delete mode 100644 web-api/src/main/java/com/jeesite/modules/test/entity/TestTree.java delete mode 100644 web-api/src/main/java/com/jeesite/modules/test/service/TestDataService.java delete mode 100644 web-api/src/main/java/com/jeesite/modules/test/web/TestDataController.java delete mode 100644 web-fast/db/h2/test.sql delete mode 100644 web-fast/db/mssql/test.sql delete mode 100644 web-fast/db/mysql/create_user.sql delete mode 100644 web-fast/db/mysql/test.sql delete mode 100644 web-fast/db/oracle/create_user.sql delete mode 100644 web-fast/db/oracle/test.sql delete mode 100644 web-fast/db/postgresql/test.sql delete mode 100644 web-fast/db/test.erm delete mode 100644 web-fast/db/test.png delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/db/InitTestData.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/entity/TestData.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/entity/TestTree.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/service/TestDataService.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/service/TestTreeService.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/web/DemoController.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/web/TestDataController.java delete mode 100644 web-fast/src/main/java/com/jeesite/modules/test/web/TestTreeController.java delete mode 100644 web-fast/src/main/resources/db/create/h2/test.sql delete mode 100644 web-fast/src/main/resources/db/create/mssql/test.sql delete mode 100644 web-fast/src/main/resources/db/create/mysql/test.sql delete mode 100644 web-fast/src/main/resources/db/create/oracle/test.sql delete mode 100644 web-fast/src/main/resources/db/create/postgresql/test.sql delete mode 100644 web-fast/src/main/resources/mappings/modules/test/TestDataChildDao.xml delete mode 100644 web-fast/src/main/resources/mappings/modules/test/TestDataDao.xml delete mode 100644 web-fast/src/main/resources/mappings/modules/test/TestTreeDao.xml delete mode 100644 web-fast/src/main/resources/views/modules/demo/demoDataGridGroupGrid.html delete mode 100644 web-fast/src/main/resources/views/modules/demo/demoDataGridStateGrid.html delete mode 100644 web-fast/src/main/resources/views/modules/demo/demoFormLayoutForm.html delete mode 100644 web-fast/src/main/resources/views/modules/test/testDataList.html delete mode 100644 web/db/h2/test.sql delete mode 100644 web/db/mssql/test.sql delete mode 100644 web/db/mysql/create_user.sql delete mode 100644 web/db/mysql/test.sql delete mode 100644 web/db/oracle/create_user.sql delete mode 100644 web/db/oracle/test.sql delete mode 100644 web/db/postgresql/test.sql delete mode 100644 web/db/test.erm delete mode 100644 web/db/test.png delete mode 100644 web/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/db/InitTestData.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/web/DemoController.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java delete mode 100644 web/src/main/resources/db/create/h2/test.sql delete mode 100644 web/src/main/resources/db/create/mssql/test.sql delete mode 100644 web/src/main/resources/db/create/mysql/test.sql delete mode 100644 web/src/main/resources/db/create/oracle/test.sql delete mode 100644 web/src/main/resources/db/create/postgresql/test.sql delete mode 100644 web/src/main/resources/mappings/modules/test/TestDataChildDao.xml delete mode 100644 web/src/main/resources/mappings/modules/test/TestDataDao.xml delete mode 100644 web/src/main/resources/mappings/modules/test/TestTreeDao.xml delete mode 100644 web/src/main/resources/views/modules/demo/demoDataGridEditGrid.html delete mode 100644 web/src/main/resources/views/modules/demo/demoDataGridMultiGrid.html delete mode 100644 web/src/main/resources/views/modules/demo/demoFormEditForm.html delete mode 100644 web/src/main/resources/views/modules/demo/demoFormLaydate.html delete mode 100644 web/src/main/resources/views/modules/demo/demoFormTabPage.html delete mode 100644 web/src/main/resources/views/modules/demo/demoFormTableForm.html delete mode 100644 web/src/main/resources/views/modules/test/testDataForm.html delete mode 100644 web/src/main/resources/views/modules/test/testTreeForm.html delete mode 100644 web/src/main/resources/views/modules/test/testTreeList.html diff --git a/modules/pom.xml b/modules/pom.xml index ab631f6a..edeaea43 100644 --- a/modules/pom.xml +++ b/modules/pom.xml @@ -13,9 +13,10 @@ 2013-Now - core - cms + core app + cms + test diff --git a/modules/test/bin/deploy.bat b/modules/test/bin/deploy.bat new file mode 100644 index 00000000..f4258bf5 --- /dev/null +++ b/modules/test/bin/deploy.bat @@ -0,0 +1,22 @@ +@echo off +rem /** +rem * Copyright (c) 2013-Now http://jeesite.com All rights reserved. +rem * No deletion without permission, or be held responsible to law. +rem * +rem * Author: ThinkGem@163.com +rem */ +echo. +echo [信息] 部署工程到Maven服务器。 +echo. + +%~d0 +cd %~dp0 + +call mvn -v +echo. + +cd .. +call mvn clean deploy -Dmaven.test.skip=true -Pdeploy + +cd bin +pause \ No newline at end of file diff --git a/modules/test/bin/deploy.sh b/modules/test/bin/deploy.sh new file mode 100644 index 00000000..f8696c71 --- /dev/null +++ b/modules/test/bin/deploy.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# /** +# * Copyright (c) 2013-Now http://jeesite.com All rights reserved. +# * No deletion without permission, or be held responsible to law. +# * +# * Author: ThinkGem@163.com +# */ +echo "" +echo "[淇℃伅] 閮ㄧ讲宸ョ▼鍒癕aven鏈嶅姟鍣ㄣ" +echo "" + +mvn -v +echo "" + +cd .. +mvn clean deploy -Dmaven.test.skip=true -Pdeploy + +cd bin \ No newline at end of file diff --git a/modules/test/bin/package.bat b/modules/test/bin/package.bat new file mode 100644 index 00000000..a6b29c2c --- /dev/null +++ b/modules/test/bin/package.bat @@ -0,0 +1,22 @@ +@echo off +rem /** +rem * Copyright (c) 2013-Now http://jeesite.com All rights reserved. +rem * No deletion without permission, or be held responsible to law. +rem * +rem * Author: ThinkGem@163.com +rem */ +echo. +echo [信息] 打包安装工程,生成jar包文件。 +echo. + +%~d0 +cd %~dp0 + +call mvn -v +echo. + +cd .. +call mvn clean install -Dmaven.test.skip=true -Ppackage + +cd bin +pause \ No newline at end of file diff --git a/modules/test/bin/package.sh b/modules/test/bin/package.sh new file mode 100644 index 00000000..8deff508 --- /dev/null +++ b/modules/test/bin/package.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# /** +# * Copyright (c) 2013-Now http://jeesite.com All rights reserved. +# * No deletion without permission, or be held responsible to law. +# * +# * Author: ThinkGem@163.com +# */ +echo "" +echo "[淇℃伅] 鎵撳寘瀹夎宸ョ▼锛岀敓鎴恓ar鍖呮枃浠躲" +echo "" + +mvn -v +echo "" + +cd .. +mvn clean install -Dmaven.test.skip=true -Ppackage + +cd bin \ No newline at end of file diff --git a/web-api/db/h2/test.sql b/modules/test/db/h2/test.sql similarity index 100% rename from web-api/db/h2/test.sql rename to modules/test/db/h2/test.sql diff --git a/web-api/db/mssql/test.sql b/modules/test/db/mssql/test.sql similarity index 100% rename from web-api/db/mssql/test.sql rename to modules/test/db/mssql/test.sql diff --git a/web-api/db/mysql/create_user.sql b/modules/test/db/mysql/create_user.sql similarity index 100% rename from web-api/db/mysql/create_user.sql rename to modules/test/db/mysql/create_user.sql diff --git a/web-api/db/mysql/test.sql b/modules/test/db/mysql/test.sql similarity index 100% rename from web-api/db/mysql/test.sql rename to modules/test/db/mysql/test.sql diff --git a/web-api/db/oracle/create_user.sql b/modules/test/db/oracle/create_user.sql similarity index 100% rename from web-api/db/oracle/create_user.sql rename to modules/test/db/oracle/create_user.sql diff --git a/web-api/db/oracle/test.sql b/modules/test/db/oracle/test.sql similarity index 100% rename from web-api/db/oracle/test.sql rename to modules/test/db/oracle/test.sql diff --git a/web-api/db/postgresql/test.sql b/modules/test/db/postgresql/test.sql similarity index 100% rename from web-api/db/postgresql/test.sql rename to modules/test/db/postgresql/test.sql diff --git a/web-api/db/test.erm b/modules/test/db/test.erm similarity index 100% rename from web-api/db/test.erm rename to modules/test/db/test.erm diff --git a/web-api/db/test.png b/modules/test/db/test.png similarity index 100% rename from web-api/db/test.png rename to modules/test/db/test.png diff --git a/modules/test/pom.xml b/modules/test/pom.xml new file mode 100644 index 00000000..cf492d4e --- /dev/null +++ b/modules/test/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + + com.jeesite + jeesite-parent + 5.8.0-SNAPSHOT + ../../parent/pom.xml + + + jeesite-module-test + jar + + JeeSite Module Test + http://jeesite.com + 2013-Now + + + + + com.jeesite + jeesite-module-core + ${project.parent.version} + + + + + + + thinkgem + WangZhen + thinkgem at 163.com + Project lead + +8 + + + + + JeeSite + http://jeesite.com + + + \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java b/modules/test/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java similarity index 100% rename from web-api/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java rename to modules/test/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java diff --git a/web-api/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java b/modules/test/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java similarity index 100% rename from web-api/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java rename to modules/test/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java diff --git a/web-api/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java b/modules/test/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java similarity index 100% rename from web-api/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java rename to modules/test/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java diff --git a/web-api/src/main/java/com/jeesite/modules/test/db/InitTestData.java b/modules/test/src/main/java/com/jeesite/modules/test/db/InitTestData.java similarity index 92% rename from web-api/src/main/java/com/jeesite/modules/test/db/InitTestData.java rename to modules/test/src/main/java/com/jeesite/modules/test/db/InitTestData.java index 376844b7..ba6e408f 100644 --- a/web-api/src/main/java/com/jeesite/modules/test/db/InitTestData.java +++ b/modules/test/src/main/java/com/jeesite/modules/test/db/InitTestData.java @@ -4,6 +4,7 @@ */ package com.jeesite.modules.test.db; +import com.jeesite.common.datasource.DataSourceHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; @@ -57,6 +58,7 @@ public class InitTestData extends BaseInitDataTests { GenTable genTable = new GenTable(); genTable.setIsNewRecord(true); genTable.setTableName("test_data"); + genTable.setDataSourceName(dataSourceName); genTable = genTableService.getFromDb(genTable); genTable.setIsNewRecord(true); genTable.setClassName("TestData"); @@ -72,11 +74,13 @@ public class InitTestData extends BaseInitDataTests { genTable.getOptionMap().put("isFileUpload", Global.YES); genTable.getOptionMap().put("isImageUpload", Global.YES); initGenTableColumn(genTable); + DataSourceHolder.setDataSourceName(dataSourceName); genTableService.save(genTable); // 瀛愯〃 GenTable genTableChild = new GenTable(); genTableChild.setIsNewRecord(true); genTableChild.setTableName("test_data_child"); + genTableChild.setDataSourceName(dataSourceName); genTableChild = genTableService.getFromDb(genTableChild); genTableChild.setIsNewRecord(true); genTableChild.setClassName("TestDataChild"); @@ -90,6 +94,7 @@ public class InitTestData extends BaseInitDataTests { genTableChild.setParentTableName("test_data"); genTableChild.setParentTableFkName("test_data_id"); initGenTableColumn(genTableChild); + DataSourceHolder.setDataSourceName(dataSourceName); genTableService.save(genTableChild); } @@ -159,6 +164,7 @@ public class InitTestData extends BaseInitDataTests { GenTable genTable = new GenTable(); genTable.setIsNewRecord(true); genTable.setTableName("test_tree"); + genTable.setDataSourceName(dataSourceName); genTable = genTableService.getFromDb(genTable); genTable.setIsNewRecord(true); genTable.setClassName("TestTree"); @@ -176,6 +182,7 @@ public class InitTestData extends BaseInitDataTests { genTable.getOptionMap().put("treeViewCode", "tree_code"); genTable.getOptionMap().put("treeViewName", "tree_name"); initGenTableColumn(genTable); + DataSourceHolder.setDataSourceName(dataSourceName); genTableService.save(genTable); } diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestData.java b/modules/test/src/main/java/com/jeesite/modules/test/entity/TestData.java similarity index 99% rename from web/src/main/java/com/jeesite/modules/test/entity/TestData.java rename to modules/test/src/main/java/com/jeesite/modules/test/entity/TestData.java index dbd07330..1eeb13da 100644 --- a/web/src/main/java/com/jeesite/modules/test/entity/TestData.java +++ b/modules/test/src/main/java/com/jeesite/modules/test/entity/TestData.java @@ -4,20 +4,21 @@ */ package com.jeesite.modules.test.entity; -import javax.validation.constraints.Size; import java.util.Date; -import com.jeesite.common.mybatis.annotation.JoinTable; -import com.jeesite.common.mybatis.annotation.JoinTable.Type; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.jeesite.modules.sys.entity.User; -import com.jeesite.modules.sys.entity.Office; import java.util.List; -import com.jeesite.common.collect.ListUtils; +import javax.validation.constraints.Size; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jeesite.common.collect.ListUtils; import com.jeesite.common.entity.DataEntity; import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; import com.jeesite.common.mybatis.annotation.Table; import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.modules.sys.entity.Office; +import com.jeesite.modules.sys.entity.User; /** * 娴嬭瘯鏁版嵁Entity diff --git a/web-fast/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java b/modules/test/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java similarity index 99% rename from web-fast/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java rename to modules/test/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java index 4a83a789..8efbc9b6 100644 --- a/web-fast/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java +++ b/modules/test/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java @@ -4,18 +4,19 @@ */ package com.jeesite.modules.test.entity; -import javax.validation.constraints.Size; import java.util.Date; -import com.jeesite.common.mybatis.annotation.JoinTable; -import com.jeesite.common.mybatis.annotation.JoinTable.Type; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.jeesite.modules.sys.entity.User; -import com.jeesite.modules.sys.entity.Office; +import javax.validation.constraints.Size; + +import com.fasterxml.jackson.annotation.JsonFormat; import com.jeesite.common.entity.DataEntity; import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; import com.jeesite.common.mybatis.annotation.Table; import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.modules.sys.entity.Office; +import com.jeesite.modules.sys.entity.User; /** * 娴嬭瘯鏁版嵁Entity diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestTree.java b/modules/test/src/main/java/com/jeesite/modules/test/entity/TestTree.java similarity index 100% rename from web/src/main/java/com/jeesite/modules/test/entity/TestTree.java rename to modules/test/src/main/java/com/jeesite/modules/test/entity/TestTree.java index 4486ba5f..e368399f 100644 --- a/web/src/main/java/com/jeesite/modules/test/entity/TestTree.java +++ b/modules/test/src/main/java/com/jeesite/modules/test/entity/TestTree.java @@ -4,15 +4,15 @@ */ package com.jeesite.modules.test.entity; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; - import com.jeesite.common.entity.DataEntity; import com.jeesite.common.entity.TreeEntity; import com.jeesite.common.mybatis.annotation.Column; import com.jeesite.common.mybatis.annotation.Table; import com.jeesite.common.mybatis.mapper.query.QueryType; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + /** * 娴嬭瘯鏍戣〃Entity * @author ThinkGem diff --git a/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java b/modules/test/src/main/java/com/jeesite/modules/test/service/TestDataService.java similarity index 100% rename from web/src/main/java/com/jeesite/modules/test/service/TestDataService.java rename to modules/test/src/main/java/com/jeesite/modules/test/service/TestDataService.java diff --git a/web-api/src/main/java/com/jeesite/modules/test/service/TestTreeService.java b/modules/test/src/main/java/com/jeesite/modules/test/service/TestTreeService.java similarity index 100% rename from web-api/src/main/java/com/jeesite/modules/test/service/TestTreeService.java rename to modules/test/src/main/java/com/jeesite/modules/test/service/TestTreeService.java diff --git a/web-api/src/main/java/com/jeesite/modules/test/web/DemoController.java b/modules/test/src/main/java/com/jeesite/modules/test/web/DemoController.java similarity index 100% rename from web-api/src/main/java/com/jeesite/modules/test/web/DemoController.java rename to modules/test/src/main/java/com/jeesite/modules/test/web/DemoController.java diff --git a/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java b/modules/test/src/main/java/com/jeesite/modules/test/web/TestDataController.java similarity index 100% rename from web/src/main/java/com/jeesite/modules/test/web/TestDataController.java rename to modules/test/src/main/java/com/jeesite/modules/test/web/TestDataController.java diff --git a/web-api/src/main/java/com/jeesite/modules/test/web/TestTreeController.java b/modules/test/src/main/java/com/jeesite/modules/test/web/TestTreeController.java similarity index 100% rename from web-api/src/main/java/com/jeesite/modules/test/web/TestTreeController.java rename to modules/test/src/main/java/com/jeesite/modules/test/web/TestTreeController.java diff --git a/web-api/src/main/resources/db/create/h2/test.sql b/modules/test/src/main/resources/db/create/h2/test.sql similarity index 100% rename from web-api/src/main/resources/db/create/h2/test.sql rename to modules/test/src/main/resources/db/create/h2/test.sql diff --git a/web-api/src/main/resources/db/create/mssql/test.sql b/modules/test/src/main/resources/db/create/mssql/test.sql similarity index 100% rename from web-api/src/main/resources/db/create/mssql/test.sql rename to modules/test/src/main/resources/db/create/mssql/test.sql diff --git a/web-api/src/main/resources/db/create/mysql/test.sql b/modules/test/src/main/resources/db/create/mysql/test.sql similarity index 100% rename from web-api/src/main/resources/db/create/mysql/test.sql rename to modules/test/src/main/resources/db/create/mysql/test.sql diff --git a/web-api/src/main/resources/db/create/oracle/test.sql b/modules/test/src/main/resources/db/create/oracle/test.sql similarity index 100% rename from web-api/src/main/resources/db/create/oracle/test.sql rename to modules/test/src/main/resources/db/create/oracle/test.sql diff --git a/web-api/src/main/resources/db/create/postgresql/test.sql b/modules/test/src/main/resources/db/create/postgresql/test.sql similarity index 100% rename from web-api/src/main/resources/db/create/postgresql/test.sql rename to modules/test/src/main/resources/db/create/postgresql/test.sql diff --git a/web-api/src/main/resources/mappings/modules/test/TestDataChildDao.xml b/modules/test/src/main/resources/mappings/modules/test/TestDataChildDao.xml similarity index 100% rename from web-api/src/main/resources/mappings/modules/test/TestDataChildDao.xml rename to modules/test/src/main/resources/mappings/modules/test/TestDataChildDao.xml diff --git a/web-api/src/main/resources/mappings/modules/test/TestDataDao.xml b/modules/test/src/main/resources/mappings/modules/test/TestDataDao.xml similarity index 100% rename from web-api/src/main/resources/mappings/modules/test/TestDataDao.xml rename to modules/test/src/main/resources/mappings/modules/test/TestDataDao.xml diff --git a/web-api/src/main/resources/mappings/modules/test/TestTreeDao.xml b/modules/test/src/main/resources/mappings/modules/test/TestTreeDao.xml similarity index 100% rename from web-api/src/main/resources/mappings/modules/test/TestTreeDao.xml rename to modules/test/src/main/resources/mappings/modules/test/TestTreeDao.xml diff --git a/web-fast/src/main/resources/views/modules/demo/demoDataGridEditGrid.html b/modules/test/src/main/resources/views/modules/demo/demoDataGridEditGrid.html similarity index 99% rename from web-fast/src/main/resources/views/modules/demo/demoDataGridEditGrid.html rename to modules/test/src/main/resources/views/modules/demo/demoDataGridEditGrid.html index 360dabec..bfa2d1df 100644 --- a/web-fast/src/main/resources/views/modules/demo/demoDataGridEditGrid.html +++ b/modules/test/src/main/resources/views/modules/demo/demoDataGridEditGrid.html @@ -122,7 +122,7 @@ \ No newline at end of file diff --git a/web-fast/src/main/resources/views/modules/demo/demoDataGridStateGrid.html b/web-fast/src/main/resources/views/modules/demo/demoDataGridStateGrid.html deleted file mode 100644 index 6b4e6efb..00000000 --- a/web-fast/src/main/resources/views/modules/demo/demoDataGridStateGrid.html +++ /dev/null @@ -1,149 +0,0 @@ -<% layout('/layouts/default.html', {title: '缁熻琛ㄦ牱渚', libs: ['dataGrid']}){ %> - -
-
-
-
- ${text('缁熻琛ㄦ牱渚')} -
- -
-
- <#form:form id="searchForm" class="form-inline hide" > -
- -
- <#form:input path="dateStart" readonly="true" maxlength="20" class="form-control laydate width-datetime" - dataFormat="date" /> -  --  - <#form:input path="dateEnd" readonly="true" maxlength="20" class="form-control laydate width-datetime" - dataFormat="date" /> -
-
-
- -
- <#form:treeselect id="areaId" title="鍖哄煙閫夋嫨" - path="areaId" canSelectParent="true" canSelectRoot="true" - url="${ctx}/sys/area/treeData?parentCode=0" allowClear="true"/> -
-
-
- - -
- -
-
-
-
-<% } %> - \ No newline at end of file diff --git a/web-fast/src/main/resources/views/modules/demo/demoFormLayoutForm.html b/web-fast/src/main/resources/views/modules/demo/demoFormLayoutForm.html deleted file mode 100644 index 4c269a1f..00000000 --- a/web-fast/src/main/resources/views/modules/demo/demoFormLayoutForm.html +++ /dev/null @@ -1,279 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏁版嵁绠$悊', libs: ['validate','fileupload','ueditor','dataGrid']}){ %> -
-
-
-
- ${testData.isNewRecord ? '鏂板鏁版嵁' : '缂栬緫鏁版嵁'} -
-
- -
-
- <#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal"> -
-
涓鍒
- <#form:hidden path="id"/> -
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:textarea path="testTextarea" rows="4" maxlength="200" class="form-control"/> -
-
-
-
-
涓ゅ垪
-
-
-
- -
- <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control" /> -
-
-
-
-
- -
- <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control" /> -
-
-
-
-
-
-
- -
- <#form:radio path="testRadio" dictType="sys_menu_type" class="form-control" /> -
-
-
-
-
- -
- <#form:checkbox path="testCheckbox" dictType="sys_menu_type" class="form-control" /> -
-
-
-
-
涓夊垪
-
-
-
- -
- <#form:input path="testDate" readonly="true" maxlength="20" class="form-control laydate " - dataFormat="date" data-type="date" data-format="yyyy-MM-dd"/> -
-
-
-
-
- -
- <#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control laydate " - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/> -
-
-
-
-
- -
- <#form:treeselect id="testUser" title="鐢ㄦ埛閫夋嫨" - path="testUser.userCode" labelPath="testUser.userName" - url="${ctx}/sys/office/treeData?isLoadUser=true" - class="" allowClear="true"/> -
-
-
-
-
-
-
- -
- <#form:treeselect id="testOffice" title="鏈烘瀯閫夋嫨" - path="testOffice.officeCode" labelPath="testOffice.officeName" - url="${ctx}/sys/office/treeData" - class="" allowClear="true"/> -
-
-
-
-
- -
- <#form:treeselect id="testAreaCode" title="鍖哄煙閫夋嫨" - path="testAreaCode" labelPath="testAreaName" - url="${ctx}/sys/area/treeData" - class="" allowClear="true"/> -
-
-
-
-
- -
- <#form:input path="remarks" class="form-control"/> -
-
-
-
-
-
-
- - -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
鍥涘垪
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
- - -
-
-<% } %> - \ No newline at end of file diff --git a/web-fast/src/main/resources/views/modules/test/testDataList.html b/web-fast/src/main/resources/views/modules/test/testDataList.html deleted file mode 100644 index 50dee2bb..00000000 --- a/web-fast/src/main/resources/views/modules/test/testDataList.html +++ /dev/null @@ -1,244 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏁版嵁绠$悊', libs: ['dataGrid']}){ %> -
-
-
-
- ${text('鏁版嵁绠$悊')} -
-
- ${text('鏌ヨ')} - <% if(hasPermi('test:testData:edit')){ %> - ${text('鏂板')} - <% } %> - 浜嬪姟娴嬭瘯 - -
-
-
- <#form:form id="searchForm" model="${testData}" action="${ctx}/test/testData/listData" method="post" class="form-inline " - data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}"> -
- -
- <#form:input path="testInput" maxlength="200" class="form-control width-120"/> -
-
-
- -
- <#form:input path="testTextarea" maxlength="200" class="form-control width-120"/> -
-
-
- -
- <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:input path="testDate_gte" readonly="true" maxlength="20" class="form-control laydate width-date" - dataFormat="date" data-type="date" data-format="yyyy-MM-dd" data-done="testDate_lte.click()"/> -  -  - <#form:input path="testDate_lte" readonly="true" maxlength="20" class="form-control laydate width-date" - dataFormat="date" data-type="date" data-format="yyyy-MM-dd"/> -
-
-
- - - -
-
-
- -
- <#form:input path="testDatetime_gte" readonly="true" maxlength="20" class="form-control laydate width-datetime" - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm" data-done="testDatetime_lte.click()"/> -  -  - <#form:input path="testDatetime_lte" readonly="true" maxlength="20" class="form-control laydate width-datetime" - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/> -
-
-
- -
- <#form:treeselect id="testUser" title="${text('鐢ㄦ埛閫夋嫨')}" - path="testUser.userCode" labelPath="testUser.userName" - url="${ctx}/sys/office/treeData?isLoadUser=true" allowClear="true"/> -
-
-
- -
- <#form:treeselect id="testOffice" title="${text('鏈烘瀯閫夋嫨')}" - path="testOffice.officeCode" labelPath="testOffice.officeName" - url="${ctx}/sys/office/treeData" allowClear="true"/> -
-
-
- -
- <#form:treeselect id="testAreaCode" title="${text('鍖哄煙閫夋嫨')}" - path="testAreaCode" labelPath="testAreaName" - url="${ctx}/sys/area/treeData" allowClear="true"/> -
-
-
- -
- <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control isQuick"/> -
-
-
- -
- <#form:radio path="testRadio" dictType="sys_menu_type" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:checkbox path="testCheckbox" dictType="sys_menu_type" blankOption="true" class="form-control"/> -
-
-
- -
-
-
-
-
-<% } %> - \ No newline at end of file diff --git a/web/db/h2/test.sql b/web/db/h2/test.sql deleted file mode 100644 index 11cf00cd..00000000 --- a/web/db/h2/test.sql +++ /dev/null @@ -1,132 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar(64) NOT NULL, - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date datetime, - test_datetime datetime, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date datetime NOT NULL, - update_by varchar(64) NOT NULL, - update_date datetime NOT NULL, - remarks varchar(500), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar(64) NOT NULL, - test_sort int, - test_data_id varchar(64), - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date datetime, - test_datetime datetime, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar(64) NOT NULL, - parent_code varchar(64) NOT NULL, - parent_codes varchar(767) NOT NULL, - tree_sort decimal(10) NOT NULL, - tree_sorts varchar(767) NOT NULL, - tree_leaf char(1) NOT NULL, - tree_level decimal(4) NOT NULL, - tree_names varchar(767) NOT NULL, - tree_name varchar(200) NOT NULL, - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date datetime NOT NULL, - update_by varchar(64) NOT NULL, - update_date datetime NOT NULL, - remarks varchar(500), - PRIMARY KEY (tree_code) -); - - - -/* Comments */ - -COMMENT ON TABLE test_data IS '娴嬭瘯鏁版嵁'; -COMMENT ON COLUMN test_data.id IS '缂栧彿'; -COMMENT ON COLUMN test_data.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON COLUMN test_data.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_data.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_data.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_data.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_data.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_data.remarks IS '澶囨敞淇℃伅'; -COMMENT ON TABLE test_data_child IS '娴嬭瘯鏁版嵁瀛愯〃'; -COMMENT ON COLUMN test_data_child.id IS '缂栧彿'; -COMMENT ON COLUMN test_data_child.test_sort IS '鎺掑簭鍙'; -COMMENT ON COLUMN test_data_child.test_data_id IS '鐖惰〃涓婚敭'; -COMMENT ON COLUMN test_data_child.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data_child.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data_child.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data_child.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data_child.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data_child.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON TABLE test_tree IS '娴嬭瘯鏍戣〃'; -COMMENT ON COLUMN test_tree.tree_code IS '鑺傜偣缂栫爜'; -COMMENT ON COLUMN test_tree.parent_code IS '鐖剁骇缂栧彿'; -COMMENT ON COLUMN test_tree.parent_codes IS '鎵鏈夌埗绾х紪鍙'; -COMMENT ON COLUMN test_tree.tree_sort IS '鎺掑簭鍙凤紙鍗囧簭锛'; -COMMENT ON COLUMN test_tree.tree_sorts IS '鎵鏈夋帓搴忓彿'; -COMMENT ON COLUMN test_tree.tree_leaf IS '鏄惁鏈鏈骇'; -COMMENT ON COLUMN test_tree.tree_level IS '灞傛绾у埆'; -COMMENT ON COLUMN test_tree.tree_names IS '鍏ㄨ妭鐐瑰悕'; -COMMENT ON COLUMN test_tree.tree_name IS '鑺傜偣鍚嶇О'; -COMMENT ON COLUMN test_tree.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_tree.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_tree.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_tree.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_tree.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_tree.remarks IS '澶囨敞淇℃伅'; - - - diff --git a/web/db/mssql/test.sql b/web/db/mssql/test.sql deleted file mode 100644 index 4ae8a769..00000000 --- a/web/db/mssql/test.sql +++ /dev/null @@ -1,75 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE [test_data] -( - [id] varchar(64) NOT NULL, - [test_input] varchar(200), - [test_textarea] nvarchar(200), - [test_select] varchar(10), - [test_select_multiple] varchar(200), - [test_radio] varchar(10), - [test_checkbox] varchar(200), - [test_date] datetime, - [test_datetime] datetime, - [test_user_code] varchar(64), - [test_office_code] varchar(64), - [test_area_code] varchar(64), - [test_area_name] nvarchar(100), - [status] char(1) DEFAULT '0' NOT NULL, - [create_by] varchar(64) NOT NULL, - [create_date] datetime NOT NULL, - [update_by] varchar(64) NOT NULL, - [update_date] datetime NOT NULL, - [remarks] nvarchar(500), - PRIMARY KEY ([id]) -); - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE [test_data_child] -( - [id] varchar(64) NOT NULL, - [test_sort] int, - [test_data_id] varchar(64), - [test_input] varchar(200), - [test_textarea] nvarchar(200), - [test_select] varchar(10), - [test_select_multiple] varchar(200), - [test_radio] varchar(10), - [test_checkbox] varchar(200), - [test_date] datetime, - [test_datetime] datetime, - [test_user_code] varchar(64), - [test_office_code] varchar(64), - [test_area_code] varchar(64), - [test_area_name] nvarchar(100), - PRIMARY KEY ([id]) -); - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE [test_tree] -( - [tree_code] varchar(64) NOT NULL, - [parent_code] varchar(64) NOT NULL, - [parent_codes] varchar(767) NOT NULL, - [tree_sort] decimal(10) NOT NULL, - [tree_sorts] varchar(767) NOT NULL, - [tree_leaf] char(1) NOT NULL, - [tree_level] decimal(4) NOT NULL, - [tree_names] varchar(767) NOT NULL, - [tree_name] nvarchar(200) NOT NULL, - [status] char(1) DEFAULT '0' NOT NULL, - [create_by] varchar(64) NOT NULL, - [create_date] datetime NOT NULL, - [update_by] varchar(64) NOT NULL, - [update_date] datetime NOT NULL, - [remarks] nvarchar(500), - PRIMARY KEY ([tree_code]) -); - - - diff --git a/web/db/mysql/create_user.sql b/web/db/mysql/create_user.sql deleted file mode 100644 index 7876ee92..00000000 --- a/web/db/mysql/create_user.sql +++ /dev/null @@ -1,13 +0,0 @@ - --- 鎵撳紑 my.ini 缁 [mysqld] 澧炲姞濡備笅閰嶇疆锛 --- sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION - -set global read_only=0; - -create user 'jeesite'@'%' identified by 'jeesite'; - -create database jeesite DEFAULT CHARSET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'; - -grant all privileges on jeesite.* to 'jeesite'@'%' identified by 'jeesite'; - -flush privileges; diff --git a/web/db/mysql/test.sql b/web/db/mysql/test.sql deleted file mode 100644 index 06c78075..00000000 --- a/web/db/mysql/test.sql +++ /dev/null @@ -1,76 +0,0 @@ -SET SESSION FOREIGN_KEY_CHECKS=0; - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar(64) NOT NULL COMMENT '缂栧彿', - test_input varchar(200) COMMENT '鍗曡鏂囨湰', - test_textarea varchar(200) COMMENT '澶氳鏂囨湰', - test_select varchar(10) COMMENT '涓嬫媺妗', - test_select_multiple varchar(200) COMMENT '涓嬫媺澶氶', - test_radio varchar(10) COMMENT '鍗曢夋', - test_checkbox varchar(200) COMMENT '澶嶉夋', - test_date datetime COMMENT '鏃ユ湡閫夋嫨', - test_datetime datetime COMMENT '鏃ユ湡鏃堕棿', - test_user_code varchar(64) COMMENT '鐢ㄦ埛閫夋嫨', - test_office_code varchar(64) COMMENT '鏈烘瀯閫夋嫨', - test_area_code varchar(64) COMMENT '鍖哄煙閫夋嫨', - test_area_name varchar(100) COMMENT '鍖哄煙鍚嶇О', - status char(1) DEFAULT '0' NOT NULL COMMENT '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛', - create_by varchar(64) NOT NULL COMMENT '鍒涘缓鑰', - create_date datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', - update_by varchar(64) NOT NULL COMMENT '鏇存柊鑰', - update_date datetime NOT NULL COMMENT '鏇存柊鏃堕棿', - remarks varchar(500) COMMENT '澶囨敞淇℃伅', - PRIMARY KEY (id) -) COMMENT = '娴嬭瘯鏁版嵁'; - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar(64) NOT NULL COMMENT '缂栧彿', - test_sort int COMMENT '鎺掑簭鍙', - test_data_id varchar(64) COMMENT '鐖惰〃涓婚敭', - test_input varchar(200) COMMENT '鍗曡鏂囨湰', - test_textarea varchar(200) COMMENT '澶氳鏂囨湰', - test_select varchar(10) COMMENT '涓嬫媺妗', - test_select_multiple varchar(200) COMMENT '涓嬫媺澶氶', - test_radio varchar(10) COMMENT '鍗曢夋', - test_checkbox varchar(200) COMMENT '澶嶉夋', - test_date datetime COMMENT '鏃ユ湡閫夋嫨', - test_datetime datetime COMMENT '鏃ユ湡鏃堕棿', - test_user_code varchar(64) COMMENT '鐢ㄦ埛閫夋嫨', - test_office_code varchar(64) COMMENT '鏈烘瀯閫夋嫨', - test_area_code varchar(64) COMMENT '鍖哄煙閫夋嫨', - test_area_name varchar(100) COMMENT '鍖哄煙鍚嶇О', - PRIMARY KEY (id) -) COMMENT = '娴嬭瘯鏁版嵁瀛愯〃'; - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar(64) NOT NULL COMMENT '鑺傜偣缂栫爜', - parent_code varchar(64) NOT NULL COMMENT '鐖剁骇缂栧彿', - parent_codes varchar(767) NOT NULL COMMENT '鎵鏈夌埗绾х紪鍙', - tree_sort decimal(10) NOT NULL COMMENT '鎺掑簭鍙凤紙鍗囧簭锛', - tree_sorts varchar(767) NOT NULL COMMENT '鎵鏈夋帓搴忓彿', - tree_leaf char(1) NOT NULL COMMENT '鏄惁鏈鏈骇', - tree_level decimal(4) NOT NULL COMMENT '灞傛绾у埆', - tree_names varchar(767) NOT NULL COMMENT '鍏ㄨ妭鐐瑰悕', - tree_name varchar(200) NOT NULL COMMENT '鑺傜偣鍚嶇О', - status char(1) DEFAULT '0' NOT NULL COMMENT '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛', - create_by varchar(64) NOT NULL COMMENT '鍒涘缓鑰', - create_date datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', - update_by varchar(64) NOT NULL COMMENT '鏇存柊鑰', - update_date datetime NOT NULL COMMENT '鏇存柊鏃堕棿', - remarks varchar(500) COMMENT '澶囨敞淇℃伅', - PRIMARY KEY (tree_code) -) COMMENT = '娴嬭瘯鏍戣〃'; - - - diff --git a/web/db/oracle/create_user.sql b/web/db/oracle/create_user.sql deleted file mode 100644 index 7ccd2411..00000000 --- a/web/db/oracle/create_user.sql +++ /dev/null @@ -1,15 +0,0 @@ - -create user jeesite - identified by jeesite - quota unlimited on users; - -grant connect,resource,create session,select any table, - create any view,create any table,create any index, - drop any table,drop any view,drop any index - to jeesite; - --- 鎻愮ず oracle.jdbc.xa.OracleXAResource.recover 閿欒闇瑕佹巿鏉冿細 -grant select on sys.dba_pending_transactions to jeesite; -grant select on sys.pending_trans$ to jeesite; -grant select on sys.dba_2pc_pending to jeesite; -grant execute on sys.dbms_system to jeesite; diff --git a/web/db/oracle/test.sql b/web/db/oracle/test.sql deleted file mode 100644 index 4308d8d3..00000000 --- a/web/db/oracle/test.sql +++ /dev/null @@ -1,132 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar2(64) NOT NULL, - test_input varchar2(200), - test_textarea nvarchar2(200), - test_select varchar2(10), - test_select_multiple varchar2(200), - test_radio varchar2(10), - test_checkbox varchar2(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar2(64), - test_office_code varchar2(64), - test_area_code varchar2(64), - test_area_name nvarchar2(100), - status char(1) DEFAULT '0' NOT NULL, - create_by varchar2(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar2(64) NOT NULL, - update_date timestamp NOT NULL, - remarks nvarchar2(500), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar2(64) NOT NULL, - test_sort number(10,0), - test_data_id varchar2(64), - test_input varchar2(200), - test_textarea nvarchar2(200), - test_select varchar2(10), - test_select_multiple varchar2(200), - test_radio varchar2(10), - test_checkbox varchar2(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar2(64), - test_office_code varchar2(64), - test_area_code varchar2(64), - test_area_name nvarchar2(100), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar2(64) NOT NULL, - parent_code varchar2(64) NOT NULL, - parent_codes varchar2(767) NOT NULL, - tree_sort number(10) NOT NULL, - tree_sorts varchar2(767) NOT NULL, - tree_leaf char(1) NOT NULL, - tree_level number(4) NOT NULL, - tree_names varchar2(767) NOT NULL, - tree_name nvarchar2(200) NOT NULL, - status char(1) DEFAULT '0' NOT NULL, - create_by varchar2(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar2(64) NOT NULL, - update_date timestamp NOT NULL, - remarks nvarchar2(500), - PRIMARY KEY (tree_code) -); - - - -/* Comments */ - -COMMENT ON TABLE test_data IS '娴嬭瘯鏁版嵁'; -COMMENT ON COLUMN test_data.id IS '缂栧彿'; -COMMENT ON COLUMN test_data.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON COLUMN test_data.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_data.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_data.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_data.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_data.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_data.remarks IS '澶囨敞淇℃伅'; -COMMENT ON TABLE test_data_child IS '娴嬭瘯鏁版嵁瀛愯〃'; -COMMENT ON COLUMN test_data_child.id IS '缂栧彿'; -COMMENT ON COLUMN test_data_child.test_sort IS '鎺掑簭鍙'; -COMMENT ON COLUMN test_data_child.test_data_id IS '鐖惰〃涓婚敭'; -COMMENT ON COLUMN test_data_child.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data_child.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data_child.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data_child.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data_child.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data_child.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON TABLE test_tree IS '娴嬭瘯鏍戣〃'; -COMMENT ON COLUMN test_tree.tree_code IS '鑺傜偣缂栫爜'; -COMMENT ON COLUMN test_tree.parent_code IS '鐖剁骇缂栧彿'; -COMMENT ON COLUMN test_tree.parent_codes IS '鎵鏈夌埗绾х紪鍙'; -COMMENT ON COLUMN test_tree.tree_sort IS '鎺掑簭鍙凤紙鍗囧簭锛'; -COMMENT ON COLUMN test_tree.tree_sorts IS '鎵鏈夋帓搴忓彿'; -COMMENT ON COLUMN test_tree.tree_leaf IS '鏄惁鏈鏈骇'; -COMMENT ON COLUMN test_tree.tree_level IS '灞傛绾у埆'; -COMMENT ON COLUMN test_tree.tree_names IS '鍏ㄨ妭鐐瑰悕'; -COMMENT ON COLUMN test_tree.tree_name IS '鑺傜偣鍚嶇О'; -COMMENT ON COLUMN test_tree.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_tree.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_tree.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_tree.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_tree.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_tree.remarks IS '澶囨敞淇℃伅'; - - - diff --git a/web/db/postgresql/test.sql b/web/db/postgresql/test.sql deleted file mode 100644 index 54758d68..00000000 --- a/web/db/postgresql/test.sql +++ /dev/null @@ -1,132 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar(64) NOT NULL, - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar(64) NOT NULL, - update_date timestamp NOT NULL, - remarks varchar(500), - PRIMARY KEY (id) -) WITHOUT OIDS; - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar(64) NOT NULL, - test_sort int, - test_data_id varchar(64), - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - PRIMARY KEY (id) -) WITHOUT OIDS; - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar(64) NOT NULL, - parent_code varchar(64) NOT NULL, - parent_codes varchar(767) NOT NULL, - tree_sort decimal(10) NOT NULL, - tree_sorts varchar(767) NOT NULL, - tree_leaf char(1) NOT NULL, - tree_level decimal(4) NOT NULL, - tree_names varchar(767) NOT NULL, - tree_name varchar(200) NOT NULL, - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar(64) NOT NULL, - update_date timestamp NOT NULL, - remarks varchar(500), - PRIMARY KEY (tree_code) -) WITHOUT OIDS; - - - -/* Comments */ - -COMMENT ON TABLE test_data IS '娴嬭瘯鏁版嵁'; -COMMENT ON COLUMN test_data.id IS '缂栧彿'; -COMMENT ON COLUMN test_data.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON COLUMN test_data.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_data.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_data.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_data.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_data.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_data.remarks IS '澶囨敞淇℃伅'; -COMMENT ON TABLE test_data_child IS '娴嬭瘯鏁版嵁瀛愯〃'; -COMMENT ON COLUMN test_data_child.id IS '缂栧彿'; -COMMENT ON COLUMN test_data_child.test_sort IS '鎺掑簭鍙'; -COMMENT ON COLUMN test_data_child.test_data_id IS '鐖惰〃涓婚敭'; -COMMENT ON COLUMN test_data_child.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data_child.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data_child.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data_child.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data_child.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data_child.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON TABLE test_tree IS '娴嬭瘯鏍戣〃'; -COMMENT ON COLUMN test_tree.tree_code IS '鑺傜偣缂栫爜'; -COMMENT ON COLUMN test_tree.parent_code IS '鐖剁骇缂栧彿'; -COMMENT ON COLUMN test_tree.parent_codes IS '鎵鏈夌埗绾х紪鍙'; -COMMENT ON COLUMN test_tree.tree_sort IS '鎺掑簭鍙凤紙鍗囧簭锛'; -COMMENT ON COLUMN test_tree.tree_sorts IS '鎵鏈夋帓搴忓彿'; -COMMENT ON COLUMN test_tree.tree_leaf IS '鏄惁鏈鏈骇'; -COMMENT ON COLUMN test_tree.tree_level IS '灞傛绾у埆'; -COMMENT ON COLUMN test_tree.tree_names IS '鍏ㄨ妭鐐瑰悕'; -COMMENT ON COLUMN test_tree.tree_name IS '鑺傜偣鍚嶇О'; -COMMENT ON COLUMN test_tree.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_tree.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_tree.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_tree.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_tree.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_tree.remarks IS '澶囨敞淇℃伅'; - - - diff --git a/web/db/test.erm b/web/db/test.erm deleted file mode 100644 index 9354e409..00000000 --- a/web/db/test.erm +++ /dev/null @@ -1,3590 +0,0 @@ - - - - true - 100 - A4 210 x 297 mm - 30 - 30 - 30 - 30 - - 0 - 1.0 - 0 - 0 - - 128 - 128 - 192 - - - 255 - 255 - 255 - - Arial - 14 - - StandardSQL - false - - - 0 - true - 2 - 1 - 1 - false - true - false - false - - - db/test.sql - UTF-8 - CR+LF - false - 7be191506f9daa8070b3ac14921dffd44063d2bb - null - - true - false - true - false - true - false - false - false - false - false - false - false - false - false - false - true - false - true - false - false - - - - - null - db/test.xls - - - en - - true - true - true - - - - true - true - true - - - db/test.png - - true - true - - - - - - - false - - - - - 0 - - - - false - false - - - - - false - - - - - - -1 - -1 - Arial - 14 - 50 - 50 - - 255 - 255 - 255 - - - - false - 2016-12-25 17:25:00 - - Project Name - - - - Model Name - - - - Version - - - - Company - - - - Author - - - - - - - - - 7be191506f9daa8070b3ac14921dffd44063d2bb - Default - - - - - - c71533e4d2f429ff8466fd6a8de5719f1741377b - 64 - null - false - null - false - false - false - - false - 绉熸埛浠g爜 - 绉熸埛浠g爜 - corp_code - varchar(n) - - - 11c59294fe142d108ca4dac5a03033f50188a450 - 100 - null - false - null - false - false - false - - false - 绉熸埛鍚嶇О - 绉熸埛鍚嶇О - corp_name - nvarchar(n) - - - f60ca81cf3f5c08c518d0266d2b8fd1b219a9802 - 64 - null - false - null - false - false - false - - false - - 鍒涘缓鑰 - create_by - varchar(n) - - - 170410257b4d8e712b8c1d499b415de82ce9683c - null - null - false - null - false - false - false - - false - - 鍒涘缓鏃堕棿 - create_date - datetime - - - 038ea74a700b763fa1f8fcdbd2c27e7941f82f7a - null - null - false - null - false - false - false - - false - - 鎵╁睍 Date 1 - extend_d1 - datetime - - - 19aa2e40abff2bb4e908f18f5f5e5b30a074cd8b - null - null - false - null - false - false - false - - false - - 鎵╁睍 Date 2 - extend_d2 - datetime - - - 06f59428b50e62e636a58a2f3cbcee2c75764506 - null - null - false - null - false - false - false - - false - - 鎵╁睍 Date 3 - extend_d3 - datetime - - - 8f08aeb4b9ceb072f0232d3d23fd5371ef8f379c - null - null - false - null - false - false - false - - false - - 鎵╁睍 Date 4 - extend_d4 - datetime - - - 0733a829c52af8af725ace50d4ed3e0179969f56 - 19 - 4 - false - null - false - false - false - - false - - 鎵╁睍 Float 1 - extend_f1 - decimal(p,s) - - - 0b7230df29d6df213507c8855d019d2d55c9a561 - 19 - 4 - false - null - false - false - false - - false - - 鎵╁睍 Float 2 - extend_f2 - decimal(p,s) - - - 6cb3dad83f3e1f358155892dcee3167ef55bacc7 - 19 - 4 - false - null - false - false - false - - false - - 鎵╁睍 Float 3 - extend_f3 - decimal(p,s) - - - e54b261fc7ab81e0ef19a89e657453664abe5593 - 19 - 4 - false - null - false - false - false - - false - - 鎵╁睍 Float 4 - extend_f4 - decimal(p,s) - - - b67071354a8d43cabe9a0ac29303f8b144a15985 - 19 - null - false - null - false - false - false - - false - - 鎵╁睍 Integer 1 - extend_i1 - decimal(p) - - - 70b8240f049f658b97394b7d4784481fdb477f5c - 19 - null - false - null - false - false - false - - false - - 鎵╁睍 Integer 2 - extend_i2 - decimal(p) - - - ce377c081415847061b2efc58b701ff847dcaaca - 19 - null - false - null - false - false - false - - false - - 鎵╁睍 Integer 3 - extend_i3 - decimal(p) - - - fb96f6dc60d31576c278a3c64024154eda67d3fe - 19 - null - false - null - false - false - false - - false - - 鎵╁睍 Integer 4 - extend_i4 - decimal(p) - - - 3962f4b130a803841a193a163e42679946b5ae1f - 1000 - null - false - null - false - false - false - - false - - 鎵╁睍 JSON - extend_json - varchar(n) - - - b1acb2df17677e0ed818dea6e1150bfc088fcd50 - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 1 - extend_s1 - nvarchar(n) - - - d27290b84b207a7c87f4d78d80e62048c67fac04 - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 2 - extend_s2 - nvarchar(n) - - - 5e25d7f0e327d2d760a04b32140b639bb96bfd8d - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 3 - extend_s3 - nvarchar(n) - - - d05572af90653d4ddfd880402a15ed9b27c81888 - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 4 - extend_s4 - nvarchar(n) - - - acc372d31709a1133f6c13fc8abfef7881ca26ed - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 5 - extend_s5 - nvarchar(n) - - - 59763a16504e4136a7a2fbed38476272d337105c - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 6 - extend_s6 - nvarchar(n) - - - 600b96b04bf4f65919eabfc6613d3c5e370931e1 - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 7 - extend_s7 - nvarchar(n) - - - a9dc80e5c484dc7b9d5fff9294eaa383819edc26 - 500 - null - false - null - false - false - false - - false - - 鎵╁睍 String 8 - extend_s8 - nvarchar(n) - - - e3325b6b7dc29b87da73eedcfff2a9c4cd245579 - 64 - null - false - null - false - false - false - - false - - 缂栧彿 - id - varchar(n) - - - e4465172e2cc64907a386237cc7d0c7d79a074dc - 64 - null - false - null - false - false - false - - false - - 鐖剁骇缂栧彿 - parent_code - varchar(n) - - - b4f9837136b0a84afc9a611a563fb51141fdac1f - 767 - null - false - null - false - false - false - - false - - 鎵鏈夌埗绾х紪鍙 - parent_codes - varchar(n) - - - 1a77879eeba6dd8a2ca8de0ca0cbd6db5ddeb7af - 500 - null - false - null - false - false - false - - false - - 澶囨敞淇℃伅 - remarks - nvarchar(n) - - - a5d0a391d0d09acab89c829d271b0a96a7058ca0 - 1 - null - false - null - false - false - false - - false - - 鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤 3鍐荤粨 4瀹℃牳 5椹冲洖 9鑽夌ǹ锛 - status - character(n) - - - 70d065a29d01e3875167a20441e0ebbfaf5a05f8 - 1 - null - false - null - false - false - false - - false - - 鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛 - status - character(n) - - - 5f188d6afcf9d1afbbe94ac6d92f800caef67cbe - 64 - null - false - null - false - false - false - - false - - 鍖哄煙閫夋嫨 - test_area_code - varchar(n) - - - 6adbc087f6a7805c1d979bee36098c497d399378 - 100 - null - false - null - false - false - false - - false - - 鍖哄煙鍚嶇О - test_area_name - nvarchar(n) - - - 5cab10f2b339972b1f10cb150baf883a8adffdbb - 200 - null - false - null - false - false - false - - false - - 澶嶉夋 - test_checkbox - varchar(n) - - - 80c7c6394e75c6f7acbf75bae587afdc02d3990b - 64 - null - false - null - false - false - false - - false - - 鐖惰〃涓婚敭 - test_data_id - varchar(n) - - - 7b4cc71483ef98673d4cc313eb99314e27722e28 - null - null - false - null - false - false - false - - false - - 鏃ユ湡閫夋嫨 - test_date - datetime - - - bc2e5b104e72723c9c6710c9a3a02804111b6846 - null - null - false - null - false - false - false - - false - - 鏃ユ湡鏃堕棿 - test_datetime - datetime - - - 89d26a106a3b0895ebfe6ccf9b5930ef4b1612c1 - 200 - null - false - null - false - false - false - - false - - 鍗曡鏂囨湰 - test_input - varchar(n) - - - efa0f7e9084cf3b09f7e31101ec496a44aadaaa4 - 64 - null - false - null - false - false - false - - false - - 鏈烘瀯閫夋嫨 - test_office_code - varchar(n) - - - 7b62803aab5f5a3c3f9ff63f7d5122a9ef3a41bb - 10 - null - false - null - false - false - false - - false - - 鍗曢夋 - test_radio - varchar(n) - - - 3a0f10db94ed1cb6e8cb088ca0275b664d4fca4c - 10 - null - false - null - false - false - false - - false - - 涓嬫媺妗 - test_select - varchar(n) - - - cb6ff93372480fd7d11e66a1e9c9fa028149e99c - 200 - null - false - null - false - false - false - - false - - 涓嬫媺澶氶 - test_select_multiple - varchar(n) - - - f1929c4074c74e32b7e4ac70c95476add194c0a0 - null - null - false - null - false - false - false - - false - - 鎺掑簭鍙 - test_sort - integer - - - c22eb21bd16761440f79d8782099fa4b0e9115cb - 200 - null - false - null - false - false - false - - false - - 澶氳鏂囨湰 - test_textarea - nvarchar(n) - - - 54338e0229264fd01ec1efff7c49b30d966df58e - 64 - null - false - null - false - false - false - - false - - 鐢ㄦ埛閫夋嫨 - test_user_code - varchar(n) - - - abe7e075aa224d4322d021e5659d170e0a927621 - 64 - null - false - null - false - false - false - - false - - 鑺傜偣缂栫爜 - tree_code - varchar(n) - - - 8fb086ad8b2a35cdf18c1a1e247005cdb140faf0 - 1 - null - false - null - false - false - false - - false - - 鏄惁鏈鏈骇 - tree_leaf - character(n) - - - f22022df4ccf9c7081b4d8f98deed04c1d8c987c - 4 - null - false - null - false - false - false - - false - - 灞傛绾у埆 - tree_level - decimal(p) - - - b023ebdb5c45aa960edd4a77dbe90dcdcc346664 - 200 - null - false - null - false - false - false - - false - - 鑺傜偣鍚嶇О - tree_name - nvarchar(n) - - - 44f852382fba107fe668304530dea0233f38a321 - 767 - null - false - null - false - false - false - - false - - 鍏ㄨ妭鐐瑰悕 - tree_names - varchar(n) - - - 65265fefa00907a60e8fe2ebd6d2ad58760415e5 - 10 - null - false - null - false - false - false - - false - - 鎺掑簭鍙凤紙鍗囧簭锛 - tree_sort - decimal(p) - - - cf5f1e3cc5cc0869f539c3c5b2adf05677e367b8 - 767 - null - false - null - false - false - false - - false - - 鎵鏈夋帓搴忓彿 - tree_sorts - varchar(n) - - - c60616703cf07aaf21f84215d092e2101efb9bca - 64 - null - false - null - false - false - false - - false - - 鏇存柊鑰 - update_by - varchar(n) - - - b5c3a59170184a01c15c78a6778cb73083fe6321 - null - null - false - null - false - false - false - - false - - 鏇存柊鏃堕棿 - update_date - datetime - - - - - - - e553474c37270813e70025e433a4cf8a64653e13 - 438 - 387 - Arial - 14 - 864 - 36 - - 128 - 128 - 192 - - - - test_tree - 娴嬭瘯鏍戣〃 - - - - - - - abe7e075aa224d4322d021e5659d170e0a927621 - 7e417ee9d0dd69c767a5853922621946ed4fb2d8 - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - a535b6c506004a7fdf4d48984c9ff2cfa59c157a - - b023ebdb5c45aa960edd4a77dbe90dcdcc346664 - 39f501890586173d229e83610cfbfaa6e3a85374 - - - - - nvarchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - 35ae805d1da92afdb99b2fe8c536d1649356fccd - - - - - - - - -
- - 5435ef11ea53f170fe3491b199c113e47932e175 - 401 - 320 - Arial - 14 - 36 - 36 - - 128 - 128 - 192 - - - - test_data - 娴嬭瘯鏁版嵁 - - - - - - - e3325b6b7dc29b87da73eedcfff2a9c4cd245579 - d82778c36626013cd39fd790da6f55a9762f0c76 - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - 89d26a106a3b0895ebfe6ccf9b5930ef4b1612c1 - 3e14b40dc07c134329a40752973acfad2ffdc48b - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - c22eb21bd16761440f79d8782099fa4b0e9115cb - 8050d948828b16267482e9e3716219321f206b81 - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 3a0f10db94ed1cb6e8cb088ca0275b664d4fca4c - 3664605e054c39531ca8e91aa4463c955a993357 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - cb6ff93372480fd7d11e66a1e9c9fa028149e99c - f7b189ecdc92c78bfaae9c736318ab6a5aedd396 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 7b62803aab5f5a3c3f9ff63f7d5122a9ef3a41bb - 6e4837ab55b592669ccc7ebfc8b1ed96a00607b3 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 5cab10f2b339972b1f10cb150baf883a8adffdbb - 9fb81bdc12ed017f62e9dd4529025e536eff7f08 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 7b4cc71483ef98673d4cc313eb99314e27722e28 - 9d9478798ed2766a81b0e5a8a022eb89d9c5cc34 - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - bc2e5b104e72723c9c6710c9a3a02804111b6846 - c131dc5cb7ce6f1aa5e8d5f86f2002c8ae1bb8f6 - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 54338e0229264fd01ec1efff7c49b30d966df58e - cfe3c330968a9a824c2cf933b227887d3e9615ac - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - efa0f7e9084cf3b09f7e31101ec496a44aadaaa4 - 23041cb30875514136904ea11043c7ea1924f048 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 5f188d6afcf9d1afbbe94ac6d92f800caef67cbe - b6d5dc8745c0fa484ed6f14e90a42282ca1b285d - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 6adbc087f6a7805c1d979bee36098c497d399378 - d244401ff7302bb5b75092016531952d093b238b - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - 35ae805d1da92afdb99b2fe8c536d1649356fccd - - - - - - - - -
- - 5a836e654b7b7d19f102e87336fefa079d98a2e6 - 438 - 346 - Arial - 14 - 468 - 36 - - 128 - 128 - 192 - - - - test_data_child - 娴嬭瘯鏁版嵁瀛愯〃 - - - - - - - e3325b6b7dc29b87da73eedcfff2a9c4cd245579 - 34477707bcf8a7810e12e9565aff085f6fb1e0ad - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - f1929c4074c74e32b7e4ac70c95476add194c0a0 - ec8a047dffe3cf2e4d95ba3e26c3bac0382d95c9 - - - - - integer - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 80c7c6394e75c6f7acbf75bae587afdc02d3990b - b095c44611ed08156277676d9a3a0ce52b9b05ef - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 89d26a106a3b0895ebfe6ccf9b5930ef4b1612c1 - 78715aa66a10a9b190ad69b8ed792e9a2f4946e3 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - c22eb21bd16761440f79d8782099fa4b0e9115cb - 693f8af2fe6cf45255b6f2bc7e9077f3630c3dd8 - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 3a0f10db94ed1cb6e8cb088ca0275b664d4fca4c - 04216c384533b70b8e86b571fa2beef7157bab5a - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - cb6ff93372480fd7d11e66a1e9c9fa028149e99c - 0b6f63094be90aa8674460cce26be10327827ceb - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 7b62803aab5f5a3c3f9ff63f7d5122a9ef3a41bb - 363e8cfcf4a6b228e656decadacba29280906555 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 5cab10f2b339972b1f10cb150baf883a8adffdbb - 7875aa5fee3d6f9587180fb8fce9343a56cdc34e - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 7b4cc71483ef98673d4cc313eb99314e27722e28 - 61c49a2f7807c55c8f85110c30889d5b403e4b04 - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - bc2e5b104e72723c9c6710c9a3a02804111b6846 - b91171b99f3628aadb0e6986fbfa30cc547b280e - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 54338e0229264fd01ec1efff7c49b30d966df58e - 9f33d190101e56f93f5ece0fd7c5cdda3e704b4c - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - efa0f7e9084cf3b09f7e31101ec496a44aadaaa4 - 16121b5aa08fc170883408ec2d0487281a132d9d - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 5f188d6afcf9d1afbbe94ac6d92f800caef67cbe - 1afc7f146271f5c90ea811aa24c08ce25d12552e - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 6adbc087f6a7805c1d979bee36098c497d399378 - 343f0db997b913f299b0496c4306d3617ad708de - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - - - - - -
-
- - - 845c82ebd869d5620b1ef2c2b6f438b11a045082 - BaseEntity - - - e3325b6b7dc29b87da73eedcfff2a9c4cd245579 - 02ecedc0de5850cba25bc91919ed39d414b74111 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - a5d0a391d0d09acab89c829d271b0a96a7058ca0 - 2fe6a36385238c1b21c76deae00a7afa00ff5538 - - - - - character(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - ea920cba2fe0eaee64a2310ece7cda4b198b37ec - BaseEntityCorp - - - c71533e4d2f429ff8466fd6a8de5719f1741377b - b8ea4b73d6d32a222e5abfd453287575ae518480 - - - - - varchar(n) - - 0 - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 11c59294fe142d108ca4dac5a03033f50188a450 - b94f5fe344185c40739cf93d1090686001bb11e0 - - - - - nvarchar(n) - - JeeSite - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - 35ae805d1da92afdb99b2fe8c536d1649356fccd - DataEntity - - - 70d065a29d01e3875167a20441e0ebbfaf5a05f8 - f0036584bd8711715579d21994a0105935605a7e - - - - - character(n) - - 0 - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - f60ca81cf3f5c08c518d0266d2b8fd1b219a9802 - c391a15752a8eb58bc558a39d1b431f7ee125e0e - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 170410257b4d8e712b8c1d499b415de82ce9683c - e2e82ba86e15fd67397355e711255b1625078ae1 - - - - - datetime - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - c60616703cf07aaf21f84215d092e2101efb9bca - fd0546fc2d4e01c35dcbc23913add68a99fabd73 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - b5c3a59170184a01c15c78a6778cb73083fe6321 - f8ea4fc4a778a0b94398a661a1ed8608f0e8d28d - - - - - datetime - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 1a77879eeba6dd8a2ca8de0ca0cbd6db5ddeb7af - 69e01b6d4f42df40a09540ef4ba10ed8e006abaa - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - 85024a2953cf3e3c9c1cce49b2351853ab0d125b - DataEntityNoStatus - - - f60ca81cf3f5c08c518d0266d2b8fd1b219a9802 - e5355faba5ec3c9128507dd4c48ea9230631cf83 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 170410257b4d8e712b8c1d499b415de82ce9683c - 6bed374c39d181003a4f92d76d79a4119176ba0c - - - - - datetime - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - c60616703cf07aaf21f84215d092e2101efb9bca - f9db19bb567760bbdd554d75bbfdc891c89f9da9 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - b5c3a59170184a01c15c78a6778cb73083fe6321 - ee78b079f7d319bf8119fd01439cd97424ff49fa - - - - - datetime - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 1a77879eeba6dd8a2ca8de0ca0cbd6db5ddeb7af - f7b88ecec0ef386bb384c228842a7587432112fb - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - 118dab95fc1f792cd468b9f66af2d4fabd98c39b - ExtendEntity - - - b1acb2df17677e0ed818dea6e1150bfc088fcd50 - 6ccadddab6ce48441ca7abd798cda6f3debf4a0c - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - d27290b84b207a7c87f4d78d80e62048c67fac04 - 93ab0ba3b47b01934614dbd3e572358c9f99e6ea - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 5e25d7f0e327d2d760a04b32140b639bb96bfd8d - a78c7961910a5e697027d1a3530b1afaa8ea8c94 - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - d05572af90653d4ddfd880402a15ed9b27c81888 - 40085364ec7a58653e96f8659aadd258d7556bc7 - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - acc372d31709a1133f6c13fc8abfef7881ca26ed - 9787d7fe93ee31c5b4979fd620ff6e4b2777eccf - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 59763a16504e4136a7a2fbed38476272d337105c - 95c55b81b7e9e1a9bb01aa3d88fb90c648641c4e - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 600b96b04bf4f65919eabfc6613d3c5e370931e1 - 16f44dfc7964796f109293bc49afd58dcb4eec1f - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - a9dc80e5c484dc7b9d5fff9294eaa383819edc26 - 39b1dffa083f74afc30df621845cf7f0ed71394f - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - b67071354a8d43cabe9a0ac29303f8b144a15985 - 7584cc6360ae7edc99e1f619042eba5865b2c4c7 - - - - - decimal(p) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 70b8240f049f658b97394b7d4784481fdb477f5c - f0b5383e05c6b3f6e5f65b33b33009826c83d014 - - - - - decimal(p) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - ce377c081415847061b2efc58b701ff847dcaaca - 260d5f31009fff18000d1e64f4f877926e621306 - - - - - decimal(p) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - fb96f6dc60d31576c278a3c64024154eda67d3fe - a83144f40e7ae64e46a4b4ed651379774a953b17 - - - - - decimal(p) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 0733a829c52af8af725ace50d4ed3e0179969f56 - 2a5203a275171a250870cf6cb224a910aa9354ec - - - - - decimal(p,s) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 0b7230df29d6df213507c8855d019d2d55c9a561 - 3ef5bd65a7dcd74b9a9d8a292ec395f66b7de32b - - - - - decimal(p,s) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 6cb3dad83f3e1f358155892dcee3167ef55bacc7 - 01d0849bdda56a8d8f24befdadc3fc9b007ae92b - - - - - decimal(p,s) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - e54b261fc7ab81e0ef19a89e657453664abe5593 - 1c8ed63d72f40f0fe2f05815675771bdf3f824f8 - - - - - decimal(p,s) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 038ea74a700b763fa1f8fcdbd2c27e7941f82f7a - 2b49e875138bfb329aaa352629650b7881435123 - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 19aa2e40abff2bb4e908f18f5f5e5b30a074cd8b - 5c6ec16226d85b0411b7077cb9a6e0c7aa8d74d1 - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 06f59428b50e62e636a58a2f3cbcee2c75764506 - d92b8f7fa7a2be49c7f00c447a603b136e84261d - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 8f08aeb4b9ceb072f0232d3d23fd5371ef8f379c - 095a76f07a3cd2bdc6cc442757c11012e1974f4a - - - - - datetime - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 3962f4b130a803841a193a163e42679946b5ae1f - 42c5d8f490f69b93e77698efa030ca23988ae696 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - a535b6c506004a7fdf4d48984c9ff2cfa59c157a - TreeEntity - - - e4465172e2cc64907a386237cc7d0c7d79a074dc - 394369b90c0a5b6efeed3cf823c642605d7a1653 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - b4f9837136b0a84afc9a611a563fb51141fdac1f - e8d877396943acfec73023dba2c1c6e3d7802d62 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 65265fefa00907a60e8fe2ebd6d2ad58760415e5 - 23f973124aedd0244533f4e7b3b103c548b966be - - - - - decimal(p) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - cf5f1e3cc5cc0869f539c3c5b2adf05677e367b8 - 984d5eac2b3221118a61655e4a5a49c78e0f0151 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 8fb086ad8b2a35cdf18c1a1e247005cdb140faf0 - b2f246a3f0ade317eaa9915e2fd539abae5a5ec8 - - - - - character(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - f22022df4ccf9c7081b4d8f98deed04c1d8c987c - f5a9968479420f08da2e98d21136b3ed4b6e396f - - - - - decimal(p) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 44f852382fba107fe668304530dea0233f38a321 - 618194ebfc8c6c42efcef3a4af0b8054f6af209b - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - - - - - - - - -
diff --git a/web/db/test.png b/web/db/test.png deleted file mode 100644 index da422a4a12e9bcb5a3c5bf7eec8c9a371a84731a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212991 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 com.jeesite.modules.Application - + 8980:8980 @@ -38,6 +38,13 @@ ${project.parent.version} + + + com.jeesite + jeesite-module-test + ${project.parent.version} + + com.jeesite diff --git a/web/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java b/web/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java deleted file mode 100644 index 7b96dda7..00000000 --- a/web/src/main/java/com/jeesite/modules/test/dao/TestDataChildDao.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.dao; - -import com.jeesite.common.dao.CrudDao; -import com.jeesite.common.mybatis.annotation.MyBatisDao; -import com.jeesite.modules.test.entity.TestDataChild; - -/** - * 娴嬭瘯鏁版嵁DAO鎺ュ彛 - * @author ThinkGem - * @version 2018-04-22 - */ -@MyBatisDao//(dataSourceName="ds2") -public interface TestDataChildDao extends CrudDao { - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java b/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java deleted file mode 100644 index 52aea481..00000000 --- a/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.dao; - -import java.util.List; -import java.util.Map; - -import com.jeesite.common.dao.CrudDao; -import com.jeesite.common.mybatis.annotation.MyBatisDao; -import com.jeesite.modules.test.entity.TestData; - -/** - * 娴嬭瘯鏁版嵁DAO鎺ュ彛 - * @author ThinkGem - * @version 2018-04-22 - */ -@MyBatisDao -public interface TestDataDao extends CrudDao { - - /** - * 婕旂ずMap鍙傛暟鍜岃繑鍥炲硷紝鏀寔鍒嗛〉 - */ - List> findListForMap(Map params); - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java b/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java deleted file mode 100644 index 7648d4cd..00000000 --- a/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.dao; - -import com.jeesite.common.dao.TreeDao; -import com.jeesite.common.mybatis.annotation.MyBatisDao; -import com.jeesite.modules.test.entity.TestTree; - -/** - * 娴嬭瘯鏍戣〃DAO鎺ュ彛 - * @author ThinkGem - * @version 2018-04-22 - */ -@MyBatisDao -public interface TestTreeDao extends TreeDao { - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/db/InitTestData.java b/web/src/main/java/com/jeesite/modules/test/db/InitTestData.java deleted file mode 100644 index 376844b7..00000000 --- a/web/src/main/java/com/jeesite/modules/test/db/InitTestData.java +++ /dev/null @@ -1,182 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.db; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.stereotype.Component; - -import com.jeesite.common.config.Global; -import com.jeesite.common.lang.StringUtils; -import com.jeesite.common.tests.BaseInitDataTests; -import com.jeesite.modules.gen.entity.GenTable; -import com.jeesite.modules.gen.entity.GenTableColumn; -import com.jeesite.modules.gen.service.GenTableService; -import com.jeesite.modules.gen.utils.GenUtils; - -/** - * 鍒濆鍖栨牳蹇冭〃鏁版嵁 - * @author ThinkGem - * @version 2020-5-26 - */ -@Component -@ConditionalOnProperty(name="jeesite.initdata", havingValue="true", matchIfMissing=false) -public class InitTestData extends BaseInitDataTests { - - @Override - public boolean initData() throws Exception { - if (GenUtils.isTableExists("test_data")) { - return true; // 濡傛灉琛ㄥ凡瀛樺湪锛屽垯鏃犻渶鍒濆鍖 - } - runCreateScript("test.sql"); - initGenDemoData(); - return true; - } - - @Autowired - private GenTableService genTableService; - /** - * 浠g爜鐢熸垚娴嬭瘯鏁版嵁 - */ - public void initGenDemoData() throws Exception{ - if (!checkTable(GenTable.class)) { - return; - } - if (!checkTable(GenTableColumn.class)) { - return; - } - initGenTestData(); - initGenTreeData(); - } - /** - * 浠g爜鐢熸垚娴嬭瘯鏁版嵁 - */ - private void initGenTestData() throws Exception{ - GenTable genTable = new GenTable(); - genTable.setIsNewRecord(true); - genTable.setTableName("test_data"); - genTable = genTableService.getFromDb(genTable); - genTable.setIsNewRecord(true); - genTable.setClassName("TestData"); - genTable.setFunctionAuthor("ThinkGem"); - genTable.setTplCategory("crud"); - genTable.setPackageName("com.jeesite.modules"); - genTable.setModuleName("test"); - genTable.setSubModuleName(""); - genTable.setFunctionName("娴嬭瘯鏁版嵁"); - genTable.setFunctionNameSimple("鏁版嵁"); - genTable.getOptionMap().put("isHaveDisableEnable", Global.YES); - genTable.getOptionMap().put("isHaveDelete", Global.YES); - genTable.getOptionMap().put("isFileUpload", Global.YES); - genTable.getOptionMap().put("isImageUpload", Global.YES); - initGenTableColumn(genTable); - genTableService.save(genTable); - // 瀛愯〃 - GenTable genTableChild = new GenTable(); - genTableChild.setIsNewRecord(true); - genTableChild.setTableName("test_data_child"); - genTableChild = genTableService.getFromDb(genTableChild); - genTableChild.setIsNewRecord(true); - genTableChild.setClassName("TestDataChild"); - genTableChild.setFunctionAuthor("ThinkGem"); - genTableChild.setTplCategory("crud"); - genTableChild.setPackageName("com.jeesite.modules"); - genTableChild.setModuleName("test"); - genTableChild.setSubModuleName(""); - genTableChild.setFunctionName("娴嬭瘯瀛愯〃"); - genTableChild.setFunctionNameSimple("鏁版嵁"); - genTableChild.setParentTableName("test_data"); - genTableChild.setParentTableFkName("test_data_id"); - initGenTableColumn(genTableChild); - genTableService.save(genTableChild); - } - - /** - * 浠g爜鐢熸垚娴嬭瘯鏁版嵁锛堝垪鍒濆鍖栵級 - */ - private void initGenTableColumn(GenTable genTable){ - for(GenTableColumn column : genTable.getColumnList()){ - if ("test_input".equals(column.getColumnName()) - || "test_textarea".equals(column.getColumnName()) - || "test_select".equals(column.getColumnName()) - || "test_select_multiple".equals(column.getColumnName()) - || "test_checkbox".equals(column.getColumnName()) - || "test_radio".equals(column.getColumnName()) - || "test_date".equals(column.getColumnName()) - || "test_datetime".equals(column.getColumnName()) - ){ - column.setShowType(StringUtils.substringAfter( - column.getColumnName(), "test_")); - if ("test_input".equals(column.getColumnName()) - ){ - column.setQueryType("LIKE"); - } - else if ("test_textarea".equals(column.getColumnName()) - ){ - column.setQueryType("LIKE"); - column.getOptionMap().put("isNewLine", Global.YES); -// column.getOptionMap().put("gridRowCol", "12/2/10"); - } - else if ("test_select".equals(column.getColumnName()) - || "test_select_multiple".equals(column.getColumnName()) - || "test_radio".equals(column.getColumnName()) - || "test_checkbox".equals(column.getColumnName()) - ){ - column.getOptionMap().put("dictType", "sys_menu_type"); - column.getOptionMap().put("dictName", "sys_menu_type"); - } - else if ("test_date".equals(column.getColumnName()) - || "test_datetime".equals(column.getColumnName()) - ){ - column.setQueryType("BETWEEN"); - } - }else if ("test_user_code".equals(column.getColumnName())){ - column.setAttrType("com.jeesite.modules.sys.entity.User"); - column.setFullAttrName("testUser"); - column.setShowType("userselect"); - }else if ("test_office_code".equals(column.getColumnName())){ - column.setAttrType("com.jeesite.modules.sys.entity.Office"); - column.setFullAttrName("testOffice"); - column.setShowType("officeselect"); - }else if ("test_area_code".equals(column.getColumnName())){ - column.setFullAttrName("testAreaCode|testAreaName"); - column.setShowType("areaselect"); - }else if ("test_area_name".equals(column.getColumnName())){ - column.setIsEdit(Global.NO); - column.setIsQuery(Global.NO); - }else if ("test_data_id".equals(column.getColumnName())){ - column.setFullAttrName("testData"); - } - } - } - - /** - * 浠g爜鐢熸垚鏍戣〃娴嬭瘯鏁版嵁 - */ - private void initGenTreeData() throws Exception{ - GenTable genTable = new GenTable(); - genTable.setIsNewRecord(true); - genTable.setTableName("test_tree"); - genTable = genTableService.getFromDb(genTable); - genTable.setIsNewRecord(true); - genTable.setClassName("TestTree"); - genTable.setFunctionAuthor("ThinkGem"); - genTable.setTplCategory("treeGrid"); - genTable.setPackageName("com.jeesite.modules"); - genTable.setModuleName("test"); - genTable.setSubModuleName(""); - genTable.setFunctionName("娴嬭瘯鏍戣〃"); - genTable.setFunctionNameSimple("鏁版嵁"); - genTable.getOptionMap().put("isHaveDisableEnable", Global.YES); - genTable.getOptionMap().put("isHaveDelete", Global.YES); - genTable.getOptionMap().put("isFileUpload", Global.YES); - genTable.getOptionMap().put("isImageUpload", Global.YES); - genTable.getOptionMap().put("treeViewCode", "tree_code"); - genTable.getOptionMap().put("treeViewName", "tree_name"); - initGenTableColumn(genTable); - genTableService.save(genTable); - } - -} diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java b/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java deleted file mode 100644 index 4a83a789..00000000 --- a/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java +++ /dev/null @@ -1,236 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.entity; - -import javax.validation.constraints.Size; -import java.util.Date; -import com.jeesite.common.mybatis.annotation.JoinTable; -import com.jeesite.common.mybatis.annotation.JoinTable.Type; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.jeesite.modules.sys.entity.User; -import com.jeesite.modules.sys.entity.Office; - -import com.jeesite.common.entity.DataEntity; -import com.jeesite.common.mybatis.annotation.Column; -import com.jeesite.common.mybatis.annotation.Table; -import com.jeesite.common.mybatis.mapper.query.QueryType; - -/** - * 娴嬭瘯鏁版嵁Entity - * @author ThinkGem - * @version 2018-04-22 - */ -@Table(name="test_data_child", alias="a", columns={ - @Column(name="id", attrName="id", label="缂栧彿", isPK=true), - @Column(name="test_sort", attrName="testSort", label="鎺掑簭鍙"), - @Column(name="test_data_id", attrName="testData.id", label="鐖惰〃涓婚敭"), - @Column(name="test_input", attrName="testInput", label="鍗曡鏂囨湰", queryType=QueryType.LIKE), - @Column(name="test_textarea", attrName="testTextarea", label="澶氳鏂囨湰", queryType=QueryType.LIKE), - @Column(name="test_select", attrName="testSelect", label="涓嬫媺妗"), - @Column(name="test_select_multiple", attrName="testSelectMultiple", label="涓嬫媺澶氶"), - @Column(name="test_radio", attrName="testRadio", label="鍗曢夋"), - @Column(name="test_checkbox", attrName="testCheckbox", label="澶嶉夋"), - @Column(name="test_date", attrName="testDate", label="鏃ユ湡閫夋嫨", isUpdateForce=true), - @Column(name="test_datetime", attrName="testDatetime", label="鏃ユ湡鏃堕棿", isUpdateForce=true), - @Column(name="test_user_code", attrName="testUser.userCode", label="鐢ㄦ埛閫夋嫨"), - @Column(name="test_office_code", attrName="testOffice.officeCode", label="鏈烘瀯閫夋嫨"), - @Column(name="test_area_code", attrName="testAreaCode", label="鍖哄煙閫夋嫨"), - @Column(name="test_area_name", attrName="testAreaName", label="鍖哄煙鍚嶇О", isQuery=false), - }, joinTable={ - @JoinTable(type=Type.LEFT_JOIN, entity=User.class, attrName="testUser", alias="u12", - on="u12.user_code = a.test_user_code", columns={ - @Column(name="user_code", label="鐢ㄦ埛缂栫爜", isPK=true), - @Column(name="user_name", label="鐢ㄦ埛鍚嶇О", isQuery=false), - }), - @JoinTable(type=Type.LEFT_JOIN, entity=Office.class, attrName="testOffice", alias="u13", - on="u13.office_code = a.test_office_code", columns={ - @Column(name="office_code", label="鏈烘瀯缂栫爜", isPK=true), - @Column(name="office_name", label="鏈烘瀯鍚嶇О", isQuery=false), - }), - }, orderBy="a.id ASC" -) -public class TestDataChild extends DataEntity { - - private static final long serialVersionUID = 1L; - private Long testSort; // 鎺掑簭鍙 - private TestData testData; // 鐖惰〃涓婚敭 鐖剁被 - private String testInput; // 鍗曡鏂囨湰 - private String testTextarea; // 澶氳鏂囨湰 - private String testSelect; // 涓嬫媺妗 - private String testSelectMultiple; // 涓嬫媺澶氶 - private String testRadio; // 鍗曢夋 - private String testCheckbox; // 澶嶉夋 - private Date testDate; // 鏃ユ湡閫夋嫨 - private Date testDatetime; // 鏃ユ湡鏃堕棿 - private User testUser; // 鐢ㄦ埛閫夋嫨 - private Office testOffice; // 鏈烘瀯閫夋嫨 - private String testAreaCode; // 鍖哄煙閫夋嫨 - private String testAreaName; // 鍖哄煙鍚嶇О - - public TestDataChild() { - this(null); - } - - - public TestDataChild(TestData testData){ - this.testData = testData; - } - - public Long getTestSort() { - return testSort; - } - - public void setTestSort(Long testSort) { - this.testSort = testSort; - } - - @Size(min=0, max=64, message="鐖惰〃涓婚敭闀垮害涓嶈兘瓒呰繃 64 涓瓧绗") - public TestData getTestData() { - return testData; - } - - public void setTestData(TestData testData) { - this.testData = testData; - } - - @Size(min=0, max=200, message="鍗曡鏂囨湰闀垮害涓嶈兘瓒呰繃 200 涓瓧绗") - public String getTestInput() { - return testInput; - } - - public void setTestInput(String testInput) { - this.testInput = testInput; - } - - @Size(min=0, max=200, message="澶氳鏂囨湰闀垮害涓嶈兘瓒呰繃 200 涓瓧绗") - public String getTestTextarea() { - return testTextarea; - } - - public void setTestTextarea(String testTextarea) { - this.testTextarea = testTextarea; - } - - @Size(min=0, max=10, message="涓嬫媺妗嗛暱搴︿笉鑳借秴杩 10 涓瓧绗") - public String getTestSelect() { - return testSelect; - } - - public void setTestSelect(String testSelect) { - this.testSelect = testSelect; - } - - @Size(min=0, max=200, message="涓嬫媺澶氶夐暱搴︿笉鑳借秴杩 200 涓瓧绗") - public String getTestSelectMultiple() { - return testSelectMultiple; - } - - public void setTestSelectMultiple(String testSelectMultiple) { - this.testSelectMultiple = testSelectMultiple; - } - - @Size(min=0, max=10, message="鍗曢夋闀垮害涓嶈兘瓒呰繃 10 涓瓧绗") - public String getTestRadio() { - return testRadio; - } - - public void setTestRadio(String testRadio) { - this.testRadio = testRadio; - } - - @Size(min=0, max=200, message="澶嶉夋闀垮害涓嶈兘瓒呰繃 200 涓瓧绗") - public String getTestCheckbox() { - return testCheckbox; - } - - public void setTestCheckbox(String testCheckbox) { - this.testCheckbox = testCheckbox; - } - - @JsonFormat(pattern = "yyyy-MM-dd") - public Date getTestDate() { - return testDate; - } - - public void setTestDate(Date testDate) { - this.testDate = testDate; - } - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") - public Date getTestDatetime() { - return testDatetime; - } - - public void setTestDatetime(Date testDatetime) { - this.testDatetime = testDatetime; - } - - public User getTestUser() { - return testUser; - } - - public void setTestUser(User testUser) { - this.testUser = testUser; - } - - public Office getTestOffice() { - return testOffice; - } - - public void setTestOffice(Office testOffice) { - this.testOffice = testOffice; - } - - @Size(min=0, max=64, message="鍖哄煙閫夋嫨闀垮害涓嶈兘瓒呰繃 64 涓瓧绗") - public String getTestAreaCode() { - return testAreaCode; - } - - public void setTestAreaCode(String testAreaCode) { - this.testAreaCode = testAreaCode; - } - - @Size(min=0, max=100, message="鍖哄煙鍚嶇О闀垮害涓嶈兘瓒呰繃 100 涓瓧绗") - public String getTestAreaName() { - return testAreaName; - } - - public void setTestAreaName(String testAreaName) { - this.testAreaName = testAreaName; - } - - public Date getTestDate_gte() { - return sqlMap.getWhere().getValue("test_date", QueryType.GTE); - } - - public void setTestDate_gte(Date testDate) { - sqlMap.getWhere().and("test_date", QueryType.GTE, testDate); - } - - public Date getTestDate_lte() { - return sqlMap.getWhere().getValue("test_date", QueryType.LTE); - } - - public void setTestDate_lte(Date testDate) { - sqlMap.getWhere().and("test_date", QueryType.LTE, testDate); - } - - public Date getTestDatetime_gte() { - return sqlMap.getWhere().getValue("test_datetime", QueryType.GTE); - } - - public void setTestDatetime_gte(Date testDatetime) { - sqlMap.getWhere().and("test_datetime", QueryType.GTE, testDatetime); - } - - public Date getTestDatetime_lte() { - return sqlMap.getWhere().getValue("test_datetime", QueryType.LTE); - } - - public void setTestDatetime_lte(Date testDatetime) { - sqlMap.getWhere().and("test_datetime", QueryType.LTE, testDatetime); - } - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java b/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java deleted file mode 100644 index ced00001..00000000 --- a/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.service; - -import com.jeesite.common.service.TreeService; -import com.jeesite.modules.file.utils.FileUploadUtils; -import com.jeesite.modules.test.dao.TestTreeDao; -import com.jeesite.modules.test.entity.TestTree; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 娴嬭瘯鏍戣〃Service - * @author ThinkGem - * @version 2018-04-22 - */ -@Service -public class TestTreeService extends TreeService { - - /** - * 鑾峰彇鍗曟潯鏁版嵁 - * @param testTree - * @return - */ - @Override - public TestTree get(TestTree testTree) { - return super.get(testTree); - } - - /** - * 鏌ヨ鍒楄〃鏁版嵁 - * @param testTree - * @return - */ - @Override - public List findList(TestTree testTree) { - return super.findList(testTree); - } - - /** - * 淇濆瓨鏁版嵁锛堟彃鍏ユ垨鏇存柊锛 - * @param testTree - */ - @Override - @Transactional - public void save(TestTree testTree) { - super.save(testTree); - // 淇濆瓨涓婁紶鍥剧墖 - FileUploadUtils.saveFileUpload(testTree, testTree.getId(), "testTree_image"); - // 淇濆瓨涓婁紶闄勪欢 - FileUploadUtils.saveFileUpload(testTree, testTree.getId(), "testTree_file"); - } - - /** - * 鏇存柊鐘舵 - * @param testTree - */ - @Override - @Transactional - public void updateStatus(TestTree testTree) { - super.updateStatus(testTree); - } - - /** - * 鍒犻櫎鏁版嵁 - * @param testTree - */ - @Override - @Transactional - public void delete(TestTree testTree) { - testTree.sqlMap().markIdDelete(); // 閫昏緫鍒犻櫎鏃舵爣璁癐D鍊 - super.delete(testTree); - } - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/web/DemoController.java b/web/src/main/java/com/jeesite/modules/test/web/DemoController.java deleted file mode 100644 index 63be2d92..00000000 --- a/web/src/main/java/com/jeesite/modules/test/web/DemoController.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.web; - -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; - -import com.jeesite.common.lang.StringUtils; -import com.jeesite.common.web.BaseController; -import com.jeesite.modules.test.entity.TestData; -import com.jeesite.modules.test.service.TestDataService; - -/** - * 婕旂ず瀹炰緥Controller - * @author ThinkGem - * @version 2018-03-24 - */ -@Controller -@RequestMapping(value = "${adminPath}/demo") -public class DemoController extends BaseController { - - @Autowired - private TestDataService testDataService; - - /** - * 鑾峰彇鏁版嵁 - */ - @ModelAttribute - public TestData get(String id, boolean isNewRecord) { - return testDataService.get(id, isNewRecord); - } - - /** - * DataGrid - */ - @RequiresPermissions("test:testData:view") - @RequestMapping(value = "dataGrid/{viewName}") - public String dataGrid(@PathVariable String viewName, TestData testData, Model model) { - return "modules/demo/demoDataGrid" + StringUtils.cap(viewName); - } - - /** - * Form - */ - @RequiresPermissions("test:testData:view") - @RequestMapping(value = "form/{viewName}") - public String form(@PathVariable String viewName, TestData testData, Model model) { - return "modules/demo/demoForm" + StringUtils.cap(viewName); - } - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java b/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java deleted file mode 100644 index a93002eb..00000000 --- a/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java +++ /dev/null @@ -1,224 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - * No deletion without permission, or be held responsible to law. - */ -package com.jeesite.modules.test.web; - -import java.util.List; -import java.util.Map; - -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - -import com.jeesite.common.config.Global; -import com.jeesite.common.collect.ListUtils; -import com.jeesite.common.collect.MapUtils; -import com.jeesite.common.lang.StringUtils; -import com.jeesite.common.idgen.IdGen; -import com.jeesite.modules.sys.utils.UserUtils; -import com.jeesite.common.web.BaseController; -import com.jeesite.modules.test.entity.TestTree; -import com.jeesite.modules.test.service.TestTreeService; - -/** - * 娴嬭瘯鏍戣〃Controller - * @author ThinkGem - * @version 2018-04-22 - */ -@Controller -@RequestMapping(value = "${adminPath}/test/testTree") -public class TestTreeController extends BaseController { - - @Autowired - private TestTreeService testTreeService; - - /** - * 鑾峰彇鏁版嵁 - */ - @ModelAttribute - public TestTree get(String treeCode, boolean isNewRecord) { - return testTreeService.get(treeCode, isNewRecord); - } - - /** - * 鏌ヨ鍒楄〃 - */ - @RequiresPermissions("test:testTree:view") - @RequestMapping(value = {"list", ""}) - public String list(TestTree testTree, Model model) { - model.addAttribute("testTree", testTree); - return "modules/test/testTreeList"; - } - - /** - * 鏌ヨ鍒楄〃鏁版嵁 - */ - @RequiresPermissions("test:testTree:view") - @RequestMapping(value = "listData") - @ResponseBody - public List listData(TestTree testTree) { - if (StringUtils.isBlank(testTree.getParentCode())) { - testTree.setParentCode(TestTree.ROOT_CODE); - } - if (StringUtils.isNotBlank(testTree.getTreeName())){ - testTree.setParentCode(null); - } - if (StringUtils.isNotBlank(testTree.getRemarks())){ - testTree.setParentCode(null); - } - List list = testTreeService.findList(testTree); - return list; - } - - /** - * 鏌ョ湅缂栬緫琛ㄥ崟 - */ - @RequiresPermissions("test:testTree:view") - @RequestMapping(value = "form") - public String form(TestTree testTree, Model model) { - // 鍒涘缓骞跺垵濮嬪寲涓嬩竴涓妭鐐逛俊鎭 - testTree = createNextNode(testTree); - model.addAttribute("testTree", testTree); - return "modules/test/testTreeForm"; - } - - /** - * 鍒涘缓骞跺垵濮嬪寲涓嬩竴涓妭鐐逛俊鎭紝濡傦細鎺掑簭鍙枫侀粯璁ゅ - */ - @RequiresPermissions("test:testTree:edit") - @RequestMapping(value = "createNextNode") - @ResponseBody - public TestTree createNextNode(TestTree testTree) { - if (StringUtils.isNotBlank(testTree.getParentCode())){ - testTree.setParent(testTreeService.get(testTree.getParentCode())); - } - if (testTree.getIsNewRecord()) { - TestTree where = new TestTree(); - where.setParentCode(testTree.getParentCode()); - TestTree last = testTreeService.getLastByParentCode(where); - // 鑾峰彇鍒颁笅绾ф渶鍚庝竴涓妭鐐 - if (last != null){ - testTree.setTreeSort(last.getTreeSort() + 30); - testTree.setTreeCode(IdGen.nextCode(last.getTreeCode())); - }else if (testTree.getParent() != null){ - testTree.setTreeCode(testTree.getParent().getTreeCode() + "001"); - } - } - // 浠ヤ笅璁剧疆琛ㄥ崟榛樿鏁版嵁 - if (testTree.getTreeSort() == null){ - testTree.setTreeSort(TestTree.DEFAULT_TREE_SORT); - } - return testTree; - } - - /** - * 淇濆瓨鏁版嵁 - */ - @RequiresPermissions("test:testTree:edit") - @PostMapping(value = "save") - @ResponseBody - public String save(@Validated TestTree testTree) { - testTreeService.save(testTree); - return renderResult(Global.TRUE, text("淇濆瓨鏁版嵁鎴愬姛锛")); - } - - /** - * 鍋滅敤鏁版嵁 - */ - @RequiresPermissions("test:testTree:edit") - @RequestMapping(value = "disable") - @ResponseBody - public String disable(TestTree testTree) { - TestTree where = new TestTree(); - where.setStatus(TestTree.STATUS_NORMAL); - where.setParentCodes("," + testTree.getId() + ","); - long count = testTreeService.findCount(where); - if (count > 0) { - return renderResult(Global.FALSE, text("璇ユ暟鎹寘鍚湭鍋滅敤鐨勫瓙鏁版嵁锛")); - } - testTree.setStatus(TestTree.STATUS_DISABLE); - testTreeService.updateStatus(testTree); - return renderResult(Global.TRUE, text("鍋滅敤鏁版嵁鎴愬姛")); - } - - /** - * 鍚敤鏁版嵁 - */ - @RequiresPermissions("test:testTree:edit") - @RequestMapping(value = "enable") - @ResponseBody - public String enable(TestTree testTree) { - testTree.setStatus(TestTree.STATUS_NORMAL); - testTreeService.updateStatus(testTree); - return renderResult(Global.TRUE, text("鍚敤鏁版嵁鎴愬姛")); - } - - /** - * 鍒犻櫎鏁版嵁 - */ - @RequiresPermissions("test:testTree:edit") - @RequestMapping(value = "delete") - @ResponseBody - public String delete(TestTree testTree) { - testTreeService.delete(testTree); - return renderResult(Global.TRUE, text("鍒犻櫎鏁版嵁鎴愬姛锛")); - } - - /** - * 鑾峰彇鏍戠粨鏋勬暟鎹 - * @param excludeCode 鎺掗櫎鐨凜ode - * @param isShowCode 鏄惁鏄剧ず缂栫爜锛坱rue or 1锛氭樉绀哄湪宸︿晶锛2锛氭樉绀哄湪鍙充晶锛沠alse or null锛氫笉鏄剧ず锛 - * @return - */ - @RequiresPermissions("test:testTree:view") - @RequestMapping(value = "treeData") - @ResponseBody - public List> treeData(String excludeCode, String isShowCode) { - List> mapList = ListUtils.newArrayList(); - List list = testTreeService.findList(new TestTree()); - for (int i=0; i map = MapUtils.newHashMap(); - map.put("id", e.getId()); - map.put("pId", e.getParentCode()); - map.put("name", StringUtils.getTreeNodeName(isShowCode, e.getTreeCode(), e.getTreeName())); - mapList.add(map); - } - return mapList; - } - - /** - * 淇琛ㄧ粨鏋勭浉鍏虫暟鎹 - */ - @RequiresPermissions("test:testTree:edit") - @RequestMapping(value = "fixTreeData") - @ResponseBody - public String fixTreeData(TestTree testTree){ - if (!UserUtils.getUser().isAdmin()){ - return renderResult(Global.FALSE, "鎿嶄綔澶辫触锛屽彧鏈夌鐞嗗憳鎵嶈兘杩涜淇锛"); - } - testTreeService.fixTreeData(); - return renderResult(Global.TRUE, "鏁版嵁淇鎴愬姛"); - } - -} \ No newline at end of file diff --git a/web/src/main/resources/db/create/h2/test.sql b/web/src/main/resources/db/create/h2/test.sql deleted file mode 100644 index 11cf00cd..00000000 --- a/web/src/main/resources/db/create/h2/test.sql +++ /dev/null @@ -1,132 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar(64) NOT NULL, - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date datetime, - test_datetime datetime, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date datetime NOT NULL, - update_by varchar(64) NOT NULL, - update_date datetime NOT NULL, - remarks varchar(500), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar(64) NOT NULL, - test_sort int, - test_data_id varchar(64), - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date datetime, - test_datetime datetime, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar(64) NOT NULL, - parent_code varchar(64) NOT NULL, - parent_codes varchar(767) NOT NULL, - tree_sort decimal(10) NOT NULL, - tree_sorts varchar(767) NOT NULL, - tree_leaf char(1) NOT NULL, - tree_level decimal(4) NOT NULL, - tree_names varchar(767) NOT NULL, - tree_name varchar(200) NOT NULL, - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date datetime NOT NULL, - update_by varchar(64) NOT NULL, - update_date datetime NOT NULL, - remarks varchar(500), - PRIMARY KEY (tree_code) -); - - - -/* Comments */ - -COMMENT ON TABLE test_data IS '娴嬭瘯鏁版嵁'; -COMMENT ON COLUMN test_data.id IS '缂栧彿'; -COMMENT ON COLUMN test_data.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON COLUMN test_data.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_data.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_data.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_data.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_data.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_data.remarks IS '澶囨敞淇℃伅'; -COMMENT ON TABLE test_data_child IS '娴嬭瘯鏁版嵁瀛愯〃'; -COMMENT ON COLUMN test_data_child.id IS '缂栧彿'; -COMMENT ON COLUMN test_data_child.test_sort IS '鎺掑簭鍙'; -COMMENT ON COLUMN test_data_child.test_data_id IS '鐖惰〃涓婚敭'; -COMMENT ON COLUMN test_data_child.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data_child.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data_child.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data_child.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data_child.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data_child.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON TABLE test_tree IS '娴嬭瘯鏍戣〃'; -COMMENT ON COLUMN test_tree.tree_code IS '鑺傜偣缂栫爜'; -COMMENT ON COLUMN test_tree.parent_code IS '鐖剁骇缂栧彿'; -COMMENT ON COLUMN test_tree.parent_codes IS '鎵鏈夌埗绾х紪鍙'; -COMMENT ON COLUMN test_tree.tree_sort IS '鎺掑簭鍙凤紙鍗囧簭锛'; -COMMENT ON COLUMN test_tree.tree_sorts IS '鎵鏈夋帓搴忓彿'; -COMMENT ON COLUMN test_tree.tree_leaf IS '鏄惁鏈鏈骇'; -COMMENT ON COLUMN test_tree.tree_level IS '灞傛绾у埆'; -COMMENT ON COLUMN test_tree.tree_names IS '鍏ㄨ妭鐐瑰悕'; -COMMENT ON COLUMN test_tree.tree_name IS '鑺傜偣鍚嶇О'; -COMMENT ON COLUMN test_tree.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_tree.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_tree.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_tree.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_tree.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_tree.remarks IS '澶囨敞淇℃伅'; - - - diff --git a/web/src/main/resources/db/create/mssql/test.sql b/web/src/main/resources/db/create/mssql/test.sql deleted file mode 100644 index 4ae8a769..00000000 --- a/web/src/main/resources/db/create/mssql/test.sql +++ /dev/null @@ -1,75 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE [test_data] -( - [id] varchar(64) NOT NULL, - [test_input] varchar(200), - [test_textarea] nvarchar(200), - [test_select] varchar(10), - [test_select_multiple] varchar(200), - [test_radio] varchar(10), - [test_checkbox] varchar(200), - [test_date] datetime, - [test_datetime] datetime, - [test_user_code] varchar(64), - [test_office_code] varchar(64), - [test_area_code] varchar(64), - [test_area_name] nvarchar(100), - [status] char(1) DEFAULT '0' NOT NULL, - [create_by] varchar(64) NOT NULL, - [create_date] datetime NOT NULL, - [update_by] varchar(64) NOT NULL, - [update_date] datetime NOT NULL, - [remarks] nvarchar(500), - PRIMARY KEY ([id]) -); - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE [test_data_child] -( - [id] varchar(64) NOT NULL, - [test_sort] int, - [test_data_id] varchar(64), - [test_input] varchar(200), - [test_textarea] nvarchar(200), - [test_select] varchar(10), - [test_select_multiple] varchar(200), - [test_radio] varchar(10), - [test_checkbox] varchar(200), - [test_date] datetime, - [test_datetime] datetime, - [test_user_code] varchar(64), - [test_office_code] varchar(64), - [test_area_code] varchar(64), - [test_area_name] nvarchar(100), - PRIMARY KEY ([id]) -); - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE [test_tree] -( - [tree_code] varchar(64) NOT NULL, - [parent_code] varchar(64) NOT NULL, - [parent_codes] varchar(767) NOT NULL, - [tree_sort] decimal(10) NOT NULL, - [tree_sorts] varchar(767) NOT NULL, - [tree_leaf] char(1) NOT NULL, - [tree_level] decimal(4) NOT NULL, - [tree_names] varchar(767) NOT NULL, - [tree_name] nvarchar(200) NOT NULL, - [status] char(1) DEFAULT '0' NOT NULL, - [create_by] varchar(64) NOT NULL, - [create_date] datetime NOT NULL, - [update_by] varchar(64) NOT NULL, - [update_date] datetime NOT NULL, - [remarks] nvarchar(500), - PRIMARY KEY ([tree_code]) -); - - - diff --git a/web/src/main/resources/db/create/mysql/test.sql b/web/src/main/resources/db/create/mysql/test.sql deleted file mode 100644 index 06c78075..00000000 --- a/web/src/main/resources/db/create/mysql/test.sql +++ /dev/null @@ -1,76 +0,0 @@ -SET SESSION FOREIGN_KEY_CHECKS=0; - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar(64) NOT NULL COMMENT '缂栧彿', - test_input varchar(200) COMMENT '鍗曡鏂囨湰', - test_textarea varchar(200) COMMENT '澶氳鏂囨湰', - test_select varchar(10) COMMENT '涓嬫媺妗', - test_select_multiple varchar(200) COMMENT '涓嬫媺澶氶', - test_radio varchar(10) COMMENT '鍗曢夋', - test_checkbox varchar(200) COMMENT '澶嶉夋', - test_date datetime COMMENT '鏃ユ湡閫夋嫨', - test_datetime datetime COMMENT '鏃ユ湡鏃堕棿', - test_user_code varchar(64) COMMENT '鐢ㄦ埛閫夋嫨', - test_office_code varchar(64) COMMENT '鏈烘瀯閫夋嫨', - test_area_code varchar(64) COMMENT '鍖哄煙閫夋嫨', - test_area_name varchar(100) COMMENT '鍖哄煙鍚嶇О', - status char(1) DEFAULT '0' NOT NULL COMMENT '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛', - create_by varchar(64) NOT NULL COMMENT '鍒涘缓鑰', - create_date datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', - update_by varchar(64) NOT NULL COMMENT '鏇存柊鑰', - update_date datetime NOT NULL COMMENT '鏇存柊鏃堕棿', - remarks varchar(500) COMMENT '澶囨敞淇℃伅', - PRIMARY KEY (id) -) COMMENT = '娴嬭瘯鏁版嵁'; - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar(64) NOT NULL COMMENT '缂栧彿', - test_sort int COMMENT '鎺掑簭鍙', - test_data_id varchar(64) COMMENT '鐖惰〃涓婚敭', - test_input varchar(200) COMMENT '鍗曡鏂囨湰', - test_textarea varchar(200) COMMENT '澶氳鏂囨湰', - test_select varchar(10) COMMENT '涓嬫媺妗', - test_select_multiple varchar(200) COMMENT '涓嬫媺澶氶', - test_radio varchar(10) COMMENT '鍗曢夋', - test_checkbox varchar(200) COMMENT '澶嶉夋', - test_date datetime COMMENT '鏃ユ湡閫夋嫨', - test_datetime datetime COMMENT '鏃ユ湡鏃堕棿', - test_user_code varchar(64) COMMENT '鐢ㄦ埛閫夋嫨', - test_office_code varchar(64) COMMENT '鏈烘瀯閫夋嫨', - test_area_code varchar(64) COMMENT '鍖哄煙閫夋嫨', - test_area_name varchar(100) COMMENT '鍖哄煙鍚嶇О', - PRIMARY KEY (id) -) COMMENT = '娴嬭瘯鏁版嵁瀛愯〃'; - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar(64) NOT NULL COMMENT '鑺傜偣缂栫爜', - parent_code varchar(64) NOT NULL COMMENT '鐖剁骇缂栧彿', - parent_codes varchar(767) NOT NULL COMMENT '鎵鏈夌埗绾х紪鍙', - tree_sort decimal(10) NOT NULL COMMENT '鎺掑簭鍙凤紙鍗囧簭锛', - tree_sorts varchar(767) NOT NULL COMMENT '鎵鏈夋帓搴忓彿', - tree_leaf char(1) NOT NULL COMMENT '鏄惁鏈鏈骇', - tree_level decimal(4) NOT NULL COMMENT '灞傛绾у埆', - tree_names varchar(767) NOT NULL COMMENT '鍏ㄨ妭鐐瑰悕', - tree_name varchar(200) NOT NULL COMMENT '鑺傜偣鍚嶇О', - status char(1) DEFAULT '0' NOT NULL COMMENT '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛', - create_by varchar(64) NOT NULL COMMENT '鍒涘缓鑰', - create_date datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', - update_by varchar(64) NOT NULL COMMENT '鏇存柊鑰', - update_date datetime NOT NULL COMMENT '鏇存柊鏃堕棿', - remarks varchar(500) COMMENT '澶囨敞淇℃伅', - PRIMARY KEY (tree_code) -) COMMENT = '娴嬭瘯鏍戣〃'; - - - diff --git a/web/src/main/resources/db/create/oracle/test.sql b/web/src/main/resources/db/create/oracle/test.sql deleted file mode 100644 index 4308d8d3..00000000 --- a/web/src/main/resources/db/create/oracle/test.sql +++ /dev/null @@ -1,132 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar2(64) NOT NULL, - test_input varchar2(200), - test_textarea nvarchar2(200), - test_select varchar2(10), - test_select_multiple varchar2(200), - test_radio varchar2(10), - test_checkbox varchar2(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar2(64), - test_office_code varchar2(64), - test_area_code varchar2(64), - test_area_name nvarchar2(100), - status char(1) DEFAULT '0' NOT NULL, - create_by varchar2(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar2(64) NOT NULL, - update_date timestamp NOT NULL, - remarks nvarchar2(500), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar2(64) NOT NULL, - test_sort number(10,0), - test_data_id varchar2(64), - test_input varchar2(200), - test_textarea nvarchar2(200), - test_select varchar2(10), - test_select_multiple varchar2(200), - test_radio varchar2(10), - test_checkbox varchar2(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar2(64), - test_office_code varchar2(64), - test_area_code varchar2(64), - test_area_name nvarchar2(100), - PRIMARY KEY (id) -); - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar2(64) NOT NULL, - parent_code varchar2(64) NOT NULL, - parent_codes varchar2(767) NOT NULL, - tree_sort number(10) NOT NULL, - tree_sorts varchar2(767) NOT NULL, - tree_leaf char(1) NOT NULL, - tree_level number(4) NOT NULL, - tree_names varchar2(767) NOT NULL, - tree_name nvarchar2(200) NOT NULL, - status char(1) DEFAULT '0' NOT NULL, - create_by varchar2(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar2(64) NOT NULL, - update_date timestamp NOT NULL, - remarks nvarchar2(500), - PRIMARY KEY (tree_code) -); - - - -/* Comments */ - -COMMENT ON TABLE test_data IS '娴嬭瘯鏁版嵁'; -COMMENT ON COLUMN test_data.id IS '缂栧彿'; -COMMENT ON COLUMN test_data.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON COLUMN test_data.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_data.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_data.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_data.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_data.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_data.remarks IS '澶囨敞淇℃伅'; -COMMENT ON TABLE test_data_child IS '娴嬭瘯鏁版嵁瀛愯〃'; -COMMENT ON COLUMN test_data_child.id IS '缂栧彿'; -COMMENT ON COLUMN test_data_child.test_sort IS '鎺掑簭鍙'; -COMMENT ON COLUMN test_data_child.test_data_id IS '鐖惰〃涓婚敭'; -COMMENT ON COLUMN test_data_child.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data_child.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data_child.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data_child.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data_child.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data_child.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON TABLE test_tree IS '娴嬭瘯鏍戣〃'; -COMMENT ON COLUMN test_tree.tree_code IS '鑺傜偣缂栫爜'; -COMMENT ON COLUMN test_tree.parent_code IS '鐖剁骇缂栧彿'; -COMMENT ON COLUMN test_tree.parent_codes IS '鎵鏈夌埗绾х紪鍙'; -COMMENT ON COLUMN test_tree.tree_sort IS '鎺掑簭鍙凤紙鍗囧簭锛'; -COMMENT ON COLUMN test_tree.tree_sorts IS '鎵鏈夋帓搴忓彿'; -COMMENT ON COLUMN test_tree.tree_leaf IS '鏄惁鏈鏈骇'; -COMMENT ON COLUMN test_tree.tree_level IS '灞傛绾у埆'; -COMMENT ON COLUMN test_tree.tree_names IS '鍏ㄨ妭鐐瑰悕'; -COMMENT ON COLUMN test_tree.tree_name IS '鑺傜偣鍚嶇О'; -COMMENT ON COLUMN test_tree.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_tree.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_tree.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_tree.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_tree.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_tree.remarks IS '澶囨敞淇℃伅'; - - - diff --git a/web/src/main/resources/db/create/postgresql/test.sql b/web/src/main/resources/db/create/postgresql/test.sql deleted file mode 100644 index 54758d68..00000000 --- a/web/src/main/resources/db/create/postgresql/test.sql +++ /dev/null @@ -1,132 +0,0 @@ - - -/* Create Tables */ - --- 娴嬭瘯鏁版嵁 -CREATE TABLE test_data -( - id varchar(64) NOT NULL, - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar(64) NOT NULL, - update_date timestamp NOT NULL, - remarks varchar(500), - PRIMARY KEY (id) -) WITHOUT OIDS; - - --- 娴嬭瘯鏁版嵁瀛愯〃 -CREATE TABLE test_data_child -( - id varchar(64) NOT NULL, - test_sort int, - test_data_id varchar(64), - test_input varchar(200), - test_textarea varchar(200), - test_select varchar(10), - test_select_multiple varchar(200), - test_radio varchar(10), - test_checkbox varchar(200), - test_date timestamp, - test_datetime timestamp, - test_user_code varchar(64), - test_office_code varchar(64), - test_area_code varchar(64), - test_area_name varchar(100), - PRIMARY KEY (id) -) WITHOUT OIDS; - - --- 娴嬭瘯鏍戣〃 -CREATE TABLE test_tree -( - tree_code varchar(64) NOT NULL, - parent_code varchar(64) NOT NULL, - parent_codes varchar(767) NOT NULL, - tree_sort decimal(10) NOT NULL, - tree_sorts varchar(767) NOT NULL, - tree_leaf char(1) NOT NULL, - tree_level decimal(4) NOT NULL, - tree_names varchar(767) NOT NULL, - tree_name varchar(200) NOT NULL, - status char(1) DEFAULT '0' NOT NULL, - create_by varchar(64) NOT NULL, - create_date timestamp NOT NULL, - update_by varchar(64) NOT NULL, - update_date timestamp NOT NULL, - remarks varchar(500), - PRIMARY KEY (tree_code) -) WITHOUT OIDS; - - - -/* Comments */ - -COMMENT ON TABLE test_data IS '娴嬭瘯鏁版嵁'; -COMMENT ON COLUMN test_data.id IS '缂栧彿'; -COMMENT ON COLUMN test_data.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON COLUMN test_data.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_data.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_data.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_data.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_data.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_data.remarks IS '澶囨敞淇℃伅'; -COMMENT ON TABLE test_data_child IS '娴嬭瘯鏁版嵁瀛愯〃'; -COMMENT ON COLUMN test_data_child.id IS '缂栧彿'; -COMMENT ON COLUMN test_data_child.test_sort IS '鎺掑簭鍙'; -COMMENT ON COLUMN test_data_child.test_data_id IS '鐖惰〃涓婚敭'; -COMMENT ON COLUMN test_data_child.test_input IS '鍗曡鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_textarea IS '澶氳鏂囨湰'; -COMMENT ON COLUMN test_data_child.test_select IS '涓嬫媺妗'; -COMMENT ON COLUMN test_data_child.test_select_multiple IS '涓嬫媺澶氶'; -COMMENT ON COLUMN test_data_child.test_radio IS '鍗曢夋'; -COMMENT ON COLUMN test_data_child.test_checkbox IS '澶嶉夋'; -COMMENT ON COLUMN test_data_child.test_date IS '鏃ユ湡閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_datetime IS '鏃ユ湡鏃堕棿'; -COMMENT ON COLUMN test_data_child.test_user_code IS '鐢ㄦ埛閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_office_code IS '鏈烘瀯閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_code IS '鍖哄煙閫夋嫨'; -COMMENT ON COLUMN test_data_child.test_area_name IS '鍖哄煙鍚嶇О'; -COMMENT ON TABLE test_tree IS '娴嬭瘯鏍戣〃'; -COMMENT ON COLUMN test_tree.tree_code IS '鑺傜偣缂栫爜'; -COMMENT ON COLUMN test_tree.parent_code IS '鐖剁骇缂栧彿'; -COMMENT ON COLUMN test_tree.parent_codes IS '鎵鏈夌埗绾х紪鍙'; -COMMENT ON COLUMN test_tree.tree_sort IS '鎺掑簭鍙凤紙鍗囧簭锛'; -COMMENT ON COLUMN test_tree.tree_sorts IS '鎵鏈夋帓搴忓彿'; -COMMENT ON COLUMN test_tree.tree_leaf IS '鏄惁鏈鏈骇'; -COMMENT ON COLUMN test_tree.tree_level IS '灞傛绾у埆'; -COMMENT ON COLUMN test_tree.tree_names IS '鍏ㄨ妭鐐瑰悕'; -COMMENT ON COLUMN test_tree.tree_name IS '鑺傜偣鍚嶇О'; -COMMENT ON COLUMN test_tree.status IS '鐘舵侊紙0姝e父 1鍒犻櫎 2鍋滅敤锛'; -COMMENT ON COLUMN test_tree.create_by IS '鍒涘缓鑰'; -COMMENT ON COLUMN test_tree.create_date IS '鍒涘缓鏃堕棿'; -COMMENT ON COLUMN test_tree.update_by IS '鏇存柊鑰'; -COMMENT ON COLUMN test_tree.update_date IS '鏇存柊鏃堕棿'; -COMMENT ON COLUMN test_tree.remarks IS '澶囨敞淇℃伅'; - - - diff --git a/web/src/main/resources/mappings/modules/test/TestDataChildDao.xml b/web/src/main/resources/mappings/modules/test/TestDataChildDao.xml deleted file mode 100644 index badbe182..00000000 --- a/web/src/main/resources/mappings/modules/test/TestDataChildDao.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/web/src/main/resources/mappings/modules/test/TestDataDao.xml b/web/src/main/resources/mappings/modules/test/TestDataDao.xml deleted file mode 100644 index c21f5521..00000000 --- a/web/src/main/resources/mappings/modules/test/TestDataDao.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/web/src/main/resources/mappings/modules/test/TestTreeDao.xml b/web/src/main/resources/mappings/modules/test/TestTreeDao.xml deleted file mode 100644 index 7486b49e..00000000 --- a/web/src/main/resources/mappings/modules/test/TestTreeDao.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/demo/demoDataGridEditGrid.html b/web/src/main/resources/views/modules/demo/demoDataGridEditGrid.html deleted file mode 100644 index 360dabec..00000000 --- a/web/src/main/resources/views/modules/demo/demoDataGridEditGrid.html +++ /dev/null @@ -1,264 +0,0 @@ -<% layout('/layouts/default.html', {title: '缂栬緫琛ㄦ牸澶氳缂栬緫', libs: ['dataGrid','validate']}){ %> - -<% } %> - - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/demo/demoDataGridMultiGrid.html b/web/src/main/resources/views/modules/demo/demoDataGridMultiGrid.html deleted file mode 100644 index 4659800f..00000000 --- a/web/src/main/resources/views/modules/demo/demoDataGridMultiGrid.html +++ /dev/null @@ -1,115 +0,0 @@ -<% layout('/layouts/default.html', {title: '澶氳〃鏍艰仈鍔ㄧず渚', libs: ['layout', 'dataGrid']}){ %> -
-
-
-
-
- ${text('宀椾綅鍒楄〃')}锛堝琛ㄦ牸鑱斿姩绀轰緥锛 -
-
-
- <#form:form id="searchForm" model="${post!}" action="${ctx}/sys/post/listData" method="post" class="form-inline hide" - data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize!3}" - data-order-by="${parameter.orderBy!'post_code desc'}"> -
- - -
- -
-
-
-
-
-
-
-
-
-
-
- ${text('鐢ㄦ埛鍒楄〃')}锛堢偣鍑诲矖浣嶆煡璇㈠搴旂敤鎴凤級 -
-
-
- <#form:form id="searchForm2" model="${empUser!}" action="${ctx}/sys/empUser/listData" method="post" class="form-inline hide" - data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize!6}" - data-order-by="${parameter.orderBy}"> -
- -
- <#form:input name="employee.postCode" id="postCode" class="form-control"/> -
-
- -
-
-
-
-
-
- -<% } %> - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/demo/demoFormEditForm.html b/web/src/main/resources/views/modules/demo/demoFormEditForm.html deleted file mode 100644 index 8cce16f8..00000000 --- a/web/src/main/resources/views/modules/demo/demoFormEditForm.html +++ /dev/null @@ -1,501 +0,0 @@ -<% layout('/layouts/default.html', {title: '缁勪欢搴旂敤瀹炰緥', libs: ['validate','fileupload','ueditor','dataGrid','inputmask']}){ %> -
-
-
-
- 缁勪欢搴旂敤瀹炰緥 -
-
- -
-
- <#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal"> -
-
鍩烘湰淇℃伅
- <#form:hidden path="id"/> -
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:textarea path="testTextarea" rows="4" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control" /> -
-
-
-
-
- -
- <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control" /> -
-
-
-
-
-
-
- -
- <#form:radio path="testRadio" dictType="sys_menu_type" class="form-control" /> -
-
-
-
-
- -
- <#form:checkbox path="testCheckbox" dictType="sys_menu_type" class="form-control" /> -
-
-
-
-
-
-
- -
- <#form:input path="testDate" readonly="true" maxlength="20" class="form-control laydate " - dataFormat="date" data-type="date" data-format="yyyy-MM-dd"/> -
-
-
-
-
- -
- <#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control laydate " - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/> -
-
-
-
-
-
-
- -
-
- - <#form:input path="testInput_money" maxlength="200" class="form-control inputmask" - data-inputmask-alias="money" data-inputmask="'digits':'2'"/> - (鍗冨垎浣嶏紝鍙冲榻愶紝淇濈暀2浣嶅皬鏁) -
-
-
-
-
-
- -
-
- - <#form:input path="testInput_regex" maxlength="200" class="form-control inputmask" - data-inputmask-regex="[a-zA-Z0-9._%-]+@[a-zA-Z0-9-]+\\.[a-zA-Z]{2,4}"/> - (姝e垯琛ㄨ揪寮) -
-
-
-
-
-
-
-
- -
- <#form:treeselect id="testUser" title="鐢ㄦ埛閫夋嫨" - path="testUser.userCode" labelPath="testUser.userName" - url="${ctx}/sys/office/treeData?isLoadUser=true" - class="" allowClear="true"/> -
-
-
-
-
- -
- <#form:treeselect id="testUser2" title="鐢ㄦ埛閫夋嫨" - path="testUser.userCode" labelPath="testUser.userName" - url="${ctx}/sys/office/treeData?isLoadUser=true" - class="" allowClear="true" checkbox="true"/> -
-
-
-
-
-
-
- -
- <#form:listselect id="testUser3" title="鐢ㄦ埛閫夋嫨" - url="${ctx}/sys/empUser/empUserSelect" allowClear="false" - checkbox="false" itemCode="userCode" itemName="userName"/> -
-
-
-
-
- -
- <#form:listselect id="testUser4" title="鐢ㄦ埛閫夋嫨" - url="${ctx}/sys/empUser/empUserSelect" allowClear="false" - checkbox="true" itemCode="userCode" itemName="userName"/> -
-
-
-
-
-
-
- -
- <#form:treeselect id="testAreaCode" title="鍖哄煙閫夋嫨" - path="testAreaCode" labelPath="testAreaName" - url="${ctx}/sys/area/treeData?parentCode=0" - class="" allowClear="true" returnFullName="true"/> -
-
-
-
-
- -
- <#form:treeselect id="testOffice" title="鏈烘瀯閫夋嫨" - path="testOffice.officeCode" labelPath="testOffice.officeName" - url="${ctx}/sys/office/treeData" - class="" allowClear="true"/> -
-
-
-
-
-
-
- -
-
- - -
-
-
-
-
- -
- <#form:input path="areaSelectValue" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:ueditor path="remarks" maxlength="10000" height="200" class="" - simpleToolbars="true" readonly="false" outline="false"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadImage" bizKey="${testData.id}" bizType="testData_image" - uploadType="image" class="" readonly="false" preview="true"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadImage2" returnPath="true" - filePathInputId="uploadImage2Path" fileNameInputId="uploadImage2Name" - uploadType="image" readonly="false" preview="true" maxUploadNum="3" isMini="false"/> - <#form:input name="uploadImage2Path" value="/js/userfiles/fileupload/201812/1073024549485039616.png|/js/userfiles/fileupload/201812/1073043095867133952.png" class="form-control"/> - <#form:input name="uploadImage2Name" value="0 (1).png|0 (2).png" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadFile" bizKey="${testData.id}" bizType="testData_file" - uploadType="all" class="" readonly="false" preview="true"/> -
-
-
-
-
娴嬭瘯鏁版嵁瀛愯〃
-
-
- <% if (hasPermi('test:testData:edit')){ %> - 澧炶 - <% } %> -
-
- - -
-
-<% } %> - - - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/demo/demoFormLaydate.html b/web/src/main/resources/views/modules/demo/demoFormLaydate.html deleted file mode 100644 index 03c86e5c..00000000 --- a/web/src/main/resources/views/modules/demo/demoFormLaydate.html +++ /dev/null @@ -1,66 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏂囦功鍐呭', libs: ['validate','dataGrid','fileupload']}){ %> -
-
- -
-
-<% } %> - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/demo/demoFormTabPage.html b/web/src/main/resources/views/modules/demo/demoFormTabPage.html deleted file mode 100644 index 34d48df6..00000000 --- a/web/src/main/resources/views/modules/demo/demoFormTabPage.html +++ /dev/null @@ -1,72 +0,0 @@ -<% layout('/layouts/default.html', {title: '澶氶〉绛惧簲鐢ㄧず渚', libs: ['tabPage']}){ %> -
-
-
-
- 澶氶〉绛惧簲鐢ㄧず渚 -
-
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-<% } %> - - - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/demo/demoFormTableForm.html b/web/src/main/resources/views/modules/demo/demoFormTableForm.html deleted file mode 100644 index 87ac93c0..00000000 --- a/web/src/main/resources/views/modules/demo/demoFormTableForm.html +++ /dev/null @@ -1,239 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏁版嵁绠$悊', libs: ['validate','fileupload','ueditor','dataGrid']}){ %> -
-
-
-
- 琛ㄦ牸琛ㄥ崟瀹炰緥 -
-
- -
-
- <#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal"> -
-

浜у搧淇℃伅鎯呭喌

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
鍩烘湰淇℃伅
* 璐熻矗浜 - <#form:input path="testInput" maxlength="200" class="form-control required" defaultValue="灏忕帇"/> - 鎵灞為儴闂 - <#form:treeselect id="testOffice" title="鏈烘瀯閫夋嫨" - path="testOffice.officeCode" labelPath="testOffice.officeName" - url="${ctx}/sys/office/treeData" defaultLabel="鎶鏈儴" - class="required" allowClear="true"/> - -
- <#form:fileupload id="uploadImage" bizKey="${testData.id}" bizType="testData_image" - uploadType="image" class="" readonly="false" preview="true" - maxUploadNum="1" isMini="true"/> -
-
鍗曡鏂囨湰 - <#form:input path="testInput" maxlength="200" class="form-control" defaultValue="婕旂ず鏂囨湰"/> - 鍗曡鏂囨湰 - <#form:input path="testInput" maxlength="200" class="form-control" defaultValue="婕旂ず鏂囨湰"/> -
涓嬫媺妗 - <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control" defaultValue="1"/> - 涓嬫媺澶氶 - <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control" defaultValue="2"/> -
鍗曢夋 - <#form:radio path="testRadio" dictType="sys_menu_type" class="form-control" defaultValue="1"/> - 澶嶉夋 - <#form:checkbox path="testCheckbox" dictType="sys_menu_type" class="form-control" defaultValue="1"/> -
鏃ユ湡閫夋嫨 - <#form:input path="testDate" readonly="true" maxlength="20" class="form-control laydate " - dataFormat="date" data-type="date" data-format="yyyy-MM-dd" defaultValue="${date()}"/> - 鏃ユ湡鏃堕棿 - <#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control laydate " - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm" defaultValue="${date()}"/> -
鍥㈤槦浜烘暟 浜恒傚叾涓妧鏈汉鍛 - 浜恒 -
鍔炲叕闈㈢Н M虏鏈嶅姟鎴锋暟
璇︾粏淇℃伅
- - - - - - - - - - - - - - - - - -
椤圭洰缂栧彿椤圭洰鍚嶇О椤圭洰鐗堟湰
鏂板浜у 涓囧厓鏂板閿鍞 涓囧厓鏂板浜ょ◣鎬婚 涓囧厓
-
鍐呭绠浠 - -
瀛愯〃鏁版嵁 -
- 澧炶 -
- - - - - -
闄勪欢
- <#form:fileupload id="uploadFile" bizKey="${testData.id}" bizType="testData_file" - uploadType="all" class="" readonly="false" preview="true"/> -
-
-   -   - -
-
- - -
-
-<% } %> - - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/test/testDataForm.html b/web/src/main/resources/views/modules/test/testDataForm.html deleted file mode 100644 index 9da06181..00000000 --- a/web/src/main/resources/views/modules/test/testDataForm.html +++ /dev/null @@ -1,403 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏁版嵁绠$悊', libs: ['validate','fileupload','dataGrid']}){ %> -
-
-
-
- ${text(testData.isNewRecord ? '鏂板鏁版嵁' : '缂栬緫鏁版嵁')} -
-
- -
-
- <#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal"> -
-
${text('鍩烘湰淇℃伅')}
- <#form:hidden path="id"/> -
-
-
- -
- <#form:input path="testInput" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:textarea path="testTextarea" rows="4" maxlength="200" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control" /> -
-
-
-
-
- -
- <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control" /> -
-
-
-
-
-
-
- -
- <#form:radio path="testRadio" dictType="sys_menu_type" class="form-control" /> -
-
-
-
-
- -
- <#form:checkbox path="testCheckbox" dictType="sys_menu_type" class="form-control" /> -
-
-
-
-
-
-
- -
- <#form:input path="testDate" readonly="true" maxlength="20" class="form-control laydate" - dataFormat="date" data-type="date" data-format="yyyy-MM-dd"/> -
-
-
-
-
- -
- <#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control laydate" - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/> -
-
-
-
-
-
-
- -
- <#form:treeselect id="testUser" title="${text('鐢ㄦ埛閫夋嫨')}" - path="testUser.userCode" labelPath="testUser.userName" - url="${ctx}/sys/office/treeData?isLoadUser=true" - class="" allowClear="true"/> -
-
-
-
-
- -
- <#form:treeselect id="testOffice" title="${text('鏈烘瀯閫夋嫨')}" - path="testOffice.officeCode" labelPath="testOffice.officeName" - url="${ctx}/sys/office/treeData" - class="" allowClear="true"/> -
-
-
-
-
-
-
- -
- <#form:treeselect id="testAreaCode" title="${text('鍖哄煙閫夋嫨')}" - path="testAreaCode" labelPath="testAreaName" - url="${ctx}/sys/area/treeData" - class="" allowClear="true"/> -
-
-
-
-
-
-
- -
- <#form:textarea path="remarks" rows="4" maxlength="500" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadImage" bizKey="${testData.id}" bizType="testData_image" - uploadType="image" class="" readonly="false" preview="true"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadFile" bizKey="${testData.id}" bizType="testData_file" - uploadType="all" class="" readonly="false" preview="true"/> -
-
-
-
-
${text('瀛愯〃鏁版嵁')}
-
-
- <% if (hasPermi('test:testData:edit')){ %> - ${text('澧炶')} - <% } %> -
-
- - -
-
-<% } %> - - - - - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/test/testTreeForm.html b/web/src/main/resources/views/modules/test/testTreeForm.html deleted file mode 100644 index 730c6557..00000000 --- a/web/src/main/resources/views/modules/test/testTreeForm.html +++ /dev/null @@ -1,131 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏁版嵁绠$悊', libs: ['validate','fileupload']}){ %> -
-
-
-
- ${text(testTree.isNewRecord ? '鏂板鏁版嵁' : '缂栬緫鏁版嵁')} -
-
- -
-
- <#form:form id="inputForm" model="${testTree}" action="${ctx}/test/testTree/save" method="post" class="form-horizontal"> -
-
${text('鍩烘湰淇℃伅')}
-
-
-
- -
- <#form:treeselect id="parent" title="${text('涓婄骇鏁版嵁')}" - path="parent.id" labelPath="parent.treeName" - url="${ctx}/test/testTree/treeData?excludeCode=${testTree.id}" - class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/> -
-
-
-
-
- -
- <#form:hidden path="isNewRecord"/> - <#form:input path="treeCode" maxlength="64" readonly="${!testTree.isNewRecord}" class="form-control required abc"/> -
-
-
-
-
-
-
- -
- <#form:input path="treeName" maxlength="200" class="form-control required"/> -
-
-
-
-
- -
- <#form:input path="treeSort" class="form-control required digits"/> -
-
-
-
-
-
-
- -
- <#form:textarea path="remarks" rows="4" maxlength="500" class="form-control"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadImage" bizKey="${testTree.id}" bizType="testTree_image" - uploadType="image" class="" readonly="false" preview="true"/> -
-
-
-
-
-
-
- -
- <#form:fileupload id="uploadFile" bizKey="${testTree.id}" bizType="testTree_file" - uploadType="all" class="" readonly="false" preview="true"/> -
-
-
-
-
- - -
-
-<% } %> - \ No newline at end of file diff --git a/web/src/main/resources/views/modules/test/testTreeList.html b/web/src/main/resources/views/modules/test/testTreeList.html deleted file mode 100644 index d53bce32..00000000 --- a/web/src/main/resources/views/modules/test/testTreeList.html +++ /dev/null @@ -1,96 +0,0 @@ -<% layout('/layouts/default.html', {title: '鏁版嵁绠$悊', libs: ['dataGrid']}){ %> -
-
-
-
- ${text('鏁版嵁绠$悊')} -
- -
-
- <#form:form id="searchForm" model="${testTree}" action="${ctx}/test/testTree/listData" method="post" class="form-inline hide" - data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}"> -
- -
- <#form:input path="treeName" maxlength="200" class="form-control width-120"/> -
-
-
- -
- <#form:input path="remarks" maxlength="500" class="form-control width-120"/> -
-
-
- -
- <#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control isQuick"/> -
-
-
- - -
- -
-
-
-
-<% } %> - \ No newline at end of file
-
- -
- <#form:form id="searchForm" model="${testData}" action="${ctx}/test/testData/listData" method="post" class="form-inline hide" - data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}"> -
- -
- <#form:input path="testInput" maxlength="200" class="form-control width-120"/> -
-
-
- -
- <#form:input path="testTextarea" maxlength="200" class="form-control width-120"/> -
-
-
- -
- <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:radio path="testRadio" dictType="sys_menu_type" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:checkbox path="testCheckbox" dictType="sys_menu_type" blankOption="true" class="form-control"/> -
-
-
- -
- <#form:input path="testDate_gte" readonly="true" maxlength="20" class="form-control laydate width-date" - dataFormat="date" data-type="date" data-format="yyyy-MM-dd" data-done="testDate_lte.click()"/> -  -  - <#form:input path="testDate_lte" readonly="true" maxlength="20" class="form-control laydate width-date" - dataFormat="date" data-type="date" data-format="yyyy-MM-dd"/> -
-
-
- -
- <#form:input path="testDatetime_gte" readonly="true" maxlength="20" class="form-control laydate width-datetime" - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm" data-done="testDatetime_lte.click()"/> -  -  - <#form:input path="testDatetime_lte" readonly="true" maxlength="20" class="form-control laydate width-datetime" - dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/> -
-
-
- -
- <#form:treeselect id="testUser" title="鐢ㄦ埛閫夋嫨" - path="testUser.userCode" labelPath="testUser.userName" - url="${ctx}/sys/office/treeData?isLoadUser=true" allowClear="true"/> -
-
-
- -
- <#form:treeselect id="testOffice" title="鏈烘瀯閫夋嫨" - path="testOffice.officeCode" labelPath="testOffice.officeName" - url="${ctx}/sys/office/treeData" allowClear="true"/> -
-
-
- -
- <#form:treeselect id="testAreaCode" title="鍖哄煙閫夋嫨" - path="testAreaCode" labelPath="testAreaName" - url="${ctx}/sys/area/treeData" allowClear="true"/> -
-
-
- -
- <#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control isQuick"/> -
-
-
- -
- <#form:input path="remarks" maxlength="500" class="form-control width-120"/> -
-
-
- - -
- - <#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal table-form"> -
-
- -
-
-