diff --git a/.classpath b/.classpath deleted file mode 100644 index edcab140..00000000 --- a/.classpath +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/.mymetadata b/.mymetadata deleted file mode 100644 index 7e254e60..00000000 --- a/.mymetadata +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/.project b/.project deleted file mode 100644 index cefc3346..00000000 --- a/.project +++ /dev/null @@ -1,63 +0,0 @@ - - - jeecg-framework - - - - - - org.eclipse.wst.common.project.facet.core.builder - - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - full,incremental, - - - LaunchConfigHandle - <project>/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch - - - - - com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator - - - - - com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator - - - - - org.eclipse.wst.validation.validationbuilder - - - - - com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder - - - - - - com.genuitec.eclipse.ast.deploy.core.deploymentnature - org.eclipse.jem.workbench.JavaEMFNature - com.genuitec.eclipse.j2eedt.core.webnature - org.eclipse.jdt.core.javanature - org.eclipse.wst.jsdt.core.jsNature - org.eclipse.wst.common.project.facet.core.nature - org.eclipse.wst.common.modulecore.ModuleCoreNature - - diff --git a/.settings/com.genuitec.eclipse.core.prefs b/.settings/com.genuitec.eclipse.core.prefs deleted file mode 100644 index 33c7cfdd..00000000 --- a/.settings/com.genuitec.eclipse.core.prefs +++ /dev/null @@ -1,9 +0,0 @@ -#Fri Jan 18 13:27:28 CST 2013 -clsCnt=228 -eclipse.preferences.version=1 -locCnt=35358 -pkgCnt=36 -sTime=2013\u5E741\u670818\u65E5 \u661F\u671F\u4E94 \u4E0B\u534801\u65F614\u520618\u79D2 CST -srcCnt=2 -validator.Checked=WebRoot/docTemp,WebRoot/webpage/business/projectfiling/basqinfo.jsp,src/com/accp/activiti,WebRoot/webpage/business/projectfiling/baslinfo.jsp,WebRoot/webpage/business/projectfiling/showprogress.jsp,WebRoot/renfang,WebRoot/webpage/html,src/com/accp/util/JackJson.java,WebRoot/webpage/business/projectfiling/filingAccep.jsp,WebRoot/webpage/business/projectfiling/filingApp.jsp,WebRoot/webpage/business/projectfiling/bashinfo.jsp,WebRoot/webpage/system/template/editTemplate.jsp,WebRoot/addCandidateUser.jsp -validator.Unchecked= diff --git a/.settings/com.genuitec.eclipse.j2eedt.core.prefs b/.settings/com.genuitec.eclipse.j2eedt.core.prefs deleted file mode 100644 index bc711c5f..00000000 --- a/.settings/com.genuitec.eclipse.j2eedt.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Wed Apr 10 16:37:41 CST 2013 -defaultTldInfo=http\://java.sun.com/jsp/jstl/core\=c;http\://java.sun.com/jsp/jstl/sql\=sql;html\=http\://struts.apache.org/tags-html;c\=http\://java.sun.com/jsp/jstl/core;h\=http\://java.sun.com/jsf/html;fmt\=http\://java.sun.com/jsp/jstl/fmt;nested\=http\://struts.apache.org/tags-nested;http\://struts.apache.org/tags-html\=html;http\://java.sun.com/jsp/jstl/fmt\=fmt;bean\=http\://struts.apache.org/tags-bean;http\://java.sun.com/jsp/jstl/functions\=fn;fn\=http\://java.sun.com/jsp/jstl/functions;logic\=http\://struts.apache.org/tags-logic;http\://struts.apache.org/tags-nested\=nested;http\://java.sun.com/jsp/jstl/xml\=x;tiles\=http\://struts.apache.org/tags-tiles;f\=http\://java.sun.com/jsf/core;http\://java.sun.com/jsf/html\=h;http\://struts.apache.org/tags-tiles\=tiles;http\://java.sun.com/jsf/core\=f;http\://struts.apache.org/tags-bean\=bean;x\=http\://java.sun.com/jsp/jstl/xml;sql\=http\://java.sun.com/jsp/jstl/sql;http\://struts.apache.org/tags-logic\=logic -eclipse.preferences.version=1 diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index e2801c39..00000000 --- a/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,10 +0,0 @@ -#Sun Oct 13 20:38:51 CST 2013 -eclipse.preferences.version=1 -encoding//WebRoot/plug-in/accordion/css/accordion.css=UTF-8 -encoding//WebRoot/plug-in/datatables/thems/default/datatables_style.css=UTF-8 -encoding//WebRoot/plug-in/datatables/thems/grey/datatables_style.css=UTF-8 -encoding//WebRoot/plug-in/datatables/thems/grey/datatables_top.css=UTF-8 -encoding//resources/dbconfig.properties=UTF-8 -encoding//resources/sysConfig.properties=UTF-8 -encoding/=UTF-8 -encoding/WebRoot=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 8612b7f4..00000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Wed Aug 08 15:20:31 CST 2012 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component deleted file mode 100644 index ad372dc5..00000000 --- a/.settings/org.eclipse.wst.common.component +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs deleted file mode 100644 index f60a3746..00000000 --- a/.settings/org.eclipse.wst.validation.prefs +++ /dev/null @@ -1,9 +0,0 @@ -#Fri Jan 18 13:23:53 CST 2013 -DELEGATES_PREFERENCE=delegateValidatorList -USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator; -USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator; -USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.200.me201103162335 -eclipse.preferences.version=1 -override=true -suspend=false -vf.version=3 diff --git a/WebRoot/WEB-INF/classes/ehcache.xml b/WebRoot/WEB-INF/classes/ehcache.xml deleted file mode 100644 index c6195d38..00000000 --- a/WebRoot/WEB-INF/classes/ehcache.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/CourseController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/CourseController.class deleted file mode 100644 index 31b68a69..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/CourseController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/DemoController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/DemoController.class deleted file mode 100644 index f673adac..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/DemoController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgBlobDataController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgBlobDataController.class deleted file mode 100644 index abe94432..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgBlobDataController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgDemoCkfinderController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgDemoCkfinderController.class deleted file mode 100644 index 15a7e246..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgDemoCkfinderController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgDemoController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgDemoController.class deleted file mode 100644 index bde6d82f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgDemoController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgEasyUIController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgEasyUIController.class deleted file mode 100644 index 4aa29bf9..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgEasyUIController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgJdbcController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgJdbcController.class deleted file mode 100644 index 190cbe8b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgJdbcController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgMatterBomController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgMatterBomController.class deleted file mode 100644 index 698bb007..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgMatterBomController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgNoteController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgNoteController.class deleted file mode 100644 index 836c6e29..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgNoteController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgOrderMainController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgOrderMainController.class deleted file mode 100644 index 9f36c472..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgOrderMainController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgOrderMainNoTagController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgOrderMainNoTagController.class deleted file mode 100644 index 980a1aa9..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JeecgOrderMainNoTagController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JpPersonController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JpPersonController.class deleted file mode 100644 index d0caba67..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/JpPersonController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/OptimisticLockingController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/OptimisticLockingController.class deleted file mode 100644 index d8279ca9..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/OptimisticLockingController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/ReportDemoController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/ReportDemoController.class deleted file mode 100644 index 08c96425..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/ReportDemoController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/TFinanceController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/TFinanceController.class deleted file mode 100644 index 2304c204..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/TFinanceController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/UserNoPageController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/UserNoPageController.class deleted file mode 100644 index 4f83e668..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/UserNoPageController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/WebOfficeController.class b/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/WebOfficeController.class deleted file mode 100644 index 54ba2265..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/controller/test/WebOfficeController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/CKEditorEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/CKEditorEntity.class deleted file mode 100644 index f39a1ac4..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/CKEditorEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/CourseEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/CourseEntity.class deleted file mode 100644 index e662343a..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/CourseEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgBlobDataEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgBlobDataEntity.class deleted file mode 100644 index 037040fd..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgBlobDataEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgDemo.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgDemo.class deleted file mode 100644 index e8767291..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgDemo.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgDemoCkfinderEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgDemoCkfinderEntity.class deleted file mode 100644 index fe421360..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgDemoCkfinderEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgJdbcEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgJdbcEntity.class deleted file mode 100644 index d5b6d64f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgJdbcEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgMatterBom.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgMatterBom.class deleted file mode 100644 index c7c7881b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgMatterBom.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgNoteEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgNoteEntity.class deleted file mode 100644 index b4407960..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgNoteEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderCustomEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderCustomEntity.class deleted file mode 100644 index 696b5e60..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderCustomEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderMainEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderMainEntity.class deleted file mode 100644 index a635c943..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderMainEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderProductEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderProductEntity.class deleted file mode 100644 index 974aed9e..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JeecgOrderProductEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JpPersonEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JpPersonEntity.class deleted file mode 100644 index 8eba7b2e..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/JpPersonEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/OptimisticLockingEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/OptimisticLockingEntity.class deleted file mode 100644 index 5c0e80f0..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/OptimisticLockingEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/StudentEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/StudentEntity.class deleted file mode 100644 index 9e4f9461..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/StudentEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TFinanceEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TFinanceEntity.class deleted file mode 100644 index a4fd2bb3..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TFinanceEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TFinanceFilesEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TFinanceFilesEntity.class deleted file mode 100644 index d88a020d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TFinanceFilesEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TSStudent.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TSStudent.class deleted file mode 100644 index 3c79758c..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TSStudent.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TeacherEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TeacherEntity.class deleted file mode 100644 index 77df1104..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/TeacherEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/WebOfficeEntity.class b/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/WebOfficeEntity.class deleted file mode 100644 index 8a957ce7..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/entity/test/WebOfficeEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/page/JeecgOrderMainPage.class b/WebRoot/WEB-INF/classes/jeecg/demo/page/JeecgOrderMainPage.class deleted file mode 100644 index 54e45ccf..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/page/JeecgOrderMainPage.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/CourseServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/CourseServiceImpl.class deleted file mode 100644 index 8eefed7a..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/CourseServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgBlobDataServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgBlobDataServiceImpl.class deleted file mode 100644 index f628c986..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgBlobDataServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.class deleted file mode 100644 index 10dfa4d5..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgDemoServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgDemoServiceImpl.class deleted file mode 100644 index f9af769f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgDemoServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$Db2Page.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$Db2Page.class deleted file mode 100644 index 1bc816b8..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$Db2Page.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$IMyDataExchanger.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$IMyDataExchanger.class deleted file mode 100644 index 056c2142..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$IMyDataExchanger.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$MyDataExchangerSex.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$MyDataExchangerSex.class deleted file mode 100644 index d79dfba8..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl$MyDataExchangerSex.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl.class deleted file mode 100644 index 3595586c..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgMatterBomServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgMatterBomServiceImpl.class deleted file mode 100644 index ab7717d6..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgMatterBomServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgNoteServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgNoteServiceImpl.class deleted file mode 100644 index 110e8742..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgNoteServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgNoteServiceImplTest.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgNoteServiceImplTest.class deleted file mode 100644 index b6a2de9e..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgNoteServiceImplTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgOrderMainServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgOrderMainServiceImpl.class deleted file mode 100644 index 24463333..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JeecgOrderMainServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JpPersonServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JpPersonServiceImpl.class deleted file mode 100644 index 0fa79e60..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/JpPersonServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/OptimisticLockingServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/OptimisticLockingServiceImpl.class deleted file mode 100644 index d357ea6e..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/OptimisticLockingServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/TFinanceServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/TFinanceServiceImpl.class deleted file mode 100644 index ece4a166..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/TFinanceServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/TaskDemoServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/TaskDemoServiceImpl.class deleted file mode 100644 index 0130a847..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/TaskDemoServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/WebOfficeServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/WebOfficeServiceImpl.class deleted file mode 100644 index 2f6cd49f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/impl/test/WebOfficeServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/CourseServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/CourseServiceI.class deleted file mode 100644 index 7ab2be66..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/CourseServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgBlobDataServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgBlobDataServiceI.class deleted file mode 100644 index e4353082..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgBlobDataServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgDemoCkfinderServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgDemoCkfinderServiceI.class deleted file mode 100644 index 9a172870..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgDemoCkfinderServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgDemoServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgDemoServiceI.class deleted file mode 100644 index 96941909..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgDemoServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgJdbcServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgJdbcServiceI.class deleted file mode 100644 index a99dee03..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgJdbcServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgMatterBomServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgMatterBomServiceI.class deleted file mode 100644 index 9a312f32..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgMatterBomServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgNoteServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgNoteServiceI.class deleted file mode 100644 index 1576e6eb..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgNoteServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgOrderMainServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgOrderMainServiceI.class deleted file mode 100644 index b13c3f9d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JeecgOrderMainServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JpPersonServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JpPersonServiceI.class deleted file mode 100644 index 1bac3321..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/JpPersonServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/OptimisticLockingServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/OptimisticLockingServiceI.class deleted file mode 100644 index 3df2b8ed..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/OptimisticLockingServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/TFinanceServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/TFinanceServiceI.class deleted file mode 100644 index a972781b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/TFinanceServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/TaskDemoServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/TaskDemoServiceI.class deleted file mode 100644 index 8417da8d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/TaskDemoServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/WebOfficeServiceI.class b/WebRoot/WEB-INF/classes/jeecg/demo/service/test/WebOfficeServiceI.class deleted file mode 100644 index c47342ce..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/demo/service/test/WebOfficeServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/jeecg_config.properties b/WebRoot/WEB-INF/classes/jeecg/jeecg_config.properties deleted file mode 100644 index 90352ef9..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/jeecg_config.properties +++ /dev/null @@ -1,29 +0,0 @@ -#default code path -source_root_package=src -webroot_package=WebRoot - -#maven code path -#source_root_package=src.main.java -#webroot_package=src.main.webapp - -#bussi_package[User defined] -bussi_package=jeecg.test -#bussi_package=com.sys - - -#ftl resource url -templatepath=jeecg/template -system_encoding=utf-8 - -#Table key [User defined] -jeecg_generate_table_id=id -#Search Param num [User defined] -jeecg_ui_search_filed_num=1 - -#jeecg convert flag[true/false] -jeecg_filed_convert=true - - -#ui_filter_fields \u8fc7\u6ee4\u4e0d\u9700\u8981\u9875\u9762\u751f\u6210\u7684\u8868\u5b57\u6bb5 -ui_filter_fields=create_date,create_by,create_name,update_date,update_by,update_name -project_path=E:/Workspace-jeecg/jeecg-v3-simple diff --git a/WebRoot/WEB-INF/classes/jeecg/jeecg_database.properties b/WebRoot/WEB-INF/classes/jeecg/jeecg_database.properties deleted file mode 100644 index 3908c0d7..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/jeecg_database.properties +++ /dev/null @@ -1,20 +0,0 @@ -#mysql -diver_name=com.mysql.jdbc.Driver -url=jdbc:mysql://localhost:3306/jeecg?useUnicode=true&characterEncoding=UTF-8 -username=root -password=root -database_name=jeecg - -#oracle -#diver_name=oracle.jdbc.driver.OracleDriver -#url=jdbc:oracle:thin:@10.68.111.40:1521:easyssh -#username=test -#password=test - -#postgre -#diver_name=org.postgresql.Driver -#url=jdbc:postgresql://localhost:5432/jeecg -#username=postgres -#password=postgres -#database_name=jeecg - diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/core/BaseRestApplication.class b/WebRoot/WEB-INF/classes/jeecg/rest/core/BaseRestApplication.class deleted file mode 100644 index 96c5cb76..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/core/BaseRestApplication.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/core/BaseServiceInit.class b/WebRoot/WEB-INF/classes/jeecg/rest/core/BaseServiceInit.class deleted file mode 100644 index 1366a5e4..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/core/BaseServiceInit.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/core/DefaultResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/core/DefaultResource.class deleted file mode 100644 index 05bc630d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/core/DefaultResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/core/JsonPFilter.class b/WebRoot/WEB-INF/classes/jeecg/rest/core/JsonPFilter.class deleted file mode 100644 index 2015c86b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/core/JsonPFilter.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/HelloWorldResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/HelloWorldResource.class deleted file mode 100644 index cb8c242b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/HelloWorldResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/HelloWorldResourceTest.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/HelloWorldResourceTest.class deleted file mode 100644 index 23ea4fa0..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/HelloWorldResourceTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserDeleteResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserDeleteResource.class deleted file mode 100644 index debe342f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserDeleteResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserDeleteResourceTest.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserDeleteResourceTest.class deleted file mode 100644 index ca4c82fc..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserDeleteResourceTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserGetByIdResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserGetByIdResource.class deleted file mode 100644 index 310f43a0..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserGetByIdResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserInsertResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserInsertResource.class deleted file mode 100644 index 33675a67..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserInsertResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserInsertResourceTest.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserInsertResourceTest.class deleted file mode 100644 index b7ac9624..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserInsertResourceTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserQueryResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserQueryResource.class deleted file mode 100644 index b09bb573..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserQueryResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserQueryResourceTest.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserQueryResourceTest.class deleted file mode 100644 index 29fd2b88..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserQueryResourceTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserUpdateResource.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserUpdateResource.class deleted file mode 100644 index 2ff8b4cc..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserUpdateResource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserUpdateResourceTest.class b/WebRoot/WEB-INF/classes/jeecg/rest/example/UserUpdateResourceTest.class deleted file mode 100644 index d057769b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/example/UserUpdateResourceTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/example/readme.txt b/WebRoot/WEB-INF/classes/jeecg/rest/example/readme.txt deleted file mode 100644 index 1f54e76f..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/rest/example/readme.txt +++ /dev/null @@ -1,5 +0,0 @@ -http://127.0.0.1:8080/jeecg-v3-simple/services/user/gets/xml -http://127.0.0.1:8080/jeecg-v3-simple/services/user/getById/xml/4028811e4152ef07014152f0d298003f -http://127.0.0.1:8080/jeecg-v3-simple/services/user/insert/json/yankang/zhangyan/4028811e4152ef07014152f0d1dd0015 -http://127.0.0.1:8080/jeecg-v3-simple/services/user/delete/xml/402881e3415ed86001415ed9a85e0001 -http://127.0.0.1:8080/jeecg-v3-simple/services/user/update/xml/zhangyan/zhangyan/402881e3415ed86001415edc916c0002 \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/rest/utils/Utils.class b/WebRoot/WEB-INF/classes/jeecg/rest/utils/Utils.class deleted file mode 100644 index b05514bd..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/rest/utils/Utils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/CommonController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/CommonController.class deleted file mode 100644 index c4768aa1..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/CommonController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/ConfigController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/ConfigController.class deleted file mode 100644 index e6c4fb6b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/ConfigController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DataSourceController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DataSourceController.class deleted file mode 100644 index 01d7ac60..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DataSourceController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DepartController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DepartController.class deleted file mode 100644 index 64c05148..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DepartController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DuplicateCheckAction.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DuplicateCheckAction.class deleted file mode 100644 index 5b8da31f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/DuplicateCheckAction.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/FunctionController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/FunctionController.class deleted file mode 100644 index f38dea47..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/FunctionController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/IconController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/IconController.class deleted file mode 100644 index 0ddb5be1..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/IconController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/IconImageUtil.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/IconImageUtil.class deleted file mode 100644 index d6445556..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/IconImageUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/LogController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/LogController.class deleted file mode 100644 index f88702ae..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/LogController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/LoginController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/LoginController.class deleted file mode 100644 index f2517720..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/LoginController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/RepairController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/RepairController.class deleted file mode 100644 index 9ffcfef7..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/RepairController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/RoleController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/RoleController.class deleted file mode 100644 index d722810e..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/RoleController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/SystemController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/SystemController.class deleted file mode 100644 index c394266f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/SystemController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/TerritoryController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/TerritoryController.class deleted file mode 100644 index 02a8ca49..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/TerritoryController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/TimeTaskController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/TimeTaskController.class deleted file mode 100644 index cbf26309..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/TimeTaskController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/UserController.class b/WebRoot/WEB-INF/classes/jeecg/system/controller/core/UserController.class deleted file mode 100644 index 05afdadd..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/controller/core/UserController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/dao/repair/RepairDao.class b/WebRoot/WEB-INF/classes/jeecg/system/dao/repair/RepairDao.class deleted file mode 100644 index fcb34a99..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/dao/repair/RepairDao.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/listener/CkfinderConfiguration.class b/WebRoot/WEB-INF/classes/jeecg/system/listener/CkfinderConfiguration.class deleted file mode 100644 index 38f8e41c..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/listener/CkfinderConfiguration.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/listener/InitListener.class b/WebRoot/WEB-INF/classes/jeecg/system/listener/InitListener.class deleted file mode 100644 index adbcdf47..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/listener/InitListener.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/listener/OnlineListener.class b/WebRoot/WEB-INF/classes/jeecg/system/listener/OnlineListener.class deleted file mode 100644 index 3015454f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/listener/OnlineListener.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/manager/ClientManager.class b/WebRoot/WEB-INF/classes/jeecg/system/manager/ClientManager.class deleted file mode 100644 index 68c5931d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/manager/ClientManager.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/manager/ClientSort.class b/WebRoot/WEB-INF/classes/jeecg/system/manager/ClientSort.class deleted file mode 100644 index 5e125773..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/manager/ClientSort.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/Client.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/Client.class deleted file mode 100644 index 6363c2e0..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/Client.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/DuplicateCheckPage.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/DuplicateCheckPage.class deleted file mode 100644 index 1656f62d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/DuplicateCheckPage.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSAttachment.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSAttachment.class deleted file mode 100644 index 628ee1b5..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSAttachment.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSBaseUser.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSBaseUser.class deleted file mode 100644 index 89be8bc6..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSBaseUser.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSConfig.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSConfig.class deleted file mode 100644 index 82bf3091..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSConfig.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDemo.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDemo.class deleted file mode 100644 index 97ebed29..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDemo.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDepart.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDepart.class deleted file mode 100644 index da9ecb2c..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDepart.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDocument.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDocument.class deleted file mode 100644 index 5f8d904f..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSDocument.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSFileno.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSFileno.class deleted file mode 100644 index a62fff26..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSFileno.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSFunction.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSFunction.class deleted file mode 100644 index d997be5b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSFunction.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSIcon.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSIcon.class deleted file mode 100644 index a60f4f8d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSIcon.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSLog.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSLog.class deleted file mode 100644 index 3a90f250..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSLog.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSOperation.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSOperation.class deleted file mode 100644 index 74373555..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSOperation.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSOpinTemplate.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSOpinTemplate.class deleted file mode 100644 index 8e461dcb..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSOpinTemplate.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRole.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRole.class deleted file mode 100644 index 44f46ef2..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRole.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRoleFunction.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRoleFunction.class deleted file mode 100644 index f866dae4..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRoleFunction.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRoleUser.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRoleUser.class deleted file mode 100644 index 7a52b19d..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSRoleUser.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTerritory.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTerritory.class deleted file mode 100644 index e4f58d97..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTerritory.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTimeTaskEntity.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTimeTaskEntity.class deleted file mode 100644 index 80420f66..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTimeTaskEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSType.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSType.class deleted file mode 100644 index bd926de9..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSType.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTypegroup.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTypegroup.class deleted file mode 100644 index f20f1a95..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSTypegroup.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSUser.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSUser.class deleted file mode 100644 index 7968dfb3..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSUser.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSVersion.class b/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSVersion.class deleted file mode 100644 index 43cb9f1b..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/pojo/base/TSVersion.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/DeclareService.class b/WebRoot/WEB-INF/classes/jeecg/system/service/DeclareService.class deleted file mode 100644 index 51968ffa..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/DeclareService.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/MenuInitService.class b/WebRoot/WEB-INF/classes/jeecg/system/service/MenuInitService.class deleted file mode 100644 index 2bab14f7..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/MenuInitService.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/RepairService.class b/WebRoot/WEB-INF/classes/jeecg/system/service/RepairService.class deleted file mode 100644 index e131e523..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/RepairService.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/SystemService.class b/WebRoot/WEB-INF/classes/jeecg/system/service/SystemService.class deleted file mode 100644 index afcf54f3..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/SystemService.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/TimeTaskServiceI.class b/WebRoot/WEB-INF/classes/jeecg/system/service/TimeTaskServiceI.class deleted file mode 100644 index 019b23ba..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/TimeTaskServiceI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/UserService.class b/WebRoot/WEB-INF/classes/jeecg/system/service/UserService.class deleted file mode 100644 index 06ef9e14..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/UserService.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/DeclareServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/DeclareServiceImpl.class deleted file mode 100644 index 12ba16be..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/DeclareServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/MenuInitServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/MenuInitServiceImpl.class deleted file mode 100644 index b19aa2c8..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/MenuInitServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/RepairServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/RepairServiceImpl.class deleted file mode 100644 index 96ff9648..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/RepairServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/SystemServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/SystemServiceImpl.class deleted file mode 100644 index 316c4b61..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/SystemServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/TimeTaskServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/TimeTaskServiceImpl.class deleted file mode 100644 index 4a399ac5..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/TimeTaskServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/UserServiceImpl.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/UserServiceImpl.class deleted file mode 100644 index 4ef64912..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/UserServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/UserServiceImplTest.class b/WebRoot/WEB-INF/classes/jeecg/system/service/impl/UserServiceImplTest.class deleted file mode 100644 index eb50acec..00000000 Binary files a/WebRoot/WEB-INF/classes/jeecg/system/service/impl/UserServiceImplTest.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/jeecg/system/sql/UserServiceImplTest/testGetCountForJdbc.sql b/WebRoot/WEB-INF/classes/jeecg/system/sql/UserServiceImplTest/testGetCountForJdbc.sql deleted file mode 100644 index 120049cf..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/system/sql/UserServiceImplTest/testGetCountForJdbc.sql +++ /dev/null @@ -1 +0,0 @@ -select count(*) from t_s_user \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/system/sql/repair/RepairDao_batchRepairTerritory.sql b/WebRoot/WEB-INF/classes/jeecg/system/sql/repair/RepairDao_batchRepairTerritory.sql deleted file mode 100644 index f1c08c0b..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/system/sql/repair/RepairDao_batchRepairTerritory.sql +++ /dev/null @@ -1,900 +0,0 @@ -INSERT INTO `t_s_territory` VALUES ('1', '100', '1', '全国', '', '0', '106.258754', '38.471318', '0'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('100', '371300', '3', '临沂市', 'LYS', '0', '118.356448', '35.104672', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('101', '371400', '3', '德州市', 'DZS', '0', '116.357465', '37.434093', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('102', '371500', '3', '聊城市', 'LCS', '0', '115.985371', '36.4567039', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('103', '371600', '3', '滨州市', 'BZS', '0', '117.970703', '37.38199', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('104', '371700', '3', '菏泽市', 'HZS', '0', '115.480656', '35.23375', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('195', '370100', '3', '济南市', 'JNS', '0', '116.994917', '36.665282', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('89', '370200', '3', '青岛市', 'QDS', '0', '120.382504', '36.06722', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('90', '370300', '3', '淄博市', 'ZBS', '0', '118.055007', '36.813497', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('91', '370400', '3', '枣庄市', 'ZZS', '0', '117.323725', '34.810488', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('92', '370500', '3', '东营市', 'DYS', '0', '118.674767', '37.434751', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('93', '370600', '3', '烟台市', 'YTS', '0', '121.447926', '37.463819', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('94', '370700', '3', '潍坊市', 'WFS', '0', '119.16193', '36.706691', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('95', '370800', '3', '济宁市', 'JNS', '0', '116.587099', '35.414921', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('10', '00000016', '2', '河南省', 'HNS', '0', '113.687228', '34.76819', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('11', '00000008', '2', '黑龙江省', 'HLJS', '0', '126.662507', '45.7421699', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('12', '20000000', '2', '上海市', 'SHS', '0', '121.473704', '31.230393', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('13', '00000010', '2', '江苏省', 'JSS', '0', '118.763232', '32.061707', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('14', '00000011', '2', '浙江省', 'ZJS', '0', '120.153676', '30.26586', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('15', '00000012', '2', '安徽省', 'AHS', '0', '117.284923', '31.861184', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('16', '00000013', '2', '福建省', 'FJS', '0', '119.296506', '26.099933', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('17', '00000014', '2', '江西省', 'JXS', '0', '115.909175', '28.674424', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('18', '00000015', '2', '山东省', 'SDS', '0', '117.020411', '36.668627', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('19', '00000017', '2', '湖北省', 'HBS', '0', '114.341921', '30.545861', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('20', '00000018', '2', '湖南省', 'HNS', '0', '112.98381', '28.112444', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('21', '40000000', '2', '重庆市', 'ZQS', '0', '106.551557', '29.56301', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('22', '00000022', '2', '四川省', 'SCS', '0', '104.075931', '30.651652', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('23', '00000019', '2', '广东省', 'GDS', '0', '113.266531', '23.132191', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('24', '00000020', '2', '广西壮族自治区', 'GXZZZZQ', '0', '108.327546', '22.815478', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('25', '00000021', '2', '海南省', 'HNS', '0', '110.349229', '20.017378', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('26', '810000', '2', '香港特别行政区', 'XGTBXZQ', '0', '114.109497', '22.396428', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('27', '820000', '2', '澳门特别行政区', 'AMTBXZQ', '0', '113.543873', '22.198745', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('28', '00000023', '2', '贵州省', 'GZS', '0', '106.707116', '26.598026', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('29', '00000024', '2', '云南省', 'YNS', '0', '102.709812', '25.045359', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('3', '00000006', '2', '辽宁省', 'LNS', '0', '123.42944', '41.835441', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('30', '00000025', '2', '西藏自治区', 'XCZZQ', '0', '91.1170059', '29.647951', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('31', '00000026', '2', '陕西省', 'SXS', '0', '108.954239', '34.265472', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('32', '00000027', '2', '甘肃省', 'GSS', '0', '103.826308', '36.059421', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('33', '00000028', '2', '青海省', 'QHS', '0', '101.780199', '36.620901', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('34', '00000029', '2', '宁夏回族自治区', 'NXHZZZQ', '0', '106.258754', '38.471318', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('35', '00000030', '2', '新疆维吾尔自治区', 'XJWWEZZQ', '0', '87.6278119', '43.793028', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('4', '00000007', '2', '吉林省', 'JLS', '0', '125.326065', '43.896082', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('5', '10000000', '2', '北京市', 'BJS', '0', '116.407413', '39.904214', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('6', '30000000', '2', '天津市', 'TJS', '0', '117.200983', '39.084158', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('7', '00000003', '2', '河北省', 'HBS', '0', '114.468665', '38.037057', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('8', '00000004', '2', '山西省', 'SXS', '0', '112.562569', '37.873376', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('9', '00000005', '2', '内蒙古自治区', 'NMGZZQ', '0', '111.765618', '40.817498', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1000', '370903', '4', '岱岳区', 'DYQ', '0', '117.041582', '36.18799', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1001', '370921', '4', '宁阳县', 'NYX', '0', '116.805797', '35.758787', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1002', '370923', '4', '东平县', 'DPX', '0', '116.470304', '35.937102', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1003', '370982', '4', '新泰市', 'XTS', '0', '117.767953', '35.909032', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1004', '370983', '4', '肥城市', 'FCS', '0', '116.768358', '36.182571', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1005', '371002', '4', '环翠区', 'HCQ', '0', '122.123444', '37.501991', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1006', '371081', '4', '文登市', 'WDS', '0', '122.058128', '37.1939129', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1007', '371082', '4', '荣成市', 'RCS', '0', '122.486676', '37.165249', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1008', '371083', '4', '乳山市', 'RSS', '0', '121.539764', '36.919816', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1009', '371102', '4', '东港区', 'DGQ', '0', '119.462228', '35.425475', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1010', '371103', '4', '岚山区', 'LSQ', '0', '119.318813', '35.121816', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1011', '371121', '4', '五莲县', 'WLX', '0', '119.208744', '35.750095', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1012', '371122', '4', '莒县', 'JX', '0', '118.837131', '35.579868', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1013', '371202', '4', '莱城区', 'LCQ', '0', '117.659864', '36.203208', '99'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1014', '371203', '4', '钢城区', 'GCQ', '0', '117.811355', '36.058572', '99'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1015', '371302', '4', '兰山区', 'LSQ', '0', '118.347707', '35.051729', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1016', '371311', '4', '罗庄区', 'LZQ', '0', '118.284786', '34.996741', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1017', '371312', '4', '河东区', 'HDQ', '0', '118.402893', '35.089917', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1018', '371321', '4', '沂南县', 'YNX', '0', '118.465213', '35.549976', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1019', '371322', '4', '郯城县', 'TCX', '0', '118.367263', '34.613557', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1020', '371323', '4', '沂水县', 'YSX', '0', '118.627918', '35.79045', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1021', '371324', '4', '苍山县', 'CSX', '0', '118.07065', '34.857149', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1022', '371325', '4', '费县', 'FX', '0', '117.977868', '35.26634', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1023', '371326', '4', '平邑县', 'PYX', '0', '117.640352', '35.5059429', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1024', '371327', '4', '莒南县', 'JNX', '0', '118.835163', '35.174846', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1025', '371328', '4', '蒙阴县', 'MYX', '0', '117.945085', '35.710032', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1026', '371329', '4', '临沭县', 'LSX', '0', '118.650782', '34.919852', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1027', '371402', '4', '德城区', 'DCQ', '0', '116.299434', '37.451272', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1028', '371421', '4', '陵县', 'LX', '0', '116.576176', '37.33579', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1029', '371422', '4', '宁津县', 'NJX', '0', '116.800324', '37.652329', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1030', '371423', '4', '庆云县', 'QYX', '0', '117.385123', '37.77539', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1031', '371424', '4', '临邑县', 'LYX', '0', '116.86665', '37.189864', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1032', '371425', '4', '齐河县', 'QHX', '0', '116.758917', '36.795011', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1033', '371426', '4', '平原县', 'PYX', '0', '116.434187', '37.165419', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1034', '371427', '4', '夏津县', 'XJX', '0', '116.001726', '36.948371', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1035', '371428', '4', '武城县', 'WCX', '0', '116.069302', '37.213311', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1036', '371481', '4', '乐陵市', 'LLS', '0', '117.231935', '37.729907', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1037', '371482', '4', '禹城市', 'YCS', '0', '116.638387', '36.934259', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1038', '371502', '4', '东昌府区', 'DCFQ', '0', '115.988484', '36.434697', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1039', '371521', '4', '阳谷县', 'YGX', '0', '115.79182', '36.114392', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1040', '371522', '4', '莘县', 'SX', '0', '115.671191', '36.233599', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1041', '371523', '4', '茌平县', 'CPX', '0', '116.255282', '36.5807639', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1042', '371524', '4', '东阿县', 'DAX', '0', '116.24758', '36.334917', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1043', '371525', '4', '冠县', 'GX', '0', '115.44274', '36.484009', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1044', '371526', '4', '高唐县', 'GTX', '0', '116.231478', '36.866062', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1045', '371581', '4', '临清市', 'LQS', '0', '115.704881', '36.838277', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1046', '371602', '4', '滨城区', 'BCQ', '0', '118.019146', '37.43206', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1047', '371621', '4', '惠民县', 'HMX', '0', '117.510451', '37.489769', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1048', '371622', '4', '阳信县', 'YXX', '0', '117.578262', '37.641106', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1049', '371623', '4', '无棣县', 'WDX', '0', '117.625696', '37.770261', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1050', '371624', '4', '沾化县', 'ZHX', '0', '118.132199', '37.698281', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1051', '371625', '4', '博兴县', 'BXX', '0', '118.131815', '37.150226', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1052', '371626', '4', '邹平县', 'ZPX', '0', '117.743109', '36.862989', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1053', '371702', '4', '牡丹区', 'MDQ', '0', '115.417827', '35.252512', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1054', '371721', '4', '曹县', 'CX', '0', '115.542328', '34.825508', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1055', '371722', '4', '单县', 'DX', '0', '116.107428', '34.778808', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1056', '371723', '4', '成武县', 'CWX', '0', '115.889765', '34.952459', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1057', '371724', '4', '巨野县', 'JYX', '0', '116.094674', '35.396261', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1058', '371725', '4', '郓城县', 'YCX', '0', '115.943613', '35.599758', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1059', '371726', '4', '鄄城县', 'JCX', '0', '115.510193', '35.563408', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1060', '371727', '4', '定陶县', 'DTX', '0', '115.573094', '35.071', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1061', '371728', '4', '东明县', 'DMX', '0', '115.089905', '35.289368', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1839', '370102', '4', '历下区', 'LXQ', '0', '117.07653', '36.666344', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1840', '370103', '4', '市中区', 'SZQ', '0', '116.997475', '36.6511749', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1841', '370104', '4', '槐荫区', 'HYQ', '0', '116.90113', '36.651301', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1842', '370105', '4', '天桥区', 'TQQ', '0', '116.987492', '36.678016', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1843', '370112', '4', '历城区', 'LCQ', '0', '117.065222', '36.680171', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('926', '370113', '4', '长清区', 'CQQ', '0', '116.751959', '36.553691', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('927', '370124', '4', '平阴县', 'PYX', '0', '116.456187', '36.289265', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('928', '370125', '4', '济阳县', 'JYX', '0', '117.173529', '36.978547', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('929', '370126', '4', '商河县', 'SHX', '0', '117.157183', '37.309045', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('930', '370181', '4', '章丘市', 'ZQS', '0', '117.534326', '36.714015', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('931', '370202', '4', '市南区', 'SNQ', '0', '120.412392', '36.075651', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('932', '370203', '4', '市北区', 'SBQ', '0', '120.374801', '36.087661', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('933', '370205', '4', '四方区', 'SFQ', '0', '120.366454', '36.103993', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('934', '370211', '4', '黄岛区', 'HDQ', '0', '120.198054', '35.960935', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('935', '370212', '4', '崂山区', 'LSQ', '0', '120.468956', '36.107538', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('936', '370213', '4', '李沧区', 'LCQ', '0', '120.432864', '36.145476', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('937', '370214', '4', '城阳区', 'CYQ', '0', '120.396529', '36.307061', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('938', '370281', '4', '胶州市', 'JZS', '0', '120.033345', '36.264664', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('939', '370282', '4', '即墨市', 'JMS', '0', '120.447162', '36.389401', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('940', '370283', '4', '平度市', 'PDS', '0', '119.960014', '36.7867', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('941', '370284', '4', '胶南市', 'JNS', '0', '120.04643', '35.8725', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('942', '370285', '4', '莱西市', 'LXS', '0', '120.51769', '36.889084', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('943', '370302', '4', '淄川区', 'ZCQ', '0', '117.966842', '36.643449', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('944', '370303', '4', '张店区', 'ZDQ', '0', '118.017656', '36.806773', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('945', '370304', '4', '博山区', 'BSQ', '0', '117.861698', '36.494752', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('946', '370305', '4', '临淄区', 'LZQ', '0', '118.308977', '36.827343', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('947', '370306', '4', '周村区', 'ZCQ', '0', '117.869877', '36.803109', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('948', '370321', '4', '桓台县', 'HTX', '0', '118.097955', '36.959623', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('949', '370322', '4', '高青县', 'GQX', '0', '117.826916', '37.171063', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('950', '370323', '4', '沂源县', 'YYX', '0', '118.170979', '36.184827', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('951', '370402', '4', '市中区', 'SZQ', '0', '117.556124', '34.864114', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('952', '370403', '4', '薛城区', 'YCQ', '0', '117.263157', '34.795206', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('953', '370404', '4', '峄城区', 'YCQ', '0', '117.590819', '34.772236', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('954', '370405', '4', '台儿庄区', 'TEZQ', '0', '117.733832', '34.562528', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('955', '370406', '4', '山亭区', 'STQ', '0', '117.461343', '35.099549', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('956', '370481', '4', '滕州市', 'TZS', '0', '117.164388', '35.084021', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('957', '370502', '4', '东营区', 'DYQ', '0', '118.582184', '37.448964', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('958', '370503', '4', '河口区', 'HKQ', '0', '118.525579', '37.886138', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('959', '370521', '4', '垦利县', 'KLX', '0', '118.547627', '37.58754', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('960', '370522', '4', '利津县', 'LJX', '0', '118.255273', '37.49026', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('961', '370523', '4', '广饶县', 'GRX', '0', '118.407045', '37.0537', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('962', '370602', '4', '芝罘区', 'ZFQ', '0', '121.400031', '37.540687', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('963', '370611', '4', '福山区', 'FSQ', '0', '121.267697', '37.498051', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('964', '370612', '4', '牟平区', 'MPQ', '0', '121.600512', '37.386901', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('965', '370613', '4', '莱山区', 'LSQ', '0', '121.445304', '37.511305', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('966', '370614', '4', '开发区', 'KFQ', '0', '121.251001', '37.554683', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('967', '370634', '4', '长岛县', 'CDX', '0', '120.736584', '37.921417', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('968', '370681', '4', '龙口市', 'LKS', '0', '120.477836', '37.646064', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('969', '370682', '4', '莱阳市', 'LYS', '0', '120.711607', '36.97891', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('970', '370683', '4', '莱州市', 'LZS', '0', '119.942327', '37.177017', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('971', '370684', '4', '蓬莱市', 'PLS', '0', '120.758848', '37.810661', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('972', '370685', '4', '招远市', 'ZYS', '0', '120.434072', '37.355469', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('973', '370686', '4', '栖霞市', 'QXS', '0', '120.849675', '37.335123', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('974', '370687', '4', '海阳市', 'HYS', '0', '121.158477', '36.776425', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('975', '370702', '4', '潍城区', 'WCQ', '0', '119.024836', '36.7281', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('976', '370703', '4', '寒亭区', 'HTQ', '0', '119.219734', '36.775491', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('977', '370704', '4', '坊子区', 'FZQ', '0', '119.166485', '36.654448', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('978', '370705', '4', '奎文区', 'KWQ', '0', '119.132486', '36.707676', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('979', '370724', '4', '临朐县', 'LQX', '0', '118.542982', '36.5125059', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('980', '370725', '4', '昌乐县', 'CLX', '0', '118.829914', '36.706945', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('981', '370781', '4', '青州市', 'QZS', '0', '118.479622', '36.684528', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('982', '370782', '4', '诸城市', 'ZCS', '0', '119.410103', '35.995654', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('983', '370783', '4', '寿光市', 'SGS', '0', '118.790652', '36.85548', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('984', '370784', '4', '安丘市', 'AQS', '0', '119.218978', '36.478494', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('985', '370785', '4', '高密市', 'GMS', '0', '119.755597', '36.3825949', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('986', '370786', '4', '昌邑市', 'CYS', '0', '119.398525', '36.85882', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('987', '370802', '4', '市中区', 'SZQ', '0', '116.596614', '35.40819', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('988', '370811', '4', '任城区', 'RCQ', '0', '116.628562', '35.433727', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('989', '370826', '4', '微山县', 'WSX', '0', '117.128946', '34.8071', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('990', '370827', '4', '鱼台县', 'YTX', '0', '116.650608', '35.012749', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('991', '370828', '4', '金乡县', 'JXX', '0', '116.311532', '35.06662', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('992', '370829', '4', '嘉祥县', 'JXX', '0', '116.342442', '35.407829', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('993', '370830', '4', '汶上县', 'WSX', '0', '116.489043', '35.732799', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('994', '370831', '4', '泗水县', 'SSX', '0', '117.251195', '35.664323', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('995', '370832', '4', '梁山县', 'LSX', '0', '116.096044', '35.802306', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('996', '370881', '4', '曲阜市', 'QFS', '0', '116.986532', '35.581137', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('997', '370882', '4', '兖州市', 'YZS', '0', '116.783834', '35.553144', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('998', '370883', '4', '邹城市', 'ZCS', '0', '117.003743', '35.405185', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('999', '370902', '4', '泰山区', 'TSQ', '0', '117.135354', '36.192084', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('184', '360100', '3', '南昌市', 'NCS', '0', '115.858089', '28.68316', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('185', '360200', '3', '景德镇市', 'JDZS', '0', '117.17842', '29.268836', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('186', '360300', '3', '萍乡市', 'PXS', '0', '113.854676', '27.622865', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('187', '360400', '3', '九江市', 'JJS', '0', '116.001951', '29.705103', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('188', '360500', '3', '新余市', 'XYS', '0', '114.91741', '27.817819', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('189', '360600', '3', '鹰潭市', 'YTS', '0', '117.069202', '28.260189', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('190', '360700', '3', '赣州市', 'GZS', '0', '114.935025', '25.831925', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('191', '360800', '3', '吉安市', 'JAS', '0', '114.992912', '27.113039', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('192', '360900', '3', '宜春市', 'YCS', '0', '114.416778', '27.815619', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('193', '361000', '3', '抚州市', 'FZS', '0', '116.358176', '27.9492', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('194', '361100', '3', '上饶市', 'SRS', '0', '117.943433', '28.454863', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1739', '360102', '4', '东湖区', 'DHQ', '0', '115.89901', '28.6849159', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1740', '360103', '4', '西湖区', 'XHQ', '0', '115.877287', '28.656887', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1741', '360104', '4', '青云谱区', 'QYPQ', '0', '115.925749', '28.621169', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1742', '360105', '4', '湾里区', 'WLQ', '0', '115.730994', '28.714869', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1743', '360111', '4', '青山湖区', 'QSHQ', '0', '115.962144', '28.682985', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1744', '360121', '4', '南昌县', 'NCX', '0', '115.944162', '28.545459', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1745', '360122', '4', '新建县', 'XJX', '0', '115.815233', '28.692437', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1746', '360123', '4', '安义县', 'AYX', '0', '115.549199', '28.844429', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1747', '360124', '4', '进贤县', 'JXX', '0', '116.240924', '28.376918', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1748', '360202', '4', '昌江区', 'CJQ', '0', '117.183688', '29.27342', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1749', '360203', '4', '珠山区', 'ZSQ', '0', '117.202336', '29.301272', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1750', '360222', '4', '浮梁县', 'FLX', '0', '117.215061', '29.351739', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1751', '360281', '4', '乐平市', 'LPS', '0', '117.129169', '28.961902', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1752', '360302', '4', '安源区', 'AYQ', '0', '113.87073', '27.615202', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1753', '360313', '4', '湘东区', 'XDQ', '0', '113.733059', '27.640075', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1754', '360321', '4', '莲花县', 'LHX', '0', '113.961465', '27.127669', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1755', '360322', '4', '上栗县', 'SLX', '0', '113.795219', '27.880567', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1756', '360323', '4', '芦溪县', 'LXX', '0', '114.029595', '27.631145', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1757', '360402', '4', '庐山区', 'LSQ', '0', '115.989212', '29.671775', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1758', '360403', '4', '浔阳区', 'XYQ', '0', '115.990399', '29.72746', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1759', '360421', '4', '九江县', 'JJX', '0', '115.911314', '29.608456', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1760', '360423', '4', '武宁县', 'WNX', '0', '115.100579', '29.256323', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1761', '360424', '4', '修水县', 'XSX', '0', '114.547356', '29.025707', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1762', '360425', '4', '永修县', 'YXX', '0', '115.809111', '29.021824', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1763', '360426', '4', '德安县', 'DAX', '0', '115.756883', '29.314348', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1764', '360427', '4', '星子县', 'XZX', '0', '116.044893', '29.448037', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1765', '360428', '4', '都昌县', 'DCX', '0', '116.204099', '29.273194', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1766', '360429', '4', '湖口县', 'HKX', '0', '116.220266', '29.73944', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1767', '360430', '4', '彭泽县', 'PZX', '0', '116.549359', '29.896061', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1768', '360481', '4', '瑞昌市', 'RCS', '0', '115.681504', '29.673795', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1769', '360499', '4', '共青城', 'GQC', '0', '115.774', '29.2417', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1770', '360502', '4', '渝水区', 'YSQ', '0', '114.944574', '27.80038', '188'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1771', '360521', '4', '分宜县', 'FYX', '0', '114.692039', '27.814628', '188'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1772', '360602', '4', '月湖区', 'YHQ', '0', '117.036676', '28.238797', '189'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1773', '360622', '4', '余江县', 'YJX', '0', '116.818871', '28.204174', '189'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1774', '360681', '4', '贵溪市', 'GXS', '0', '117.245497', '28.292519', '189'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1775', '360702', '4', '章贡区', 'ZGQ', '0', '114.941826', '25.862827', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1776', '360721', '4', '赣县', 'GX', '0', '115.011561', '25.860691', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1777', '360722', '4', '信丰县', 'XFX', '0', '114.922963', '25.386278', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1778', '360723', '4', '大余县', 'DYX', '0', '114.362094', '25.401283', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1779', '360724', '4', '上犹县', 'SYX', '0', '114.551371', '25.784978', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1780', '360725', '4', '崇义县', 'CYX', '0', '114.308273', '25.681879', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1781', '360726', '4', '安远县', 'AYX', '0', '115.393922', '25.136925', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1782', '360727', '4', '龙南县', 'LNX', '0', '114.789811', '24.911107', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1783', '360728', '4', '定南县', 'DNX', '0', '115.027845', '24.78441', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1784', '360729', '4', '全南县', 'QNX', '0', '114.530125', '24.742401', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1785', '360730', '4', '宁都县', 'NDX', '0', '116.009472', '26.470116', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1786', '360731', '4', '于都县', 'YDX', '0', '115.41551', '25.952066', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1787', '360732', '4', '兴国县', 'XGX', '0', '115.36319', '26.337937', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1788', '360733', '4', '会昌县', 'HCX', '0', '115.786057', '25.600272', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1789', '360734', '4', '寻乌县', 'YWX', '0', '115.646525', '24.963322', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1790', '360735', '4', '石城县', 'SCX', '0', '116.354201', '26.32686', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1791', '360781', '4', '瑞金市', 'RJS', '0', '116.02713', '25.885561', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1792', '360782', '4', '南康市', 'NKS', '0', '114.765238', '25.661356', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1793', '360802', '4', '吉州区', 'JZQ', '0', '114.994307', '27.129975', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1794', '360803', '4', '青原区', 'QYQ', '0', '115.01424', '27.081719', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1795', '360821', '4', '吉安县', 'JAX', '0', '114.907659', '27.040142', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1796', '360822', '4', '吉水县', 'JSX', '0', '115.135507', '27.229632', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1797', '360823', '4', '峡江县', 'XJX', '0', '115.316566', '27.582901', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1798', '360824', '4', '新干县', 'XGX', '0', '115.393043', '27.740809', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1799', '360825', '4', '永丰县', 'YFX', '0', '115.441477', '27.317869', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1800', '360826', '4', '泰和县', 'THX', '0', '114.908861', '26.790231', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1801', '360827', '4', '遂川县', 'SCX', '0', '114.52098', '26.311894', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1802', '360828', '4', '万安县', 'WAX', '0', '114.786256', '26.458257', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1803', '360829', '4', '安福县', 'AFX', '0', '114.619893', '27.392874', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1804', '360830', '4', '永新县', 'YXX', '0', '114.242675', '26.945233', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1805', '360881', '4', '井冈山市', 'JGSS', '0', '114.289182', '26.748186', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1806', '360902', '4', '袁州区', 'YZQ', '0', '114.424657', '27.798846', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1807', '360921', '4', '奉新县', 'FXX', '0', '115.384904', '28.700806', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1808', '360922', '4', '万载县', 'WZX', '0', '114.447551', '28.10455', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1809', '360923', '4', '上高县', 'SGX', '0', '114.924494', '28.232827', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1810', '360924', '4', '宜丰县', 'YFX', '0', '114.803542', '28.393613', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1811', '360925', '4', '靖安县', 'JAX', '0', '115.362629', '28.861475', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1812', '360926', '4', '铜鼓县', 'TGX', '0', '114.37098', '28.520747', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1813', '360981', '4', '丰城市', 'FCS', '0', '115.771195', '28.159325', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1814', '360982', '4', '樟树市', 'ZSS', '0', '115.546063', '28.055796', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1815', '360983', '4', '高安市', 'GAS', '0', '115.375618', '28.417261', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1816', '361002', '4', '临川区', 'LCQ', '0', '116.31136', '27.934529', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1817', '361021', '4', '南城县', 'NCX', '0', '116.644658', '27.552748', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1818', '361022', '4', '黎川县', 'LCX', '0', '116.907508', '27.282382', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1819', '361023', '4', '南丰县', 'NFX', '0', '116.525725', '27.218445', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1820', '361024', '4', '崇仁县', 'CRX', '0', '116.061164', '27.764681', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1821', '361025', '4', '乐安县', 'LAX', '0', '115.837895', '27.420441', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1822', '361026', '4', '宜黄县', 'YHX', '0', '116.222128', '27.546146', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1823', '361027', '4', '金溪县', 'JXX', '0', '116.775435', '27.908337', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1824', '361028', '4', '资溪县', 'ZXX', '0', '117.060264', '27.706102', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1825', '361029', '4', '东乡县', 'DXX', '0', '116.590465', '28.236118', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1826', '361030', '4', '广昌县', 'GCX', '0', '116.325757', '26.837267', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1827', '361102', '4', '信州区', 'XZQ', '0', '117.966823', '28.43121', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1828', '361121', '4', '上饶县', 'SRX', '0', '117.90785', '28.448983', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1829', '361122', '4', '广丰县', 'GFX', '0', '118.19124', '28.436286', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1830', '361123', '4', '玉山县', 'YSX', '0', '118.245124', '28.682055', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1831', '361124', '4', '铅山县', 'QSX', '0', '117.709451', '28.315217', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1832', '361125', '4', '横峰县', 'HFX', '0', '117.596452', '28.407118', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1833', '361126', '4', '弋阳县', 'YYX', '0', '117.449588', '28.378044', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1834', '361127', '4', '余干县', 'YGX', '0', '116.695647', '28.702302', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1835', '361128', '4', '鄱阳县', 'PYX', '0', '116.699746', '29.011699', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1836', '361129', '4', '万年县', 'WNX', '0', '117.058445', '28.694582', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1837', '361130', '4', '婺源县', 'WYX', '0', '117.861911', '29.2480249', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1838', '361181', '4', '德兴市', 'DXS', '0', '117.578713', '28.946464', '194'); - - - - - diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_controllerTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_controllerTemplate.ftl deleted file mode 100644 index 14c440c2..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_controllerTemplate.ftl +++ /dev/null @@ -1,262 +0,0 @@ -package ${bussiPackage}.controller.${entityPackage}; -import java.util.List; -import java.text.SimpleDateFormat; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; - -import org.jeecgframework.core.common.controller.BaseController; -import org.jeecgframework.core.common.exception.BusinessException; -import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; -import org.jeecgframework.core.common.model.json.AjaxJson; -import org.jeecgframework.core.common.model.json.DataGrid; -import org.jeecgframework.core.constant.Globals; -import org.jeecgframework.core.util.StringUtil; -import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; -import org.jeecgframework.core.util.MyBeanUtils; - -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; - -/** - * @Title: Controller - * @Description: ${ftl_description} - * @author onlineGenerator - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Controller -@RequestMapping("/${entityName?uncap_first}Controller") -public class ${entityName}Controller extends BaseController { - /** - * Logger for this class - */ - private static final Logger logger = Logger.getLogger(${entityName}Controller.class); - - @Autowired - private ${entityName}ServiceI ${entityName?uncap_first}Service; - @Autowired - private SystemService systemService; - private String message; - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - - /** - * ${ftl_description}列表 页面跳转 - * - * @return - */ - @RequestMapping(params = "${entityName?uncap_first}") - public ModelAndView ${entityName?uncap_first}(HttpServletRequest request) { - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}List"); - } - - /** - * easyui AJAX请求数据 - * - * @param request - * @param response - * @param dataGrid - * @param user - */ - - @RequestMapping(params = "datagrid") - public void datagrid(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { - CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid); - //查询条件组装器 - org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}, request.getParameterMap()); - try{ - <#list columns as po> - <#if po.isQuery =='Y' && po.queryMode =='group'> - String query_${po.fieldName}_begin = request.getParameter("${po.fieldName}_begin"); - String query_${po.fieldName}_end = request.getParameter("${po.fieldName}_end"); - if(StringUtil.isNotEmpty(query_${po.fieldName}_begin)){ - <#if po.type == "java.util.Date"> - cq.ge("${po.fieldName}", new SimpleDateFormat("yyyy-MM-dd").parse(query_${po.fieldName}_begin)); - <#else> - cq.ge("${po.fieldName}", Integer.parseInt(query_${po.fieldName}_begin)); - - } - if(StringUtil.isNotEmpty(query_${po.fieldName}_end)){ - <#if po.type == "java.util.Date"> - cq.le("${po.fieldName}", new SimpleDateFormat("yyyy-MM-dd").parse(query_${po.fieldName}_end)); - <#else> - cq.le("${po.fieldName}", Integer.parseInt(query_${po.fieldName}_end)); - - } - - - }catch (Exception e) { - throw new BusinessException(e.getMessage()); - } - cq.add(); - this.${entityName?uncap_first}Service.getDataGridReturn(cq, true); - TagUtil.datagrid(response, dataGrid); - } - - /** - * 删除${ftl_description} - * - * @return - */ - @RequestMapping(params = "doDel") - @ResponseBody - public AjaxJson doDel(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - message = "${ftl_description}删除成功"; - try{ - ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "${ftl_description}删除失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - /** - * 批量删除${ftl_description} - * - * @return - */ - @RequestMapping(params = "doBatchDel") - @ResponseBody - public AjaxJson doBatchDel(String ids,HttpServletRequest request){ - AjaxJson j = new AjaxJson(); - message = "${ftl_description}删除成功"; - try{ - for(String id:ids.split(",")){ - ${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, id); - ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); - } - }catch(Exception e){ - e.printStackTrace(); - message = "${ftl_description}删除失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - - /** - * 添加${ftl_description} - * - * @param ids - * @return - */ - @RequestMapping(params = "doAdd") - @ResponseBody - public AjaxJson doAdd(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - message = "${ftl_description}添加成功"; - try{ - ${entityName?uncap_first}Service.save(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "${ftl_description}添加失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - /** - * 更新${ftl_description} - * - * @param ids - * @return - */ - @RequestMapping(params = "doUpdate") - @ResponseBody - public AjaxJson doUpdate(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - message = "${ftl_description}更新成功"; - ${entityName}Entity t = ${entityName?uncap_first}Service.get(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - try { - MyBeanUtils.copyBeanNotNull2Bean(${entityName?uncap_first}, t); - ${entityName?uncap_first}Service.saveOrUpdate(t); - systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); - } catch (Exception e) { - e.printStackTrace(); - message = "${ftl_description}更新失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.optType=='action'> - /** - * 自定义按钮-sql增强-${btn.buttonName} - * @param ids - * @return - */ - @RequestMapping(params = "do${btn.buttonCode?cap_first}") - @ResponseBody - public AjaxJson do${btn.buttonCode?cap_first}(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - message = "${btn.buttonName}成功"; - ${entityName}Entity t = ${entityName?uncap_first}Service.get(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - try{ - ${entityName?uncap_first}Service.do${btn.buttonCode?cap_first}Sql(t); - systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "${btn.buttonName}失败"; - } - j.setMsg(message); - return j; - } - - - - /** - * ${ftl_description}新增页面跳转 - * - * @return - */ - @RequestMapping(params = "goAdd") - public ModelAndView goAdd(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - ${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first}); - } - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}-add"); - } - /** - * ${ftl_description}编辑页面跳转 - * - * @return - */ - @RequestMapping(params = "goUpdate") - public ModelAndView goUpdate(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - ${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first}); - } - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}-update"); - } -} diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jsEnhanceTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_jsEnhanceTemplate.ftl deleted file mode 100644 index b3c4fc65..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jsEnhanceTemplate.ftl +++ /dev/null @@ -1 +0,0 @@ -${cgformConfig.formJs.cgJsStr?if_exists} \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspDivTemplate_add.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspDivTemplate_add.ftl deleted file mode 100644 index efad0166..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspDivTemplate_add.ftl +++ /dev/null @@ -1,92 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - -
- <#list columns as po> - <#if po.isShow == 'Y'> -
- - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - - -
- <#if> - -
-
- - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspDivTemplate_update.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspDivTemplate_update.ftl deleted file mode 100644 index 716c5193..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspDivTemplate_update.ftl +++ /dev/null @@ -1,99 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - -
- <#list columns as po> - <#if po.isShow == 'Y'> -
- - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value=''> - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value=''> - <#elseif po.showType=='file'> - - - 暂时未上传文件 - - - 下载 - - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - - -
- <#if> - -
-
- - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspTableTemplate_add.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspTableTemplate_add.ftl deleted file mode 100644 index 0f816b62..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspTableTemplate_add.ftl +++ /dev/null @@ -1,150 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - - - <#list pageColumns as po> - <#if (pageColumns?size>10)> - <#if po_index%2==0> - - - <#else> - - - - - <#if (columns?size>10)> - <#if (po_index%2==0)&&(!po_has_next)> - - - - <#if (po_index%2!=0)||(!po_has_next)> - - - <#else> - - - -
- - - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - - - - - -
-
- - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspTableTemplate_update.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspTableTemplate_update.ftl deleted file mode 100644 index bead7d0a..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspTableTemplate_update.ftl +++ /dev/null @@ -1,157 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - - - <#list pageColumns as po> - <#if (pageColumns?size>10)> - <#if po_index%2==0> - - - <#else> - - - - - <#if (columns?size>10)> - <#if (po_index%2==0)&&(!po_has_next)> - - - - <#if (po_index%2!=0)||(!po_has_next)> - - - <#else> - - - -
- - - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value=''> - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value=''> - <#elseif po.showType=='file'> - - - 暂时未上传文件 - - - 下载 - - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - - - - - -
-
- - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_serviceITemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/cgform_serviceITemplate.ftl deleted file mode 100644 index be138039..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_serviceITemplate.ftl +++ /dev/null @@ -1,43 +0,0 @@ -package ${bussiPackage}.service.${entityPackage}; - -import org.jeecgframework.core.common.service.CommonService; -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import java.io.Serializable; - -public interface ${entityName}ServiceI extends CommonService{ - @Override - public void delete(T entity); - @Override - public Serializable save(T entity); - @Override - public void saveOrUpdate(T entity); - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.optType=='action'> - /** - * 自定义按钮-sql增强-${btn.buttonName} - * @param id - * @return - */ - public boolean do${btn.buttonCode?cap_first}Sql(${entityName}Entity t); - - - /** - * 默认按钮-sql增强-新增操作 - * @param id - * @return - */ - public boolean doAddSql(${entityName}Entity t); - /** - * 默认按钮-sql增强-更新操作 - * @param id - * @return - */ - public boolean doUpdateSql(${entityName}Entity t); - /** - * 默认按钮-sql增强-删除操作 - * @param id - * @return - */ - public boolean doDelSql(${entityName}Entity t); -} diff --git a/WebRoot/WEB-INF/classes/jeecg/template/controllerTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/controllerTemplate.ftl deleted file mode 100644 index e03b31eb..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/controllerTemplate.ftl +++ /dev/null @@ -1,149 +0,0 @@ -package ${bussiPackage}.controller.${entityPackage}; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; - -import org.jeecgframework.core.common.controller.BaseController; -import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; -import org.jeecgframework.core.common.model.json.AjaxJson; -import org.jeecgframework.core.common.model.json.DataGrid; -import org.jeecgframework.core.constant.Globals; -import org.jeecgframework.core.util.StringUtil; -import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; -import org.jeecgframework.core.util.MyBeanUtils; - -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; - -/** - * @Title: Controller - * @Description: ${ftl_description} - * @author zhangdaihao - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Controller -@RequestMapping("/${entityName?uncap_first}Controller") -public class ${entityName}Controller extends BaseController { - /** - * Logger for this class - */ - private static final Logger logger = Logger.getLogger(${entityName}Controller.class); - - @Autowired - private ${entityName}ServiceI ${entityName?uncap_first}Service; - @Autowired - private SystemService systemService; - private String message; - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - - /** - * ${ftl_description}列表 页面跳转 - * - * @return - */ - @RequestMapping(params = "${entityName?uncap_first}") - public ModelAndView ${entityName?uncap_first}(HttpServletRequest request) { - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}List"); - } - - /** - * easyui AJAX请求数据 - * - * @param request - * @param response - * @param dataGrid - * @param user - */ - - @RequestMapping(params = "datagrid") - public void datagrid(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { - CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid); - //查询条件组装器 - org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}, request.getParameterMap()); - this.${entityName?uncap_first}Service.getDataGridReturn(cq, true); - TagUtil.datagrid(response, dataGrid); - } - - /** - * 删除${ftl_description} - * - * @return - */ - @RequestMapping(params = "del") - @ResponseBody - public AjaxJson del(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - message = "${ftl_description}删除成功"; - ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); - - j.setMsg(message); - return j; - } - - - /** - * 添加${ftl_description} - * - * @param ids - * @return - */ - @RequestMapping(params = "save") - @ResponseBody - public AjaxJson save(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - message = "${ftl_description}更新成功"; - ${entityName}Entity t = ${entityName?uncap_first}Service.get(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - try { - MyBeanUtils.copyBeanNotNull2Bean(${entityName?uncap_first}, t); - ${entityName?uncap_first}Service.saveOrUpdate(t); - systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); - } catch (Exception e) { - e.printStackTrace(); - message = "${ftl_description}更新失败"; - } - } else { - message = "${ftl_description}添加成功"; - ${entityName?uncap_first}Service.save(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); - } - j.setMsg(message); - return j; - } - - /** - * ${ftl_description}列表页面跳转 - * - * @return - */ - @RequestMapping(params = "addorupdate") - public ModelAndView addorupdate(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - ${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first}); - } - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}"); - } -} diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_controllerTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_controllerTemplate.ftl deleted file mode 100644 index 34ab5a35..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_controllerTemplate.ftl +++ /dev/null @@ -1,296 +0,0 @@ -package ${bussiPackage}.controller.${entityPackage}; -import java.util.List; -import java.text.SimpleDateFormat; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; - -import org.jeecgframework.core.common.controller.BaseController; -import org.jeecgframework.core.common.exception.BusinessException; -import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; -import org.jeecgframework.core.common.model.json.AjaxJson; -import org.jeecgframework.core.common.model.json.DataGrid; -import org.jeecgframework.core.constant.Globals; -import org.jeecgframework.core.util.StringUtil; -import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; -import org.jeecgframework.core.util.MyBeanUtils; - -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import ${bussiPackage}.page.${entityPackage}.${entityName}Page; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - -/** - * @Title: Controller - * @Description: ${ftl_description} - * @author onlineGenerator - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Controller -@RequestMapping("/${entityName?uncap_first}Controller") -public class ${entityName}Controller extends BaseController { - /** - * Logger for this class - */ - private static final Logger logger = Logger.getLogger(${entityName}Controller.class); - - @Autowired - private ${entityName}ServiceI ${entityName?uncap_first}Service; - @Autowired - private SystemService systemService; - private String message; - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - - /** - * ${ftl_description}列表 页面跳转 - * - * @return - */ - @RequestMapping(params = "${entityName?uncap_first}") - public ModelAndView ${entityName?uncap_first}(HttpServletRequest request) { - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}List"); - } - - /** - * easyui AJAX请求数据 - * - * @param request - * @param response - * @param dataGrid - * @param user - */ - - @RequestMapping(params = "datagrid") - public void datagrid(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { - CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid); - //查询条件组装器 - org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}); - try{ - <#list columns as po> - <#if po.isQuery =='Y' && po.queryMode =='group'> - String query_${po.fieldName}_begin = request.getParameter("${po.fieldName}_begin"); - String query_${po.fieldName}_end = request.getParameter("${po.fieldName}_end"); - if(StringUtil.isNotEmpty(query_${po.fieldName}_begin)){ - <#if po.type == "java.util.Date"> - cq.ge("${po.fieldName}", new SimpleDateFormat("yyyy-MM-dd").parse(query_${po.fieldName}_begin)); - <#else> - cq.ge("${po.fieldName}", Integer.parseInt(query_${po.fieldName}_begin)); - - } - if(StringUtil.isNotEmpty(query_${po.fieldName}_end)){ - <#if po.type == "java.util.Date"> - cq.le("${po.fieldName}", new SimpleDateFormat("yyyy-MM-dd").parse(query_${po.fieldName}_end)); - <#else> - cq.le("${po.fieldName}", Integer.parseInt(query_${po.fieldName}_end)); - - } - - - }catch (Exception e) { - throw new BusinessException(e.getMessage()); - } - cq.add(); - this.${entityName?uncap_first}Service.getDataGridReturn(cq, true); - TagUtil.datagrid(response, dataGrid); - } - - /** - * 删除${ftl_description} - * - * @return - */ - @RequestMapping(params = "doDel") - @ResponseBody - public AjaxJson doDel(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - message = "${ftl_description}删除成功"; - try{ - ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "${ftl_description}删除失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - /** - * 批量删除${ftl_description} - * - * @return - */ - @RequestMapping(params = "doBatchDel") - @ResponseBody - public AjaxJson doBatchDel(String ids,HttpServletRequest request){ - AjaxJson j = new AjaxJson(); - message = "${ftl_description}删除成功"; - try{ - for(String id:ids.split(",")){ - ${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, id); - ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); - } - }catch(Exception e){ - e.printStackTrace(); - message = "${ftl_description}删除失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - /** - * 添加${ftl_description} - * - * @param ids - * @return - */ - @RequestMapping(params = "doAdd") - @ResponseBody - public AjaxJson doAdd(${entityName}Entity ${entityName?uncap_first},${entityName}Page ${entityName?uncap_first}Page, HttpServletRequest request) { - <#list subTab as sub> - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List(); - - AjaxJson j = new AjaxJson(); - message = "添加成功"; - try{ - ${entityName?uncap_first}Service.addMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,); - systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "${ftl_description}添加失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - /** - * 更新${ftl_description} - * - * @param ids - * @return - */ - @RequestMapping(params = "doUpdate") - @ResponseBody - public AjaxJson doUpdate(${entityName}Entity ${entityName?uncap_first},${entityName}Page ${entityName?uncap_first}Page, HttpServletRequest request) { - <#list subTab as sub> - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List(); - - AjaxJson j = new AjaxJson(); - message = "更新成功"; - try{ - ${entityName?uncap_first}Service.updateMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,); - systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "更新${ftl_description}失败"; - throw new BusinessException(e.getMessage()); - } - j.setMsg(message); - return j; - } - - /** - * ${ftl_description}新增页面跳转 - * - * @return - */ - @RequestMapping(params = "goAdd") - public ModelAndView goAdd(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - ${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first}); - } - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}-add"); - } - - /** - * ${ftl_description}编辑页面跳转 - * - * @return - */ - @RequestMapping(params = "goUpdate") - public ModelAndView goUpdate(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - ${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first}); - } - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}-update"); - } - - - <#list subTab as sub> - /** - * 加载明细列表[${sub.ftlDescription}] - * - * @return - */ - @RequestMapping(params = "${sub.entityName?uncap_first}List") - public ModelAndView ${sub.entityName?uncap_first}List(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - - //=================================================================================== - //获取参数 - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}(); - <#else> - Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}(); - - - //=================================================================================== - //删除-${sub.ftlDescription} - String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList); - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${sub.entityName?uncap_first}List"); - } - - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.optType=='action'> - /** - * 自定义按钮-sql增强-${btn.buttonName} - * @param ids - * @return - */ - @RequestMapping(params = "do${btn.buttonCode?cap_first}") - @ResponseBody - public AjaxJson do${btn.buttonCode?cap_first}(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - message = "${btn.buttonName}成功"; - ${entityName}Entity t = ${entityName?uncap_first}Service.get(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - try{ - ${entityName?uncap_first}Service.do${btn.buttonCode?cap_first}Sql(t); - systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); - }catch(Exception e){ - e.printStackTrace(); - message = "${btn.buttonName}失败"; - } - j.setMsg(message); - return j; - } - - -} diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_entityTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_entityTemplate.ftl deleted file mode 100644 index 54d4fe49..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_entityTemplate.ftl +++ /dev/null @@ -1,61 +0,0 @@ -package ${bussiPackage}.entity.${entityPackage}; - -import java.math.BigDecimal; -import java.util.Date; -import java.lang.String; -import java.lang.Double; -import java.lang.Integer; -import java.math.BigDecimal; -import javax.xml.soap.Text; -import java.sql.Blob; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import org.hibernate.annotations.GenericGenerator; -import javax.persistence.SequenceGenerator; - -/** - * @Title: Entity - * @Description: ${ftl_description} - * @author onlineGenerator - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Entity -@Table(name = "${tableName}", schema = "") -@SuppressWarnings("serial") -public class ${entityName}Entity implements java.io.Serializable { - <#list columns as po> - /**${po.content}*/ - private ${po.type} ${po.fieldName}; - - - <#list columns as po> - /** - *方法: 取得${po.type} - *@return: ${po.type} ${po.content} - */ - <#if po.fieldName == jeecg_table_id> - - @Id - @GeneratedValue(generator = "paymentableGenerator") - @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") - - @Column(name ="${fieldMeta[po.fieldName]}",nullable=<#if po.isNull == 'Y'>true<#else>false<#if po.pointLength != 0>,scale=${po.pointLength}<#if po.length !=0>,length=${po.length?c}) - public ${po.type} get${po.fieldName?cap_first}(){ - return this.${po.fieldName}; - } - - /** - *方法: 设置${po.type} - *@param: ${po.type} ${po.content} - */ - public void set${po.fieldName?cap_first}(${po.type} ${po.fieldName}){ - this.${po.fieldName} = ${po.fieldName}; - } - -} diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl deleted file mode 100644 index b3c4fc65..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl +++ /dev/null @@ -1 +0,0 @@ -${cgformConfig.formJs.cgJsStr?if_exists} \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl deleted file mode 100644 index a2370d9e..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl +++ /dev/null @@ -1,232 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - -
- - - - - <#list columns as po> - <#if po.isShow=="N"> - - - - - <#list pageColumns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if fieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - <#if po_index%2==0> - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - - - - 0 }"> - - - <#list columns as po> - <#if po.isShow=="N"> - - - - - <#list pageColumns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if fieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - <#if po_index%2==0> - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - - - - - -
- - - <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="po.dictTable" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - -
- - - <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value="${'$'}{poVal.${po.fieldName} }"> - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value="${'$'}{poVal.${po.fieldName} }"> - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=""> - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=""> - <#elseif po.showType=='file'> - - - 暂时未上传文件 - - - 下载 - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value="${'$'}{poVal.${po.fieldName} }"> - -
-
\ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate_add.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate_add.ftl deleted file mode 100644 index 1f5c6b0e..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate_add.ftl +++ /dev/null @@ -1,279 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - - - <#list pageColumns as po> - <#if po_index%2==0> - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - -
- - - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - - -
-
- <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
- - <#list subTab as sub> - &${jeecg_table_id}=${"$"}{${entityName?uncap_first}Page.${jeecg_table_id}}<#else>&${key?uncap_first}=${"$"}{${entityName?uncap_first}Page.${key?uncap_first}}" icon="icon-search" title="${sub.ftlDescription}" id="${sub.entityName?uncap_first}"> - - -
-
- - - <#list subTab as sub> - - - - <#list subPageColumnsMap[sub.tableName] as po> - <#assign check = 0 > - <#list sub.foreignKeys as key> - <#if subFieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - -
- <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - -
- - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate_update.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate_update.ftl deleted file mode 100644 index 10dcc887..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate_update.ftl +++ /dev/null @@ -1,284 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - - - <#list pageColumns as po> - <#if po_index%2==0> - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - -
- - - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=''> - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=''> - <#elseif po.showType=='file'> - - - 暂时未上传文件 - - - 下载 - - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - - -
-
- <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
- - <#list subTab as sub> - &${jeecg_table_id}=${"$"}{${entityName?uncap_first}Page.${jeecg_table_id}}<#else>&${key?uncap_first}=${"$"}{${entityName?uncap_first}Page.${key?uncap_first}}" icon="icon-search" title="${sub.ftlDescription}" id="${sub.entityName?uncap_first}"> - - -
-
- - - <#list subTab as sub> - - - - <#list subPageColumnsMap[sub.tableName] as po> - <#assign check = 0 > - <#list sub.foreignKeys as key> - <#if subFieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - -
- <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - -
- - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspSubTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspSubTemplate.ftl deleted file mode 100644 index dee123d1..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspSubTemplate.ftl +++ /dev/null @@ -1,83 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - -
- - - - <#list columns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if po.fieldName==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - - - - <#list columns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if po.fieldName==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - 0 }"> - - - - - <#list columns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if po.fieldName==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - - -
序号<#if po.filedComment?length lt 7 >${po.filedComment}<#else>${po.filedComment[0..6]}
-
\ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspTemplate.ftl b/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspTemplate.ftl deleted file mode 100644 index 54cb6f75..00000000 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspTemplate.ftl +++ /dev/null @@ -1,85 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po_index%2==0> - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - -
- class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" style="width: 150px"<#elseif po.classType=='easyui-datebox'>class="Wdate" onClick="WdatePicker()" style="width: 150px"<#else>class="${po.classType}" id="${po.fieldName}" name="${po.fieldName}" <#if po.nullable == 'Y'>ignore="ignore" - <#if po.fieldType?index_of("time")!=-1> value=""<#else><#if po.fieldType?index_of("date")!=-1>value=""<#else>value="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}"<#if po.optionType?trim?length !=0> datatype="${po.optionType}"> - -
-
- <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
- - <#list subTab as sub> - &${jeecg_table_id}=${"$"}{${entityName?uncap_first}Page.${jeecg_table_id}}<#else>&${key?uncap_first}=${"$"}{${entityName?uncap_first}Page.${key?uncap_first}}" icon="icon-search" title="${sub.ftlDescription}" id="${sub.entityName?uncap_first}"> - - -
-
- - - <#list subTab as sub> - - - - <#list sub.subColums as po> - <#assign check = 0 > - <#list sub.foreignKeys as key> - <#if po.fieldName==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - -
- \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/Ehcache.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/Ehcache.class deleted file mode 100644 index f421db7a..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/Ehcache.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/JeecgEntityTitle.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/JeecgEntityTitle.class deleted file mode 100644 index 5cad749c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/JeecgEntityTitle.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/AutoMenu.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/AutoMenu.class deleted file mode 100644 index 289869d2..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/AutoMenu.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/AutoMenuOperation.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/AutoMenuOperation.class deleted file mode 100644 index 17babb9d..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/AutoMenuOperation.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/MenuCodeType.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/MenuCodeType.class deleted file mode 100644 index fd660feb..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/annotation/config/MenuCodeType.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/aop/EhcacheAspect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/aop/EhcacheAspect.class deleted file mode 100644 index 4e68a681..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/aop/EhcacheAspect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/aop/HiberAspect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/aop/HiberAspect.class deleted file mode 100644 index 4ff2c4e3..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/aop/HiberAspect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/controller/BaseController.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/controller/BaseController.class deleted file mode 100644 index 0a6c6d93..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/controller/BaseController.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/ICommonDao.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/ICommonDao.class deleted file mode 100644 index 86b8bf73..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/ICommonDao.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.class deleted file mode 100644 index b25c8c70..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/impl/CommonDao.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/impl/CommonDao.class deleted file mode 100644 index d466fde0..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/impl/CommonDao.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.class deleted file mode 100644 index 4645b9c9..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/jdbc/JdbcDao.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/jdbc/JdbcDao.class deleted file mode 100644 index 5fa441a7..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/jdbc/JdbcDao.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.class deleted file mode 100644 index a618e642..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/entity/IdEntity.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/entity/IdEntity.class deleted file mode 100644 index 7fe4308b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/entity/IdEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/exception/BusinessException.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/exception/BusinessException.class deleted file mode 100644 index 378c0ddc..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/exception/BusinessException.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/exception/MyExceptionHandler.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/exception/MyExceptionHandler.class deleted file mode 100644 index 93620567..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/exception/MyExceptionHandler.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.class deleted file mode 100644 index f31e66f1..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.class deleted file mode 100644 index b7c93c7f..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/Dialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/Dialect.class deleted file mode 100644 index efe378d1..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/Dialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.class deleted file mode 100644 index f147107e..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.class deleted file mode 100644 index 16143c98..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.class deleted file mode 100644 index 2fd3ffa6..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.class deleted file mode 100644 index 62aaff3c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.class deleted file mode 100644 index b514852e..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.class deleted file mode 100644 index 3d32b17a..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.class deleted file mode 100644 index 2717dbfb..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.class deleted file mode 100644 index 1e48aed2..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.class deleted file mode 100644 index 608db326..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.class deleted file mode 100644 index c14a964b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.class deleted file mode 100644 index f42eb0fc..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.class deleted file mode 100644 index e5e54c10..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/CriterionList.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/CriterionList.class deleted file mode 100644 index f66fe433..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/CriterionList.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.class deleted file mode 100644 index 5e9fd1b3..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.class deleted file mode 100644 index e3929147..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/PageList.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/PageList.class deleted file mode 100644 index 8793c74c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/PageList.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/Pager.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/Pager.class deleted file mode 100644 index d7dc9a2c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/Pager.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.class deleted file mode 100644 index 0390b18f..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/common/DBTable.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/common/DBTable.class deleted file mode 100644 index f257fba5..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/common/DBTable.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/common/UploadFile.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/common/UploadFile.class deleted file mode 100644 index 39f8aab7..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/common/UploadFile.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/AjaxJson.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/AjaxJson.class deleted file mode 100644 index eeeeecf2..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/AjaxJson.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ComboBox.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ComboBox.class deleted file mode 100644 index 0f9719b7..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ComboBox.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ComboTree.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ComboTree.class deleted file mode 100644 index ea009535..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ComboTree.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/DataGrid.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/DataGrid.class deleted file mode 100644 index 3e8885cf..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/DataGrid.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/DataGridReturn.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/DataGridReturn.class deleted file mode 100644 index cca64331..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/DataGridReturn.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/Highchart.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/Highchart.class deleted file mode 100644 index d8f94326..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/Highchart.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ImportFile.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ImportFile.class deleted file mode 100644 index f2525719..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ImportFile.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/LogAnnotation.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/LogAnnotation.class deleted file mode 100644 index 08a8369d..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/LogAnnotation.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ProjectDeclare.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ProjectDeclare.class deleted file mode 100644 index e8c399b3..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ProjectDeclare.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ProjectInfo.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ProjectInfo.class deleted file mode 100644 index deab3235..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ProjectInfo.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/TreeGrid.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/TreeGrid.class deleted file mode 100644 index fed4aef5..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/TreeGrid.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ValidForm.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ValidForm.class deleted file mode 100644 index 7721f246..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/model/json/ValidForm.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/service/CommonService.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/service/CommonService.class deleted file mode 100644 index f0e351c9..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/service/CommonService.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/service/impl/CommonServiceImpl.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/service/impl/CommonServiceImpl.class deleted file mode 100644 index 9c9ababf..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/common/service/impl/CommonServiceImpl.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/constant/Globals.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/constant/Globals.class deleted file mode 100644 index c7140fd2..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/constant/Globals.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/def/ConstantsDefs.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/def/ConstantsDefs.class deleted file mode 100644 index 44ca90c3..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/def/ConstantsDefs.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.class deleted file mode 100644 index 0b0de1d8..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DataSourceType.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DataSourceType.class deleted file mode 100644 index 96853e81..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DataSourceType.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DynamicDataSource.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DynamicDataSource.class deleted file mode 100644 index e101ef6a..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/datasource/DynamicDataSource.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.class deleted file mode 100644 index 7b264890..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/ConStant.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/ConStant.class deleted file mode 100644 index 7c080e89..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/ConStant.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/DocConverter.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/DocConverter.class deleted file mode 100644 index 691d2f63..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/DocConverter.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.class deleted file mode 100644 index 6c3b80ec..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/PDFConverter.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/PDFConverter.class deleted file mode 100644 index 838ef2a4..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/PDFConverter.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SWFConverter.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SWFConverter.class deleted file mode 100644 index e482d323..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SWFConverter.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.class deleted file mode 100644 index 1d22305b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/StreamGobbler.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/StreamGobbler.class deleted file mode 100644 index 0dbc2fd5..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/StreamGobbler.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SwfToolsUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SwfToolsUtil.class deleted file mode 100644 index a0ad9ba1..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/swftools/SwfToolsUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Caculator$Item.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Caculator$Item.class deleted file mode 100644 index ee6b3b95..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Caculator$Item.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Caculator.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Caculator.class deleted file mode 100644 index 13d69d96..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Caculator.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/DataSourceMap.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/DataSourceMap.class deleted file mode 100644 index d9b2a7e1..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/DataSourceMap.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Template.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Template.class deleted file mode 100644 index cd8658e4..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/extend/template/Template.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/AuthInterceptor.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/AuthInterceptor.class deleted file mode 100644 index 4faf1e37..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/AuthInterceptor.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/DateConvertEditor.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/DateConvertEditor.class deleted file mode 100644 index 1f9bde14..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/DateConvertEditor.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/EncodingInterceptor.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/EncodingInterceptor.class deleted file mode 100644 index fb8bb4a3..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/EncodingInterceptor.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/LogInterceptor.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/LogInterceptor.class deleted file mode 100644 index 22f365c5..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/LogInterceptor.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/MyWebBinding.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/MyWebBinding.class deleted file mode 100644 index 0c540a6a..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/interceptors/MyWebBinding.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.class deleted file mode 100644 index 7d66a5df..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DataBaseCronTriggerBean.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DataBaseCronTriggerBean.class deleted file mode 100644 index c1a2af34..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DataBaseCronTriggerBean.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.class deleted file mode 100644 index 11c9b07f..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DynamicTask.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DynamicTask.class deleted file mode 100644 index 0cb12c87..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/DynamicTask.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/Job.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/Job.class deleted file mode 100644 index 9b57e71e..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/timer/Job.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ApplicationContextUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ApplicationContextUtil.class deleted file mode 100644 index 839cdb5f..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ApplicationContextUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/BrowserType.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/BrowserType.class deleted file mode 100644 index a83b6ba9..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/BrowserType.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/BrowserUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/BrowserUtils.class deleted file mode 100644 index dc4906fa..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/BrowserUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ContextHolderUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ContextHolderUtils.class deleted file mode 100644 index d5fa275b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ContextHolderUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/DBTypeUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/DBTypeUtil.class deleted file mode 100644 index 09060411..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/DBTypeUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/DataUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/DataUtils.class deleted file mode 100644 index 0a54ae49..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/DataUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ExceptionUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ExceptionUtil.class deleted file mode 100644 index 2f7cb071..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ExceptionUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ExceptionUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ExceptionUtils.class deleted file mode 100644 index cca582b6..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ExceptionUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/FileUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/FileUtils.class deleted file mode 100644 index 84560904..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/FileUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/GenericsUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/GenericsUtils.class deleted file mode 100644 index 2b343749..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/GenericsUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/IdcardUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/IdcardUtils.class deleted file mode 100644 index 83aa7766..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/IdcardUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ImportUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ImportUtil.class deleted file mode 100644 index e2747621..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ImportUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/IpUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/IpUtil.class deleted file mode 100644 index 7986648b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/IpUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/JSONHelper.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/JSONHelper.class deleted file mode 100644 index 0b394547..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/JSONHelper.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/JeecgSqlUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/JeecgSqlUtil.class deleted file mode 100644 index 6554a8c7..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/JeecgSqlUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ListtoJson.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ListtoJson.class deleted file mode 100644 index 4a06453b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ListtoJson.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ListtoMenu.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ListtoMenu.class deleted file mode 100644 index b11024e1..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ListtoMenu.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/LogUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/LogUtil.class deleted file mode 100644 index bebe0f5d..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/LogUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/MyBeanUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/MyBeanUtils.class deleted file mode 100644 index 10fa2875..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/MyBeanUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/MyClassLoader.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/MyClassLoader.class deleted file mode 100644 index 4af6f543..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/MyClassLoader.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/NumberComparator.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/NumberComparator.class deleted file mode 100644 index 83c945e2..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/NumberComparator.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PasswordUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PasswordUtil.class deleted file mode 100644 index c61f6bab..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PasswordUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PinyinUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PinyinUtil.class deleted file mode 100644 index 7931772c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PinyinUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PluginConfigCreator.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PluginConfigCreator.class deleted file mode 100644 index 31031423..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PluginConfigCreator.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PropertiesUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PropertiesUtil.class deleted file mode 100644 index ab50808b..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/PropertiesUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ReflectHelper.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ReflectHelper.class deleted file mode 100644 index bb0aaeec..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ReflectHelper.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ResourceUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ResourceUtil.class deleted file mode 100644 index 38244ff5..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ResourceUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/RoletoJson.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/RoletoJson.class deleted file mode 100644 index 9df24993..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/RoletoJson.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SendMailUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SendMailUtil.class deleted file mode 100644 index 0dedf5d2..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SendMailUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SetListSort.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SetListSort.class deleted file mode 100644 index e5d5f3b9..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SetListSort.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/StreamUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/StreamUtils.class deleted file mode 100644 index 7f9ed071..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/StreamUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/StringUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/StringUtil.class deleted file mode 100644 index f372ff5e..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/StringUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SystemPath.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SystemPath.class deleted file mode 100644 index 7abbbdf6..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/SystemPath.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ToEntityUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ToEntityUtil.class deleted file mode 100644 index 3274bdb4..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/ToEntityUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/UUIDGenerator.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/UUIDGenerator.class deleted file mode 100644 index e408734c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/UUIDGenerator.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/UploadUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/UploadUtils.class deleted file mode 100644 index 424597c4..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/UploadUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/oConvertUtils.class b/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/oConvertUtils.class deleted file mode 100644 index b8697296..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/core/util/oConvertUtils.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelExportOfTemplateUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelExportOfTemplateUtil.class deleted file mode 100644 index 163e8418..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelExportOfTemplateUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelExportUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelExportUtil.class deleted file mode 100644 index 62769fee..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelExportUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelImportUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelImportUtil.class deleted file mode 100644 index 89aa0c89..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelImportUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelPublicUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelPublicUtil.class deleted file mode 100644 index 03bd2fdb..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelPublicUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelUtil.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelUtil.class deleted file mode 100644 index 92ecf294..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/ExcelUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/Excel.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/Excel.class deleted file mode 100644 index 95cc0268..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/Excel.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelCollection.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelCollection.class deleted file mode 100644 index 28b524b4..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelCollection.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelEntity.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelEntity.class deleted file mode 100644 index 9ca3ea93..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelIgnore.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelIgnore.class deleted file mode 100644 index 9396c180..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelIgnore.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelTarget.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelTarget.class deleted file mode 100644 index f106374a..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/annotation/ExcelTarget.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ComparatorExcelField.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ComparatorExcelField.class deleted file mode 100644 index a480acd6..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ComparatorExcelField.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelCollectionParams.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelCollectionParams.class deleted file mode 100644 index a08ea296..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelCollectionParams.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelExportEntity.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelExportEntity.class deleted file mode 100644 index 347812c7..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelExportEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelImportEntity.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelImportEntity.class deleted file mode 100644 index 536aaf6c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelImportEntity.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelTitle.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelTitle.class deleted file mode 100644 index c7082bce..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ExcelTitle.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ImportParams.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ImportParams.class deleted file mode 100644 index 1ff92f2c..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/ImportParams.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/TemplateExportParams.class b/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/TemplateExportParams.class deleted file mode 100644 index b3948feb..00000000 Binary files a/WebRoot/WEB-INF/classes/org/jeecgframework/excel/entity/TemplateExportParams.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/spring-minidao.xml b/WebRoot/WEB-INF/classes/spring-minidao.xml deleted file mode 100644 index 42655461..00000000 --- a/WebRoot/WEB-INF/classes/spring-minidao.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - jeecg.cgreport.dao.* - jeecg.cgform.dao.* - jeecg.system.dao.* - - - - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/spring-mvc-aop.xml b/WebRoot/WEB-INF/classes/spring-mvc-aop.xml deleted file mode 100644 index 4545874a..00000000 --- a/WebRoot/WEB-INF/classes/spring-mvc-aop.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/spring-mvc-context.xml b/WebRoot/WEB-INF/classes/spring-mvc-context.xml deleted file mode 100644 index 9a7c89b1..00000000 --- a/WebRoot/WEB-INF/classes/spring-mvc-context.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/spring-mvc-hibernate.xml b/WebRoot/WEB-INF/classes/spring-mvc-hibernate.xml deleted file mode 100644 index 4b38c6d9..00000000 --- a/WebRoot/WEB-INF/classes/spring-mvc-hibernate.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${hibernate.dialect} - ${hibernate.hbm2ddl.auto} - true - true - false - - - - - - jeecg.system.pojo.* - jeecg.demo.entity.* - jeecg.test.entity.* - jeecg.cgform.entity.* - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/spring-mvc-timeTask.xml b/WebRoot/WEB-INF/classes/spring-mvc-timeTask.xml deleted file mode 100644 index 5aa6b325..00000000 --- a/WebRoot/WEB-INF/classes/spring-mvc-timeTask.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/spring-mvc.xml b/WebRoot/WEB-INF/classes/spring-mvc.xml deleted file mode 100644 index 6e0b5731..00000000 --- a/WebRoot/WEB-INF/classes/spring-mvc.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - text/html;charset=UTF-8 - - - - - - - - - - - - - - - - - - - - - - - - - 104857600 - - - 4096 - - - - - - - - - - - - - - - 500 - 404 - - - - - - dbError - bizError - bizError - bizError - unknowError - - - - - - - - - - - - - - - loginController.do?goPwdInit - loginController.do?pwdInit - loginController.do?login - loginController.do?checkuser - repairController.do?repair - repairController.do?deleteAndRepair - - - - - - - - - - \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/spring/SpringTxTestCase.class b/WebRoot/WEB-INF/classes/spring/SpringTxTestCase.class deleted file mode 100644 index b704ffd6..00000000 Binary files a/WebRoot/WEB-INF/classes/spring/SpringTxTestCase.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/test/JeecgOneGUI.class b/WebRoot/WEB-INF/classes/test/JeecgOneGUI.class deleted file mode 100644 index 3dc8812a..00000000 Binary files a/WebRoot/WEB-INF/classes/test/JeecgOneGUI.class and /dev/null differ diff --git a/WebRoot/WEB-INF/classes/test/JeecgOneToMainUtil.class b/WebRoot/WEB-INF/classes/test/JeecgOneToMainUtil.class deleted file mode 100644 index af88ed8e..00000000 Binary files a/WebRoot/WEB-INF/classes/test/JeecgOneToMainUtil.class and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/CKFinder-2.4.jar b/WebRoot/WEB-INF/lib/CKFinder-2.4.jar deleted file mode 100644 index 904c1fd6..00000000 Binary files a/WebRoot/WEB-INF/lib/CKFinder-2.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/CKFinderPlugin-FileEditor-2.4.jar b/WebRoot/WEB-INF/lib/CKFinderPlugin-FileEditor-2.4.jar deleted file mode 100644 index 18dd5178..00000000 Binary files a/WebRoot/WEB-INF/lib/CKFinderPlugin-FileEditor-2.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/CKFinderPlugin-ImageResize-2.4.jar b/WebRoot/WEB-INF/lib/CKFinderPlugin-ImageResize-2.4.jar deleted file mode 100644 index aa372c44..00000000 Binary files a/WebRoot/WEB-INF/lib/CKFinderPlugin-ImageResize-2.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/CKFinderPlugin-Watermark-2.4.jar b/WebRoot/WEB-INF/lib/CKFinderPlugin-Watermark-2.4.jar deleted file mode 100644 index 67042019..00000000 Binary files a/WebRoot/WEB-INF/lib/CKFinderPlugin-Watermark-2.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/activation-1.1.jar b/WebRoot/WEB-INF/lib/activation-1.1.jar deleted file mode 100644 index 53f82a1c..00000000 Binary files a/WebRoot/WEB-INF/lib/activation-1.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/ant-1.6.5.jar b/WebRoot/WEB-INF/lib/ant-1.6.5.jar deleted file mode 100644 index 3beb3b80..00000000 Binary files a/WebRoot/WEB-INF/lib/ant-1.6.5.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/antlr-3.3-complete.jar b/WebRoot/WEB-INF/lib/antlr-3.3-complete.jar deleted file mode 100644 index d5a65aed..00000000 Binary files a/WebRoot/WEB-INF/lib/antlr-3.3-complete.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/aopalliance-1.0.jar b/WebRoot/WEB-INF/lib/aopalliance-1.0.jar deleted file mode 100644 index 578b1a0c..00000000 Binary files a/WebRoot/WEB-INF/lib/aopalliance-1.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/aspectjrt.jar b/WebRoot/WEB-INF/lib/aspectjrt.jar deleted file mode 100644 index 72662dbb..00000000 Binary files a/WebRoot/WEB-INF/lib/aspectjrt.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/aspectjweaver-1.6.9.jar b/WebRoot/WEB-INF/lib/aspectjweaver-1.6.9.jar deleted file mode 100644 index 51fc8be1..00000000 Binary files a/WebRoot/WEB-INF/lib/aspectjweaver-1.6.9.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/aspectjweaver.jar b/WebRoot/WEB-INF/lib/aspectjweaver.jar deleted file mode 100644 index 7574b274..00000000 Binary files a/WebRoot/WEB-INF/lib/aspectjweaver.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/avalon-framework-4.2.0.jar b/WebRoot/WEB-INF/lib/avalon-framework-4.2.0.jar deleted file mode 100644 index 22a7ab34..00000000 Binary files a/WebRoot/WEB-INF/lib/avalon-framework-4.2.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/batik-all-1.7.jar b/WebRoot/WEB-INF/lib/batik-all-1.7.jar deleted file mode 100644 index 58932858..00000000 Binary files a/WebRoot/WEB-INF/lib/batik-all-1.7.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar b/WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar deleted file mode 100644 index 78837a55..00000000 Binary files a/WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/classmate-0.5.4.jar b/WebRoot/WEB-INF/lib/classmate-0.5.4.jar deleted file mode 100644 index 35d1c07f..00000000 Binary files a/WebRoot/WEB-INF/lib/classmate-0.5.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson-1.4.2.jar b/WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson-1.4.2.jar deleted file mode 100644 index 57888791..00000000 Binary files a/WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson-1.4.2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson.mapper-1.4.2.jar b/WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson.mapper-1.4.2.jar deleted file mode 100644 index 316b53a5..00000000 Binary files a/WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson.mapper-1.4.2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/com.springsource.org.junit-4.7.0.jar b/WebRoot/WEB-INF/lib/com.springsource.org.junit-4.7.0.jar deleted file mode 100644 index 12e92a7f..00000000 Binary files a/WebRoot/WEB-INF/lib/com.springsource.org.junit-4.7.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/com.springsource.org.quartz-1.6.2.jar b/WebRoot/WEB-INF/lib/com.springsource.org.quartz-1.6.2.jar deleted file mode 100644 index 30dcee7b..00000000 Binary files a/WebRoot/WEB-INF/lib/com.springsource.org.quartz-1.6.2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar b/WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar deleted file mode 100644 index b1b89c9c..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-chain-1.2.jar b/WebRoot/WEB-INF/lib/commons-chain-1.2.jar deleted file mode 100644 index 20fa4c59..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-chain-1.2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-codec-1.3.jar b/WebRoot/WEB-INF/lib/commons-codec-1.3.jar deleted file mode 100644 index 957b6752..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-codec-1.3.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-collections-3.2.1.jar b/WebRoot/WEB-INF/lib/commons-collections-3.2.1.jar deleted file mode 100644 index c35fa1fe..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-collections-3.2.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-dbcp.jar b/WebRoot/WEB-INF/lib/commons-dbcp.jar deleted file mode 100644 index faea0562..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-dbcp.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-digester-2.0.jar b/WebRoot/WEB-INF/lib/commons-digester-2.0.jar deleted file mode 100644 index 9c8bd13a..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-digester-2.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-email-1.0.jar b/WebRoot/WEB-INF/lib/commons-email-1.0.jar deleted file mode 100644 index c19e7050..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-email-1.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-fileupload-1.2.2.jar b/WebRoot/WEB-INF/lib/commons-fileupload-1.2.2.jar deleted file mode 100644 index 131f1924..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-fileupload-1.2.2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar b/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar deleted file mode 100644 index 5b64b7d6..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-lang-2.6.jar b/WebRoot/WEB-INF/lib/commons-lang-2.6.jar deleted file mode 100644 index 98467d3a..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-lang-2.6.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar b/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar deleted file mode 100644 index a85e539b..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar b/WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar deleted file mode 100644 index b73a80fa..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-logging-api-1.1.jar b/WebRoot/WEB-INF/lib/commons-logging-api-1.1.jar deleted file mode 100644 index d1abcbb4..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-logging-api-1.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-pool.jar b/WebRoot/WEB-INF/lib/commons-pool.jar deleted file mode 100644 index e8de3275..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-pool.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/commons-validator-1.3.1.jar b/WebRoot/WEB-INF/lib/commons-validator-1.3.1.jar deleted file mode 100644 index 55b12b1a..00000000 Binary files a/WebRoot/WEB-INF/lib/commons-validator-1.3.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/dom4j-1.6.1.jar b/WebRoot/WEB-INF/lib/dom4j-1.6.1.jar deleted file mode 100644 index c8c4dbb9..00000000 Binary files a/WebRoot/WEB-INF/lib/dom4j-1.6.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/druid-0.2.9.jar b/WebRoot/WEB-INF/lib/druid-0.2.9.jar deleted file mode 100644 index bf04821f..00000000 Binary files a/WebRoot/WEB-INF/lib/druid-0.2.9.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/ehcache-core-2.4.3.jar b/WebRoot/WEB-INF/lib/ehcache-core-2.4.3.jar deleted file mode 100644 index 7a26318d..00000000 Binary files a/WebRoot/WEB-INF/lib/ehcache-core-2.4.3.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar b/WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar deleted file mode 100644 index 179b8d6f..00000000 Binary files a/WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/fastjson-1.0.3.jar b/WebRoot/WEB-INF/lib/fastjson-1.0.3.jar deleted file mode 100644 index 680e8dc8..00000000 Binary files a/WebRoot/WEB-INF/lib/fastjson-1.0.3.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/fop.jar b/WebRoot/WEB-INF/lib/fop.jar deleted file mode 100644 index 4f5c7e9e..00000000 Binary files a/WebRoot/WEB-INF/lib/fop.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar b/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar deleted file mode 100644 index b13671da..00000000 Binary files a/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hamcrest-all-1.3.0RC2.jar b/WebRoot/WEB-INF/lib/hamcrest-all-1.3.0RC2.jar deleted file mode 100644 index 38d45aad..00000000 Binary files a/WebRoot/WEB-INF/lib/hamcrest-all-1.3.0RC2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-commons-annotations-4.0.2.Final.jar b/WebRoot/WEB-INF/lib/hibernate-commons-annotations-4.0.2.Final.jar deleted file mode 100644 index c26aba4e..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-commons-annotations-4.0.2.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-core-4.2.3.Final.jar b/WebRoot/WEB-INF/lib/hibernate-core-4.2.3.Final.jar deleted file mode 100644 index d8253ca2..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-core-4.2.3.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-ehcache-4.1.0.Final.jar b/WebRoot/WEB-INF/lib/hibernate-ehcache-4.1.0.Final.jar deleted file mode 100644 index d5d9c299..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-ehcache-4.1.0.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar b/WebRoot/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar deleted file mode 100644 index 1e9f71b8..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-proxool-4.1.0.Final.jar b/WebRoot/WEB-INF/lib/hibernate-proxool-4.1.0.Final.jar deleted file mode 100644 index 01689b09..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-proxool-4.1.0.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-validator-4.2.0.Final.jar b/WebRoot/WEB-INF/lib/hibernate-validator-4.2.0.Final.jar deleted file mode 100644 index dcc4e52d..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-validator-4.2.0.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/hibernate-validator-annotation-processor-4.1.0.Final.jar b/WebRoot/WEB-INF/lib/hibernate-validator-annotation-processor-4.1.0.Final.jar deleted file mode 100644 index 507c8984..00000000 Binary files a/WebRoot/WEB-INF/lib/hibernate-validator-annotation-processor-4.1.0.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jackson-all-1.8.4.jar b/WebRoot/WEB-INF/lib/jackson-all-1.8.4.jar deleted file mode 100644 index dcc7aff8..00000000 Binary files a/WebRoot/WEB-INF/lib/jackson-all-1.8.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jacob.jar b/WebRoot/WEB-INF/lib/jacob.jar deleted file mode 100644 index 35ce4fa9..00000000 Binary files a/WebRoot/WEB-INF/lib/jacob.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jai_imageio-1.1-alpha.jar b/WebRoot/WEB-INF/lib/jai_imageio-1.1-alpha.jar deleted file mode 100644 index 1f3938b7..00000000 Binary files a/WebRoot/WEB-INF/lib/jai_imageio-1.1-alpha.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/javassist-3.15.0-GA.jar b/WebRoot/WEB-INF/lib/javassist-3.15.0-GA.jar deleted file mode 100644 index 5af8eaeb..00000000 Binary files a/WebRoot/WEB-INF/lib/javassist-3.15.0-GA.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/javax.activation.jar b/WebRoot/WEB-INF/lib/javax.activation.jar deleted file mode 100644 index 1b703ab2..00000000 Binary files a/WebRoot/WEB-INF/lib/javax.activation.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/javax.servlet.jar b/WebRoot/WEB-INF/lib/javax.servlet.jar deleted file mode 100644 index 8449a201..00000000 Binary files a/WebRoot/WEB-INF/lib/javax.servlet.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/javax.ws.rs.jar b/WebRoot/WEB-INF/lib/javax.ws.rs.jar deleted file mode 100644 index 093321c9..00000000 Binary files a/WebRoot/WEB-INF/lib/javax.ws.rs.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/javax.xml.bind.jar b/WebRoot/WEB-INF/lib/javax.xml.bind.jar deleted file mode 100644 index 2b5dc7e3..00000000 Binary files a/WebRoot/WEB-INF/lib/javax.xml.bind.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/javax.xml.stream.jar b/WebRoot/WEB-INF/lib/javax.xml.stream.jar deleted file mode 100644 index 87ff1c1a..00000000 Binary files a/WebRoot/WEB-INF/lib/javax.xml.stream.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar b/WebRoot/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar deleted file mode 100644 index cd095e69..00000000 Binary files a/WebRoot/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar b/WebRoot/WEB-INF/lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar deleted file mode 100644 index b3bf81f6..00000000 Binary files a/WebRoot/WEB-INF/lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jboss-vfs-3.1.0.Final.jar b/WebRoot/WEB-INF/lib/jboss-vfs-3.1.0.Final.jar deleted file mode 100644 index 6d9b9cd2..00000000 Binary files a/WebRoot/WEB-INF/lib/jboss-vfs-3.1.0.Final.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jdbc2005.jar b/WebRoot/WEB-INF/lib/jdbc2005.jar deleted file mode 100644 index 0d9b52cb..00000000 Binary files a/WebRoot/WEB-INF/lib/jdbc2005.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jettison-1.0.1.jar b/WebRoot/WEB-INF/lib/jettison-1.0.1.jar deleted file mode 100644 index fed929fd..00000000 Binary files a/WebRoot/WEB-INF/lib/jettison-1.0.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jodconverter-core-3.0-beta-4.jar b/WebRoot/WEB-INF/lib/jodconverter-core-3.0-beta-4.jar deleted file mode 100644 index af626dac..00000000 Binary files a/WebRoot/WEB-INF/lib/jodconverter-core-3.0-beta-4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jodd-3.3.7.jar b/WebRoot/WEB-INF/lib/jodd-3.3.7.jar deleted file mode 100644 index 04cafef2..00000000 Binary files a/WebRoot/WEB-INF/lib/jodd-3.3.7.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/json-lib-2.1-jdk15.jar b/WebRoot/WEB-INF/lib/json-lib-2.1-jdk15.jar deleted file mode 100644 index 28880c41..00000000 Binary files a/WebRoot/WEB-INF/lib/json-lib-2.1-jdk15.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jstl.jar b/WebRoot/WEB-INF/lib/jstl.jar deleted file mode 100644 index a02abecc..00000000 Binary files a/WebRoot/WEB-INF/lib/jstl.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jtds-1.2.4.jar b/WebRoot/WEB-INF/lib/jtds-1.2.4.jar deleted file mode 100644 index 94b2e515..00000000 Binary files a/WebRoot/WEB-INF/lib/jtds-1.2.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/juh.jar b/WebRoot/WEB-INF/lib/juh.jar deleted file mode 100644 index 5b874235..00000000 Binary files a/WebRoot/WEB-INF/lib/juh.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/jurt.jar b/WebRoot/WEB-INF/lib/jurt.jar deleted file mode 100644 index c3c36548..00000000 Binary files a/WebRoot/WEB-INF/lib/jurt.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/log4j-1.2.16.jar b/WebRoot/WEB-INF/lib/log4j-1.2.16.jar deleted file mode 100644 index 3f9d8476..00000000 Binary files a/WebRoot/WEB-INF/lib/log4j-1.2.16.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/mail.jar b/WebRoot/WEB-INF/lib/mail.jar deleted file mode 100644 index e4159c39..00000000 Binary files a/WebRoot/WEB-INF/lib/mail.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/mybatis-3.0.6.jar b/WebRoot/WEB-INF/lib/mybatis-3.0.6.jar deleted file mode 100644 index 45f3a02f..00000000 Binary files a/WebRoot/WEB-INF/lib/mybatis-3.0.6.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.24-bin.jar b/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.24-bin.jar deleted file mode 100644 index c640a8d1..00000000 Binary files a/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.24-bin.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/ojdbc6.jar b/WebRoot/WEB-INF/lib/ojdbc6.jar deleted file mode 100644 index c14cac4f..00000000 Binary files a/WebRoot/WEB-INF/lib/ojdbc6.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.jeecgframework.codegenerate.jar b/WebRoot/WEB-INF/lib/org.jeecgframework.codegenerate.jar deleted file mode 100644 index 1e1104f9..00000000 Binary files a/WebRoot/WEB-INF/lib/org.jeecgframework.codegenerate.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.jeecgframework.minidao-1.2.3.jar b/WebRoot/WEB-INF/lib/org.jeecgframework.minidao-1.2.3.jar deleted file mode 100644 index e330f840..00000000 Binary files a/WebRoot/WEB-INF/lib/org.jeecgframework.minidao-1.2.3.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.jeecgframework.onlinecoding.jar b/WebRoot/WEB-INF/lib/org.jeecgframework.onlinecoding.jar deleted file mode 100644 index 0ca88e45..00000000 Binary files a/WebRoot/WEB-INF/lib/org.jeecgframework.onlinecoding.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.jeecgframework.onlinecodingjsp.jar b/WebRoot/WEB-INF/lib/org.jeecgframework.onlinecodingjsp.jar deleted file mode 100644 index aa32a0fc..00000000 Binary files a/WebRoot/WEB-INF/lib/org.jeecgframework.onlinecodingjsp.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.jeecgframework.uitag.jar b/WebRoot/WEB-INF/lib/org.jeecgframework.uitag.jar deleted file mode 100644 index 51dbe039..00000000 Binary files a/WebRoot/WEB-INF/lib/org.jeecgframework.uitag.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet-2.0.15.jar b/WebRoot/WEB-INF/lib/org.restlet-2.0.15.jar deleted file mode 100644 index 27c90384..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet-2.0.15.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.fileupload-2.0.15.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.fileupload-2.0.15.jar deleted file mode 100644 index 18b3a605..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.fileupload-2.0.15.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.jackson-2.0.15.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.jackson-2.0.15.jar deleted file mode 100644 index 48650a36..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.jackson-2.0.15.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.servlet-2.0.15.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.servlet-2.0.15.jar deleted file mode 100644 index 13f2f8e3..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.servlet-2.0.15.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.wadl.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.wadl.jar deleted file mode 100644 index b3c3c102..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.wadl.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.xdb.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.xdb.jar deleted file mode 100644 index acdf99a0..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.xdb.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.xml.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.xml.jar deleted file mode 100644 index eb3cb778..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.xml.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.ext.xstream.jar b/WebRoot/WEB-INF/lib/org.restlet.ext.xstream.jar deleted file mode 100644 index 0a9c5054..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.ext.xstream.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.restlet.jar b/WebRoot/WEB-INF/lib/org.restlet.jar deleted file mode 100644 index 5246dfba..00000000 Binary files a/WebRoot/WEB-INF/lib/org.restlet.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.aop-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.aop-3.1.1.RELEASE.jar deleted file mode 100644 index 73ba4049..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.aop-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.asm-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.asm-3.1.1.RELEASE.jar deleted file mode 100644 index 20d79385..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.asm-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.aspects-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.aspects-3.1.1.RELEASE.jar deleted file mode 100644 index 27b138d9..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.aspects-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.beans-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.beans-3.1.1.RELEASE.jar deleted file mode 100644 index a69bcb1f..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.beans-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.context-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.context-3.1.1.RELEASE.jar deleted file mode 100644 index a35e4869..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.context-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.context.support-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.context.support-3.1.1.RELEASE.jar deleted file mode 100644 index 8e8fff4c..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.context.support-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.core-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.core-3.1.1.RELEASE.jar deleted file mode 100644 index bdd8944a..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.core-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.expression-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.expression-3.1.1.RELEASE.jar deleted file mode 100644 index 0e445b97..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.expression-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.jdbc-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.jdbc-3.1.1.RELEASE.jar deleted file mode 100644 index 82b836a1..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.jdbc-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.orm-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.orm-3.1.1.RELEASE.jar deleted file mode 100644 index 5e5f16d5..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.orm-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.test-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.test-3.1.1.RELEASE.jar deleted file mode 100644 index b5cd075d..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.test-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.transaction-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.transaction-3.1.1.RELEASE.jar deleted file mode 100644 index 5db41654..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.transaction-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.web-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.web-3.1.1.RELEASE.jar deleted file mode 100644 index 42ed92c7..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.web-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.1.1.RELEASE.jar b/WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.1.1.RELEASE.jar deleted file mode 100644 index 8e27a5bc..00000000 Binary files a/WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.1.1.RELEASE.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/pinyin4j-2.5.0.jar b/WebRoot/WEB-INF/lib/pinyin4j-2.5.0.jar deleted file mode 100644 index e8ede137..00000000 Binary files a/WebRoot/WEB-INF/lib/pinyin4j-2.5.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/poi-3.9-20121203.jar b/WebRoot/WEB-INF/lib/poi-3.9-20121203.jar deleted file mode 100644 index 0f462880..00000000 Binary files a/WebRoot/WEB-INF/lib/poi-3.9-20121203.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/poi-ooxml-3.9-20121203.jar b/WebRoot/WEB-INF/lib/poi-ooxml-3.9-20121203.jar deleted file mode 100644 index 8792d463..00000000 Binary files a/WebRoot/WEB-INF/lib/poi-ooxml-3.9-20121203.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/poi-ooxml-schemas-3.9-20121203.jar b/WebRoot/WEB-INF/lib/poi-ooxml-schemas-3.9-20121203.jar deleted file mode 100644 index eda4ef49..00000000 Binary files a/WebRoot/WEB-INF/lib/poi-ooxml-schemas-3.9-20121203.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/poi-scratchpad-3.9-20121203.jar b/WebRoot/WEB-INF/lib/poi-scratchpad-3.9-20121203.jar deleted file mode 100644 index 15208552..00000000 Binary files a/WebRoot/WEB-INF/lib/poi-scratchpad-3.9-20121203.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/postgresql-9.1-902.jdbc4.jar b/WebRoot/WEB-INF/lib/postgresql-9.1-902.jdbc4.jar deleted file mode 100644 index 078f3793..00000000 Binary files a/WebRoot/WEB-INF/lib/postgresql-9.1-902.jdbc4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/proxool-0.9.1.jar b/WebRoot/WEB-INF/lib/proxool-0.9.1.jar deleted file mode 100644 index ffb163f2..00000000 Binary files a/WebRoot/WEB-INF/lib/proxool-0.9.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/proxool-cglib.jar b/WebRoot/WEB-INF/lib/proxool-cglib.jar deleted file mode 100644 index 4fe25c13..00000000 Binary files a/WebRoot/WEB-INF/lib/proxool-cglib.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/ridl.jar b/WebRoot/WEB-INF/lib/ridl.jar deleted file mode 100644 index 7e56b133..00000000 Binary files a/WebRoot/WEB-INF/lib/ridl.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/serializer-2.7.0.jar b/WebRoot/WEB-INF/lib/serializer-2.7.0.jar deleted file mode 100644 index 7cd80696..00000000 Binary files a/WebRoot/WEB-INF/lib/serializer-2.7.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/slf4j-api-1.6.1.jar b/WebRoot/WEB-INF/lib/slf4j-api-1.6.1.jar deleted file mode 100644 index f1f4fdd2..00000000 Binary files a/WebRoot/WEB-INF/lib/slf4j-api-1.6.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/slf4j-log4j12-1.6.1.jar b/WebRoot/WEB-INF/lib/slf4j-log4j12-1.6.1.jar deleted file mode 100644 index 873d1198..00000000 Binary files a/WebRoot/WEB-INF/lib/slf4j-log4j12-1.6.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/smartupload(1).jar b/WebRoot/WEB-INF/lib/smartupload(1).jar deleted file mode 100644 index bc638b24..00000000 Binary files a/WebRoot/WEB-INF/lib/smartupload(1).jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/standard.jar b/WebRoot/WEB-INF/lib/standard.jar deleted file mode 100644 index bc528acb..00000000 Binary files a/WebRoot/WEB-INF/lib/standard.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/thumbnailator-0.4.5.jar b/WebRoot/WEB-INF/lib/thumbnailator-0.4.5.jar deleted file mode 100644 index 3740e820..00000000 Binary files a/WebRoot/WEB-INF/lib/thumbnailator-0.4.5.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/unoil.jar b/WebRoot/WEB-INF/lib/unoil.jar deleted file mode 100644 index 6b77125c..00000000 Binary files a/WebRoot/WEB-INF/lib/unoil.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/validation-api-1.0.0.GA.jar b/WebRoot/WEB-INF/lib/validation-api-1.0.0.GA.jar deleted file mode 100644 index 1ff2dd71..00000000 Binary files a/WebRoot/WEB-INF/lib/validation-api-1.0.0.GA.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xalan-2.7.0.jar b/WebRoot/WEB-INF/lib/xalan-2.7.0.jar deleted file mode 100644 index 979ee761..00000000 Binary files a/WebRoot/WEB-INF/lib/xalan-2.7.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xercesImpl-2.7.1.jar b/WebRoot/WEB-INF/lib/xercesImpl-2.7.1.jar deleted file mode 100644 index eac75ae8..00000000 Binary files a/WebRoot/WEB-INF/lib/xercesImpl-2.7.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xml-apis-1.3.04.jar b/WebRoot/WEB-INF/lib/xml-apis-1.3.04.jar deleted file mode 100644 index d42c0ea6..00000000 Binary files a/WebRoot/WEB-INF/lib/xml-apis-1.3.04.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xml-apis-ext-1.3.04.jar b/WebRoot/WEB-INF/lib/xml-apis-ext-1.3.04.jar deleted file mode 100644 index a7869d68..00000000 Binary files a/WebRoot/WEB-INF/lib/xml-apis-ext-1.3.04.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xmlbeans-2.3.0.jar b/WebRoot/WEB-INF/lib/xmlbeans-2.3.0.jar deleted file mode 100644 index ccd81634..00000000 Binary files a/WebRoot/WEB-INF/lib/xmlbeans-2.3.0.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xmlgraphics-commons-1.4.jar b/WebRoot/WEB-INF/lib/xmlgraphics-commons-1.4.jar deleted file mode 100644 index 01bc3916..00000000 Binary files a/WebRoot/WEB-INF/lib/xmlgraphics-commons-1.4.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xpp3_min-1.1.4c.jar b/WebRoot/WEB-INF/lib/xpp3_min-1.1.4c.jar deleted file mode 100644 index 813a9a83..00000000 Binary files a/WebRoot/WEB-INF/lib/xpp3_min-1.1.4c.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xstream-1.3.1.jar b/WebRoot/WEB-INF/lib/xstream-1.3.1.jar deleted file mode 100644 index 4ef4219c..00000000 Binary files a/WebRoot/WEB-INF/lib/xstream-1.3.1.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/lib/xwork-core-2.1.6.jar b/WebRoot/WEB-INF/lib/xwork-core-2.1.6.jar deleted file mode 100644 index bd5996bd..00000000 Binary files a/WebRoot/WEB-INF/lib/xwork-core-2.1.6.jar and /dev/null differ diff --git a/WebRoot/WEB-INF/online-coding.xml b/WebRoot/WEB-INF/online-coding.xml deleted file mode 100644 index c421ef1e..00000000 --- a/WebRoot/WEB-INF/online-coding.xml +++ /dev/null @@ -1,171 +0,0 @@ - - org.apache.jsp.webpage.cgform.trans.transList_jsp - org.apache.jsp.webpage.cgform.trans.transList_jsp - - - - org.apache.jsp.webpage.cgform.generate.one2many_jsp - org.apache.jsp.webpage.cgform.generate.one2many_jsp - - - - org.apache.jsp.webpage.cgform.generate.single_jsp - org.apache.jsp.webpage.cgform.generate.single_jsp - - - - org.apache.jsp.webpage.cgform.excel.upload_jsp - org.apache.jsp.webpage.cgform.excel.upload_jsp - - - - org.apache.jsp.webpage.cgform.enhance.cgformenhanceJs_jsp - org.apache.jsp.webpage.cgform.enhance.cgformenhanceJs_jsp - - - - org.apache.jsp.webpage.cgform.config.cgFormHead_jsp - org.apache.jsp.webpage.cgform.config.cgFormHead_jsp - - - - org.apache.jsp.webpage.cgform.config.cgFormHeadList_jsp - org.apache.jsp.webpage.cgform.config.cgFormHeadList_jsp - - - - org.apache.jsp.webpage.cgform.config.cgformMigrateSqlInclude_jsp - org.apache.jsp.webpage.cgform.config.cgformMigrateSqlInclude_jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtl_jsp - org.apache.jsp.webpage.cgform.cgformftl.cgformFtl_jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlEditor_jsp - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlEditor_jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlList_jsp - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlList_jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlList2_jsp - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlList2_jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.ckeditor_jsp - org.apache.jsp.webpage.cgform.cgformftl.ckeditor_jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButton_jsp - org.apache.jsp.webpage.cgform.button.cgformButton_jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButtonList_jsp - org.apache.jsp.webpage.cgform.button.cgformButtonList_jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButtonSql_jsp - org.apache.jsp.webpage.cgform.button.cgformButtonSql_jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButtonSqlOut_jsp - org.apache.jsp.webpage.cgform.button.cgformButtonSqlOut_jsp - - - - - - org.apache.jsp.webpage.cgform.trans.transList_jsp - /webpage/cgform/trans/transList.jsp - - - - org.apache.jsp.webpage.cgform.generate.one2many_jsp - /webpage/cgform/generate/one2many.jsp - - - - org.apache.jsp.webpage.cgform.generate.single_jsp - /webpage/cgform/generate/single.jsp - - - - org.apache.jsp.webpage.cgform.excel.upload_jsp - /webpage/cgform/excel/upload.jsp - - - - org.apache.jsp.webpage.cgform.enhance.cgformenhanceJs_jsp - /webpage/cgform/enhance/cgformenhanceJs.jsp - - - - org.apache.jsp.webpage.cgform.config.cgFormHead_jsp - /webpage/cgform/config/cgFormHead.jsp - - - - org.apache.jsp.webpage.cgform.config.cgFormHeadList_jsp - /webpage/cgform/config/cgFormHeadList.jsp - - - - org.apache.jsp.webpage.cgform.config.cgformMigrateSqlInclude_jsp - /webpage/cgform/config/cgformMigrateSqlInclude.jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtl_jsp - /webpage/cgform/cgformftl/cgformFtl.jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlEditor_jsp - /webpage/cgform/cgformftl/cgformFtlEditor.jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlList_jsp - /webpage/cgform/cgformftl/cgformFtlList.jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.cgformFtlList2_jsp - /webpage/cgform/cgformftl/cgformFtlList2.jsp - - - - org.apache.jsp.webpage.cgform.cgformftl.ckeditor_jsp - /webpage/cgform/cgformftl/ckeditor.jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButton_jsp - /webpage/cgform/button/cgformButton.jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButtonList_jsp - /webpage/cgform/button/cgformButtonList.jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButtonSql_jsp - /webpage/cgform/button/cgformButtonSql.jsp - - - - org.apache.jsp.webpage.cgform.button.cgformButtonSqlOut_jsp - /webpage/cgform/button/cgformButtonSqlOut.jsp - \ No newline at end of file diff --git a/WebRoot/WEB-INF/tld/easyui.tld b/WebRoot/WEB-INF/tld/easyui.tld deleted file mode 100644 index 0917768b..00000000 --- a/WebRoot/WEB-INF/tld/easyui.tld +++ /dev/null @@ -1,1273 +0,0 @@ - - - - 1.0 - 1.2 - t - /easyui-tags - "自定义标签" - - base - org.jeecgframework.tag.core.easyui.BaseTag - jsp - 父类标签生成JS CSS - - type - true - true - 加载类型 - - - - datagrid - org.jeecgframework.tag.core.easyui.DataGridTag - jsp - 数据列表 - - name - true - true - 列表TABLE标示 - - - treegrid - true - 是否是树形列表 值为true 或者false - - - actionUrl - true - true - 分页提交的路径 - - - pagination - true - 是否分页 true,false - - - title - true - 表格标题 - - - idField - true - 主键字段 - - - width - true - 表格宽度 - - - height - true - 表格高度 - - - checkbox - true - 是否显示复选框 - - - fit - true - 是否适应父容器,true 默认 ,false - - - sortName - true - 定义的列进行排序 - - - sortOrder - true - 定义列的排序顺序,只能是"递增 asc"或"降序desc" - - - fitColumns - true - 当为true时,自动展开/合同列的大小,以适应的宽度,防止横向滚动 - - - showPageList - true - 是否显示页面列表 - - - showRefresh - true - 是否显示刷新按钮 - - - showText - true - 是否显示分页信息 - - - style - true - 表格样式easyui,datatables - - - pageSize - true - 每页显示条数 - - - onLoadSuccess - true - 数据加载成调用方法 - - - onDblClick - true - 双击调用方法 - - - onClick - true - 单击调用方法 tree 下function(rowData),dataGrid 下function(rowIndex,rowData) - - - queryMode - true - 查询模式:single(单条件查询:默认),group(组合查询) - - - autoLoadData - true - 列表页面数据加载模式。true自动加载数据,false手动加载,默认为true - - - openFirstNode - true - 是不是展开第一个节点,在树形情况下,true展开,false不展开默认false - - - entityName - true - 对应的实体对象,如果entity和controller都是规则的可以不填,自动补全标签做关联 - - - rowStyler - true - 行 css函数 指定名称就可以,调用为 functionName(index,row)这样调用 - - - extendParams - true - datagrid 的扩展字段,如果easyui上面有但是jeecg没有这个属性可以自己添加 - 添加规则和easyui的field一致 - - - - dgCol - org.jeecgframework.tag.core.easyui.DataGridColumnTag - jsp - 列表字段 - - title - true - true - 字段标题 - - - field - true - true - 字段值 - - - width - true - 字段宽度 - - - rowspan - true - 字段跨列 - - - colspan - true - 字段跨行 - - - align - true - 数据对齐方式,可选值有left,right,center - - - sortable - true - 是否排序 - - - checkbox - true - 是否显示选择框 - - - formatter - true - 自定义函数名称 - - - hidden - true - 列隐藏(隐藏:false) - - - replace - true - 字段值替换(格式 :old_new,old2_new2) - - - treefield - true - 树形菜单对应字段 - - - image - true - 是否显示图片字段 - - - imageSize - true - 自定义大小显示(格式:width,height) - - - query - true - 是否为添加查询列 - - - queryMode - true - 字段查询模式:single(默认:单字段查询),group(范围查询) - - - frozenColumn - false - 是否是冰冻列。默认false - - - funname - false - true - 自定义函数 - - - url - false - true - 自定义链接地址 - - - dictionary - false - true - 数据字典组编码 或 自定义字典(格式:表名,编码,显示文本) - - - extend - false - true - 扩展属性(采用json格式)查询的时候使用 - - - style - false - true - td CSS 属性 - - - downloadName - true - 附件下载 - - - autocomplete - true - 自动补全,true 自动补全,false不补全,默认false 填写当前字段 - - - extendParams - true - datagrid field 的扩展字段,如果easyui上面有但是jeecg没有这个属性可以自己添加 - 添加规则和easyui的field一致 - - - - dgDelOpt - org.jeecgframework.tag.core.easyui.DataGridDelOptTag - jsp - 列表删除操作 - - url - true - true - 列表操作URL - - - title - true - true - 操作标题 - - - message - true - 询问内容 - - - exp - true - 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) 表达式类型支持eq,ne,empty - - - funname - true - 自定义函数名称 - - - operationCode - true - 按钮操作Code - - - - dgDefOpt - org.jeecgframework.tag.core.easyui.DataGridDefOptTag - jsp - 列表URL操作 - - url - true - true - 列表操作URL - - - title - true - true - 操作标题 - - - exp - true - 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) 表达式类型支持eq,ne,empty - - - operationCode - true - 按钮操作Code - - - - dgOpenOpt - org.jeecgframework.tag.core.easyui.DataGridOpenOptTag - jsp - 弹出窗模式操作 - - url - true - true - 列表操作URL - - - title - true - true - 操作标题 - - - width - true - 弹出窗宽度 - - - height - true - 弹出窗高度 - - - exp - true - 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) 表达式类型支持eq,ne,empty - - - operationCode - true - 按钮操作Code - - - openModel - true - 弹出方式[OpenWin/OpenTab] - - - - dgFunOpt - org.jeecgframework.tag.core.easyui.DataGridFunOptTag - jsp - 列表自定义函数操作 - - title - true - true - 操作标题 - - - exp - true - 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) 表达式类型支持eq,ne,empty - - - funname - true - true - 自定义函数名称(可传出任意字段) - - - operationCode - true - 按钮操作Code - - - - dgToolBar - org.jeecgframework.tag.core.easyui.DataGridToolBarTag - jsp - 列表工具条标签 - - url - true - 工具条选项URL - - - icon - true - 工具条选项图标 - - - title - true - true - 工具条选项标题 - - - funname - true - 工具条选项自定义函数 - - - width - true - 弹出框宽度 - - - height - true - 弹出框高度 - - - onclick - true - 工具条选项onclick事件 - - - operationCode - true - 按钮操作Code - - - - dgConfOpt - org.jeecgframework.tag.core.easyui.DataGridConfOptTag - jsp - 列表询问操作 - - url - true - true - 列表操作URL - - - title - true - true - 操作标题 - - - exp - true - 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) 表达式类型支持eq,ne,empty - - - message - true - true - 询问内容 - - - operationCode - true - 按钮操作Code - - - - comboBox - org.jeecgframework.tag.core.easyui.ComboBoxTag - jsp - 下拉选择框 - - name - true - true - 控件名称 - - - url - true - true - 远程数据 - - - id - true - true - ID对应字段 - - - text - true - true - text对应字段 - - - width - true - width对应字段 - - - listWidth - true - listWidth对应字段 - - - listHeight - true - listHeight对应字段 - - - - comboTree - org.jeecgframework.tag.core.easyui.ComboTreeTag - jsp - 下拉树形选择框 - - name - true - true - 控件名称 - - - url - true - true - 远程数据 - - - id - true - true - ID对应字段 - - - width - true - width对应字段 - - - value - true - - - - multiple - true - 是否多选 - - - - tabs - org.jeecgframework.tag.core.easyui.TabsTag - jsp - 选项卡标签 - - id - true - true - 容器ID - - - width - true - 宽度 - - - heigth - true - 高度 - - - plain - true - 如果设置为true,将不显示控制面板背景。 - - - fit - true - 设置为true时,选项卡的大小将铺满它所在的容器(浏览器) - - - border - true - 如果设置true,将显示选项卡所在容器(控制面板)的边框 - - - scrollIncrement - true - 选项卡滚动条每次滚动的像素值 - - - scrollDuration - true - 每次滚动持续的时间,单位为毫秒 - - - tools - true - 控制面板右侧的工具栏,每个工具选项都跟链接按钮一样 - - - tabs - true - 是否创建父容器 - - - iframe - true - 是否是Iframe创建HREF - - - tabPosition - true - 选项卡位置(top,left,right,bottom) - - - - tab - org.jeecgframework.tag.core.easyui.TabTag - jsp - 选项卡选项标签 - - id - true - true - ID对应字段 - - - title - true - true - tab标题 - - - heigth - true - tab高度 - - - width - true - 宽度 - - - href - true - href - - - iframe - true - ID对应字段 - - - icon - true - 选项卡图标 - - - closable - true - 选项卡是否带关闭按钮 - - - - upload - org.jeecgframework.tag.core.easyui.UploadTag - jsp - 选项卡选项标签 - - id - true - true - ID对应字段 - - - name - true - true - 控件名称 - - - formData - true - 后台接受的参数,取控件ID - - - uploader - true - true - uploader - - - extend - true - true - 上传文件扩展名(可选类型组1,图片:pic,2,文档:office) - - - buttonText - false - true - 控件显示文本 - - - multi - false - true - 是否多文件上传 - - - queueID - false - true - 文件容器ID - - - dialog - false - true - 是否是弹出窗口模式 - - - callback - false - 回调函数 - - - auto - false - 是否自动上传 - - - onUploadSuccess - false - 上传成功处理函数 - - - view - false - 是否生成查看删除链接默认false,如为true需要在后台返回JSON中添加查看参数(viewhref)和删除参数(delurl) - - - - ckfinder - org.jeecgframework.tag.core.easyui.CkfinderTag - jsp - ckfinder标签 - - name - true - true - 属性名称 - - - value - true - 默认值 - - - width - false - 显示图片宽(上传类型为Images时) - - - height - false - 显示图片高(上传类型为Images时) - - - buttonClass - false - 按钮样式 - - - buttonValue - false - 按钮文本 - - - uploadType - true - false - 上传类型(Images,Files,Flash) - - - - ckeditor - org.jeecgframework.tag.core.easyui.CkeditorTag - jsp - ckeditor标签 - - name - true - true - 属性名称 - - - value - true - 默认值 - - - isfinder - true - false - 是否加载ckfinder - - - type - false - 其它属性(用法:height:400,uiColor:'#9AB8F3' 用,分割) - - - - formvalid - org.jeecgframework.tag.core.easyui.FormValidationTag - jsp - 表单验证标签 - - action - true - 表单提交路径 - - - formid - true - true - Form Id - - - refresh - false - 是否刷新父页面 - - - callback - false - 回调函数 - - - beforeSubmit - false - 提交之前处理函数 - - - btnsub - false - 触发提交事件按钮(默认值:btn_sub) - - - btnreset - false - 触发表单重置事件按钮(默认值:btn_reset) - - - layout - true - false - 表单布局 - - - usePlugin - false - 外调插件(可选插件,jqtransform:表单美化) - - - dialog - true - true - 是否是弹出窗口模式 - - - tabtitle - false - true - 表单选项卡分组标题 - - - tiptype - false - true - 表单校验提示方式 1:弹出方式,2-4:侧边提示 - - - - - choose - org.jeecgframework.tag.core.easyui.ChooseTag - jsp - 111 - 选则操作 - - hiddenName - true - 隐藏域控件的ID - - - hiddenid - true - 隐藏域控件在弹出列表中的对应字段 - - - textname - true - 显示域控件在弹出列表中的对应字段 - - - inputTextname - true - 显示域控件的ID - - - name - true - true - datagrid名称 - - - icon - true - true - 选择按钮的图标 - - - height - true - 弹出框的宽度 - - - width - true - 弹出框的高度 - - - left - true - 弹出框的位置 - - - top - true - 弹出框的位置 - - - url - true - true - url - - - title - true - true - 标题 - - - isclear - true - 标题 - - - fun - true - 自定义函数 - - - - - colorchange - org.jeecgframework.tag.core.easyui.ColorChangeTag - jsp - 改变HTML控件颜色 - 111 - 改变HTML控件颜色 - - - - menu - org.jeecgframework.tag.core.easyui.MenuTag - jsp - 左侧菜单生成控件 - 111 - 左侧菜单生成控件可选样式easyui,bootstrap,json - - style - true - 菜单样式 - - - parentFun - false - true - 一级菜单 - - - childFun - false - true - 二级菜单 - - - menuFun - false - true - 菜单信息 - - - - - autocomplete - org.jeecgframework.tag.core.easyui.AutocompleteTag - jsp - 自动完成控件 - 111 - 数据自动补全 - - name - true - true - 控件名称 - - - entityName - true - true - 数据源对应实体 - - - dataSource - false - true - 数据源 - - - minLength - false - true - 提示触发文字长度 - - - labelField - true - true - 显示文本对应的实体字段 - - - valueField - true - true - 取值字段对应实体字段 - - - label - false - true - 传入显示文本 - - - value - false - true - 传入隐藏域值 - - - searchField - true - true - 查询关键字对应实体字段 - - - selectfun - false - true - 下拉选择事件调用函数 - - - closefun - false - true - 下拉选项关闭调用函数 - - - datatype - false - true - 数据类型 - - - nullmsg - false - true - 数据为空时提示 - - - errormsg - false - true - 数据格式错误时提示 - - - parse - false - true - 转换数据 - - - formatItem - false - true - 格式化要显示的数据 - - - result - false - true - 选择后回调方法 - - - maxRows - false - true - 最多显示条数 - - - - - dictSelect - org.jeecgframework.tag.core.easyui.DictSelectTag - jsp - 下拉选择控件 - 111 - 下拉选择控件 - - typeGroupCode - false - true - 数据字典类型编码 - - - field - true - true - SELECT表单的Name - - - id - false - true - SELECT表单的Id - - - defaultVal - false - true - 默认选择的Value - - - divClass - false - true - DIV样式 - - - labelClass - false - true - Label样式 - - - title - false - true - Label显示值 - - - hasLabel - true - 是否显示Label - - - type - true - 控件格式 select|radio|checkbox - - - - dictTable - true - 自定义字典表 - - - dictField - true - 自定义字典表的匹配字段-字典的编码值 - - - dictText - true - 自定义字典表的显示文本-字典的显示值 - - - - - authFilter - org.jeecgframework.tag.core.easyui.AuthFilterTag - jsp - 按钮权限标签 - 将当前用户对应菜单中不拥有按钮权限的按钮和操作隐藏 - - name - true - 按钮容器的ID - - - \ No newline at end of file diff --git a/WebRoot/webpage/common/upload/imageView.jsp b/WebRoot/webpage/common/upload/imageView.jsp deleted file mode 100644 index a08481dc..00000000 --- a/WebRoot/webpage/common/upload/imageView.jsp +++ /dev/null @@ -1,35 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 附件查看 - - - -
- -
- - - - - - - - - - - - - - - - - - - - - diff --git a/WebRoot/webpage/demo/AJAX/select.jsp b/WebRoot/webpage/demo/AJAX/select.jsp deleted file mode 100644 index 5191831c..00000000 --- a/WebRoot/webpage/demo/AJAX/select.jsp +++ /dev/null @@ -1,57 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - - - -
- 下拉框AJAX联动: - - -
- 菜单项目: - - -
-
diff --git a/WebRoot/webpage/demo/autocomplete/basic.jsp b/WebRoot/webpage/demo/autocomplete/basic.jsp deleted file mode 100644 index 9b2f7649..00000000 --- a/WebRoot/webpage/demo/autocomplete/basic.jsp +++ /dev/null @@ -1,142 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - -
-
- - - - - -
-
-
diff --git a/WebRoot/webpage/demo/demo.jsp b/WebRoot/webpage/demo/demo.jsp deleted file mode 100644 index d6164ba8..00000000 --- a/WebRoot/webpage/demo/demo.jsp +++ /dev/null @@ -1,49 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - DEMO添加 - - - - - -
-
- - - -
-
- - - -
-
- - -
-
- - -
-
- - - -
-
-
- - diff --git a/WebRoot/webpage/demo/demoIframe.jsp b/WebRoot/webpage/demo/demoIframe.jsp deleted file mode 100644 index 154050e1..00000000 --- a/WebRoot/webpage/demo/demoIframe.jsp +++ /dev/null @@ -1,50 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - -
- - - - - - - - - -
- - <%-- - --%> -
-
-
-
    -
-
-
-
diff --git a/WebRoot/webpage/demo/demoList.jsp b/WebRoot/webpage/demo/demoList.jsp deleted file mode 100644 index 2b9884ab..00000000 --- a/WebRoot/webpage/demo/demoList.jsp +++ /dev/null @@ -1,22 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - - diff --git a/WebRoot/webpage/demo/democode.jsp b/WebRoot/webpage/demo/democode.jsp deleted file mode 100644 index 573b1d11..00000000 --- a/WebRoot/webpage/demo/democode.jsp +++ /dev/null @@ -1,21 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - DEMO添加 - - - - - - - -
-   ${demo.democode}
-   
- - diff --git a/WebRoot/webpage/demo/dict/dictSelect.jsp b/WebRoot/webpage/demo/dict/dictSelect.jsp deleted file mode 100644 index 6c79ee4a..00000000 --- a/WebRoot/webpage/demo/dict/dictSelect.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - 数据字典演示 - - - -
- - -
-
- - diff --git a/WebRoot/webpage/demo/formvalid/basic.jsp b/WebRoot/webpage/demo/formvalid/basic.jsp deleted file mode 100644 index 4f1a087b..00000000 --- a/WebRoot/webpage/demo/formvalid/basic.jsp +++ /dev/null @@ -1,75 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - -
-
- - - -
-
- - - -
-
- - - - 阅读 - - - - 音乐 - - - - 运动 - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- 查看源码 -
diff --git a/WebRoot/webpage/demo/jdbc/jdbc-list.jsp b/WebRoot/webpage/demo/jdbc/jdbc-list.jsp deleted file mode 100644 index f10578f4..00000000 --- a/WebRoot/webpage/demo/jdbc/jdbc-list.jsp +++ /dev/null @@ -1,9 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - \ No newline at end of file diff --git a/WebRoot/webpage/demo/tabledemo.jsp b/WebRoot/webpage/demo/tabledemo.jsp deleted file mode 100644 index 4b85710c..00000000 --- a/WebRoot/webpage/demo/tabledemo.jsp +++ /dev/null @@ -1,61 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - DEMO添加 - - - - - - - - - - - - - - - - - - - - - - - - - - -
- DEMO名称: - - - -
- DEMO地址: - - -
- 上级DEMO: - - -
- 排序: - - - -
- 提交 - 重置 -
-
- - diff --git a/WebRoot/webpage/demo/tabs/addbyTab.jsp b/WebRoot/webpage/demo/tabs/addbyTab.jsp deleted file mode 100644 index 3b1ec03b..00000000 --- a/WebRoot/webpage/demo/tabs/addbyTab.jsp +++ /dev/null @@ -1,29 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - TABS - - - - - - - - - - - - diff --git a/WebRoot/webpage/demo/template/templateiframe.jsp b/WebRoot/webpage/demo/template/templateiframe.jsp deleted file mode 100644 index 38a85759..00000000 --- a/WebRoot/webpage/demo/template/templateiframe.jsp +++ /dev/null @@ -1,4 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - diff --git a/WebRoot/webpage/demo/upload/autoupload.jsp b/WebRoot/webpage/demo/upload/autoupload.jsp deleted file mode 100644 index 906f6a66..00000000 --- a/WebRoot/webpage/demo/upload/autoupload.jsp +++ /dev/null @@ -1,51 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - - - - - - - - - - - - - - - -
- - - - 标题名称在3~50位字符,且不为空 -
- - - -
-
-
- - - diff --git a/WebRoot/webpage/demo/upload/defaultupload.jsp b/WebRoot/webpage/demo/upload/defaultupload.jsp deleted file mode 100644 index d05b264c..00000000 --- a/WebRoot/webpage/demo/upload/defaultupload.jsp +++ /dev/null @@ -1,50 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - - - - - - - - - - - - - - -
- - - - 标题名称在3~50位字符,且不为空 -
- - - - -
- 上传 - 重置 - - 下载 - -
-
- - - - diff --git a/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemo-check.jsp b/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemo-check.jsp deleted file mode 100644 index cc8aa313..00000000 --- a/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemo-check.jsp +++ /dev/null @@ -1,27 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 审核操作 - - - - - - - - - - -
- - - - 备注范围在2~10位字符 -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemo.jsp b/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemo.jsp deleted file mode 100644 index 1f858d8a..00000000 --- a/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemo.jsp +++ /dev/null @@ -1,148 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - DEMO示例 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - ${jgDemo.userName } - - - - 用户名范围在2~10位字符 - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - " - errormsg="生日格式不正确!" ignore="ignore"> - -
- - - " - errormsg="日期格式不正确!" ignore="ignore"> - -
- - - - -
- - - - 请选择部门 -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp b/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp deleted file mode 100644 index b0eec67d..00000000 --- a/WebRoot/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp +++ /dev/null @@ -1,39 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- <%-- update-begin--Author:tanghan Date:20130713 for添加checkbox--%> - - <%-- update-end--Author:tanghan Date:20130713 for添加checkbox--%> - - - - - - - - - - - - - - - - - - <%-- update-begin--Author:tanghan Date:20130713 for添加全选方法--%> - - <%-- update-end--Author:tanghan Date:20130713 for添加全选方法--%> - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/jeecgDemo/popup.jsp b/WebRoot/webpage/jeecg/demo/jeecgDemo/popup.jsp deleted file mode 100644 index 8e521864..00000000 --- a/WebRoot/webpage/jeecg/demo/jeecgDemo/popup.jsp +++ /dev/null @@ -1,51 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - Popup示例 - - - -
- - - - - - - - -
- - - -
- -
- - - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/jeecgDemo/selectUserList.jsp b/WebRoot/webpage/jeecg/demo/jeecgDemo/selectUserList.jsp deleted file mode 100644 index 60c08155..00000000 --- a/WebRoot/webpage/jeecg/demo/jeecgDemo/selectUserList.jsp +++ /dev/null @@ -1,64 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - Popup示例 - - - -
-
- - 用户名: - - - - 部门: - - - - 真实姓名: - - - - - -
-
- - - - - - - -
-
- - - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/notag/jeecgEasyUI.jsp b/WebRoot/webpage/jeecg/demo/notag/jeecgEasyUI.jsp deleted file mode 100644 index b9ae31be..00000000 --- a/WebRoot/webpage/jeecg/demo/notag/jeecgEasyUI.jsp +++ /dev/null @@ -1,159 +0,0 @@ -<%@ page language="java" import="java.util.*" - contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - -页面不用自定义标签实现 - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- "> -
"> -
- 请选择部门
- -
-
-
-
- - - -
-
- - - - - - - - -
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/notag/jeecgOrderMainNoTag.jsp b/WebRoot/webpage/jeecg/demo/notag/jeecgOrderMainNoTag.jsp deleted file mode 100644 index c9f60a7f..00000000 --- a/WebRoot/webpage/jeecg/demo/notag/jeecgOrderMainNoTag.jsp +++ /dev/null @@ -1,408 +0,0 @@ -<%@ page language="java" import="java.util.*" - contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 订单信息(无标签) - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
序号产品名称个数服务项目类型单价小计备注
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
序号姓名性别身份证号护照号业务备注
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - -
- - - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/course.jsp b/WebRoot/webpage/jeecg/demo/test/course.jsp deleted file mode 100644 index e996b348..00000000 --- a/WebRoot/webpage/jeecg/demo/test/course.jsp +++ /dev/null @@ -1,69 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 课程 - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
- - - - -
-
- <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
- - - -
-
- - - - - - - - -
- -
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/courseList.jsp b/WebRoot/webpage/jeecg/demo/test/courseList.jsp deleted file mode 100644 index 958ac446..00000000 --- a/WebRoot/webpage/jeecg/demo/test/courseList.jsp +++ /dev/null @@ -1,40 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - -
-
- - - - - - - - - - - - - - - -
-
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/courseUpload.jsp b/WebRoot/webpage/jeecg/demo/test/courseUpload.jsp deleted file mode 100644 index 23e7d15d..00000000 --- a/WebRoot/webpage/jeecg/demo/test/courseUpload.jsp +++ /dev/null @@ -1,20 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - Excel导入 - - - - -
-
- -
-
-
-
-
- - diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgBlobData.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgBlobData.jsp deleted file mode 100644 index 18666243..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgBlobData.jsp +++ /dev/null @@ -1,27 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 文件上传 - - - - -
-
- - - 标题名称在3~50位字符,且不为空 -
-
- -
-
-
-
-
- - diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgBlobDataList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgBlobDataList.jsp deleted file mode 100644 index e55c3abf..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgBlobDataList.jsp +++ /dev/null @@ -1,19 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinder.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinder.jsp deleted file mode 100644 index 0e1e3cd7..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinder.jsp +++ /dev/null @@ -1,43 +0,0 @@ -<%@ page language="java" import="java.util.*" - contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page trimDirectiveWhitespaces="true"%> -<%@include file="/context/mytags.jsp"%> - - - -ckeditor+ckfinder例子 - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinderList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinderList.jsp deleted file mode 100644 index 76624236..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinderList.jsp +++ /dev/null @@ -1,32 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - - -
-
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinderPreview.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinderPreview.jsp deleted file mode 100644 index 359006ae..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgDemoCkfinderPreview.jsp +++ /dev/null @@ -1,33 +0,0 @@ -<%@ page language="java" import="java.util.*" - contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page trimDirectiveWhitespaces="true"%> -<%@include file="/context/mytags.jsp"%> - - - -ckeditor+ckfinder例子预览 - - - -
- ${ckfinderPreview.remark}
- -
-
- © 版权所有 JEECG_v3.1 (推荐谷歌浏览器,获得更快响应速度) 技术支持:JEECG_v3.1 -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgJdbc.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgJdbc.jsp deleted file mode 100644 index 41415ed4..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgJdbc.jsp +++ /dev/null @@ -1,135 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 通过JDBC访问数据库 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - "> - -
- - - "> - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgJdbcList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgJdbcList.jsp deleted file mode 100644 index 907716cf..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgJdbcList.jsp +++ /dev/null @@ -1,28 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - - - -
-
- - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgMatterBom.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgMatterBom.jsp deleted file mode 100644 index 8cf1adf8..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgMatterBom.jsp +++ /dev/null @@ -1,66 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 物料Bom - - - - - - -
-
- - - 编码在3~10位字符 -
-
- - - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - " /> -
-
- - -
-
-
- - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgMatterBomList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgMatterBomList.jsp deleted file mode 100644 index dd838d33..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgMatterBomList.jsp +++ /dev/null @@ -1,24 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - -
-
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgNote.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgNote.jsp deleted file mode 100644 index 62519f5d..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgNote.jsp +++ /dev/null @@ -1,75 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 单表模型 - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - "> - -
- - - " datatype="*"> - -
- - - - -
- - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgNoteList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgNoteList.jsp deleted file mode 100644 index 359c642c..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgNoteList.jsp +++ /dev/null @@ -1,18 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - -
-
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgOrderCustomList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgOrderCustomList.jsp deleted file mode 100644 index 9e51d433..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgOrderCustomList.jsp +++ /dev/null @@ -1,71 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
序号姓名性别身份证号 护照号业务备注
- -
- -
- - - -
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgOrderMain.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgOrderMain.jsp deleted file mode 100644 index 0e22eca8..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgOrderMain.jsp +++ /dev/null @@ -1,181 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 订单信息 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -<%-- -<%-- value="${jeecgOrderMainPage.goderType}">--%> - -
- - -<%-- -<%-- value="${jeecgOrderMainPage.usertype}">--%> - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - -
-
- <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
- - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
-<%-- --%> - -
-<%-- --%> - -
- - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgOrderMainList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgOrderMainList.jsp deleted file mode 100644 index da2a5a81..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgOrderMainList.jsp +++ /dev/null @@ -1,24 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - - - - -
-
- - \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jeecgOrderProductList.jsp b/WebRoot/webpage/jeecg/demo/test/jeecgOrderProductList.jsp deleted file mode 100644 index 4e494c2e..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jeecgOrderProductList.jsp +++ /dev/null @@ -1,79 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
序号产品名称个数服务项目类型 单价小计备注
-<%-- --%> - -
-<%-- --%> - -
-
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jpPerson.jsp b/WebRoot/webpage/jeecg/demo/test/jpPerson.jsp deleted file mode 100644 index b713b381..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jpPerson.jsp +++ /dev/null @@ -1,75 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - Excel导出 - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - " datatype="*"> - -
- - - "> - -
- - - - -
- - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/jpPersonList.jsp b/WebRoot/webpage/jeecg/demo/test/jpPersonList.jsp deleted file mode 100644 index 976f85e7..00000000 --- a/WebRoot/webpage/jeecg/demo/test/jpPersonList.jsp +++ /dev/null @@ -1,33 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - -
-
- - - - - - - - - - - - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/optimisticLocking.jsp b/WebRoot/webpage/jeecg/demo/test/optimisticLocking.jsp deleted file mode 100644 index 8361865f..00000000 --- a/WebRoot/webpage/jeecg/demo/test/optimisticLocking.jsp +++ /dev/null @@ -1,52 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 乐观锁测试 - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
- - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/optimisticLockingList.jsp b/WebRoot/webpage/jeecg/demo/test/optimisticLockingList.jsp deleted file mode 100644 index 79e64afc..00000000 --- a/WebRoot/webpage/jeecg/demo/test/optimisticLockingList.jsp +++ /dev/null @@ -1,18 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - -
-
\ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/tFinance.jsp b/WebRoot/webpage/jeecg/demo/test/tFinance.jsp deleted file mode 100644 index 1e628f48..00000000 --- a/WebRoot/webpage/jeecg/demo/test/tFinance.jsp +++ /dev/null @@ -1,185 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 多附件管理 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - "> - - - - - - -
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - - -
${financeFile.attachmenttitle}下载预览删除
-
- - -
-
- -
-
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/tFinanceList.jsp b/WebRoot/webpage/jeecg/demo/test/tFinanceList.jsp deleted file mode 100644 index 984c9c53..00000000 --- a/WebRoot/webpage/jeecg/demo/test/tFinanceList.jsp +++ /dev/null @@ -1,29 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/upload.jsp b/WebRoot/webpage/jeecg/demo/test/upload.jsp deleted file mode 100644 index 11472815..00000000 --- a/WebRoot/webpage/jeecg/demo/test/upload.jsp +++ /dev/null @@ -1,20 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - Excel导入 - - - - -
-
- -
-
-
-
-
- - diff --git a/WebRoot/webpage/jeecg/demo/test/webOffice.jsp b/WebRoot/webpage/jeecg/demo/test/webOffice.jsp deleted file mode 100644 index a84b6af8..00000000 --- a/WebRoot/webpage/jeecg/demo/test/webOffice.jsp +++ /dev/null @@ -1,75 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - WebOffice例子 - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
- - - - -
- - - "> - -
- - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/webOfficeList.jsp b/WebRoot/webpage/jeecg/demo/test/webOfficeList.jsp deleted file mode 100644 index 361e99eb..00000000 --- a/WebRoot/webpage/jeecg/demo/test/webOfficeList.jsp +++ /dev/null @@ -1,23 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/login/login.jsp b/WebRoot/webpage/login/login.jsp deleted file mode 100644 index 8cb840e5..00000000 --- a/WebRoot/webpage/login/login.jsp +++ /dev/null @@ -1,137 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - - - - - - -
-
-
- Please wait - 登陆成功!请稍后.... -
-
-
-
- -
-
- -
- -
-
- -
-
-
- - 是否记住用户名 ? -
- -
-
- -
- -
-
-
-
-
-
-
-
- -
-
- -
- - - - - - - - - - \ No newline at end of file diff --git a/WebRoot/webpage/login/timeout.jsp b/WebRoot/webpage/login/timeout.jsp deleted file mode 100644 index 9654059d..00000000 --- a/WebRoot/webpage/login/timeout.jsp +++ /dev/null @@ -1,22 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - - - - \ No newline at end of file diff --git a/WebRoot/webpage/main/bootstrap_main.jsp b/WebRoot/webpage/main/bootstrap_main.jsp deleted file mode 100644 index 71da52f4..00000000 --- a/WebRoot/webpage/main/bootstrap_main.jsp +++ /dev/null @@ -1,84 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - JEECG BootStrap 演示系统 - - - - - - - - - -
- -
- - -
-
- -
-
- - - - \ No newline at end of file diff --git a/WebRoot/webpage/main/home.jsp b/WebRoot/webpage/main/home.jsp deleted file mode 100644 index ce741d91..00000000 --- a/WebRoot/webpage/main/home.jsp +++ /dev/null @@ -1,38 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -
-

简介

-

     JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台,引领新开发模式(手工MERGE半智能开发), - 可以帮助解决Java项目60%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。 -
    JEECG宗旨是:简单功能由代码生成器生成使用; 复杂业务采用表单自定义,业务流程使用工作流来实现、扩展出任务接口,供开发编写业务逻辑。 - 实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密行,又减少了开发人员的工作量

-

架构说明

-
    -
  • JEECG V3.0版本采用SpringMVC+Hibernate+UI快速开发库 的基础架构,采用面向声明的开发模式, - 基于泛型编写极少代码即可实现复杂的数据展示、数据编辑、
    表单处理等功能,再配合代码生成器的使用,将J2EE的开发效率提高6倍以上,可以将代码减少60%以上。
  • -
  • JEECG V3.0版本六大技术点: 1.代码生成器 2.UI快速开发库 3.在线流程设计 4.系统日志记录 5.Web GIS支持 6.移动平台支持Bootstrap(兼容Html5)
  • -
  • 技术点一:代码生成器,支持多种数据模型,根据表生成对应的Entity,Service,Dao,Action,JSP等,增删改查功能生成直接使用
  • -
  • 技术点二:UI快速开发库,针对WEB UI进行标准封装,页面统一采用UI标签实现功能:数据datagrid,表单校验,Popup,Tab等,实现JSP页面零JS,开发维护非常高效
  • -
  • 技术点三:在线流程定义,采用开源Activiti流程引擎,实现在线画流程,自定义表单,表单挂接,业务流转,流程监控,流程跟踪,流程委托等
  • -
  • 技术点四:Web GIS支持,采用采用OpenLayers技术 
  • -
  • 技术点五:移动平台支持,对Bootstrap(兼容Html5)进行标准封装 
  • -
  • JEECG V3.0,经过了专业压力测试,性能测试,保证后台数据的准确性和页面访问速度
  • -
  • 支持多种浏览器: IE, 火狐, Google 等浏览器访问速度都很快
  • -
  • 支持数据库: Mysql,Oracle10g等
  • -
  • 基础权限: 用户,角色,菜单权限,按钮权限,数据权限
  • -
  • 智能报表集成: 简易的图像报表工具和Excel导入导出
  • -
  • Web容器测试通过的有Jetty和Tomcat6
  • -
  • 待推出功能:分布式部署,云计算,移动平台开发,规则引擎,代码生成器(eclipse插件)
  • -
  • 要求JDK1.6+
  • -
-
-
-

技术交流

-

     本系统由JEECG开源团队提供,JEECG-V3版本会持续开源路线,为大家提供更好的快速开发平台

-
    -
  • 交流群:106259349, 106838471, 289782002
  • -
  • 联系人:张代浩
  • -
  • 邮箱:zhangdaiscott@163.com
  • -
  • 论坛:www.jeecg.org
  • -
  • 合作:开源团队资助 | 项目合作
  • -
-
\ No newline at end of file diff --git a/WebRoot/webpage/main/main.jsp b/WebRoot/webpage/main/main.jsp deleted file mode 100644 index f4770575..00000000 --- a/WebRoot/webpage/main/main.jsp +++ /dev/null @@ -1,205 +0,0 @@ - -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - -JEECG_v3.1 Simple版本 - - - - - - - -
- - - - - - -
- - - - - - -
当前用户:(${userName }) 职务:${roleName } -
- - -
   
-
- -
- -
-
-
- -
- -
-
-
-
- -
-
-
-
-
-
- -
-
-
- -
- -
-
- © 版权所有 JEECG_v3.1 (推荐谷歌浏览器,获得更快响应速度) 技术支持:JEECG_v3.1 - -
-
-
-
刷新
-
关闭
-
全部关闭
-
除此之外全部关闭
- -
当前页右侧全部关闭
-
当前页左侧全部关闭
- -
- - - \ No newline at end of file diff --git a/WebRoot/webpage/system/depart/depart.jsp b/WebRoot/webpage/system/depart/depart.jsp deleted file mode 100644 index 08bf9728..00000000 --- a/WebRoot/webpage/system/depart/depart.jsp +++ /dev/null @@ -1,42 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 部门信息 - - - - - - -
-
- - - 部门名称在3~10位字符 -
-
- - -
-
- - -
-
-
- - diff --git a/WebRoot/webpage/system/depart/departList.jsp b/WebRoot/webpage/system/depart/departList.jsp deleted file mode 100644 index afa6ff4f..00000000 --- a/WebRoot/webpage/system/depart/departList.jsp +++ /dev/null @@ -1,28 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - -
- - - <%-- -
- 部门名称: - - - - 查询 -
- --%> -
-
\ No newline at end of file diff --git a/WebRoot/webpage/system/document/files.jsp b/WebRoot/webpage/system/document/files.jsp deleted file mode 100644 index da5a4a13..00000000 --- a/WebRoot/webpage/system/document/files.jsp +++ /dev/null @@ -1,27 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 文件列表 - - - - -
-
- - - 标题名称在3~50位字符,且不为空 -
-
- -
-
-
-
-
- - diff --git a/WebRoot/webpage/system/document/filesList.jsp b/WebRoot/webpage/system/document/filesList.jsp deleted file mode 100644 index 14422344..00000000 --- a/WebRoot/webpage/system/document/filesList.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - -
-
diff --git a/WebRoot/webpage/system/function/function.jsp b/WebRoot/webpage/system/function/function.jsp deleted file mode 100644 index 6c14d538..00000000 --- a/WebRoot/webpage/system/function/function.jsp +++ /dev/null @@ -1,127 +0,0 @@ -<%@ page language="java" import="java.util.*" - contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 菜单信息 - - - - - - <%-- - - --%> - -
-
- - - 菜单名称范围4~10位字符,且不为空 -
-
- - - -
-
- - - value="${function.TSFunction.id}" - - value="${function.TSFunction.functionName}" > - -
-
- - -
-
- - -
-
- - - update--end---Author:wushu Date:20130921 for:[TASK #260] 菜单编辑操作时菜单顺序-验证失效 - --%> - value="${function.functionOrder}" datatype="n1-3"> -
-
-
- - diff --git a/WebRoot/webpage/system/icon/iconList.jsp b/WebRoot/webpage/system/icon/iconList.jsp deleted file mode 100644 index dac96762..00000000 --- a/WebRoot/webpage/system/icon/iconList.jsp +++ /dev/null @@ -1,19 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - -
-
diff --git a/WebRoot/webpage/system/icon/icons.jsp b/WebRoot/webpage/system/icon/icons.jsp deleted file mode 100644 index 2655293b..00000000 --- a/WebRoot/webpage/system/icon/icons.jsp +++ /dev/null @@ -1,85 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 图标信息 - - - - - - -
-
- - - 名称范围2~10位字符,且不为空 -
-
- - -
-
-
-
- -
-
-
- - diff --git a/WebRoot/webpage/system/log/logList.jsp b/WebRoot/webpage/system/log/logList.jsp deleted file mode 100644 index be72f46d..00000000 --- a/WebRoot/webpage/system/log/logList.jsp +++ /dev/null @@ -1,46 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - -
- -
- 日志类型: - - - 查询 -
-
diff --git a/WebRoot/webpage/system/log/statisticTabs.jsp b/WebRoot/webpage/system/log/statisticTabs.jsp deleted file mode 100644 index 11080cf4..00000000 --- a/WebRoot/webpage/system/log/statisticTabs.jsp +++ /dev/null @@ -1,11 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - diff --git a/WebRoot/webpage/system/operation/operation.jsp b/WebRoot/webpage/system/operation/operation.jsp deleted file mode 100644 index ee96d6ca..00000000 --- a/WebRoot/webpage/system/operation/operation.jsp +++ /dev/null @@ -1,53 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 操作信息 - - - - - - -
-
- - - 操作名称范围2~20位字符 -
-
- - -
-
- - -
- <%-- update-start--Author:anchao Date:20130415 for:按钮权限控制--%> - - <%-- update-start--Author:anchao Date:20130415 for:按钮权限控制--%> -
- - - 必须为数字 -
-
-
- - diff --git a/WebRoot/webpage/system/operation/operationList.jsp b/WebRoot/webpage/system/operation/operationList.jsp deleted file mode 100644 index 835a4a6f..00000000 --- a/WebRoot/webpage/system/operation/operationList.jsp +++ /dev/null @@ -1,21 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - -<%-- --%> - -<%-- update-start--Author:anchao Date:20130415 for:按钮权限控制--%> - -<%-- update-end--Author:anchao Date:20130415 for:按钮权限控制--%> \ No newline at end of file diff --git a/WebRoot/webpage/system/role/functionList.jsp b/WebRoot/webpage/system/role/functionList.jsp deleted file mode 100644 index f54818a6..00000000 --- a/WebRoot/webpage/system/role/functionList.jsp +++ /dev/null @@ -1,47 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 权限集合 - - - - - - - - - -
-
- - 保存 - 返回 -
-
- - diff --git a/WebRoot/webpage/system/role/role.jsp b/WebRoot/webpage/system/role/role.jsp deleted file mode 100644 index 6ef0b058..00000000 --- a/WebRoot/webpage/system/role/role.jsp +++ /dev/null @@ -1,28 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 角色信息 - - - - - -
-
- - - 角色范围2~8位字符之间,且不为空 -
-
- - - 角色编码2~15位字符之间,且不为空 -
-
-
- - diff --git a/WebRoot/webpage/system/role/roleList.jsp b/WebRoot/webpage/system/role/roleList.jsp deleted file mode 100644 index f5cb0433..00000000 --- a/WebRoot/webpage/system/role/roleList.jsp +++ /dev/null @@ -1,49 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - -
-
-
- -
-
-
-<%--update by zjf 20130327 改用easyui panel方法实现以修复有时不显示的问题 - --%> -
-
- diff --git a/WebRoot/webpage/system/territory/territory.jsp b/WebRoot/webpage/system/territory/territory.jsp deleted file mode 100644 index 32f4a282..00000000 --- a/WebRoot/webpage/system/territory/territory.jsp +++ /dev/null @@ -1,106 +0,0 @@ -<%@ page language="java" import="java.util.*" - contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 地域信息 - - - - - - -
-
- - - 地域名称范围2~15位字符,且不为空 -
-
- - - -
-
- - - value="${territory.TSTerritory.id}" - - value="${territory.TSTerritory.territoryName}" > - -
-
- - -
-
- - -
-
-
- - diff --git a/WebRoot/webpage/system/territory/territoryList.jsp b/WebRoot/webpage/system/territory/territoryList.jsp deleted file mode 100644 index 84b64511..00000000 --- a/WebRoot/webpage/system/territory/territoryList.jsp +++ /dev/null @@ -1,30 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - -
-
- - - diff --git a/WebRoot/webpage/system/timetask/timeTask.jsp b/WebRoot/webpage/system/timetask/timeTask.jsp deleted file mode 100644 index b05a0c46..00000000 --- a/WebRoot/webpage/system/timetask/timeTask.jsp +++ /dev/null @@ -1,35 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 定时任务管理 - - - - - - - -
-
- - - -
-
- - - -
-
- - - -
-
-
- \ No newline at end of file diff --git a/WebRoot/webpage/system/timetask/timeTaskList.jsp b/WebRoot/webpage/system/timetask/timeTaskList.jsp deleted file mode 100644 index c462904d..00000000 --- a/WebRoot/webpage/system/timetask/timeTaskList.jsp +++ /dev/null @@ -1,26 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - - - - - - - - -
-
diff --git a/WebRoot/webpage/system/type/type.jsp b/WebRoot/webpage/system/type/type.jsp deleted file mode 100644 index c13e12e1..00000000 --- a/WebRoot/webpage/system/type/type.jsp +++ /dev/null @@ -1,33 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - - - -
-
- - - 类型范围在1~10位字符 -
-
- - - - 类型编码在1~10位字符 -
-
-
- - diff --git a/WebRoot/webpage/system/type/typeList.jsp b/WebRoot/webpage/system/type/typeList.jsp deleted file mode 100644 index bd45eaec..00000000 --- a/WebRoot/webpage/system/type/typeList.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - -
-
- - - - - - - - - -
-
- diff --git a/WebRoot/webpage/system/type/typegroup.jsp b/WebRoot/webpage/system/type/typegroup.jsp deleted file mode 100644 index 3b36bad9..00000000 --- a/WebRoot/webpage/system/type/typegroup.jsp +++ /dev/null @@ -1,30 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 字典类型信息 - - - - - -
-
- - - 编码范围在2~8位字符 -
-
- - - 名称范围在2~10位字符 -
-
-
- - diff --git a/WebRoot/webpage/system/user/changepassword.jsp b/WebRoot/webpage/system/user/changepassword.jsp deleted file mode 100644 index 63e69ff4..00000000 --- a/WebRoot/webpage/system/user/changepassword.jsp +++ /dev/null @@ -1,52 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 用户信息 - - - - - - - - - - - - - - - - - - - - -
- 原密码: - - - - 请输入原密码 - -
- 新密码: - - - - 密码至少6个字符,最多18个字符! - - -
- 重复密码: - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/system/user/changestyle.jsp b/WebRoot/webpage/system/user/changestyle.jsp deleted file mode 100644 index de95074c..00000000 --- a/WebRoot/webpage/system/user/changestyle.jsp +++ /dev/null @@ -1,40 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 修改首页样式 - - - - - - - - - - - - - -
- - 经典风格 -
- - BootStrap风格 -
-
- - - diff --git a/WebRoot/webpage/system/user/user.jsp b/WebRoot/webpage/system/user/user.jsp deleted file mode 100644 index 07402157..00000000 --- a/WebRoot/webpage/system/user/user.jsp +++ /dev/null @@ -1,132 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 用户信息 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - ${user.userName } - - - - 用户名范围在2~10位字符 - -
- - - - 填写个人真实姓名 -
- - - - - 密码至少6个字符,最多18个字符 -
- - - - 重复个人密码 -
- - - - 请选择部门 -
- - - - - - 角色可多选 -
- - - - - - -
- - - - -
- - - - -
-
- \ No newline at end of file diff --git a/WebRoot/webpage/system/user/userList2.jsp b/WebRoot/webpage/system/user/userList2.jsp deleted file mode 100644 index a1e8a9be..00000000 --- a/WebRoot/webpage/system/user/userList2.jsp +++ /dev/null @@ -1,34 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - -
- -
- 用户名: - - 真实姓名: - - 查询 -
-
-
-
- diff --git a/WebRoot/webpage/system/user/userinfo.jsp b/WebRoot/webpage/system/user/userinfo.jsp deleted file mode 100644 index 41ecf7ac..00000000 --- a/WebRoot/webpage/system/user/userinfo.jsp +++ /dev/null @@ -1,49 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - - - - -
- - 用户信息 - -
- - ${user.userName } -
-
- - ${user.realName} -
-
- - ${user.mobilePhone} -
-
- - ${user.officePhone} -
-
- - ${user.email} -
-
- -
- - - diff --git a/WebRoot/webpage/system/user/users.jsp b/WebRoot/webpage/system/user/users.jsp deleted file mode 100644 index 0ceb3b19..00000000 --- a/WebRoot/webpage/system/user/users.jsp +++ /dev/null @@ -1,15 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 角色集合 - - - - - - - - - diff --git a/WebRoot/webpage/system/user/usersign.jsp b/WebRoot/webpage/system/user/usersign.jsp deleted file mode 100644 index 239b7a31..00000000 --- a/WebRoot/webpage/system/user/usersign.jsp +++ /dev/null @@ -1,29 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - 用户信息 - - - - - - - - - - - - - - - -
-
- 签名文件: - - -
-
- \ No newline at end of file diff --git a/jeecg-framework/.classpath b/jeecg-framework/.classpath new file mode 100644 index 00000000..8d643ae4 --- /dev/null +++ b/jeecg-framework/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/jeecg-framework/.project b/jeecg-framework/.project new file mode 100644 index 00000000..dc6c707e --- /dev/null +++ b/jeecg-framework/.project @@ -0,0 +1,35 @@ + + + jeecg-framework + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + org.maven.ide.eclipse.maven2Nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/.settings/.jsdtscope b/jeecg-framework/.settings/.jsdtscope similarity index 78% rename from .settings/.jsdtscope rename to jeecg-framework/.settings/.jsdtscope index b13d3035..b72a6a47 100644 --- a/.settings/.jsdtscope +++ b/jeecg-framework/.settings/.jsdtscope @@ -1,6 +1,7 @@ - + + diff --git a/jeecg-framework/.settings/org.eclipse.core.resources.prefs b/jeecg-framework/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..ed12f777 --- /dev/null +++ b/jeecg-framework/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/main/resources/dbconfig.properties=UTF-8 +encoding//src/main/resources/sysConfig.properties=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/jeecg-framework/.settings/org.eclipse.jdt.core.prefs b/jeecg-framework/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..45a6e0e0 --- /dev/null +++ b/jeecg-framework/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/jeecg-framework/.settings/org.eclipse.m2e.core.prefs b/jeecg-framework/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 00000000..f897a7f1 --- /dev/null +++ b/jeecg-framework/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/jeecg-framework/.settings/org.eclipse.wst.common.component b/jeecg-framework/.settings/org.eclipse.wst.common.component new file mode 100644 index 00000000..267cf8ca --- /dev/null +++ b/jeecg-framework/.settings/org.eclipse.wst.common.component @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/jeecg-framework/.settings/org.eclipse.wst.common.project.facet.core.xml similarity index 64% rename from .settings/org.eclipse.wst.common.project.facet.core.xml rename to jeecg-framework/.settings/org.eclipse.wst.common.project.facet.core.xml index 5a887262..d74c55e0 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/jeecg-framework/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,7 +1,7 @@ - - + + diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/jeecg-framework/.settings/org.eclipse.wst.jsdt.ui.superType.container similarity index 100% rename from .settings/org.eclipse.wst.jsdt.ui.superType.container rename to jeecg-framework/.settings/org.eclipse.wst.jsdt.ui.superType.container diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/jeecg-framework/.settings/org.eclipse.wst.jsdt.ui.superType.name similarity index 100% rename from .settings/org.eclipse.wst.jsdt.ui.superType.name rename to jeecg-framework/.settings/org.eclipse.wst.jsdt.ui.superType.name diff --git a/jeecg-framework/.settings/org.eclipse.wst.validation.prefs b/jeecg-framework/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 00000000..04cad8cb --- /dev/null +++ b/jeecg-framework/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/LICENSE.txt b/jeecg-framework/LICENSE.txt similarity index 100% rename from LICENSE.txt rename to jeecg-framework/LICENSE.txt diff --git a/README.md b/jeecg-framework/README.md similarity index 98% rename from README.md rename to jeecg-framework/README.md index 25e79c17..8647ef5e 100644 --- a/README.md +++ b/jeecg-framework/README.md @@ -1,115 +1,115 @@ -JEECG ܿƽ̨ -=============== - -ǰԣ ------------------------------------ - WEB UI ( EasyUI/Jquery UI/Ext/DWZ) ȵ𽥳,ϵͳʵͳһҲͳһ淶Ľ棡 -+ֹMERGEܿµƣģͺһԶģ͵ɾIJ鹦ֱʹ,ɽʡ60%߿Чʣ - - - ------------------------------------ -JEECGJ2EE Code Generationһڴܿƽ̨µĿģʽ(Online Codingģʽ->ģʽ->ֹMERGEܿ) -԰JavaĿ60%ظÿעҵ߼ܿ߿Чʣ˾ʡɱͬʱֲʧԡ - -JEECGּ: 򵥹ɴOnline Codingó;ӹɴɽֹMerge; ҵñԶ壬ҵʹùʵ֡չӿڣдҵ߼ʵڵӿڵãȱ֤˹˾̵ıУּ˿ԱĹ - - -ΪʲôѡJEECG? ------------------------------------ -* 1.ܣ; Ե,ܷչȫʵֶο; -* 2.Чʺܸ,ôģͺһԶ(ӱ)ģͣɾIJ鹦Զɣ˵ֱʹã -* 3.ҳУԶ(롢У顢У顢ʱռ); -* 4.װƵûȨ޺ֵȻܣֱʹ޸ -* 5.ùͨװֹ(ʱ,Žӿ,ʼ,Excel),80%Ŀ -* 6.ɼױߣͼ񱨱ݵdz㣬ɼ䷽pdfexcelwordȱ -* 7.ɹactivitiʵֻҳת򣬿ɼļjbpmĿjbpmһˣֻдjava룻 -* 8.UIٿ⣬WEB UIб׼ʽװҳͳһԶǩʵֹܣбչ֡ҳУ,ǩʹüұά -* 9.ƣÿԴActiviti棬ʵ߻,Զ,ҿ,ҵת -* 10.ѯѯԶɣ̨̬ƴSQL׷Ӳѯֶ֧ƥ䷽ʽȫƥ/ģѯ/ѯ/ƥѯ - -JEECG ÷Χ ------------------------------------ -JEECGܿƽ̨ӦκJ2EEĿĿУʺҵϢϵͳMISڲ칫ϵͳOAҵԴƻϵͳERP -ͻϵϵͳCRMȣֹMergeĿʽ߿Ч60%ϣ󽵵Ϳɱ - - -JEECG ص ------------------------------------ -* JEECG V3.0汾SpringMVC+Hibernate+UIٿ+Spring jdbc+ freemarker+ Highcharts+ bootstrap+Ehcache Ļܹ
-* Ŀģʽ ڷͱдٴ뼴ʵָӵչʾݱ༭ -ȹܣOnline Coding߿ʹ,J2EEĿЧ6ϣԽ80%ϡ
- -* JEECG V3.0汾: 1.Online Coding (ͨʵһģ͵ɾIJ鹦ܣһд룬֧ûԶ)2. 3.UIٿ 4. 5.ϵͳ־¼ 6.Web GIS֧ 7.ƶƽ̨֧Bootstrap(Html5) 8.̬9.ѯ
- -* һOnline CodingģʽͨʵֵģͺһԶģ͵ɾIJ鹦,No ,֧ûԶ֣
-* ֶ֧ģ,ݱɶӦEntity,Service,Dao,Action,JSP,ɾIJ鹦ֱʹ
-* UIٿ⣬WEB UIб׼װҳͳһUIǩʵֹܣdatagrid,У,Popup,TabȣʵJSPҳJSάdzЧ
-* ģ̶壬ÿԴActiviti棬ʵ߻,Զ,ҽ,ҵת̼أ̸٣ίе
-* ϵͳ־¼ (ϸ¼־)
-* Web GIS֧ GIS֧֣
-* ߣƶƽ̨֧֣Bootstrap(Html5)б׼װ
-* ˣ̬ܣûһsqlϵͳԶɱ
- -* JEECG V3.0,רҵѹ,ܲԣ̨֤ݵ׼ȷԺҳٶ
-* ֶ֧: IE, , Google
-* ֧ݿ: Mysql,Oracle10g,Postgre,SqlServer
-* Ȩ: ûɫ˵ȨޣťȨޣȨ
-* ܱ: ׵ͼ񱨱ߺExcel뵼
-* WebͨJettyTomcat6,Weblogic
-* Ƴܣֲʽƽ̨ƶƽ̨
-* ҪJDK1.6+
- - - -ϵͳʾ ------------------------------------ -![github](http://www.jeecg.org/data/attachment/forum/201303/02/123311mf9fa22tv69b228f.jpg "jeecg") -![github](http://www.jeecg.org/data/attachment/forum/201303/02/123412x003euegeg7nb68z.jpg "jeecg") -![github](http://www.jeecg.org/data/attachment/forum/201303/02/124748gyhrgvr45vshyc82.jpg "jeecg") -![github](http://www.jeecg.org/data/attachment/forum/201303/02/123428ubcjjnuwjbkjrnrw.jpg "jeecg") -![github](http://www.jeecg.org/data/attachment/forum/201303/02/124749up2j5id7gj9kppp8.jpg "jeecg") - - - -ʾ ------------------------------------ - һжеı - <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - <%@include file="/context/mytags.jsp"%> -
-
- - - - - - - - - - - - - - - - - -
-
- - -ĵ ------------------------------------ -* [JEECG ĵ](http://code.google.com/p/jeecg/downloads/detail?name=JEECG%20v3.3.1.beta%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C.zip&can=2&q=#makechanges) -* [JEECG Դ](http://code.google.com/p/jeecg/downloads/list) - - - ------------------------------------ -* ߣŴ
-* 䣺zhangdaiscott@163.com -* ̳[www.jeecg.org](http://www.jeecg.org) -* Ⱥ:106259349, 106838471, 289782002
-* ʾ: [JEECGʾDEMO](http://demo.jeecg.org:8090/) +JEECG ܿƽ̨ +=============== + +ǰԣ +----------------------------------- + WEB UI ( EasyUI/Jquery UI/Ext/DWZ) ȵ𽥳,ϵͳʵͳһҲͳһ淶Ľ棡 ++ֹMERGEܿµƣģͺһԶģ͵ɾIJ鹦ֱʹ,ɽʡ60%߿Чʣ + + + +----------------------------------- +JEECGJ2EE Code Generationһڴܿƽ̨µĿģʽ(Online Codingģʽ->ģʽ->ֹMERGEܿ) +԰JavaĿ60%ظÿעҵ߼ܿ߿Чʣ˾ʡɱͬʱֲʧԡ + +JEECGּ: 򵥹ɴOnline Codingó;ӹɴɽֹMerge; ҵñԶ壬ҵʹùʵ֡չӿڣдҵ߼ʵڵӿڵãȱ֤˹˾̵ıУּ˿ԱĹ + + +ΪʲôѡJEECG? +----------------------------------- +* 1.ܣ; Ե,ܷչȫʵֶο; +* 2.Чʺܸ,ôģͺһԶ(ӱ)ģͣɾIJ鹦Զɣ˵ֱʹã +* 3.ҳУԶ(롢У顢У顢ʱռ); +* 4.װƵûȨ޺ֵȻܣֱʹ޸ +* 5.ùͨװֹ(ʱ,Žӿ,ʼ,Excel),80%Ŀ +* 6.ɼױߣͼ񱨱ݵdz㣬ɼ䷽pdfexcelwordȱ +* 7.ɹactivitiʵֻҳת򣬿ɼļjbpmĿjbpmһˣֻдjava룻 +* 8.UIٿ⣬WEB UIб׼ʽװҳͳһԶǩʵֹܣбչ֡ҳУ,ǩʹüұά +* 9.ƣÿԴActiviti棬ʵ߻,Զ,ҿ,ҵת +* 10.ѯѯԶɣ̨̬ƴSQL׷Ӳѯֶ֧ƥ䷽ʽȫƥ/ģѯ/ѯ/ƥѯ + +JEECG ÷Χ +----------------------------------- +JEECGܿƽ̨ӦκJ2EEĿĿУʺҵϢϵͳMISڲ칫ϵͳOAҵԴƻϵͳERP +ͻϵϵͳCRMȣֹMergeĿʽ߿Ч60%ϣ󽵵Ϳɱ + + +JEECG ص +----------------------------------- +* JEECG V3.0汾SpringMVC+Hibernate+UIٿ+Spring jdbc+ freemarker+ Highcharts+ bootstrap+Ehcache Ļܹ
+* Ŀģʽ ڷͱдٴ뼴ʵָӵչʾݱ༭ +ȹܣOnline Coding߿ʹ,J2EEĿЧ6ϣԽ80%ϡ
+ +* JEECG V3.0汾: 1.Online Coding (ͨʵһģ͵ɾIJ鹦ܣһд룬֧ûԶ)2. 3.UIٿ 4. 5.ϵͳ־¼ 6.Web GIS֧ 7.ƶƽ̨֧Bootstrap(Html5) 8.̬9.ѯ
+ +* һOnline CodingģʽͨʵֵģͺһԶģ͵ɾIJ鹦,No ,֧ûԶ֣
+* ֶ֧ģ,ݱɶӦEntity,Service,Dao,Action,JSP,ɾIJ鹦ֱʹ
+* UIٿ⣬WEB UIб׼װҳͳһUIǩʵֹܣdatagrid,У,Popup,TabȣʵJSPҳJSάdzЧ
+* ģ̶壬ÿԴActiviti棬ʵ߻,Զ,ҽ,ҵת̼أ̸٣ίе
+* ϵͳ־¼ (ϸ¼־)
+* Web GIS֧ GIS֧֣
+* ߣƶƽ̨֧֣Bootstrap(Html5)б׼װ
+* ˣ̬ܣûһsqlϵͳԶɱ
+ +* JEECG V3.0,רҵѹ,ܲԣ̨֤ݵ׼ȷԺҳٶ
+* ֶ֧: IE, , Google
+* ֧ݿ: Mysql,Oracle10g,Postgre,SqlServer
+* Ȩ: ûɫ˵ȨޣťȨޣȨ
+* ܱ: ׵ͼ񱨱ߺExcel뵼
+* WebͨJettyTomcat6,Weblogic
+* Ƴܣֲʽƽ̨ƶƽ̨
+* ҪJDK1.6+
+ + + +ϵͳʾ +----------------------------------- +![github](http://www.jeecg.org/data/attachment/forum/201303/02/123311mf9fa22tv69b228f.jpg "jeecg") +![github](http://www.jeecg.org/data/attachment/forum/201303/02/123412x003euegeg7nb68z.jpg "jeecg") +![github](http://www.jeecg.org/data/attachment/forum/201303/02/124748gyhrgvr45vshyc82.jpg "jeecg") +![github](http://www.jeecg.org/data/attachment/forum/201303/02/123428ubcjjnuwjbkjrnrw.jpg "jeecg") +![github](http://www.jeecg.org/data/attachment/forum/201303/02/124749up2j5id7gj9kppp8.jpg "jeecg") + + + +ʾ +----------------------------------- + һжеı + <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + <%@include file="/context/mytags.jsp"%> +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +ĵ +----------------------------------- +* [JEECG ĵ](http://code.google.com/p/jeecg/downloads/detail?name=JEECG%20v3.3.1.beta%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C.zip&can=2&q=#makechanges) +* [JEECG Դ](http://code.google.com/p/jeecg/downloads/list) + + + +----------------------------------- +* ߣŴ
+* 䣺zhangdaiscott@163.com +* ̳[www.jeecg.org](http://www.jeecg.org) +* Ⱥ:106259349, 106838471, 289782002
+* ʾ: [JEECGʾDEMO](http://demo.jeecg.org:8090/) diff --git a/jeecg-framework/pom.xml b/jeecg-framework/pom.xml new file mode 100644 index 00000000..73de613c --- /dev/null +++ b/jeecg-framework/pom.xml @@ -0,0 +1,821 @@ + + 4.0.0 + org.jeecgframework + jeecg + 3.4.3-GA + war + + + 3.1.1.RELEASE + 4.1.0.Final + + + 5.11 + 3.1.1 + + + 2.2 + 1.6.9 + 3.3.7 + 3.15.0-GA + 1.6.5 + 2.0.8 + 1.1.1 + + + 1.8.4 + 2.1.2 + 2.1 + 1.1.37 + 1.6.1 + 1.6.1 + 1.2.16 + 0.5.4 + 1.7.0 + 3.2.1 + 1.2 + 1.3 + 2.0 + 1.3.2 + 1.2.1 + 2.6 + 3.1 + 1.0.4 + 1.1 + 1.3.1 + 1.2 + 2.4.3 + 2.3.19 + 1.3 + 4.2.0.Final + 3.9 + 3.3 + 3.2.1 + 3.2.1 + 2.1.6 + 3.2.1 + 1.84 + + + 1.6 + 1.4 + 0.2.9 + + 10.2.0.1.0 + + 5.1.27 + + 1.0.0 + + 1.3.170 + + 1.2.4 + + 9.1-903.jdbc4 + + + 4.7 + 1.9.5 + 1.5 + 2.28.0 + 7.6.8.v20121106 + 3.9 + 3.9 + 3.9 + + UTF-8 + 1.6 + 3.4.3 + 1.3.3 + 2.4 + 3.0-beta-4 + 2.5.0 + 10.2.0.4.0 + 1.6.2 + 1.1.1 + 1.0 + 1.4.4 + + + + + central + Central Repository + http://repo.maven.apache.org/maven2 + + false + + + + spy + Spy Repository + http://files.couchbase.com/maven2/ + + false + + + + xerces + xerces + https://xerces.apache.org/xerces2-j/ + + false + + + + proxool + proxool + http://proxool.cvs.sourceforge.net/viewvc/proxool/ + + false + + + + oschinaMavenThirdparty + oschinaMavenThirdparty + http://maven.oschina.net/content/repositories/thirdparty/ + + false + + + + osc + oschina + http://maven.oschina.net/content/groups/public/ + + false + + + + + + + + javax.activation + activation + ${activation.version} + + + + aopalliance + aopalliance + ${aopalliance.version} + + + + + org.jeecgframework + codegenerate + ${codegenerate.version} + + + org.jeecgframework + minidao + ${minidao.version} + + + + com.ckfinder + CKFinder-updateByAlexander + ${CKFinder.version} + + + com.ckfinder + CKFinderPlugin-FileEditor + ${CKFinder.version} + + + com.ckfinder + CKFinderPlugin-ImageResize + ${CKFinder.version} + + + com.ckfinder + CKFinderPlugin-Watermark + ${CKFinder.version} + + + net.coobird + thumbnailator + 0.4.6 + + + org.jboss + jboss-vfs + 3.1.0.Final + + + + org.artofsolving + jodconverter + ${jodconverter.version} + + + pinyin4j + pinyin4j + ${pinyin4j.version} + + + com.oracle + ojdbc14 + ${ojdbc14.version} + + + + org.jeecgframework + postgresql + ${postgresql.version} + + + com.springsource + org.quartz + ${org.quartz.version} + + + org.springframework + org.springframework.transaction + ${spring.version} + + + + org.springframework + spring-core + ${spring.version} + + + org.springframework + spring-beans + ${spring.version} + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-aop + ${spring.version} + + + org.springframework + spring-tx + ${spring.version} + + + + org.springframework + spring-expression + ${spring.version} + + + org.springframework + spring-aspects + ${spring.version} + + + org.springframework + spring-context-support + ${spring.version} + + + + + + org.hibernate + hibernate-core + 4.2.3.Final + + + org.hibernate + hibernate-ehcache + ${hibernate.version} + + + org.hibernate + hibernate-proxool + ${hibernate.version} + + + org.hibernate.common + hibernate-commons-annotations + 4.0.2.Final + + + org.hibernate.javax.persistence + hibernate-jpa-2.0-api + 1.0.1.Final + + + + org.apache.poi + poi + ${poi.version} + + + org.apache.poi + poi-ooxml + ${poi-ooxml.version} + + + org.apache.poi + poi-ooxml-schemas + ${poi-ooxml-schemas.version} + + + org.apache.poi + poi-scratchpad + ${poi-scratchpad.version} + + + + + + org.antlr + antlr + ${antlr.version} + + + + org.springframework + spring-orm + ${spring.version} + + + org.springframework + spring-jdbc + ${spring.version} + + + + + + + org.mybatis + mybatis + ${mybatis.version} + + + org.mybatis + mybatis-spring + ${mybatis-spring.version} + + + + + + commons-pool + commons-pool + ${commons-pool.version} + runtime + + + commons-dbcp + commons-dbcp + ${commons-dbcp.version} + runtime + + + com.alibaba + druid + ${druid.version} + runtime + + + + mysql + mysql-connector-java + ${mysql.version} + runtime + + + org.jeecgframework + jdbc2005 + ${sqlserver.version} + runtime + + + net.sourceforge.jtds + jtds + ${jtds.version} + runtime + + + + + + org.springframework + spring-web + ${spring.version} + + + org.springframework + spring-webmvc + ${spring.version} + + + + + javax.servlet + servlet-api + 2.5 + provided + + + javax.servlet + jsp-api + 2.0 + provided + + + javax.servlet + jstl + 1.2 + + + + + + cglib + cglib-nodep + ${cglib.version} + + + org.aspectj + aspectjrt + ${aspectj.version} + + + org.aspectj + aspectjweaver + ${aspectj.version} + runtime + + + org.jodd + jodd + ${jodd.version} + + + org.javassist + javassist + ${javassist.version} + + + ant + ant + ${ant.version} + + + + + org.codehaus.jackson + jackson-mapper-asl + ${jackson.version} + + + org.codehaus.jackson + jackson-core-asl + ${jackson.version} + + + org.jeecgframework + jackson + ${jacksonframework.version} + + + + net.sf.json-lib + json-lib + ${json-lib.version} + jdk15 + + + com.alibaba + fastjson + ${fastjson-lib.version} + + + + + dom4j + dom4j + ${dom4j.version} + + + xml-apis + xml-apis + + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + + log4j + log4j + ${log4j.version} + + + + com.fasterxml + classmate + ${classmate.version} + + + + + commons-beanutils + commons-beanutils + ${commons-beanutils.version} + + + commons-logging + commons-logging + + + + + + commons-collections + commons-collections + ${commons-collections.version} + + + + commons-chain + commons-chain + ${commons-chain.version} + + + + commons-codec + commons-codec + ${commons-codec.version} + + + + commons-digester + commons-digester + ${commons-digester.version} + + + + commons-io + commons-io + ${commons-io.version} + + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + + + + commons-lang + commons-lang + ${commons-lang.version} + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + org.apache.commons + commons-email + ${commons-email.version} + + + + commons-logging + commons-logging + ${commons-logging.version} + + + commons-logging + commons-logging-api + ${commons-logging-api.version} + + + + commons-validator + commons-validator + ${commons-validator.version} + + + + net.sf.ehcache + ehcache-core + ${ehcache.version} + + + + org.freemarker + freemarker + ${freemarker.version} + + + + org.hamcrest + hamcrest-all + ${hamcrest.version} + + + + org.hibernate + hibernate-validator + ${hibernate-validator.version} + + + org.hibernate + hibernate-validator-annotation-processor + ${hibernate-validator.version} + + + + org.openoffice + juh + ${juh.version} + + + com.opensymphony + xwork-core + ${xwork-core.version} + + + org.openoffice + jurt + ${jurt.version} + + + org.openoffice + unoil + ${unoil.version} + + + + + + junit + junit + ${junit.version} + + + + + org.springframework + spring-test + ${spring.version} + test + + + + org.jeecg + jacob + 1.0.0 + + + + com.h2database + h2 + ${h2.version} + test + + + + com.cloudhopper.proxool + proxool + 0.9.1 + + + com.cloudhopper.proxool + proxool-cglib + 0.9.1 + + + + org.jeecgframework + batik-all + 1.6 + + + org.jeecgframework + fop + 1.0 + + + xerces + xercesImpl + 2.7.1 + + + xml-apis + xml-apis-ext + 1.3.04 + + + xml-apis + xml-apis + 1.3.04 + + + org.apache.xmlgraphics + xmlgraphics-commons + 1.4 + + + xalan + xalan + 2.7.0 + + + + com.thoughtworks.xstream + xstream + ${xstream.version} + + + + com.google.code.gson + gson + 2.2.4 + + + + + JEECG微云开发平台 + www.jeecg.org + + + + + org.codehaus.mojo + tomcat-maven-plugin + 1.1 + + /jeecg + 8080 + UTF-8 + http://localhost:8080/manager/html + tomcat6 + + + + jeecg + + + src/main/java + + **/*.xml + **/*.sql + **/*.ftl + + false + + + src/main/resources + + + + + + src/test/java + + **/*.xml + **/*.sql + **/*.ftl + + false + + + src/test/resources + + + + + \ No newline at end of file diff --git a/src/org/jeecgframework/core/annotation/Ehcache.java b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/Ehcache.java similarity index 94% rename from src/org/jeecgframework/core/annotation/Ehcache.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/annotation/Ehcache.java index abcd837a..6f389dfc 100644 --- a/src/org/jeecgframework/core/annotation/Ehcache.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/Ehcache.java @@ -6,6 +6,11 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +/** + * + * @author 张代浩 + * + */ @Retention(RetentionPolicy.RUNTIME) @Target( { ElementType.METHOD }) @Documented diff --git a/src/org/jeecgframework/core/annotation/JeecgEntityTitle.java b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/JeecgEntityTitle.java similarity index 85% rename from src/org/jeecgframework/core/annotation/JeecgEntityTitle.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/annotation/JeecgEntityTitle.java index b31ad697..fe165674 100644 --- a/src/org/jeecgframework/core/annotation/JeecgEntityTitle.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/JeecgEntityTitle.java @@ -2,6 +2,12 @@ package org.jeecgframework.core.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; + +/** + * + * @author 张代浩 + * + */ @Retention(RetentionPolicy.RUNTIME) public @interface JeecgEntityTitle { String name(); diff --git a/src/org/jeecgframework/core/annotation/config/AutoMenu.java b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/AutoMenu.java similarity index 97% rename from src/org/jeecgframework/core/annotation/config/AutoMenu.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/AutoMenu.java index 145a9828..0714f065 100644 --- a/src/org/jeecgframework/core/annotation/config/AutoMenu.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/AutoMenu.java @@ -11,6 +11,7 @@ import java.lang.annotation.Target; * 菜单注释标签 * 系统启动自动加载菜单配置 * Class级别 + * @author 张代浩 */ public @interface AutoMenu { diff --git a/src/org/jeecgframework/core/annotation/config/AutoMenuOperation.java b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/AutoMenuOperation.java similarity index 97% rename from src/org/jeecgframework/core/annotation/config/AutoMenuOperation.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/AutoMenuOperation.java index 549d6942..ffd928ae 100644 --- a/src/org/jeecgframework/core/annotation/config/AutoMenuOperation.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/AutoMenuOperation.java @@ -11,6 +11,7 @@ import java.lang.annotation.Target; * 菜单操作按钮注释标签 * 系统启动自动加载菜单对应的操作权限 * Method级别 + * @author 张代浩 */ public @interface AutoMenuOperation { diff --git a/src/org/jeecgframework/core/annotation/config/MenuCodeType.java b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/MenuCodeType.java similarity index 82% rename from src/org/jeecgframework/core/annotation/config/MenuCodeType.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/MenuCodeType.java index d6bf3fe2..44c50a72 100644 --- a/src/org/jeecgframework/core/annotation/config/MenuCodeType.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/config/MenuCodeType.java @@ -1,5 +1,10 @@ package org.jeecgframework.core.annotation.config; +/** + * + * @author 张代浩 + * + */ public enum MenuCodeType { TAG, //采用Jeecg tag标签 ID, //采用控件ID方式 diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/query/QueryTimeFormat.java b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/query/QueryTimeFormat.java new file mode 100644 index 00000000..38908763 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/annotation/query/QueryTimeFormat.java @@ -0,0 +1,19 @@ +package org.jeecgframework.core.annotation.query; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 前台的查询时间空间的格式 + * @author JueYue + * @date 2014年1月17日 + * @version 1.0 + */ +@Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface QueryTimeFormat { + + public String format(); + +} diff --git a/src/org/jeecgframework/core/aop/EhcacheAspect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/aop/EhcacheAspect.java similarity index 98% rename from src/org/jeecgframework/core/aop/EhcacheAspect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/aop/EhcacheAspect.java index 5c5ebd3a..8d57e2f8 100644 --- a/src/org/jeecgframework/core/aop/EhcacheAspect.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/aop/EhcacheAspect.java @@ -17,7 +17,11 @@ import org.springframework.stereotype.Component; import com.alibaba.fastjson.JSON; - +/** + * + * @author 张代浩 + * + */ @Component @Aspect public class EhcacheAspect { diff --git a/src/org/jeecgframework/core/aop/HiberAspect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/aop/HiberAspect.java similarity index 97% rename from src/org/jeecgframework/core/aop/HiberAspect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/aop/HiberAspect.java index 4fa563a0..0c537a4e 100644 --- a/src/org/jeecgframework/core/aop/HiberAspect.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/aop/HiberAspect.java @@ -4,7 +4,7 @@ import java.io.Serializable; import java.util.Date; -import jeecg.system.pojo.base.TSUser; +import org.jeecgframework.web.system.pojo.base.TSUser; import org.apache.log4j.Logger; import org.hibernate.EmptyInterceptor; @@ -16,6 +16,7 @@ import org.springframework.stereotype.Component; /** * Hiberate拦截器:实现创建人,创建时间,创建人名称自动注入; * 修改人,修改时间,修改人名自动注入; + * @author 张代浩 */ @Component public class HiberAspect extends EmptyInterceptor { @@ -23,7 +24,7 @@ public class HiberAspect extends EmptyInterceptor { private static final long serialVersionUID = 1L; -@Override + public boolean onSave(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types) { TSUser currentUser = null; @@ -73,7 +74,7 @@ public boolean onSave(Object entity, Serializable id, Object[] state, return true; } -@Override + public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types) { diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/beanvalidator/BeanValidators.java b/jeecg-framework/src/main/java/org/jeecgframework/core/beanvalidator/BeanValidators.java new file mode 100644 index 00000000..ed2618b7 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/beanvalidator/BeanValidators.java @@ -0,0 +1,119 @@ +package org.jeecgframework.core.beanvalidator; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.ConstraintViolationException; +import javax.validation.Validator; + +/** + * JSR303 Validator(Hibernate Validator)工具类. + * + * ConstraintViolation中包含propertyPath, message 和invalidValue等信息. + * 提供了各种convert方法,适合不同的i18n需求: + * 1.List, String内容为message + * 2.List, String内容为propertyPath + separator + message + * 3.Map + */ +public class BeanValidators { + + /** + * 调用JSR303的validate方法, 验证失败时抛出ConstraintViolationException. + */ + public static void validateWithException(Validator validator, + Object object, Class... groups) + throws ConstraintViolationException { + Set constraintViolations = validator.validate(object, groups); + if (!constraintViolations.isEmpty()) { + throw new ConstraintViolationException(constraintViolations); + } + } + + /** + * 辅助方法, + * 转换ConstraintViolationException中的Set中为List. + */ + public static List extractMessage(ConstraintViolationException e) { + return extractMessage(e.getConstraintViolations()); + } + + /** + * 辅助方法, 转换Set为List + */ + public static List extractMessage( + Set constraintViolations) { + List errorMessages = new ArrayList(); + for (ConstraintViolation violation : constraintViolations) { + errorMessages.add(violation.getMessage()); + } + return errorMessages; + } + + /** + * 辅助方法, + * 转换ConstraintViolationException中的Set为Map. + */ + public static Map extractPropertyAndMessage( + ConstraintViolationException e) { + return extractPropertyAndMessage(e.getConstraintViolations()); + } + + /** + * 辅助方法, 转换Set为Map. + */ + public static Map extractPropertyAndMessage( + Set constraintViolations) { + Map errorMessages = new HashMap(); + for (ConstraintViolation violation : constraintViolations) { + errorMessages.put(violation.getPropertyPath().toString(), + violation.getMessage()); + } + return errorMessages; + } + + /** + * 辅助方法, 转换ConstraintViolationException中的Set为List< + * propertyPath message>. + */ + public static List extractPropertyAndMessageAsList( + ConstraintViolationException e) { + return extractPropertyAndMessageAsList(e.getConstraintViolations(), " "); + } + + /** + * 辅助方法, 转换Set为List. + */ + public static List extractPropertyAndMessageAsList( + Set constraintViolations) { + return extractPropertyAndMessageAsList(constraintViolations, " "); + } + + /** + * 辅助方法, 转换ConstraintViolationException中的Set为List< + * propertyPath +separator+ message>. + */ + public static List extractPropertyAndMessageAsList( + ConstraintViolationException e, String separator) { + return extractPropertyAndMessageAsList(e.getConstraintViolations(), + separator); + } + + /** + * 辅助方法, 转换Set为List. + */ + public static List extractPropertyAndMessageAsList( + Set constraintViolations, + String separator) { + List errorMessages = new ArrayList(); + for (ConstraintViolation violation : constraintViolations) { + errorMessages.add(violation.getPropertyPath() + separator + + violation.getMessage()); + } + return errorMessages; + } +} \ No newline at end of file diff --git a/src/org/jeecgframework/core/common/controller/BaseController.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/controller/BaseController.java similarity index 99% rename from src/org/jeecgframework/core/common/controller/BaseController.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/controller/BaseController.java index 2b2ab8d8..84cf7883 100644 --- a/src/org/jeecgframework/core/common/controller/BaseController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/controller/BaseController.java @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; /** * 基础控制器,其他控制器需集成此控制器获得initBinder自动转换的功能 - * + * @author 张代浩 * */ @Controller diff --git a/src/org/jeecgframework/core/common/dao/ICommonDao.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/ICommonDao.java similarity index 94% rename from src/org/jeecgframework/core/common/dao/ICommonDao.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/ICommonDao.java index 4bb17892..85e171f7 100644 --- a/src/org/jeecgframework/core/common/dao/ICommonDao.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/ICommonDao.java @@ -6,8 +6,8 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSUser; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.core.common.model.common.UploadFile; import org.jeecgframework.core.common.model.json.ComboTree; diff --git a/src/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.java similarity index 97% rename from src/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.java index d5a9c54a..34fb3cc6 100644 --- a/src/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/IGenericBaseCommonDao.java @@ -19,7 +19,7 @@ import org.springframework.dao.DataAccessException; * * 类描述:DAO层泛型基类接口 * - * @author: jeecg + * 张代浩 * @date: 日期:2012-12-8 时间:下午05:37:33 * @version 1.0 */ @@ -253,7 +253,10 @@ public interface IGenericBaseCommonDao { * 执行SQL 使用:name占位符 */ public Integer executeSql(String sql, Map param); - + /** + * 执行SQL 使用:name占位符,并返回插入的主键值 + */ + public Object executeSqlReturnKey(String sql, Map param); /** * 通过JDBC查找对象集合 使用指定的检索标准检索数据返回数据 */ diff --git a/src/org/jeecgframework/core/common/dao/impl/CommonDao.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/impl/CommonDao.java similarity index 97% rename from src/org/jeecgframework/core/common/dao/impl/CommonDao.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/impl/CommonDao.java index 95fd28d0..c5d877aa 100644 --- a/src/org/jeecgframework/core/common/dao/impl/CommonDao.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/impl/CommonDao.java @@ -1,8 +1,6 @@ package org.jeecgframework.core.common.dao.impl; -/** - * 公共扩展方法 - */ + import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; @@ -24,11 +22,11 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSOperation; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSUser; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSOperation; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.pojo.base.TSUser; import org.apache.commons.lang.StringUtils; import org.dom4j.Document; @@ -64,6 +62,11 @@ import org.springframework.util.FileCopyUtils; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; +/** + * 公共扩展方法 + * @author 张代浩 + * + */ @Repository public class CommonDao extends GenericBaseCommonDao implements ICommonDao, IGenericBaseCommonDao { @@ -427,9 +430,7 @@ public class CommonDao extends GenericBaseCommonDao implements ICommonDao, IGene public List comTree(List all, ComboTree comboTree) { List trees = new ArrayList(); for (TSDepart depart : all) { - //add-end--Author:liutao Date:20130406 for:需要循环递归查询,否则,组合数在初始化转变不正常 trees.add(tree(depart, true)); - //add-end--Author:liutao Date:20130406 for:需要循环递归查询,否则,组合数在初始化转变不正常 } return trees; diff --git a/src/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java similarity index 96% rename from src/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java index 556d52c7..4f67a7fc 100644 --- a/src/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java @@ -1,6 +1,10 @@ package org.jeecgframework.core.common.dao.impl; import java.io.Serializable; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -48,14 +52,19 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.dao.support.DataAccessUtils; import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.PreparedStatementCreator; +import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; +import org.springframework.jdbc.core.namedparam.SqlParameterSource; +import org.springframework.jdbc.support.GeneratedKeyHolder; +import org.springframework.jdbc.support.KeyHolder; import org.springframework.util.Assert; /** * * 类描述: DAO层泛型基类 * - * @author: jeecg + * 张代浩 * @date: 日期:2012-12-7 时间:上午10:16:48 * @param * @param @@ -93,7 +102,7 @@ public abstract class GenericBaseCommonDao for (int i = 0; i < str.length; i++) { String property = str[i]; String type = cm.getPropertyType(property).getName(); // 获得该名称的类型 - System.out.println(property + "--->" + type); + org.jeecgframework.core.util.LogUtil.info(property + "--->" + type); } } @@ -892,7 +901,18 @@ public abstract class GenericBaseCommonDao public Integer executeSql(String sql, Map param) { return this.namedParameterJdbcTemplate.update(sql, param); } - + public Object executeSqlReturnKey(final String sql, Map param) { + Object keyValue = null; + try{ + KeyHolder keyHolder = new GeneratedKeyHolder(); + SqlParameterSource sqlp = new MapSqlParameterSource(param); + this.namedParameterJdbcTemplate.update(sql,sqlp, keyHolder); + keyValue = keyHolder.getKey().longValue(); + }catch (Exception e) { + keyValue = null; + } + return keyValue; + } public Integer countByJdbc(String sql, Object... param) { return this.jdbcTemplate.queryForInt(sql, param); } diff --git a/src/org/jeecgframework/core/common/dao/jdbc/JdbcDao.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/jdbc/JdbcDao.java similarity index 99% rename from src/org/jeecgframework/core/common/dao/jdbc/JdbcDao.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/jdbc/JdbcDao.java index 44e759bb..91b4d773 100644 --- a/src/org/jeecgframework/core/common/dao/jdbc/JdbcDao.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/jdbc/JdbcDao.java @@ -15,6 +15,11 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Repository; +/** + * + * @author 张代浩 + * + */ @Repository("jdbcDao") public class JdbcDao extends SimpleJdbcTemplate{ diff --git a/src/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.java similarity index 99% rename from src/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.java index debde54b..3ca4dca6 100644 --- a/src/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/dao/jdbc/SimpleJdbcTemplate.java @@ -13,7 +13,7 @@ import org.springframework.jdbc.core.simple.SimpleJdbcInsert; import org.springframework.util.Assert; /** * jdbc模板 - * @author san + * @author 张代浩 * */ @SuppressWarnings("unchecked") diff --git a/src/org/jeecgframework/core/common/entity/IdEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/entity/IdEntity.java similarity index 100% rename from src/org/jeecgframework/core/common/entity/IdEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/entity/IdEntity.java diff --git a/src/org/jeecgframework/core/common/exception/BusinessException.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/exception/BusinessException.java similarity index 100% rename from src/org/jeecgframework/core/common/exception/BusinessException.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/exception/BusinessException.java diff --git a/src/org/jeecgframework/core/common/exception/MyExceptionHandler.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/exception/MyExceptionHandler.java similarity index 100% rename from src/org/jeecgframework/core/common/exception/MyExceptionHandler.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/exception/MyExceptionHandler.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/DB2Dialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/DerbyDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/Dialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/Dialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/Dialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/Dialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/DialectFactoryBean.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/H2Dialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/HSQLDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.java similarity index 96% rename from src/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.java index cb77c06b..e727ae85 100644 --- a/src/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/MyPostgreSQLDialect.java @@ -4,7 +4,7 @@ import org.hibernate.dialect.PostgreSQLDialect; public class MyPostgreSQLDialect extends PostgreSQLDialect { - @Override + public boolean useInputStreamToInsertBlob() { // TODO Auto-generated method stub return true; diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/MySQLDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/OracleDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/PostgreSQLDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/SQLServer2005Dialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/SQLServerDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/dialect/SybaseDialect.java diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.java similarity index 98% rename from src/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.java index 6c41b5ce..e00fc8b4 100644 --- a/src/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/AliasToBean.java @@ -35,7 +35,7 @@ public class AliasToBean implements ResultTransformer { } @SuppressWarnings("unchecked") - @Override + public List transformList(List collection) { return collection; } @@ -48,7 +48,7 @@ public class AliasToBean implements ResultTransformer { * @param aliases 属性名集合 * @return 单个POJO实例--查询结果 */ - @Override + public Object transformTuple(Object[] tuple, String[] aliases) { try { Object root = resultClass.newInstance(); diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.java similarity index 99% rename from src/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.java index 93362a3c..02a9cc53 100644 --- a/src/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/CriteriaQuery.java @@ -22,7 +22,7 @@ import org.jeecgframework.tag.vo.datatable.SortInfo; /** * *类描述:CriteriaQuery类是对hibernate QBC查询方法的封装,需要的参数是当前操作的实体类 - *@author: jeecg + *张代浩 *@date: 日期:2012-12-7 时间:上午10:22:15 *@version 1.0 */ diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/CriterionList.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/CriterionList.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/qbc/CriterionList.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/CriterionList.java diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/DetachedCriteriaUtil.java diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/HqlQuery.java diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/PageList.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/PageList.java similarity index 99% rename from src/org/jeecgframework/core/common/hibernate/qbc/PageList.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/PageList.java index aab43cb9..e712473f 100644 --- a/src/org/jeecgframework/core/common/hibernate/qbc/PageList.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/PageList.java @@ -4,7 +4,7 @@ import java.util.List; /** * *类描述:分页查询结果封装类 - *@author: jeecg + *张代浩 *@date: 日期:2012-12-7 时间:上午10:20:04 *@version 1.0 */ diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/Pager.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/Pager.java similarity index 100% rename from src/org/jeecgframework/core/common/hibernate/qbc/Pager.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/Pager.java diff --git a/src/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.java similarity index 87% rename from src/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.java index 6a229fcf..a2b036b5 100644 --- a/src/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/hibernate/qbc/PagerUtil.java @@ -5,7 +5,7 @@ import java.util.Map; import org.omg.CORBA.PUBLIC_MEMBER; /** *类描述:分页工具类 - *@author: jeecg + *张代浩 *@date: 日期:2012-12-7 时间:上午10:19:14 *@version 1.0 */ @@ -24,7 +24,7 @@ public class PagerUtil { // 得到offset pager = new Pager(allCounts, curPageNO, pageSize, map); } catch (Exception e) { - System.out.println("生成工具条出错!"); + org.jeecgframework.core.util.LogUtil.info("生成工具条出错!"); } return pager.getToolBar(action, form); } @@ -40,7 +40,7 @@ public class PagerUtil { // 生成工具条 pager = new Pager(allCounts, curPageNO, pageSize, map); } catch (Exception e) { - System.out.println("生成工具条出错!"); + org.jeecgframework.core.util.LogUtil.info("生成工具条出错!"); } return pager.getToolBar(url); } @@ -56,7 +56,7 @@ public class PagerUtil { // 得到offset offset = (curPageNO - 1) * pageSize; } catch (Exception e) { - System.out.println("getOffset出错!"); + org.jeecgframework.core.util.LogUtil.info("getOffset出错!"); } return offset; } @@ -69,7 +69,7 @@ public class PagerUtil { if (curPageNO <= 1) curPageNO = 1; } catch (Exception e) { - System.out.println("getOffset出错!"); + org.jeecgframework.core.util.LogUtil.info("getOffset出错!"); } return curPageNO; } diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/common/DBTable.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/common/DBTable.java new file mode 100644 index 00000000..e334b49d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/common/DBTable.java @@ -0,0 +1,51 @@ +package org.jeecgframework.core.common.model.common; + +import java.io.Serializable; +import java.util.List; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +/** + * + * @author Hank + * 修改于2014-01-25 添加List 注入查询到的表数据 修改class1-->tableEntityClass + * @param + */ +public class DBTable implements Serializable { + + public String tableName; + public String entityName; + public String tableTitle; + public Class tableEntityClass; + public List tableData; + public String getTableName() { + return tableName; + } + public void setTableName(String tableName) { + this.tableName = tableName; + } + public String getEntityName() { + return entityName; + } + public void setEntityName(String entityName) { + this.entityName = entityName; + } + public String getTableTitle() { + return tableTitle; + } + public void setTableTitle(String tableTitle) { + this.tableTitle = tableTitle; + } + public Class getClass1() { + return tableEntityClass; + } + public void setClass1(Class class1) { + this.tableEntityClass = class1; + } + public List getTableData() { + return tableData; + } + public void setTableData(List tableData) { + this.tableData = tableData; + } + +} diff --git a/src/org/jeecgframework/core/common/model/common/UploadFile.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/common/UploadFile.java similarity index 99% rename from src/org/jeecgframework/core/common/model/common/UploadFile.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/common/UploadFile.java index 89fb1d04..e8c42e89 100644 --- a/src/org/jeecgframework/core/common/model/common/UploadFile.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/common/UploadFile.java @@ -11,7 +11,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; /** * 上传下载模型类 * - * @author Administrator + * @author 张代浩 * */ public class UploadFile { diff --git a/src/org/jeecgframework/core/common/model/json/AjaxJson.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/AjaxJson.java similarity index 75% rename from src/org/jeecgframework/core/common/model/json/AjaxJson.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/AjaxJson.java index fab54ca1..be20fac3 100644 --- a/src/org/jeecgframework/core/common/model/json/AjaxJson.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/AjaxJson.java @@ -2,6 +2,8 @@ package org.jeecgframework.core.common.model.json; import java.util.Map; +import com.alibaba.fastjson.JSONObject; + /** * $.ajax后需要接受的JSON * @@ -45,5 +47,12 @@ public class AjaxJson { public void setSuccess(boolean success) { this.success = success; } - + public String getJsonStr(){ + JSONObject obj = new JSONObject(); + obj.put("success", this.isSuccess()); + obj.put("msg", this.getMsg()); + obj.put("obj", this.obj); + obj.put("attributes", this.attributes); + return obj.toJSONString(); + } } diff --git a/src/org/jeecgframework/core/common/model/json/ComboBox.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ComboBox.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/ComboBox.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ComboBox.java diff --git a/src/org/jeecgframework/core/common/model/json/ComboTree.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ComboTree.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/ComboTree.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ComboTree.java diff --git a/src/org/jeecgframework/core/common/model/json/DataGrid.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/DataGrid.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/DataGrid.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/DataGrid.java diff --git a/src/org/jeecgframework/core/common/model/json/DataGridReturn.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/DataGridReturn.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/DataGridReturn.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/DataGridReturn.java diff --git a/src/org/jeecgframework/core/common/model/json/Highchart.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/Highchart.java similarity index 95% rename from src/org/jeecgframework/core/common/model/json/Highchart.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/Highchart.java index e39e32f9..1052bf81 100644 --- a/src/org/jeecgframework/core/common/model/json/Highchart.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/Highchart.java @@ -2,7 +2,7 @@ package org.jeecgframework.core.common.model.json; import java.util.List; /** * 统计报表模型 - * @author Administrator + * @author 张代浩 * */ public class Highchart { diff --git a/src/org/jeecgframework/core/common/model/json/ImportFile.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ImportFile.java similarity index 98% rename from src/org/jeecgframework/core/common/model/json/ImportFile.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ImportFile.java index 16e3f297..6eaf8a76 100644 --- a/src/org/jeecgframework/core/common/model/json/ImportFile.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ImportFile.java @@ -8,7 +8,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; /** * 上传下载模型类 * - * @author Administrator + * @author 张代浩 * */ public class ImportFile { diff --git a/src/org/jeecgframework/core/common/model/json/LogAnnotation.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/LogAnnotation.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/LogAnnotation.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/LogAnnotation.java diff --git a/src/org/jeecgframework/core/common/model/json/ProjectDeclare.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ProjectDeclare.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/ProjectDeclare.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ProjectDeclare.java diff --git a/src/org/jeecgframework/core/common/model/json/ProjectInfo.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ProjectInfo.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/ProjectInfo.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ProjectInfo.java diff --git a/src/org/jeecgframework/core/common/model/json/TreeGrid.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/TreeGrid.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/TreeGrid.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/TreeGrid.java diff --git a/src/org/jeecgframework/core/common/model/json/ValidForm.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ValidForm.java similarity index 100% rename from src/org/jeecgframework/core/common/model/json/ValidForm.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/model/json/ValidForm.java diff --git a/src/org/jeecgframework/core/common/service/CommonService.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/service/CommonService.java similarity index 97% rename from src/org/jeecgframework/core/common/service/CommonService.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/service/CommonService.java index 3e678bdb..1bcb6045 100644 --- a/src/org/jeecgframework/core/common/service/CommonService.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/service/CommonService.java @@ -7,7 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSDepart; import org.hibernate.Session; import org.hibernate.criterion.DetachedCriteria; @@ -294,7 +294,10 @@ public interface CommonService { * 执行SQL 使用:name占位符 */ public Integer executeSql(String sql, Map param); - + /** + * 执行SQL 使用:name占位符,并返回执行后的主键值 + */ + public Object executeSqlReturnKey(String sql, Map param); /** * 通过JDBC查找对象集合 使用指定的检索标准检索数据返回数据 */ diff --git a/src/org/jeecgframework/core/common/service/impl/CommonServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/common/service/impl/CommonServiceImpl.java similarity index 97% rename from src/org/jeecgframework/core/common/service/impl/CommonServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/common/service/impl/CommonServiceImpl.java index 22b2337f..11238d5a 100644 --- a/src/org/jeecgframework/core/common/service/impl/CommonServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/common/service/impl/CommonServiceImpl.java @@ -8,7 +8,7 @@ import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSDepart; import org.hibernate.Session; import org.hibernate.criterion.DetachedCriteria; @@ -53,18 +53,18 @@ public class CommonServiceImpl implements CommonService { this.commonDao = commonDao; } - @Override + public Serializable save(T entity) { return commonDao.save(entity); } - @Override + public void saveOrUpdate(T entity) { commonDao.saveOrUpdate(entity); } - @Override + public void delete(T entity) { commonDao.delete(entity); @@ -377,59 +377,62 @@ public class CommonServiceImpl implements CommonService { .setMaxResults(autocomplete.getMaxRows()).list(); } - @Override + public Integer executeSql(String sql, List param) { return commonDao.executeSql(sql, param); } - @Override + public Integer executeSql(String sql, Object... param) { return commonDao.executeSql(sql, param); } - @Override + public Integer executeSql(String sql, Map param) { return commonDao.executeSql(sql, param); } - - @Override + + public Object executeSqlReturnKey(String sql, Map param) { + return commonDao.executeSqlReturnKey(sql, param); + } + public List> findForJdbc(String sql, int page, int rows) { return commonDao.findForJdbc(sql, page, rows); } - @Override + public List> findForJdbc(String sql, Object... objs) { return commonDao.findForJdbc(sql, objs); } - @Override + public List> findForJdbcParam(String sql, int page, int rows, Object... objs) { return commonDao.findForJdbcParam(sql, page, rows, objs); } - @Override + public List findObjForJdbc(String sql, int page, int rows, Class clazz) { return commonDao.findObjForJdbc(sql, page, rows, clazz); } - @Override + public Map findOneForJdbc(String sql, Object... objs) { return commonDao.findOneForJdbc(sql, objs); } - @Override + public Long getCountForJdbc(String sql) { return commonDao.getCountForJdbc(sql); } - @Override + public Long getCountForJdbcParam(String sql, Object[] objs) { return commonDao.getCountForJdbc(sql); } - @Override + public void batchSave(List entitys) { this.commonDao.batchSave(entitys); } diff --git a/src/org/jeecgframework/core/constant/Globals.java b/jeecg-framework/src/main/java/org/jeecgframework/core/constant/Globals.java similarity index 98% rename from src/org/jeecgframework/core/constant/Globals.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/constant/Globals.java index 512fe633..245ba940 100644 --- a/src/org/jeecgframework/core/constant/Globals.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/constant/Globals.java @@ -7,7 +7,7 @@ import org.jeecgframework.core.util.ResourceUtil; * 项目名称:jeecg * 类名称:Globals * 类描述: 全局变量定义 -* 创建人:jeecg +* 创建人: 张代浩 * @version * */ diff --git a/src/org/jeecgframework/core/def/ConstantsDefs.java b/jeecg-framework/src/main/java/org/jeecgframework/core/def/ConstantsDefs.java similarity index 91% rename from src/org/jeecgframework/core/def/ConstantsDefs.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/def/ConstantsDefs.java index be496dbb..294026ff 100644 --- a/src/org/jeecgframework/core/def/ConstantsDefs.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/def/ConstantsDefs.java @@ -1,5 +1,10 @@ package org.jeecgframework.core.def; +/** + * + * @author 张代浩 + * + */ public final class ConstantsDefs { private ConstantsDefs() { } diff --git a/src/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.java similarity index 100% rename from src/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DataSourceContextHolder.java diff --git a/src/org/jeecgframework/core/extend/datasource/DataSourceType.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DataSourceType.java similarity index 100% rename from src/org/jeecgframework/core/extend/datasource/DataSourceType.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DataSourceType.java diff --git a/src/org/jeecgframework/core/extend/datasource/DynamicDataSource.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DynamicDataSource.java similarity index 95% rename from src/org/jeecgframework/core/extend/datasource/DynamicDataSource.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DynamicDataSource.java index f348883c..a3a9425e 100644 --- a/src/org/jeecgframework/core/extend/datasource/DynamicDataSource.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/datasource/DynamicDataSource.java @@ -14,23 +14,23 @@ public class DynamicDataSource extends AbstractRoutingDataSource { /* * 该方法必须要重写 方法是为了根据数据库标示符取得当前的数据库 */ - @Override + protected Object determineCurrentLookupKey() { DataSourceType dataSourceType= DataSourceContextHolder.getDataSourceType(); return dataSourceType; } - @Override + public void setDataSourceLookup(DataSourceLookup dataSourceLookup) { super.setDataSourceLookup(dataSourceLookup); } - @Override + public void setDefaultTargetDataSource(Object defaultTargetDataSource) { super.setDefaultTargetDataSource(defaultTargetDataSource); } - @Override + public void setTargetDataSources(Map targetDataSources) { super.setTargetDataSources(targetDataSources); } diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.java new file mode 100644 index 00000000..582ed72e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.java @@ -0,0 +1,223 @@ +package org.jeecgframework.core.extend.hqlsearch; + +import java.beans.PropertyDescriptor; +import java.text.SimpleDateFormat; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.beanutils.PropertyUtils; +import org.apache.commons.lang.StringUtils; +import org.jeecgframework.core.annotation.query.QueryTimeFormat; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.BigDecimalParseImpl; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.DoubleParseImpl; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.FloatParseImpl; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.IntegerParseImpl; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.LongParseImpl; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.ShortParseImpl; +import org.jeecgframework.core.extend.hqlsearch.parse.impl.StringParseImpl; +import org.jeecgframework.core.util.StringUtil; + +/** + * + * @author 张代浩 + * + */ +public class HqlGenerateUtil { + + /** 时间查询符号 */ + private static final String END = "_end"; + private static final String BEGIN = "_begin"; + + private static Map map = new HashMap(); + + private static final SimpleDateFormat time = new SimpleDateFormat( + "yyyy-MM-dd hh:mm:ss"); + private static final SimpleDateFormat day = new SimpleDateFormat( + "yyyy-MM-dd"); + + static { + map.put("class java.lang.Integer", new IntegerParseImpl()); + map.put("class java.lang.Short", new ShortParseImpl()); + map.put("class java.lang.String", new StringParseImpl()); + map.put("class java.lang.Long", new LongParseImpl()); + map.put("class java.lang.Double", new DoubleParseImpl()); + map.put("class java.lang.Float", new FloatParseImpl()); + map.put("class java.math.BigDecimal", new BigDecimalParseImpl()); + } + + /** + * 自动生成查询条件HQL 模糊查询 不带有日期组合 + * + * @param hql + * @param values + * @param searchObj + * @throws Exception + */ + public static void installHql(CriteriaQuery cq, Object searchObj) { + installHqlJoinAlias(cq, searchObj,null, ""); + cq.add(); + } + + /** + * 自动生成查询条件HQL(扩展区间查询功能) + * + * @param cq + * @param searchObj + * @param parameterMap + * request参数集合,封装了所有查询信息 + */ + public static void installHql(CriteriaQuery cq, Object searchObj,Map parameterMap) { + installHqlJoinAlias(cq, searchObj, parameterMap, ""); + cq.add(); + } + /** + * 添加Alias别名的查询 + *@date 2014年1月19日 + *@param cq + *@param searchObj + *@param parameterMap + *@param alias + */ + private static void installHqlJoinAlias(CriteriaQuery cq, Object searchObj, + Map parameterMap, String alias) { + PropertyDescriptor origDescriptors[] = PropertyUtils + .getPropertyDescriptors(searchObj); + String aliasName, name, type; + for (int i = 0; i < origDescriptors.length; i++) { + aliasName = (alias.equals("") ? "" : alias + ".") + + origDescriptors[i].getName(); + name = origDescriptors[i].getName(); + type = origDescriptors[i].getPropertyType().toString(); + try { + if (judgedIsUselessField(name) + || !PropertyUtils.isReadable(searchObj, name)) { + continue; + } + // 添加 判断是否有区间值 + String beginValue = null; + String endValue = null; + if (parameterMap!=null&¶meterMap.containsKey(name + BEGIN)) { + beginValue = parameterMap.get(name + BEGIN)[0].trim(); + } + if (parameterMap!=null&¶meterMap.containsKey(name + END)) { + endValue = parameterMap.get(name + END)[0].trim(); + } + + Object value = PropertyUtils.getSimpleProperty(searchObj, name); + // 根据类型分类处理 + if (type.contains("class java.lang") + || type.contains("class java.math")) { + if(parameterMap==null){ + map.get(type).addCriteria(cq, aliasName, value); + }else{ + map.get(type).addCriteria(cq, aliasName, value, beginValue, + endValue); + } + } else if ("class java.util.Date".equals(type)) { + QueryTimeFormat format = origDescriptors[i].getReadMethod() + .getAnnotation(QueryTimeFormat.class); + SimpleDateFormat userDefined = null; + if (format != null) { + userDefined = new SimpleDateFormat(format.format()); + } + if (StringUtils.isNotBlank(beginValue)) { + if (userDefined != null) { + cq.ge(aliasName, time.parse(beginValue)); + } else if (beginValue.length() == 19) { + cq.ge(aliasName, time.parse(beginValue)); + } else if (beginValue.length() == 10) { + cq.ge(aliasName, day.parse(beginValue)); + } + } + if (StringUtils.isNotBlank(endValue)) { + if (userDefined != null) { + cq.ge(aliasName, time.parse(beginValue)); + } else if (endValue.length() == 19) { + cq.le(aliasName, time.parse(endValue)); + } else if (endValue.length() == 10) { + // 对于"yyyy-MM-dd"格式日期,因时间默认为0,故此添加" 23:23:59"并使用time解析,以方便查询日期时间数据 + cq.le(aliasName, time.parse(endValue + " 23:23:59")); + } + } + if (isNotEmpty(value)) { + cq.eq(aliasName, value); + } + } else if (!StringUtil.isJavaClass(origDescriptors[i] + .getPropertyType())) { + Object param = PropertyUtils.getSimpleProperty(searchObj, + name); + if (isNotEmpty(param) && itIsNotAllEmpty(param)) { + // 如果是实体类,创建别名,继续创建查询条件 + cq.createAlias(aliasName, aliasName); + installHqlJoinAlias(cq, param,parameterMap,aliasName); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private static boolean judgedIsUselessField(String name) { + return "class".equals(name) || "ids".equals(name) + || "page".equals(name) || "rows".equals(name) + || "sort".equals(name) || "order".equals(name); + } + + /** + * 判断是不是空 + */ + public static boolean isNotEmpty(Object value) { + return value != null && !"".equals(value); + } + + /** + * 判断这个类是不是所以属性都为空 + * + * @param param + * @return + */ + private static boolean itIsNotAllEmpty(Object param) { + boolean isNotEmpty = false; + try { + PropertyDescriptor origDescriptors[] = PropertyUtils + .getPropertyDescriptors(param); + String name; + for (int i = 0; i < origDescriptors.length; i++) { + name = origDescriptors[i].getName(); + if ("class".equals(name) + || !PropertyUtils.isReadable(param, name)) { + continue; + } + if (Map.class.isAssignableFrom(origDescriptors[i] + .getPropertyType())) { + Map map = (Map) PropertyUtils + .getSimpleProperty(param, name); + if (map != null && map.size() > 0) { + isNotEmpty = true; + break; + } + } else if (Collection.class.isAssignableFrom(origDescriptors[i] + .getPropertyType())) { + Collection c = (Collection) PropertyUtils + .getSimpleProperty(param, name); + if (c != null && c.size() > 0) { + isNotEmpty = true; + break; + } + } else if (StringUtil.isNotEmpty(PropertyUtils + .getSimpleProperty(param, name))) { + isNotEmpty = true; + break; + } + } + } catch (Exception e) { + + } + return isNotEmpty; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/IHqlParse.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/IHqlParse.java new file mode 100644 index 00000000..128e8374 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/IHqlParse.java @@ -0,0 +1,34 @@ +package org.jeecgframework.core.extend.hqlsearch.parse; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; + +/** + * 解析拼装 + * + * @author JueYue + * @date 2014年1月17日 + * @version 1.0 + */ +public interface IHqlParse { + /** + * 单值组装 + * + * @date 2014年1月17日 + * @param name + * @param value + */ + public void addCriteria(CriteriaQuery cq, String name, Object value); + + /** + * 范围组装 + * + * @date 2014年1月17日 + * @param name + * @param value + * @param beginValue + * @param endValue + */ + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue); + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/BigDecimalParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/BigDecimalParseImpl.java new file mode 100644 index 00000000..c2810e13 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/BigDecimalParseImpl.java @@ -0,0 +1,40 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import java.math.BigDecimal; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +public class BigDecimalParseImpl implements IHqlParse { + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + if (HqlGenerateUtil.isNotEmpty(beginValue)) { + cq.ge(name, + beginValue.contains(".") ? BigDecimal + .valueOf(Double.parseDouble(beginValue)) + : BigDecimal.valueOf(Long + .parseLong(beginValue))); + } + if (HqlGenerateUtil.isNotEmpty(endValue)) { + cq.le(name, + beginValue.contains(".") ? BigDecimal + .valueOf(Double.parseDouble(endValue)) + : BigDecimal.valueOf(Long + .parseLong(endValue))); + } + if (HqlGenerateUtil.isNotEmpty(value)) { + cq.eq(name, value); + } + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/DoubleParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/DoubleParseImpl.java new file mode 100644 index 00000000..d623325b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/DoubleParseImpl.java @@ -0,0 +1,29 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +public class DoubleParseImpl implements IHqlParse { + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + if (HqlGenerateUtil.isNotEmpty(beginValue)) { + cq.ge(name, Double.parseDouble(beginValue)); + } + if (HqlGenerateUtil.isNotEmpty(endValue)) { + cq.le(name, Double.parseDouble(endValue)); + } + if (HqlGenerateUtil.isNotEmpty(value)) { + cq.eq(name, value); + } + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/FloatParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/FloatParseImpl.java new file mode 100644 index 00000000..8a555293 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/FloatParseImpl.java @@ -0,0 +1,29 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +public class FloatParseImpl implements IHqlParse { + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + if (HqlGenerateUtil.isNotEmpty(beginValue)) { + cq.ge(name, Float.parseFloat(beginValue)); + } + if (HqlGenerateUtil.isNotEmpty(endValue)) { + cq.le(name, Float.parseFloat(endValue)); + } + if (HqlGenerateUtil.isNotEmpty(value)) { + cq.eq(name, value); + } + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/IntegerParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/IntegerParseImpl.java new file mode 100644 index 00000000..30fe4efd --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/IntegerParseImpl.java @@ -0,0 +1,35 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +/** + * Integer解析拼装起 + * + * @author JueYue + * @date 2014年1月17日 + * @version 1.0 + */ +public class IntegerParseImpl implements IHqlParse { + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + if (HqlGenerateUtil.isNotEmpty(beginValue)) { + cq.ge(name, Integer.parseInt(beginValue)); + } + if (HqlGenerateUtil.isNotEmpty(endValue)) { + cq.le(name, Integer.parseInt(endValue)); + } + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/LongParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/LongParseImpl.java new file mode 100644 index 00000000..28425e15 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/LongParseImpl.java @@ -0,0 +1,29 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +public class LongParseImpl implements IHqlParse { + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + if (HqlGenerateUtil.isNotEmpty(beginValue)) { + cq.ge(name, Long.parseLong(beginValue)); + } + if (HqlGenerateUtil.isNotEmpty(endValue)) { + cq.le(name, Long.parseLong(endValue)); + } + if (HqlGenerateUtil.isNotEmpty(value)) { + cq.eq(name, value); + } + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/ShortParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/ShortParseImpl.java new file mode 100644 index 00000000..93ef73c4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/ShortParseImpl.java @@ -0,0 +1,29 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +public class ShortParseImpl implements IHqlParse { + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + if (HqlGenerateUtil.isNotEmpty(value)) + cq.eq(name, value); + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + if (HqlGenerateUtil.isNotEmpty(beginValue)) { + cq.ge(name, Short.parseShort(beginValue)); + } + if (HqlGenerateUtil.isNotEmpty(endValue)) { + cq.le(name, Short.parseShort(endValue)); + } + if (HqlGenerateUtil.isNotEmpty(value)) { + cq.eq(name, value); + } + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/StringParseImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/StringParseImpl.java new file mode 100644 index 00000000..75a5d0ae --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/StringParseImpl.java @@ -0,0 +1,65 @@ +package org.jeecgframework.core.extend.hqlsearch.parse.impl; + +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.extend.hqlsearch.parse.IHqlParse; + +public class StringParseImpl implements IHqlParse { + + private static final String SUFFIX_COMMA = ","; + private static final String SUFFIX_KG = " "; + /** 模糊查询符号 */ + private static final String SUFFIX_ASTERISK = "*"; + private static final String SUFFIX_ASTERISK_VAGUE = "%"; + /** 不等于查询符号 */ + private static final String SUFFIX_NOT_EQUAL = "!"; + private static final String SUFFIX_NOT_EQUAL_NULL = "!NULL"; + + + public void addCriteria(CriteriaQuery cq, String name, Object value) { + String searchValue = null; + if (value != null && (searchValue = value.toString().trim()) != "") { + // [1].In 多个条件查询{逗号隔开参数} + if (searchValue.indexOf(SUFFIX_COMMA) >= 0) { + // 页面输入查询条件,情况(取消字段的默认条件) + if (searchValue.indexOf(SUFFIX_KG) >= 0) { + String val = searchValue.substring(searchValue + .indexOf(SUFFIX_KG)); + cq.eq(name, val); + } else { + String[] vs = searchValue.split(SUFFIX_COMMA); + cq.in(name, vs); + } + } + // [2].模糊查询{带有* 星号的参数} + else if (searchValue.indexOf(SUFFIX_ASTERISK) >= 0) { + cq.like(name, searchValue.replace(SUFFIX_ASTERISK, + SUFFIX_ASTERISK_VAGUE)); + } + // [3].不匹配查询{等于!叹号} + // (1).不为空字符串 + else if (searchValue.equals(SUFFIX_NOT_EQUAL)) { + cq.isNotNull(name); + } + // (2).不为NULL + else if (searchValue.toUpperCase().equals(SUFFIX_NOT_EQUAL_NULL)) { + cq.isNotNull(name); + } + // (3).正常不匹配 + else if (searchValue.indexOf(SUFFIX_NOT_EQUAL) >= 0) { + cq.notEq(name, searchValue.replace(SUFFIX_NOT_EQUAL, "")); + } + // [4].全匹配查询{没有特殊符号的参数} + else { + cq.eq(name, searchValue); + } + } + + } + + + public void addCriteria(CriteriaQuery cq, String name, Object value, + String beginValue, String endValue) { + addCriteria(cq,name,value); + } + +} diff --git a/src/org/jeecgframework/core/extend/swftools/ConStant.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/ConStant.java similarity index 100% rename from src/org/jeecgframework/core/extend/swftools/ConStant.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/ConStant.java diff --git a/src/org/jeecgframework/core/extend/swftools/DocConverter.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/DocConverter.java similarity index 100% rename from src/org/jeecgframework/core/extend/swftools/DocConverter.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/DocConverter.java diff --git a/src/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.java similarity index 75% rename from src/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.java index 870636b7..7b1488b5 100644 --- a/src/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/OpenOfficePDFConverter.java @@ -12,7 +12,7 @@ import org.jeecgframework.core.util.FileUtils; /** * OFFICE文档转换服务类 * - * @author Administrator + * @author 张代浩 * */ public class OpenOfficePDFConverter implements PDFConverter { @@ -28,14 +28,14 @@ public class OpenOfficePDFConverter implements PDFConverter { String odtFile = FileUtils.getFilePrefix(inputFile) + ".odt"; if (new File(odtFile).exists()) { - System.out.println("odt文件已存在!"); + org.jeecgframework.core.util.LogUtil.info("odt文件已存在!"); inputFile = odtFile; } else { try { FileUtils.copyFile(inputFile, odtFile); inputFile = odtFile; } catch (FileNotFoundException e) { - System.out.println("Odt文档不存在!"); + org.jeecgframework.core.util.LogUtil.info("Odt文档不存在!"); e.printStackTrace(); } } @@ -43,18 +43,18 @@ public class OpenOfficePDFConverter implements PDFConverter { } startService(); //pdfFile = pdfFile.replaceAll(" ", "").replaceAll(" ", ""); - System.out.println("进行文档转换转换:" + inputFile + " --> " + pdfFile); + org.jeecgframework.core.util.LogUtil.info("进行文档转换转换:" + inputFile + " --> " + pdfFile); OfficeDocumentConverter converter = new OfficeDocumentConverter( officeManager); try { converter.convert(new File(inputFile), new File(pdfFile)); } catch (Exception e) { // TODO: handle exception - System.out.println(e.getMessage()); + org.jeecgframework.core.util.LogUtil.info(e.getMessage()); } stopService(); - System.out.println("进行文档转换转换---- 结束----"); + org.jeecgframework.core.util.LogUtil.info("进行文档转换转换---- 结束----"); } public void convert2PDF(String inputFile, String extend) { @@ -78,17 +78,17 @@ public class OpenOfficePDFConverter implements PDFConverter { officeManager = configuration.buildOfficeManager(); officeManager.start(); // 启动服务 - System.out.println("office转换服务启动成功!"); + org.jeecgframework.core.util.LogUtil.info("office转换服务启动成功!"); } catch (Exception ce) { - System.out.println("office转换服务启动失败!详细信息:" + ce); + org.jeecgframework.core.util.LogUtil.info("office转换服务启动失败!详细信息:" + ce); } } public static void stopService() { - System.out.println("关闭office转换服务...."); + org.jeecgframework.core.util.LogUtil.info("关闭office转换服务...."); if (officeManager != null) { officeManager.stop(); } - System.out.println("关闭office转换成功!"); + org.jeecgframework.core.util.LogUtil.info("关闭office转换成功!"); } } diff --git a/src/org/jeecgframework/core/extend/swftools/PDFConverter.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/PDFConverter.java similarity index 90% rename from src/org/jeecgframework/core/extend/swftools/PDFConverter.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/PDFConverter.java index 6d5e7a74..31961901 100644 --- a/src/org/jeecgframework/core/extend/swftools/PDFConverter.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/PDFConverter.java @@ -2,7 +2,7 @@ package org.jeecgframework.core.extend.swftools; /** * PDF文档转换接口 - * @author Administrator + * @author 张代浩 * */ public interface PDFConverter { diff --git a/src/org/jeecgframework/core/extend/swftools/SWFConverter.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SWFConverter.java similarity index 100% rename from src/org/jeecgframework/core/extend/swftools/SWFConverter.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SWFConverter.java diff --git a/src/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.java similarity index 80% rename from src/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.java index d31be3e3..b1832b86 100644 --- a/src/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SWFToolsSWFConverter.java @@ -16,18 +16,19 @@ public class SWFToolsSWFConverter implements SWFConverter { File outFile = new File(swfFile); if (!pdfFile.exists()) { - System.out.println("PDF文件不存在!"); + org.jeecgframework.core.util.LogUtil.info("PDF文件不存在!"); return; } if (outFile.exists()) { - System.out.println("SWF文件已存在!"); + org.jeecgframework.core.util.LogUtil.info("SWF文件已存在!"); return; } String command = ConStant.getSWFToolsPath(extend) + " \"" + inputFile - + //---update-for--文件预览无效------ scott@2013/05/22 ADD START + "\" -o " +" \""+ swfFile +" \""+ " -s languagedir=D:\\xpdf-chinese-simplified -T 9 -f"; // + "\" -o " + swfFile + " -s languagedir=D:\\xpdf-chinese-simplified -T 9 -f"; +// ---update-for--文件预览无效----- scott@2013/05/22 ADD END try { // 开始转换文档 Process process = Runtime.getRuntime().exec(command); @@ -39,7 +40,7 @@ public class SWFToolsSWFConverter implements SWFConverter { outputGobbler.start(); try { process.waitFor(); - System.out.println("时间-------"+process.waitFor()); + org.jeecgframework.core.util.LogUtil.info("时间-------"+process.waitFor()); } catch (InterruptedException e) { e.printStackTrace(); } diff --git a/src/org/jeecgframework/core/extend/swftools/StreamGobbler.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/StreamGobbler.java similarity index 82% rename from src/org/jeecgframework/core/extend/swftools/StreamGobbler.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/StreamGobbler.java index 83761aac..8ba68cc3 100644 --- a/src/org/jeecgframework/core/extend/swftools/StreamGobbler.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/StreamGobbler.java @@ -22,9 +22,9 @@ public class StreamGobbler extends Thread { String line = null; while ((line = br.readLine()) != null) { if (type.equals("Error")) { - System.out.println("Error :" + line); + org.jeecgframework.core.util.LogUtil.info("Error :" + line); } else { - System.out.println("文件转换:" + line); + org.jeecgframework.core.util.LogUtil.info("文件转换:" + line); } } } catch (IOException ioe) { diff --git a/src/org/jeecgframework/core/extend/swftools/SwfToolsUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SwfToolsUtil.java similarity index 96% rename from src/org/jeecgframework/core/extend/swftools/SwfToolsUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SwfToolsUtil.java index 7aa6b927..62ffc33b 100644 --- a/src/org/jeecgframework/core/extend/swftools/SwfToolsUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/swftools/SwfToolsUtil.java @@ -3,7 +3,7 @@ package org.jeecgframework.core.extend.swftools; import org.jeecgframework.core.util.FileUtils; /** * 文件转换调用接口 - * @author Administrator + * @author 张代浩 * */ public class SwfToolsUtil { diff --git a/src/org/jeecgframework/core/extend/template/Caculator.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/Caculator.java similarity index 82% rename from src/org/jeecgframework/core/extend/template/Caculator.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/Caculator.java index 3f97ff2e..ae1d9a30 100644 --- a/src/org/jeecgframework/core/extend/template/Caculator.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/Caculator.java @@ -88,7 +88,7 @@ public class Caculator { // double ff=Double.longBitsToDouble(0x7ff8000000000000L); // if(new Double(tt).toString().equals("NaN")) // { -// System.out.println(tt); +// org.jeecgframework.core.util.LogUtil.info(tt); // } break; @@ -207,7 +207,7 @@ public class Caculator { } if(!meetClose) { - System.out.println(in); + org.jeecgframework.core.util.LogUtil.info(in); throw new RuntimeException(); } break; @@ -225,7 +225,7 @@ public class Caculator { } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); - System.out.println("cal数字生成错误!!"); + org.jeecgframework.core.util.LogUtil.info("cal数字生成错误!!"); } buffer.append(newItem.value); calcStack.add(newItem); @@ -273,30 +273,30 @@ public class Caculator { public static void main(String[] args) { Caculator calc=new Caculator(); -// System.out.println(calc.transInfixToPosfix("1+2*3+7.5-(4/2+8)/5")); -// System.out.println("value is:"+calc.calc()); +// org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("1+2*3+7.5-(4/2+8)/5")); +// org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); -// System.out.println(calc.transInfixToPosfix("110815.00047*2")); -// System.out.println("value is:"+calc.calc()); -// System.out.println(calc.transInfixToPosfix("110815.125047*2")); -// System.out.println("value is:"+calc.calc()); +// org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("110815.00047*2")); +// org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); +// org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("110815.125047*2")); +// org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); -// System.out.println(calc.transInfixToPosfix("((110815.0347)*2+10)/0")); -// System.out.println("value is:"+calc.calc()); +// org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("((110815.0347)*2+10)/0")); +// org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); -// System.out.println(calc.transInfixToPosfix("0.02")); -// System.out.println("value is:"+calc.calc()); -// System.out.println(calc.transInfixToPosfix("0.0")); -// System.out.println("value is:"+calc.calc()); +// org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("0.02")); +// org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); +// org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("0.0")); +// org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); - System.out.println(calc.transInfixToPosfix("1.3E7+0.5")); - System.out.println("value is:"+calc.calc()); + org.jeecgframework.core.util.LogUtil.info(calc.transInfixToPosfix("1.3E7+0.5")); + org.jeecgframework.core.util.LogUtil.info("value is:"+calc.calc()); Double dd=Double.parseDouble("1.35378957E7"); - System.out.println(Caculator.getDtoI(dd)); + org.jeecgframework.core.util.LogUtil.info(Caculator.getDtoI(dd)); - System.out.println(dd); + org.jeecgframework.core.util.LogUtil.info(dd); } diff --git a/src/org/jeecgframework/core/extend/template/DataSourceMap.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/DataSourceMap.java similarity index 100% rename from src/org/jeecgframework/core/extend/template/DataSourceMap.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/DataSourceMap.java diff --git a/src/org/jeecgframework/core/extend/template/Template.java b/jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/Template.java similarity index 100% rename from src/org/jeecgframework/core/extend/template/Template.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/extend/template/Template.java diff --git a/src/org/jeecgframework/core/interceptors/AuthInterceptor.java b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/AuthInterceptor.java similarity index 96% rename from src/org/jeecgframework/core/interceptors/AuthInterceptor.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/AuthInterceptor.java index 4bb6aa9b..51b6f059 100644 --- a/src/org/jeecgframework/core/interceptors/AuthInterceptor.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/AuthInterceptor.java @@ -10,9 +10,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import jeecg.system.manager.ClientManager; -import jeecg.system.pojo.base.Client; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.manager.ClientManager; +import org.jeecgframework.web.system.pojo.base.Client; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.util.ContextHolderUtils; @@ -28,7 +28,7 @@ import org.springframework.web.servlet.view.RedirectView; /** * 权限拦截器 * - * @author + * @author 张代浩 * */ public class AuthInterceptor implements HandlerInterceptor { diff --git a/src/org/jeecgframework/core/interceptors/DateConvertEditor.java b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/DateConvertEditor.java similarity index 97% rename from src/org/jeecgframework/core/interceptors/DateConvertEditor.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/DateConvertEditor.java index 68ec7d0e..a869ac69 100644 --- a/src/org/jeecgframework/core/interceptors/DateConvertEditor.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/DateConvertEditor.java @@ -5,7 +5,11 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import org.springframework.util.StringUtils; - +/** + * + * @author 张代浩 + * + */ public class DateConvertEditor extends PropertyEditorSupport { private SimpleDateFormat datetimeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); diff --git a/src/org/jeecgframework/core/interceptors/EncodingInterceptor.java b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/EncodingInterceptor.java similarity index 97% rename from src/org/jeecgframework/core/interceptors/EncodingInterceptor.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/EncodingInterceptor.java index e1347f12..929057bd 100644 --- a/src/org/jeecgframework/core/interceptors/EncodingInterceptor.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/EncodingInterceptor.java @@ -9,7 +9,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 字符集拦截器 * - * @author jeecg + * @author 张代浩 * */ public class EncodingInterceptor implements HandlerInterceptor { diff --git a/src/org/jeecgframework/core/interceptors/LogInterceptor.java b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/LogInterceptor.java similarity index 98% rename from src/org/jeecgframework/core/interceptors/LogInterceptor.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/LogInterceptor.java index ece5bad7..3fbb2959 100644 --- a/src/org/jeecgframework/core/interceptors/LogInterceptor.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/LogInterceptor.java @@ -11,7 +11,11 @@ import org.aspectj.lang.annotation.Before; import org.jeecgframework.core.common.model.json.LogAnnotation; import org.springframework.stereotype.Component; - +/** + * + * @author 张代浩 + * + */ @Component @Aspect public class LogInterceptor { diff --git a/src/org/jeecgframework/core/interceptors/MyWebBinding.java b/jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/MyWebBinding.java similarity index 100% rename from src/org/jeecgframework/core/interceptors/MyWebBinding.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/interceptors/MyWebBinding.java diff --git a/src/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.java b/jeecg-framework/src/main/java/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.java similarity index 94% rename from src/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.java index 20b98ecb..9393c9a8 100644 --- a/src/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/servlet/UploadTmpPhotoServlet.java @@ -36,14 +36,14 @@ import org.apache.commons.fileupload.servlet.ServletFileUpload; public class UploadTmpPhotoServlet extends HttpServlet { - @Override + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } - @Override + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -114,7 +114,7 @@ public class UploadTmpPhotoServlet extends HttpServlet { fileNames.put("fileSize", ""); - // System.out.println(item.getName()+"=="+UploadTool.createPhotoID()+suffixName+"=="+UploadTool.FormetFileSize(item.getSize())+"savePath"+savePath); + // org.jeecgframework.core.util.LogUtil.info(item.getName()+"=="+UploadTool.createPhotoID()+suffixName+"=="+UploadTool.FormetFileSize(item.getSize())+"savePath"+savePath); tpmFilePathName = base + newName;// File.separator diff --git a/src/org/jeecgframework/core/timer/DataBaseCronTriggerBean.java b/jeecg-framework/src/main/java/org/jeecgframework/core/timer/DataBaseCronTriggerBean.java similarity index 88% rename from src/org/jeecgframework/core/timer/DataBaseCronTriggerBean.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/timer/DataBaseCronTriggerBean.java index 16dbef23..53bbe45f 100644 --- a/src/org/jeecgframework/core/timer/DataBaseCronTriggerBean.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/timer/DataBaseCronTriggerBean.java @@ -1,7 +1,7 @@ package org.jeecgframework.core.timer; -import jeecg.system.pojo.base.TSTimeTaskEntity; -import jeecg.system.service.TimeTaskServiceI; +import org.jeecgframework.web.system.pojo.base.TSTimeTaskEntity; +import org.jeecgframework.web.system.service.TimeTaskServiceI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.quartz.CronTriggerBean; diff --git a/src/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.java b/jeecg-framework/src/main/java/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.java similarity index 61% rename from src/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.java index b82b130f..4b0b1c68 100644 --- a/src/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/timer/DataBaseSchedulerFactoryBean.java @@ -1,7 +1,7 @@ package org.jeecgframework.core.timer; -import jeecg.system.pojo.base.TSTimeTaskEntity; -import jeecg.system.service.TimeTaskServiceI; +import org.jeecgframework.web.system.pojo.base.TSTimeTaskEntity; +import org.jeecgframework.web.system.service.TimeTaskServiceI; import org.quartz.Scheduler; import org.springframework.beans.factory.annotation.Autowired; @@ -23,10 +23,13 @@ public class DataBaseSchedulerFactoryBean extends SchedulerFactoryBean { super.afterPropertiesSet(); String[] trigerrNames = this.getScheduler().getTriggerNames(Scheduler.DEFAULT_GROUP); TSTimeTaskEntity task; - for(int i = 0;i"+realPath); + org.jeecgframework.core.util.LogUtil.info("realPath----->"+realPath); return realPath; } @@ -287,8 +292,8 @@ public class JeecgSqlUtil { public static void main(String[] args) { - //System.out.println(getAppPath(JeecgSqlUtil.class)); - System.out.println(getCountSqlBySql("SELECT * from JEECG_DICT_PARAM WHERE 1=1")); + //org.jeecgframework.core.util.LogUtil.info(getAppPath(JeecgSqlUtil.class)); + org.jeecgframework.core.util.LogUtil.info(getCountSqlBySql("SELECT * from JEECG_DICT_PARAM WHERE 1=1")); } /** diff --git a/src/org/jeecgframework/core/util/ListtoJson.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ListtoJson.java similarity index 94% rename from src/org/jeecgframework/core/util/ListtoJson.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/ListtoJson.java index b6058fc6..3a2f07e5 100644 --- a/src/org/jeecgframework/core/util/ListtoJson.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ListtoJson.java @@ -2,7 +2,7 @@ package org.jeecgframework.core.util; import java.util.List; -import jeecg.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSFunction; public class ListtoJson { diff --git a/src/org/jeecgframework/core/util/ListtoMenu.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ListtoMenu.java similarity index 99% rename from src/org/jeecgframework/core/util/ListtoMenu.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/ListtoMenu.java index af0db7de..22acfb5c 100644 --- a/src/org/jeecgframework/core/util/ListtoMenu.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ListtoMenu.java @@ -7,12 +7,12 @@ import java.util.Set; import org.apache.commons.lang.StringUtils; -import jeecg.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSFunction; /** * 动态菜单栏生成 * - * @author Administrator + * @author 张代浩 * */ public class ListtoMenu { diff --git a/src/org/jeecgframework/core/util/LogUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/LogUtil.java similarity index 91% rename from src/org/jeecgframework/core/util/LogUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/LogUtil.java index 9dcb1152..be429ed7 100644 --- a/src/org/jeecgframework/core/util/LogUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/LogUtil.java @@ -1,8 +1,19 @@ package org.jeecgframework.core.util; -import org.apache.log4j.*; -import org.apache.log4j.xml.DOMConfigurator; -import java.io.*; +import java.io.BufferedReader; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.Priority; + +/** + * + * @author 张代浩 + * + */ public class LogUtil { //private static BaseLogUtil objLog = new BaseLogUtil(); @@ -40,7 +51,7 @@ public class LogUtil { // / 记录信息 // / // / 信息内容 - public static void info(String message) { + public static void info(Object message) { log("INFO", message); } // end Info @@ -216,7 +227,7 @@ public class LogUtil { sb.append(msg); getLogger().log((Priority) Level.toLevel(level), sb.toString(), e); }catch(Exception ex){ - System.out.println(ex.getLocalizedMessage()); + org.jeecgframework.core.util.LogUtil.info(ex.getLocalizedMessage()); } } } diff --git a/src/org/jeecgframework/core/util/MyBeanUtils.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/MyBeanUtils.java similarity index 99% rename from src/org/jeecgframework/core/util/MyBeanUtils.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/MyBeanUtils.java index 363d12a6..6db485e6 100644 --- a/src/org/jeecgframework/core/util/MyBeanUtils.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/MyBeanUtils.java @@ -12,9 +12,7 @@ import org.apache.commons.beanutils.PropertyUtils; /** *

Title:

*

Description:

- - - not attributable + * @author 张代浩 * @version 1.0 */ diff --git a/src/org/jeecgframework/core/util/MyClassLoader.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/MyClassLoader.java similarity index 98% rename from src/org/jeecgframework/core/util/MyClassLoader.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/MyClassLoader.java index f477eafc..7cf64052 100644 --- a/src/org/jeecgframework/core/util/MyClassLoader.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/MyClassLoader.java @@ -1,5 +1,10 @@ package org.jeecgframework.core.util; +/** + * + * @author 张代浩 + * + */ public class MyClassLoader extends ClassLoader { public static Class getClassByScn(String className) { Class myclass = null; diff --git a/src/org/jeecgframework/core/util/NumberComparator.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/NumberComparator.java similarity index 96% rename from src/org/jeecgframework/core/util/NumberComparator.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/NumberComparator.java index eb27d350..625454b9 100644 --- a/src/org/jeecgframework/core/util/NumberComparator.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/NumberComparator.java @@ -2,7 +2,7 @@ package org.jeecgframework.core.util; import java.util.Comparator; -import jeecg.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSFunction; /** * @ClassName: NumberComparator diff --git a/src/org/jeecgframework/core/util/PasswordUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PasswordUtil.java similarity index 95% rename from src/org/jeecgframework/core/util/PasswordUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/PasswordUtil.java index 28f4d323..06a00ba9 100644 --- a/src/org/jeecgframework/core/util/PasswordUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PasswordUtil.java @@ -190,15 +190,15 @@ public class PasswordUtil { String str = "admin"; String password = "123456"; - System.out.println("明文:" + str); - System.out.println("密码:" + password); + org.jeecgframework.core.util.LogUtil.info("明文:" + str); + org.jeecgframework.core.util.LogUtil.info("密码:" + password); try { byte[] salt = PasswordUtil.getStaticSalt(); String ciphertext = PasswordUtil.encrypt(str, password, salt); - System.out.println("密文:" + ciphertext); + org.jeecgframework.core.util.LogUtil.info("密文:" + ciphertext); String plaintext = PasswordUtil.decrypt(ciphertext, password, salt); - System.out.println("明文:" + plaintext); + org.jeecgframework.core.util.LogUtil.info("明文:" + plaintext); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/org/jeecgframework/core/util/PinyinUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PinyinUtil.java similarity index 98% rename from src/org/jeecgframework/core/util/PinyinUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/PinyinUtil.java index 1aefcdd2..4168d12f 100644 --- a/src/org/jeecgframework/core/util/PinyinUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PinyinUtil.java @@ -499,9 +499,9 @@ public class PinyinUtil { public static String getPinYin(String src) { char[] t1 = null; t1 = src.toCharArray(); - // System.out.println(t1.length); + // org.jeecgframework.core.util.LogUtil.info(t1.length); String[] t2 = new String[t1.length]; - // System.out.println(t2.length); + // org.jeecgframework.core.util.LogUtil.info(t2.length); // 设置汉字拼音输出的格式 HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat(); t3.setCaseType(HanyuPinyinCaseType.LOWERCASE); @@ -512,7 +512,7 @@ public class PinyinUtil { try { for (int i = 0; i < t0; i++) { // 判断能否为汉字字符 - // System.out.println(t1[i]); + // org.jeecgframework.core.util.LogUtil.info(t1[i]); if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 将汉字的几种全拼都存到t2数组中 t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后 @@ -559,7 +559,7 @@ public class PinyinUtil { // 将字符串转换成字节序列 byte[] bGBK = cnStr.getBytes(); for (int i = 0; i < bGBK.length; i++) { - // System.out.println(Integer.toHexString(bGBK[i] & 0xff)); + // org.jeecgframework.core.util.LogUtil.info(Integer.toHexString(bGBK[i] & 0xff)); // 将每个字符转换成ASCII码 strBuf.append(Integer.toHexString(bGBK[i] & 0xff)); } diff --git a/src/org/jeecgframework/core/util/PluginConfigCreator.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PluginConfigCreator.java similarity index 95% rename from src/org/jeecgframework/core/util/PluginConfigCreator.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/PluginConfigCreator.java index 5598efc2..0b5ea4ef 100644 --- a/src/org/jeecgframework/core/util/PluginConfigCreator.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PluginConfigCreator.java @@ -33,7 +33,7 @@ public class PluginConfigCreator { String filename1 = filenames[0]; String filename2 = filenames[1]; result = filename1 + "," + filename2 + ",file:/" + path + "/" + fileName + "//,4,false"; - System.out.println(result); + org.jeecgframework.core.util.LogUtil.info(result); } else if (file.isFile()) { String fileName = file.getName(); if (fileName.indexOf("_") < 0) { @@ -43,7 +43,7 @@ public class PluginConfigCreator { String filename1 = fileName.substring(0, last); String filename2 = fileName.substring(last + 1, fileName.length() - 4); result = filename1 + "," + filename2 + ",file:/" + path + "/" + fileName + ",4,false"; - System.out.println(result); + org.jeecgframework.core.util.LogUtil.info(result); } } } diff --git a/src/org/jeecgframework/core/util/PropertiesUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PropertiesUtil.java similarity index 95% rename from src/org/jeecgframework/core/util/PropertiesUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/PropertiesUtil.java index 746afcbf..445eedb9 100644 --- a/src/org/jeecgframework/core/util/PropertiesUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/PropertiesUtil.java @@ -7,6 +7,11 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.Properties; +/** + * + * @author 张代浩 + * + */ public class PropertiesUtil { private String properiesName = ""; @@ -93,7 +98,7 @@ public class PropertiesUtil { public static void main(String[] args) { PropertiesUtil p = new PropertiesUtil("sysConfig.properties"); p.writeProperty("namess", "wang"); - System.out.println(p.readProperty("namess")); + org.jeecgframework.core.util.LogUtil.info(p.readProperty("namess")); } } diff --git a/src/org/jeecgframework/core/util/ReflectHelper.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ReflectHelper.java similarity index 87% rename from src/org/jeecgframework/core/util/ReflectHelper.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/ReflectHelper.java index bb076e05..3e4f5b22 100644 --- a/src/org/jeecgframework/core/util/ReflectHelper.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ReflectHelper.java @@ -5,7 +5,7 @@ import java.util.Hashtable; import java.util.regex.Pattern; /** - * + * @author 张代浩 * @desc 通过反射来动态调用get 和 set 方法 */ public class ReflectHelper { @@ -63,7 +63,7 @@ public class ReflectHelper { param = setM.matcher(methodName).replaceAll(rapl).toLowerCase(); setMethods.put(param, m); } else { - // System.out.println(methodName + " 不是getter,setter方法!"); + // org.jeecgframework.core.util.LogUtil.info(methodName + " 不是getter,setter方法!"); } } } @@ -80,7 +80,7 @@ public class ReflectHelper { m.invoke(obj, object); return true; } catch (Exception ex) { - System.out.println("invoke getter on " + property + " error: " + ex.toString()); + org.jeecgframework.core.util.LogUtil.info("invoke getter on " + property + " error: " + ex.toString()); return false; } } @@ -102,7 +102,7 @@ public class ReflectHelper { value=m.invoke(obj, new Object[] {}); } catch (Exception ex) { - System.out.println("invoke getter on " + property + " error: " + ex.toString()); + org.jeecgframework.core.util.LogUtil.info("invoke getter on " + property + " error: " + ex.toString()); } } return value; diff --git a/src/org/jeecgframework/core/util/ResourceUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ResourceUtil.java similarity index 92% rename from src/org/jeecgframework/core/util/ResourceUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/ResourceUtil.java index 8d935df4..a3b4badc 100644 --- a/src/org/jeecgframework/core/util/ResourceUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ResourceUtil.java @@ -8,9 +8,9 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import jeecg.system.manager.ClientManager; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSUser; +import org.jeecgframework.web.system.manager.ClientManager; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSUser; /** @@ -145,8 +145,8 @@ public class ResourceUtil { } public static void main(String[] args) { - System.out.println(getPorjectPath()); - System.out.println(getSysPath()); + org.jeecgframework.core.util.LogUtil.info(getPorjectPath()); + org.jeecgframework.core.util.LogUtil.info(getSysPath()); } } diff --git a/src/org/jeecgframework/core/util/RoletoJson.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/RoletoJson.java similarity index 56% rename from src/org/jeecgframework/core/util/RoletoJson.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/RoletoJson.java index ac6ead3a..4c92a8c7 100644 --- a/src/org/jeecgframework/core/util/RoletoJson.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/RoletoJson.java @@ -1,13 +1,20 @@ package org.jeecgframework.core.util; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; -import jeecg.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.apache.commons.beanutils.PropertyUtils; +import org.apache.commons.lang.StringUtils; import org.jeecgframework.core.common.model.json.ComboBox; - +/** + * + * @author 张代浩 + * + */ public class RoletoJson { /** @@ -62,4 +69,33 @@ public class RoletoJson { return comboxBoxs; } + + /** + * 方法描述: 值替换工具 + * 作 者: zym + * @param objList + * @param perFieldName + * @param sufFieldName + * @return 格式:old_new,old2_new2 + * 返回类型: String + */ + public static String listToReplaceStr(List objList, String perFieldName, String sufFieldName){ + List strList = new ArrayList(); + for (Object object : objList) { + String perStr = null; + String sufStr = null; + try { + perStr = (String)PropertyUtils.getProperty(object, perFieldName); + sufStr = (String)PropertyUtils.getProperty(object, sufFieldName); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + strList.add(perStr + "_" +sufStr); + } + return StringUtils.join(strList, ","); + } } diff --git a/src/org/jeecgframework/core/util/SendMailUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/SendMailUtil.java similarity index 91% rename from src/org/jeecgframework/core/util/SendMailUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/SendMailUtil.java index 083edba3..d859b8cf 100644 --- a/src/org/jeecgframework/core/util/SendMailUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/SendMailUtil.java @@ -12,7 +12,11 @@ import org.springframework.ui.freemarker.FreeMarkerTemplateUtils; import freemarker.template.Configuration; import freemarker.template.Template; - +/** + * + * @author 张代浩 + * + */ public class SendMailUtil { //private static final String smtphost = "192.168.1.70"; @@ -105,13 +109,13 @@ public class SendMailUtil template = freeMarkerConfig.getTemplate(getFileName(templatePath),new Locale("Zh_cn"), "UTF-8"); // 模板内容转换为string String htmlText = FreeMarkerTemplateUtils.processTemplateIntoString(template, map); - System.out.println(htmlText); + org.jeecgframework.core.util.LogUtil.info(htmlText); hemail.setMsg(htmlText); hemail.send(); - System.out.println("email send true!"); + org.jeecgframework.core.util.LogUtil.info("email send true!"); } catch (Exception e) { e.printStackTrace(); - System.out.println("email send error!"); + org.jeecgframework.core.util.LogUtil.info("email send error!"); } } @@ -133,10 +137,10 @@ public class SendMailUtil hemail.setSubject(subject); hemail.setMsg(message); hemail.send(); - System.out.println("email send true!"); + org.jeecgframework.core.util.LogUtil.info("email send true!"); } catch (Exception e) { e.printStackTrace(); - System.out.println("email send error!"); + org.jeecgframework.core.util.LogUtil.info("email send error!"); } } @@ -152,7 +156,7 @@ public class SendMailUtil template = freeMarkerConfig.getTemplate(getFileName(templatePath),new Locale("Zh_cn"), "UTF-8"); // 模板内容转换为string htmlText = FreeMarkerTemplateUtils.processTemplateIntoString(template, map); - System.out.println(htmlText); + org.jeecgframework.core.util.LogUtil.info(htmlText); } catch (Exception e) { e.printStackTrace(); } @@ -165,13 +169,13 @@ public class SendMailUtil String path = getAppPath(SendMailUtil.class); path = path + File.separator +"mailtemplate"+File.separator; path = path.replace("\\", "/"); - System.out.println(path); + org.jeecgframework.core.util.LogUtil.info(path); return path; } private static String getFileName(String path) { path = path.replace("\\", "/"); - System.out.println(path); + org.jeecgframework.core.util.LogUtil.info(path); return path.substring(path.lastIndexOf("/") + 1); } @@ -233,7 +237,7 @@ public class SendMailUtil } catch (Exception e) { throw new RuntimeException(e); } - System.out.println("realPath----->"+realPath); + org.jeecgframework.core.util.LogUtil.info("realPath----->"+realPath); return realPath; } // private static File getFile(String path){ @@ -255,10 +259,10 @@ public class SendMailUtil // hemail.setSubject("sendemail test!"); // hemail.setMsg("谷歌
"); // hemail.send(); -// System.out.println("email send true!"); +// org.jeecgframework.core.util.LogUtil.info("email send true!"); // } catch (Exception e) { // e.printStackTrace(); -// System.out.println("email send error!"); +// org.jeecgframework.core.util.LogUtil.info("email send error!"); // } Map map = new HashMap(); map.put("subject", "测试标题"); @@ -266,7 +270,7 @@ public class SendMailUtil String templatePath = "mailtemplate/test.ftl"; sendFtlMail("test@et-bank.com", "sendemail test!",templatePath, map); -// System.out.println(getFileName("mailtemplate/test.ftl")); +// org.jeecgframework.core.util.LogUtil.info(getFileName("mailtemplate/test.ftl")); } } \ No newline at end of file diff --git a/src/org/jeecgframework/core/util/SetListSort.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/SetListSort.java similarity index 90% rename from src/org/jeecgframework/core/util/SetListSort.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/SetListSort.java index 848e2274..3cf97968 100644 --- a/src/org/jeecgframework/core/util/SetListSort.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/SetListSort.java @@ -2,13 +2,13 @@ package org.jeecgframework.core.util; import java.util.Comparator; -import jeecg.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSFunction; /** * @ClassName: SetListSort * @Description: TODO(int比较器) -* @author jeecg +* @author 张代浩 * @date 2013-1-31 下午06:19:03 * */ diff --git a/src/org/jeecgframework/core/util/StreamUtils.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/StreamUtils.java similarity index 99% rename from src/org/jeecgframework/core/util/StreamUtils.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/StreamUtils.java index 2d9e7559..6a8d77ef 100644 --- a/src/org/jeecgframework/core/util/StreamUtils.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/StreamUtils.java @@ -209,7 +209,7 @@ public class StreamUtils { byte[] bytes = baos.toByteArray(); - System.out.println(new String(bytes)); + org.jeecgframework.core.util.LogUtil.info(new String(bytes)); return bytes; } diff --git a/src/org/jeecgframework/core/util/StringUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/StringUtil.java similarity index 99% rename from src/org/jeecgframework/core/util/StringUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/StringUtil.java index 59186ae5..d2c6b070 100644 --- a/src/org/jeecgframework/core/util/StringUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/StringUtil.java @@ -31,7 +31,7 @@ import org.dom4j.io.OutputFormat; /** * 字符串处理及转换工具类 - * + * @author 张代浩 */ public class StringUtil { private static Pattern numericPattern = Pattern.compile("^[0-9\\-]+$"); @@ -1001,7 +1001,7 @@ public class StringUtil { while (matcher.find()) { for (int i = 0; i < matcher.groupCount(); i++) { // int groupCount() // 返回当前查找所获得的匹配组的数量。 - // System.out.println(matcher.group(i)); + // org.jeecgframework.core.util.LogUtil.info(matcher.group(i)); result.add(matcher.group(i)); } @@ -1028,7 +1028,7 @@ public class StringUtil { */ /* - * String aaa="abcdefghijklmn"; String[] bbb=StringProcessor.midString(aaa, "b","l"); System.out.println("bbb[0]:"+bbb[0]);//cdefghijk System.out.println("bbb[1]:"+bbb[1]);//lmn ★这个方法是得到第二个参数和第三个参数之间的字符串,赋给元素0;然后把元素0代表的字符串之后的,赋给元素1 + * String aaa="abcdefghijklmn"; String[] bbb=StringProcessor.midString(aaa, "b","l"); org.jeecgframework.core.util.LogUtil.info("bbb[0]:"+bbb[0]);//cdefghijk org.jeecgframework.core.util.LogUtil.info("bbb[1]:"+bbb[1]);//lmn ★这个方法是得到第二个参数和第三个参数之间的字符串,赋给元素0;然后把元素0代表的字符串之后的,赋给元素1 */ /* diff --git a/src/org/jeecgframework/core/util/SystemPath.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/SystemPath.java similarity index 80% rename from src/org/jeecgframework/core/util/SystemPath.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/SystemPath.java index 7c19f3d7..19e7504f 100644 --- a/src/org/jeecgframework/core/util/SystemPath.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/SystemPath.java @@ -36,9 +36,9 @@ public class SystemPath { } public static void main(String[] args){ - System.out.println(getSysPath()); - System.out.println(System.getProperty("java.io.tmpdir")); - System.out.println(getSeparator()); - System.out.println(getClassPath()); + org.jeecgframework.core.util.LogUtil.info(getSysPath()); + org.jeecgframework.core.util.LogUtil.info(System.getProperty("java.io.tmpdir")); + org.jeecgframework.core.util.LogUtil.info(getSeparator()); + org.jeecgframework.core.util.LogUtil.info(getClassPath()); } } diff --git a/src/org/jeecgframework/core/util/ToEntityUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ToEntityUtil.java similarity index 93% rename from src/org/jeecgframework/core/util/ToEntityUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/ToEntityUtil.java index f2596f16..739f9648 100644 --- a/src/org/jeecgframework/core/util/ToEntityUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/ToEntityUtil.java @@ -11,7 +11,7 @@ import java.util.List; public final class ToEntityUtil { @SuppressWarnings("unchecked") - public static T toEntityList(List datas, Class clas, String... labels) { + public static T toEntityList(List datas, Class clas, String... labels) { // 返回实体列表 List entitys = new ArrayList(); for (int i = 0; i < datas.size(); i++) { @@ -30,7 +30,7 @@ public final class ToEntityUtil { } @SuppressWarnings("unchecked") - public static T toEntity(Class clas, Object[] data, String... labels) + public static T toEntity(Class clas, Object[] data, String... labels) throws Exception { // 创建对象实例 T entity = (T) clas.newInstance(); diff --git a/src/org/jeecgframework/core/util/UUIDGenerator.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/UUIDGenerator.java similarity index 98% rename from src/org/jeecgframework/core/util/UUIDGenerator.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/UUIDGenerator.java index 16aad8e2..9ffa294d 100644 --- a/src/org/jeecgframework/core/util/UUIDGenerator.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/UUIDGenerator.java @@ -3,6 +3,11 @@ package org.jeecgframework.core.util; import java.net.InetAddress; +/** + * + * @author 张代浩 + * + */ public class UUIDGenerator { diff --git a/src/org/jeecgframework/core/util/UploadUtils.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/UploadUtils.java similarity index 97% rename from src/org/jeecgframework/core/util/UploadUtils.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/UploadUtils.java index 94f7a889..04c479a8 100644 --- a/src/org/jeecgframework/core/util/UploadUtils.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/UploadUtils.java @@ -116,11 +116,11 @@ public class UploadUtils { File uploadDir = new File(savePath); if (contentType == null || !contentType.startsWith("multipart")) { // TODO - System.out.println("请求不包含multipart/form-data流"); + org.jeecgframework.core.util.LogUtil.info("请求不包含multipart/form-data流"); errorInfo = "请求不包含multipart/form-data流"; } else if (maxSize < contentLength) { // TODO - System.out.println("上传文件大小超出文件最大大小"); + org.jeecgframework.core.util.LogUtil.info("上传文件大小超出文件最大大小"); errorInfo = "上传文件大小超出文件最大大小[" + maxSize + "]"; } else if (!ServletFileUpload.isMultipartContent(request)) { // TODO @@ -270,7 +270,7 @@ public class UploadUtils { */ } catch (IOException e) { e.printStackTrace(); - System.out.println("上传失败了!!!"); + org.jeecgframework.core.util.LogUtil.info("上传失败了!!!"); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/org/jeecgframework/core/util/oConvertUtils.java b/jeecg-framework/src/main/java/org/jeecgframework/core/util/oConvertUtils.java similarity index 99% rename from src/org/jeecgframework/core/util/oConvertUtils.java rename to jeecg-framework/src/main/java/org/jeecgframework/core/util/oConvertUtils.java index 1f7cc689..9d0189e4 100644 --- a/src/org/jeecgframework/core/util/oConvertUtils.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/core/util/oConvertUtils.java @@ -21,6 +21,11 @@ import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +/** + * + * @author 张代浩 + * + */ public class oConvertUtils { /** * 判断字符串是否为空 diff --git a/src/org/jeecgframework/excel/ExcelExportOfTemplateUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelExportOfTemplateUtil.java similarity index 97% rename from src/org/jeecgframework/excel/ExcelExportOfTemplateUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelExportOfTemplateUtil.java index 0889276d..5152001c 100644 --- a/src/org/jeecgframework/excel/ExcelExportOfTemplateUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelExportOfTemplateUtil.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel; +package org.jeecgframework.poi.excel; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; @@ -26,8 +26,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFClientAnchor; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.Drawing; @@ -39,13 +37,12 @@ import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFClientAnchor; import org.apache.poi.xssf.usermodel.XSSFRichTextString; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.jeecgframework.excel.annotation.Excel; -import org.jeecgframework.excel.annotation.ExcelCollection; -import org.jeecgframework.excel.annotation.ExcelTarget; -import org.jeecgframework.excel.entity.ComparatorExcelField; -import org.jeecgframework.excel.entity.ExcelExportEntity; -import org.jeecgframework.excel.entity.TemplateExportParams; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; +import org.jeecgframework.poi.excel.annotation.ExcelTarget; +import org.jeecgframework.poi.excel.entity.ComparatorExcelField; +import org.jeecgframework.poi.excel.entity.ExcelExportEntity; +import org.jeecgframework.poi.excel.entity.TemplateExportParams; /** * Excel 导出根据模板导出 * @author JueYue diff --git a/src/org/jeecgframework/excel/ExcelExportUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java similarity index 93% rename from src/org/jeecgframework/excel/ExcelExportUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java index 15919fd6..c8d3d794 100644 --- a/src/org/jeecgframework/excel/ExcelExportUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelExportUtil.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel; +package org.jeecgframework.poi.excel; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; @@ -18,7 +18,6 @@ import java.util.List; import java.util.Map; import javax.imageio.ImageIO; - import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFClientAnchor; @@ -34,13 +33,14 @@ import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellRangeAddress; -import org.jeecgframework.excel.annotation.Excel; -import org.jeecgframework.excel.annotation.ExcelCollection; -import org.jeecgframework.excel.annotation.ExcelTarget; -import org.jeecgframework.excel.entity.ComparatorExcelField; -import org.jeecgframework.excel.entity.ExcelExportEntity; -import org.jeecgframework.excel.entity.ExcelTitle; -import org.jeecgframework.excel.entity.TemplateExportParams; +import org.jeecgframework.core.util.ContextHolderUtils; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; +import org.jeecgframework.poi.excel.annotation.ExcelTarget; +import org.jeecgframework.poi.excel.entity.ComparatorExcelField; +import org.jeecgframework.poi.excel.entity.ExcelExportEntity; +import org.jeecgframework.poi.excel.entity.ExcelTitle; +import org.jeecgframework.poi.excel.entity.TemplateExportParams; /** * excel 导出工具类 @@ -236,8 +236,7 @@ public final class ExcelExportUtil { entity.getGetMethods(), obj) : entity.getGetMethod() .invoke(obj, new Object[] {}); //step 1 判断是不是日期,需不需要格式化 - if(StringUtils.isNotEmpty(entity.getExportFormat()) - &&StringUtils.isNotEmpty(entity.getDatabaseFormat())){ + if(StringUtils.isNotEmpty(entity.getExportFormat())){ Date temp = null; if(value instanceof String){ SimpleDateFormat format = new SimpleDateFormat(entity.getDatabaseFormat()); @@ -394,14 +393,15 @@ public final class ExcelExportUtil { ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); BufferedImage bufferImg; try { - String path = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath() +string; + String path = ContextHolderUtils.getRequest().getSession().getServletContext().getRealPath("\\") +string; path = path.replace("WEB-INF/classes/",""); path = path.replace("file:/",""); bufferImg = ImageIO.read( new File(path)); ImageIO.write(bufferImg,string.substring(string.indexOf(".")+1,string.length()),byteArrayOut); + byte[] value = byteArrayOut.toByteArray(); patriarch.createPicture(anchor, - row.getSheet().getWorkbook().addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG)); + row.getSheet().getWorkbook().addPicture(value,getImageType(value))); } catch (IOException e) { e.printStackTrace(); } @@ -411,11 +411,27 @@ public final class ExcelExportUtil { .invoke(obj, new Object[] {})); if(value != null){ patriarch.createPicture(anchor, - row.getSheet().getWorkbook().addPicture(value,HSSFWorkbook.PICTURE_TYPE_JPEG)); + row.getSheet().getWorkbook().addPicture(value,getImageType(value))); } } } + /** + *获取图片类型,设置图片插入类型 + *@Author JueYue + *@date 2013年11月25日 + *@param value + *@return + */ + private static int getImageType(byte[] value) { + String type = ExcelPublicUtil.getFileExtendName(value); + if(type.equalsIgnoreCase("JPG")){ + return HSSFWorkbook.PICTURE_TYPE_JPEG; + }else if(type.equalsIgnoreCase("PNG")){ + return HSSFWorkbook.PICTURE_TYPE_PNG; + } + return HSSFWorkbook.PICTURE_TYPE_JPEG; + } /** * 创建 表头 @@ -624,6 +640,8 @@ public final class ExcelExportUtil { excelEntity.setOrderNum(getCellOrder(excel.orderNum(),targetId)); excelEntity.setWrap(excel.isWrap()); excelEntity.setExportImageType(excel.imageType()); + excelEntity.setExportFormat(StringUtils.isNotEmpty(excel.exportFormat())? + excel.exportFormat():excel.imExFormat()); String fieldname = field.getName(); excelEntity.setGetMethod(ExcelPublicUtil.getMethod(fieldname, pojoClass)); if (excel.exportConvertSign() == 1||excel.imExConvert()==1) { diff --git a/src/org/jeecgframework/excel/ExcelImportUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtil.java similarity index 89% rename from src/org/jeecgframework/excel/ExcelImportUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtil.java index 4dc43662..d6dc293d 100644 --- a/src/org/jeecgframework/excel/ExcelImportUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtil.java @@ -1,8 +1,7 @@ -package org.jeecgframework.excel; +package org.jeecgframework.poi.excel; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -12,6 +11,7 @@ import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; @@ -35,11 +35,13 @@ import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.jeecgframework.excel.annotation.Excel; -import org.jeecgframework.excel.annotation.ExcelTarget; -import org.jeecgframework.excel.entity.ExcelCollectionParams; -import org.jeecgframework.excel.entity.ExcelImportEntity; -import org.jeecgframework.excel.entity.ImportParams; +import org.jeecgframework.core.util.ApplicationContextUtil; +import org.jeecgframework.core.util.ContextHolderUtils; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelTarget; +import org.jeecgframework.poi.excel.entity.ExcelCollectionParams; +import org.jeecgframework.poi.excel.entity.ExcelImportEntity; +import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.util.FileCopyUtils; /** @@ -119,8 +121,7 @@ public final class ExcelImportUtil { private static void saveThisExcel(ImportParams params,Class pojoClass, boolean isXSSFWorkbook, Workbook book) throws Exception { - String path = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath() + - getSaveExcelUrl(params,pojoClass); + String path = ContextHolderUtils.getRequest().getSession().getServletContext().getRealPath("\\")+getSaveExcelUrl(params,pojoClass); path = path.replace("WEB-INF/classes/",""); path = path.replace("file:/",""); File savefile = new File(path); @@ -192,7 +193,7 @@ public final class ExcelImportUtil { row = rows.next(); // 判断是集合元素还是不是集合元素,如果是就继续加入这个集合,不是就创建新的对象 if ((row.getCell(params.getKeyIndex())==null|| - StringUtils.isEmpty(row.getCell(params.getKeyIndex()).getStringCellValue())) + StringUtils.isEmpty(getKeyValue(row.getCell(params.getKeyIndex())))) && object != null) { for (ExcelCollectionParams param : excelCollection) { addListContinue(object, param, row,titlemap, targetId,pictures,params); @@ -221,6 +222,22 @@ public final class ExcelImportUtil { } return collection; } + /** + * 获取key的值,针对不同类型获取不同的值 + *@Author JueYue + *@date 2013-11-21 + *@param cell + *@return + */ + private static String getKeyValue(Cell cell) { + Object obj = null; + switch (cell.getCellType()) { + case Cell.CELL_TYPE_STRING:obj = cell.getStringCellValue();break; + case Cell.CELL_TYPE_BOOLEAN:obj = cell.getBooleanCellValue();break; + case Cell.CELL_TYPE_NUMERIC:obj = cell.getNumericCellValue();break; + } + return obj==null?null:obj.toString(); + } /** * * @param object @@ -235,16 +252,16 @@ public final class ExcelImportUtil { private static void saveImage(Object object, String picId, Map excelParams, String titleString, Map pictures, ImportParams params) throws Exception { - PictureData image = pictures.get(picId); - if(image == null){ + if (pictures == null) { return; } + PictureData image = pictures.get(picId); byte[] data = image.getData(); String fileName = "pic"+Math.round(Math.random()*100000000000L); fileName+= "."+ExcelPublicUtil.getFileExtendName(data); if(excelParams.get(titleString).getSaveType()==1){ - String path = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()+ - getSaveUrl(excelParams.get(titleString),object); + String path = ContextHolderUtils.getRequest().getSession().getServletContext().getRealPath("\\") + + getSaveUrl(excelParams.get(titleString),object); path = path.replace("WEB-INF/classes/",""); path = path.replace("file:/",""); File savefile = new File(path); @@ -347,7 +364,9 @@ public final class ExcelImportUtil { cellDate = cell.getDateCellValue(); setValues(entity, object, cellDate); } else { - setValues(entity, object, cell.getStringCellValue()); + cell.setCellType(Cell.CELL_TYPE_STRING); + cellDate = getDateData(entity,cell.getStringCellValue()); + setValues(entity, object, cellDate); } } else if (xclass.equals("class java.lang.Boolean")) { boolean valBool; @@ -393,6 +412,24 @@ public final class ExcelImportUtil { } } + /** + * 获取日期类型数据 + *@Author JueYue + *@date 2013年11月26日 + *@param entity + *@param stringCellValue + *@return + */ + private static Date getDateData(ExcelImportEntity entity, String value) { + if(StringUtils.isNotEmpty(entity.getImportFormat())&& + StringUtils.isNotEmpty(value)){ + SimpleDateFormat format = new SimpleDateFormat(entity.getImportFormat()); + try { + return format.parse(value); + } catch (ParseException e) {} + } + return null; + } /** * * @param entity @@ -551,6 +588,11 @@ public final class ExcelImportUtil { excelEntity.setSetMethod(ExcelPublicUtil.getMethod(fieldname, pojoClass,field.getType())); } + if(StringUtils.isEmpty(excel.importFormat())){ + excelEntity.setImportFormat(excel.imExFormat()); + }else{ + excelEntity.setImportFormat(excel.importFormat()); + } } /** diff --git a/src/org/jeecgframework/excel/ExcelPublicUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelPublicUtil.java similarity index 94% rename from src/org/jeecgframework/excel/ExcelPublicUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelPublicUtil.java index 071b9c09..129c6365 100644 --- a/src/org/jeecgframework/excel/ExcelPublicUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelPublicUtil.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel; +package org.jeecgframework.poi.excel; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -23,10 +23,10 @@ import org.apache.poi.xssf.usermodel.XSSFShape; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.hibernate.mapping.Collection; -import org.jeecgframework.excel.annotation.Excel; -import org.jeecgframework.excel.annotation.ExcelCollection; -import org.jeecgframework.excel.annotation.ExcelEntity; -import org.jeecgframework.excel.annotation.ExcelIgnore; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; +import org.jeecgframework.poi.excel.annotation.ExcelEntity; +import org.jeecgframework.poi.excel.annotation.ExcelIgnore; import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker; public class ExcelPublicUtil { @@ -225,9 +225,10 @@ public class ExcelPublicUtil { * @param workbook 工作簿对象 * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData */ - public static Map getSheetPictrues03(HSSFSheet sheet, + @SuppressWarnings("unchecked") + public static Map getSheetPictrues03(HSSFSheet sheet, HSSFWorkbook workbook) { - Map sheetIndexPicMap = new HashMap(); + Map sheetIndexPicMap = new HashMap(); List pictures = workbook.getAllPictures(); if (pictures.size() != 0) { for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) { @@ -239,11 +240,11 @@ public class ExcelPublicUtil { String picIndex = String.valueOf(anchor.getRow1()) + "_" + String.valueOf(anchor.getCol1()); sheetIndexPicMap.put(picIndex, picData); - } + } } return sheetIndexPicMap; } else { - return null; + return (Map) sheetIndexPicMap.put(null, null); } } diff --git a/src/org/jeecgframework/excel/ExcelUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelUtil.java similarity index 93% rename from src/org/jeecgframework/excel/ExcelUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelUtil.java index c42e1730..9efddbb0 100644 --- a/src/org/jeecgframework/excel/ExcelUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/ExcelUtil.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel; +package org.jeecgframework.poi.excel; import java.io.File; import java.io.FileInputStream; @@ -27,7 +27,7 @@ import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; -import org.jeecgframework.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.Excel; @Deprecated public final class ExcelUtil { @@ -115,7 +115,7 @@ public final class ExcelUtil { for (String s : str) { //System.out.print(s + " | "); } - //System.out.println(""); + //org.jeecgframework.core.util.LogUtil.info(""); } } @@ -234,7 +234,7 @@ public final class ExcelUtil { fOut.flush(); // 操作结束,关闭文件 fOut.close(); - //System.out.println("[" + excel_name + "]" + "文件生成..."); + //org.jeecgframework.core.util.LogUtil.info("[" + excel_name + "]" + "文件生成..."); } /** @@ -296,7 +296,7 @@ public final class ExcelUtil { fOut.flush(); // 操作结束,关闭文件 fOut.close(); - //System.out.println("[" + excel_name + "]" + "文件生成..."); + //org.jeecgframework.core.util.LogUtil.info("[" + excel_name + "]" + "文件生成..."); } /** @@ -425,7 +425,7 @@ public final class ExcelUtil { fOut.flush(); // 操作结束,关闭文件 fOut.close(); - //System.out.println("[" + excel_name + "]" + "文件生成..."); + //org.jeecgframework.core.util.LogUtil.info("[" + excel_name + "]" + "文件生成..."); } /** @@ -539,7 +539,7 @@ public final class ExcelUtil { // 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数 - // //System.out.println("excel行数: "+hssfsheet.getPhysicalNumberOfRows()); + // //org.jeecgframework.core.util.LogUtil.info("excel行数: "+hssfsheet.getPhysicalNumberOfRows()); for (int j = 0; j < hssfsheet.getPhysicalNumberOfRows(); j++) { HSSFRow hssfrow = hssfsheet.getRow(j); if (hssfrow != null) { @@ -616,12 +616,12 @@ public final class ExcelUtil { fieldSetMap.put(excel.exportName(), setMethod); if (excel.importConvertSign() == 1) { //---------------------------------------------------------------- - + //update-begin--Author:Quainty Date:20130524 for:[8]excel导出时间问题 // 用get/setXxxxConvert方法名的话, 由于直接使用了数据库绑定的Entity对象,注入会有冲突 StringBuffer setConvertMethodName = new StringBuffer("convertSet"); setConvertMethodName.append(fieldname.substring(0, 1).toUpperCase()); setConvertMethodName.append(fieldname.substring(1)); - + //update-end--Author:Quainty Date:20130524 for:[8]excel导出时间问题 //---------------------------------------------------------------- Method getConvertMethod = pojoClass.getMethod(setConvertMethodName.toString(), new Class[] { String.class }); fieldSetConvertMap.put(excel.exportName(), getConvertMethod); @@ -683,7 +683,7 @@ public final class ExcelUtil { cell.setCellType(Cell.CELL_TYPE_STRING); setMethod.invoke(tObject, cell.getStringCellValue()); } else if (xclass.equals("class java.util.Date")) { - + // update-start--Author:Quainty Date:20130523 for:日期类型数据导入不对(顺便扩大支持了Excel的数据类型) Date cellDate = null; if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) { // 日期格式 @@ -692,12 +692,12 @@ public final class ExcelUtil { cellDate = stringToDate(cell.getStringCellValue()); } setMethod.invoke(tObject,cellDate); - + //// update-start--Author:lihuan Date:20130423 for:导入bug修复直接将导出的Excel导入出现的bug的修复 //// -------------------------------------------------------------------------------------------- //String cellValue = cell.getStringCellValue(); //Date theDate = stringToDate(cellValue); //setMethod.invoke(tObject, theDate); - + //// update-end--Author:lihuan Date:20130423 for:导入bug修复直接将导出的Excel导入出现的bug的修复 //// -------------------------------------------------------------------------------------------- } else if (xclass.equals("class java.lang.Boolean")) { boolean valBool; @@ -733,11 +733,11 @@ public final class ExcelUtil { } setMethod.invoke(tObject, valDecimal); //// ---------------------------------------------------------------- - + //// update-begin--Author:sky Date:20130422 for:取值类型调整cell.getNumberCellValue-->>getStringCellValue //setMethod.invoke(tObject, new BigDecimal(cell.getStringCellValue())); - + //// update-end--Author:sky Date:20130422 for:取值类型调整 //// ---------------------------------------------------------------- - + // update-end--Author:Quainty Date:20130523 for:日期类型数据导入不对(顺便扩大支持了Excel的数据类型) } } } @@ -753,8 +753,9 @@ public final class ExcelUtil { return dist; } + // update-begin--Author:Quainty Date:20130523 for:日期类型数据导入不对(顺便扩大支持了Excel的数据类型) // -------------------------------------------------------------------------------------------- - + // update-begin--Author:lihuan Date:20130423 for:直接将导出的Excel导入出现的bug的修复 /** * 字符串转换为Date类型数据(限定格式 YYYY-MM-DD hh:mm:ss)或(YYYY/MM/DD hh:mm:ss) * @@ -794,6 +795,7 @@ public final class ExcelUtil { return calendar.getTime(); } + // update-end--Author:lihuan Date:20130423 for:导入bug修复直接将导出的Excel导入出现的bug的修复 // -------------------------------------------------------------------------------------------- - + // update-end--Author:Quainty Date:20130523 for:日期类型数据导入不对(顺便扩大支持了Excel的数据类型) } diff --git a/src/org/jeecgframework/excel/annotation/Excel.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/Excel.java similarity index 88% rename from src/org/jeecgframework/excel/annotation/Excel.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/Excel.java index c4716694..473ba9a0 100644 --- a/src/org/jeecgframework/excel/annotation/Excel.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/Excel.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.annotation; +package org.jeecgframework.poi.excel.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -78,9 +78,17 @@ public @interface Excel { */ public String databaseFormat() default "yyyyMMddHHmmss"; /** - * 导出的时间格式,以这个是否为空来判断师傅需要格式化日期 + * 导出的时间格式,以这个是否为空来判断是否需要格式化日期 */ public String exportFormat() default ""; + /** + * 导入的时间格式,以这个是否为空来判断是否需要格式化日期 + */ + public String importFormat() default ""; + /** + *时间格式,相当于同时设置了exportFormat 和 importFormat + */ + public String imExFormat() default ""; /** * cell 写入的设置的函数 */ diff --git a/src/org/jeecgframework/excel/annotation/ExcelCollection.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelCollection.java similarity index 94% rename from src/org/jeecgframework/excel/annotation/ExcelCollection.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelCollection.java index d385f9b4..fc467257 100644 --- a/src/org/jeecgframework/excel/annotation/ExcelCollection.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelCollection.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.annotation; +package org.jeecgframework.poi.excel.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/src/org/jeecgframework/excel/annotation/ExcelEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelEntity.java similarity index 92% rename from src/org/jeecgframework/excel/annotation/ExcelEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelEntity.java index 066aca2c..b833874a 100644 --- a/src/org/jeecgframework/excel/annotation/ExcelEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelEntity.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.annotation; +package org.jeecgframework.poi.excel.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/src/org/jeecgframework/excel/annotation/ExcelIgnore.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelIgnore.java similarity index 88% rename from src/org/jeecgframework/excel/annotation/ExcelIgnore.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelIgnore.java index 11c47b39..2e313e13 100644 --- a/src/org/jeecgframework/excel/annotation/ExcelIgnore.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelIgnore.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.annotation; +package org.jeecgframework.poi.excel.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/src/org/jeecgframework/excel/annotation/ExcelTarget.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelTarget.java similarity index 88% rename from src/org/jeecgframework/excel/annotation/ExcelTarget.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelTarget.java index 24d6584b..887af410 100644 --- a/src/org/jeecgframework/excel/annotation/ExcelTarget.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/annotation/ExcelTarget.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.annotation; +package org.jeecgframework.poi.excel.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/src/org/jeecgframework/excel/entity/ComparatorExcelField.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ComparatorExcelField.java similarity index 84% rename from src/org/jeecgframework/excel/entity/ComparatorExcelField.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ComparatorExcelField.java index ad5f93e4..4b59d4ee 100644 --- a/src/org/jeecgframework/excel/entity/ComparatorExcelField.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ComparatorExcelField.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; import java.util.Comparator; @@ -9,7 +9,7 @@ import java.util.Comparator; */ public class ComparatorExcelField implements Comparator { - @Override + public int compare(ExcelExportEntity prev,ExcelExportEntity next) { return prev.getOrderNum() - next.getOrderNum(); } diff --git a/src/org/jeecgframework/excel/entity/ExcelCollectionParams.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelCollectionParams.java similarity index 94% rename from src/org/jeecgframework/excel/entity/ExcelCollectionParams.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelCollectionParams.java index 5a2ce82b..17313cfc 100644 --- a/src/org/jeecgframework/excel/entity/ExcelCollectionParams.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelCollectionParams.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; import java.util.Map; diff --git a/src/org/jeecgframework/excel/entity/ExcelExportEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelExportEntity.java similarity index 98% rename from src/org/jeecgframework/excel/entity/ExcelExportEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelExportEntity.java index 3a5c02f9..a70cf005 100644 --- a/src/org/jeecgframework/excel/entity/ExcelExportEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelExportEntity.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; import java.lang.reflect.Method; import java.util.List; diff --git a/src/org/jeecgframework/excel/entity/ExcelImportEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelImportEntity.java similarity index 87% rename from src/org/jeecgframework/excel/entity/ExcelImportEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelImportEntity.java index 9a0d42d3..e84e0413 100644 --- a/src/org/jeecgframework/excel/entity/ExcelImportEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelImportEntity.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; import java.lang.reflect.Method; import java.util.List; @@ -32,6 +32,10 @@ public class ExcelImportEntity { * 对应exportType */ private String classType; + /** + * 导入日期格式 + */ + private String importFormat; /** * set 和convert 合并 */ @@ -113,4 +117,12 @@ public class ExcelImportEntity { this.saveType = saveType; } + public String getImportFormat() { + return importFormat; + } + + public void setImportFormat(String importFormat) { + this.importFormat = importFormat; + } + } diff --git a/src/org/jeecgframework/excel/entity/ExcelTitle.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelTitle.java similarity index 96% rename from src/org/jeecgframework/excel/entity/ExcelTitle.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelTitle.java index f8e101f8..91573361 100644 --- a/src/org/jeecgframework/excel/entity/ExcelTitle.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ExcelTitle.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; import org.apache.poi.hssf.util.HSSFColor; diff --git a/src/org/jeecgframework/excel/entity/ImportParams.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ImportParams.java similarity index 97% rename from src/org/jeecgframework/excel/entity/ImportParams.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ImportParams.java index 816fc9c8..a2319f68 100644 --- a/src/org/jeecgframework/excel/entity/ImportParams.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/ImportParams.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; /** * 导入参数设置 diff --git a/src/org/jeecgframework/excel/entity/TemplateExportParams.java b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/TemplateExportParams.java similarity index 96% rename from src/org/jeecgframework/excel/entity/TemplateExportParams.java rename to jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/TemplateExportParams.java index 69f42cfb..dbdeca76 100644 --- a/src/org/jeecgframework/excel/entity/TemplateExportParams.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/poi/excel/entity/TemplateExportParams.java @@ -1,4 +1,4 @@ -package org.jeecgframework.excel.entity; +package org.jeecgframework.poi.excel.entity; /** * 模板导出参数设置 diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/AuthFilterTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/AuthFilterTag.java new file mode 100644 index 00000000..56222905 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/AuthFilterTag.java @@ -0,0 +1,72 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.util.List; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.ResourceUtil; +/** + * + * @Title:AuthFilterTag + * @description:列表按钮权限过滤 + * @author 赵俊夫 + * @date Aug 24, 2013 7:46:57 PM + * @version V1.0 + */ +public class AuthFilterTag extends TagSupport{ + /**列表容器的ID*/ + protected String name; + + public int doStartTag() throws JspException { + return super.doStartTag(); + } + + public int doEndTag() throws JspException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + + } + protected Object end() { + StringBuilder out = new StringBuilder(); + getAuthFilter(out); + return out; + } + /** + * 获取隐藏按钮的JS代码 + * @param out + */ + @SuppressWarnings("unchecked") + protected void getAuthFilter(StringBuilder out) { + out.append(""); + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/AutocompleteTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/AutocompleteTag.java new file mode 100644 index 00000000..5f40c005 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/AutocompleteTag.java @@ -0,0 +1,139 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.StringUtil; + + +/** + * + * 自动补全 + * jquery ui Autocomplete + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class AutocompleteTag extends TagSupport { + private static final long serialVersionUID = 1L; + private String name;//控件名称 + private String dataSource = "commonController.do?getAutoList";//数据源 + private Integer minLength=2;//触发提示文字长度 + private String labelField;//提示显示的字段 + private String searchField;//查询关键字字段 + private String valueField;//传递后台的字段 + private String entityName;//实体名称 + private String selectfun;//选中后调用的函数 + private String label;//传入显示值 + private String value;//传入隐藏域值 + private String datatype = "*";//数据验证类型 + private String nullmsg = "";//数据为空时验证 + private String errormsg = "输入格式不对";//数据格式不对时验证 + private String closefun;//没有选择下拉项目的处理函数 + private String parse; + private String formatItem; + private String result; + private Integer maxRows = 10;//显示的最多的条数 + + public void setClosefun(String closefun) { + this.closefun = closefun; + } + public void setDatatype(String datatype) { + this.datatype = datatype; + } + public void setNullmsg(String nullmsg) { + this.nullmsg = nullmsg; + } + public void setErrormsg(String errormsg) { + this.errormsg = errormsg; + } + public void setLabel(String label) { + this.label = label; + } + public void setValue(String value) { + this.value = value; + } + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + public StringBuffer end() { + StringBuffer nsb = new StringBuffer(); + nsb.append("") + .append(""); + if(StringUtil.isNotEmpty(label)){ + nsb.append(" value="+label+" readonly=true"); + } + nsb.append(""); + return nsb; + } + public void setName(String name) { + this.name = name; + } + public void setParse(String parse) { + this.parse = parse; + } + public void setFormatItem(String formatItem) { + this.formatItem = formatItem; + } + public void setResult(String result) { + this.result = result; + } + public void setDataSource(String dataSource) { + this.dataSource = dataSource; + } + public void setMinLength(Integer minLength) { + this.minLength = minLength; + } + public void setLabelField(String labelField) { + this.labelField = labelField; + } + public void setValueField(String valueField) { + this.valueField = valueField; + } + public void setEntityName(String entityName) { + this.entityName = entityName; + } + public void setSearchField(String searchField) { + this.searchField = searchField; + } + public void setSelectfun(String selectfun) { + this.selectfun = selectfun; + } + public void setMaxRows(Integer maxRows){ + if(maxRows==null){ + maxRows = 10; + } + this.maxRows = maxRows; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/BaseTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/BaseTag.java new file mode 100644 index 00000000..2a73cb3f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/BaseTag.java @@ -0,0 +1,138 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.oConvertUtils; + + +/** + * + * @author 张代浩 + * + */ +public class BaseTag extends TagSupport { + /** + * + */ + private static final long serialVersionUID = 1L; + protected String type = "default";// 加载类型 + + public void setType(String type) { + this.type = type; + } + + + public int doStartTag() throws JspException { + return EVAL_PAGE; + } + + + public int doEndTag() throws JspException { + try { + JspWriter out = this.pageContext.getOut(); + StringBuffer sb = new StringBuffer(); + + String types[] = type.split(","); + if (oConvertUtils.isIn("jquery", types)) { + sb.append(""); + } + if (oConvertUtils.isIn("ckeditor", types)) { + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("ckfinder", types)) { + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("easyui", types)) { + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("DatePicker", types)) { + sb.append(""); + } + if (oConvertUtils.isIn("jqueryui", types)) { + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("jqueryui-sortable", types)) { + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("prohibit", types)) { + sb.append(""); } + if (oConvertUtils.isIn("designer", types)) { + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + + } + if (oConvertUtils.isIn("tools", types)) { + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("toptip", types)) { + sb.append(""); + sb.append(""); + } + if (oConvertUtils.isIn("autocomplete", types)) { + sb.append(""); + sb.append(""); + } + out.print(sb.toString()); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ChooseTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ChooseTag.java new file mode 100644 index 00000000..7f753a3e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ChooseTag.java @@ -0,0 +1,281 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.util.UUID; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.UUIDGenerator; + + +/** + * + * 类描述:选择器标签 + * + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class ChooseTag extends TagSupport { + protected String hiddenName; + protected String textname;//显示文本框字段 + protected String icon; + protected String title; + protected String url; + protected String top; + protected String left; + protected String width; + protected String height; + protected String name; + protected String hiddenid;// 隐藏框取值ID + protected Boolean isclear = false; + protected String fun;//自定义函数 + protected String inputTextname; + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + String methodname = UUIDGenerator.generate().replaceAll("-", ""); + StringBuffer sb = new StringBuffer(); + sb.append("选择"); + if (isclear&&StringUtil.isNotEmpty(textname)) { + sb.append("清空"); + } + sb.append(""); + return sb; + } + /** + * 清除 + * @param sb + */ + private void clearAll(StringBuffer sb,String methodname) { + String[] textnames=null; + String[] inputTextnames=null; + textnames = textname.split(","); + if(StringUtil.isNotEmpty(inputTextname)){ + inputTextnames = inputTextname.split(","); + }else{ + inputTextnames = textnames; + } + if (isclear&&StringUtil.isNotEmpty(textname)) { + sb.append("function clearAll_"+methodname+"(){"); + for (int i = 0; i < textnames.length; i++) { + inputTextnames[i]=inputTextnames[i].replaceAll("\\[", "\\\\\\\\[").replaceAll("\\]", "\\\\\\\\]").replaceAll("\\.", "\\\\\\\\."); + sb.append("if($(\'#" + inputTextnames[i] + "\').length>=1){"); + sb.append("$(\'#" + inputTextnames[i] + "\').val('');"); + sb.append("$(\'#" + inputTextnames[i] + "\').blur();"); + sb.append("}"); + sb.append("if($(\"input[name='" + inputTextnames[i] + "']\").length>=1){"); + sb.append("$(\"input[name='" + inputTextnames[i] + "']\").val('');"); + sb.append("$(\"input[name='" + inputTextnames[i] + "']\").blur();"); + sb.append("}"); + } + sb.append("$(\'#" + hiddenName + "\').val(\"\");"); + sb.append("}"); + } + } + /** + * 点击确定回填 + * @param sb + */ + private void callback(StringBuffer sb,String methodname) { + sb.append("function clickcallback_"+methodname+"(){"); + sb.append("iframe = this.iframe.contentWindow;"); + String[] textnames=null; + String[] inputTextnames=null; + if(StringUtil.isNotEmpty(textname)) + { + textnames = textname.split(","); + if(StringUtil.isNotEmpty(inputTextname)){ + inputTextnames = inputTextname.split(","); + }else{ + inputTextnames = textnames; + } + for (int i = 0; i < textnames.length; i++) { + inputTextnames[i]=inputTextnames[i].replaceAll("\\[", "\\\\\\\\[").replaceAll("\\]", "\\\\\\\\]").replaceAll("\\.", "\\\\\\\\."); + sb.append("var " + textnames[i] + "=iframe.get" + name + "Selections(\'" + textnames[i] + "\'); "); + sb.append("if($(\'#" + inputTextnames[i] + "\').length>=1){"); + sb.append("$(\'#" + inputTextnames[i] + "\').val(" + textnames[i] + ");"); + sb.append("$(\'#" + inputTextnames[i] + "\').blur();"); + sb.append("}"); + sb.append("if($(\"input[name='" + inputTextnames[i] + "']\").length>=1){"); + sb.append("$(\"input[name='" + inputTextnames[i] + "']\").val(" + textnames[i] + ");"); + sb.append("$(\"input[name='" + inputTextnames[i] + "']\").blur();"); + sb.append("}"); + } + } + if(StringUtil.isNotEmpty(hiddenName)){ + sb.append("var id =iframe.get" + name + "Selections(\'" + hiddenid + "\');"); + sb.append("if (id!== undefined &&id!=\"\"){"); + sb.append("$(\'#" + hiddenName + "\').val(id);"); + sb.append("}"); + } + if(StringUtil.isNotEmpty(fun)) + { + sb.append(""+fun+"();");//执行自定义函数 + } + sb.append("}"); + } + + public void setHiddenName(String hiddenName) { + this.hiddenName = hiddenName; + } + + public void setName(String name) { + this.name = name; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public void setTextname(String textname) { + this.textname = textname; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setUrl(String url) { + this.url = url; + } + + public void setTop(String top) { + this.top = top; + } + + public void setLeft(String left) { + this.left = left; + } + + public void setWidth(String width) { + this.width = width; + } + + public void setHeight(String height) { + this.height = height; + } + + public void setIsclear(Boolean isclear) { + this.isclear = isclear; + } + + public void setHiddenid(String hiddenid) { + this.hiddenid = hiddenid; + } + public void setFun(String fun) { + this.fun = fun; + } + + public String getInputTextname() { + return inputTextname; + } + + public void setInputTextname(String inputTextname) { + this.inputTextname = inputTextname; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/CkeditorTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/CkeditorTag.java new file mode 100644 index 00000000..18dd869c --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/CkeditorTag.java @@ -0,0 +1,105 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.PropertiesUtil; +import org.jeecgframework.core.util.StringUtil; + +/** + * + * @author 张代浩 + * + */ +public class CkeditorTag extends TagSupport { + + private static final long serialVersionUID = 1L; + protected String name;// 属性名称 + protected String value;// 默认值 + protected boolean isfinder;// 是否加载ckfinder(默认true) + protected String type;// 其它属性(用法:height:400,uiColor:'#9AB8F3' 用,分割) + + public boolean isIsfinder() { + return isfinder; + } + + public void setIsfinder(boolean isfinder) { + this.isfinder = isfinder; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + + sb.append(""); + sb.append(""); + return sb; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/CkfinderTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/CkfinderTag.java new file mode 100644 index 00000000..3f234874 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/CkfinderTag.java @@ -0,0 +1,120 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.StringUtil; + +/** + * ckfinder标签 + * + * @author Alexander + * + */ +public class CkfinderTag extends TagSupport { + + private static final long serialVersionUID = 1L; + protected String name;// 属性名称 + protected String value;// 默认值 + protected String width;// 显示图片宽(上传类型为Images时) + protected String height;// 显示图片高(上传类型为Images时) + protected String buttonClass;// 按钮样式 + protected String buttonValue;// 按钮名称 + protected String uploadType;// 上传类型(Images,Files,Flash) + + public String getButtonValue() { + return buttonValue; + } + + public void setButtonValue(String buttonValue) { + this.buttonValue = buttonValue; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getWidth() { + return width; + } + + public void setWidth(String width) { + this.width = width; + } + + public String getHeight() { + return height; + } + + public void setHeight(String height) { + this.height = height; + } + + public String getButtonClass() { + return buttonClass; + } + + public void setButtonClass(String buttonClass) { + this.buttonClass = buttonClass; + } + + public String getUploadType() { + return uploadType; + } + + public void setUploadType(String uploadType) { + this.uploadType = uploadType; + } + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + if ("Images".equals(uploadType)) { + sb.append(""); + } else { + sb.append(""); + sb.append(""); + } + sb.append(""); + sb.append(""); + return sb; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ColorChangeTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ColorChangeTag.java new file mode 100644 index 00000000..7bc9277e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ColorChangeTag.java @@ -0,0 +1,35 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:改变HTML控件颜色 + * + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class ColorChangeTag extends TagSupport { + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + return sb; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ComboBoxTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ComboBoxTag.java new file mode 100644 index 00000000..45669bac --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ComboBoxTag.java @@ -0,0 +1,82 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.common.model.json.ComboBox; + + +/** + * + * 类描述:下拉选择框标签 + * + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class ComboBoxTag extends TagSupport { + protected String id;// ID + protected String text;// 显示文本 + protected String url;//远程数据 + protected String name;//控件名称 + protected Integer width;//宽度 + protected Integer listWidth;//下拉框宽度 + protected Integer listHeight;//下拉框高度 + protected boolean editable;//定义是否可以直接到文本域中键入文本 + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + ComboBox comboBox=new ComboBox(); + comboBox.setText(text); + comboBox.setId(id); + sb.append(""); + sb.append(" " + +""); + return sb; + } + public void setId(String id) { + this.id = id; + } + public void setText(String text) { + this.text = text; + } + public void setUrl(String url) { + this.url = url; + } + public void setName(String name) { + this.name = name; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ComboTreeTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ComboTreeTag.java new file mode 100644 index 00000000..f883c3f4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/ComboTreeTag.java @@ -0,0 +1,81 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:下拉树形菜单 + * + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class ComboTreeTag extends TagSupport { + protected String id;// ID + protected String url;// 远程数据 + protected String name;// 控件名称 + protected String width;// 宽度 + protected String value;// 控件值 + private boolean multiple=false;//是否多选 + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + width = (width == null) ? "140" : width; + sb.append(""); + sb.append(""); + return sb; + } + + public void setId(String id) { + this.id = id; + } + + public void setUrl(String url) { + this.url = url; + } + + public void setName(String name) { + this.name = name; + } + + public void setWidth(String width) { + this.width = width; + } + + public void setValue(String value) { + this.value = value; + } + public void setMultiple(boolean multiple) { + this.multiple = multiple; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridColumnTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridColumnTag.java new file mode 100644 index 00000000..5e41849d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridColumnTag.java @@ -0,0 +1,178 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:列表字段处理项目 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridColumnTag extends TagSupport { + private static final long serialVersionUID = 1L; + protected String title; + protected String field; + protected Integer width; + protected String rowspan; + protected String colspan; + protected String align; + protected boolean sortable=true; + protected boolean checkbox; + protected String formatter; + protected boolean hidden=true; + protected String replace; + protected String treefield; + protected boolean image; + protected boolean query=false; + private String queryMode = "single";//字段查询模式:single单字段查询;scope范围查询 + + //protected boolean autoLoadData = true; // 列表是否自动加载数据 + private boolean frozenColumn=false; // 是否是冰冻列 默认不是 + protected boolean bSearchable=true; + protected String url;//自定义链接 + protected String funname="openwindow";//自定义函数名称 + protected String arg;//自定义链接传入参数字段 + protected String dictionary; //数据字典组编码 + protected String extend; //扩展属性 + protected String style; //Td的CSS + protected String imageSize;//自定义图片显示大小 + protected String downloadName;//附件下载 + private boolean autocomplete = false;//自动完成 + private String extendParams;//扩展参数 + + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setColumn(title,field,width,rowspan,colspan,align,sortable,checkbox,formatter,hidden,replace,treefield,image,imageSize,query,url,funname,arg,queryMode, dictionary,frozenColumn,extend,style,downloadName,autocomplete,extendParams); + return EVAL_PAGE; + } + + public void setDownloadName(String downloadName) { + this.downloadName = downloadName; + } + + public void setImageSize(String imageSize) { + this.imageSize = imageSize; + } + + public void setArg(String arg) { + this.arg = arg; + } + + public void setUrl(String url) { + this.url = url; + } + + public void setFunname(String funname) { + this.funname = funname; + } + + public void setbSearchable(boolean bSearchable) { + this.bSearchable = bSearchable; + } + + public void setQuery(boolean query) { + this.query = query; + } + + public void setImage(boolean image) { + this.image = image; + } + + public void setTreefield(String treefield) { + this.treefield = treefield; + } + + public void setReplace(String replace) { + this.replace = replace; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setField(String field) { + this.field = field; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public void setRowspan(String rowspan) { + this.rowspan = rowspan; + } + + public void setColspan(String colspan) { + this.colspan = colspan; + } + + public void setAlign(String align) { + this.align = align; + } + + public void setSortable(boolean sortable) { + this.sortable = sortable; + } + + public void setCheckbox(boolean checkbox) { + this.checkbox = checkbox; + } + + public void setFormatter(String formatter) { + this.formatter = formatter; + } + + public void setHidden(boolean hidden) { + this.hidden = hidden; + } + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + + public void setDictionary(String dictionary) { + this.dictionary = dictionary; + } + public String getQueryMode() { + return queryMode; + } + + public void setQueryMode(String queryMode) { + this.queryMode = queryMode; + } + + public boolean isFrozenColumn() { + return frozenColumn; + } + + public void setFrozenColumn(boolean frozenColumn) { + this.frozenColumn = frozenColumn; + } + + public String getExtend() { + return extend; + } + + public void setExtend(String extend) { + this.extend = extend; + } + + public void setStyle(String style) { + this.style = style; + } + + public void setAutocomplete(boolean autocomplete) { + this.autocomplete = autocomplete; + } + + public void setExtendParams(String extendParams) { + this.extendParams = extendParams; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridConfOptTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridConfOptTag.java new file mode 100644 index 00000000..7054af59 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridConfOptTag.java @@ -0,0 +1,45 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:列表操作项处理标签 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridConfOptTag extends TagSupport { + protected String url; + protected String title; + private String message;//询问链接的提示语 + private String exp;//判断链接是否显示的表达式 + private String operationCode;//按钮的操作Code + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setConfUrl(url,title,message,exp,operationCode); + return EVAL_PAGE; + } + public void setExp(String exp) { + this.exp = exp; + } + public void setUrl(String url) { + this.url = url; + } + public void setTitle(String title) { + this.title = title; + } + public void setMessage(String message) { + this.message = message; + } + public void setOperationCode(String operationCode) { + this.operationCode = operationCode; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridDefOptTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridDefOptTag.java new file mode 100644 index 00000000..50903a5e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridDefOptTag.java @@ -0,0 +1,43 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:列表默认操作项标签 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridDefOptTag extends TagSupport { + protected String url; + protected String title; + private String exp;//判断链接是否显示的表达式 + private String operationCode;//按钮的操作Code + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setDefUrl(url, title, exp,operationCode); + return EVAL_PAGE; + } + + public void setExp(String exp) { + this.exp = exp; + } + public void setUrl(String url) { + this.url = url; + } + public void setTitle(String title) { + this.title = title; + } + public void setOperationCode(String operationCode) { + this.operationCode = operationCode; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridDelOptTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridDelOptTag.java new file mode 100644 index 00000000..184731b4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridDelOptTag.java @@ -0,0 +1,51 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:列表删除操作项标签 + * + * @author 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridDelOptTag extends TagSupport { + protected String url; + protected String title; + private String message;//询问链接的提示语 + private String exp;//判断链接是否显示的表达式 + private String funname;//自定义函数名称 + + private String operationCode;//按钮的操作Code + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setDelUrl(url, title, message, exp, funname,operationCode); + return EVAL_PAGE; + } + public void setFunname(String funname) { + this.funname = funname; + } + public void setExp(String exp) { + this.exp = exp; + } + public void setUrl(String url) { + this.url = url; + } + public void setTitle(String title) { + this.title = title; + } + public void setMessage(String message) { + this.message = message; + } + public void setOperationCode(String operationCode) { + this.operationCode = operationCode; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridFunOptTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridFunOptTag.java new file mode 100644 index 00000000..24b64212 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridFunOptTag.java @@ -0,0 +1,42 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:列表自定义函数操作项处理标签 + * + @author 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridFunOptTag extends TagSupport { + protected String title; + private String exp;//判断链接是否显示的表达式 + private String funname;//自定义函数名称 + private String operationCode;//按钮的操作Code + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setFunUrl(title,exp,funname,operationCode); + return EVAL_PAGE; + } + public void setFunname(String funname) { + this.funname = funname; + } + public void setExp(String exp) { + this.exp = exp; + } + public void setTitle(String title) { + this.title = title; + } + public void setOperationCode(String operationCode) { + this.operationCode = operationCode; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridOpenOptTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridOpenOptTag.java new file mode 100644 index 00000000..054bbc13 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridOpenOptTag.java @@ -0,0 +1,56 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:列表弹出窗操作项处理标签 + * + @author 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridOpenOptTag extends TagSupport { + protected String url;//弹出页面地址 + protected String width="100%";//弹出窗口宽度 + protected String height="100%";//弹出窗口高度 + protected String title;//链接标题 + private String exp;//判断链接是否显示的表达式 + private String operationCode;//按钮的操作Code + + private String openModel = "OpenWin"; //弹出方式 + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setOpenUrl(url,title,width,height,exp,operationCode,openModel); + return EVAL_PAGE; + } + public void setWidth(String width) { + this.width = width; + } + public void setHeight(String height) { + this.height = height; + } + public void setExp(String exp) { + this.exp = exp; + } + + public void setUrl(String url) { + this.url = url; + } + public void setTitle(String title) { + this.title = title; + } + public void setOperationCode(String operationCode) { + this.operationCode = operationCode; + } + public void setOpenModel(String openModel) { + this.openModel = openModel; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridTag.java new file mode 100644 index 00000000..4c52b174 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridTag.java @@ -0,0 +1,1242 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.service.SystemService; + +import net.sf.json.JSONObject; + +import org.apache.commons.lang.StringUtils; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.ApplicationContextUtil; +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.jeecgframework.tag.vo.easyui.ColumnValue; +import org.jeecgframework.tag.vo.easyui.DataGridColumn; +import org.jeecgframework.tag.vo.easyui.DataGridUrl; +import org.jeecgframework.tag.vo.easyui.OptTypeDirection; +import org.springframework.beans.factory.annotation.Autowired; + + +/** + * + * 类描述:DATAGRID标签处理类 + * + @author 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +@SuppressWarnings({"serial","rawtypes","unchecked","static-access"}) +public class DataGridTag extends TagSupport { + protected String fields = "";// 显示字段 + protected String searchFields = "";// 查询字段 Author:qiulu Date:20130618 for:添加对区间查询的支持 + protected String name;// 表格标示 + protected String title;// 表格标示 + protected String idField="id";// 主键字段 + protected boolean treegrid = false;// 是否是树形列表 + protected List urlList = new ArrayList();// 列表操作显示 + protected List toolBarList = new ArrayList();// 工具条列表 + protected List columnList = new ArrayList();// 列表操作显示 + protected List columnValueList = new ArrayList();// 值替换集合 + protected List columnStyleList = new ArrayList();// 颜色替换集合 + public Map map;// 封装查询条件 + private String actionUrl;// 分页提交路径 + public int allCount; + public int curPageNo; + public int pageSize = 10; + public boolean pagination = true;// 是否显示分页 + private String width; + private String height; + private boolean checkbox = false;// 是否显示复选框 + private boolean showPageList = true;// 定义是否显示页面列表 + private boolean openFirstNode = false;//是不是展开第一个节点 + private boolean fit = true;// 是否允许表格自动缩放,以适应父容器 + private boolean fitColumns = true;// 当为true时,自动展开/合同列的大小,以适应的宽度,防止横向滚动. + private String sortName;//定义的列进行排序 + private String sortOrder = "asc";//定义列的排序顺序,只能是"递增"或"降序". + private boolean showRefresh = true;// 定义是否显示刷新按钮 + private boolean showText = true;// 定义是否显示刷新按钮 + private String style = "easyui";// 列表样式easyui,datatables + private String onLoadSuccess;// 数据加载完成调用方法 + private String onClick;// 单击事件调用方法 + private String onDblClick;// 双击事件调用方法 + private String queryMode = "single";//查询模式 + private String entityName;//对应的实体对象 + private String rowStyler;//rowStyler函数 + private String extendParams;//扩展参数,easyui有的,但是jeecg没有的参数进行扩展 + private boolean autoLoadData=true; // 列表是否自动加载数据 + //private boolean frozenColumn=false; // 是否是冰冻列 默认不是 + //json转换中的系统保留字 + protected static Map syscode = new HashMap(); + static{ + syscode.put("class", "clazz"); + } + + @Autowired + private static SystemService systemService; + + public void setOnLoadSuccess(String onLoadSuccess) { + this.onLoadSuccess = onLoadSuccess; + } + + public void setOnClick(String onClick) { + this.onClick = onClick; + } + + public void setOnDblClick(String onDblClick) { + this.onDblClick = onDblClick; + } + + public void setShowText(boolean showText) { + this.showText = showText; + } + + public void setPagination(boolean pagination) { + this.pagination = pagination; + } + + public void setCheckbox(boolean checkbox) { + this.checkbox = checkbox; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public void setTreegrid(boolean treegrid) { + this.treegrid = treegrid; + } + + public void setWidth(String width) { + this.width = width; + } + + public void setHeight(String height) { + this.height = height; + } + + public void setIdField(String idField) { + this.idField = idField; + } + + public void setActionUrl(String actionUrl) { + this.actionUrl = actionUrl; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setName(String name) { + this.name = name; + } + + public void setFit(boolean fit) { + this.fit = fit; + } + + public void setShowPageList(boolean showPageList) { + this.showPageList = showPageList; + } + + public void setShowRefresh(boolean showRefresh) { + this.showRefresh = showRefresh; + } + /** + * 设置询问操作URL + */ + public void setConfUrl(String url, String title, String message, String exp,String operationCode) { + DataGridUrl dataGridUrl = new DataGridUrl(); + dataGridUrl.setTitle(title); + dataGridUrl.setUrl(url); + dataGridUrl.setType(OptTypeDirection.Confirm); + dataGridUrl.setMessage(message); + dataGridUrl.setExp(exp); + installOperationCode(dataGridUrl, operationCode,urlList); + } + + /** + * 设置删除操作URL + */ + public void setDelUrl(String url, String title, String message, String exp, String funname,String operationCode) { + DataGridUrl dataGridUrl = new DataGridUrl(); + dataGridUrl.setTitle(title); + dataGridUrl.setUrl(url); + dataGridUrl.setType(OptTypeDirection.Del); + dataGridUrl.setMessage(message); + dataGridUrl.setExp(exp); + dataGridUrl.setFunname(funname); + installOperationCode(dataGridUrl, operationCode,urlList); + } + /** + * 设置默认操作URL + */ + public void setDefUrl(String url, String title, String exp,String operationCode) { + DataGridUrl dataGridUrl = new DataGridUrl(); + dataGridUrl.setTitle(title); + dataGridUrl.setUrl(url); + dataGridUrl.setType(OptTypeDirection.Deff); + dataGridUrl.setExp(exp); + installOperationCode(dataGridUrl, operationCode,urlList); + + } + /** + * 设置工具条 + * @param height2 + * @param width2 + */ + public void setToolbar(String url, String title, String icon, String exp,String onclick, String funname,String operationCode, String width2, String height2) { + DataGridUrl dataGridUrl = new DataGridUrl(); + dataGridUrl.setTitle(title); + dataGridUrl.setUrl(url); + dataGridUrl.setType(OptTypeDirection.ToolBar); + dataGridUrl.setIcon(icon); + dataGridUrl.setOnclick(onclick); + dataGridUrl.setExp(exp); + dataGridUrl.setFunname(funname); + dataGridUrl.setWidth(String.valueOf(width2)); + dataGridUrl.setHeight(String.valueOf(height2)); + installOperationCode(dataGridUrl, operationCode,toolBarList); + + } + + /** + * 设置自定义函数操作URL + */ + public void setFunUrl(String title, String exp, String funname,String operationCode) { + DataGridUrl dataGridUrl = new DataGridUrl(); + dataGridUrl.setTitle(title); + dataGridUrl.setType(OptTypeDirection.Fun); + dataGridUrl.setExp(exp); + dataGridUrl.setFunname(funname); + installOperationCode(dataGridUrl, operationCode,urlList); + + } + + /** + * 设置自定义函数操作URL + */ + public void setOpenUrl(String url, String title, String width, String height, String exp,String operationCode, String openModel) { + DataGridUrl dataGridUrl = new DataGridUrl(); + dataGridUrl.setTitle(title); + dataGridUrl.setUrl(url); + dataGridUrl.setWidth(width); + dataGridUrl.setHeight(height); + dataGridUrl.setType(OptTypeDirection.valueOf(openModel)); + dataGridUrl.setExp(exp); + installOperationCode(dataGridUrl, operationCode,urlList); + + } + + /** + * + * Summary: setColumn(设置字段) + * + * @param name + * @param text + * @param value + */ + public void setColumn(String title, String field, Integer width, String rowspan, + String colspan, String align, boolean sortable, boolean checkbox, + String formatter, boolean hidden, String replace, + String treefield, boolean image,String imageSize, + boolean query, String url, String funname, + String arg,String queryMode, String dictionary, + boolean frozenColumn,String extend, + String style,String downloadName,boolean isAuto,String extendParams) { + DataGridColumn dataGridColumn = new DataGridColumn(); + dataGridColumn.setAlign(align); + dataGridColumn.setCheckbox(checkbox); + dataGridColumn.setColspan(colspan); + dataGridColumn.setField(field); + dataGridColumn.setFormatter(formatter); + dataGridColumn.setHidden(hidden); + dataGridColumn.setRowspan(rowspan); + dataGridColumn.setSortable(sortable); + dataGridColumn.setTitle(title); + dataGridColumn.setWidth(width); + dataGridColumn.setTreefield(treefield); + dataGridColumn.setImage(image); + dataGridColumn.setImageSize(imageSize); + dataGridColumn.setReplace(replace); + dataGridColumn.setQuery(query); + dataGridColumn.setUrl(url); + dataGridColumn.setFunname(funname); + dataGridColumn.setArg(arg); + dataGridColumn.setQueryMode(queryMode); + dataGridColumn.setDictionary(dictionary); + dataGridColumn.setFrozenColumn(frozenColumn); + dataGridColumn.setExtend(extend); + dataGridColumn.setStyle(style); + dataGridColumn.setDownloadName(downloadName); + dataGridColumn.setAutocomplete(isAuto); + dataGridColumn.setExtendParams(extendParams); + columnList.add(dataGridColumn); + if (field != "opt") { + fields += field + ","; + if ("group".equals(queryMode)) { + searchFields += field + "," + field + "_begin," + field + "_end,"; + } else { + searchFields += field + ","; + } + } + if (replace != null) { + String[] test = replace.split(","); + String text = ""; + String value = ""; + for (String string : test) { + text += string.substring(0, string.indexOf("_")) + ","; + value += string.substring(string.indexOf("_") + 1) + ","; + } + setColumn(field, text, value); + + } + if (!StringUtils.isBlank(dictionary)) { + if(dictionary.contains(",")){ + String[] dic = dictionary.split(","); + String text = ""; + String value = ""; + String sql = "select " + dic[1] + " as field," + dic[2] + + " as text from " + dic[0]; + systemService = ApplicationContextUtil.getContext().getBean( + SystemService.class); + List> list = systemService.findForJdbc(sql); + for (Map map : list){ + text += map.get("text") + ","; + value += map.get("field") + ","; + } + if(list.size()>0) + setColumn(field, text, value); + }else{ + String text = ""; + String value = ""; + List typeList = TSTypegroup.allTypes.get(dictionary.toLowerCase()); + if (typeList != null && !typeList.isEmpty()) { + for (TSType type : typeList) { + text += type.getTypename() + ","; + value += type.getTypecode() + ","; + } + setColumn(field, text, value); + } + } + } + if(StringUtil.isNotEmpty(style)){ + String[] temp = style.split(","); + String text = ""; + String value = ""; + if(temp.length == 1&&temp[0].indexOf("_")==-1){ + text = temp[0]; + }else{ + for (String string : temp) { + text += string.substring(0, string.indexOf("_")) + ","; + value += string.substring(string.indexOf("_") + 1) + ","; + } + } + setStyleColumn(field, text, value); + } + } + + /** + * 设置 颜色替换值 + * @param field + * @param text + * @param value + */ + private void setStyleColumn(String field, String text, String value) { + ColumnValue columnValue = new ColumnValue(); + columnValue.setName(field); + columnValue.setText(text); + columnValue.setValue(value); + columnStyleList.add(columnValue); + } + + /** + * + * Summary: setColumn(设置字段替换值) + * + * @param name + * @param text + * @param value + */ + public void setColumn(String name, String text, String value) { + ColumnValue columnValue = new ColumnValue(); + columnValue.setName(name); + columnValue.setText(text); + columnValue.setValue(value); + columnValueList.add(columnValue); + } + + public int doStartTag() throws JspTagException { + // 清空资源 + urlList.clear(); + toolBarList.clear(); + columnValueList.clear(); + columnStyleList.clear(); + columnList.clear(); + fields = ""; + searchFields = ""; + return EVAL_PAGE; + } + + + public int doEndTag() throws JspException { + try { + JspWriter out = this.pageContext.getOut(); + if (style.equals("easyui")) { + out.print(end().toString()); + } else { + out.print(datatables().toString()); + out.flush(); + } + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + /** + * datatables构造方法 + * + * @return + */ + public StringBuffer datatables() { + StringBuffer sb = new StringBuffer(); + sb.append(""); + sb.append("
"); + return sb; + + } + + public void setStyle(String style) { + this.style = style; + } + + /** + * easyui构造方法 + * + * @return + */ + public StringBuffer end() { + String grid = ""; + StringBuffer sb = new StringBuffer(); + width = (width == null) ? "auto" : width; + height = (height == null) ? "auto" : height; + sb.append(""); + sb.append("
"); + sb.append("
"); + if(hasQueryColum(columnList)){ + sb.append("
"); + //如果表单是组合查询 + if("group".equals(getQueryMode())){ + for (DataGridColumn col : columnList) { + if (col.isQuery()) { + sb.append(""); + sb.append(""+col.getTitle()+":"); + if("single".equals(col.getQueryMode())){ + if(!StringUtil.isEmpty(col.getReplace())){ + sb.append(""); + }else if(!StringUtil.isEmpty(col.getDictionary())){ + if(col.getDictionary().contains(",")){ + String[] dic = col.getDictionary().split(","); + String sql = "select " + dic[1] + " as field," + dic[2] + + " as text from " + dic[0]; + systemService = ApplicationContextUtil.getContext().getBean( + SystemService.class); + List> list = systemService.findForJdbc(sql); + sb.append(""); + }else{ + Map> typedatas = TSTypegroup.allTypes; + List types = typedatas.get(col.getDictionary().toLowerCase()); + sb.append(""); + } + }else if(col.isAutocomplete()){ + sb.append(getAutoSpan(col.getField().replaceAll("_","\\."),extendAttribute(col.getExtend()))); + }else{ + sb.append(""); + } + }else if("group".equals(col.getQueryMode())){ + sb.append(""); + sb.append("~"); + sb.append(""); + } + sb.append(""); + } + } + } + sb.append("
"); + } + if(toolBarList.size()==0 && !hasQueryColum(columnList)){ + sb.append("
"); + }else{ + sb.append("
"); + } + sb.append(""); + if(toolBarList.size()>0) + { + for (DataGridUrl toolBar : toolBarList) { + sb.append(""+toolBar.getTitle()+""); + } + } + sb.append(""); + if("group".equals(getQueryMode()) && hasQueryColum(columnList)){//如果表单是组合查询 + sb.append(""); + sb.append("查询"); + sb.append("重置"); + sb.append(""); + }else if("single".equals(getQueryMode())&& hasQueryColum(columnList)){//如果表单是单查询 + sb.append(""); + sb.append(""); + sb.append("
"); + for (DataGridColumn col : columnList) { + if (col.isQuery()) { + sb.append("
"+col.getTitle()+"
"); + } + } + sb.append("
"); + sb.append("
"); + } + sb.append("
"); + return sb; + } + /** + * 生成扩展属性 + * @param field + * @return + */ + private String extendAttribute(String field) { + if(StringUtil.isEmpty(field)){ + return ""; + } + field = dealSyscode(field,1); + StringBuilder re = new StringBuilder(); + try{ + JSONObject obj = JSONObject.fromObject(field); + Iterator it = obj.keys(); + while(it.hasNext()){ + String key = String.valueOf(it.next()); + JSONObject nextObj =((JSONObject)obj.get(key)); + Iterator itvalue =nextObj.keys(); + re.append(key+"="+"\""); + if(nextObj.size()<=1){ + String onlykey = String.valueOf(itvalue.next()); + if("value".equals(onlykey)){ + re.append(nextObj.get(onlykey)+""); + }else{ + re.append(onlykey+":"+nextObj.get(onlykey)+""); + } + }else{ + while(itvalue.hasNext()){ + String multkey = String.valueOf(itvalue.next()); + String multvalue = nextObj.getString(multkey); + re.append(multkey+":"+multvalue+","); + } + re.deleteCharAt(re.length()-1); + } + re.append("\" "); + } + }catch (Exception e) { + e.printStackTrace(); + return ""; + } + return dealSyscode(re.toString(), 2); + } + /** + * 处理否含有json转换中的保留字 + * @param field + * @param flag 1:转换 2:还原 + * @return + */ + private String dealSyscode(String field,int flag) { + String change = field; + Iterator it = syscode.keySet().iterator(); + while(it.hasNext()){ + String key = String.valueOf(it.next()); + String value = String.valueOf(syscode.get(key)); + if(flag==1){ + change = field.replaceAll(key, value); + }else if(flag==2){ + change = field.replaceAll(value, key); + } + } + return change; + } + /** + * 判断是否存在查询字段 + * @return hasQuery true表示有查询字段,false表示没有 + */ + protected boolean hasQueryColum(List columnList ) { + boolean hasQuery = false; + for (DataGridColumn col : columnList) { + if(col.isQuery()){ + hasQuery = true; + } + } + return hasQuery; + } + /** + * 拼装操作地址 + * + * @param sb + */ + protected void getOptUrl(StringBuffer sb) { + //注:操作列表会带入合计列中去,故加此判断 + sb.append("if(!rec.id){return '';}"); + List list = urlList; + sb.append("var href='';"); + for (DataGridUrl dataGridUrl : list) { + String url = dataGridUrl.getUrl(); + MessageFormat formatter = new MessageFormat(""); + if (dataGridUrl.getValue() != null) { + String[] testvalue = dataGridUrl.getValue().split(","); + List value = new ArrayList(); + for (String string : testvalue) { + value.add("\"+rec." + string + " +\""); + } + url = formatter.format(url, value.toArray()); + } + if (url != null && dataGridUrl.getValue() == null) { + + url = formatUrl(url); + } + String exp = dataGridUrl.getExp();// 判断显示表达式 + if (StringUtil.isNotEmpty(exp)) { + String[] ShowbyFields = exp.split("&&"); + for (String ShowbyField : ShowbyFields) { + int beginIndex = ShowbyField.indexOf("#"); + int endIndex = ShowbyField.lastIndexOf("#"); + String exptype = ShowbyField.substring(beginIndex + 1, endIndex);// 表达式类型 + String field = ShowbyField.substring(0, beginIndex);// 判断显示依据字段 + String[] values = ShowbyField.substring(endIndex + 1, ShowbyField.length()).split(",");// 传入字段值 + String value = ""; + for (int i = 0; i < values.length; i++) { + value += "'" + "" + values[i] + "" + "'"; + if (i < values.length - 1) { + value += ","; + } + } + if ("eq".equals(exptype)) { + sb.append("if($.inArray(rec." + field + ",[" + value + "])>=0){"); + } + if ("ne".equals(exptype)) { + sb.append("if($.inArray(rec." + field + ",[" + value + "])<0){"); + } + if ("empty".equals(exptype) && value.equals("'true'")) { + sb.append("if(rec." + field + "==''){"); + } + if ("empty".equals(exptype) && value.equals("'false'")) { + sb.append("if(rec." + field + "!=''){"); + } + } + } + + if (OptTypeDirection.Confirm.equals(dataGridUrl.getType())) { + sb.append("href+=\"[ \";"); + } + if (OptTypeDirection.Del.equals(dataGridUrl.getType())) { + sb.append("href+=\"[\";"); + } + if (OptTypeDirection.Fun.equals(dataGridUrl.getType())) { + String name = TagUtil.getFunction(dataGridUrl.getFunname()); + String parmars = TagUtil.getFunParams(dataGridUrl.getFunname()); + sb.append("href+=\"[\";"); + } + if (OptTypeDirection.OpenWin.equals(dataGridUrl.getType())) { + sb.append("href+=\"[\";"); + } //update-end--Author:liuht Date:20130228 for:弹出窗口设置参数不生效 + if (OptTypeDirection.Deff.equals(dataGridUrl.getType())) { + sb.append("href+=\"[\";"); + } + if (OptTypeDirection.OpenTab.equals(dataGridUrl.getType())) { + sb.append("href+=\"[\";"); + } + sb.append("href+=\"" + dataGridUrl.getTitle() + "]\";"); + + if (StringUtil.isNotEmpty(exp)) { + for (int i = 0; i < exp.split("&&").length; i++) { + sb.append("}"); + } + + } + } + sb.append("return href;"); + } + + /** + * 列自定义函数 + * + * @param sb + * @param column + */ + protected void getFun(StringBuffer sb, DataGridColumn column) { + String url = column.getUrl(); + url = formatUrl(url); + sb.append("var href=\"\";"); + sb.append("return href+value+\'\';"); + + } + + /** + * 格式化URL + * + * @return + */ + protected String formatUrl(String url) { + MessageFormat formatter = new MessageFormat(""); + String parurlvalue = ""; + if (url.indexOf("&") >= 0) { + String beforeurl = url.substring(0, url.indexOf("&"));// 截取请求地址 + String parurl = url.substring(url.indexOf("&") + 1, url.length());// 截取参数 + String[] pras = parurl.split("&"); + List value = new ArrayList(); + int j = 0; + for (int i = 0; i < pras.length; i++) { + if (pras[i].indexOf("{") >= 0 || pras[i].indexOf("#") >= 0) { + String field = pras[i].substring(pras[i].indexOf("{") + 1, pras[i].lastIndexOf("}")); + parurlvalue += "&" + pras[i].replace("{" + field + "}", "{" + j + "}"); + value.add("\"+rec." + field + " +\""); + j++; + } else { + parurlvalue += "&" + pras[i]; + } + } + url = formatter.format(beforeurl + parurlvalue, value.toArray()); + } + return url; + + } + /** + * 拼接字段 普通列 + * + * @param sb + * + */ + protected void getField(StringBuffer sb){ + getField( sb,1); + } + /** + * 拼接字段 + * + * @param sb + * @frozen 0 冰冻列 1 普通列 + */ + protected void getField(StringBuffer sb,int frozen) { + // 复选框 + if (checkbox&&frozen==0) { + sb.append("{field:\'ck\',checkbox:\'true\'},"); + } + int i = 0; + for (DataGridColumn column : columnList) { + i++; + if((column.isFrozenColumn()&&frozen==0)||(!column.isFrozenColumn()&&frozen==1)){ + String field; + if (treegrid) { + field = column.getTreefield(); + } else { + field = column.getField(); + } + sb.append("{field:\'" + field + "\',title:\'" + column.getTitle() + "\'"); + if(column.getWidth() != null){ + sb.append(",width:"+column.getWidth()); + } + if (column.getAlign()!=null){ + sb.append(",align:\'" + column.getAlign() + "\'"); + } + if(StringUtils.isNotEmpty(column.getExtendParams())){ + sb.append(","+column.getExtendParams().substring(0, + column.getExtendParams().length()-1)); + } + // 隐藏字段 + if (!column.isHidden()) { + sb.append(",hidden:true"); + } + if (!treegrid) { + // 字段排序 + if ((column.isSortable()) && (field.indexOf("_") <= 0 && field != "opt")) { + sb.append(",sortable:" + column.isSortable() + ""); + } + } + // 显示图片 + if (column.isImage()) { + sb.append(",formatter:function(value,rec,index){"); + sb.append(" return '';}"); + } + // 自定义显示图片 + if (column.getImageSize() != null) { + String[] tld = column.getImageSize().split(","); + sb.append(",formatter:function(value,rec,index){"); + sb.append(" return '';}"); + tld = null; + } + if(column.getDownloadName() != null){ + sb.append(",formatter:function(value,rec,index){"); + sb.append(" return '" + + column.getDownloadName() + "';}"); + } + // 自定义链接 + if (column.getUrl() != null) { + sb.append(",formatter:function(value,rec,index){"); + this.getFun(sb, column); + sb.append("}"); + } + if(column.getFormatter()!=null) + { + sb.append(",formatter:function(value,rec,index){"); + sb.append(" return new Date().format('"+column.getFormatter()+"',value);}"); + } + // 加入操作 + if (column.getField().equals("opt")) { + sb.append(",formatter:function(value,rec,index){"); + // sb.append("return \""); + this.getOptUrl(sb); + sb.append("}"); + } + // 值替換 + if (columnValueList.size() > 0 && !column.getField().equals("opt")) { + String testString = ""; + for (ColumnValue columnValue : columnValueList) { + if (columnValue.getName().equals(column.getField())) { + String[] value = columnValue.getValue().split(","); + String[] text = columnValue.getText().split(","); + sb.append(",formatter:function(value,rec,index){"); + for (int j = 0; j < value.length; j++) { + testString += "if(value=='" + value[j] + "'){return \'" + text[j] + "\'}"; + } + sb.append(testString); + sb.append("else{return value}"); + sb.append("}"); + } + } + + } + // 背景设置 + if (columnStyleList.size() > 0 && !column.getField().equals("opt")) { + String testString = ""; + for (ColumnValue columnValue : columnStyleList) { + if (columnValue.getName().equals(column.getField())) { + String[] value = columnValue.getValue().split(","); + String[] text = columnValue.getText().split(","); + sb.append(",styler:function(value,rec,index){"); + if((value.length == 0||StringUtils.isEmpty(value[0]))&&text.length==1){ + if(text[0].indexOf("(")>-1){ + testString = " return \'" + text[0].replace("(", "(value,rec,index") + "\'"; + }else{ + testString = " return \'" + text[0] + "\'"; + } + }else{ + for (int j = 0; j < value.length; j++) { + testString += "if(value=='" + value[j] + "'){return \'" + text[j] + "\'}"; + } + } + sb.append(testString); + sb.append("}"); + } + } + + } + sb.append("}"); + // 去除末尾, + if (i < columnList.size()) { + sb.append(","); + } + } + } + } + /** + * 设置分页条信息 + * + * @param sb + */ + protected void setPager(StringBuffer sb, String grid) { + sb.append("$(\'#" + name + "\')." + grid + "(\'getPager\').pagination({"); + sb.append("beforePageText:\'\'," + "afterPageText:\'/{pages}\',"); + if (showText) { + sb.append("displayMsg:\'{from}-{to}共{total}条\',"); + } else { + sb.append("displayMsg:\'\',"); + } + if (showPageList == true) { + sb.append("showPageList:true,"); + } else { + sb.append("showPageList:false,"); + } + sb.append("showRefresh:" + showRefresh + ""); + sb.append("});");// end getPager + sb.append("$(\'#" + name + "\')." + grid + "(\'getPager\').pagination({"); + sb.append("onBeforeRefresh:function(pageNumber, pageSize){ $(this).pagination(\'loading\');$(this).pagination(\'loaded\'); }"); + sb.append("});"); + } + //列表查询框函数 + protected void searchboxFun(StringBuffer sb,String grid) + { + sb.append("function "+name+"searchbox(value,name){"); + sb.append("var queryParams=$(\'#" + name + "\').datagrid('options').queryParams;"); + sb.append("queryParams[name]=value;queryParams.searchfield=name;$(\'#" + name + "\')." + grid + "(\'reload\');}"); + sb.append("$(\'#"+name+"searchbox\').searchbox({"); + sb.append("searcher:function(value,name){"); + sb.append(""+name+"searchbox(value,name);"); + sb.append("},"); + sb.append("menu:\'#"+name+"mm\',"); + sb.append("prompt:\'请输入查询关键字\'"); + sb.append("});"); + } + + public String getNoAuthOperButton(){ + List nolist = (List) super.pageContext.getRequest().getAttribute("noauto_operationCodes"); + StringBuffer sb = new StringBuffer(); + if(ResourceUtil.getSessionUserName().getUserName().equals("admin")|| !Globals.BUTTON_AUTHORITY_CHECK){ + }else{ + if(nolist!=null&&nolist.size()>0){ + for(String s:nolist){ + sb.append("$('#" + name + "tb\').find(\""+s.replaceAll(" ", "")+"\").hide();"); + } + } + } + org.jeecgframework.core.util.LogUtil.info("----getNoAuthOperButton-------"+sb.toString()); + return sb.toString(); + } + + + /** + * 描述:组装菜单按钮操作权限 + * dateGridUrl:url + * operationCode:操作码 + * optList: 操作列表 + * @version 1.0 + */ + private void installOperationCode(DataGridUrl dataGridUrl,String operationCode,List optList){ + if(ResourceUtil.getSessionUserName().getUserName().equals("admin")|| !Globals.BUTTON_AUTHORITY_CHECK){ + optList.add(dataGridUrl); + }else if(!oConvertUtils.isEmpty(operationCode)){ + Set operationCodes = (Set) super.pageContext.getRequest().getAttribute("operationCodes"); + if (null!=operationCodes) { + for (String MyoperationCode : operationCodes) { + if(MyoperationCode.equals(operationCode)){ + optList.add(dataGridUrl); + } + } + } + }else { + optList.add(dataGridUrl); + } + } + + /** + * 获取自动补全的panel + * @param filed + * @author JueYue + * @return + */ + private String getAutoSpan(String filed,String extend){ + String id = filed.replaceAll("\\.","_"); + StringBuffer nsb = new StringBuffer(); + nsb.append("") + .append(""); + return nsb.toString(); + } + /** + * 获取实体类名称,没有这根据规则设置 + * @return + */ + private String getEntityName() { + if(StringUtils.isEmpty(entityName)){ + entityName = actionUrl.substring(0,actionUrl.indexOf("Controller")); + entityName = (entityName.charAt(0)+"").toUpperCase()+entityName.substring(1)+"Entity"; + } + return entityName; + } + + public boolean isFitColumns() { + return fitColumns; + } + + public void setFitColumns(boolean fitColumns) { + this.fitColumns = fitColumns; + } + + public String getSortName() { + return sortName; + } + + public void setSortName(String sortName) { + this.sortName = sortName; + } + + public String getSortOrder() { + return sortOrder; + } + + public void setSortOrder(String sortOrder) { + this.sortOrder = sortOrder; + } + public String getQueryMode() { + return queryMode; + } + + public void setQueryMode(String queryMode) { + this.queryMode = queryMode; + } + + public boolean isAutoLoadData() { + return autoLoadData; + } + + public void setAutoLoadData(boolean autoLoadData) { + this.autoLoadData = autoLoadData; + } + + public void setOpenFirstNode(boolean openFirstNode) { + this.openFirstNode = openFirstNode; + } + + public void setEntityName(String entityName) { + this.entityName = entityName; + } + + public void setRowStyler(String rowStyler) { + this.rowStyler = rowStyler; + } + + public void setExtendParams(String extendParams) { + this.extendParams = extendParams; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridToolBarTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridToolBarTag.java new file mode 100644 index 00000000..26d12f1d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DataGridToolBarTag.java @@ -0,0 +1,65 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * @author 张代浩 + * 类描述:列表工具条标签 + */ +public class DataGridToolBarTag extends TagSupport { + protected String url; + protected String title; + private String exp;//判断链接是否显示的表达式 + private String funname;//自定义函数名称 + private String icon;//图标 + private String onclick; + private String width; + private String height; + private String operationCode;//按钮的操作Code + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, DataGridTag.class); + DataGridTag parent = (DataGridTag) t; + parent.setToolbar(url, title, icon, exp,onclick, funname,operationCode,width,height); + return EVAL_PAGE; + } + public void setFunname(String funname) { + this.funname = funname; + } + public void setExp(String exp) { + this.exp = exp; + } + public void setUrl(String url) { + this.url = url; + } + public void setTitle(String title) { + this.title = title; + } + public void setIcon(String icon) { + this.icon = icon; + } + public void setOnclick(String onclick) { + this.onclick = onclick; + } + public void setOperationCode(String operationCode) { + this.operationCode = operationCode; + } + public String getWidth() { + return width; + } + public void setWidth(String width) { + this.width = width; + } + public String getHeight() { + return height; + } + public void setHeight(String height) { + this.height = height; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DictSelectTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DictSelectTag.java new file mode 100644 index 00000000..1c91f163 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/DictSelectTag.java @@ -0,0 +1,382 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.commons.lang.StringUtils; +import org.jeecgframework.core.util.ApplicationContextUtil; +import org.springframework.beans.factory.annotation.Autowired; + +import com.google.gson.Gson; + +/** + * + * 选择下拉框 + * + * @author: lianglaiyang + * @date: 日期:2013-04-18 + * @version 1.0 + */ +public class DictSelectTag extends TagSupport { + + private static final long serialVersionUID = 1; + private String typeGroupCode; // 数据字典类型 + private String field; // 选择表单的Name EAMPLE: + private String defaultVal; // 默认值 + private String divClass; // DIV样式 + private String labelClass; // Label样式 + private String title; // label显示值 + private boolean hasLabel = true; // 是否显示label + private String type;// 控件类型select|radio|checkbox + private String dictTable;// 自定义字典表 + private String dictField;// 自定义字典表的匹配字段-字典的编码值 + private String dictText;// 自定义字典表的显示文本-字典的显示值 + private String extendParams;//扩展参数 + + + @Autowired + private static SystemService systemService; + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + if (StringUtils.isBlank(divClass)) { + divClass = "form"; // 默认form样式 + } + if (StringUtils.isBlank(labelClass)) { + labelClass = "Validform_label"; // 默认label样式 + } + if (dictTable != null) { + List> list = queryDic(); + if ("radio".equals(type)) { + for (Map map : list) { + radio(map.get("text").toString(), map.get("field") + .toString(), sb); + } + } else if ("checkbox".equals(type)) { + for (Map map : list) { + checkbox(map.get("text").toString(), map.get("field") + .toString(), sb); + } + } else if("text".equals(type)){ + for (Map map : list) { + text(map.get("text").toString(), map.get("field") + .toString(), sb); + } + }else { + sb.append(""); + } + } else { + TSTypegroup typeGroup = TSTypegroup.allTypeGroups + .get(this.typeGroupCode.toLowerCase()); + List types = TSTypegroup.allTypes.get(this.typeGroupCode + .toLowerCase()); + if (hasLabel) { + sb.append("
"); + sb.append(""); + } + if ("radio".equals(type)) { + for (TSType type : types) { + radio(type.getTypename(), type.getTypecode(), sb); + } + } else if ("checkbox".equals(type)) { + for (TSType type : types) { + checkbox(type.getTypename(), type.getTypecode(), sb); + } + }else if ("text".equals(type)) { + for (TSType type : types) { + text(type.getTypename(), type.getTypecode(), sb); + } + } else { + sb.append(""); + } + if (hasLabel) { + sb.append("
"); + } + } + } + + return sb; + } + /** + * 文本框方法 + * @param name + * @param code + * @param sb + */ + private void text(String name, String code, StringBuffer sb) { + if (code.equals(this.defaultVal)) { + sb.append(""); + } else { + } + } + + + /** + * 单选框方法 + * + * @作者:Alexander + * + * @param name + * @param code + * @param sb + */ + private void radio(String name, String code, StringBuffer sb) { + if (code.equals(this.defaultVal)) { + sb.append(""); + } else { + sb.append(""); + } + sb.append(name); + } + + /** + * 复选框方法 + * + * @作者:Alexander + * + * @param name + * @param code + * @param sb + */ + private void checkbox(String name, String code, StringBuffer sb) { + String[] values = this.defaultVal.split(","); + Boolean checked = false; + for (int i = 0; i < values.length; i++) { + String value = values[i]; + if (code.equals(value)) { + checked = true; + break; + } + checked = false; + } + if(checked){ + sb.append(""); + } else { + sb.append(""); + } + sb.append(name); + } + + /** + * 选择框方法 + * + * @作者:Alexander + * + * @param name + * @param code + * @param sb + */ + private void select(String name, String code, StringBuffer sb) { + if (code.equals(this.defaultVal)) { + sb.append(" "); + } + + /** + * 查询自定义数据字典 + * + * @作者:Alexander + */ + private List> queryDic() { + String sql = "select " + dictField + " as field," + dictText + + " as text from " + dictTable; + systemService = ApplicationContextUtil.getContext().getBean( + SystemService.class); + List> list = systemService.findForJdbc(sql); + return list; + } + + public String getTypeGroupCode() { + return typeGroupCode; + } + + public void setTypeGroupCode(String typeGroupCode) { + this.typeGroupCode = typeGroupCode; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDefaultVal() { + return defaultVal; + } + + public void setDefaultVal(String defaultVal) { + this.defaultVal = defaultVal; + } + + public String getDivClass() { + return divClass; + } + + public void setDivClass(String divClass) { + this.divClass = divClass; + } + + public String getLabelClass() { + return labelClass; + } + + public void setLabelClass(String labelClass) { + this.labelClass = labelClass; + } + + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public boolean isHasLabel() { + return hasLabel; + } + + public void setHasLabel(boolean hasLabel) { + this.hasLabel = hasLabel; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDictTable() { + return dictTable; + } + + public void setDictTable(String dictTable) { + this.dictTable = dictTable; + } + + public String getDictField() { + return dictField; + } + + public void setDictField(String dictField) { + this.dictField = dictField; + } + + public String getDictText() { + return dictText; + } + + public void setDictText(String dictText) { + this.dictText = dictText; + } + public String getExtendParams() { + return extendParams; + } + + public void setExtendParams(String extendParams) { + this.extendParams = extendParams; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/FormValidationTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/FormValidationTag.java new file mode 100644 index 00000000..292e5265 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/FormValidationTag.java @@ -0,0 +1,254 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.StringUtil; + +/** + * + * @author 张代浩 + * + */ +public class FormValidationTag extends TagSupport { + protected String formid = "formobj";// 表单FORM ID + protected Boolean refresh = true; + protected String callback;// 回调函数 + protected String beforeSubmit;// 提交前处理函数 + protected String btnsub = "btn_sub";// 以ID为标记触发提交事件 + protected String btnreset = "btn_reset";// 以ID为标记触发提交事件 + protected String layout = "div";// 表单布局 + protected String usePlugin;// 外调插件 + protected boolean dialog = true;// 是否是弹出窗口模式 + protected String action;// 表单提交路径 + protected String tabtitle;// 表单选项卡 + protected String tiptype = "4";//校验方式 + + public void setTabtitle(String tabtitle) { + this.tabtitle = tabtitle; + } + + public void setDialog(boolean dialog) { + this.dialog = dialog; + } + + public void setBtnsub(String btnsub) { + this.btnsub = btnsub; + } + + public void setRefresh(Boolean refresh) { + this.refresh = refresh; + } + + public void setBtnreset(String btnreset) { + this.btnreset = btnreset; + } + + public void setFormid(String formid) { + this.formid = formid; + } + + public void setAction(String action) { + this.action = action; + } + + + public int doStartTag() throws JspException { + try { + JspWriter out = this.pageContext.getOut(); + StringBuffer sb = new StringBuffer(); + if ("div".equals(layout)) { + sb.append("
"); + sb.append("
"); + sb.append("
"); + } + sb.append("
"); + if ("btn_sub".equals(btnsub) && dialog) + sb.append(""); + out.print(sb.toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + + public int doEndTag() throws JspException { + try { + JspWriter out = this.pageContext.getOut(); + StringBuffer sb = new StringBuffer(); + if (layout.equals("div")) { + sb.append(""); + if (tabtitle != null) + sb.append(""); + } + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + if (usePlugin != null) { + if (usePlugin.indexOf("jqtransform") >= 0) { + sb.append(""); + sb.append(""); + } + if (usePlugin.indexOf("password") >= 0) { + sb.append(""); + } + } + sb.append(""); + sb.append(""); + sb.append("
"); + if ("div".equals(layout)) { + sb.append("
"); + if (tabtitle != null) { + String[] tabtitles = tabtitle.split(","); + sb.append("
"); + sb.append("
    "); + for (String string : tabtitles) { + sb.append("
  • "); + sb.append("" + string + ""); + sb.append("
  • "); + } + sb.append("
"); + sb.append("
"); + } + sb.append("
"); + } + out.print(sb.toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public void setUsePlugin(String usePlugin) { + this.usePlugin = usePlugin; + } + + public void setLayout(String layout) { + this.layout = layout; + } + + public void setBeforeSubmit(String beforeSubmit) { + this.beforeSubmit = beforeSubmit; + } + + public void setCallback(String callback) { + this.callback = callback; + } + + public String getTiptype() { + return tiptype; + } + + public void setTiptype(String tiptype) { + this.tiptype = tiptype; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/MenuTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/MenuTag.java new file mode 100644 index 00000000..3b35f4f7 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/MenuTag.java @@ -0,0 +1,88 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.web.system.pojo.base.TSFunction; + +import org.jeecgframework.core.util.ListtoMenu; + + +/** + * + * 类描述:菜单标签 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class MenuTag extends TagSupport { + private static final long serialVersionUID = 1L; + protected String style="easyui";//菜单样式 + protected List parentFun;//一级菜单 + protected List childFun;//二级菜单 + protected Map> menuFun;//菜单Map + + + public void setParentFun(List parentFun) { + this.parentFun = parentFun; + } + + public void setChildFun(List childFun) { + this.childFun = childFun; + } + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + if(style.equals("easyui")) + { sb.append("
"); + sb.append(ListtoMenu.getEasyuiMultistageTree(menuFun)); + sb.append("
"); + } + if(style.equals("bootstrap")) + { + sb.append(ListtoMenu.getBootMenu(parentFun, childFun)); + } + if(style.equals("json")) + { + sb.append(""); + } + if(style.equals("june_bootstrap")) + { + sb.append(ListtoMenu.getBootstrapMenu(menuFun)); + } + return sb; + } + public void setStyle(String style) { + this.style = style; + } + + public void setMenuFun(Map> menuFun) { + this.menuFun = menuFun; + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/PagerUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/PagerUtil.java new file mode 100644 index 00000000..144c256a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/PagerUtil.java @@ -0,0 +1,158 @@ +package org.jeecgframework.tag.core.easyui; + +import java.util.Map; + +/** + * + * @author 张代浩 + * + */ +public class PagerUtil { + private int curPageNO = 1; // 当前页 + private int rowsCount; // 记录行数 + private int pageCount; // 页数 + private String actionUrl;// 目标ACTION + private Map map;// 封装查询条件 + public PagerUtil(int curPageNo, int allCount, int pageSize, Map map,String actionUrl) { + this.curPageNO = curPageNo; + this.rowsCount = allCount; + this.map = map; + this.actionUrl=actionUrl; + this.pageCount = (int) Math.ceil((double) allCount / pageSize); + } + // 第一页 + public int first() { + return 1; + } + + // 最后一页 + public int last() { + return pageCount; + } + + // 上一页 + public int previous() { + return (curPageNO - 1 < 1) ? 1 : curPageNO - 1; + } + + // 下一页 + public int next() { + return (curPageNO + 1 > pageCount) ? pageCount : curPageNO + 1; + } + + // 第一页 + public boolean isFirst() { + return (curPageNO == 1) ? true : false; + } + + // 最后一页 + public boolean isLast() { + return (curPageNO == pageCount) ? true : false; + } + protected StringBuffer getStrByImage(StringBuffer sb) { + String join = getJoin(); + String conditions = getConditions(); + sb.append("" + "\n"); + sb.append(" " + rowsCount + "条 当前第" + curPageNO + "/" + pageCount + "页   "); + if (isFirst()) + sb.append("  "); + else { + sb.append(""); + sb.append(" "); + } + if (curPageNO - pageCount == 0 || pageCount == 0 || pageCount == 1) + sb.append("   "); + else { + sb.append(" "); + sb.append(" "); + } + + if (pageCount == 1 || pageCount == 0) { + sb.append("  转到: 页 "); + sb.append("   "); + } else { + sb.append("  转到: 页 "); + sb.append("  首页 "); + sb.append("上一页 "); + } + if (isLast() || rowsCount == 0) + sb.append("尾页 "); + else { + sb.append("下一页 "); + sb.append("尾页 "); + } + sb.append(" 共" + rowsCount + "条记录 "); + + str += " 转到"; + sb.append(str); + return sb; + } +/** + * Summary: + * getConditions(拼接组合查询条件) + * @return + */ + protected String getConditions() { + String conditions = ""; + if (map != null) { + + for (Map.Entry entry : map.entrySet()) { + conditions += "&" + entry.getKey() + "=" + entry.getValue(); + } + } + return conditions; + + } +/** + * + * Summary: + * getJoin(判断连接符) + * @return + */ + protected String getJoin() { + String join = ""; + if (actionUrl.indexOf("?") == -1) { + join = "?"; + } else { + join = "&"; + } + return join; + + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TabTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TabTag.java new file mode 100644 index 00000000..196f4f71 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TabTag.java @@ -0,0 +1,67 @@ +package org.jeecgframework.tag.core.easyui; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:选项卡选项标签 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class TabTag extends TagSupport { + private String href;//选项卡请求地址 + private String iframe;//选项卡iframe方法请求地址 + private String id;//选项卡唯一ID + private String title;//标题 + private String icon="icon-default";//图标 + private String width;//宽度 + private String heigth;//高度 + private boolean cache;//是否打开缓冲如为TRUE则切换选项卡会再次发送请求 + private String content; + private boolean closable=false;//是否带关闭按钮 + + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + Tag t = findAncestorWithClass(this, TabsTag.class); + TabsTag parent = (TabsTag) t; + parent.setTab( id, title,iframe, href, icon, cache, content, width, heigth,closable); + return EVAL_PAGE; + } + public void setHref(String href) { + this.href = href; + } + public void setId(String id) { + this.id = id; + } + public void setTitle(String title) { + this.title = title; + } + public void setIcon(String icon) { + this.icon = icon; + } + public void setWidth(String width) { + this.width = width; + } + public void setHeigth(String heigth) { + this.heigth = heigth; + } + public void setCache(boolean cache) { + this.cache = cache; + } + public void setContent(String content) { + this.content = content; + } + public void setClosable(boolean closable) { + this.closable = closable; + } + public void setIframe(String iframe) { + this.iframe = iframe; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TabsTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TabsTag.java new file mode 100644 index 00000000..0d4d7199 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TabsTag.java @@ -0,0 +1,188 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.jeecgframework.core.util.oConvertUtils; +import org.jeecgframework.tag.vo.easyui.Tab; + + +/** + * + * 类描述:选项卡标签 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class TabsTag extends TagSupport { + private String id;// 容器ID + private String width;// 宽度 + private String heigth;// 高度 + private boolean plain;// 简洁模式 + private boolean fit = true;// 铺满浏览器 + private boolean border;// 边框 + private String scrollIncrement;// 滚动增量 + private String scrollDuration;// 滚动时间 + private boolean tools;// 工具栏 + private boolean tabs = true;// 是否创建父容器 + private boolean iframe = true;// 是否是iframe方式 + private String tabPosition = "top";// 选项卡位置 + + public void setIframe(boolean iframe) { + this.iframe = iframe; + } + + public void setTabs(boolean tabs) { + this.tabs = tabs; + } + + public void setId(String id) { + this.id = id; + } + + public void setWidth(String width) { + this.width = width; + } + + public void setHeigth(String heigth) { + this.heigth = heigth; + } + + public void setPlain(boolean plain) { + this.plain = plain; + } + + public void setFit(boolean fit) { + this.fit = fit; + } + + public void setBorder(boolean border) { + this.border = border; + } + + public void setScrollIncrement(String scrollIncrement) { + this.scrollIncrement = scrollIncrement; + } + + public void setScrollDuration(String scrollDuration) { + this.scrollDuration = scrollDuration; + } + + public void setTools(boolean tools) { + this.tools = tools; + } + + public void setTabPosition(String tabPosition) { + this.tabPosition = tabPosition; + } + + public void setTabList(List tabList) { + this.tabList = tabList; + } + + private List tabList = new ArrayList(); + + public int doStartTag() throws JspTagException { + tabList.clear(); + return EVAL_PAGE; + } + + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + if (iframe) { + sb.append(""); + } + if (tabs) { + //增加width属性,fit属性之前写死,改为由页面设定,不填默认true + sb.append("
"); + if (!iframe) { + for (Tab tab : tabList) { + if (tab.getHref() != null) { + sb.append("
"); + } else { + sb.append("
"); + sb.append("\';"); + sb.append("
"); + } + + } + } + sb.append("
"); + + } + return sb; + } + + public void setTab(String id, String title,String iframe, String href, String iconCls, boolean cache, String content, String width, String heigth, boolean closable) { + Tab tab = new Tab(); + tab.setId(id); + tab.setTitle(title); + tab.setHref(href); + tab.setCache(cache); + tab.setIframe(iframe); + tab.setContent(content); + tab.setHeigth(heigth); + tab.setIcon(iconCls); + tab.setWidth(width); + tab.setClosable(closable); + tabList.add(tab); + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TagUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TagUtil.java new file mode 100644 index 00000000..61e4ef0a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/TagUtil.java @@ -0,0 +1,524 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; +import java.io.PrintWriter; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.system.pojo.base.TSRole; + +import net.sf.json.JSONObject; + +import org.codehaus.jackson.JsonGenerationException; +import org.codehaus.jackson.map.JsonMappingException; +import org.codehaus.jackson.map.ObjectMapper; +import org.jeecgframework.core.common.hibernate.qbc.PageList; +import org.jeecgframework.core.common.model.json.ComboBox; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.util.ReflectHelper; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.jeecgframework.tag.vo.datatable.DataTableReturn; +import org.jeecgframework.tag.vo.easyui.Autocomplete; + + +/** + * + * 类描述:标签工具类 + * + * 张代浩 + * @date: 日期:2012-12-28 时间:上午09:58:00 + * @version 1.0 + */ +public class TagUtil { + /** + * Summary: getFiled(获得实体Bean中所有属性) + * + * @param objClass + * @return + * @throws ClassNotFoundException + */ + public static Field[] getFiled(Class objClass) throws ClassNotFoundException { + Field[] field = null; + if (objClass != null) { + Class class1 = Class.forName(objClass.getName()); + field = class1.getDeclaredFields();// 这里便是获得实体Bean中所有属性的方法 + return field; + } else { + return field; + } + } + + /** + * + * 获取对象内对应字段的值 + * @param fields + */ + public static Object fieldNametoValues(String FiledName, Object o){ + Object value = ""; + String fieldName = ""; + String childFieldName = null; + ReflectHelper reflectHelper=new ReflectHelper(o); + if (FiledName.indexOf("_") == -1) { + if(FiledName.indexOf(".") == -1){ + fieldName = FiledName; + }else{ + fieldName = FiledName.substring(0, FiledName.indexOf("."));//外键字段引用名 + childFieldName = FiledName.substring(FiledName.indexOf(".") + 1);//外键字段名 + } + } else { + fieldName = FiledName.substring(0, FiledName.indexOf("_"));//外键字段引用名 + childFieldName = FiledName.substring(FiledName.indexOf("_") + 1);//外键字段名 + } + value = reflectHelper.getMethodValue(fieldName)==null?"":reflectHelper.getMethodValue(fieldName); + if (value !=""&&value != null && (FiledName.indexOf("_") != -1||FiledName.indexOf(".") != -1)) { + value = fieldNametoValues(childFieldName, value); + } + if(value != "" && value != null) { + value = value.toString().replaceAll("\r\n", ""); + } + return value; + } + + /** + * 对象转数组 + * @param fields + * @param o + * @param stack + * @return + * @throws Exception + */ + protected static Object[] field2Values(String[] fields, Object o) throws Exception { + Object[] values = new Object[fields.length]; + for (int i = 0; i < fields.length; i++) { + String fieldName = fields[i].toString(); + values[i] = fieldNametoValues(fieldName, o); + } + return values; + } + /** + * 循环LIST对象拼接EASYUI格式的JSON数据 + * @param fields + * @param total + * @param list + */ + private static String listtojson(String[] fields, int total, List list,String[] footers) throws Exception { + Object[] values = new Object[fields.length]; + String jsonTemp = "{\'total\':" + total + ",\'rows\':["; + for (int j = 0; j < list.size(); j++) { + jsonTemp = jsonTemp + "{\'state\':\'closed\',"; + for (int i = 0; i < fields.length; i++) { + String fieldName = fields[i].toString(); + if(list.get(j) instanceof Map){ + values[i] = ((Map)list.get(j)).get(fieldName); + }else{ + values[i] = fieldNametoValues(fieldName, list.get(j)); + } + jsonTemp = jsonTemp + "\'" + fieldName + "\'" + ":\'" + values[i] + "\'"; + if (i != fields.length - 1) { + jsonTemp = jsonTemp + ","; + } + } + if (j != list.size() - 1) { + jsonTemp = jsonTemp + "},"; + } else { + jsonTemp = jsonTemp + "}"; + } + } + jsonTemp = jsonTemp + "]"; + if(footers!=null){ + jsonTemp = jsonTemp + ","; + jsonTemp = jsonTemp + "\'footer\':["; + jsonTemp = jsonTemp + "{"; + jsonTemp = jsonTemp + "\'name\':\'合计\',"; + for(String footer:footers){ + String footerFiled = footer.split(":")[0]; + Object value = null; + if(footer.split(":").length==2){ + value = footer.split(":")[1]; + }else{ + value = getTotalValue(footerFiled,list); + } + jsonTemp = jsonTemp +"\'"+footerFiled+"\':\'"+value+"\',"; + } + if(jsonTemp.endsWith(",")){ + jsonTemp = jsonTemp.substring(0,jsonTemp.length()-1); + } + jsonTemp = jsonTemp + "}"; + jsonTemp = jsonTemp + "]"; + } + jsonTemp = jsonTemp + "}"; + return jsonTemp; + } + /** + * 计算指定列的合计 + * @param filed 字段名 + * @param list 列表数据 + * @return + */ + private static Object getTotalValue(String fieldName,List list){ + Double sum = 0D; + try{ + for (int j = 0; j < list.size(); j++) { + Double v = 0d; + String vstr =String.valueOf(fieldNametoValues(fieldName, list.get(j))); + if(!StringUtil.isEmpty(vstr)){ + v = Double.valueOf(vstr); + }else{ + + } + sum+=v; + } + }catch (Exception e) { + return ""; + } + return sum; + } + /** + * 循环LIST对象拼接自动完成控件数据 + * @param fields + * @param total + * @param list + * @throws Exception + */ + public static String getAutoList(Autocomplete autocomplete, List list) throws Exception { + String field=autocomplete.getLabelField()+","+autocomplete.getValueField(); + String[] fields=field.split(","); + Object[] values = new Object[fields.length]; + String jsonTemp = "{\'totalResultsCount\':1,\'geonames\':["; + if(list.size()>0) + { + for (int j = 0; j < list.size(); j++) { + jsonTemp = jsonTemp + "{'nodate':'yes',"; + for (int i = 0; i < fields.length; i++) { + String fieldName = fields[i].toString(); + values[i] = fieldNametoValues(fieldName, list.get(j)); + jsonTemp = jsonTemp + "\'" + fieldName + "\'" + ":\'" + values[i] + "\'"; + if (i != fields.length - 1) { + jsonTemp = jsonTemp + ","; + } + } + if (j != list.size() - 1) { + jsonTemp = jsonTemp + "},"; + } else { + jsonTemp = jsonTemp + "}"; + } + } + } + else { + jsonTemp+="{'nodate':'数据不存在'}"; + } + jsonTemp = jsonTemp + "]}"; + return JSONObject.fromObject(jsonTemp).toString(); + } + /** + * 循环LIST对象拼接DATATABLE格式的JSON数据 + * @param fields + * @param total + * @param list + */ + private static String datatable(String field, int total, List list) throws Exception { + String[] fields=field.split(","); + Object[] values = new Object[fields.length]; + String jsonTemp = "{\'iTotalDisplayRecords\':" + total + ",\'iTotalRecords\':" + total + ",\'aaData\':["; + for (int j = 0; j < list.size(); j++) { + jsonTemp = jsonTemp + "{"; + for (int i = 0; i < fields.length; i++) { + String fieldName = fields[i].toString(); + values[i] = fieldNametoValues(fieldName, list.get(j)); + jsonTemp = jsonTemp + "\'" + fieldName + "\'" + ":\'" + values[i] + "\'"; + if (i != fields.length - 1) { + jsonTemp = jsonTemp + ","; + } + } + if (j != list.size() - 1) { + jsonTemp = jsonTemp + "},"; + } else { + jsonTemp = jsonTemp + "}"; + } + } + jsonTemp = jsonTemp + "]}"; + return jsonTemp; + } + + /** + * 返回列表JSONObject对象 + * @param field + * @param dataGrid + * @return + */ + private static JSONObject getJson(DataGrid dg) { + JSONObject jObject = null; + try { + if(!StringUtil.isEmpty(dg.getFooter())){ + jObject = JSONObject.fromObject(listtojson(dg.getField().split(","), dg.getTotal(), dg.getResults(),dg.getFooter().split(","))); + }else{ + jObject = JSONObject.fromObject(listtojson(dg.getField().split(","), dg.getTotal(), dg.getResults(),null)); + } + } catch (Exception e) { + e.printStackTrace(); + } + return jObject; + + } + /** + * 返回列表JSONObject对象 + * @param field + * @param dataGrid + * @return + */ + private static JSONObject getJson(DataTableReturn dataTable,String field) { + JSONObject jObject = null; + try { + jObject = JSONObject.fromObject(datatable(field, dataTable.getiTotalDisplayRecords(), dataTable.getAaData())); + } catch (Exception e) { + e.printStackTrace(); + } + return jObject; + + } + + + /** + * 获取指定字段类型 Summary: getColumnType(请用一句话描述这个方法的作用) + * + * @param fileName + * @param fields + * @return + */ + public static String getColumnType(String fileName, Field[] fields) { + String type = ""; + if (fields.length > 0) { + for (int i = 0; i < fields.length; i++) { + String name = fields[i].getName(); // 获取属性的名字 + String filedType = fields[i].getGenericType().toString(); // 获取属性的类型 + if (fileName.equals(name)) { + if (filedType.equals("class java.lang.Integer")) { + filedType = "int"; + type = filedType; + }else if (filedType.equals("class java.lang.Short")) { + filedType = "short"; + type = filedType; + }else if (filedType.equals("class java.lang.Double")) { + filedType = "double"; + type = filedType; + }else if (filedType.equals("class java.util.Date")) { + filedType = "date"; + type = filedType; + }else if (filedType.equals("class java.lang.String")) { + filedType = "string"; + type = filedType; + }else if (filedType.equals("class java.sql.Timestamp")) { + filedType = "Timestamp"; + type = filedType; + }else if (filedType.equals("class java.lang.Character")) { + filedType = "character"; + type = filedType; + }else if (filedType.equals("class java.lang.Boolean")) { + filedType = "boolean"; + type = filedType; + }else if (filedType.equals("class java.lang.Long")) { + filedType = "long"; + type = filedType; + } + + } + } + } + return type; + } + + /** + * + * Summary: getSortColumnIndex(获取指定字段索引) + * + * @param fileName + * @param fieldString + * @return + */ + protected static String getSortColumnIndex(String fileName, String[] fieldString) { + String index = ""; + if (fieldString.length > 0) { + for (int i = 0; i < fieldString.length; i++) { + if (fileName.equals(fieldString[i])) { + int j = i + 1; + index = oConvertUtils.getString(j); + } + } + } + return index; + + } + + // JSON返回页面MAP方式 + public static void ListtoView(HttpServletResponse response, PageList pageList) { + response.setContentType("application/json"); + response.setHeader("Cache-Control", "no-store"); + Map map = new HashMap(); + map.put("total", pageList.getCount()); + map.put("rows", pageList.getResultList()); + ObjectMapper mapper = new ObjectMapper(); + JSONObject jsonObject = JSONObject.fromObject(map); + try { + mapper.writeValue(response.getWriter(), map); + } catch (JsonGenerationException e) { + e.printStackTrace(); + } catch (JsonMappingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 控件类型:easyui + * 返回datagrid JSON数据 + * @param response + * @param dataGrid + */ + public static void datagrid(HttpServletResponse response,DataGrid dg) { + response.setContentType("application/json"); + response.setHeader("Cache-Control", "no-store"); + JSONObject object = TagUtil.getJson(dg); + try { + PrintWriter pw=response.getWriter(); + pw.write(object.toString()); + pw.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + /** + * 控件类型:datatable + * 返回datatable JSON数据 + * @param response + * @param datatable + */ + public static void datatable(HttpServletResponse response, DataTableReturn dataTableReturn,String field) { + response.setContentType("application/json"); + response.setHeader("Cache-Control", "no-store"); + JSONObject object = TagUtil.getJson(dataTableReturn,field); + try { + response.getWriter().write(object.toString()); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 手工拼接JSON + */ + public static String getComboBoxJson(List list, List roles) { + StringBuffer buffer = new StringBuffer(); + buffer.append("["); + for (TSRole node : list) { + if (roles.size() > 0) { + buffer.append("{\"id\":" + node.getId() + ",\"text\":\"" + node.getRoleName() + "\""); + for (TSRole node1 : roles) { + if (node.getId() == node1.getId()) { + buffer.append(",\"selected\":true"); + } + } + buffer.append("},"); + } else { + buffer.append("{\"id\":" + node.getId() + ",\"text\":\"" + node.getRoleName() + "\"},"); + } + + } + buffer.append("]"); + + // 将,\n]替换成\n] + + String tmp = buffer.toString(); + tmp = tmp.replaceAll(",]", "]"); + return tmp; + + } + + /** + * 根据模型生成JSON + * @param all 全部对象 + * @param in 已拥有的对象 + * @param comboBox 模型 + * @return + */ + public static List getComboBox(List all, List in, ComboBox comboBox) { + List comboxBoxs = new ArrayList(); + String[] fields = new String[] { comboBox.getId(), comboBox.getText() }; + Object[] values = new Object[fields.length]; + for (Object node : all) { + ComboBox box = new ComboBox(); + ReflectHelper reflectHelper=new ReflectHelper(node); + for (int i = 0; i < fields.length; i++) { + String fieldName = fields[i].toString(); + values[i] = reflectHelper.getMethodValue(fieldName); + } + box.setId(values[0].toString()); + box.setText(values[1].toString()); + if (in != null) { + for (Object node1 : in) { + ReflectHelper reflectHelper2=new ReflectHelper(node); + if (node1 != null) { + String fieldName = fields[0].toString(); + String test = reflectHelper2.getMethodValue(fieldName).toString(); + if (values[0].toString().equals(test)) { + box.setSelected(true); + } + } + } + } + comboxBoxs.add(box); + } + return comboxBoxs; + + } + /** + * 获取自定义函数名 + * + * @param functionname + * @return + */ + public static String getFunction(String functionname) { + int index = functionname.indexOf("("); + if (index == -1) { + return functionname; + } else { + return functionname.substring(0, functionname.indexOf("(")); + } + } + + /** + * 获取自定义函数的参数 + * + * @param functionname + * @return + */ + public static String getFunParams(String functionname) { + int index = functionname.indexOf("("); + String param=""; + if (index != -1) { + String testparam = functionname.substring(functionname.indexOf("(")+1, + functionname.length() - 1); + if(StringUtil.isNotEmpty(testparam)) + { + String[] params=testparam.split(","); + for (String string : params) { + param+=(string.indexOf("{")!=-1)? + ("'\"+"+ string.substring(1,string.length()-1) + "+\"',") + :("'\"+rec."+ string + "+\"',"); + } + } + } + param+="'\"+index+\"'";//传出行索引号参数 + return param; + } + + public static String getAutoFunction(String field,String entity){ + return null; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/UploadTag.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/UploadTag.java new file mode 100644 index 00000000..10ab5e57 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/core/easyui/UploadTag.java @@ -0,0 +1,225 @@ +package org.jeecgframework.tag.core.easyui; + +import java.io.IOException; + +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +/** + * + * 类描述:上传标签 + * + * 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class UploadTag extends TagSupport { + private static final long serialVersionUID = 1L; + protected String id;// ID + protected String uploader;//url + protected String name;//控件名称 + protected String formData;//参数名称 + protected String extend="";//上传文件的扩展名 + protected String buttonText="浏览";//按钮文本 + protected boolean multi=true;//是否多文件 + protected String queueID="filediv";//文件容器ID + protected boolean dialog=true;//是否是弹出窗口模式 + protected String callback; + protected boolean auto=false;//是否自动上传 + protected String onUploadSuccess;//上传成功处理函数 + protected boolean view=false;//生成查看删除链接 + public void setView(boolean view) { + this.view = view; + } + public void setOnUploadSuccess(String onUploadSuccess) { + this.onUploadSuccess = onUploadSuccess; + } + public void setAuto(boolean auto) { + this.auto = auto; + } + public void setCallback(String callback) { + this.callback = callback; + } + public void setDialog(boolean dialog) { + this.dialog = dialog; + } + public void setQueueID(String queueID) { + this.queueID = queueID; + } + public void setButtonText(String buttonText) { + this.buttonText = buttonText; + } + public void setMulti(boolean multi) { + this.multi = multi; + } + public void setUploader(String uploader) { + this.uploader = uploader; + } + public void setName(String name) { + this.name = name; + } + public int doStartTag() throws JspTagException { + return EVAL_PAGE; + } + public int doEndTag() throws JspTagException { + try { + JspWriter out = this.pageContext.getOut(); + out.print(end().toString()); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return EVAL_PAGE; + } + public StringBuffer end() { + StringBuffer sb = new StringBuffer(); + if("pic".equals(extend)) + { + extend="*.jpg;*,jpeg;*.png;*.gif;*.bmp;*.ico;*.tif"; + } + if(extend.equals("office")) + { + extend="*.doc;*.docx;*.txt;*.ppt;*.xls;*.xlsx;*.html;*.htm"; + } + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + if(view) + { + sb.append(""); + sb.append(""); + } + + return sb; + } + + /** + * 获取上传路径,修改jsessionid传不到后台的bug jueyue --- 20130916 + * @return + */ + private String getUploader() { + return uploader+"&sessionId="+pageContext.getSession().getId()+"',"; + } + + public void setId(String id) { + this.id = id; + } + public void setFormData(String formData) { + this.formData = formData; + } + public void setExtend(String extend) { + this.extend = extend; + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/ColumnInfo.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/ColumnInfo.java new file mode 100644 index 00000000..429fafce --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/ColumnInfo.java @@ -0,0 +1,100 @@ +package org.jeecgframework.tag.vo.datatable; + +/** + * 列信息 + * + * @author 张代浩 + * @date 2012-7-26 下午3:07:40 + */ +public class ColumnInfo { + + /** + * 列名 + */ + private String name; + /** + * 是否正则 + */ + private Boolean regex; + /** + * 查找 + */ + private Boolean searchable; + /** + * 查找 + */ + private String search; + public String getSearch() { + return search; + } + + public void setSearch(String search) { + this.search = search; + } + + /** + * 排序 + */ + private Boolean sortable; + + /** + * @return 列名 + */ + public String getName() { + return name; + } + + /** + * @param name + * 列名 + */ + public void setName(String name) { + this.name = name; + } + + /** + * @return 是否正则 + */ + public Boolean getRegex() { + return regex; + } + + /** + * @param regex + * 是否正则 + */ + public void setRegex(Boolean regex) { + this.regex = regex; + } + + /** + * @return 查找 + */ + public Boolean getSearchable() { + return searchable; + } + + /** + * @param searchable + * 查找 + */ + public void setSearchable(Boolean searchable) { + this.searchable = searchable; + } + + /** + * @return 排序 + */ + public Boolean getSortable() { + return sortable; + } + + /** + * @param sortable + * 排序 + */ + public void setSortable(Boolean sortable) { + this.sortable = sortable; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/DataTableReturn.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/DataTableReturn.java new file mode 100644 index 00000000..4c71d522 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/DataTableReturn.java @@ -0,0 +1,97 @@ +package org.jeecgframework.tag.vo.datatable; + +import java.util.List; + +/** + * DataTables期望的返回数据格式 + * + * @author 张代浩 + * @date 2012-7-26 上午11:23:17 + */ +public class DataTableReturn { + /** + * 过滤前总记录数 + */ + private Integer iTotalRecords; + /** + * 过滤后总记录数 + */ + private Integer iTotalDisplayRecords; + /** + * 页面发来的参数,原样返回 + */ + private Integer sEcho; + + /** + * 返回的具体数据 + */ + private List aaData; + + /** + * @return 过滤前总记录数 + */ + public Integer getiTotalRecords() { + return iTotalRecords; + } + + /** + * @param iTotalRecords + * 过滤前总记录数 + */ + public void setiTotalRecords(Integer iTotalRecords) { + this.iTotalRecords = iTotalRecords; + } + + /** + * @return 过滤后总记录数 + */ + public Integer getiTotalDisplayRecords() { + return iTotalDisplayRecords; + } + + /** + * @param iTotalDisplayRecords + * 过滤后总记录数 + */ + public void setiTotalDisplayRecords(Integer iTotalDisplayRecords) { + this.iTotalDisplayRecords = iTotalDisplayRecords; + } + + /** + * @return 页面发来的参数,原样返回 + */ + public Integer getsEcho() { + return sEcho; + } + + /** + * @param sEcho + * 页面发来的参数,原样返回 + */ + public void setsEcho(Integer sEcho) { + this.sEcho = sEcho; + } + + /** + * @return 返回的具体数据 + */ + public List getAaData() { + return aaData; + } + + /** + * @param aaData + * 返回的具体数据 + */ + public void setAaData(List aaData) { + this.aaData = aaData; + } + public DataTableReturn(Integer iTotalRecords, Integer iTotalDisplayRecords, + Integer sEcho, List aaData) { + this.iTotalRecords = iTotalRecords; + this.iTotalDisplayRecords = iTotalDisplayRecords; + this.sEcho = sEcho; + this.aaData = aaData; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/DataTables.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/DataTables.java new file mode 100644 index 00000000..6a51796a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/DataTables.java @@ -0,0 +1,199 @@ +package org.jeecgframework.tag.vo.datatable; + +import java.text.MessageFormat; + +import javax.servlet.http.HttpServletRequest; + +public class DataTables { + private HttpServletRequest request; // 内部使用的 Request 对象 + private String sEchoParameter = "sEcho"; + + // 起始索引和长度 + private String iDisplayStartParameter = "iDisplayStart"; + private String iDisplayLengthParameter = "iDisplayLength"; + + // 列数 + private String iColumnsParameter = "iColumns"; + private String sColumnsParameter = "sColumns"; + private String sColumns; + + // 参与排序列数 + private String iSortingColsParameter = "iSortingCols"; + private String iSortColPrefixParameter = "iSortCol_"; // 排序列的索引 + private String sSortDirPrefixParameter = "sSortDir_"; // 排序的方向 + // asc, desc + + // 每一列的可排序性 + private String bSortablePrefixParameter = "bSortable_"; + + // 全局搜索 + private String sSearchParameter = "sSearch"; + private String bRegexParameter = "bRegex"; + + // 每一列的搜索 + private String bSearchablePrefixParameter = "bSearchable_"; + private String sSearchPrefixParameter = "sSearch_"; + private String bEscapeRegexPrefixParameter = "bRegex_"; + + public SortInfo[] getSortColumns() { + return sortColumns; + } + + public void setSortColumns(SortInfo[] sortColumns) { + this.sortColumns = sortColumns; + } + + public int getColumnCount() { + return ColumnCount; + } + + public void setColumnCount(int columnCount) { + ColumnCount = columnCount; + } + + public ColumnInfo[] getColumns() { + return columns; + } + + public void setColumns(ColumnInfo[] columns) { + this.columns = columns; + } + + public String getSearch() { + return search; + } + + public void setSearch(String search) { + this.search = search; + } + + public Boolean getRegex() { + return regex; + } + + public void setRegex(Boolean regex) { + this.regex = regex; + } + + public Integer getEcho() { + return echo; + } + + public int getDisplayStart() { + return displayStart; + } + + public int getDisplayLength() { + return displayLength; + } + + public int getSortingCols() { + return sortingCols; + } + + private Integer echo; + + private int displayStart; + + private int displayLength; + + // 参与排序的列 + private int sortingCols; + public int iSortingCols; + + // 排序列 + private SortInfo[] sortColumns; + + private int ColumnCount; + + private ColumnInfo[] columns; + + private String search; + + private Boolean regex; + + public void DataTablePram(HttpServletRequest httpRequest) { + this.request = httpRequest; + } + + public DataTables(HttpServletRequest request) // 用于 MVC 模式下的构造函数 + { + this.request = request; + + this.echo = this.ParseIntParameter(sEchoParameter); + this.displayStart = this.ParseIntParameter(iDisplayStartParameter); + this.displayLength = this.ParseIntParameter(iDisplayLengthParameter); + this.sortingCols = this.ParseIntParameter(iSortingColsParameter); + + this.search = this.ParseStringParameter(sSearchParameter); + this.regex = this.ParseStringParameter(bRegexParameter) == "true"; + + // 排序的列 + int count = sortingCols; + this.sortColumns = new SortInfo[count]; + MessageFormat formatter = new MessageFormat(""); + for (int i = 0; i < count; i++) { + SortInfo sortInfo = new SortInfo(); + sortInfo.setColumnId(this.ParseIntParameter(formatter.format("iSortCol_{0}", i))); + String aString = this.ParseStringParameter(formatter.format("sSortDir_{0}", i)); + if (this.ParseStringParameter(formatter.format("sSortDir_{0}", i)).equals("desc")) { + sortInfo.setSortOrder(SortDirection.asc); + } else { + sortInfo.setSortOrder(SortDirection.desc); + } + this.sortColumns[i] = sortInfo; + } + + this.ColumnCount = this.ParseIntParameter(iColumnsParameter); + + count = this.ColumnCount; + this.columns = new ColumnInfo[count]; + + String[] names = this.ParseStringParameter(sColumnsParameter).split(","); + this.sColumns = this.ParseStringParameter(sColumnsParameter); + + for (int i = 0; i < names.length; i++) { + ColumnInfo col = new ColumnInfo(); + col.setName(names[i]); + col.setSortable(this.ParseBooleanParameter(formatter.format("bSortable_{0}", i))); + col.setSearchable(this.ParseBooleanParameter(formatter.format("bSearchable_{0}", i))); + col.setSearch(this.ParseStringParameter(formatter.format("sSearch_{0}", i))); + col.setRegex(this.ParseStringParameter(formatter.format("bRegex_{0}", i)) == "true"); + columns[i] = col; + } + } + + public String getsColumns() { + return sColumns; + } + + public void setsColumns(String sColumns) { + this.sColumns = sColumns; + } + + private int ParseIntParameter(String name) // 解析为整数 + { + int result = 0; + String parameter = this.request.getParameter(name); + if (parameter != null) { + result = Integer.parseInt(parameter); + } + return result; + } + + private String ParseStringParameter(String name) // 解析为字符串 + { + return this.request.getParameter(name); + } + + private Boolean ParseBooleanParameter(String name) // 解析为布尔类型 + { + Boolean result = false; + String parameter = this.request.getParameter(name); + if (parameter != null) { + result = Boolean.parseBoolean(parameter); + } + return result; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/FilterInfo.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/FilterInfo.java new file mode 100644 index 00000000..26f1ef6f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/FilterInfo.java @@ -0,0 +1,50 @@ +package org.jeecgframework.tag.vo.datatable; + +/** + * 过滤查找 + * + * @author 张代浩 + * @date 2012-7-26 下午3:07:40 + */ +public class FilterInfo { + + /** + * 查找的列名 + */ + private String name; + /** + * 查找的值 + */ + private String search; + + /** + * @return 查找的列名 + */ + public String getName() { + return name; + } + + /** + * @param name + * 查找的列名 + */ + public void setName(String name) { + this.name = name; + } + + /** + * @return 查找的值 + */ + public String getSearch() { + return search; + } + + /** + * @param search + * 查找的值 + */ + public void setSearch(String search) { + this.search = search; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/SortDirection.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/SortDirection.java new file mode 100644 index 00000000..d9896598 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/SortDirection.java @@ -0,0 +1,12 @@ +package org.jeecgframework.tag.vo.datatable; +/** +* @Description: TODO(排序定义) +* asc 升序 +* @author 张代浩 +* desc 降序 +*/ +public enum SortDirection { + asc, // 升序 + desc + // 降序 +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/SortInfo.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/SortInfo.java new file mode 100644 index 00000000..fc2da1c4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/datatable/SortInfo.java @@ -0,0 +1,49 @@ +package org.jeecgframework.tag.vo.datatable; + +/** + * 排序值 + * @author 张代浩 + * @date 2012-7-26 下午3:07:40 + */ +public class SortInfo { + + /** + * 排序列名 + */ + private Integer columnId; + /** + * desc or asc + */ + private SortDirection sortOrder; + + /** + * @return 排序列名 + */ + public Integer getColumnId() { + return columnId; + } + + /** + * @param columnId + * 排序列名 + */ + public void setColumnId(Integer columnId) { + this.columnId = columnId; + } + + /** + * @return desc or asc + */ + public SortDirection getSortOrder() { + return sortOrder; + } + + /** + * @param sortOrder + * desc or asc + */ + public void setSortOrder(SortDirection sortOrder) { + this.sortOrder = sortOrder; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Autocomplete.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Autocomplete.java new file mode 100644 index 00000000..ed22d413 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Autocomplete.java @@ -0,0 +1,61 @@ +package org.jeecgframework.tag.vo.easyui; +/** + * + * @author 张代浩 + * + */ +public class Autocomplete { + private String entityName;//实体名称 + private String labelField;//提示显示的字段 + private String valueField;//传递后台的字段 + private String searchField;//查询关键字字段 + private String trem;//查询传递的值 + private Integer maxRows; + private Integer curPage; + public String getSearchField() { + return searchField; + } + public void setSearchField(String searchField) { + this.searchField = searchField; + } + public String getEntityName() { + return entityName; + } + public void setEntityName(String entityName) { + this.entityName = entityName; + } + public String getTrem() { + return trem; + } + public void setTrem(String trem) { + this.trem = trem; + } + public String getLabelField() { + return labelField; + } + public void setLabelField(String labelField) { + this.labelField = labelField; + } + public String getValueField() { + return valueField; + } + public void setValueField(String valueField) { + this.valueField = valueField; + } + public Integer getMaxRows() { + return maxRows; + } + public void setMaxRows(Integer maxRows) { + this.maxRows = maxRows; + } + public Integer getCurPage() { + if(curPage==null||curPage<1){ + curPage = 1; + } + return curPage; + } + public void setCurPage(Integer curPage) { + this.curPage = curPage; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Carousel.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Carousel.java new file mode 100644 index 00000000..8e141ee5 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Carousel.java @@ -0,0 +1,33 @@ +package org.jeecgframework.tag.vo.easyui; + +/** + * Carousel + * + * @author 张代浩 + * + */ +public class Carousel { + private String path; //图片路径 + private String message; //图片信息描述 + private boolean active=false; //当前显示项 + public String getPath() { + return path; + } + public void setPath(String path) { + this.path = path; + } + public String getMessage() { + return message; + } + public void setMessage(String message) { + this.message = message; + } + public boolean isActive() { + return active; + } + public void setActive(boolean active) { + this.active = active; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/ColumnValue.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/ColumnValue.java new file mode 100644 index 00000000..458e8f80 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/ColumnValue.java @@ -0,0 +1,36 @@ +package org.jeecgframework.tag.vo.easyui; +/** + * + * @author 张代浩 + * + */ +public class ColumnValue { + private String name; + private String text; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/ComboTreeModel.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/ComboTreeModel.java new file mode 100644 index 00000000..4a4f8ecd --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/ComboTreeModel.java @@ -0,0 +1,59 @@ +package org.jeecgframework.tag.vo.easyui; + + + /** + * @ClassName: ComboTreeModel + * @Description: TODO(下拉树形选择框模型设置类) + * @author 张代浩 + * @date 2013-1-6 下午07:24:22 + * + */ +public class ComboTreeModel implements java.io.Serializable { + private String idField; + private String textField; + private String iconCls;// 前面的小图标样式 + private String childField;// 子节点 + private String srcField;//地址字段 + + public ComboTreeModel(String idField, String textField, String childField) { + this.idField = idField; + this.textField = textField; + this.childField = childField; + } + public ComboTreeModel(String idField, String textField, String childField, String srcField) { + this.idField = idField; + this.textField = textField; + this.childField = childField; + this.srcField = srcField; + } + public String getIconCls() { + return iconCls; + } + public void setIconCls(String iconCls) { + this.iconCls = iconCls; + } + public String getChildField() { + return childField; + } + public void setChildField(String childField) { + this.childField = childField; + } + public String getIdField() { + return idField; + } + public void setIdField(String idField) { + this.idField = idField; + } + public String getTextField() { + return textField; + } + public void setTextField(String textField) { + this.textField = textField; + } + public String getSrcField() { + return srcField; + } + public void setSrcField(String srcField) { + this.srcField = srcField; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DataGridColumn.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DataGridColumn.java new file mode 100644 index 00000000..46fdf7a6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DataGridColumn.java @@ -0,0 +1,254 @@ +package org.jeecgframework.tag.vo.easyui; +/** + * + * 类描述:列表字段模型 + * + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DataGridColumn { + protected String title;//表格列名 + protected String field;//数据库对应字段 + protected Integer width;//宽度 + protected String rowspan;//跨列 + protected String colspan;//跨行 + protected String align;//对齐方式 + protected boolean sortable;//是否排序 + protected boolean checkbox;//是否显示复选框 + protected String formatter;//格式化函数 + protected boolean hidden;//是否隐藏 + protected String treefield;// + protected boolean image;//是否是图片 + protected boolean query;//是否查询 + protected String queryMode = "single";//字段查询模式:single单字段查询;group范围查询 + + protected boolean autoLoadData = true; // 列表是否自动加载数据 + private boolean frozenColumn=false; // 是否是冰冻列 默认不是 + protected String url;//自定义链接 + protected String funname="openwindow";//自定义函数名称 + protected String arg; + protected String dictionary; + protected String replace; + protected String extend; + protected String style; //列的颜色值 + protected String imageSize;//自定义图片显示大小 + protected String downloadName;//附件下载 + protected boolean autocomplete;//自动补全 + protected String extendParams;//扩展参数,easyui有的,但是jeecg没有的参数进行扩展 + public String getDownloadName() { + return downloadName; + } + + public void setDownloadName(String downloadName) { + this.downloadName = downloadName; + } + + public String getImageSize() { + return imageSize; + } + + public void setImageSize(String imageSize) { + this.imageSize = imageSize; + } + + public boolean isQuery() { + return query; + } + + public String getArg() { + return arg; + } + + public void setArg(String arg) { + this.arg = arg; + } + + public void setQuery(boolean query) { + this.query = query; + } + + public boolean isImage() { + return image; + } + + public void setImage(boolean image) { + this.image = image; + } + + public String getTreefield() { + return treefield; + } + + public void setTreefield(String treefield) { + this.treefield = treefield; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setField(String field) { + this.field = field; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public void setRowspan(String rowspan) { + this.rowspan = rowspan; + } + + public void setColspan(String colspan) { + this.colspan = colspan; + } + + public void setAlign(String align) { + this.align = align; + } + + public void setSortable(boolean sortable) { + this.sortable = sortable; + } + + public void setCheckbox(boolean checkbox) { + this.checkbox = checkbox; + } + + public void setFormatter(String formatter) { + this.formatter = formatter; + } + public boolean isHidden() { + return hidden; + } + + public void setHidden(boolean hidden) { + this.hidden = hidden; + } + + public String getTitle() { + return title; + } + + public String getField() { + return field; + } + + public Integer getWidth() { + return width; + } + + public String getRowspan() { + return rowspan; + } + + public String getColspan() { + return colspan; + } + + public String getAlign() { + return align; + } + + public boolean isSortable() { + return sortable; + } + + public boolean isCheckbox() { + return checkbox; + } + + public String getFormatter() { + return formatter; + } + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getFunname() { + return funname; + } + + public void setFunname(String funname) { + this.funname = funname; + } + + public String getDictionary() { + return dictionary; + } + + public void setDictionary(String dictionary) { + this.dictionary = dictionary; + } + public String getQueryMode() { + return queryMode; + } + + public void setQueryMode(String queryMode) { + this.queryMode = queryMode; + } + + public String getReplace() { + return replace; + } + + public void setReplace(String replace) { + this.replace = replace; + } + + public boolean isAutoLoadData() { + return autoLoadData; + } + + public void setAutoLoadData(boolean autoLoadData) { + this.autoLoadData = autoLoadData; + } + + public boolean isFrozenColumn() { + return frozenColumn; + } + + public void setFrozenColumn(boolean frozenColumn) { + this.frozenColumn = frozenColumn; + } + + public String getExtend() { + return extend; + } + + public void setExtend(String extend) { + this.extend = extend; + } + + public String getStyle() { + return style; + } + + public void setStyle(String style) { + this.style = style; + } + + public boolean isAutocomplete() { + return autocomplete; + } + + public void setAutocomplete(boolean autocomplete) { + this.autocomplete = autocomplete; + } + + public String getExtendParams() { + return extendParams; + } + + public void setExtendParams(String extendParams) { + this.extendParams = extendParams; + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DataGridUrl.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DataGridUrl.java new file mode 100644 index 00000000..561f77c6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DataGridUrl.java @@ -0,0 +1,120 @@ +package org.jeecgframework.tag.vo.easyui; + +/** + * + * @author 张代浩 + * + */ +public class DataGridUrl { + private String url;//操作链接地址 + private String title;//按钮名称 + private String icon;//按钮图标 + private String value;//传入参数 + private String width;//弹出窗宽度 + private String height;//弹出窗高度 + private OptTypeDirection type;//按钮类型 + private String isbtn;//是否是操作选项以外的链接 + private String message;//询问链接的提示语 + private String exp;//判断链接是否显示的表达式 + private String funname;//自定义函数名称 + private boolean isRadio;//是否是单选框 + private String onclick;//选项单击事件 + public String getOnclick() { + return onclick; + } + + public void setOnclick(String onclick) { + this.onclick = onclick; + } + + public void setRadio(boolean isRadio) { + this.isRadio = isRadio; + } + + public String getFunname() { + return funname; + } + public void setFunname(String funname) { + this.funname = funname; + } + + public String getMessage() { + return message; + } + public String getExp() { + return exp; + } + + public void setExp(String exp) { + this.exp = exp; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getIsbtn() { + return isbtn; + } + + public void setIsbtn(String isbtn) { + this.isbtn = isbtn; + } + + public void setType(OptTypeDirection type) { + this.type = type; + } + + public OptTypeDirection getType() { + return type; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + public boolean isRadio() { + return isRadio; + } + public String getWidth() { + return width; + } + + public void setWidth(String width) { + this.width = width; + } + + public String getHeight() { + return height; + } + public String getIcon() { + return icon; + } + public void setHeight(String height) { + this.height = height; + } + public void setIcon(String icon) { + this.icon = icon; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DropDownMenu.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DropDownMenu.java new file mode 100644 index 00000000..a8923efa --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/DropDownMenu.java @@ -0,0 +1,47 @@ +package org.jeecgframework.tag.vo.easyui; +/** + * + * 类描述:列表字段模型 + * + * @author: 张代浩 + * @date: 日期:2012-12-7 时间:上午10:17:45 + * @version 1.0 + */ +public class DropDownMenu { + protected String name;// + protected String classLi; + protected String href; + protected String icon; + protected String color; + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getClassLi() { + return classLi; + } + public void setClassLi(String classLi) { + this.classLi = classLi; + } + public String getHref() { + return href; + } + public void setHref(String href) { + this.href = href; + } + public String getIcon() { + return icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + public String getColor() { + return color; + } + public void setColor(String color) { + this.color = color; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/OptTypeDirection.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/OptTypeDirection.java new file mode 100644 index 00000000..d45e6f90 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/OptTypeDirection.java @@ -0,0 +1,9 @@ +package org.jeecgframework.tag.vo.easyui; +/** +* 列表操作类型 +* @author 张代浩 +*/ +public enum OptTypeDirection { + Deff,Del,Fun,OpenWin,Confirm,ToolBar,OpenTab + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/SortColumn.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/SortColumn.java new file mode 100644 index 00000000..a49c9b5b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/SortColumn.java @@ -0,0 +1,70 @@ +package org.jeecgframework.tag.vo.easyui; + +/** + * + * @author 张代浩 + * + */ +public class SortColumn { + /** + * 排序索引 + */ + protected String index; + /** + * 自定义排序属性 + */ + protected String order; + /** + * 排序类型 + */ + protected String type; + /** + * 排序字段名字 + */ + protected String name; + /** + * 自定义取值 + */ + protected String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getIndex() { + return index; + } + + public void setIndex(String index) { + this.index = index; + } + + public String getOrder() { + return order; + } + + public void setOrder(String order) { + this.order = order; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Tab.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Tab.java new file mode 100644 index 00000000..abd56367 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/Tab.java @@ -0,0 +1,107 @@ +package org.jeecgframework.tag.vo.easyui; + +/** + * TAB模型 + * + * @author 张代浩 + * + */ +public class Tab { + private String href; + private String iframe; + private String id; + private String title; + private String icon = "'icon-default'"; + private String width;// 宽度 + private String heigth;// 高度 + private boolean cache; + private String content; + private boolean closable=true; + /** + * @return the closable + */ + public boolean isClosable() { + return closable; + } + + /** + * @param closable + * the closable to set + */ + public void setClosable(boolean closable) { + this.closable = closable; + } + + public String getHref() { + return href; + } + + public void setHref(String href) { + this.href = href; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public String getWidth() { + return width; + } + + public void setWidth(String width) { + this.width = width; + } + + public String getHeigth() { + return heigth; + } + + public void setHeigth(String heigth) { + this.heigth = heigth; + } + + public boolean isCache() { + return cache; + } + + public void setCache(boolean cache) { + this.cache = cache; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + public String getIframe() { + return iframe; + } + + public void setIframe(String iframe) { + this.iframe = iframe; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TabMenu.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TabMenu.java new file mode 100644 index 00000000..075ae442 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TabMenu.java @@ -0,0 +1,54 @@ +package org.jeecgframework.tag.vo.easyui; + +/** + * TAB模型 + * + * @author 张代浩 + * + */ +public class TabMenu { + private String classLi ;//li上样式 + private String url; //url地址 + private String title;//名称 + private String icon;//标签图标 + private String iconColor;//标签图标颜色 + private boolean tab=true;//是否为可切换标签页 + public boolean isTab() { + return tab; + } + public void setTab(boolean tab) { + this.tab = tab; + } + public String getClassLi() { + return classLi; + } + public void setClassLi(String classLi) { + this.classLi = classLi; + } + public String getUrl() { + return url; + } + public void setUrl(String url) { + this.url = url; + } + public String getTitle() { + return title; + } + public void setTitle(String title) { + this.title = title; + } + public String getIcon() { + return icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + public String getIconColor() { + return iconColor; + } + public void setIconColor(String iconColor) { + this.iconColor = iconColor; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TreeGridModel.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TreeGridModel.java new file mode 100644 index 00000000..c2d92789 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TreeGridModel.java @@ -0,0 +1,84 @@ +package org.jeecgframework.tag.vo.easyui; + + /** + * + * @ClassName: TreeGridModel + * @Description: TODO(树形列表模型设置类) + * @author 张代浩 + * @date 2013-1-6 下午07:24:22 + * + */ +public class TreeGridModel implements java.io.Serializable { + private String idField; + private String textField; + private String childList; + private String parentId; + private String parentText; + private String code; + private String src; + private String roleid; + private String icon; + private String order; + + public String getOrder() { + return order; + } + public void setOrder(String order) { + this.order = order; + } + public String getIcon() { + return icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + public String getRoleid() { + return roleid; + } + public void setRoleid(String roleid) { + this.roleid = roleid; + } + public String getParentText() { + return parentText; + } + public void setParentText(String parentText) { + this.parentText = parentText; + } + public String getCode() { + return code; + } + public void setCode(String code) { + this.code = code; + } + + public String getSrc() { + return src; + } + public void setSrc(String src) { + this.src = src; + } + public String getParentId() { + return parentId; + } + public void setParentId(String parentId) { + this.parentId = parentId; + } + public String getIdField() { + return idField; + } + public void setIdField(String idField) { + this.idField = idField; + } + public String getTextField() { + return textField; + } + public void setTextField(String textField) { + this.textField = textField; + } + public String getChildList() { + return childList; + } + public void setChildList(String childList) { + this.childList = childList; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TreeSelect.java b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TreeSelect.java new file mode 100644 index 00000000..81b5f4d6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/tag/vo/easyui/TreeSelect.java @@ -0,0 +1,46 @@ +package org.jeecgframework.tag.vo.easyui; +import java.io.Writer; +import javax.servlet.jsp.tagext.TagSupport; + + +public class TreeSelect extends TagSupport { + /*protected String value; + protected String id; + protected String pid; + protected String name; + protected String text; + protected String width; ֵ + + public void setWidth(String width) { + this.width = width; + } + + public void setId(String id) { + this.id = id; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public void setName(String name) { + this.name = name; + } + + public void setText(String text) { + this.text = text; + } + + public void setValue(String value) { + this.value = value; + } + + +*/ + + public String end(Writer writer, String body) { + StringBuffer sb = new StringBuffer(); + + return sb.toString(); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/CgAutoListConstant.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/CgAutoListConstant.java new file mode 100644 index 00000000..9dcdb94d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/CgAutoListConstant.java @@ -0,0 +1,157 @@ +package org.jeecgframework.web.cgform.common; + +/** + * + * @Title:CgAutoListConstant + * @description:动态列表常量 + * @author 赵俊夫 + * @date Jul 5, 2013 3:01:27 PM + * @version V1.0 + */ +public class CgAutoListConstant { + /** 配置的id */ + public static final String CONFIG_ID = "config_id"; + /** 配置的名称 */ + public static final String CONFIG_NAME = "config_name"; + /** 是否为树形 */ + public static final String CONFIG_ISTREE = "config_istree"; + /** 是否分页 */ + public static final String CONFIG_ISPAGINATION = "config_ispagination"; + /** 是否显示复选框 */ + public static final String CONFIG_ISCHECKBOX = "config_ischeckbox"; + /** 查询模式 */ + public static final String CONFIG_QUERYMODE = "config_querymode"; + /** 字段列表 */ + public static final String CONFIG_FIELDLIST = "config_fieldList"; + /** 查询字段 */ + public static final String CONFIG_QUERYLIST = "config_queryList"; + /** 按钮组 */ + public static final String CONFIG_BUTTONLIST = "config_buttons"; + /** 列表JS增强 */ + public static final String CONFIG_JSENHANCE = "config_jsenhance"; + /** 无权限的按钮 */ + public static final String CONFIG_NOLIST = "config_nolist"; + /** 无权限的按钮串 */ + public static final String CONFIG_NOLISTSTR = "config_noliststr"; + /** iframe */ + public static final String CONFIG_IFRAME = "config_iframe"; + /** 表名 */ + public static final String TABLENAME = "tableName"; + /** 字段串 */ + public static final String FILEDS = "fileds"; + public static final String INITQUERY = "initquery"; + /** 字段编码 */ + public static final String FILED_ID = "field_id"; + /** 字段名称 */ + public static final String FIELD_TITLE = "field_title"; + /** 字段是否显示 */ + public static final String FIELD_ISSHOW = "field_isShow"; + /** 字段是否查询 */ + public static final String FIELD_ISQUERY = "field_isQuery"; + /** 字段查询模式 */ + public static final String FIELD_QUERYMODE = "field_queryMode"; + /** 字段显示模式 */ + public static final String FIELD_SHOWTYPE = "field_showType"; + /** 字段类型 */ + public static final String FIELD_TYPE = "field_type"; + /** 字段长度 */ + public static final String FIELD_LENGTH = "field_length"; + /** 字段href */ + public static final String FIELD_HREF = "field_href"; + /** 字段默认值 */ + public static final String FIELD_VALUE = "field_value"; + /** 字段默认值 */ + public static final String FIELD_VALUE_BEGIN = "field_value_begin"; + /** 字段默认值 */ + public static final String FIELD_VALUE_END = "field_value_end"; + /** 字典table */ + public static final String FIELD_DICTTABLE = "field_dictTable"; + /** 字典code */ + public static final String FIELD_DICTFIELD = "field_dictField"; + /** 字典数据 */ + public static final String FIELD_DICTLIST = "field_dictlist"; + /** 逻辑true */ + public static final String BOOL_TRUE = "Y"; + /** 逻辑false */ + public static final String BOOL_FALSE = "N"; + /** 显示模式Date */ + public static final String TYPE_DATE = "Date"; + /** 显示模式String */ + public static final String TYPE_STRING = "String"; + /** 显示模式Integer */ + public static final String TYPE_INTEGER = "Integer"; + /** 显示模式Double */ + public static final String TYPE_DOUBLE = "Double"; + /** 查询操作= */ + public static final String OP_EQ = " = "; + /** 查询操作>= */ + public static final String OP_RQ = " >= "; + /** 查询操作<= */ + public static final String OP_LQ = " <= "; + /** 查询操作like */ + public static final String OP_LIKE = " LIKE "; + + /** 系统字典分组表 */ + public static final String SYS_DICGROUP = "t_s_typegroup"; + /** 系统字典表 */ + public static final String SYS_DIC = "t_s_type"; + + /** 智能表单生成的表的前缀为jform_ */ + public static final String jform_ = "jform_"; + + /** sql增强insert */ + public static final String SQL_INSERT = "insert"; + /** sql增强update */ + public static final String SQL_UPDATE = "update"; + /** 表单版本号 */ + public static final String CONFIG_VERSION = "jformVersion"; + + /** 1-单表,2-主表,3-从表 */ + public static final int JFORM_TYPE_SINGLE_TABLE = 1; + public static final int JFORM_TYPE_MAIN_TALBE = 2; + public static final int JFORM_TYPE_SUB_TABLE = 3; + + /** + * ===============系统变量约定字段================= + */ + /** 创建日期 */ + public static final String CREATE_DATE = "create_date"; + /** 创建日期时间 */ + public static final String CREATE_DATETIME = "create_datetime"; + /** 创建者ID */ + public static final String CREATOR_ID = "create_by"; + /** 创建者KEY */ + public static final String CREATOR_KEY = "create_key"; + /** 创建者名称 */ + public static final String CREATOR_NAME = "create_name"; + /** 创建者真实名称 */ + public static final String CREATOR_REALNAME = "create_realname"; + /** 创建者部门ID */ + public static final String CREATOR_DEPARTMENTID = "create_departmentid"; + /** 创建者部门名称 */ + public static final String CREATOR_DEPARTMENTNAME = "create_departmentname"; + + /** 修改日期 */ + public static final String MODIFY_DATE = "update_date"; + /** 修改日期时间 */ + public static final String MODIFY_DATETIME = "update_datetime"; + /** 修改者ID */ + public static final String MODIFYIER_ID = "update_by"; + /** 修改KEY */ + public static final String MODIFYIER_KEY = "update_key"; + /** 修改者名称 */ + public static final String MODIFYIER_NAME = "update_name"; + /** 修改者真实名称 */ + public static final String MODIFYIER_REALNAME = "update_realname"; + /** 修改者部门ID */ + public static final String MODIFYIER_DEPARTMENTID = "update_departmentid"; + /** 修改者部门名称 */ + public static final String MODIFYIER_DEPARTMENTNAME = "update_departmentname"; + + /** 系统模式设置key */ + public static final String SYS_MODE_KEY = "sqlReadMode"; + /** 系统模式--开发模式 */ + public static final String SYS_MODE_DEV = "DEV"; + /** 系统模式--发布模式 */ + public static final String SYS_MODE_PUB = "PUB"; +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/CommUtils.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/CommUtils.java new file mode 100644 index 00000000..74b83a12 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/CommUtils.java @@ -0,0 +1,144 @@ +package org.jeecgframework.web.cgform.common; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.exception.BusinessException; + +/** + * @author 张代浩 + * @date 2013-08-11 09:47:30 + * @version V1.0 + */ +public class CommUtils { + + + /** + * 排除相应名称的属性,返回剩余属性键对 + * String filterName[]={"name1","name2","name3"}; + * @param filterName + * @return + */ + @SuppressWarnings("unchecked") + public static Map attributeMapFilter(Map map,String[] filterName) + { + for(int i=0;i mapConvert(Map map) { + Map dataMap= new HashMap(0); + if(map!=null){ + Iterator it=map.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + Object ok=entry.getKey(); + Object ov=entry.getValue()==null?"":entry.getValue(); + String key=ok.toString(); + String keyval=""; + String[] value=new String[1]; + if(ov instanceof String[]){ + value=(String[])ov; + }else{ + value[0]=ov.toString(); + } + keyval+=value[0]; + for(int k=1;k>> mapConvertMore(Map map,String tableName) { + Map>> fanalMap = new HashMap>>(); + Map> dataMap= new HashMap>(0); + Map mapField = null; + if(map!=null){ + Iterator it=map.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + Object ok=entry.getKey(); + Object ov=entry.getValue()==null?"":entry.getValue(); + String key=ok.toString(); + String keyval=""; + String[] value=new String[1]; + if(ov instanceof String[]){ + value=(String[])ov; + }else{ + value[0]=ov.toString(); + } + keyval+=value[0]; + for(int k=1;k(0); + if(keyArr.length==1){ + if(dataMap.get(tableName)!=null){ + mapField = dataMap.get(tableName); + } + mapField.put(keyArr[0], keyval); + dataMap.put(tableName, mapField); + }else if(keyArr.length==2){ + if(dataMap.get(keyArr[0])!=null){ + mapField = dataMap.get(keyArr[0]); + } + mapField.put(keyArr[1], keyval); + dataMap.put(keyArr[0], mapField); + } + } + } + List> listField = null; + if(dataMap.size()>0){ + Iterator it=dataMap.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + String ok=(String)entry.getKey(); + Map ov=(Map)entry.getValue(); + listField = new ArrayList>(); + if(ok.indexOf("[")!=-1){ + ok = ok.substring(0,ok.indexOf("[")); + } + if(fanalMap.get(ok)!=null){ + listField = fanalMap.get(ok); + } + listField.add(ov); + fanalMap.put(ok, listField); + + } + } + return fanalMap; + } + + + public static Map convertFKMap(Map fieldMap,Map mainMap,List> fkFieldList) throws BusinessException { + if(fkFieldList!=null){ + for(Map fkField:fkFieldList){ + if(mainMap.get((String)fkField.get("main_field"))!=null){ + fieldMap.put((String)fkField.get("field_name"), mainMap.get((String)fkField.get("main_field"))); + }else{ + throw new BusinessException("表单中没有外键:"+(String)fkField.get("main_field")); + } + } + } + return fieldMap; + } + + public static void main(String[] args) { + String str = "jform_tbd[0].name"; + String strs [] = str.split("\\."); + org.jeecgframework.core.util.LogUtil.info(strs.length+""); + org.jeecgframework.core.util.LogUtil.info(strs[0].substring(0,strs[0].indexOf("["))); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/FormHtmlUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/FormHtmlUtil.java new file mode 100644 index 00000000..f858ce7a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/FormHtmlUtil.java @@ -0,0 +1,318 @@ +package org.jeecgframework.web.cgform.common; + +import org.jeecgframework.core.util.StringUtil; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +/** + * @author 张代浩 + * @date 2013-08-11 09:47:30 + * @version V1.0 + */ +public class FormHtmlUtil { + + + /** + *根据CgFormFieldEntity表属性配置,返回表单HTML代码 + */ + public static String getFormHTML(CgFormFieldEntity cgFormFieldEntity){ + String html=""; + if(cgFormFieldEntity.getShowType().equals("text")){ + html=getTextFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("password")){ + html=getPwdFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("radio")){ + html=getRadioFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("checkbox")){ + html=getCheckboxFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("list")){ + html=getListFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("date")){ + html=getDateFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("datetime")){ + html=getDatetimeFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("file")){ + html=getFileFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("textarea")){ + html=getTextAreaFormHtml(cgFormFieldEntity); + }else if(cgFormFieldEntity.getShowType().equals("popup")){ + html=getPopupFormHtml(cgFormFieldEntity); + } + else { + html=getTextFormHtml(cgFormFieldEntity); + } + return html; + } + /** + * 返回textarea的表单html + * @param cgFormFieldEntity + * @return style="width: 300px" class="inputxt" rows="6" + */ + private static String getTextAreaFormHtml( + CgFormFieldEntity cgFormFieldEntity) { + StringBuilder html = new StringBuilder(""); + html.append(" "); + return html.toString(); + } + + /** + *返回text类型的表单html + */ + private static String getTextFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + StringBuilder html = new StringBuilder(""); + html.append("0){ + html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" "); + } + html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" "); + if("Y".equals(cgFormFieldEntity.getIsNull())){ + html.append("ignore=\"ignore\" "); + } + if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){ + html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" "); + }else{ + if("int".equals(cgFormFieldEntity.getType())){ + html.append("datatype=\"n\" "); + }else if("double".equals(cgFormFieldEntity.getType())){ + html.append("datatype=\"\\/^(-?\\\\d+)(\\\\.\\\\d+)?\\$\\/\" "); + }else{ + html.append("datatype=\"*\" "); + } + } + html.append("\\/>"); + return html.toString(); + } + + /** + *返回password类型的表单html + */ + private static String getPwdFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + StringBuilder html = new StringBuilder(""); + html.append("0){ + html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" "); + } + html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" "); + if("Y".equals(cgFormFieldEntity.getIsNull())){ + html.append("ignore=\"ignore\" "); + } + if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){ + html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" "); + }else{ + html.append("datatype=\"*\" "); + } + html.append("\\/>"); + return html.toString(); + } + + + /** + *返回radio类型的表单html + */ + private static String getRadioFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + + if(StringUtil.isEmpty(cgFormFieldEntity.getDictField())){ + return getTextFormHtml(cgFormFieldEntity); + }else{ + StringBuilder html = new StringBuilder(""); + html.append("<@DictData name=\""+cgFormFieldEntity.getDictField()+"\""); + if(!StringUtil.isEmpty(cgFormFieldEntity.getDictTable())){ + html.append(" tablename=\""+cgFormFieldEntity.getDictTable()+"\""); + } + html.append(" var=\"dictDataList\">"); + html.append("<#list dictDataList as dictdata>"); + html.append(" "); + html.append(" checked=\"true\" "); + html.append(" "); + html.append(">"); + html.append("\\${dictdata.typename?if_exists?html}"); + html.append(" "); + html.append(" "); + return html.toString(); + } + } + + + /** + *返回checkbox类型的表单html ${data['${po.field_name}']?if_exists?html} + */ + private static String getCheckboxFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + if(StringUtil.isEmpty(cgFormFieldEntity.getDictField())){ + return getTextFormHtml(cgFormFieldEntity); + }else{ + StringBuilder html = new StringBuilder(""); + html.append("<#assign checkboxstr>\\${data['").append(cgFormFieldEntity.getFieldName()).append("']?if_exists?html}"); + html.append("<#assign checkboxlist=checkboxstr?split(\",\")> "); + html.append("<@DictData name=\""+cgFormFieldEntity.getDictField()+"\""); + if(!StringUtil.isEmpty(cgFormFieldEntity.getDictTable())){ + html.append(" tablename=\""+cgFormFieldEntity.getDictTable()+"\""); + } + html.append(" var=\"dictDataList\">"); + html.append("<#list dictDataList as dictdata>"); + html.append(" "); + html.append("<#if dictdata.typecode=='\\${x?if_exists?html}'>"); + html.append(" checked=\"true\" "); + html.append(" "); + html.append(" "); + html.append(">"); + html.append("\\${dictdata.typename?if_exists?html}"); + html.append(" "); + html.append(" "); + return html.toString(); + } + } + + + /** + *返回list类型的表单html + */ + private static String getListFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + if(StringUtil.isEmpty(cgFormFieldEntity.getDictField())){ + return getTextFormHtml(cgFormFieldEntity); + }else{ + StringBuilder html = new StringBuilder(""); + html.append("<@DictData name=\""+cgFormFieldEntity.getDictField()+"\""); + if(!StringUtil.isEmpty(cgFormFieldEntity.getDictText())){ + html.append(" text=\""+cgFormFieldEntity.getDictText()+"\""); + } + if(!StringUtil.isEmpty(cgFormFieldEntity.getDictTable())){ + html.append(" tablename=\""+cgFormFieldEntity.getDictTable()+"\""); + } + html.append(" var=\"dictDataList\">"); + html.append(""); + html.append(" "); + return html.toString(); + } + } + + + /** + *返回date类型的表单html + */ + private static String getDateFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + StringBuilder html = new StringBuilder(""); + html.append("0){ + html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" "); + } + html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" "); + if("Y".equals(cgFormFieldEntity.getIsNull())){ + html.append("ignore=\"ignore\" "); + } + if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){ + html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" "); + }else{ + html.append("datatype=\"*\" "); + } + html.append("\\/>"); + return html.toString(); + } + + /** + *返回datetime类型的表单html + */ + private static String getDatetimeFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + StringBuilder html = new StringBuilder(""); + html.append("0){ + html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" "); + } + html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" "); + if("Y".equals(cgFormFieldEntity.getIsNull())){ + html.append("ignore=\"ignore\" "); + } + if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){ + html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" "); + }else{ + html.append("datatype=\"*\" "); + } + html.append("\\/>"); + return html.toString(); + } + + /** + *返回file类型的表单html + */ + private static String getFileFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + StringBuilder html = new StringBuilder(""); + html.append("0){ + html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" "); + } + html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" "); + html.append("\\/>"); + return html.toString(); + } + + + /** + *返回popup类型的表单html + */ + private static String getPopupFormHtml(CgFormFieldEntity cgFormFieldEntity) + { + StringBuilder html = new StringBuilder(""); + html.append("0){ + html.append("style=\"width:").append(cgFormFieldEntity.getFieldLength()).append("px\" "); + } + html.append("value=\"\\${").append(cgFormFieldEntity.getFieldName()).append("?if_exists?html}\" "); + html.append("onclick=\"inputClick(this,'"+cgFormFieldEntity.getDictText()+"','"+cgFormFieldEntity.getDictTable()+"');\" "); + if("Y".equals(cgFormFieldEntity.getIsNull())){ + html.append("ignore=\"ignore\" "); + } + if(cgFormFieldEntity.getFieldValidType()!=null&&cgFormFieldEntity.getFieldValidType().length()>0){ + html.append("datatype=\"").append(cgFormFieldEntity.getFieldValidType()).append("\" "); + }else{ + html.append("datatype=\"*\" "); + } + html.append("\\/>"); + return html.toString(); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/OfficeHtmlUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/OfficeHtmlUtil.java new file mode 100644 index 00000000..b5aa7cb4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/OfficeHtmlUtil.java @@ -0,0 +1,488 @@ +package org.jeecgframework.web.cgform.common; + +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.util.Map; +import java.util.regex.Pattern; + +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.apache.poi.hwpf.HWPFDocument; +import org.apache.poi.hwpf.converter.WordToHtmlConverter; +import org.jeecgframework.core.util.LogUtil; +import org.w3c.dom.Document; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; + +import com.jacob.activeX.ActiveXComponent; +import com.jacob.com.Dispatch; +import com.jacob.com.Variant; + +public class OfficeHtmlUtil { + + int WORD_HTML = 8; + int WORD_TXT = 7; + int EXCEL_HTML = 44; + + //清除HTML标签匹配内容 + private final static String regEx_style = "<[\\s]*?(style|xml|meta|font|xml|del|ins|o:p|head|!)[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?(style|xml|meta|font|xml|del|ins|o:p|head|>)[\\s]*?>"; + + //清除多余属性匹配内容 + private final static String regEx_attr1 = "[\\s] ?xmlns?(:v|:o|:w|)=\"([^\"]+)\""; + private final static String regEx_attr2 = "style=\'([^\']+)\'"; + private final static String regEx_attr3 = "[\\s]?(class|lang)=([^?(\\s|>)]+)"; + private final static String regEx_attr4 = "]+>"; + private final static String regEx_attr5 = "<\\/span>"; + + + //过滤布局硬宽度 + private final static String regEx_attr7 = "width=.[0-9]*"; + //过滤文字顶格 + private final static String regEx_attr8 = "valign=top"; + + //生成输入框匹配内容 + private final static String regEx_attr6 = "\\#{([a-zA-Z_0-9]+)\\}"; + + //替换标签 针对于类型标签 + private final static String regEx_replace = "[^>]+>"; + + /** + * WORD转HTML + * + * @param docfile + * WORD文件全路径 + * @param htmlfile + * 转换后HTML存放路径 + */ + public void wordToHtml(String docfile, String htmlfile) { + ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word + try { + app.setProperty("Visible", new Variant(false)); + Dispatch docs = app.getProperty("Documents").toDispatch(); + Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method, new Object[] { docfile, new Variant(false), new Variant(true) }, new int[1]).toDispatch(); + Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { htmlfile, new Variant(WORD_HTML) }, new int[1]); + Variant f = new Variant(false); + Dispatch.call(doc, "Close", f); + } catch (Exception e) { + e.printStackTrace(); + } finally { + app.invoke("Quit", new Variant[] {}); + } + } + + /** + * WORD转HTML + * + * @param docfile + * WORD文件全路径 + * @param htmlfile + * 转换后HTML存放路径 + * @throws Throwable + * add by duanql 2013-07-17 + */ + + public void WordConverterHtml(String docfile, String htmlfile){ + try { + InputStream input = new FileInputStream(docfile); + HWPFDocument wordDocument = new HWPFDocument(input); + WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); + wordToHtmlConverter.processDocument(wordDocument); + Document htmlDocument = wordToHtmlConverter.getDocument(); + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + DOMSource domSource = new DOMSource(htmlDocument); + StreamResult streamResult = new StreamResult(outStream); + + TransformerFactory tf = TransformerFactory.newInstance(); + Transformer serializer = tf.newTransformer(); + serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); + serializer.setOutputProperty(OutputKeys.INDENT, "yes"); + serializer.setOutputProperty(OutputKeys.METHOD, "html"); + serializer.transform(domSource, streamResult); + outStream.close(); + + String content = new String(outStream.toByteArray(), "UTF-8"); + stringToFile(content,htmlfile); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * EXCEL转HTML + * + * @param xlsfile + * EXCEL文件全路径 + * @param htmlfile + * 转换后HTML存放路径 + */ + public void excelToHtml(String xlsfile, String htmlfile) { + ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 启动excel + try { + app.setProperty("Visible", new Variant(false)); + Dispatch excels = app.getProperty("Workbooks").toDispatch(); + Dispatch excel = Dispatch.invoke(excels, "Open", Dispatch.Method, new Object[] { xlsfile, new Variant(false), new Variant(true) }, new int[1]).toDispatch(); + Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] { htmlfile, new Variant(EXCEL_HTML) }, new int[1]); + Variant f = new Variant(false); + Dispatch.call(excel, "Close", f); + org.jeecgframework.core.util.LogUtil.info("wordtohtml转换成功"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + app.invoke("Quit", new Variant[] {}); + } + } + + /** + * 读文件到字符串 + * + * @param filename 要读的文件名称 + * + */ + public String getInfo(String tmpFile) throws IOException { + StringBuffer sbFile = null; + try{ + + FileInputStream fin = new FileInputStream(tmpFile); + InputStreamReader in = null; + + char[] buffer = new char[4096]; + int len; + sbFile = new StringBuffer(); + in = new InputStreamReader(fin,"gb2312"); + while ( (len = in.read(buffer)) != -1) { + String s = new String(buffer, 0, len); + sbFile.append(s); + } + }catch (IOException e4) { + LogUtil.error(e4.toString()); + } + + return sbFile.toString(); + } + /** + * 字符串写入文件 + * + * @param str 要写入的字符串 + * @param filename 要写入的文件名称 + * + */ + + public void stringToFile(String str,String filename){ + try + { + FileOutputStream fout = new FileOutputStream(filename); + + OutputStreamWriter out = null; + out = new OutputStreamWriter(fout,"gb2312"); + out.write(str); + out.close(); + }catch (IOException e4) { + LogUtil.error(e4.toString()); + } + } + + /** + * 标签替换 针对于类型标签 + * + * @param sourceStr html源字符串 + * @param oldStr 要替换的标签字符串 + * @param newStr 替换后的标签内容 + * + */ + + public String regExReplace(String sourceStr,String oldStr,String newStr){ + java.util.regex.Pattern pattern; + java.util.regex.Matcher matcher; + String ls_comStr = oldStr+regEx_replace; + String ls_returnStr=""; + try + { + pattern = Pattern.compile(ls_comStr,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(sourceStr); + ls_returnStr = matcher.replaceAll(newStr); + + }catch (Exception e) { + LogUtil.error(e.toString()); + } + + return ls_returnStr; + } + + + /** + * 处理HTML + * + * @param htmlStr + * 要处理的HTML + */ + public String doHtml(String htmlStr) { + java.util.regex.Pattern pattern; + java.util.regex.Matcher matcher; + + try{ + pattern = Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_attr1,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_attr2,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_attr3,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(" "); + + pattern = Pattern.compile(regEx_attr4,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_attr5,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); +// pattern = Pattern.compile(regEx_attr7,Pattern.CASE_INSENSITIVE); +// matcher = pattern.matcher(htmlStr); +// htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_attr8,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + //include + StringBuilder ls_include = new StringBuilder(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append("\r\n]+>",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile("<\\/p>",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); +*/ + + //添加
语句 + String ls_form = "\r\n" + + "\r\n" + + "\r\n" + + "\r\n#{jform_hidden_field}语句 + pattern = Pattern.compile("",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll("\r\n"); + + /* + //添加input语句 + pattern = Pattern.compile(regEx_attr6,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + + StringBuffer sb = new StringBuffer(); + String thStr = ""; + String inputStr = ""; + + boolean result = matcher.find(); + while(result) { + thStr = matcher.group(1); +// inputStr = ""; + inputStr = ""; + if(fieldMap.get(thStr)!=null){ + inputStr = FormHtmlUtil.getFormHTML(fieldMap.get(thStr)); + inputStr +=" "; + } + matcher.appendReplacement(sb, inputStr); + result = matcher.find(); + } + matcher.appendTail(sb); + htmlStr = sb.toString(); + */ + + }catch(Exception e) { + LogUtil.error(e.getMessage()); + } + return htmlStr; + } + + + /** + * 处理HTML poi转换生成的html + * + * @param htmlStr 要处理的HTML + * + * add by Duanql 2013-07-22 + */ + public String doPoiHtml(String htmlStr) { + java.util.regex.Pattern pattern; + java.util.regex.Matcher matcher; + + //清除HTML标签匹配内容 + String regEx_poi1 = "]+>"; + + String regEx_poi2 = "<[\\s]*?(style)[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?(style)[\\s]*?>"; + + String regEx_poi3 = "[\\s]?(class|lang)=([^?(\\s|>)]+)"; + + try{ + + + pattern = Pattern.compile(regEx_poi1,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_poi2,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile(regEx_poi3,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile("b2\"",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + pattern = Pattern.compile("|",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + //include + StringBuilder ls_include = new StringBuilder(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append(""); + ls_include.append("\r\n]+>",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); + + pattern = Pattern.compile("<\\/p>",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll(""); +*/ + + //添加
语句 + String ls_form = "\r\n" + + "\r\n" + + "\r\n" + + "\r\n语句 + pattern = Pattern.compile("",Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + htmlStr = matcher.replaceAll("\r\n"); + + /* + //添加input语句 + pattern = Pattern.compile(regEx_attr6,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + + StringBuffer sb = new StringBuffer(); + String thStr = ""; + String inputStr = ""; + + boolean result = matcher.find(); + while(result) { + thStr = matcher.group(1); +// inputStr = ""; + inputStr = ""; + if(fieldMap.get(thStr)!=null){ + inputStr = FormHtmlUtil.getFormHTML(fieldMap.get(thStr)); + inputStr +=" "; + } + matcher.appendReplacement(sb, inputStr); + result = matcher.find(); + } + matcher.appendTail(sb); + htmlStr = sb.toString(); + */ + + }catch(Exception e) { + LogUtil.error(e.getMessage()); + } + return htmlStr; + } + + + public static void main(String[] args) { + try{ + OfficeHtmlUtil wordtohtml = new OfficeHtmlUtil(); +// wordtohtml.wordToHtml("D://jeecg//qjd.doc", "D://jeecg//test.html"); + wordtohtml.WordConverterHtml("D://jeecg//qjd.doc", "D://jeecg//test.html"); + String htmlStr = wordtohtml.getInfo("D://jeecg//test.html"); + htmlStr = wordtohtml.doPoiHtml(htmlStr); + wordtohtml.stringToFile(htmlStr,"D://jeecg//tt.html"); + }catch (IOException e4) {} + + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/SysVar.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/SysVar.java new file mode 100644 index 00000000..5fc5c81d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/SysVar.java @@ -0,0 +1,115 @@ +package org.jeecgframework.web.cgform.common; + +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.jeecgframework.web.system.pojo.base.TSUser; + +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; + +/** + * + * @Title:SysVar + * @description:智能表单系统变量枚举 + * @author 赵俊夫 + * @date Aug 17, 2013 5:34:33 PM + * @version V1.0 + */ +public enum SysVar { + userid, + userkey, + username, + userrealname, + department_id, + department_name, + sysdate, + systime, + ; + /** + * 获得系统变量值 + * @return + */ + public String getSysValue(){ + String sysValue = ""; + TSUser currentUser = null; + try { + currentUser = ResourceUtil.getSessionUserName(); + } catch (RuntimeException e1) { + currentUser = new TSUser(); + e1.printStackTrace(); + } + switch (this) { + case userid: + sysValue = currentUser.getId(); + break; + case userkey: + sysValue = currentUser.getUserKey(); + break; + case username: + sysValue = currentUser.getUserName(); + break; + case userrealname: + sysValue = currentUser.getRealName(); + break; + case department_id: + sysValue = currentUser.getTSDepart().getId(); + break; + case department_name: + sysValue = currentUser.getTSDepart().getDepartname(); + break; + case sysdate: + sysValue = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); + break; + case systime: + sysValue = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + break; + default: + sysValue =""; + break; + } + if(StringUtil.isEmpty(sysValue)){ + sysValue =""; + } + return sysValue; + } + /** + * 根据系统变量名来获取枚举 + * @param sysVarName {sys.username} + * @return + */ + public static SysVar createSysVar(String sysVarName){ + sysVarName = sysVarName.replaceAll("\\{", ""); + sysVarName = sysVarName.replaceAll("\\}", ""); + sysVarName =sysVarName.replace("sys.", ""); + return SysVar.valueOf(sysVarName.toLowerCase()); + } + /** + * 判断是否是枚举 + * @param sysVarName + * @return + */ + public static boolean isSysVar(String sysVarName){ + if(StringUtil.isEmpty(sysVarName)){ + return false; + } + if(sysVarName.contains("{") && sysVarName.contains("}")){ + return true; + }else{ + return false; + } + } + /** + * 直接根据传入的系统变量来获取值 + * @param sysVarName 系统变量名,例如:{sys.username} + * @return 系统变量值,如果传入的不是系统变量,则返回原值。 + */ + public static String getSysVar(String sysVarName){ + if(!isSysVar(sysVarName)){ + return sysVarName; + }else{ + SysVar sysvar = createSysVar(sysVarName); + return sysvar.getSysValue(); + } + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/spring-mvc-cgform.xml b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/spring-mvc-cgform.xml new file mode 100644 index 00000000..97e37a12 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/common/spring-mvc-cgform.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + cgformButtonController.do?save + cgformButtonController.do?del + cgformButtonSqlController.do?save + cgformButtonSqlController.do?del + cgformFtlController.do?save + cgformFtlController.do?del + cgformFtlController.do?active + cgformFtlController.do?cancleActive + cgformEnhanceJsController.do?save + cgformEnhanceJsController.do?del + cgFormHeadController.do?save + + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/autolist/CgAutoListController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/autolist/CgAutoListController.java new file mode 100644 index 00000000..93f097b0 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/autolist/CgAutoListController.java @@ -0,0 +1,464 @@ +package org.jeecgframework.web.cgform.controller.autolist; + +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.common.SysVar; +import org.jeecgframework.web.cgform.engine.FreemarkerHelper; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.service.autolist.CgTableServiceI; +import org.jeecgframework.web.cgform.service.autolist.ConfigServiceI; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.util.QueryParamUtil; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * + * @Title:CgAutoListController + * @description:动态列表控制器[根据表名读取配置文件,进行动态数据展现] + * @author 赵俊夫 + * @date Jul 5, 2013 2:55:36 PM + * @version V1.0 + */ +@Controller +@RequestMapping("/cgAutoListController") +public class CgAutoListController extends BaseController{ + @Autowired + private ConfigServiceI configService; + @Autowired + private CgTableServiceI cgTableService; + @Autowired + private SystemService systemService; + @Autowired + private CgFormFieldServiceI cgFormFieldService; + private static Logger log = Logger.getLogger(CgAutoListController.class); + /** + * 动态列表展现入口 + * @param id 动态配置ID + * @param request + * @param response + */ + @RequestMapping(params = "list") + public void list(String id, HttpServletRequest request, + HttpServletResponse response) { + long start = System.currentTimeMillis(); + //step.1 根据表名获取该表单的配置参数 + String jversion = cgFormFieldService.getCgFormVersionByTableName(id); + Map configs = configService.queryConfigs(id,jversion); + //step.2 获取列表ftl模板路径 + FreemarkerHelper viewEngine = new FreemarkerHelper(); + Map paras = new HashMap(); + //step.3 封装页面数据 + loadVars(configs,paras,request); + //step.4 组合模板+数据参数,进行页面展现 + String html = viewEngine.parseTemplate("/org/jeecgframework/web/cgform/engine/autolist/autolist.ftl", paras); + try { + response.setContentType("text/html"); + response.setHeader("Cache-Control", "no-store"); + PrintWriter writer = response.getWriter(); + writer.println(html); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + long end = System.currentTimeMillis(); + log.debug("动态列表生成耗时:"+(end-start)+" ms"); + } + + /** + * 动态列表数据查询 + * @param configId 配置id 修正使用id会造成主键查询的冲突 + * @param page 分页页面 + * @param rows 分页大小 + * @param request + * @param response + * @param dataGrid + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "datagrid") + public void datagrid(String configId,String page,String field,String rows,String sort,String order, HttpServletRequest request, + HttpServletResponse response, DataGrid dataGrid) { + long start = System.currentTimeMillis(); + //step.1 获取动态配置 + String jversion = cgFormFieldService.getCgFormVersionByTableName(configId); + Map configs = configService.queryConfigs(configId,jversion); + String table = (String) configs.get(CgAutoListConstant.TABLENAME); + Map params = new HashMap(); + //step.2 获取查询条件以及值 + List beans = (List) configs.get(CgAutoListConstant.FILEDS); + for(CgFormFieldEntity b:beans){ +// if(CgAutoListConstant.BOOL_TRUE.equals(b.getIsQuery())){ + QueryParamUtil.loadQueryParams(request,b,params); +// } + } + int p = page==null?1:Integer.parseInt(page); + int r = rows==null?99999:Integer.parseInt(rows); + //step.3 进行查询返回结果 + List> result=cgTableService.querySingle(table, field.toString(), params,sort,order, p,r ); + Long size = cgTableService.getQuerySingleSize(table, field, params); + dealDic(result,beans); + response.setContentType("application/json"); + response.setHeader("Cache-Control", "no-store"); + PrintWriter writer; + try { + writer = response.getWriter(); + writer.println(QueryParamUtil.getJson(result,size)); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + long end = System.currentTimeMillis(); + log.debug("动态列表查询耗时:"+(end-start)+" ms"); + } + /** + * 处理数据字典 + * @param result 查询的结果集 + * @param beans 字段配置 + */ + @SuppressWarnings("unchecked") + private void dealDic(List> result, + List beans) { + for(CgFormFieldEntity bean:beans){ + String dicT = bean.getDictTable();//字典表 + String dicF = bean.getDictField();//字典字段 + String dicText= bean.getDictText();//字典文本 + if(StringUtil.isEmpty(dicT)&& StringUtil.isEmpty(dicF)){ + //不需要处理字典 + continue; + }else{ + if(!bean.getShowType().equals("popup")){ + List> dicDatas = queryDic(dicT, dicF,dicText); + for(Map r:result){ + String value = String.valueOf(r.get(bean.getFieldName())); + for(Map m:dicDatas){ + String typecode = String.valueOf(m.get("typecode")); + String typename = String.valueOf(m.get("typename")); + if(value.equalsIgnoreCase(typecode)){ + r.put(bean.getFieldName(),typename); + } + } + } + } + } + } + } + + /** + * 删除动态表 + * @param configId 配置id + * @param id 主键 + * @param request + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(String configId,String id, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + String jversion = cgFormFieldService.getCgFormVersionByTableName(configId); + String table = (String) configService.queryConfigs(configId,jversion).get(CgAutoListConstant.TABLENAME); + cgTableService.delete(table, id); + String message = "删除成功"; + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + j.setMsg(message); + return j; + } + /** + * 删除动态表-批量 + * @param configId 配置id + * @param id 主键 + * @param request + * @return + */ + @RequestMapping(params = "delBatch") + @ResponseBody + public AjaxJson delBatch(String configId,String ids, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + String jversion = cgFormFieldService.getCgFormVersionByTableName(configId); + String table = (String) configService.queryConfigs(configId,jversion).get(CgAutoListConstant.TABLENAME); + String message = "删除成功"; + try { + String[] id = ids.split(","); + cgTableService.deleteBatch(table, id); + } catch (Exception e) { + message = e.getMessage(); + } + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + j.setMsg(message); + return j; + } + + /** + * 装载要传入到ftl中的变量 + * @param configs 从数据库中取出来的配置 + * @param paras 要传入ftl的参数(需要对configs进行一些改造) + * @param request + * @return 要传入ftl的参数(该方法直接操作paras容器,当然可以使用此返回值) + */ + @SuppressWarnings("unchecked") + private Map loadVars(Map configs,Map paras, HttpServletRequest request) { + paras.putAll(configs); + List fieldList = new ArrayList(); + List queryList = new ArrayList(); + StringBuilder fileds = new StringBuilder(); + StringBuilder initQuery = new StringBuilder(); + for (CgFormFieldEntity bean : (List) configs.get(CgAutoListConstant.FILEDS)) { + Map fm = new HashMap(); + fm.put(CgAutoListConstant.FILED_ID, bean.getFieldName()); + fm.put(CgAutoListConstant.FIELD_TITLE, bean.getContent()); + String isShowList = bean.getIsShowList(); + if(StringUtil.isEmpty(isShowList)){ + if("id".equalsIgnoreCase(bean.getFieldName())){ + isShowList = CgAutoListConstant.BOOL_FALSE; + }else{ + isShowList = CgAutoListConstant.BOOL_TRUE; + } + } + fm.put(CgAutoListConstant.FIELD_ISSHOW, isShowList); + fm.put(CgAutoListConstant.FIELD_QUERYMODE, bean.getQueryMode()); + fm.put(CgAutoListConstant.FIELD_SHOWTYPE, bean.getShowType()); + fm.put(CgAutoListConstant.FIELD_TYPE, bean.getType()); + fm.put(CgAutoListConstant.FIELD_LENGTH, bean.getFieldLength()==null?"120":bean.getFieldLength()); + fm.put(CgAutoListConstant.FIELD_HREF, bean.getFieldHref()==null?"":bean.getFieldHref()); + loadDic(fm,bean); + fieldList.add(fm); + if (CgAutoListConstant.BOOL_TRUE.equals(bean.getIsQuery())) { + Map fmq = new HashMap(); + fmq.put(CgAutoListConstant.FILED_ID, bean.getFieldName()); + fmq.put(CgAutoListConstant.FIELD_TITLE, bean.getContent()); + fmq.put(CgAutoListConstant.FIELD_QUERYMODE, bean.getQueryMode()); + fmq.put(CgAutoListConstant.FIELD_TYPE, bean.getType()); + fmq.put(CgAutoListConstant.FIELD_SHOWTYPE, bean.getShowType()); + fmq.put(CgAutoListConstant.FIELD_DICTFIELD, bean.getDictField()); + fmq.put(CgAutoListConstant.FIELD_DICTTABLE, bean.getDictTable()); + fmq.put(CgAutoListConstant.FIELD_ISQUERY,"Y"); + loadDefaultValue(fmq,bean,request); + loadDic(fmq,bean); + queryList.add(fmq); + } + loadUrlDataFilter(queryList,bean,request); + loadInitQuery(initQuery,bean,request); + fileds.append(bean.getFieldName()).append(","); + } + loadAuth(paras, request); + loadIframeConfig(paras, request); + paras.put(CgAutoListConstant.CONFIG_FIELDLIST, fieldList); + paras.put(CgAutoListConstant.CONFIG_QUERYLIST, queryList); + paras.put(CgAutoListConstant.FILEDS, fileds); + paras.put(CgAutoListConstant.INITQUERY, initQuery); + return paras; + } + /** + * 加载iframe设置 + * @param paras + * @param request + */ + private void loadIframeConfig(Map paras, + HttpServletRequest request) { + //如果列表以iframe形式的话,需要加入样式文件 + StringBuilder sb= new StringBuilder(""); + if(request.getQueryString().contains("isIframe")){ + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + }else{ + } + paras.put(CgAutoListConstant.CONFIG_IFRAME, sb.toString()); + } + /** + * 加载按钮权限 + * @param paras + * @param request + */ + private void loadAuth(Map paras, HttpServletRequest request) { + List nolist = (List) request.getAttribute("noauto_operationCodes"); + if(ResourceUtil.getSessionUserName().getUserName().equals("admin")|| !Globals.BUTTON_AUTHORITY_CHECK){ + nolist = null; + } + String nolistStr = ""; + if(nolist!=null){ + for(String no:nolist){ + nolistStr+=no; + nolistStr+=","; + } + } + paras.put(CgAutoListConstant.CONFIG_NOLIST, nolist==null?new ArrayList(0):nolist); + paras.put(CgAutoListConstant.CONFIG_NOLISTSTR, nolistStr==null?"":nolistStr); + } + /** + * 加载列表初始查询条件- + * @param initQuery + * @param bean + * @param request + */ + private void loadInitQuery(StringBuilder initQuery, CgFormFieldEntity bean, + HttpServletRequest request) { + if(bean.getFieldName().equalsIgnoreCase("id")){ + return; + } + String paramV = request.getParameter(bean.getFieldName()); + String paramVbegin = request.getParameter(bean.getFieldName()+"_begin"); + String paramVend = request.getParameter(bean.getFieldName()+"_end"); + paramV = SysVar.getSysVar(paramV); + paramVbegin = SysVar.getSysVar(paramVbegin); + paramVend = SysVar.getSysVar(paramVend); + if(!StringUtil.isEmpty(paramV)){ + initQuery.append("&"+bean.getFieldName()+"="+paramV); + } + if(!StringUtil.isEmpty(paramVbegin)){ + initQuery.append("&"+bean.getFieldName()+"_begin="+paramVbegin); + } + if(!StringUtil.isEmpty(paramVend)){ + initQuery.append("&"+bean.getFieldName()+"_end="+paramVend); + } + } + + /** + * 加载URL中的过滤参数[在未配置查询字段的情况下,作为hidden控件使用] + * @param queryList + * @param bean + * @param request + */ + @SuppressWarnings("unchecked") + private void loadUrlDataFilter(List queryList, CgFormFieldEntity bean, + HttpServletRequest request) { + String paramV = request.getParameter(bean.getFieldName()); + String paramVbegin = request.getParameter(bean.getFieldName()+"_begin"); + String paramVend = request.getParameter(bean.getFieldName()+"_end"); + if(bean.getFieldName().equalsIgnoreCase("id")){ + return; + } + for(Map mq:queryList){ + if(mq.containsValue(bean.getFieldName())){ + return; + } + } + if(!StringUtil.isEmpty(paramV) || !StringUtil.isEmpty(paramVbegin) ||!StringUtil.isEmpty(paramVend)){ + Map fmq = new HashMap(); + fmq.put(CgAutoListConstant.FILED_ID, bean.getFieldName()); + fmq.put(CgAutoListConstant.FIELD_TITLE, bean.getContent()); + fmq.put(CgAutoListConstant.FIELD_QUERYMODE, bean.getQueryMode()); + fmq.put(CgAutoListConstant.FIELD_TYPE, bean.getType()); + fmq.put(CgAutoListConstant.FIELD_ISQUERY,"N"); + paramV = SysVar.getSysVar(paramV); + fmq.put(CgAutoListConstant.FIELD_VALUE, paramV); + paramVbegin = SysVar.getSysVar(paramVbegin); + paramVend = SysVar.getSysVar(paramVend); + fmq.put(CgAutoListConstant.FIELD_VALUE_BEGIN, StringUtil.isEmpty(paramVbegin)?"":paramVbegin); + fmq.put(CgAutoListConstant.FIELD_VALUE_END, StringUtil.isEmpty(paramVend)?"":paramVend); + queryList.add(fmq); + } + } + + /** + * 加载URL中的过滤参数[在已配置查询字段的情况下,给该查询字段加上默认值] + * @param fmq + * @param bean + * @param request + */ + @SuppressWarnings("unchecked") + private void loadDefaultValue(Map fmq, CgFormFieldEntity bean, + HttpServletRequest request) { + if(bean.getQueryMode().equalsIgnoreCase("single")){ + String paramV = request.getParameter(bean.getFieldName()); + if(!StringUtil.isEmpty(paramV)){ + paramV = SysVar.getSysVar(paramV); + fmq.put(CgAutoListConstant.FIELD_VALUE, paramV); + } + }else if(bean.getQueryMode().equalsIgnoreCase("group")){ + String paramVbegin = request.getParameter(bean.getFieldName()+"_begin"); + String paramVend = request.getParameter(bean.getFieldName()+"_end"); + paramVbegin = SysVar.getSysVar(paramVbegin); + paramVend = SysVar.getSysVar(paramVend); + fmq.put(CgAutoListConstant.FIELD_VALUE_BEGIN, StringUtil.isEmpty(paramVbegin)?"":paramVbegin); + fmq.put(CgAutoListConstant.FIELD_VALUE_END, StringUtil.isEmpty(paramVend)?"":paramVend); + } + } + + /** + * 装载数据字典 + * @param m 要放入freemarker的数据 + * @param bean 读取出来的动态配置数据 + */ + @SuppressWarnings("unchecked") + private void loadDic(Map m, CgFormFieldEntity bean) { + String dicT = bean.getDictTable();//字典表 + String dicF = bean.getDictField();//字典字段 + String dicText = bean.getDictText();//字典文本 + if(StringUtil.isEmpty(dicT)&& StringUtil.isEmpty(dicF)){ + //如果这两个字段都为空,则没有数据字典 + m.put(CgAutoListConstant.FIELD_DICTLIST, new ArrayList(0)); + return; + } + if(!bean.getShowType().equals("popup")){ + List> dicDatas = queryDic(dicT, dicF,dicText); + m.put(CgAutoListConstant.FIELD_DICTLIST, dicDatas); + }else{ + m.put(CgAutoListConstant.FIELD_DICTLIST, new ArrayList(0)); + } + } + /** + * 查询数据字典 + * @param dicT 数据字典表 + * @param dicF 数据字典字段 + * @param dicText 数据字典显示文本 + * @return + */ + private List> queryDic(String dicT, String dicF,String dicText) { + StringBuilder dicSql = new StringBuilder(); + if(StringUtil.isEmpty(dicT)){//step.1 如果没有字典表则使用系统字典表 + dicT = CgAutoListConstant.SYS_DIC; + dicSql.append(" SELECT TYPECODE,TYPENAME FROM"); + dicSql.append(" "+dicT); + dicSql.append(" "+"WHERE TYPEGROUPID = "); + dicSql.append(" "+"(SELECT ID FROM "+CgAutoListConstant.SYS_DICGROUP+" WHERE TYPEGROUPCODE = '"+dicF+"' )"); + }else{//step.2 如果给定了字典表则使用该字典表,这个功能需要在表单配置追加字段 + //table表查询 + dicSql.append("SELECT DISTINCT ").append(dicF).append(" as typecode, "); + if(dicText!=null&&dicText.length()>0){ + dicSql.append(dicText).append(" as typename "); + }else{ + dicSql.append(dicF).append(" as typename "); + } + dicSql.append(" FROM ").append(dicT); + dicSql.append(" ORDER BY ").append(dicF); + } + //step.3 字典数据 + List> dicDatas = systemService.findForJdbc(dicSql.toString()); + return dicDatas; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/build/CgFormBuildController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/build/CgFormBuildController.java new file mode 100644 index 00000000..8ba2dfaf --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/build/CgFormBuildController.java @@ -0,0 +1,329 @@ +package org.jeecgframework.web.cgform.controller.build; + +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.common.CommUtils; +import org.jeecgframework.web.cgform.engine.TempletContext; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.upload.CgUploadEntity; +import org.jeecgframework.web.cgform.exception.BusinessException; +import org.jeecgframework.web.cgform.service.build.DataBaseService; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.util.DBTypeUtil; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.UUIDGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import freemarker.template.Template; +import freemarker.template.TemplateException; + +/** + * @ClassName: formBuildController + * @Description: 读取模板生成填报表单(添加、修改)-执行表单数据添加和修改操作 + * @author 周俊峰 + */ +@Controller +@RequestMapping("/cgFormBuildController") +public class CgFormBuildController extends BaseController { + private static final Logger logger = Logger.getLogger(CgFormBuildController.class); + private String message; + + @Autowired + private TempletContext templetContext; + @Autowired + private DataBaseService dataBaseService; + + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * form表单页面跳转 + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "ftlForm") + public void ftlForm(HttpServletRequest request,HttpServletResponse response) { + try { + long start = System.currentTimeMillis(); + String tableName =request.getParameter("tableName"); + Template template = templetContext.getTemplate(tableName); + StringWriter stringWriter = new StringWriter(); + BufferedWriter writer = new BufferedWriter(stringWriter); + Map data = new HashMap(); + String id = request.getParameter("id"); + //获取版本号 + String version = cgFormFieldService.getCgFormVersionByTableName(tableName); + //装载表单配置 + Map configData = cgFormFieldService.getFtlFormConfig(tableName,version); + data = new HashMap(configData); + //如果该表是主表查出关联的附表 + CgFormHeadEntity head = (CgFormHeadEntity)data.get("head"); + Map dataForm = new HashMap(); + if(StringUtils.isNotEmpty(id)){ + dataForm = dataBaseService.findOneForJdbc(tableName, id); + } + Iterator it=dataForm.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + String ok=(String)entry.getKey(); + Object ov=entry.getValue(); + data.put(ok, ov); + } + Map tableData = new HashMap(); + //获取主表或单表表单数据 + tableData.put(tableName, dataForm); + //获取附表表表单数据 + if(StringUtils.isNotEmpty(id)){ + if(head.getJformType()==CgAutoListConstant.JFORM_TYPE_MAIN_TALBE){ + String subTableStr = head.getSubTableStr(); + if(StringUtils.isNotEmpty(subTableStr)){ + String [] subTables = subTableStr.split(","); + List> subTableData = new ArrayList>(); + for(String subTable:subTables){ + subTableData = cgFormFieldService.getSubTableData(tableName,subTable,id); + tableData.put(subTable, subTableData); + } + } + } + } + //装载单表/(主表和附表)表单数据 + data.put("data", tableData); + data.put("id", id); + //装载附件信息数据 + pushFiles(data,id); + template.process(data, writer); + String content = stringWriter.toString(); + response.setContentType("text/html;charset=utf-8"); + response.getWriter().print(content); + long end = System.currentTimeMillis(); + logger.debug("自定义表单生成耗时:"+(end-start)+" ms"); + } catch (IOException e) { + e.printStackTrace(); + } catch (TemplateException e) { + e.printStackTrace(); + } + + } + + /** + * 如果表单带有附件,则查询出来传递到页面 + * @param data 传往页面的数据容器 + * @param id 表单主键,用户查找附件数据 + */ + private void pushFiles(Map data, String id) { + List uploadBeans = cgFormFieldService.findByProperty(CgUploadEntity.class, "cgformId", id); + List> files = new ArrayList>(0); + for(CgUploadEntity b:uploadBeans){ + String title = b.getAttachmenttitle();//附件名 + String fileKey = b.getId();//附件主键 + String path = b.getRealpath();//附件路径 + String field = b.getCgformField();//表单中作为附件控件的字段 + Map file = new HashMap(); + file.put("title", title); + file.put("fileKey", fileKey); + file.put("path", path); + file.put("field", field==null?"":field); + files.add(file); + } + data.put("filesList", files); + } + + /** + * 保存或更新 + * + * @param jeecgDemo + * @param request + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "saveOrUpdate") + @ResponseBody + public AjaxJson saveOrUpdate(HttpServletRequest request) throws Exception{ + AjaxJson j = new AjaxJson(); + Map data = request.getParameterMap(); + if(data!=null){ + data = CommUtils.mapConvert(data); + String tableName = (String)data.get("tableName"); + String id = (String)data.get("id"); + //打印测试 + Iterator it=data.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + Object ok=entry.getKey(); + Object ov=entry.getValue()==null?"":entry.getValue(); + logger.debug("name:"+ok.toString()+";value:"+ov.toString()); + } + if(StringUtils.isEmpty(id)){ + //消除不是表的字段 + String [] filterName = {"tableName","saveOrUpdate"}; + data = CommUtils.attributeMapFilter(data,filterName); + //保存数据库 + try { + Object pkValue = null; + pkValue = dataBaseService.getPkValue(tableName); + data.put("id", pkValue); + int num = dataBaseService.insertTable(tableName, data); + if (num>0) { + j.setSuccess(true); + message = "添加成功"; + }else { + j.setSuccess(false); + message = "添加失败"; + } + } catch (Exception e) { + e.printStackTrace(); + j.setSuccess(false); + message = e.getMessage(); + } + }else{ + //消除不是表的字段 + String [] filterName = {"tableName","saveOrUpdate","id"}; + data = CommUtils.attributeMapFilter(data,filterName); + //更新数据库 + try { + int num = dataBaseService.updateTable(tableName, id, data); + if (num>0) { + j.setSuccess(true); + message = "更新成功"; + }else { + j.setSuccess(false); + message = "更新失败"; + } + + } catch (Exception e) { + e.printStackTrace(); + j.setSuccess(false); + message = e.getMessage(); + } + } + } + j.setMsg(message); + j.setObj(data); + return j; + } + + + + /** + * 保存或更新 + * + * @param jeecgDemo + * @param request + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "saveOrUpdateMore") + @ResponseBody + public AjaxJson saveOrUpdateMore(HttpServletRequest request) throws Exception{ + AjaxJson j = new AjaxJson(); + Map data = request.getParameterMap(); + if(data!=null){ + data = CommUtils.mapConvert(data); + String tableName = (String)data.get("tableName"); + String id = (String)data.get("id"); + //打印测试 + Iterator it=data.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + Object ok=entry.getKey(); + Object ov=entry.getValue()==null?"":entry.getValue(); + logger.debug("name:"+ok.toString()+";value:"+ov.toString()); + } + Map>> mapMore =CommUtils.mapConvertMore(data, tableName); + if(StringUtils.isEmpty(id)){ + logger.info("一对多添加!!!!!"); + try { + Map result = dataBaseService.insertTableMore(mapMore, tableName); + data.put("id", result.get("id")); + j.setSuccess(true); + message = "添加成功"; + } catch (BusinessException e) { + e.printStackTrace(); + j.setSuccess(false); + message = e.getMessage(); + } + + }else{ + logger.info("一对多修改!!!!!"); + try { + dataBaseService.updateTableMore(mapMore, tableName); + j.setSuccess(true); + message = "更新成功"; + } catch (BusinessException e) { + e.printStackTrace(); + j.setSuccess(false); + message = e.getMessage(); + } + } + } + j.setMsg(message); + j.setObj(data); + return j; + } + + + /** + * 自定义按钮(触发对应的后台方法) + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "doButton") + @ResponseBody + public AjaxJson doButton(HttpServletRequest request){ + AjaxJson j = new AjaxJson(); + try { + String formId = request.getParameter("formId"); + String buttonCode = request.getParameter("buttonCode"); + String tableName = request.getParameter("tableName"); + String id = request.getParameter("id"); + Map data = dataBaseService.findOneForJdbc(tableName, id); + if(data!=null){ + //打印测试 + Iterator it=data.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + Object ok=entry.getKey(); + Object ov=entry.getValue()==null?"":entry.getValue(); + logger.debug("name:"+ok.toString()+";value:"+ov.toString()); + } + data = CommUtils.mapConvert(data); + dataBaseService.executeSqlExtend(formId, buttonCode, data); + } + j.setSuccess(true); + message = "操作成功"; + } catch (Exception e) { + e.printStackTrace(); + message = "操作失败"; + } + j.setMsg(message); + return j; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/build/CgformSqlController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/build/CgformSqlController.java new file mode 100644 index 00000000..30904a24 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/build/CgformSqlController.java @@ -0,0 +1,286 @@ +package org.jeecgframework.web.cgform.controller.build; + +import java.beans.PropertyDescriptor; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecgframework.web.cgform.dao.config.CgFormVersionDao; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.pojo.config.CgFormHeadPojo; +import org.jeecgframework.web.cgform.service.migrate.MigrateForm; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.model.common.DBTable; +import org.jeecgframework.core.common.model.common.UploadFile; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.util.LogUtil; +import org.jeecgframework.core.util.ReflectHelper; +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; +import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; +import org.springframework.jdbc.core.namedparam.SqlParameterSource; +import org.springframework.stereotype.Controller; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import com.thoughtworks.xstream.XStream; + +/** + * @Title: Controller + * @Description: sql导入导出 + * @author duanqilu + * @date 2013-09-04 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgformSqlController") +public class CgformSqlController extends BaseController { + /** + * Logger for this class + */ + @SuppressWarnings("unused") + private static final Logger logger = Logger + .getLogger(CgformSqlController.class); + @Autowired + private CgFormVersionDao cgFormVersionDao; + + @Autowired + @Qualifier("jdbcTemplate") + private JdbcTemplate jdbcTemplate; + @Autowired + @Qualifier("namedParameterJdbcTemplate") + private NamedParameterJdbcTemplate namedJdbcTemplate; + + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * 导出 Form(采用SQL方式) + * + * @return + * @throws SQLException + */ + @RequestMapping(params = "doMigrateOut") + public void doMigrateOut(HttpServletRequest request,HttpServletResponse response){ + String ids = request.getParameter("ids"); // 获得选择表单ID + //List listSQL = new ArrayList(); + try { + //listSQL = MigrateForm.createSQL(ids, jdbcTemplate);// 创建查询语句 + //MigrateForm.executeSQL(listSQL, jdbcTemplate);// 生成sql并拼装 + List dbTables = MigrateForm.buildExportDbTableList(ids, jdbcTemplate); //创建导出的数据对象 + //MigrateForm.generateXmlDataOutFlieContent(ids, jdbcDao); + //update by duanqilu 2013-12-05 增加多表单导出功能 + String ls_id=""; + if(ids.indexOf(",")>0){ + ls_id=ids.substring(0, ids.indexOf(",")); + } + else{ + ls_id = ids; + } + CgFormHeadEntity cgFormHeadEntity = cgFormVersionDao.getCgFormById(ls_id); + //update by duanqilu 2013-12-05 增加多表单导出功能 + //MigrateForm.createFile(request,cgFormHeadEntity.getTableName()) + String ls_filename = cgFormHeadEntity.getTableName();// 创建文件 + String destFileDir = ResourceUtil.getSystempPath()+"/"+ls_filename; + MigrateForm.generateXmlDataOutFlieContent(dbTables, destFileDir); + ls_filename = MigrateForm.zip(null, "", destFileDir); // 压缩文件 + // 文件下载 + File file = new File(ls_filename); + String filename = file.getName(); + InputStream fis = new BufferedInputStream(new FileInputStream(ls_filename)); + // 输出生成的zip文件 + // 清空response + response.reset(); + // 设置response的Header + response.setContentType("text/html;charset=utf-8"); + request.setCharacterEncoding("UTF-8"); + response.addHeader("Content-Length", "" + file.length()); + OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); + response.setContentType("application/octet-stream"); + response.setHeader("Content-disposition", "attachment;filename=" + + new String(filename.getBytes("utf-8"), "ISO8859-1")); + int bytesRead = 0; + byte[] buffer = new byte[8192]; + while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) { + toClient.write(buffer, 0, bytesRead); + } + toClient.write(buffer); + toClient.flush(); + toClient.close(); + fis.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 导入sql文件跳转 + * + * @param icon + * @param req + * @return + */ + @RequestMapping(params = "toCgformMigrate") + public ModelAndView toCgformMigrate(HttpServletRequest req) { + return new ModelAndView("jeecg/cgform/config/cgformMigrateSqlInclude"); + } + + /** + * 导入Form(采用SQL方式) + * + * @param ids + * @return + * @throws Exception + */ + @RequestMapping(params = "doMigrateIn", method = RequestMethod.POST) + @ResponseBody + public AjaxJson doMigrateIn(HttpServletRequest request, + HttpServletResponse response) { + AjaxJson j = new AjaxJson(); + String ls_file = ""; + UploadFile uploadFile = new UploadFile(request, ls_file); + uploadFile.setCusPath(""); + uploadFile.setSwfpath(""); + String uploadbasepath = uploadFile.getBasePath();// 文件上传根目录 + if (uploadbasepath == null) { + uploadbasepath = ResourceUtil.getConfigByName("uploadpath"); + } + String path = uploadbasepath + "\\";// 文件保存在硬盘的相对路径 + String realPath = uploadFile.getMultipartRequest().getSession() + .getServletContext().getRealPath("\\") + + path;// 文件的硬盘真实路径 + message = null; + try { + File file = new File(realPath); + if (!file.exists()) { + file.mkdir();// 若目录不存在,创建根目录 + } + uploadFile.getMultipartRequest().setCharacterEncoding("UTF-8"); + MultipartHttpServletRequest multipartRequest = uploadFile + .getMultipartRequest(); + Map fileMap = multipartRequest.getFileMap(); + String fileName = ""; + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile mf = entity.getValue();// 获取上传文件对象 + fileName = mf.getOriginalFilename();// 获取文件名 + String savePath = realPath + fileName; + File savefile = new File(savePath); + String ls_tmp = savefile.getName(); + /*String sqlfilename = realPath + + ls_tmp.substring(0, ls_tmp.lastIndexOf(".")) + "\\" + + ls_tmp.substring(0, ls_tmp.lastIndexOf(".")) + ".sql";*/ + FileCopyUtils.copy(mf.getBytes(), savefile); + MigrateForm.unzip(savePath, ""); + String sqlFileDir = realPath + ls_tmp.substring(0, ls_tmp.lastIndexOf(".")); + File sqlDirFile = new File(sqlFileDir); + String sqlfilename = sqlDirFile.getPath() + "/"; + if(sqlDirFile.isDirectory()){ + sqlfilename += sqlDirFile.list()[0]; + } + /*OfficeHtmlUtil officeHtml = new OfficeHtmlUtil(); + String sqlStr = officeHtml.getInfo(sqlfilename); + String[] sqlStrs = sqlStr.split(";"); + for (String exesql : sqlStrs) { + if (!StringUtil.isEmpty(exesql) && !"\n".equals(exesql)) { + jdbcTemplate.execute(exesql); + } + }*/ + XStream xStream = new XStream(); + xStream.processAnnotations(DBTable.class); + @SuppressWarnings("unchecked") + List dbTables = (List) xStream.fromXML(new File(sqlfilename)); + if(!dbTables.isEmpty() && dbTables.size()>0){ + for (DBTable dbTable : dbTables) { + mergeMigrateInComponent(dbTable); + } + } + } + } catch (Exception e1) { + e1.printStackTrace(); + LogUtil.error(e1.toString()); + message = e1.toString(); + } + if (StringUtil.isNotEmpty(message)) + j.setMsg("SQL文件导入失败," + message); + else + j.setMsg("SQL文件导入成功"); + + return j; + } + + private void mergeMigrateInComponent(DBTable dbTable) { + Class clazz = dbTable.getClass1(); + if(null != clazz){ + List dataList = dbTable.getTableData(); + if(null == dataList || dataList.size() < 1) return; + Map idMap = new HashMap(); + String id = ""; + String countSql = ""; + SqlParameterSource sqlParameterSource; + List> idList = new ArrayList>(); + for (T t : dataList) { + ReflectHelper reflectHelper = new ReflectHelper(t); + List ignores = new ArrayList(); + ignores.add("class"); + PropertyDescriptor[] pds = BeanUtils.getPropertyDescriptors(clazz); + for (PropertyDescriptor pd : pds) { + if(null == reflectHelper.getMethodValue(pd.getName())){ + ignores.add(pd.getName()); + } + } + if(t instanceof CgFormHeadPojo){ + reflectHelper.setMethodValue("isDbsynch", "N"); + } + id = (String) reflectHelper.getMethodValue("id"); + countSql = "select id from "+ dbTable.getTableName() + " where id=?"; + if(t instanceof CgFormHeadPojo){ + countSql = "select id from "+ dbTable.getTableName() + " where table_name=?"; + id = oConvertUtils.getString(reflectHelper.getMethodValue("tableName")); + } + idList = jdbcTemplate.queryForList(countSql, id); + sqlParameterSource = MigrateForm.generateParameterMap(t, ignores); + if(idList.size() > 0 && t instanceof CgFormHeadPojo){ + idMap.put("id", oConvertUtils.getString(idList.get(0).get("id"))); + namedJdbcTemplate.update("delete from cgform_field where table_id=:id", idMap); + namedJdbcTemplate.update("delete from cgform_head where id=:id", idMap); + namedJdbcTemplate.update(MigrateForm.generateInsertSql(dbTable.getTableName(), clazz, ignores), sqlParameterSource); + } else if(idList.size() > 0){ + namedJdbcTemplate.update(MigrateForm.generateUpdateSql(dbTable.getTableName(), clazz, ignores), sqlParameterSource); + } else { + namedJdbcTemplate.update(MigrateForm.generateInsertSql(dbTable.getTableName(), clazz, ignores), sqlParameterSource); + } + } + } + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/button/CgformButtonController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/button/CgformButtonController.java new file mode 100644 index 00000000..11fac483 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/button/CgformButtonController.java @@ -0,0 +1,165 @@ +package org.jeecgframework.web.cgform.controller.button; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +/** + * @Title: Controller + * @Description: 表单自定义按钮 + * @author 张代浩 + * @date 2013-08-07 20:16:26 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgformButtonController") +public class CgformButtonController extends BaseController { + /** + * Logger for this class + */ + @SuppressWarnings("unused") + private static final Logger logger = Logger.getLogger(CgformButtonController.class); + + @Autowired + private CgformButtonServiceI cgformButtonService; + @Autowired + private SystemService systemService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + /** + * 表单自定义按钮列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "cgformButton") + public ModelAndView cgformButton(HttpServletRequest request) { + String formId = request.getParameter("formId"); + String tableName = request.getParameter("tableName"); + request.setAttribute("formId", formId); + request.setAttribute("tableName", tableName); + return new ModelAndView("jeecg/cgform/button/cgformButtonList"); + } + + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @SuppressWarnings("unchecked") + @RequestMapping(params = "datagrid") + public void datagrid(CgformButtonEntity cgformButton,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(CgformButtonEntity.class, dataGrid); + //查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cgformButton, request.getParameterMap()); + this.cgformButtonService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除表单自定义按钮 + * + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(CgformButtonEntity cgformButton, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgformButton = systemService.getEntity(CgformButtonEntity.class, cgformButton.getId()); + message = "删除成功"; + cgformButtonService.delete(cgformButton); + systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + + /** + * 添加表单自定义按钮 + * + * @param ids + * @return + */ + @RequestMapping(params = "save") + @ResponseBody + public AjaxJson save(CgformButtonEntity cgformButton, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + if("add".equalsIgnoreCase(cgformButton.getButtonCode()) + ||"update".equalsIgnoreCase(cgformButton.getButtonCode()) + ||"delete".equalsIgnoreCase(cgformButton.getButtonCode())){ + message = "按钮编码不能是add/update/delete"; + j.setMsg(message); + return j; + } + List list = cgformButtonService.checkCgformButton(cgformButton); + if(list!=null&&list.size()>0){ + message = "按钮编码已经存在"; + j.setMsg(message); + return j; + } + if (StringUtil.isNotEmpty(cgformButton.getId())) { + message = "更新成功"; + CgformButtonEntity t = cgformButtonService.get(CgformButtonEntity.class, cgformButton.getId()); + try { + MyBeanUtils.copyBeanNotNull2Bean(cgformButton, t); + cgformButtonService.saveOrUpdate(t); + systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + message = "添加成功"; + cgformButtonService.save(cgformButton); + systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); + } + j.setMsg(message); + return j; + } + + /** + * 表单自定义按钮列表页面跳转 + * + * @return + */ + @RequestMapping(params = "addorupdate") + public ModelAndView addorupdate(CgformButtonEntity cgformButton, HttpServletRequest req) { + if (StringUtil.isNotEmpty(cgformButton.getId())) { + cgformButton = cgformButtonService.getEntity(CgformButtonEntity.class, cgformButton.getId()); + } + req.setAttribute("cgformButtonPage", cgformButton); + return new ModelAndView("jeecg/cgform/button/cgformButton"); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/button/CgformButtonSqlController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/button/CgformButtonSqlController.java new file mode 100644 index 00000000..2f589474 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/button/CgformButtonSqlController.java @@ -0,0 +1,192 @@ +package org.jeecgframework.web.cgform.controller.button; +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; +import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI; +import org.jeecgframework.web.cgform.service.button.CgformButtonSqlServiceI; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +/** + * @Title: Controller + * @Description: 按钮sql增强 + * @author 张代浩 + * @date 2013-08-07 23:09:23 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgformButtonSqlController") +public class CgformButtonSqlController extends BaseController { + /** + * Logger for this class + */ + @SuppressWarnings("unused") + private static final Logger logger = Logger.getLogger(CgformButtonSqlController.class); + + @Autowired + private CgformButtonSqlServiceI cgformButtonSqlService; + @Autowired + private CgformButtonServiceI cgformButtonService; + @Autowired + private SystemService systemService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + /** + * 按钮sql增强列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "cgformButtonSql") + public ModelAndView cgformButtonSql(HttpServletRequest request) { + String formId = request.getParameter("formId"); + String tableName = request.getParameter("tableName"); + request.setAttribute("formId", formId); + request.setAttribute("tableName", tableName); + return new ModelAndView("jeecg/cgform/button/cgformButtonSqlList"); + } + + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @SuppressWarnings("unchecked") + @RequestMapping(params = "datagrid") + public void datagrid(CgformButtonSqlEntity cgformButtonSql,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(CgformButtonSqlEntity.class, dataGrid); + //查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cgformButtonSql, request.getParameterMap()); + this.cgformButtonSqlService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除按钮sql增强 + * + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(CgformButtonSqlEntity cgformButtonSql, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgformButtonSql = systemService.getEntity(CgformButtonSqlEntity.class, cgformButtonSql.getId()); + message = "删除成功"; + cgformButtonSqlService.delete(cgformButtonSql); + systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + /** + * 查找数据 + * + * @return + */ + @RequestMapping(params = "doCgformButtonSql") + @ResponseBody + public AjaxJson doCgformButtonSql(CgformButtonSqlEntity cgformButtonSql, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + CgformButtonSqlEntity cgformSql = cgformButtonSqlService.getCgformButtonSqlByCodeFormId(cgformButtonSql.getButtonCode(), cgformButtonSql.getFormId()); + if(cgformSql!=null){ + j.setObj(cgformSql); + j.setSuccess(true); + }else{ + j.setSuccess(false); + } + return j; + } + + + /** + * 添加按钮sql增强 + * + * @param ids + * @return + */ + @RequestMapping(params = "save") + @ResponseBody + public AjaxJson save(CgformButtonSqlEntity cgformButtonSql, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + List list = cgformButtonSqlService.checkCgformButtonSql(cgformButtonSql); + if(list!=null&&list.size()>0){ + message = "按钮编码已经存在"; + j.setMsg(message); + return j; + } + if (StringUtil.isNotEmpty(cgformButtonSql.getId())) { + message = "更新成功"; + CgformButtonSqlEntity t = cgformButtonSqlService.get(CgformButtonSqlEntity.class, cgformButtonSql.getId()); + try { + MyBeanUtils.copyBeanNotNull2Bean(cgformButtonSql, t); + cgformButtonSqlService.saveOrUpdate(t); + systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + message = "添加成功"; + cgformButtonSqlService.save(cgformButtonSql); + systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); + } + j.setMsg(message); + return j; + } + + /** + * 按钮sql增强列表页面跳转 + * + * @return + */ + @RequestMapping(params = "addorupdate") + public ModelAndView addorupdate(CgformButtonSqlEntity cgformButtonSql, HttpServletRequest req) { + //根据buttonCode和formId初始化数据 + cgformButtonSql.setButtonCode("add"); + if (StringUtil.isNotEmpty(cgformButtonSql.getButtonCode())&&StringUtil.isNotEmpty(cgformButtonSql.getFormId())) { + CgformButtonSqlEntity cgformButtonSqlVo = cgformButtonSqlService.getCgformButtonSqlByCodeFormId(cgformButtonSql.getButtonCode(), cgformButtonSql.getFormId()); + if(cgformButtonSqlVo!=null){ + cgformButtonSql = cgformButtonSqlVo; + } + } + List list = cgformButtonService.getCgformButtonListByFormId(cgformButtonSql.getFormId()); + if(list==null){ + list = new ArrayList(); + } + req.setAttribute("buttonList", list); + req.setAttribute("cgformButtonSqlPage", cgformButtonSql); + return new ModelAndView("jeecg/cgform/button/cgformButtonSql"); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/cgformftl/CgformFtlController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/cgformftl/CgformFtlController.java new file mode 100644 index 00000000..aef4f5e6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/cgformftl/CgformFtlController.java @@ -0,0 +1,555 @@ +package org.jeecgframework.web.cgform.controller.cgformftl; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.common.OfficeHtmlUtil; +import org.jeecgframework.web.cgform.entity.cgformftl.CgformFtlEntity; +import org.jeecgframework.web.cgform.service.cgformftl.CgformFtlServiceI; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.common.model.common.UploadFile; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.DataUtils; +import org.jeecgframework.core.util.FileUtils; +import org.jeecgframework.core.util.LogUtil; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +/** + * @Title: Controller + * @Description: 上传Word转换为freemarker表单 + * @author 段其录 + * @date 2013-07-03 17:42:05 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgformFtlController") +public class CgformFtlController extends BaseController { + /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(CgformFtlController.class); + + @Autowired + private CgformFtlServiceI cgformFtlService; + @Autowired + private SystemService systemService; + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * 模板展示 + * + * @author 安超 + * @return + */ + @RequestMapping(params = "formEkeditor") + public ModelAndView ckeditor(HttpServletRequest request, String id) { + CgformFtlEntity t = systemService.get(CgformFtlEntity.class, id); + request.setAttribute("cgformFtlEntity", t); + if (t.getFtlContent() == null) { + request.setAttribute("contents", ""); + } else { + request.setAttribute("contents", new String(t.getFtlContent())); + } + return new ModelAndView("jeecg/cgform/cgformftl/ckeditor"); + } + + /** + * 模板编辑保存 + * + * @author 安超 + * @return + */ + @RequestMapping(params = "saveFormEkeditor") + @ResponseBody + public AjaxJson saveCkeditor(HttpServletRequest request, + CgformFtlEntity cgformFtlEntity, String contents) { + AjaxJson j = new AjaxJson(); + if (StringUtil.isNotEmpty(cgformFtlEntity.getId())) { + CgformFtlEntity t = systemService.get(CgformFtlEntity.class, + cgformFtlEntity.getId()); + try { + MyBeanUtils.copyBeanNotNull2Bean(cgformFtlEntity, t); + t.setFtlContent(contents); + systemService.saveOrUpdate(t); + j.setSuccess(true); + j.setMsg("更新成功"); + } catch (Exception e) { + e.printStackTrace(); + j.setSuccess(false); + j.setMsg("更新失败"); + } + } + return j; + } + + /** + * Word转Ftl列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "cgformFtl") + public ModelAndView cgformFtl(HttpServletRequest request) { + String formid = request.getParameter("formid"); + request.setAttribute("formid", formid); + return new ModelAndView("jeecg/cgform/cgformftl/cgformFtlList"); + } + + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @SuppressWarnings("unchecked") + @RequestMapping(params = "datagrid") + public void datagrid(CgformFtlEntity cgformFtl, HttpServletRequest request, + HttpServletResponse response, DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(CgformFtlEntity.class, dataGrid); + // 查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, + cgformFtl, request.getParameterMap()); + this.cgformFtlService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除Word转Ftl + * + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(CgformFtlEntity cgformFtl, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgformFtl = systemService.getEntity(CgformFtlEntity.class, + cgformFtl.getId()); + message = "删除成功"; + cgformFtlService.delete(cgformFtl); + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + /** + * 激活Ftl + * + * @return + */ + @RequestMapping(params = "active") + @ResponseBody + public AjaxJson active(CgformFtlEntity cgformFtl, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + try { + // 判断有没有激活过的模板 + cgformFtl = systemService.getEntity(CgformFtlEntity.class, + cgformFtl.getId()); + if (!cgformFtlService.hasActive(cgformFtl.getCgformId())) { + cgformFtl.setFtlStatus("1"); + cgformFtlService.saveOrUpdate(cgformFtl); + message = "激活成功"; + systemService.addLog(message, Globals.Log_Type_UPDATE, + Globals.Log_Leavel_INFO); + j.setSuccess(true); + j.setMsg(message); + } else { + message = "已有激活模板,请取消后再进行激活"; + j.setSuccess(true); + j.setMsg(message); + } + } catch (Exception e) { + logger.info(e.getMessage()); + message = "激活失败"; + j.setSuccess(false); + j.setMsg(message); + } + return j; + } + + /** + * 取消激活Ftl + * + * @return + */ + @RequestMapping(params = "cancleActive") + @ResponseBody + public AjaxJson cancleActive(CgformFtlEntity cgformFtl, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + try { + cgformFtl = systemService.getEntity(CgformFtlEntity.class, + cgformFtl.getId()); + cgformFtl.setFtlStatus("0"); + cgformFtlService.saveOrUpdate(cgformFtl); + message = "取消激活成功"; + systemService.addLog(message, Globals.Log_Type_UPDATE, + Globals.Log_Leavel_INFO); + j.setSuccess(true); + j.setMsg(message); + } catch (Exception e) { + logger.info(e.getMessage()); + message = "取消激活失败"; + j.setSuccess(false); + j.setMsg(message); + } + return j; + } + + /** + * 添加Word转Ftl + * + * @param ids + * @return + */ + @RequestMapping(params = "save") + @ResponseBody + public AjaxJson save(CgformFtlEntity cgformFtl, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + if (StringUtil.isNotEmpty(cgformFtl.getId())) { + message = "更新成功"; + CgformFtlEntity t = cgformFtlService.get(CgformFtlEntity.class, + cgformFtl.getId()); + try { + MyBeanUtils.copyBeanNotNull2Bean(cgformFtl, t); + cgformFtlService.saveOrUpdate(t); + systemService.addLog(message, Globals.Log_Type_UPDATE, + Globals.Log_Leavel_INFO); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + message = "添加成功"; + cgformFtlService.save(cgformFtl); + systemService.addLog(message, Globals.Log_Type_INSERT, + Globals.Log_Leavel_INFO); + } + + return j; + } + + /** + * Word转Ftl列表页面跳转 + * + * @return + */ + @RequestMapping(params = "addorupdate") + public ModelAndView addorupdate(CgformFtlEntity cgformFtl, + HttpServletRequest req) { + if (StringUtil.isNotEmpty(cgformFtl.getId())) { + cgformFtl = cgformFtlService.getEntity(CgformFtlEntity.class, + cgformFtl.getId()); + } + req.setAttribute("cgformFtlPage", cgformFtl); + return new ModelAndView("jeecg/cgform/cgformftl/cgformFtl"); + } + + /** + * 保存转换表单文件 + * + * @param ids + * @return + * @throws Exception + */ + @RequestMapping(params = "saveWordFiles", method = RequestMethod.POST) + @ResponseBody + public AjaxJson saveWordFiles(HttpServletRequest request, + HttpServletResponse response, CgformFtlEntity cgformFtl) { + AjaxJson j = new AjaxJson(); + Map attributes = new HashMap(); + + LogUtil.info("-------------------------step.1-------------------------------------"); + String fileKey = oConvertUtils.getString(request.getParameter("id"));// 文件ID + String cgformId = oConvertUtils.getString(request + .getParameter("cgformId"));// formid + String cgformName = oConvertUtils.getString(request + .getParameter("cgformName"));// formname + String ftlStatus = oConvertUtils.getString(request + .getParameter("ftlStatus"));// formStatus + if (oConvertUtils.isEmpty(ftlStatus)) { + ftlStatus = "0"; + } + + if (StringUtil.isNotEmpty(fileKey)) { + cgformFtl.setId(fileKey); + cgformFtl = systemService.getEntity(CgformFtlEntity.class, fileKey); + } else { + cgformFtl.setFtlVersion(cgformFtlService.getNextVarsion(cgformId)); + } + LogUtil.info("-------------------------step.2-------------------------------------"); + cgformFtl.setCgformId(cgformId); + cgformFtl.setCgformName(cgformName); + cgformFtl.setFtlStatus(ftlStatus); + + UploadFile uploadFile = new UploadFile(request, cgformFtl); + uploadFile.setCusPath("forms"); + message = null; + try { + + uploadFile.getMultipartRequest().setCharacterEncoding("UTF-8"); + MultipartHttpServletRequest multipartRequest = uploadFile + .getMultipartRequest(); + + String uploadbasepath = uploadFile.getBasePath();// 文件上传根目录 + if (uploadbasepath == null) { + uploadbasepath = ResourceUtil.getConfigByName("uploadpath"); + } + Map fileMap = multipartRequest.getFileMap(); + // 文件数据库保存路径 + String path = uploadbasepath + "\\";// 文件保存在硬盘的相对路径 + String realPath = uploadFile.getMultipartRequest().getSession() + .getServletContext().getRealPath("\\") + + path;// 文件的硬盘真实路径 + File file = new File(realPath); + if (!file.exists()) { + file.mkdir();// 创建根目录 + } + if (uploadFile.getCusPath() != null) { + realPath += uploadFile.getCusPath() + "\\"; + path += uploadFile.getCusPath() + "\\"; + file = new File(realPath); + if (!file.exists()) { + file.mkdir();// 创建文件自定义子目录 + } + } else { + realPath += DataUtils.getDataString(DataUtils.yyyyMMdd) + "\\"; + path += DataUtils.getDataString(DataUtils.yyyyMMdd) + "\\"; + file = new File(realPath); + if (!file.exists()) { + file.mkdir();// 创建文件时间子目录 + } + } + LogUtil.info("-------------------------step.3-------------------------------------"); + String fileName = ""; + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile mf = entity.getValue();// 获取上传文件对象 + fileName = mf.getOriginalFilename();// 获取文件名 + String extend = FileUtils.getExtend(fileName);// 获取文件扩展名 + String myfilename = ""; + String myhtmlfilename = ""; + String noextfilename = "";// 不带扩展名 + if (uploadFile.isRename()) { + + noextfilename = DataUtils + .getDataString(DataUtils.yyyymmddhhmmss) + + StringUtil.random(8);// 自定义文件名称 + myfilename = noextfilename + "." + extend;// 自定义文件名称 + } else { + myfilename = fileName; + } + + String savePath = realPath + myfilename;// 文件保存全路径 + cgformFtl.setFtlWordUrl(fileName); + File savefile = new File(savePath); + FileCopyUtils.copy(mf.getBytes(), savefile); + + myhtmlfilename = realPath + noextfilename + ".html"; + String myftlfilename = realPath + noextfilename + ".ftl"; + LogUtil.info("-------------------------step.4-------------------------------------"); + // 开始转换表单文件 + OfficeHtmlUtil officeHtml = new OfficeHtmlUtil(); + + // 方式一:jacob.jar方式word转html + officeHtml.wordToHtml(savePath, myhtmlfilename); + String htmlStr = officeHtml.getInfo(myhtmlfilename); + htmlStr = officeHtml.doHtml(htmlStr); + + // 方式二:poi方式word转html + // officeHtml.WordConverterHtml(savePath, myhtmlfilename); + // String htmlStr = officeHtml.getInfo(myhtmlfilename); + // htmlStr = officeHtml.doPoiHtml(htmlStr); + + officeHtml.stringToFile(htmlStr, myftlfilename); + // js plugin start + StringBuilder script = new StringBuilder(""); + script.append(""); + htmlStr = htmlStr.replace("", script.toString() + + ""); + // js plugin end + cgformFtl.setFtlContent(htmlStr); + cgformFtlService.saveOrUpdate(cgformFtl); + LogUtil.info("-------------------------step.5-------------------------------------"); + } + } catch (Exception e1) { + LogUtil.error(e1.toString()); + message = e1.toString(); + } + + attributes.put("id", cgformFtl.getId()); + if (StringUtil.isNotEmpty(message)) + j.setMsg("Word转Ftl失败," + message); + else + j.setMsg("Word转Ftl成功"); + j.setAttributes(attributes); + + return j; + } + // for:放弃jacob和poi上传word,改用ckeditor + @RequestMapping(params = "cgformFtl2") + public ModelAndView cgformFtl2(HttpServletRequest request) { + String formid = request.getParameter("formid"); + request.setAttribute("formid", formid); + return new ModelAndView("jeecg/cgform/cgformftl/cgformFtlList2"); + } + + @RequestMapping(params = "addorupdate2") + public ModelAndView addorupdate2(CgformFtlEntity cgformFtl, + HttpServletRequest req) { + if (StringUtil.isNotEmpty(cgformFtl.getId())) { + cgformFtl = cgformFtlService.getEntity(CgformFtlEntity.class, + cgformFtl.getId()); + } + StringBuffer sb = new StringBuffer(); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + req.setAttribute("cgformStr", sb); + req.setAttribute("cgformFtlPage", cgformFtl); + return new ModelAndView("jeecg/cgform/cgformftl/cgformFtlEditor"); + } + + @RequestMapping(params = "saveEditor") + @ResponseBody + public AjaxJson saveEditor(CgformFtlEntity cgformFtl, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + String fileKey = oConvertUtils.getString(request.getParameter("id"));// 文件ID + String cgformId = oConvertUtils.getString(request + .getParameter("cgformId")); + String cgformName = oConvertUtils.getString(request + .getParameter("cgformName")); + String ftlStatus = oConvertUtils.getString(request + .getParameter("ftlStatus")); + String ftlVersion = oConvertUtils.getString(request + .getParameter("ftlVersion")); + String ftlWordUrl = oConvertUtils.getString(request + .getParameter("ftlWordUrl")); + String createBy = oConvertUtils.getString(request + .getParameter("createBy")); + String createName = oConvertUtils.getString(request + .getParameter("createName")); + String createDate = oConvertUtils.getString(request + .getParameter("createDate")); + if (oConvertUtils.isEmpty(ftlStatus)) + ftlStatus = "0"; + + cgformFtl.setCgformId(cgformId); + cgformFtl.setCgformName(cgformName); + cgformFtl.setFtlStatus(ftlStatus); + if (StringUtil.isNotEmpty(fileKey)) { + cgformFtl.setId(fileKey); + if(StringUtil.isNotEmpty(ftlVersion)) + cgformFtl.setFtlVersion(Integer.valueOf(ftlVersion)); + if (StringUtil.isNotEmpty(ftlWordUrl)) + cgformFtl.setFtlWordUrl(ftlWordUrl); + if (StringUtil.isNotEmpty(createBy)) + cgformFtl.setCreateBy(createBy); + if (StringUtil.isNotEmpty(createName)) + cgformFtl.setCreateName(createName); + if (StringUtil.isNotEmpty(createDate)) + cgformFtl.setCreateDate(DataUtils.str2Date(createDate, DataUtils.date_sdf)); + + if (!"" + + "" + + "" + + "#{jform_hidden_field}", "")); + } + cgformFtlService.saveOrUpdate(cgformFtl); + j.setMsg("修改成功"); + } else { + cgformFtl.setFtlVersion(cgformFtlService.getNextVarsion(cgformId)); + + String ls_form = "
" + + "" + + "" + + "#{jform_hidden_field}", "")); + cgformFtlService.save(cgformFtl); + j.setMsg("上传成功"); + } + Map attributes = new HashMap(); + attributes.put("id", cgformFtl.getId()); + j.setAttributes(attributes); + return j; + } + // for:放弃jacob和poi上传word,改用ckeditor +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/config/CgFormHeadController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/config/CgFormHeadController.java new file mode 100644 index 00000000..0680c42e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/config/CgFormHeadController.java @@ -0,0 +1,443 @@ +package org.jeecgframework.web.cgform.controller.config; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.activation.FileDataSource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.exception.BusinessException; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.service.impl.config.util.FieldNumComparator; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.codegenerate.database.JeecgReadTable; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +/** + * @Title: Controller + * @Description: 智能表单配置 + * @author 屈然博 + * @date 2013-06-30 11:36:53 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgFormHeadController") +public class CgFormHeadController extends BaseController { + /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(CgFormHeadController.class); + @Autowired + private CgFormFieldServiceI cgFormFieldService; + @Autowired + private SystemService systemService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * 自动生成表属性列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "cgFormHeadList") + public ModelAndView cgFormHead(HttpServletRequest request) { + return new ModelAndView("jeecg/cgform/config/cgFormHeadList"); + } + @RequestMapping(params = "goCgFormSynChoice") + public ModelAndView goCgFormSynChoice(HttpServletRequest request) { + return new ModelAndView("jeecg/cgform/config/cgformSynChoice"); + } + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @RequestMapping(params = "datagrid") + public void datagrid(CgFormHeadEntity cgFormHead, + HttpServletRequest request, HttpServletResponse response, + DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(CgFormHeadEntity.class, + dataGrid); + // 查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, + cgFormHead); + this.cgFormFieldService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除自动生成表属性 + * + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(CgFormHeadEntity cgFormHead, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgFormHead = systemService.getEntity(CgFormHeadEntity.class, + cgFormHead.getId()); + message = "删除成功"; + cgFormFieldService.deleteCgForm(cgFormHead); + cgFormFieldService.removeSubTableStr4Main(cgFormHead); + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + /** + * 移除自动生成表属性 + * + * @return + */ + @RequestMapping(params = "rem") + @ResponseBody + public AjaxJson rem(CgFormHeadEntity cgFormHead, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgFormHead = systemService.getEntity(CgFormHeadEntity.class, + cgFormHead.getId()); + message = "移除成功"; + cgFormFieldService.delete(cgFormHead); + cgFormFieldService.removeSubTableStr4Main(cgFormHead); + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + /** + * 删除自动生成表属性 + * + * @return + */ + @RequestMapping(params = "delField") + @ResponseBody + public AjaxJson delField(CgFormFieldEntity cgFormField, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgFormField = systemService.getEntity(CgFormFieldEntity.class, + cgFormField.getId()); + message = cgFormField.getFieldName()+"删除成功"; + cgFormFieldService.delete(cgFormField); + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + + /** + * 同步表单配置到数据库 + * + * @param ids + * @return + */ + @RequestMapping(params = "doDbSynch") + @ResponseBody + public AjaxJson doDbSynch(CgFormHeadEntity cgFormHead,String synMethod, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgFormHead = systemService.getEntity(CgFormHeadEntity.class, + cgFormHead.getId()); + //同步数据库 + try { + boolean bl = cgFormFieldService.dbSynch(cgFormHead,synMethod); + if(bl){ + //追加主表的附表串 + cgFormFieldService.appendSubTableStr4Main(cgFormHead); + message = "同步成功"; + j.setMsg(message); + }else{ + message = "同步失败"; + j.setMsg(message); + return j; + } + } catch (BusinessException e) { + j.setMsg(e.getMessage()); + return j; + } + return j; + } + + + + /** + * 添加自动生成表属性 + * + * @param ids + * @return + */ + @RequestMapping(params = "save") + @ResponseBody + public AjaxJson save(CgFormHeadEntity cgFormHead, + HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + CgFormHeadEntity oldTable =cgFormFieldService.getEntity(CgFormHeadEntity.class, cgFormHead.getId()); + cgFormFieldService.removeSubTableStr4Main(oldTable); + //step.1 如果数据表已经创建,则不能更改主键策略(后续通过强制同步解决此问题) + /*if(cgFormHead.getId()!=null){ + boolean tableexist = cgFormFieldService.checkTableExist(cgFormHead.getTableName()); + if(tableexist){ + if(!cgFormHead.getJformPkType().equalsIgnoreCase(oldTable.getJformPkType())){ + if((cgFormHead.getJformPkType().equalsIgnoreCase("NATIVE")||cgFormHead.getJformPkType().equalsIgnoreCase("SEQUENCE")) + &&(oldTable.getJformPkType().equalsIgnoreCase("NATIVE")||oldTable.getJformPkType().equalsIgnoreCase("SEQUENCE"))){ + //native和sequence可以互转 + }else{ + throw new org.jeecgframework.core.common.exception.BusinessException("数据表已经创建,不能更换主键策略"); + } + } + } + } + */ + //step.2 判定表格是否存在 + CgFormHeadEntity table = judgeTableIsNotExit(cgFormHead,oldTable); + //step.3 刷新orderNum并且去重复 + refreshFormFieldOrderNum(cgFormHead); + + + if (StringUtil.isNotEmpty(cgFormHead.getId())&&table!=null) { + List formFieldEntities = table.getColumns(); + for (CgFormFieldEntity cgFormFieldEntity : formFieldEntities) { + if (StringUtil.isEmpty(cgFormFieldEntity.getOldFieldName()) + && StringUtil.isNotEmpty(cgFormFieldEntity.getFieldName())) { + cgFormFieldEntity.setFieldName(cgFormFieldEntity.getFieldName().toLowerCase()); + cgFormFieldEntity.setOldFieldName(cgFormFieldEntity.getFieldName()); + } + + } + cgFormFieldService.updateTable(table,null); + cgFormFieldService.appendSubTableStr4Main(table); + cgFormFieldService.sortSubTableStr(table); + systemService.addLog(message, Globals.Log_Type_UPDATE, + Globals.Log_Leavel_INFO); + } else if (StringUtil.isEmpty(cgFormHead.getId())&&table==null) { + List formFieldEntities = cgFormHead.getColumns(); + for (CgFormFieldEntity cgFormFieldEntity : formFieldEntities) { + if (StringUtil.isEmpty(cgFormFieldEntity.getOldFieldName())) { + cgFormFieldEntity.setFieldName(cgFormFieldEntity.getFieldName().toLowerCase()); + cgFormFieldEntity.setOldFieldName(cgFormFieldEntity.getFieldName()); + } + + } + cgFormFieldService.saveTable(cgFormHead); + systemService.addLog(message, Globals.Log_Type_INSERT, + Globals.Log_Leavel_INFO); + } + j.setMsg(message); + return j; + } + /** + * 设置OrderNum + * @param cgFormHead + */ + private void refreshFormFieldOrderNum(CgFormHeadEntity cgFormHead) { + Collections.sort(cgFormHead.getColumns(),new FieldNumComparator()); + for(int i = 0;i getColumnList(CgFormHeadEntity cgFormHead,String type, + HttpServletRequest req) { + + List columnList = new ArrayList(); + if (StringUtil.isNotEmpty(cgFormHead.getId())) { + CriteriaQuery cq = new CriteriaQuery(CgFormFieldEntity.class); + cq.eq("table.id", cgFormHead.getId()); + cq.add(); + columnList = cgFormFieldService + .getListByCriteriaQuery(cq, false); + //对字段列按顺序排序 + Collections.sort(columnList,new FieldNumComparator()); + }else{ + CgFormFieldEntity field = new CgFormFieldEntity(); + field.setFieldName("id"); + field.setLength(36); + field.setContent("主键"); + field.setIsKey("Y"); + field.setIsNull("N"); + field.setOrderNum(1); + field.setType("string"); + field.setPointLength(0); + field.setIsShow("N"); + field.setIsShowList("N"); + field.setFieldLength(120); + columnList.add(field); + } + return columnList; + } + /** + * 判断表格是够已经创建 + * + * @return AjaxJson 中的success + */ + @RequestMapping(params = "checkIsExit") + @ResponseBody + public AjaxJson checkIsExit(String name, + HttpServletRequest req) { + AjaxJson j = new AjaxJson(); + j.setSuccess(cgFormFieldService.judgeTableIsExit(name)); + return j; + } + /** + * sql插件 页面跳转 + * @return + */ + @RequestMapping(params = "sqlPlugin") + public ModelAndView sqlPlugin(String id,HttpServletRequest request) { + CgFormHeadEntity bean = cgFormFieldService.getEntity( + CgFormHeadEntity.class, id); + request.setAttribute("bean", bean); + return new ModelAndView("jeecg/cgform/config/cgFormSqlPlugin"); + } + /** + * sql 插件保存 + * @param id 配置id + * @param sql_plug_in 插件内容 + * @param request + * @return + */ + @RequestMapping(params = "sqlPluginSave") + @ResponseBody + public AjaxJson sqlPluginSave(String id,String sql_plug_in, + HttpServletRequest request) { + CgFormHeadEntity bean = cgFormFieldService.getEntity( + CgFormHeadEntity.class, id); + //bean.setSqlPlugIn(sql_plug_in); + cgFormFieldService.updateTable(bean,null); + message = "保存成功"; + systemService.addLog(message, Globals.Log_Type_INSERT, + Globals.Log_Leavel_INFO); + AjaxJson j = new AjaxJson(); + j.setMsg(message); + return j; + } + /** + * js插件 页面跳转 + * @return + */ + @RequestMapping(params = "jsPlugin") + public ModelAndView jsPlugin(String id,HttpServletRequest request) { + CgFormHeadEntity bean = cgFormFieldService.getEntity( + CgFormHeadEntity.class, id); + request.setAttribute("bean", bean); + return new ModelAndView("jeecg/cgform/config/cgFormJsPlugin"); + } + /** + * js 插件保存 + * @param id 配置id + * @param js_plug_in 插件内容 + * @param request + * @return + */ + @RequestMapping(params = "jsPluginSave") + @ResponseBody + public AjaxJson jsPluginSave(String id,String js_plug_in, + HttpServletRequest request) { + CgFormHeadEntity bean = cgFormFieldService.getEntity( + CgFormHeadEntity.class, id); + //bean.setJsPlugIn(js_plug_in);停用jsPlugIn这个字段 + cgFormFieldService.updateTable(bean,null); + message = "保存成功"; + systemService.addLog(message, Globals.Log_Type_INSERT, + Globals.Log_Leavel_INFO); + AjaxJson j = new AjaxJson(); + j.setMsg(message); + return j; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/enhance/CgformEnhanceJsController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/enhance/CgformEnhanceJsController.java new file mode 100644 index 00000000..626be82f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/enhance/CgformEnhanceJsController.java @@ -0,0 +1,169 @@ +package org.jeecgframework.web.cgform.controller.enhance; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.cgform.service.enhance.CgformEnhanceJsServiceI; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +/** + * @Title: Controller + * @Description: JS增强 + * @author 张代浩 + * @date 2013-08-11 09:47:30 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgformEnhanceJsController") +public class CgformEnhanceJsController extends BaseController { + /** + * Logger for this class + */ + @SuppressWarnings("unused") + private static final Logger logger = Logger.getLogger(CgformEnhanceJsController.class); + + @Autowired + private CgformEnhanceJsServiceI cgformenhanceJsService; + @Autowired + private SystemService systemService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + /** + * JS增强列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "cgformenhanceJs") + public ModelAndView cgformenhanceJs(HttpServletRequest request) { + return new ModelAndView("jeecg/cgform/enhance/cgformenhanceJsList"); + } + + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @SuppressWarnings("unchecked") + @RequestMapping(params = "datagrid") + public void datagrid(CgformEnhanceJsEntity cgformenhanceJs,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(CgformEnhanceJsEntity.class, dataGrid); + //查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cgformenhanceJs, request.getParameterMap()); + this.cgformenhanceJsService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除JS增强 + * + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(CgformEnhanceJsEntity cgformenhanceJs, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgformenhanceJs = systemService.getEntity(CgformEnhanceJsEntity.class, cgformenhanceJs.getId()); + message = "删除成功"; + cgformenhanceJsService.delete(cgformenhanceJs); + systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + /** + * 查找数据 + * + * @return + */ + @RequestMapping(params = "doCgformEnhanceJs") + @ResponseBody + public AjaxJson doCgformEnhanceJs(CgformEnhanceJsEntity cgformenhanceJs, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + CgformEnhanceJsEntity cgformenJs = cgformenhanceJsService.getCgformEnhanceJsByTypeFormId(cgformenhanceJs.getCgJsType(), cgformenhanceJs.getFormId()); + if(cgformenJs!=null){ + j.setObj(cgformenJs); + j.setSuccess(true); + }else{ + j.setSuccess(false); + } + return j; + } + + /** + * 添加JS增强 + * + * @param ids + * @return + */ + @RequestMapping(params = "save") + @ResponseBody + public AjaxJson save(CgformEnhanceJsEntity cgformenhanceJs, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + if (StringUtil.isNotEmpty(cgformenhanceJs.getId())) { + message = "更新成功"; + CgformEnhanceJsEntity t = cgformenhanceJsService.get(CgformEnhanceJsEntity.class, cgformenhanceJs.getId()); + try { + MyBeanUtils.copyBeanNotNull2Bean(cgformenhanceJs, t); + cgformenhanceJsService.saveOrUpdate(t); + systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + message = "添加成功"; + cgformenhanceJsService.save(cgformenhanceJs); + systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); + } + j.setMsg(message); + return j; + } + + /** + * JS增强列表页面跳转 + * + * @return + */ + @RequestMapping(params = "addorupdate") + public ModelAndView addorupdate(CgformEnhanceJsEntity cgformenhanceJs, HttpServletRequest req) { + //根据cgJsType和formId初始化数据 + cgformenhanceJs.setCgJsType("form"); + if (StringUtil.isNotEmpty(cgformenhanceJs.getCgJsType())&&StringUtil.isNotEmpty(cgformenhanceJs.getFormId())) { + CgformEnhanceJsEntity cgformenJs = cgformenhanceJsService.getCgformEnhanceJsByTypeFormId(cgformenhanceJs.getCgJsType(), cgformenhanceJs.getFormId()); + if(cgformenJs!=null){ + cgformenhanceJs = cgformenJs; + } + } + req.setAttribute("cgformenhanceJsPage", cgformenhanceJs); + return new ModelAndView("jeecg/cgform/enhance/cgformenhanceJs"); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/excel/ExcelTempletController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/excel/ExcelTempletController.java new file mode 100644 index 00000000..1e70ce5b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/excel/ExcelTempletController.java @@ -0,0 +1,207 @@ +package org.jeecgframework.web.cgform.controller.excel; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.service.autolist.ConfigServiceI; +import org.jeecgframework.web.cgform.service.build.DataBaseService; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.service.excel.ExcelTempletService; +import org.jeecgframework.web.cgform.service.impl.config.util.FieldNumComparator; + +import org.apache.log4j.Logger; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.util.BrowserUtils; +import org.jeecgframework.core.util.ExceptionUtil; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.UUIDGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +/** + * @ClassName: excelTempletController + * @Description: excel模版处理 + * @author huiyong + */ +@Controller +@RequestMapping("/excelTempletController") +public class ExcelTempletController extends BaseController { + private static final Logger logger = Logger + .getLogger(ExcelTempletController.class); + private String message; + @Autowired + private ConfigServiceI configService; + @Autowired + private CgFormFieldServiceI cgFormFieldService; + @Autowired + private DataBaseService dataBaseService; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * 导出excel模版 + * + * @param request + * @param response + */ + @SuppressWarnings("all") + @RequestMapping(params = "exportXls") + public void exportXls(HttpServletRequest request, + HttpServletResponse response) { + + String codedFileName = "模版文件"; + String sheetName="导出信息"; + List lists = null; + if (StringUtil.isNotEmpty(request.getParameter("tableName"))) { + String configId = request.getParameter("tableName"); + String jversion = cgFormFieldService.getCgFormVersionByTableName(configId); + Map configs = configService.queryConfigs(configId,jversion); + //表单列集合 + lists = (List) configs.get(CgAutoListConstant.FILEDS); + // 对字段列按顺序排序 + Collections.sort(lists, new FieldNumComparator()); + //表的中文名称 + sheetName = (String)configs.get(CgAutoListConstant.CONFIG_NAME); + //表的英文名称 + String tableName = (String)configs.get(CgAutoListConstant.TABLENAME); + //导出文件名称 form表单中文名-v版本号.xsl + codedFileName = sheetName+"_"+tableName+"-v"+(String)configs.get(CgAutoListConstant.CONFIG_VERSION); + // 生成提示信息, + response.setContentType("application/vnd.ms-excel"); + + OutputStream fOut = null; + try { + + // 根据浏览器进行转码,使其支持中文文件名 + String browse = BrowserUtils.checkBrowse(request); + if ("MSIE".equalsIgnoreCase(browse.substring(0, 4))) { + response.setHeader("content-disposition", + "attachment;filename=" + + java.net.URLEncoder.encode(codedFileName, + "UTF-8") + ".xls"); + } else { + String newtitle = new String(codedFileName.getBytes("UTF-8"), + "ISO8859-1"); + response.setHeader("content-disposition", + "attachment;filename=" + newtitle + ".xls"); + } + // 产生工作簿对象 + HSSFWorkbook workbook = null; + workbook = ExcelTempletService.exportExcel(sheetName, lists); + fOut = response.getOutputStream(); + workbook.write(fOut); + } catch (UnsupportedEncodingException e1) { + + } catch (Exception e) { + + } finally { + try { + fOut.flush(); + fOut.close(); + } catch (IOException e) { + + } + } + } else { + throw new BusinessException("参数错误"); + } + + } + + @RequestMapping(params = "goImplXls" , method = RequestMethod.GET) + public ModelAndView goImplXls(HttpServletRequest request) { + request.setAttribute("tableName", request.getParameter("tableName")); + return new ModelAndView("jeecg/cgform/excel/upload"); + } + + /** + * 上传模版数据 + * @param request + * @param response + * @return + */ + @RequestMapping(params = "importExcel", method = RequestMethod.POST) + @ResponseBody + @SuppressWarnings("all") + public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { + String message = "上传成功"; + AjaxJson j = new AjaxJson(); + String configId = request.getParameter("tableName"); + String jversion = cgFormFieldService.getCgFormVersionByTableName(configId); + Map configs = configService.queryConfigs(configId,jversion); + //数据库中版本号 + String version = (String)configs.get(CgAutoListConstant.CONFIG_VERSION); + List lists = (List) configs.get(CgAutoListConstant.FILEDS); + + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue();// 获取上传文件对象 + //上传文件的版本号 + String docVersion = getDocVersion(file.getOriginalFilename()); + if (docVersion.equals(version)) { + List> listDate; + try { + //读取excel模版数据 + listDate = (List>) ExcelTempletService.importExcelByIs(file.getInputStream(), lists); + if (listDate==null) { + message = "识别模版数据错误"; + logger.error(message); + }else{ + for (Map map : listDate) { + map.put("id", UUIDGenerator.generate()); + int num = dataBaseService.insertTable(configId, map); + } + message = "文件导入成功!"; + } + } catch (IOException e) { + message = "文件导入失败!"; + logger.error(ExceptionUtil.getExceptionMessage(e)); + } + }else{ + message = "模版文件版本和表达不匹配,请重新下载模版"; + logger.error(message); + } + } + j.setMsg(message); + return j; + } + /** + * 返回模版文件的版本号 + * 默认文件名是: form表单中文名-v版本号.xsl + * 也有可能是: form表单中文名-v版本号(1).xsl + * @param docName + * @return + */ + private static String getDocVersion(String docName){ + if(docName.indexOf("(")>0){ + return docName.substring(docName.indexOf("-v")+2, docName.indexOf("(")); + }else { + return docName.substring(docName.indexOf("-v")+2, docName.indexOf(".")); + } + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/generate/GenerateController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/generate/GenerateController.java new file mode 100644 index 00000000..3ee0c28a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/generate/GenerateController.java @@ -0,0 +1,396 @@ +package org.jeecgframework.web.cgform.controller.generate; + +import java.io.File; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; +import org.jeecgframework.codegenerate.database.JeecgReadTable; +import org.jeecgframework.codegenerate.generate.CgformCodeGenerate; +import org.jeecgframework.codegenerate.generate.onetomany.CgformCodeGenerateOneToMany; +import org.jeecgframework.codegenerate.pojo.CreateFileProperty; +import org.jeecgframework.codegenerate.pojo.onetomany.CodeParamEntity; +import org.jeecgframework.codegenerate.pojo.onetomany.SubTableEntity; +import org.jeecgframework.codegenerate.util.CodeResourceUtil; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.cgform.entity.generate.GenerateEntity; +import org.jeecgframework.web.cgform.entity.generate.GenerateSubListEntity; +import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI; +import org.jeecgframework.web.cgform.service.button.CgformButtonSqlServiceI; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.service.enhance.CgformEnhanceJsServiceI; +import org.jeecgframework.web.system.service.SystemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +/** + * + * @Title:CgGenerateController + * @description:智能表单代码生成器[根据智能表单配置+代码生成设置->生成代码] + * @author 赵俊夫 + * @date Sep 7, 2013 12:19:32 PM + * @version V1.0 + */ +@Controller +@RequestMapping("/generateController") +public class GenerateController extends BaseController { + /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(GenerateController.class); + @Autowired + private SystemService systemService; + @Autowired + private CgFormFieldServiceI cgFormFieldService; + @Autowired + private CgformButtonServiceI cgformButtonService; + @Autowired + private CgformButtonSqlServiceI cgformButtonSqlService; + @Autowired + private CgformEnhanceJsServiceI cgformEnhanceJsService; + + /** + * 代码生成配置页面 + * @param request + * @return + */ + @RequestMapping(params = "gogenerate") + public ModelAndView gogenerate( CgFormHeadEntity cgFormHead,HttpServletRequest request) { + if (StringUtil.isNotEmpty(cgFormHead.getId())) { + cgFormHead = cgFormFieldService.getEntity( + CgFormHeadEntity.class, cgFormHead.getId()); + }else{ + throw new RuntimeException("表单配置不存在"); + } + String returnModelAndView = null; + Map entityNameMap = new HashMap(0); + if(cgFormHead.getJformType()==1 || cgFormHead.getJformType()==3){ + //如果是单表或者附表,则进入单表模型 + returnModelAndView = "jeecg/cgform/generate/single"; + }else{ + //如果是主表,则进入一对多模型 + List subTableList = new ArrayList(); + if(StringUtil.isNotEmpty(cgFormHead.getSubTableStr())){ + String[] subTables = cgFormHead.getSubTableStr().split(","); + for(String subTable :subTables){ + CgFormHeadEntity subHead = cgFormFieldService.getCgFormHeadByTableName(subTable); + subTableList.add(subHead); + entityNameMap.put(subHead.getTableName(), JeecgReadTable.formatFieldCapital(subHead.getTableName())); + } + } + request.setAttribute("subTableList", subTableList); + returnModelAndView = "jeecg/cgform/generate/one2many"; + } + String projectPath = CodeResourceUtil.getProject_path(); + try{ + Cookie[] cookies=request.getCookies(); + if(cookies!=null){ + for(int i=0;i功能:"+ftlDescription); + }else{ + j.setMsg("表["+tableName+"] 在数据库中,不存在"); + } + + } catch (Exception e1) { + e1.printStackTrace(); + j.setMsg(e1.getMessage()); + throw new RuntimeException(e1.getMessage()); + } + try { + String projectPath = URLEncoder.encode(generateEntity.getProjectPath(), "UTF-8"); + Cookie cookie = new Cookie("cookie_projectPath",projectPath ); + cookie.setMaxAge(60*60*24*30); //cookie 保存30天 + response.addCookie(cookie); + response.getWriter().print(j.getJsonStr()); + response.getWriter().flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + /** + * 代码生成执行-一对多 + * @param generateEntity + * @param request + * @return + */ + @RequestMapping(params = "dogenerateOne2Many") + @ResponseBody + public void dogenerateOne2Many(CodeParamEntity codeParamEntityIn,GenerateSubListEntity subTableListEntity,HttpServletRequest request,HttpServletResponse response){ + AjaxJson j = new AjaxJson(); + //step.1 设置主表 + //从前台获取:codeParamEntityIn + //step.2 设置子表集合 + //从前台获取:subTabParamIn,并设置外键字段 + try{ + //step.3 填充主表的所有智能表单配置 + String mainTable = codeParamEntityIn.getTableName(); + //主表的智能表单配置 + GenerateEntity mainG = new GenerateEntity(); + mainG.setProjectPath(subTableListEntity.getProjectPath()); + CgFormHeadEntity mCgFormHead = cgFormFieldService.getCgFormHeadByTableName(mainTable); + getCgformConfig(mCgFormHead, mainG); + //step.4 填充子表的所有智能表单配置 + Map subsG = new HashMap(); + List subTabParamIn = subTableListEntity.getSubTabParamIn(); + for(SubTableEntity po:subTabParamIn){ + String sTableName = po.getTableName(); + CgFormHeadEntity cgSubHead = cgFormFieldService.getCgFormHeadByTableName(sTableName); + List colums = cgSubHead.getColumns(); + String[] foreignKeys =getForeignkeys(colums); + po.setForeignKeys(foreignKeys); + GenerateEntity subG = new GenerateEntity(); + getCgformConfig(cgSubHead, subG); + subG.setEntityName(po.getEntityName()); + subG.setEntityPackage(po.getEntityPackage()); + subG.setFieldRowNum(1); + subG.setFtlDescription(po.getFtlDescription()); + subG.setForeignKeys(foreignKeys); + subG.setTableName(po.getTableName()); + subG.setProjectPath(subTableListEntity.getProjectPath()); + subsG.put(sTableName, subG); + } + codeParamEntityIn.setSubTabParam(subTabParamIn); + //step.5 一对多(父子表)数据模型,代码生成 + CgformCodeGenerateOneToMany.oneToManyCreate(subTabParamIn, codeParamEntityIn,mainG,subsG); + j.setMsg("成功生成增删改查->功能:"+codeParamEntityIn.getFtlDescription()); + }catch (Exception e) { + e.printStackTrace(); + j.setMsg(e.getMessage()); + throw new RuntimeException(e.getMessage()); + } + try { + String projectPath = URLEncoder.encode(subTableListEntity.getProjectPath(), "UTF-8"); + Cookie cookie = new Cookie("cookie_projectPath",projectPath ); + cookie.setMaxAge(60*60*24*30); //cookie 保存30天 + response.addCookie(cookie); + response.getWriter().print(j.getJsonStr()); + response.getWriter().flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + /** + * 获取智能表单中外键:根据是否设置了主表以及主表字段来判断 + * @param colums + * @return + */ + private String[] getForeignkeys(List colums) { + List fs = new ArrayList(0); + for(CgFormFieldEntity c : colums){ + if(StringUtil.isNotEmpty(c.getMainTable()) && StringUtil.isNotEmpty(c.getMainField())){ + fs.add(c.getFieldName().toUpperCase()); + } + } + String[] foreignkeys = (String[]) fs.toArray(new String[fs.size()]); + return foreignkeys; + } + /** + * 获取智能表单的所有配置 + * @param cgFormHead + * @param generateEntity + * @throws Exception + */ + private void getCgformConfig(CgFormHeadEntity cgFormHead, + GenerateEntity generateEntity) throws Exception { + int filedNums = cgFormHead.getColumns().size(); + List buttons = null; + Map buttonSqlMap = new LinkedHashMap(); + //表单配置 + cgFormHead = cgFormFieldService.getEntity( + CgFormHeadEntity.class, cgFormHead.getId()); + //按钮配置 + buttons = cgformButtonService.getCgformButtonListByFormId(cgFormHead.getId()); + //按钮SQL增强 + for(CgformButtonEntity cb:buttons){ + CgformButtonSqlEntity cbs = cgformButtonSqlService.getCgformButtonSqlByCodeFormId(cb.getButtonCode(), cgFormHead.getId()); + buttonSqlMap.put(cb.getButtonCode(), cbs==null?new String[]{}:cbs.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";")); + } + CgformButtonSqlEntity cbsAdd = cgformButtonSqlService.getCgformButtonSqlByCodeFormId("add", cgFormHead.getId()); + buttonSqlMap.put("add", cbsAdd==null?new String[]{}:cbsAdd.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";")); + CgformButtonSqlEntity cbsUpdate = cgformButtonSqlService.getCgformButtonSqlByCodeFormId("update", cgFormHead.getId()); + buttonSqlMap.put("update", cbsUpdate==null?new String[]{}:cbsUpdate.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";")); + CgformButtonSqlEntity cbsDelete = cgformButtonSqlService.getCgformButtonSqlByCodeFormId("delete", cgFormHead.getId()); + buttonSqlMap.put("delete", cbsDelete==null?new String[]{}:cbsDelete.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";")); + //JS增强-列表 + CgformEnhanceJsEntity listJs = cgformEnhanceJsService.getCgformEnhanceJsByTypeFormId("list", cgFormHead.getId()); + CgformEnhanceJsEntity listJsCopy = null; + try{ + listJsCopy = listJs.deepCopy(); + }catch (Exception e) { + logger.debug(e.getMessage()); + } + //JS增强-表单 + CgformEnhanceJsEntity formJs = cgformEnhanceJsService.getCgformEnhanceJsByTypeFormId("form", cgFormHead.getId()); + CgformEnhanceJsEntity formJsCopy = null; + try{ + formJsCopy = formJs.deepCopy(); + }catch (Exception e) { + logger.debug(e.getMessage()); + } + //将js中带有online字段名的 转换成java命名 + for(CgFormFieldEntity field : cgFormHead.getColumns()){ + String fieldName = field.getFieldName(); + if(listJsCopy!=null){ + listJsCopy.setCgJsStr(listJsCopy.getCgJsStr().replace(fieldName, JeecgReadTable.formatField(fieldName))); + } + if(formJsCopy!=null){ + formJsCopy.setCgJsStr(formJsCopy.getCgJsStr().replace(fieldName, JeecgReadTable.formatField(fieldName))); + } + } + generateEntity.setButtons(buttons); + generateEntity.setButtonSqlMap(buttonSqlMap); + generateEntity.setCgFormHead(cgFormHead); + generateEntity.setListJs(listJsCopy); + generateEntity.setFormJs(formJsCopy); + } + /** + * 跳转到文件夹目录树 + * @param request + * @return + */ + @RequestMapping(params = "goFileTree") + public ModelAndView goFileTree(HttpServletRequest request) { + return new ModelAndView("jeecg/cgform/generate/fileTree"); + } + /** + * 返回子目录json + * @param parentNode + * @return + */ + @RequestMapping(params = "doExpandFileTree") + @ResponseBody + public Object doExpandFileTree(String parentNode){ + JSONArray fjson = new JSONArray(); + try{ + if(StringUtil.isEmpty(parentNode)){ + //返回磁盘驱动器根目录 + File[] roots = File.listRoots(); + for(File r:roots){ + JSONObject item = new JSONObject(); + item.put("id", r.getAbsolutePath()); + item.put("text", r.getPath()); + item.put("iconCls", "icon-folder"); + if(hasDirs(r)){ + item.put("state", "closed"); + }else{ + item.put("state", "open"); + } + fjson.add(item); + } + }else{ + try { + parentNode = new String(parentNode.getBytes("ISO-8859-1"), "UTF-8"); + } catch (UnsupportedEncodingException e1) { + e1.printStackTrace(); + } + //返回子目录集 + File parent = new File(parentNode); + File[] chs = parent.listFiles(); + for(File r:chs){ + JSONObject item = new JSONObject(); + if(r.isDirectory()){ + item.put("id", r.getAbsolutePath()); + item.put("text", r.getPath()); + if(hasDirs(r)){ + item.put("state", "closed"); + }else{ + item.put("state", "open"); + } + fjson.add(item); + }else{ + + } + } + } + }catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("该文件夹不可选择"); + } + return fjson; + } + private boolean hasDirs(File dir){ + try{ + if(dir.listFiles().length==0){ + // item.put("state", "open"); + return false; + }else{ + // item.put("state", "closed"); + return true; + } + }catch (Exception e) { + logger.info(e.getMessage()); + return false; + } + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/trans/CgformTransController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/trans/CgformTransController.java new file mode 100644 index 00000000..faca9318 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/trans/CgformTransController.java @@ -0,0 +1,250 @@ +package org.jeecgframework.web.cgform.controller.trans; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.jeecgframework.codegenerate.database.JeecgReadTable; +import org.jeecgframework.codegenerate.pojo.Columnt; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.vo.datatable.SortDirection; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.consts.DataBaseConst; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +/** + * 自定义表单逆向生成 + * + * @author Alexander + * @date 20130927 + */ +@Controller +@RequestMapping("/cgformTransController") +public class CgformTransController { + + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + /** + * 自动生成表属性列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "trans") + public ModelAndView trans(HttpServletRequest request) { + return new ModelAndView("jeecg/cgform/trans/transList"); + } + + @RequestMapping(params = "datagrid") + public void datagrid(HttpServletRequest request, + HttpServletResponse response, DataGrid dataGrid) { + String tableName = request.getParameter("id"); + + List list = new ArrayList(); + try { + list = new JeecgReadTable().readAllTableNames(); + } catch (SQLException e1) { + e1.printStackTrace(); + } + String html = ""; + Collections.sort(list,new StringSort(dataGrid.getOrder())); + List tables = cgFormFieldService.findByQueryString("select tableName from CgFormHeadEntity"); + list.removeAll(tables); + List index = new ArrayList(); + if (StringUtil.isNotEmpty(tableName)) { + for (int i = 0; i < list.size(); i++) { + if (list.get(i).contains(tableName)) + index.add(list.get(i)); + } + html = getJson(index, index.size()); + } else + html = getJson(list, list.size()); + try { + response.setContentType("text/html"); + response.setHeader("Cache-Control", "no-store"); + PrintWriter writer = response.getWriter(); + writer.println(html); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @RequestMapping(params = "transEditor") + @ResponseBody + public AjaxJson transEditor(HttpServletRequest request, String id) + throws Exception { + AjaxJson j = new AjaxJson(); + String ids[] = id.split(","); + String no = ""; + String yes = ""; + for (int i = 0; i < ids.length; i++) { + if (StringUtil.isNotEmpty(ids[i])) { + List cffList = cgFormFieldService + .findByProperty(CgFormHeadEntity.class, "tableName", + ids[i]); + if (cffList.size() > 0) { + if (no != "") + no += ","; + no += ids[i]; + continue; + } + List list = new JeecgReadTable() + .readOriginalTableColumn(ids[i]); + CgFormHeadEntity cgFormHead = new CgFormHeadEntity(); + cgFormHead.setJformType(1); + cgFormHead.setIsCheckbox("Y"); + cgFormHead.setIsDbSynch("Y"); + cgFormHead.setIsTree("N"); + cgFormHead.setQuerymode("group"); + cgFormHead.setTableName(ids[i].toLowerCase()); + cgFormHead.setIsPagination("Y"); + cgFormHead.setContent(ids[i]); + cgFormHead.setJformVersion("1"); + List columnsList = new ArrayList(); + for (int k = 0; k < list.size(); k++) { + Columnt columnt = list.get(k); + String fieldName = columnt.getFieldDbName(); + CgFormFieldEntity cgFormField = new CgFormFieldEntity(); + cgFormField.setFieldName(columnt.getFieldDbName() + .toLowerCase()); + if (StringUtil.isNotEmpty(columnt.getFiledComment())) + cgFormField.setContent(columnt.getFiledComment()); + else + cgFormField.setContent(columnt.getFieldName()); + cgFormField.setIsKey("N"); + cgFormField.setIsShow("Y"); + cgFormField.setIsShowList("Y"); + cgFormField.setOrderNum(k + 2); + cgFormField.setQueryMode("group"); + cgFormField.setLength(0); + cgFormField.setFieldLength(120); + cgFormField.setPointLength(0); + cgFormField.setShowType("text"); + cgFormField.setIsNull(columnt.getNullable()); + if("id".equalsIgnoreCase(fieldName)){ + String[] pkTypeArr = {"java.lang.Integer","java.lang.Long"}; + String idFiledType = columnt.getFieldType(); + if(Arrays.asList(pkTypeArr).contains(idFiledType)){ + //如果主键是数字类型,则设置为自增长 + cgFormHead.setJformPkType("NATIVE"); + }else{ + //否则设置为UUID + cgFormHead.setJformPkType("UUID"); + } + cgFormField.setIsKey("Y"); + cgFormField.setIsShow("N"); + cgFormField.setIsShowList("N"); + } + if ("java.lang.Integer".equalsIgnoreCase(columnt.getFieldType())){ + cgFormField.setType(DataBaseConst.INT); + }else if ("java.lang.Long".equalsIgnoreCase(columnt.getFieldType())) { + cgFormField.setType(DataBaseConst.INT); + } else if ("java.util.Date".equalsIgnoreCase(columnt.getFieldType())) { + cgFormField.setType(DataBaseConst.DATE); + cgFormField.setShowType("date"); + } else if ("java.lang.Double".equalsIgnoreCase(columnt.getFieldType()) + ||"java.lang.Float".equalsIgnoreCase(columnt.getFieldType())) { + cgFormField.setType(DataBaseConst.DOUBLE); + } else if ("java.math.BigDecimal".equalsIgnoreCase(columnt.getFieldType())) { + cgFormField.setType(DataBaseConst.BIGDECIMAL); + } else if (columnt.getFieldType().contains("blob")) { + cgFormField.setType(DataBaseConst.BLOB); + columnt.setCharmaxLength(null); + } else { + cgFormField.setType(DataBaseConst.STRING); + } + if (StringUtil.isNotEmpty(columnt.getCharmaxLength())) { + if (Long.valueOf(columnt.getCharmaxLength()) >= 3000) { + cgFormField.setType(DataBaseConst.TEXT); + cgFormField.setShowType(DataBaseConst.TEXTAREA); + try{//有可能长度超出int的长度 + cgFormField.setLength(Integer.valueOf(columnt.getCharmaxLength())); + }catch(Exception e){} + } else { + cgFormField.setLength(Integer.valueOf(columnt + .getCharmaxLength())); + } + } else { + if (StringUtil.isNotEmpty(columnt.getPrecision())) { + cgFormField.setLength(Integer.valueOf(columnt + .getPrecision())); + } + //update-begin--Author:zhangdaihao Date:20140212 for:[001]oracle下number类型,数据库表导出表单,默认长度为0同步失败 + else{ + if(cgFormField.getType().equals(DataBaseConst.INT)){ + cgFormField.setLength(10); + } + } + //update-end--Author:zhangdaihao Date:20140212 for:[001]oracle下number类型,数据库表导出表单,默认长度为0同步失败 + if (StringUtil.isNotEmpty(columnt.getScale())) + cgFormField.setPointLength(Integer.valueOf(columnt + .getScale())); + + } + columnsList.add(cgFormField); + } + cgFormHead.setColumns(columnsList); + cgFormFieldService.saveTable(cgFormHead, ""); + if (yes != "") + yes += ","; + yes += ids[i]; + } + } + Map map = new HashMap(); + map.put("no", no); + map.put("yes", yes); + j.setObj(map); + return j; + } + + public static String getJson(List result, Integer size) { + JSONObject main = new JSONObject(); + JSONArray rows = new JSONArray(); + main.put("total", size); + for (String m : result) { + JSONObject item = new JSONObject(); + item.put("id", m); + rows.add(item); + } + main.put("rows", rows); + return main.toString(); + } + private class StringSort implements Comparator{ + + private SortDirection sortOrder; + + public StringSort(SortDirection sortDirection){ + this.sortOrder = sortDirection; + } + + + public int compare(String prev, String next) { + return sortOrder.equals(SortDirection.asc)? + prev.compareTo(next):next.compareTo(prev); + } + + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/upload/CgUploadController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/upload/CgUploadController.java new file mode 100644 index 00000000..1492387d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/controller/upload/CgUploadController.java @@ -0,0 +1,114 @@ +package org.jeecgframework.web.cgform.controller.upload; + +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.entity.upload.CgUploadEntity; +import org.jeecgframework.web.cgform.service.upload.CgUploadServiceI; +import org.jeecgframework.web.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.model.common.UploadFile; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * + * @Title:CgUploadController + * @description:智能表单文件上传控制器 + * @author 赵俊夫 + * @date Jul 24, 2013 9:10:44 PM + * @version V1.0 + */ +@Controller +@RequestMapping("/cgUploadController") +public class CgUploadController extends BaseController { + /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(CgUploadController.class); + @Autowired + private SystemService systemService; + @Autowired + private CgUploadServiceI cgUploadService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + /** + * 保存文件 + * @param request + * @param response + * @param cgUploadEntity 智能表单文件上传实体 + * @return + */ + @RequestMapping(params = "saveFiles", method = RequestMethod.POST) + @ResponseBody + public AjaxJson saveFiles(HttpServletRequest request, HttpServletResponse response, CgUploadEntity cgUploadEntity) { + AjaxJson j = new AjaxJson(); + Map attributes = new HashMap(); + String fileKey = oConvertUtils.getString(request.getParameter("fileKey"));// 文件ID + String id = oConvertUtils.getString(request.getParameter("cgFormId"));//动态表主键ID + String tableName = oConvertUtils.getString(request.getParameter("cgFormName"));//动态表名 + String cgField = oConvertUtils.getString(request.getParameter("cgFormField"));//动态表上传控件字段 + if(!StringUtil.isEmpty(id)){ + cgUploadEntity.setCgformId(id); + cgUploadEntity.setCgformName(tableName); + cgUploadEntity.setCgformField(cgField); + } + if (StringUtil.isNotEmpty(fileKey)) { + cgUploadEntity.setId(fileKey); + cgUploadEntity = systemService.getEntity(CgUploadEntity.class, fileKey); + } + UploadFile uploadFile = new UploadFile(request, cgUploadEntity); + uploadFile.setCusPath("files"); + uploadFile.setSwfpath("swfpath"); + uploadFile.setByteField(null);//不存二进制内容 + cgUploadEntity = systemService.uploadFile(uploadFile); + cgUploadService.writeBack(id, tableName, cgField, fileKey, cgUploadEntity.getRealpath()); + attributes.put("fileKey", cgUploadEntity.getId()); + attributes.put("viewhref", "commonController.do?objfileList&fileKey=" + cgUploadEntity.getId()); + attributes.put("delurl", "commonController.do?delObjFile&fileKey=" + cgUploadEntity.getId()); + j.setMsg("操作成功"); + j.setAttributes(attributes); + return j; + } + + /** + * 删除文件 + * @param request + * @return + */ + @RequestMapping(params = "delFile") + @ResponseBody + public AjaxJson delFile( HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + String id = request.getParameter("id"); + CgUploadEntity file = systemService.getEntity(CgUploadEntity.class, id); + message = "" + file.getAttachmenttitle() + "被删除成功"; + cgUploadService.deleteFile(file); + systemService.addLog(message, Globals.Log_Type_DEL, + Globals.Log_Leavel_INFO); + j.setSuccess(true); + j.setMsg(message); + return j; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/config/CgFormFieldDao.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/config/CgFormFieldDao.java new file mode 100644 index 00000000..9a9f5d94 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/config/CgFormFieldDao.java @@ -0,0 +1,26 @@ +package org.jeecgframework.web.cgform.dao.config; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.minidao.annotation.Arguments; +import org.jeecgframework.minidao.annotation.MiniDao; + +/** + * + * @Title:CgFormFieldDao + * @description: + * @author 张代浩 + * @date Aug 24, 2013 11:33:33 AM + * @version V1.0 + */ +@MiniDao +public interface CgFormFieldDao { + + @Arguments("tableName") + public List> getCgFormFieldByTableName(String tableName); + + @Arguments("tableName") + public List> getCgFormHiddenFieldByTableName(String tableName); + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/config/CgFormVersionDao.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/config/CgFormVersionDao.java new file mode 100644 index 00000000..fd69cbe0 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/config/CgFormVersionDao.java @@ -0,0 +1,26 @@ +package org.jeecgframework.web.cgform.dao.config; + +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; + +import org.jeecgframework.minidao.annotation.Arguments; +import org.jeecgframework.minidao.annotation.MiniDao; +/** + * + * @Title:CgFormFieldDao + * @description: + * @author 赵俊夫 + * @date Aug 24, 2013 11:33:33 AM + * @version V1.0 + */ +@MiniDao +public interface CgFormVersionDao { + @Arguments("tableName") + public String getCgFormVersionByTableName(String tableName); + @Arguments("id") + public String getCgFormVersionById(String id); + @Arguments({"newVersion","formId"}) + public void updateVersion(String newVersion,String formId); + + @Arguments({"id"}) + public CgFormHeadEntity getCgFormById(String id); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/upload/CgFormUploadDao.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/upload/CgFormUploadDao.java new file mode 100644 index 00000000..43a66d16 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/dao/upload/CgFormUploadDao.java @@ -0,0 +1,28 @@ +package org.jeecgframework.web.cgform.dao.upload; + +import org.jeecgframework.minidao.annotation.Arguments; +import org.jeecgframework.minidao.annotation.MiniDao; + +/** + * + * @Title:CgFormUploadDao + * @description:智能表单文件上传 + * @author 赵俊夫 + * @date Aug 27, 2013 8:42:55 PM + * @version V1.0 + */ + +@MiniDao +public interface CgFormUploadDao { + /** + * 将文件上传的信息回填到业务表中 + * @param cgFormId 动态表主键ID + * @param cgFormName 动态表名 + * @param cgFormField 动态表上传控件字段 + * @param fileId 文件ID + * @param fileUrl 文件路径 + * @return + */ + @Arguments({"cgFormId","cgFormName","cgFormField","fileId","fileUrl"}) + public void updateBackFileInfo(String cgFormId,String cgFormName,String cgFormField,String fileId,String fileUrl); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/DBTempletLoader.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/DBTempletLoader.java new file mode 100644 index 00000000..6a8d02d6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/DBTempletLoader.java @@ -0,0 +1,199 @@ +package org.jeecgframework.web.cgform.engine; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.StringReader; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.common.FormHtmlUtil; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.service.cgformftl.CgformFtlServiceI; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.stereotype.Component; + +import freemarker.cache.TemplateLoader; + +/** + * @ClassName: DBTempletLoader + * @Description: (模板加载处理类) + * @author zhoujunfeng + */ +@Component("templetLoader") +public class DBTempletLoader implements TemplateLoader { + + public static final String TEMPLET = "org/jeecgframework/web/cgform/engine/jform.ftl"; + public static final String TEMPLET_ONE_MANY = "org/jeecgframework/web/cgform/engine/jformunion.ftl"; + //生成输入框匹配内容 + private final static String regEx_attr = "\\#\\{([a-zA-Z_0-9]+)\\}"; + + @Autowired + private CgformFtlServiceI cgformFtlService; + + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + + public Object findTemplateSource(String name) throws IOException { + name = name.toLowerCase(); + name = name.replace("_zh_cn", ""); + name = name.replace("_en_us", ""); + org.jeecgframework.core.util.LogUtil.info("table name----------->"+name); + Object obj = getObject(name); + return obj; + } + + + public long getLastModified(Object templateSource) { + return 0; + } + + + public Reader getReader(Object templateSource, String encoding) throws IOException { + Reader br = new StringReader(""); + if (templateSource instanceof InputStreamReader) { + br = new BufferedReader((InputStreamReader)templateSource); + } else { + StringBuilder str = (StringBuilder)templateSource; + br = new StringReader(str.toString()); + } + return br; + } + + private Object getObject(String name) throws IOException { + PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver(); + if(name.lastIndexOf(".ftl")==-1){//判断是否为include的模板 + //如果是主表直接走一对多模板 + CgFormHeadEntity head = cgFormFieldService.getCgFormHeadByTableName(name); + if(head==null)return null; + if(head.getJformType()==CgAutoListConstant.JFORM_TYPE_MAIN_TALBE){ + Resource[] resources = patternResolver.getResources(TEMPLET_ONE_MANY); + InputStreamReader inputStreamReader =null; + if (resources != null && resources.length > 0) { + inputStreamReader = new InputStreamReader(resources[0].getInputStream(),"UTF-8"); + } + return inputStreamReader; + } + //1、根据table name 查询cgformftl 有则获取模板内容 + //2、没有cgformftl 则查询cgformfield 根据cgformfield生成模板 + Map cgformFtlEntity = cgformFtlService.getCgformFtlByTableName(name); + if(cgformFtlEntity!=null){ + String content = (String) (cgformFtlEntity.get("ftl_content")==null?"":cgformFtlEntity.get("ftl_content")); + content = initFormHtml( content, name); + org.jeecgframework.core.util.LogUtil.info(content); + return new StringBuilder(content); + }else{ + Resource[] resources = patternResolver.getResources(TEMPLET); + InputStreamReader inputStreamReader =null; + if (resources != null && resources.length > 0) { + inputStreamReader = new InputStreamReader(resources[0].getInputStream(),"UTF-8"); + } + return inputStreamReader; + } + }else{ + Resource[] resources = patternResolver.getResources(name); + InputStreamReader inputStreamReader =null; + if (resources != null && resources.length > 0) { + inputStreamReader = new InputStreamReader(resources[0].getInputStream(),"UTF-8"); + } + return inputStreamReader; + } + } + + + public void closeTemplateSource(Object templateSource) throws IOException { + + } + + /** + * 获取jform.ftl的路径 + */ +// private String getFilePath(String fileName){ +// String path = DBTempletLoader.class.getResource("").toString(); +// if (path != null) +// { +// String systemType = System.getProperty("os.name"); +// if(systemType.toLowerCase().indexOf("window")!=-1){ +// path = path.substring(6, path.indexOf("WEB-INF") + 8)+"classes/jeecg/cgform/engine/";//window +// }else{ +// path = path.substring(5, path.indexOf("WEB-INF") + 8)+"classes/jeecg/cgform/engine/";//linux +// } +// try { +// path = java.net.URLDecoder.decode(path,"UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } +// org.jeecgframework.core.util.LogUtil.info("current path :" + path); +// } +// return (path + fileName); +// } + + + private String initFormHtml(String htmlStr,String tableName){ + Pattern pattern; + Matcher matcher; + try { + //根据formid获取所有的CgFormFieldEntity + Map fieldMap = cgFormFieldService.getAllCgFormFieldByTableName(tableName); + //根据formid获取所有的CgFormFieldEntity + List hiddenFielList = cgFormFieldService.getHiddenCgFormFieldByTableName(tableName); + + //添加input语句 + pattern = Pattern.compile(regEx_attr,Pattern.CASE_INSENSITIVE); + matcher = pattern.matcher(htmlStr); + + StringBuffer sb = new StringBuffer(); + String thStr = ""; + String inputStr = ""; + + boolean result = matcher.find(); + while(result) { + thStr = matcher.group(1); + inputStr = ""; + if("jform_hidden_field".equals(thStr)){ + inputStr = getHiddenForm(hiddenFielList); + }else{ + if(fieldMap.get(thStr)!=null){ + CgFormFieldEntity cgFormFieldEntity = fieldMap.get(thStr); + if("Y".equals(cgFormFieldEntity.getIsShow())){ + inputStr = FormHtmlUtil.getFormHTML(cgFormFieldEntity); + inputStr +=" "; + } + } + } + matcher.appendReplacement(sb, inputStr); + result = matcher.find(); + } + matcher.appendTail(sb); + htmlStr = sb.toString(); + } catch (Exception e) { + e.printStackTrace(); + } + return htmlStr; + } + + private String getHiddenForm(List hiddenFielList){ + StringBuffer html = new StringBuffer(""); + if(hiddenFielList!=null&&hiddenFielList.size()>0){ + for(CgFormFieldEntity cgFormFieldEntity:hiddenFielList){ + html.append("\r\n"); + } + } + return html.toString(); + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/FreemarkerHelper.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/FreemarkerHelper.java new file mode 100644 index 00000000..abb20dc6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/FreemarkerHelper.java @@ -0,0 +1,46 @@ +package org.jeecgframework.web.cgform.engine; + +import java.io.StringWriter; +import java.util.Map; + +import freemarker.template.Configuration; +import freemarker.template.Template; +/** + * + * @Title:FreemarkerHelper + * @description:Freemarker引擎协助类 + * @author 赵俊夫 + * @date Jul 5, 2013 2:58:29 PM + * @version V1.0 + */ +public class FreemarkerHelper { + private static Configuration _tplConfig = new Configuration(); + static{ + _tplConfig.setClassForTemplateLoading(FreemarkerHelper.class, "/"); + } + + /** + * 解析ftl + * @param tplName 模板名 + * @param encoding 编码 + * @param paras 参数 + * @return + */ + public String parseTemplate(String tplName, String encoding, + Map paras) { + try { + StringWriter swriter = new StringWriter(); + Template mytpl = null; + mytpl = _tplConfig.getTemplate(tplName, encoding); + mytpl.process(paras, swriter); + return swriter.toString(); + } catch (Exception e) { + e.printStackTrace(); + return e.toString(); + } + + } + public String parseTemplate(String tplName, Map paras) { + return this.parseTemplate(tplName, "utf-8", paras); + } +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/TempletContext.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/TempletContext.java new file mode 100644 index 00000000..f32e4359 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/TempletContext.java @@ -0,0 +1,131 @@ +package org.jeecgframework.web.cgform.engine; + +import java.io.IOException; +import java.util.Locale; +import java.util.Map; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; + +import net.sf.ehcache.Cache; +import net.sf.ehcache.CacheManager; +import net.sf.ehcache.Element; + +import org.jeecgframework.core.util.PropertiesUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import freemarker.template.Configuration; +import freemarker.template.Template; +import freemarker.template.TemplateDirectiveModel; + +@Component("templetContext") +public class TempletContext { + + @Resource(name = "freemarker") + private Configuration freemarker; + + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + private Map tags; + + private static final String ENCODING = "UTF-8"; + + private static Cache ehCache;//ehcache + /** + * 系统模式: + * PUB-生产(使用ehcache) + * DEV-开发 + */ + private static String _sysMode = null; + static{ + PropertiesUtil util = new PropertiesUtil("sysConfig.properties"); + _sysMode = util.readProperty(CgAutoListConstant.SYS_MODE_KEY); + if(CgAutoListConstant.SYS_MODE_PUB.equalsIgnoreCase(_sysMode)){ + ehCache = CacheManager.getInstance().getCache("dictCache");//永久缓存块 + } + } + + @PostConstruct + public void init() { + if (tags == null) + return; + for (String key : tags.keySet()) { + freemarker.setSharedVariable(key, tags.get(key)); + } + } + + public Locale getLocale() { + return freemarker.getLocale(); + } + + public Template getTemplate(String tableName) { + Template template = null; + if (tableName == null) { + return null; + } + try { + if(CgAutoListConstant.SYS_MODE_DEV.equalsIgnoreCase(_sysMode)){//开发模式 + template = freemarker.getTemplate(tableName,freemarker.getLocale(), ENCODING); + }else if(CgAutoListConstant.SYS_MODE_PUB.equalsIgnoreCase(_sysMode)){//生产模式(缓存) + //获取版本号 + String version = cgFormFieldService.getCgFormVersionByTableName(tableName); + template = getTemplateFromCache(tableName, ENCODING,version); + }else{ + throw new RuntimeException("sysConfig.properties的freeMarkerMode配置错误:(PUB:生产模式,DEV:开发模式)"); + } + return template; + } catch (IOException e) { + e.printStackTrace(); + return null; + } + + } + + /** + * 从缓存中读取ftl模板 + * @param template + * @param encoding + * @return + */ + public Template getTemplateFromCache(String tableName,String encoding,String version){ + Template template = null; + try { + //cache的键:类名.方法名.参数名 + String cacheKey = FreemarkerHelper.class.getName()+".getTemplateFormCache."+tableName+"."+version; + Element element = ehCache.get(cacheKey); + if(element==null){ + template = freemarker.getTemplate(tableName,freemarker.getLocale(), ENCODING); + element = new Element(cacheKey, template); + ehCache.put(element); + }else{ + template = (Template)element.getObjectValue(); + } + } catch (IOException e) { + e.printStackTrace(); + } + return template; + } + + public Configuration getFreemarker() { + return freemarker; + } + + public void setFreemarker(Configuration freemarker) { + this.freemarker = freemarker; + } + + public Map getTags() { + return tags; + } + + public void setTags(Map tags) { + this.tags = tags; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/autolist/autolist.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/autolist/autolist.ftl new file mode 100644 index 00000000..48492fc5 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/autolist/autolist.ftl @@ -0,0 +1,379 @@ +${config_iframe} + +
+
+
+<#if config_querymode == "group"> + <#list config_queryList as x> + <#if x['field_isQuery']=="Y"> + + ${x['field_title']}: + + <#if x['field_queryMode']=="group"> + <#if x['field_isQuery']=="Y"> + class="Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'});" value="${x['field_value_begin']}" /> + ~ + class="Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'});" value="${x['field_value_end']}"/> + <#else> + + + + + <#if x['field_queryMode']=="single"> + <#if x['field_isQuery']=="Y"> + <#if (x['field_dictlist']?size >0)> + + + <#if (x['field_dictlist']?size <= 0)> + <#if x['field_showType']!='popup'> + class="Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'});" value="${x['field_value']?if_exists?default('')}" /> + <#else> + + + + <#else> + + + + + + +
+
+ + + 录入 + 编辑 + 批量删除 + 查看 + Excel数据导入 + Excel模板下载 + + <#list config_buttons as x> + <#if x['buttonStyle'] == 'button' && x['buttonStatus']=='1'> + + onclick="doBusButton('cgFormBuildController.do?doButton&formId=${x['formId']}&buttonCode=${x['buttonCode']}&tableName=${config_id}','${x['buttonName']}','${config_id}List')">${x['buttonName']} + <#else> + onclick="${x['buttonCode']}();">${x['buttonName']} + + + + + +<#if (config_queryList?size >0)> + <#if config_querymode == "group" > + + 查询 + 重置 + + + <#if config_querymode == "single"> + + +
+ <#list config_queryList as x> + <#if x['field_isQuery']=="Y"> +
${x['field_title']}
+ <#else> + + +
+
+ + +
+
diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/demo.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/demo.ftl new file mode 100644 index 00000000..87b55541 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/demo.ftl @@ -0,0 +1,28 @@ + + + + DEMO示例 + + + +
+ + + + + + + + + +
+ + + + 用户名范围在2~10位字符 +
+
+ diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/hibernate/tableTemplate.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/hibernate/tableTemplate.ftl new file mode 100644 index 00000000..bce2fb15 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/hibernate/tableTemplate.ftl @@ -0,0 +1,122 @@ + + + + + <#if entity.columns?exists> + <#list entity.columns as attr> + <#if attr.fieldName == "id"> + <#if entity.jformPkType?if_exists?html=='UUID'> + + + + <#elseif entity.jformPkType?if_exists?html=='NATIVE'> + <#if dataType=='MYSQL'> + + + + <#elseif dataType=='ORACLE'> + + + + <#elseif dataType=='SQLSERVER'> + + + + <#elseif dataType=='POSTGRESQL'> + + + + + <#elseif entity.jformPkType?if_exists?html=='SEQUENCE'> + <#if dataType=='MYSQL'> + + + + <#elseif dataType=='ORACLE'> + + + + <#elseif dataType=='SQLSERVER'> + + + + <#elseif dataType=='POSTGRESQL'> + + + + + <#else> + + + + + + <#else> + + <#case "string"> + type="java.lang.String" + <#break> + <#case "Text"> + type="text" + <#break> + <#case "int"> + type="java.lang.Integer" + <#break> + <#case "double"> + <#if dataType=='MYSQL'> + type="java.lang.Double" + <#elseif dataType=='ORACLE'> + type="java.math.BigDecimal" + <#elseif dataType=='POSTGRESQL'> + type="java.math.BigDecimal" + <#elseif dataType=='SQLSERVER'> + type="java.math.BigDecimal" + + <#break> + <#case "Date"> + <#if dataType=='MYSQL'> + type="java.util.Date" + <#elseif dataType=='ORACLE'> + type="java.sql.Timestamp" + <#elseif dataType=='POSTGRESQL'> + type="java.util.Date" + <#elseif dataType=='SQLSERVER'> + type="java.util.Date" + + <#break> + <#case "BigDecimal"> + <#if dataType=='MYSQL'> + type="java.lang.Double" + <#elseif dataType=='ORACLE'> + type="java.math.BigDecimal" + <#elseif dataType=='POSTGRESQL'> + type="java.math.BigDecimal" + <#elseif dataType=='SQLSERVER'> + type="java.math.BigDecimal" + + <#break> + <#case "Blob"> + <#if dataType=='MYSQL'> + type="blob" + <#elseif dataType=='ORACLE'> + type="blob" + <#elseif dataType=='POSTGRESQL'> + type="binary" + <#elseif dataType=='SQLSERVER'> + type="image" + + <#break> + access="property"> + + precision="${attr.length}" scale="${attr.pointLength}"<#else>length="${attr.length}" + <#if attr.fieldDefault?exists&&attr.fieldDefault!=''>default="${attr.fieldDefault}" + not-null="<#if attr.isNull == "Y">false<#else>true" unique="false"> + ${attr.content} + + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jform.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jform.ftl new file mode 100644 index 00000000..8ba598a0 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jform.ftl @@ -0,0 +1,301 @@ +<#setting number_format="0.#####################"> + + + + + + + + +
+ + + + <#list columnhidden as po> + + + + <#list columns as po> + <#if (columns?size>10)> + <#if po_index%2==0> + + + <#else> + + + + + <#if (columns?size>10)> + <#if (po_index%2==0)&&(!po_has_next)> + + + + <#if (po_index%2!=0)||(!po_has_next)> + + + <#else> + + + + + <#list columnsarea as po> + <#if (columns?size>10)> + + + + + <#else> + + + + + + +
+ + + <#if po.show_type=='text'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" <#if po.is_null == 'Y'>ignore="ignore" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" <#if po.is_null == 'Y'>ignore="ignore" + <#else> + <#if po.is_null != 'Y'>datatype="*" + + > + <#elseif po.show_type=='password'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='radio'> + <@DictData name="${po.dict_field?if_exists?html}" tablename="${po.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif po.show_type=='checkbox'> + <#assign checkboxstr>${data['${tableName}']['${po.field_name}']?if_exists?html} + <#assign checkboxlist=checkboxstr?split(",")> + <@DictData name="${po.dict_field?if_exists?html}" tablename="${po.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + <#if dictdata.typecode=="${x?if_exists?html}"> checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif po.show_type=='list'> + <@DictData name="${po.dict_field?if_exists?html}" text="${po.dict_text?if_exists?html}" tablename="${po.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif po.show_type=='date'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='datetime'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='popup'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='file'> + + <#list filesList as fileB> + <#if fileB['field'] == po.field_name> + + + + + + + + +
${fileB['title']}下载预览删除
+
+ +
+
+ <#else> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.is_null != 'Y'>datatype="*" + + > + + + + +
+ + +
+ + + + + +
+ + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformhead.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformhead.ftl new file mode 100644 index 00000000..3784ee5a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformhead.ftl @@ -0,0 +1,197 @@ + + + <#list columnhidden as po> + + + + <#list columns as po> + <#if po_index%2==0> + + + + + <#if (po_index%2==0)&&(!po_has_next)> + + + + <#if (po_index%2!=0)||(!po_has_next)> + + + + + <#list columnsarea as po> + + + + + +
+ + + <#if po.show_type=='text'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='password'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='radio'> + <@DictData name="${po.dict_field?if_exists?html}" tablename="${po.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif po.show_type=='checkbox'> + <#assign checkboxstr>${data['${tableName}']['${po.field_name}']?if_exists?html} + <#assign checkboxlist=checkboxstr?split(",")> + <@DictData name="${po.dict_field?if_exists?html}" tablename="${po.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + <#if dictdata.typecode=="${x?if_exists?html}"> checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif po.show_type=='list'> + <@DictData name="${po.dict_field?if_exists?html}" text="${po.dict_text?if_exists?html}" tablename="${po.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif po.show_type=='date'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='datetime'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='popup'> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + <#elseif po.show_type=='file'> + + <#list filesList as fileB> + <#if fileB['field'] == po.field_name> + + + + + + + + +
${fileB['title']}下载预览删除
+
+ +
+
+ <#else> + + datatype="${po.field_valid_type?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.is_null != 'Y'>datatype="*" + > + + + +
+ + +
+ + + + + +
\ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetomany.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetomany.ftl new file mode 100644 index 00000000..be8b3f5a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetomany.ftl @@ -0,0 +1,324 @@ + +
+ + +
+ + + + + <#list field['${sub}'].fieldList as subTableField > + + + + + <#if data['${sub}']?exists&&(data['${sub}']?size>0) > + <#list data['${sub}'] as subTableData > + + + + <#list field['${sub}'].fieldList as subTableField > + + + + + <#else> + + + + <#list field['${sub}'].fieldList as subTableField > + + + + + +
${subTableField.content?if_exists?html}
+ + + <#list field['${sub}'].hiddenFieldList as subTableField > + + + + <#if subTableField.show_type=='text'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='password'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='radio'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='checkbox'> + <#assign checkboxstr>${subTableData['${subTableField.field_name}']?if_exists?html} + <#assign checkboxlist=checkboxstr?split(",")> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + <#if dictdata.typecode=="${x?if_exists?html}"> checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='list'> + <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif subTableField.show_type=='date'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='datetime'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='popup'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='file'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#else> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + +
+ + + <#list field['${sub}'].hiddenFieldList as subTableField > + + + + <#if subTableField.show_type=='text'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='password'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='radio'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='checkbox'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='list'> + <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif subTableField.show_type=='date'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='datetime'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='popup'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='file'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#else> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + +
+
+
+ \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetomanytpl.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetomanytpl.ftl new file mode 100644 index 00000000..c6d5c840 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetomanytpl.ftl @@ -0,0 +1,132 @@ + + +
+ + + + <#list field['${sub}'].hiddenFieldList as subTableField > + + + + <#list field['${sub}'].fieldList as subTableField > + + <#if subTableField.show_type=='text'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='password'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='radio'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='checkbox'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='list'> + <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif subTableField.show_type=='date'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='datetime'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='popup'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='file'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#else> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetoone.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetoone.ftl new file mode 100644 index 00000000..771d1df4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformonetoone.ftl @@ -0,0 +1,354 @@ + +
+
+ + <#if data['${sub}']?exists&&(data['${sub}']?size>0) > + <#if (data['${sub}']?size>1) > +
该附表下存在多条数据
+ <#else> + <#list data['${sub}'] as subTableData > + + <#list field['${sub}'].hiddenFieldList as subTableField > + + + <#list field['${sub}'].fieldNoAreaList as subTableField > + <#if subTableField_index%2==0> + + + + + <#if (subTableField_index%2==0)&&(!subTableField_has_next)> + + + + <#if (subTableField_index%2!=0)||(!subTableField_has_next)> + + + + <#list field['${sub}'].fieldAreaList as subTableField> + + + + + + + + <#else> + + <#list field['${sub}'].hiddenFieldList as subTableField > + + + <#list field['${sub}'].fieldNoAreaList as subTableField > + <#if subTableField_index%2==0> + + + + + <#if (subTableField_index%2==0)&&(!subTableField_has_next)> + + + + <#if (subTableField_index%2!=0)||(!subTableField_has_next)> + + + + <#list field['${sub}'].fieldAreaList as subTableField> + + + + + + +
+ + + <#if subTableField.show_type=='text'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='password'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='radio'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='checkbox'> + <#assign checkboxstr>${subTableData['${subTableField.field_name}']?if_exists?html} + <#assign checkboxlist=checkboxstr?split(",")> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + <#if dictdata.typecode=="${x?if_exists?html}"> checked="true" > + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='list'> + <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif subTableField.show_type=='date'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='datetime'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='popup'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='file'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#else> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + + + + +
+ + + + + +
+ + + <#if subTableField.show_type=='text'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='password'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='radio'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='checkbox'> + <@DictData name="${subTableField.dict_field?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + <#list dataList as dictdata> + + ${dictdata.typename?if_exists?html} + + + + <#elseif subTableField.show_type=='list'> + <@DictData name="${subTableField.dict_field?if_exists?html}" text="${subTableField.dict_text?if_exists?html}" tablename="${subTableField.dict_table?if_exists?html}" var="dataList"> + + + + <#elseif subTableField.show_type=='date'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='datetime'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='popup'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#elseif subTableField.show_type=='file'> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + <#else> + + datatype="${subTableField.field_valid_type?if_exists?html}" + <#else> + <#if subTableField.type == 'int'> + datatype="n" + <#elseif subTableField.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if subTableField.is_null != 'Y'>datatype="*" + > + + + + + +
+ + + + + +
+
+
+ \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformunion.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformunion.ftl new file mode 100644 index 00000000..49183887 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/jformunion.ftl @@ -0,0 +1,132 @@ +<#setting number_format="0.#####################"> + + + + 订单信息 + + + + + +
+ <#include "org/jeecgframework/web/cgform/engine/jformhead.ftl"> + + + +
+
+
+ <#assign subTableStr>${head.subTableStr?if_exists?html} + <#assign subtablelist=subTableStr?split(",")> + <#list subtablelist as sub > + <#if field['${sub}']?exists > + <#if field['${sub}'].head.relationType==1 > + <#include "org/jeecgframework/web/cgform/engine/jformonetoone.ftl"> + <#else> + <#include "org/jeecgframework/web/cgform/engine/jformonetomany.ftl"> + + + +
+
+
+ + + <#assign subTableStr>${head.subTableStr?if_exists?html} + <#assign subtablelist=subTableStr?split(",")> + <#list subtablelist as sub > + <#if field['${sub}']?exists > + <#if field['${sub}'].head.relationType!=1 > + <#include "org/jeecgframework/web/cgform/engine/jformonetomanytpl.ftl"> + + + +
+ + + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/tag/DictDataTag.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/tag/DictDataTag.java new file mode 100644 index 00000000..bde8843e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/engine/tag/DictDataTag.java @@ -0,0 +1,106 @@ +package org.jeecgframework.web.cgform.engine.tag; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.service.SystemService; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import freemarker.core.Environment; +import freemarker.template.SimpleCollection; +import freemarker.template.TemplateDirectiveBody; +import freemarker.template.TemplateDirectiveModel; +import freemarker.template.TemplateException; +import freemarker.template.TemplateModel; +import freemarker.template.TemplateModelException; +import freemarker.template.TemplateScalarModel; + +/** + * 自定义字典表标签 + * + * @author Zhoujf + * + */ +@Component("dictDataTag") +public class DictDataTag implements TemplateDirectiveModel { + + private static final Logger LOG = LoggerFactory + .getLogger(DictDataTag.class); + + @Autowired + private SystemService systemService; + + @SuppressWarnings("unchecked") + public void execute(Environment env, Map params, TemplateModel[] loopVars, + TemplateDirectiveBody body) throws TemplateException, IOException { + + // 数据名称 + String name = getAttribute(params, "name"); + if (name == null) { + throw new TemplateException( + "Can not find attribute 'name' in data tag", env); + } + String text = getAttribute(params, "text"); + String tablename = getAttribute(params, "tablename"); + // 变量名称 + String var = getAttribute(params, "var"); + // 加入数据 + var = var != null ? var : name; + + if (tablename == null || tablename.trim().length() <= 0) { + // 根据dict_field查询字典表list + List dataList = TSTypegroup.allTypes + .get(name.toLowerCase()); + if (dataList == null) { + dataList = new ArrayList(); + } + env.setGlobalVariable(var, new SimpleCollection(dataList)); + } else { + // table表查询 + StringBuilder sql = new StringBuilder(""); + sql.append("select distinct ").append(name) + .append(" as typecode, "); + if (text == null || text.trim().length() <= 0) { + sql.append(name).append(" as typename "); + } else { + sql.append(text).append(" as typename "); + } + sql.append(" from ").append(tablename); + sql.append(" order by ").append(name); + List> dataList = systemService.findForJdbc(sql + .toString()); + env.setGlobalVariable(var, new SimpleCollection(dataList)); + } + body.render(env.getOut()); + } + + /** + * 取得标签参数 + * + * @param params + * @param name + * @return + */ + @SuppressWarnings("unchecked") + private String getAttribute(Map params, String name) { + String value = null; + if (params.containsKey(name)) { + TemplateModel paramValue = (TemplateModel) params.get(name); + try { + value = ((TemplateScalarModel) paramValue).getAsString(); + } catch (TemplateModelException e) { + LOG.error("get attribute '{}' error", name, e); + } + } + return value; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/autolist/AutoFieldEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/autolist/AutoFieldEntity.java new file mode 100644 index 00000000..4bd3bdb3 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/autolist/AutoFieldEntity.java @@ -0,0 +1,66 @@ +package org.jeecgframework.web.cgform.entity.autolist; +/** + * 动态列表字段配置实体 + * @author 赵俊夫 + * @date Jul 4, 2013 + */ +public class AutoFieldEntity { + /** 字段编码*/ + private String name; + /** 字段名称*/ + private String title; + /** 是否隐藏*/ + private boolean isHidden; + /** 是否查询*/ + private boolean isQuery; + /** 查询模式*/ + private String queryMode; + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getTitle() { + return title; + } + public void setTitle(String title) { + this.title = title; + } + public boolean isQuery() { + return isQuery; + } + public void setQuery(boolean isQuery) { + this.isQuery = isQuery; + } + public String getQueryMode() { + return queryMode; + } + public void setQueryMode(String queryMode) { + this.queryMode = queryMode; + } + public AutoFieldEntity(String name, String title, boolean isQuery, + String queryMode) { + this.name = name; + this.title = title; + this.isQuery = isQuery; + this.queryMode = queryMode; + } + public boolean isHidden() { + return isHidden; + } + public void setHidden(boolean isHidden) { + this.isHidden = isHidden; + } + public AutoFieldEntity(String name, String title, boolean isHidden, + boolean isQuery, String queryMode) { + this.name = name; + this.title = title; + this.isHidden = isHidden; + this.isQuery = isQuery; + this.queryMode = queryMode; + } + public AutoFieldEntity() { + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/button/CgformButtonEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/button/CgformButtonEntity.java new file mode 100644 index 00000000..e5497efc --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/button/CgformButtonEntity.java @@ -0,0 +1,200 @@ +package org.jeecgframework.web.cgform.entity.button; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: 表单自定义按钮 + * @author 张代浩 + * @date 2013-08-07 20:16:26 + * @version V1.0 + * + */ +@Entity +@Table(name = "cgform_button", schema = "") +@SuppressWarnings("serial") +public class CgformButtonEntity implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**外键关联cgform_head*/ + private java.lang.String formId; + /**按钮编码*/ + private java.lang.String buttonCode; + /**按钮名称*/ + private java.lang.String buttonName; + /**按钮样式link/button*/ + private java.lang.String buttonStyle; + /**动作类型:js/bus*/ + private java.lang.String optType; + /**显示表达式:exp="status#eq#0"*/ + private java.lang.String exp; + /**0:禁用/1:使用*/ + private java.lang.String buttonStatus; + /**顺序*/ + private java.lang.Integer orderNum; + /**按钮图标样式*/ + private java.lang.String buttonIcon; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 外键关联cgform_head + */ + @Column(name ="FORM_ID",nullable=true,length=32) + public java.lang.String getFormId(){ + return this.formId; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 外键关联cgform_head + */ + public void setFormId(java.lang.String formId){ + this.formId = formId; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 按钮编码 + */ + @Column(name ="BUTTON_CODE",nullable=true,length=50) + public java.lang.String getButtonCode(){ + return this.buttonCode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 按钮编码 + */ + public void setButtonCode(java.lang.String buttonCode){ + this.buttonCode = buttonCode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 按钮名称 + */ + @Column(name ="BUTTON_NAME",nullable=true,length=50) + public java.lang.String getButtonName(){ + return this.buttonName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 按钮名称 + */ + public void setButtonName(java.lang.String buttonName){ + this.buttonName = buttonName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 按钮样式link/button + */ + @Column(name ="BUTTON_STYLE",nullable=true,length=20) + public java.lang.String getButtonStyle(){ + return this.buttonStyle; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 按钮样式link/button + */ + public void setButtonStyle(java.lang.String buttonStyle){ + this.buttonStyle = buttonStyle; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 动作类型:js/bus + */ + @Column(name ="OPT_TYPE",nullable=true,length=20) + public java.lang.String getOptType(){ + return this.optType; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 动作类型:js/bus + */ + public void setOptType(java.lang.String optType){ + this.optType = optType; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 显示表达式:exp="status#eq#0" + */ + @Column(name ="EXP",nullable=true,length=255) + public java.lang.String getExp(){ + return this.exp; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 显示表达式:exp="status#eq#0" + */ + public void setExp(java.lang.String exp){ + this.exp = exp; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 0:禁用/1:使用 + */ + @Column(name ="BUTTON_STATUS",nullable=true,length=2) + public java.lang.String getButtonStatus(){ + return this.buttonStatus; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 0:禁用/1:使用 + */ + public void setButtonStatus(java.lang.String buttonStatus){ + this.buttonStatus = buttonStatus; + } + + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 顺序 + */ + @Column(name ="order_num",nullable=true,length=4) + public java.lang.Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(java.lang.Integer orderNum) { + this.orderNum = orderNum; + } + + @Column(name ="button_icon",nullable=true,length=20) + public java.lang.String getButtonIcon() { + return buttonIcon; + } + + public void setButtonIcon(java.lang.String buttonIcon) { + this.buttonIcon = buttonIcon; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/button/CgformButtonSqlEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/button/CgformButtonSqlEntity.java new file mode 100644 index 00000000..5d6e8034 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/button/CgformButtonSqlEntity.java @@ -0,0 +1,155 @@ +package org.jeecgframework.web.cgform.entity.button; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; + +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: 按钮sql增强 + * @author 张代浩 + * @date 2013-08-07 23:09:23 + * @version V1.0 + * + */ +@Entity +@Table(name = "cgform_button_sql", schema = "") +@SuppressWarnings("serial") +public class CgformButtonSqlEntity implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**外键关联cgform_head*/ + private java.lang.String formId; + /**按钮编码*/ + private java.lang.String buttonCode; + /**称名*/ + private java.lang.String cgbSqlName; + /**强增sql*/ + private byte[] cgbSql; + /**强增sql Str*/ + private String cgbSqlStr; + /**描述*/ + private java.lang.String content; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 外键关联cgform_head + */ + @Column(name ="FORM_ID",nullable=true,length=32) + public java.lang.String getFormId(){ + return this.formId; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 外键关联cgform_head + */ + public void setFormId(java.lang.String formId){ + this.formId = formId; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 按钮编码 + */ + @Column(name ="BUTTON_CODE",nullable=true,length=50) + public java.lang.String getButtonCode(){ + return this.buttonCode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 按钮编码 + */ + public void setButtonCode(java.lang.String buttonCode){ + this.buttonCode = buttonCode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 称名 + */ + @Column(name ="CGB_SQL_NAME",nullable=true,length=50) + public java.lang.String getCgbSqlName(){ + return this.cgbSqlName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 称名 + */ + public void setCgbSqlName(java.lang.String cgbSqlName){ + this.cgbSqlName = cgbSqlName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 强增sql + */ + @Column(name ="CGB_SQL",nullable=true) + public byte[] getCgbSql(){ + return this.cgbSql; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 强增sql + */ + public void setCgbSql(byte[] cgbSql){ + this.cgbSql = cgbSql; + } + + @Transient + public String getCgbSqlStr() { + if(cgbSql!=null){ + cgbSqlStr = new String(cgbSql); + } + return cgbSqlStr; + } + + public void setCgbSqlStr(String cgbSqlStr) { + this.cgbSqlStr = cgbSqlStr; + if(cgbSqlStr!=null){ + this.cgbSql = cgbSqlStr.getBytes(); + } + } + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 描述 + */ + @Column(name ="CONTENT",nullable=true,length=1000) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 描述 + */ + public void setContent(java.lang.String content){ + this.content = content; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/cgformftl/CgformFtlEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/cgformftl/CgformFtlEntity.java new file mode 100644 index 00000000..30edc92b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/cgformftl/CgformFtlEntity.java @@ -0,0 +1,264 @@ +package org.jeecgframework.web.cgform.entity.cgformftl; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Lob; +import javax.persistence.Table; + +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: Word转Ftl + * @author 张代浩 + * @date 2013-07-03 17:42:06 + * @version V1.0 + * + */ +@Entity +@Table(name = "cgform_ftl", schema = "") +@SuppressWarnings("serial") +public class CgformFtlEntity implements java.io.Serializable { + /**主键*/ + private java.lang.String id; + /**表单ID*/ + private java.lang.String cgformId; + /**表单名称*/ + private java.lang.String cgformName; + /**版本号*/ + private java.lang.Integer ftlVersion; + /**表单模板内容*/ + private String ftlContent; + /**激活状态*/ + private java.lang.String ftlStatus; + /**word路径*/ + private java.lang.String ftlWordUrl; + /**创建人ID*/ + private java.lang.String createBy; + /**创建人名称*/ + private java.lang.String createName; + /**创建时间*/ + private java.util.Date createDate; + /**修改人ID*/ + private java.lang.String updateBy; + /**修改人名称*/ + private java.lang.String updateName; + /**修改时间*/ + private java.util.Date updateDate; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键 + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 主键 + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 表单ID + */ + @Column(name ="CGFORM_ID",nullable=false,length=36) + public java.lang.String getCgformId(){ + return this.cgformId; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 表单ID + */ + public void setCgformId(java.lang.String cgformId){ + this.cgformId = cgformId; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 表单名称 + */ + @Column(name ="CGFORM_NAME",nullable=false,length=100) + public java.lang.String getCgformName(){ + return this.cgformName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 表单名称 + */ + public void setCgformName(java.lang.String cgformName){ + this.cgformName = cgformName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 版本号 + */ + @Column(name ="FTL_VERSION",nullable=false,length=10) + public java.lang.Integer getFtlVersion(){ + return this.ftlVersion; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 版本号 + */ + public void setFtlVersion(java.lang.Integer ftlVersion){ + this.ftlVersion = ftlVersion; + } + /** + *方法: 取得byte[] + *@return: byte[] 表单模板内容 + */ + @Lob + @Column(name ="FTL_CONTENT",nullable=true) + public String getFtlContent(){ + return this.ftlContent; + } + + /** + *方法: 设置byte[] + *@param: byte[] 表单模板内容 + */ + public void setFtlContent(String ftlContent){ + this.ftlContent = ftlContent; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 激活状态 + */ + @Column(name ="FTL_STATUS",nullable=true,length=50) + public java.lang.String getFtlStatus(){ + return this.ftlStatus; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 激活状态 + */ + public void setFtlStatus(java.lang.String ftlStatus){ + this.ftlStatus = ftlStatus; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String word路径 + */ + @Column(name ="FTL_WORD_URL",nullable=true,length=200) + public java.lang.String getFtlWordUrl(){ + return this.ftlWordUrl; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String word路径 + */ + public void setFtlWordUrl(java.lang.String ftlWordUrl){ + this.ftlWordUrl = ftlWordUrl; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人ID + */ + @Column(name ="CREATE_BY",nullable=true,length=36) + public java.lang.String getCreateBy(){ + return this.createBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人ID + */ + public void setCreateBy(java.lang.String createBy){ + this.createBy = createBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人名称 + */ + @Column(name ="CREATE_NAME",nullable=true,length=32) + public java.lang.String getCreateName(){ + return this.createName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人名称 + */ + public void setCreateName(java.lang.String createName){ + this.createName = createName; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 创建时间 + */ + @Column(name ="CREATE_DATE",nullable=true) + public java.util.Date getCreateDate(){ + return this.createDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 创建时间 + */ + public void setCreateDate(java.util.Date createDate){ + this.createDate = createDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人ID + */ + @Column(name ="UPDATE_BY",nullable=true,length=36) + public java.lang.String getUpdateBy(){ + return this.updateBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人ID + */ + public void setUpdateBy(java.lang.String updateBy){ + this.updateBy = updateBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人名称 + */ + @Column(name ="UPDATE_NAME",nullable=true,length=32) + public java.lang.String getUpdateName(){ + return this.updateName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人名称 + */ + public void setUpdateName(java.lang.String updateName){ + this.updateName = updateName; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 修改时间 + */ + @Column(name ="UPDATE_DATE",nullable=true) + public java.util.Date getUpdateDate(){ + return this.updateDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 修改时间 + */ + public void setUpdateDate(java.util.Date updateDate){ + this.updateDate = updateDate; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgFormFieldEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgFormFieldEntity.java new file mode 100644 index 00000000..a8d0b5ba --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgFormFieldEntity.java @@ -0,0 +1,552 @@ +package org.jeecgframework.web.cgform.entity.config; + + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + + +import org.codehaus.jackson.annotate.JsonAutoDetect; +import org.codehaus.jackson.annotate.JsonIgnore; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.hibernate.annotations.ForeignKey; +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: 自动生成表的列属性 + * @author jueyue + * @date 2013-06-30 11:37:32 + * @version V1.0 + * + */ +@Entity +@Table(name = "cgform_field", schema = "") +@DynamicUpdate(true) +@DynamicInsert(true) +@JsonAutoDetect +@SuppressWarnings("serial") +public class CgFormFieldEntity implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**字段名称*/ + private java.lang.String fieldName; + /**关联的表*/ + private CgFormHeadEntity table; + /**字段长度*/ + private java.lang.Integer length; + /**小数点长度*/ + private java.lang.Integer pointLength; + /**字段类型*/ + private java.lang.String type; + /**是否允许空值*/ + private java.lang.String isNull; + /**在表中的顺序*/ + private java.lang.Integer orderNum; + /**是否主键*/ + private java.lang.String isKey; + /**是否显示*/ + private java.lang.String isShow; + /**是否在列表上显示*/ + private java.lang.String isShowList; + /**显示类型*/ + private java.lang.String showType; + /**是否生产查询字段*/ + private java.lang.String isQuery; + /**控件长度*/ + private java.lang.Integer fieldLength; + /**字段Href*/ + private java.lang.String fieldHref; + /**控件校验*/ + private java.lang.String fieldValidType; + /**查询类型single(默认:单字段查询),group(范围查询)*/ + private java.lang.String queryMode; + /**功能注释*/ + private java.lang.String content; + /**创建时间*/ + private java.util.Date createDate; + /**创建人ID*/ + private java.lang.String createBy; + /**创建人名称*/ + private java.lang.String createName; + /**修改时间*/ + private java.util.Date updateDate; + /**修改人ID*/ + private java.lang.String updateBy; + /**修改人名称*/ + private java.lang.String updateName; + /**字典Code*/ + private java.lang.String dictField; + /**字典Table*/ + private java.lang.String dictTable; + /**字典Text*/ + private java.lang.String dictText; + /**主表名*/ + private java.lang.String mainTable; + /**主表字段*/ + private java.lang.String mainField; + /**旧的字段名称*/ + private java.lang.String oldFieldName; + /**字段默认值*/ + private java.lang.String fieldDefault; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="id",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段名称 + */ + @Column(name ="field_name",nullable=false,length=32) + public java.lang.String getFieldName(){ + return this.fieldName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段名称 + */ + public void setFieldName(java.lang.String fieldName){ + this.fieldName = fieldName; + } + /** + *方法: 取得TablePropertyEntity + *@return: TablePropertyEntity 关联的表ID + */ + @ManyToOne + @JoinColumn(name ="table_id",nullable=false,referencedColumnName="id") + @JsonIgnore + @ForeignKey(name="null") + public CgFormHeadEntity getTable(){ + return this.table; + } + + /** + *方法: 设置TablePropertyEntity + *@param: TablePropertyEntity 关联的表ID + */ + public void setTable(CgFormHeadEntity table){ + this.table = table; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 字段长度 + */ + @Column(name ="length",nullable=false,precision=10,scale=0) + public java.lang.Integer getLength(){ + return this.length; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 字段长度 + */ + public void setLength(java.lang.Integer length){ + this.length = length; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 小数点长度 + */ + @Column(name ="point_length",nullable=true,precision=10,scale=0) + public java.lang.Integer getPointLength(){ + return this.pointLength; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 小数点长度 + */ + public void setPointLength(java.lang.Integer pointLength){ + this.pointLength = pointLength; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段类型 + */ + @Column(name ="type",nullable=false,length=32) + public java.lang.String getType(){ + return this.type; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段类型 + */ + public void setType(java.lang.String type){ + this.type = type; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否允许空值 + */ + @Column(name ="is_null",nullable=true,length=5) + public java.lang.String getIsNull(){ + return this.isNull; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否允许空值 + */ + public void setIsNull(java.lang.String isNull){ + this.isNull = isNull; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否显示 + */ + @Column(name ="is_show",nullable=true,length=5) + public java.lang.String getIsShow(){ + return this.isShow; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否显示 + */ + public void setIsShow(java.lang.String isShow){ + this.isShow = isShow; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 显示类型 + */ + @Column(name ="show_type",nullable=true,length=10) + public java.lang.String getShowType(){ + return this.showType; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 显示类型 + */ + public void setShowType(java.lang.String showType){ + this.showType = showType; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否生产查询字段 + */ + @Column(name ="is_query",nullable=true,length=5) + public java.lang.String getIsQuery(){ + return this.isQuery; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否生产查询字段 + */ + public void setIsQuery(java.lang.String isQuery){ + this.isQuery = isQuery; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询类型single(默认:单字段查询),group(范围查询) + */ + @Column(name ="query_mode",nullable=true,length=10) + public java.lang.String getQueryMode(){ + return this.queryMode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询类型single(默认:单字段查询),group(范围查询) + */ + public void setQueryMode(java.lang.String queryMode){ + this.queryMode = queryMode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 功能注释 + */ + @Column(name ="content",nullable=false,length=200) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 功能注释 + */ + public void setContent(java.lang.String content){ + this.content = content; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 创建时间 + */ + @Column(name ="create_date",nullable=true) + public java.util.Date getCreateDate(){ + return this.createDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 创建时间 + */ + public void setCreateDate(java.util.Date createDate){ + this.createDate = createDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人ID + */ + @Column(name ="create_by",nullable=true) + public java.lang.String getCreateBy(){ + return this.createBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人ID + */ + public void setCreateBy(java.lang.String createBy){ + this.createBy = createBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人名称 + */ + @Column(name ="create_name",nullable=true,length=32) + public java.lang.String getCreateName(){ + return this.createName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人名称 + */ + public void setCreateName(java.lang.String createName){ + this.createName = createName; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 修改时间 + */ + @Column(name ="update_date",nullable=true) + public java.util.Date getUpdateDate(){ + return this.updateDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 修改时间 + */ + public void setUpdateDate(java.util.Date updateDate){ + this.updateDate = updateDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人ID + */ + @Column(name ="update_by",nullable=true,length=32) + public java.lang.String getUpdateBy(){ + return this.updateBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人ID + */ + public void setUpdateBy(java.lang.String updateBy){ + this.updateBy = updateBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人名称 + */ + @Column(name ="update_name",nullable=true,length=32) + public java.lang.String getUpdateName(){ + return this.updateName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人名称 + */ + public void setUpdateName(java.lang.String updateName){ + this.updateName = updateName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 在表中的顺序 + */ + @Column(name ="order_num",nullable=true,length=4) + public java.lang.Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(java.lang.Integer orderNum) { + this.orderNum = orderNum; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否为主键 + */ + @Column(name ="is_key",nullable=true,length=2) + public java.lang.String getIsKey() { + return isKey; + } + + public void setIsKey(java.lang.String isKey) { + this.isKey = isKey; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 控件长度 + */ + @Column(name ="field_length",nullable=true,length=10) + public java.lang.Integer getFieldLength() { + return fieldLength; + } + + public void setFieldLength(java.lang.Integer field_length) { + this.fieldLength = field_length; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段Href + */ + @Column(name ="field_href",nullable=true,length=200) + public java.lang.String getFieldHref() { + return fieldHref; + } + + public void setFieldHref(java.lang.String field_href) { + this.fieldHref = field_href; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 控件校验 + */ + @Column(name ="field_valid_type",nullable=true,length=10) + public java.lang.String getFieldValidType() { + return fieldValidType; + } + + public void setFieldValidType(java.lang.String field_valid_type) { + this.fieldValidType = field_valid_type; + } + /** + * 方法: 取得 java.lang.String + * @return 字典Code + * */ + @Column(name ="dict_field",nullable=true,length=100) + public java.lang.String getDictField() { + return dictField; + } + + public void setDictField(java.lang.String dictField) { + this.dictField = dictField; + } + /** + * 方法: 取得 java.lang.String + * @return 字典Table + * */ + @Column(name ="dict_table",nullable=true,length=100) + public java.lang.String getDictTable() { + return dictTable; + } + + public void setDictTable(java.lang.String dictTable) { + this.dictTable = dictTable; + } + /** + * 方法: 取得 java.lang.String + * @return 主表名称 + * */ + @Column(name ="main_table",nullable=true,length=100) + public java.lang.String getMainTable() { + return mainTable; + } + + public void setMainTable(java.lang.String mainTable) { + this.mainTable = mainTable; + } + /** + * 方法: 取得 java.lang.String + * @return 主表名称 + * */ + @Column(name ="main_field",nullable=true,length=100) + public java.lang.String getMainField() { + return mainField; + } + + public void setMainField(java.lang.String mainField) { + this.mainField = mainField; + } + + /** + * 方法: 取得 java.lang.String + * @return 主表名称 + * */ + @Column(name ="old_field_name",nullable=true,length=32) + public java.lang.String getOldFieldName() { + return oldFieldName; + } + + public void setOldFieldName(java.lang.String oldFieldName) { + this.oldFieldName = oldFieldName; + } + /** + * 方法: 取得 java.lang.String + * @return 是否在列表上显示 + * */ + @Column(name ="is_show_list",nullable=true,length=5) + public java.lang.String getIsShowList() { + return isShowList; + } + + public void setIsShowList(java.lang.String isShowList) { + this.isShowList = isShowList; + } + /** + * 方法: 取得 java.lang.String + * @return 字典文本 + * */ + @Column(name ="dict_text",nullable=true,length=100) + public java.lang.String getDictText() { + return dictText; + } + + public void setDictText(java.lang.String dictText) { + this.dictText = dictText; + } + + @Column(name ="field_default",nullable=true,length=20) + public java.lang.String getFieldDefault() { + if (fieldDefault != null) { + fieldDefault = fieldDefault.trim(); + } + return fieldDefault; + } + + public void setFieldDefault(java.lang.String fieldDefault) { + this.fieldDefault = fieldDefault; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgFormHeadEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgFormHeadEntity.java new file mode 100644 index 00000000..1d49534d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgFormHeadEntity.java @@ -0,0 +1,400 @@ +package org.jeecgframework.web.cgform.entity.config; + +import java.util.List; + +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.OneToMany; +import javax.persistence.Table; + + +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.OrderBy; + +/** + * @Title: Entity + * @Description: 自动生成表属性 + * @author jueyue + * @date 2013-06-30 11:36:53 + * @version V1.0 + * + */ +@Entity +@Table(name = "cgform_head", schema = "") +@DynamicUpdate(true) +@DynamicInsert(true) +@SuppressWarnings("serial") +public class CgFormHeadEntity implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**表格名称*/ + private java.lang.String tableName; + /**dategrid是否为树形*/ + private java.lang.String isTree; + /**datagrid是否分页*/ + private java.lang.String isPagination; + /**是否同步了数据库*/ + private java.lang.String isDbSynch; + /**datagrid是否显示复选框*/ + private java.lang.String isCheckbox; + /**查询模式:single(单条件查询:默认),group(组合查询)*/ + private java.lang.String querymode; + /**功能注释*/ + private java.lang.String content; + /**创建时间*/ + private java.util.Date createDate; + /**创建人ID*/ + private java.lang.String createBy; + /**创建人名称*/ + private java.lang.String createName; + /**修改时间*/ + private java.util.Date updateDate; + /**修改人*/ + private java.lang.String updateBy; + /**修改人名称*/ + private java.lang.String updateName; + /**表单版本*/ + private java.lang.String jformVersion; + /**表单类型*/ + private Integer jformType; + /**表单主键策略*/ + private java.lang.String jformPkType; + /**表单主键策略-序列(针对oracle等数据库)*/ + private java.lang.String jformPkSequence; + /**附表关联类型*/ + private Integer relationType; + /**附表清单*/ + private String subTableStr; + /**一对多Tab顺序*/ + private Integer tabOrder; + /** + * 表格列属性 + */ + private List columns; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="id",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 表格名称 + */ + @Column(name ="table_name",nullable=false,length=20) + public java.lang.String getTableName(){ + return this.tableName; + } + /** + *方法: 设置java.lang.String + *@param: java.lang.String 表格名称 + */ + public void setTableName(java.lang.String tableName){ + this.tableName = tableName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String dategrid是否为树形 + */ + @Column(name ="is_tree",nullable=false,length=5) + public java.lang.String getIsTree(){ + return this.isTree; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String dategrid是否为树形 + */ + public void setIsTree(java.lang.String isTree){ + this.isTree = isTree; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String datagrid是否分页 + */ + @Column(name ="is_pagination",nullable=false,length=5) + public java.lang.String getIsPagination(){ + return this.isPagination; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String datagrid是否分页 + */ + public void setIsPagination(java.lang.String isPagination){ + this.isPagination = isPagination; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否同步了数据库 + */ + @Column(name ="is_dbsynch",nullable=false,length=20) + public java.lang.String getIsDbSynch(){ + return this.isDbSynch; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否同步了数据库 + */ + public void setIsDbSynch(java.lang.String isDbSynch){ + this.isDbSynch = isDbSynch; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String datagrid是否显示复选框 + */ + @Column(name ="is_checkbox",nullable=false,length=5) + public java.lang.String getIsCheckbox(){ + return this.isCheckbox; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String datagrid是否显示复选框 + */ + public void setIsCheckbox(java.lang.String isCheckbox){ + this.isCheckbox = isCheckbox; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询模式:single(单条件查询:默认),group(组合查询) + */ + @Column(name ="querymode",nullable=false,length=10) + public java.lang.String getQuerymode(){ + return this.querymode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询模式:single(单条件查询:默认),group(组合查询) + */ + public void setQuerymode(java.lang.String querymode){ + this.querymode = querymode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 功能注释 + */ + @Column(name ="content",nullable=false,length=200) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 功能注释 + */ + public void setContent(java.lang.String content){ + this.content = content; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 创建时间 + */ + @Column(name ="create_date",nullable=true) + public java.util.Date getCreateDate(){ + return this.createDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 创建时间 + */ + public void setCreateDate(java.util.Date createDate){ + this.createDate = createDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人ID + */ + @Column(name ="create_by",nullable=true,length=32) + public java.lang.String getCreateBy(){ + return this.createBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人ID + */ + public void setCreateBy(java.lang.String createBy){ + this.createBy = createBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人名称 + */ + @Column(name ="create_name",nullable=true,length=32) + public java.lang.String getCreateName(){ + return this.createName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人名称 + */ + public void setCreateName(java.lang.String createName){ + this.createName = createName; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 修改时间 + */ + @Column(name ="update_date",nullable=true) + public java.util.Date getUpdateDate(){ + return this.updateDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 修改时间 + */ + public void setUpdateDate(java.util.Date updateDate){ + this.updateDate = updateDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人ID + */ + @Column(name ="update_by",nullable=true,length=32) + public java.lang.String getUpdateBy(){ + return this.updateBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人ID + */ + public void setUpdateBy(java.lang.String updateBy){ + this.updateBy = updateBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人名称 + */ + @Column(name ="update_name",nullable=true,length=32) + public java.lang.String getUpdateName(){ + return this.updateName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人名称 + */ + public void setUpdateName(java.lang.String updateName){ + this.updateName = updateName; + } + + @OneToMany(cascade=CascadeType.REMOVE,mappedBy="table") + @OrderBy(clause="orderNum asc") + public List getColumns() { + return columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 表单版本号 + */ + @Column(name ="jform_version",nullable=false,length=10) + public java.lang.String getJformVersion() { + return jformVersion; + } + + public void setJformVersion(java.lang.String jformVersion) { + this.jformVersion = jformVersion; + } + /** + *方法: 取得Integer + *1-单表,2-主表,3-从表 + *@return: INteger 表单类型 + */ + @Column(name ="jform_type",nullable=false,length=1) + public Integer getJformType() { + return jformType; + } + + public void setJformType(Integer jformType) { + this.jformType = jformType; + } + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键策略 + */ + @Column(name ="jform_pk_type",nullable=true,length=100) + public java.lang.String getJformPkType() { + return jformPkType; + } + + public void setJformPkType(java.lang.String jformPkType) { + this.jformPkType = jformPkType; + } + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键策略-序列 + */ + @Column(name ="jform_pk_sequence",nullable=true,length=200) + public java.lang.String getJformPkSequence() { + return jformPkSequence; + } + + public void setJformPkSequence(java.lang.String jformPkSequence) { + this.jformPkSequence = jformPkSequence; + } + + @Column(name ="sub_table_str",nullable=true,length=1000) + public String getSubTableStr() { + return subTableStr; + } + + public void setSubTableStr(String subTableStr) { + this.subTableStr = subTableStr; + } + + /** + *方法: 取得Integer + *0:一对多 1:一对一 + *@return: INteger 附表关联类型 + */ + @Column(name ="relation_type",nullable=true,length=1) + public Integer getRelationType() { + return relationType; + } + + public void setRelationType(Integer relationType) { + this.relationType = relationType; + } + + @Column(name ="tab_order", nullable=true, length=1) + public Integer getTabOrder() { + return tabOrder; + } + + public void setTabOrder(Integer tabOrder) { + this.tabOrder = tabOrder; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgSubTableVO.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgSubTableVO.java new file mode 100644 index 00000000..7be7f8e9 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/config/CgSubTableVO.java @@ -0,0 +1,81 @@ +package org.jeecgframework.web.cgform.entity.config; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * + * @Title:CgSubTableVO + * @description: + * @author 张代浩 + * @date Aug 24, 2013 11:33:33 AM + * @version V1.0 + */ +public class CgSubTableVO { + + CgFormHeadEntity head = new CgFormHeadEntity(); + + //一对多使用 + List> fieldList = new ArrayList>(); + //一对多、一对一使用 + List> hiddenFieldList = new ArrayList>(); + + //一对一使用 + List> fieldNoAreaList = new ArrayList>(); + //一对一使用 + List> fieldAreaList = new ArrayList>(); + + + public CgFormHeadEntity getHead() { + return head; + } + + public void setHead(CgFormHeadEntity head) { + this.head = head; + } + + public List> getFieldList() { + return fieldList; + } + + public void setFieldList(List> fieldList) { + this.fieldList = fieldList; + for(Map map:fieldList){ + if("Y".equals((String)map.get("is_show"))){ + if("textarea".equals((String)map.get("show_type"))){ + this.fieldAreaList.add(map); + }else{ + this.fieldNoAreaList.add(map); + } + } + } + } + + public List> getHiddenFieldList() { + return hiddenFieldList; + } + + public void setHiddenFieldList(List> hiddenFieldList) { + this.hiddenFieldList = hiddenFieldList; + } + + public List> getFieldNoAreaList() { + return fieldNoAreaList; + } + + public void setFieldNoAreaList(List> fieldNoAreaList) { + this.fieldNoAreaList = fieldNoAreaList; + } + + public List> getFieldAreaList() { + return fieldAreaList; + } + + public void setFieldAreaList(List> fieldAreaList) { + this.fieldAreaList = fieldAreaList; + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/consts/DataBaseConst.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/consts/DataBaseConst.java new file mode 100644 index 00000000..e8edafc2 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/consts/DataBaseConst.java @@ -0,0 +1,34 @@ +package org.jeecgframework.web.cgform.entity.consts; +/** + * 数据库常量文件 + * @author JueYue + * @date 2013年12月25日 + * @version 1.0 + */ +public class DataBaseConst { + + public final static String BIGDECIMAL = "BigDecimal"; + + public final static String BLOB = "Blob"; + + public final static String DATE = "Date"; + + public final static String DATETIME = "datetime"; + + public final static String DECIMAL = "decimal"; + + public final static String DOUBLE = "double"; + + public final static String INT = "int"; + + public final static String NUMBER = "number"; + + public final static String STRING = "string"; + + public final static String TEXT = "Text"; + + public final static String TEXTAREA = "textarea"; + + public final static String VARCHAR = "varchar"; + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/enhance/CgformEnhanceJsEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/enhance/CgformEnhanceJsEntity.java new file mode 100644 index 00000000..20b6bfa5 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/enhance/CgformEnhanceJsEntity.java @@ -0,0 +1,160 @@ +package org.jeecgframework.web.cgform.entity.enhance; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; + +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: JS增强 + * @author 张代浩 + * @date 2013-08-11 09:47:30 + * @version V1.0 + * + */ +@Entity +@Table(name = "cgform_enhance_js", schema = "") +@SuppressWarnings("serial") +public class CgformEnhanceJsEntity implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**formId*/ + private java.lang.String formId; + /**js增强类型(form/list)*/ + private java.lang.String cgJsType; + /**增强js*/ + private byte[] cgJs; + + /**增强js Str*/ + private String cgJsStr; + + /**描述*/ + private java.lang.String content; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String formId + */ + @Column(name ="FORM_ID",nullable=true,length=32) + public java.lang.String getFormId(){ + return this.formId; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String formId + */ + public void setFormId(java.lang.String formId){ + this.formId = formId; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String js增强类型(form/list) + */ + @Column(name ="CG_JS_TYPE",nullable=true,length=20) + public java.lang.String getCgJsType(){ + return this.cgJsType; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String js增强类型(form/list) + */ + public void setCgJsType(java.lang.String cgJsType){ + this.cgJsType = cgJsType; + } + /** + *方法: 取得byte[] + *@return: byte[] 增强js + */ + @Column(name ="CG_JS",nullable=true,length=65535) + public byte[] getCgJs(){ + return this.cgJs; + } + + /** + *方法: 设置byte[] + *@param: byte[] 增强js + */ + public void setCgJs(byte[] cgJs){ + this.cgJs = cgJs; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 描述 + */ + @Column(name ="CONTENT",nullable=true,length=1000) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 描述 + */ + public void setContent(java.lang.String content){ + this.content = content; + } + + @Transient + public String getCgJsStr() { + if(cgJs!=null){ + cgJsStr = new String(cgJs); + } + return cgJsStr; + } + + public void setCgJsStr(String cgJsStr) { + this.cgJsStr = cgJsStr; + if(cgJsStr!=null){ + this.cgJs = cgJsStr.getBytes(); + } + } + + /** + * 深度复制 + * @return + * @throws Exception + */ + public CgformEnhanceJsEntity deepCopy() throws Exception{ + //将该对象序列化成流,因为写在流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。所以利用这个特性可以实现对象的深拷贝 + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(this); + + //将流序列化成对象 + ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); + ObjectInputStream ois = new ObjectInputStream(bis); + return (CgformEnhanceJsEntity) ois.readObject(); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/generate/GenerateEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/generate/GenerateEntity.java new file mode 100644 index 00000000..6d1e5aaa --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/generate/GenerateEntity.java @@ -0,0 +1,193 @@ +package org.jeecgframework.web.cgform.entity.generate; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; + +/** + * + * @Title:GenerateEntity + * @description:代码生成实体 + * @author 赵俊夫 + * @date Sep 7, 2013 1:10:18 PM + * @version V1.0 + */ +public class GenerateEntity implements java.io.Serializable{ + /** + * + */ + private static final long serialVersionUID = 7821940124097563556L; + private String entityPackage;// 包名(小写) + private String entityName;// 实体名(首字母大写) + private String tableName; // 表名 + private String ftlDescription;// 功能描述 + private String primaryKeyPolicy = "uuid";// 主键生成策略 + private String[] foreignKeys;// 子表:外键(中间逗号隔开) + private Integer fieldRowNum;// 一行放几个字段 + private String projectPath;//工程路径 + /* + * --------------智能表单配置 + */ + /** + * 表单配置抬头 + */ + private CgFormHeadEntity cgFormHead; + /** + * 按钮配置 + */ + private List buttons; + /** + * 按钮SQL增强配置 + */ + private Map buttonSqlMap; + /** + * 列表JS增强 + */ + private CgformEnhanceJsEntity listJs; + /** + * 表单Js增强 + */ + private CgformEnhanceJsEntity formJs; + + public String getEntityPackage() { + return entityPackage; + } + + public void setEntityPackage(String entityPackage) { + this.entityPackage = entityPackage; + } + + public String getEntityName() { + return entityName; + } + + public void setEntityName(String entityName) { + this.entityName = entityName; + } + + public String getTableName() { + return tableName; + } + + public void setTableName(String tableName) { + this.tableName = tableName; + } + + public String getFtlDescription() { + return ftlDescription; + } + + public void setFtlDescription(String ftlDescription) { + this.ftlDescription = ftlDescription; + } + + public String getPrimaryKeyPolicy() { + return primaryKeyPolicy; + } + + public void setPrimaryKeyPolicy(String primaryKeyPolicy) { + this.primaryKeyPolicy = primaryKeyPolicy; + } + + public String[] getForeignKeys() { + return foreignKeys; + } + + public void setForeignKeys(String[] foreignKeys) { + this.foreignKeys = foreignKeys; + } + + public Integer getFieldRowNum() { + return fieldRowNum; + } + + public void setFieldRowNum(Integer fieldRowNum) { + this.fieldRowNum = fieldRowNum; + } + + public CgFormHeadEntity getCgFormHead() { + return cgFormHead; + } + + public void setCgFormHead(CgFormHeadEntity cgFormHead) { + this.cgFormHead = cgFormHead; + } + + public List getButtons() { + return buttons; + } + + public void setButtons(List buttons) { + this.buttons = buttons; + } + + + + public Map getButtonSqlMap() { + return buttonSqlMap; + } + + public void setButtonSqlMap(Map buttonSqlMap) { + this.buttonSqlMap = buttonSqlMap; + } + + public CgformEnhanceJsEntity getListJs() { + return listJs==null?new CgformEnhanceJsEntity():listJs; + } + + public void setListJs(CgformEnhanceJsEntity listJs) { + this.listJs = listJs; + } + + public CgformEnhanceJsEntity getFormJs() { + return formJs==null?new CgformEnhanceJsEntity():formJs; + } + + public void setFormJs(CgformEnhanceJsEntity formJs) { + this.formJs = formJs; + } + + public String getProjectPath() { + String pt = projectPath; + if(pt!=null){ + pt = pt.replace("\\", "/"); + if(!pt.endsWith("/")){ + pt = pt+"/"; + } + } + return pt; + } + + public void setProjectPath(String projectPath) { + this.projectPath = projectPath; + } + + + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + /** + * 深度复制 + * @return + * @throws Exception + */ + public GenerateEntity deepCopy() throws Exception{ + //将该对象序列化成流,因为写在流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。所以利用这个特性可以实现对象的深拷贝 + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(this); + + //将流序列化成对象 + ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); + ObjectInputStream ois = new ObjectInputStream(bis); + return (GenerateEntity) ois.readObject(); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/generate/GenerateSubListEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/generate/GenerateSubListEntity.java new file mode 100644 index 00000000..59c72681 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/generate/GenerateSubListEntity.java @@ -0,0 +1,46 @@ +package org.jeecgframework.web.cgform.entity.generate; + +import java.util.List; + +import org.jeecgframework.codegenerate.pojo.onetomany.SubTableEntity; +/** + * + * @Title:SubTableListEntity + * @description:代码生成一对多模型 + * @author 赵俊夫 + * @date Sep 7, 2013 3:42:09 PM + * @version V1.0 + */ +public class GenerateSubListEntity { + private String projectPath; + /** + * 代码生成的物理配置 + */ + private List subTabParamIn; + + + public List getSubTabParamIn() { + return subTabParamIn; + } + + public void setSubTabParamIn(List subTabParamIn) { + this.subTabParamIn = subTabParamIn; + } + + public String getProjectPath() { + String pt = projectPath; + if(pt!=null){ + pt = pt.replace("\\", "/"); + if(!pt.endsWith("/")){ + pt = pt+"/"; + } + } + return pt; + } + + public void setProjectPath(String projectPath) { + this.projectPath = projectPath; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/upload/CgUploadEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/upload/CgUploadEntity.java new file mode 100644 index 00000000..6e9db65d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/entity/upload/CgUploadEntity.java @@ -0,0 +1,54 @@ +package org.jeecgframework.web.cgform.entity.upload; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.PrimaryKeyJoinColumn; +import javax.persistence.Table; + +import org.jeecgframework.web.system.pojo.base.TSAttachment; + +/** + * + * @Title:CgUploadEntity + * @description: 智能表单文件上传 + * @author 赵俊夫 + * @date Jul 24, 2013 9:01:55 PM + * @version V1.0 + */ +@Entity +@Table(name = "cgform_uploadfiles", schema = "") +@PrimaryKeyJoinColumn(name = "id") +@SuppressWarnings("serial") +public class CgUploadEntity extends TSAttachment implements java.io.Serializable{ + + /**自定义表名*/ + private String cgformName; + /**自定义表的主键*/ + private String cgformId; + /**自定义表上传控件绑定字段*/ + private String cgformField; + + @Column(name ="CGFORM_ID",nullable=false,length=36) + public String getCgformId() { + return cgformId; + } + public void setCgformId(String cgformId) { + this.cgformId = cgformId; + } + @Column(name ="CGFORM_NAME",nullable=false,length=100) + public String getCgformName() { + return cgformName; + } + public void setCgformName(String cgformName) { + this.cgformName = cgformName; + } + @Column(name ="CGFORM_FIELD",nullable=false,length=100) + public String getCgformField() { + return cgformField; + } + public void setCgformField(String cgformField) { + this.cgformField = cgformField; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/exception/BusinessException.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/exception/BusinessException.java new file mode 100644 index 00000000..82f80509 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/exception/BusinessException.java @@ -0,0 +1,10 @@ +package org.jeecgframework.web.cgform.exception; + +@SuppressWarnings("serial") +public class BusinessException extends Exception { + + public BusinessException(String msg) + { + super(msg); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/exception/DBException.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/exception/DBException.java new file mode 100644 index 00000000..c85c907f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/exception/DBException.java @@ -0,0 +1,10 @@ +package org.jeecgframework.web.cgform.exception; + +@SuppressWarnings("serial") +public class DBException extends Exception { + + public DBException(String msg) + { + super(msg); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/interceptors/CgFormVersionInterceptor.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/interceptors/CgFormVersionInterceptor.java new file mode 100644 index 00000000..327efe1f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/interceptors/CgFormVersionInterceptor.java @@ -0,0 +1,70 @@ +package org.jeecgframework.web.cgform.interceptors; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.interceptors.AuthInterceptor; +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +/** + * + * @author 张代浩 + * + */ +public class CgFormVersionInterceptor implements HandlerInterceptor { + private List includeUrls; + + private static final Logger logger = Logger.getLogger(AuthInterceptor.class); + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + public void afterCompletion(HttpServletRequest arg0, + HttpServletResponse arg1, Object arg2, Exception arg3) + throws Exception { + String requestPath = ResourceUtil.getRequestPath(arg0);// 用户访问的资源地址 + if(!includeUrls.contains(requestPath)){ + return; + } + //获取表单ID + String formId = arg0.getParameter("formId"); + if(StringUtil.isEmpty(formId)){ + return; + }else{ + try{ + cgFormFieldService.updateVersion(formId); + }catch (Exception e) { + e.printStackTrace(); + logger.debug(e.getMessage()); + } + } + } + + + public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, + Object arg2, ModelAndView arg3) throws Exception { + } + + + public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, + Object arg2) throws Exception { + return true; + } + + public List getIncludeUrls() { + return includeUrls; + } + + public void setIncludeUrls(List includeUrls) { + this.includeUrls = includeUrls; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/pojo/config/CgFormFieldPojo.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/pojo/config/CgFormFieldPojo.java new file mode 100644 index 00000000..2e1b3f09 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/pojo/config/CgFormFieldPojo.java @@ -0,0 +1,492 @@ +package org.jeecgframework.web.cgform.pojo.config; + +/** + * @Title: Entity + * @Description: 自动生成表的列属性 + * @author jueyue + * @date 2013-06-30 11:37:32 + * @version V1.0 + * + */ +@SuppressWarnings("serial") +public class CgFormFieldPojo implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**字段名称*/ + private java.lang.String fieldName; + /**关联的表*/ + private String tableId; + /**字段长度*/ + private java.lang.Integer length; + /**小数点长度*/ + private java.lang.Integer pointLength; + /**字段类型*/ + private java.lang.String type; + /**是否允许空值*/ + private java.lang.String isNull; + /**在表中的顺序*/ + private java.lang.Integer orderNum; + /**是否主键*/ + private java.lang.String isKey; + /**是否显示*/ + private java.lang.String isShow; + /**是否在列表上显示*/ + private java.lang.String isShowList; + /**显示类型*/ + private java.lang.String showType; + /**是否生产查询字段*/ + private java.lang.String isQuery; + /**控件长度*/ + private java.lang.Integer fieldLength; + /**字段Href*/ + private java.lang.String fieldHref; + /**控件校验*/ + private java.lang.String fieldValidType; + /**查询类型single(默认:单字段查询),group(范围查询)*/ + private java.lang.String queryMode; + /**功能注释*/ + private java.lang.String content; + /**创建时间*/ + private java.util.Date createDate; + /**创建人ID*/ + private java.lang.String createBy; + /**创建人名称*/ + private java.lang.String createName; + /**修改时间*/ + private java.util.Date updateDate; + /**修改人ID*/ + private java.lang.String updateBy; + /**修改人名称*/ + private java.lang.String updateName; + /**字典Code*/ + private java.lang.String dictField; + /**字典Table*/ + private java.lang.String dictTable; + /**字典Text*/ + private java.lang.String dictText; + /**主表名*/ + private java.lang.String mainTable; + /**主表字段*/ + private java.lang.String mainField; + /**旧的字段名称*/ + private java.lang.String oldFieldName; + /**字段默认值*/ + private java.lang.String fieldDefault; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段名称 + */ + public java.lang.String getFieldName(){ + return this.fieldName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段名称 + */ + public void setFieldName(java.lang.String fieldName){ + this.fieldName = fieldName; + } + /** + *方法: 取得TablePropertyEntity + *@return: TablePropertyEntity 关联的表ID + */ + public String getTableId(){ + return this.tableId; + } + + /** + *方法: 设置TablePropertyEntity + *@param: TablePropertyEntity 关联的表ID + */ + public void setTableId(String tableId){ + this.tableId = tableId; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 字段长度 + */ + public java.lang.Integer getLength(){ + return this.length; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 字段长度 + */ + public void setLength(java.lang.Integer length){ + this.length = length; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 小数点长度 + */ + public java.lang.Integer getPointLength(){ + return this.pointLength; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 小数点长度 + */ + public void setPointLength(java.lang.Integer pointLength){ + this.pointLength = pointLength; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段类型 + */ + public java.lang.String getType(){ + return this.type; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段类型 + */ + public void setType(java.lang.String type){ + this.type = type; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否允许空值 + */ + public java.lang.String getIsNull(){ + return this.isNull; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否允许空值 + */ + public void setIsNull(java.lang.String isNull){ + this.isNull = isNull; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否显示 + */ + public java.lang.String getIsShow(){ + return this.isShow; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否显示 + */ + public void setIsShow(java.lang.String isShow){ + this.isShow = isShow; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 显示类型 + */ + public java.lang.String getShowType(){ + return this.showType; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 显示类型 + */ + public void setShowType(java.lang.String showType){ + this.showType = showType; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否生产查询字段 + */ + public java.lang.String getIsQuery(){ + return this.isQuery; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否生产查询字段 + */ + public void setIsQuery(java.lang.String isQuery){ + this.isQuery = isQuery; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询类型single(默认:单字段查询),group(范围查询) + */ + public java.lang.String getQueryMode(){ + return this.queryMode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询类型single(默认:单字段查询),group(范围查询) + */ + public void setQueryMode(java.lang.String queryMode){ + this.queryMode = queryMode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 功能注释 + */ + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 功能注释 + */ + public void setContent(java.lang.String content){ + this.content = content; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 创建时间 + */ + public java.util.Date getCreateDate(){ + return this.createDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 创建时间 + */ + public void setCreateDate(java.util.Date createDate){ + this.createDate = createDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人ID + */ + public java.lang.String getCreateBy(){ + return this.createBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人ID + */ + public void setCreateBy(java.lang.String createBy){ + this.createBy = createBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人名称 + */ + public java.lang.String getCreateName(){ + return this.createName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人名称 + */ + public void setCreateName(java.lang.String createName){ + this.createName = createName; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 修改时间 + */ + public java.util.Date getUpdateDate(){ + return this.updateDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 修改时间 + */ + public void setUpdateDate(java.util.Date updateDate){ + this.updateDate = updateDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人ID + */ + public java.lang.String getUpdateBy(){ + return this.updateBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人ID + */ + public void setUpdateBy(java.lang.String updateBy){ + this.updateBy = updateBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人名称 + */ + public java.lang.String getUpdateName(){ + return this.updateName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人名称 + */ + public void setUpdateName(java.lang.String updateName){ + this.updateName = updateName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 在表中的顺序 + */ + public java.lang.Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(java.lang.Integer orderNum) { + this.orderNum = orderNum; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否为主键 + */ + public java.lang.String getIsKey() { + return isKey; + } + + public void setIsKey(java.lang.String isKey) { + this.isKey = isKey; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 控件长度 + */ + public java.lang.Integer getFieldLength() { + return fieldLength; + } + + public void setFieldLength(java.lang.Integer field_length) { + this.fieldLength = field_length; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段Href + */ + public java.lang.String getFieldHref() { + return fieldHref; + } + + public void setFieldHref(java.lang.String field_href) { + this.fieldHref = field_href; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 控件校验 + */ + public java.lang.String getFieldValidType() { + return fieldValidType; + } + + public void setFieldValidType(java.lang.String field_valid_type) { + this.fieldValidType = field_valid_type; + } + /** + * 方法: 取得 java.lang.String + * @return 字典Code + * */ + public java.lang.String getDictField() { + return dictField; + } + + public void setDictField(java.lang.String dictField) { + this.dictField = dictField; + } + /** + * 方法: 取得 java.lang.String + * @return 字典Table + * */ + public java.lang.String getDictTable() { + return dictTable; + } + + public void setDictTable(java.lang.String dictTable) { + this.dictTable = dictTable; + } + /** + * 方法: 取得 java.lang.String + * @return 主表名称 + * */ + public java.lang.String getMainTable() { + return mainTable; + } + + public void setMainTable(java.lang.String mainTable) { + this.mainTable = mainTable; + } + /** + * 方法: 取得 java.lang.String + * @return 主表名称 + * */ + public java.lang.String getMainField() { + return mainField; + } + + public void setMainField(java.lang.String mainField) { + this.mainField = mainField; + } + + /** + * 方法: 取得 java.lang.String + * @return 主表名称 + * */ + public java.lang.String getOldFieldName() { + return oldFieldName; + } + + public void setOldFieldName(java.lang.String oldFieldName) { + this.oldFieldName = oldFieldName; + } + /** + * 方法: 取得 java.lang.String + * @return 是否在列表上显示 + * */ + public java.lang.String getIsShowList() { + return isShowList; + } + + public void setIsShowList(java.lang.String isShowList) { + this.isShowList = isShowList; + } + /** + * 方法: 取得 java.lang.String + * @return 字典文本 + * */ + public java.lang.String getDictText() { + return dictText; + } + + public void setDictText(java.lang.String dictText) { + this.dictText = dictText; + } + + public java.lang.String getFieldDefault() { + if (fieldDefault != null) { + fieldDefault = fieldDefault.trim(); + } + return fieldDefault; + } + + public void setFieldDefault(java.lang.String fieldDefault) { + this.fieldDefault = fieldDefault; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/pojo/config/CgFormHeadPojo.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/pojo/config/CgFormHeadPojo.java new file mode 100644 index 00000000..287bd5d1 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/pojo/config/CgFormHeadPojo.java @@ -0,0 +1,343 @@ +package org.jeecgframework.web.cgform.pojo.config; + + +/** + * @Title: Entity + * @Description: 自动生成表属性 + * @author jueyue + * @date 2013-06-30 11:36:53 + * @version V1.0 + * + */ +@SuppressWarnings("serial") +public class CgFormHeadPojo implements java.io.Serializable { + /**id*/ + private java.lang.String id; + /**表格名称*/ + private java.lang.String tableName; + /**dategrid是否为树形*/ + private java.lang.String isTree; + /**datagrid是否分页*/ + private java.lang.String isPagination; + /**是否同步了数据库*/ + private java.lang.String isDbsynch; + /**datagrid是否显示复选框*/ + private java.lang.String isCheckbox; + /**查询模式:single(单条件查询:默认),group(组合查询)*/ + private java.lang.String querymode; + /**功能注释*/ + private java.lang.String content; + /**创建时间*/ + private java.util.Date createDate; + /**创建人ID*/ + private java.lang.String createBy; + /**创建人名称*/ + private java.lang.String createName; + /**修改时间*/ + private java.util.Date updateDate; + /**修改人*/ + private java.lang.String updateBy; + /**修改人名称*/ + private java.lang.String updateName; + /**表单版本*/ + private java.lang.String jformVersion; + /**表单类型*/ + private Integer jformType; + /**表单主键策略*/ + private java.lang.String jformPkType; + /**表单主键策略-序列(针对oracle等数据库)*/ + private java.lang.String jformPkSequence; + /**附表关联类型*/ + private Integer relationType; + /**附表清单*/ + private String subTableStr; + /**一对多Tab顺序*/ + private Integer tabOrder; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String id + */ + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String id + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 表格名称 + */ + public java.lang.String getTableName(){ + return this.tableName; + } + /** + *方法: 设置java.lang.String + *@param: java.lang.String 表格名称 + */ + public void setTableName(java.lang.String tableName){ + this.tableName = tableName; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String dategrid是否为树形 + */ + public java.lang.String getIsTree(){ + return this.isTree; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String dategrid是否为树形 + */ + public void setIsTree(java.lang.String isTree){ + this.isTree = isTree; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String datagrid是否分页 + */ + public java.lang.String getIsPagination(){ + return this.isPagination; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String datagrid是否分页 + */ + public void setIsPagination(java.lang.String isPagination){ + this.isPagination = isPagination; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否同步了数据库 + */ + public java.lang.String getIsDbsynch(){ + return this.isDbsynch; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否同步了数据库 + */ + public void setIsDbsynch(java.lang.String isDbsynch){ + this.isDbsynch = isDbsynch; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String datagrid是否显示复选框 + */ + public java.lang.String getIsCheckbox(){ + return this.isCheckbox; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String datagrid是否显示复选框 + */ + public void setIsCheckbox(java.lang.String isCheckbox){ + this.isCheckbox = isCheckbox; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询模式:single(单条件查询:默认),group(组合查询) + */ + public java.lang.String getQuerymode(){ + return this.querymode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询模式:single(单条件查询:默认),group(组合查询) + */ + public void setQuerymode(java.lang.String querymode){ + this.querymode = querymode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 功能注释 + */ + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 功能注释 + */ + public void setContent(java.lang.String content){ + this.content = content; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 创建时间 + */ + public java.util.Date getCreateDate(){ + return this.createDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 创建时间 + */ + public void setCreateDate(java.util.Date createDate){ + this.createDate = createDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人ID + */ + public java.lang.String getCreateBy(){ + return this.createBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人ID + */ + public void setCreateBy(java.lang.String createBy){ + this.createBy = createBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 创建人名称 + */ + public java.lang.String getCreateName(){ + return this.createName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 创建人名称 + */ + public void setCreateName(java.lang.String createName){ + this.createName = createName; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 修改时间 + */ + public java.util.Date getUpdateDate(){ + return this.updateDate; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 修改时间 + */ + public void setUpdateDate(java.util.Date updateDate){ + this.updateDate = updateDate; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人ID + */ + public java.lang.String getUpdateBy(){ + return this.updateBy; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人ID + */ + public void setUpdateBy(java.lang.String updateBy){ + this.updateBy = updateBy; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 修改人名称 + */ + public java.lang.String getUpdateName(){ + return this.updateName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 修改人名称 + */ + public void setUpdateName(java.lang.String updateName){ + this.updateName = updateName; + } + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 表单版本号 + */ + public java.lang.String getJformVersion() { + return jformVersion; + } + + public void setJformVersion(java.lang.String jformVersion) { + this.jformVersion = jformVersion; + } + /** + *方法: 取得Integer + *1-单表,2-主表,3-从表 + *@return: INteger 表单类型 + */ + public Integer getJformType() { + return jformType; + } + + public void setJformType(Integer jformType) { + this.jformType = jformType; + } + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键策略 + */ + public java.lang.String getJformPkType() { + return jformPkType; + } + + public void setJformPkType(java.lang.String jformPkType) { + this.jformPkType = jformPkType; + } + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键策略-序列 + */ + public java.lang.String getJformPkSequence() { + return jformPkSequence; + } + + public void setJformPkSequence(java.lang.String jformPkSequence) { + this.jformPkSequence = jformPkSequence; + } + + public String getSubTableStr() { + return subTableStr; + } + + public void setSubTableStr(String subTableStr) { + this.subTableStr = subTableStr; + } + + /** + *方法: 取得Integer + *0:一对多 1:一对一 + *@return: INteger 附表关联类型 + */ + public Integer getRelationType() { + return relationType; + } + + public void setRelationType(Integer relationType) { + this.relationType = relationType; + } + + public Integer getTabOrder() { + return tabOrder; + } + + public void setTabOrder(Integer tabOrder) { + this.tabOrder = tabOrder; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/autolist/CgTableServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/autolist/CgTableServiceI.java new file mode 100644 index 00000000..ad743b63 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/autolist/CgTableServiceI.java @@ -0,0 +1,60 @@ +package org.jeecgframework.web.cgform.service.autolist; + +import java.util.List; +import java.util.Map; +/** + * + * @Title:CgTableServiceI + * @description:动态表服务接口 + * @author 赵俊夫 + * @date Jul 5, 2013 3:01:55 PM + * @version V1.0 + */ +public interface CgTableServiceI { + /** + * 单表条件分页查询 + * @param table 表 + * @param field 字段(以逗号分隔) + * @param params 查询条件 + * @param page 分页 + * @param rows 页面大小 + * @return + */ + public List querySingle(String table,String field,Map params, int page,int rows); + /** + * 单表条件分页查询+排序 + * @param table 表 + * @param field 字段(以逗号分隔) + * @param params 查询条件 + * @param sort 排序字段 + * @param order 排序规则 + * @param page 分页 + * @param rows 页面大小 + * @return + */ + public List querySingle(String table,String field,Map params,String sort,String order, int page,int rows); + /** + * 获得数据大小 + * @param table 表 + * @param field 字段(以逗号分隔) + * @param params 查询条件 + * @param page 分页 + * @param rows 页面大小 + * @return + */ + public Long getQuerySingleSize(String table,String field,Map params); + /** + * 删除单条数据 + * @param table 表 + * @param id 主键 + * @return + */ + public boolean delete(String table,Object id); + /** + * 删除多条数据 + * @param table 表 + * @param ids 主键串,以逗号分隔 + * @return + */ + public boolean deleteBatch(String table,String[] ids); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/autolist/ConfigServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/autolist/ConfigServiceI.java new file mode 100644 index 00000000..53f85c83 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/autolist/ConfigServiceI.java @@ -0,0 +1,19 @@ +package org.jeecgframework.web.cgform.service.autolist; + +import java.util.Map; +/** + * + * @Title:ConfigServiceI + * @description:动态配置服务接口 + * @author 赵俊夫 + * @date Jul 5, 2013 3:02:11 PM + * @version V1.0 + */ +public interface ConfigServiceI { + /** + * 读取动态表配置 + * @param configId 标示配置的id + * @return + */ + public Map queryConfigs(String configId,String jversion); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/build/DataBaseService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/build/DataBaseService.java new file mode 100644 index 00000000..24d73772 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/build/DataBaseService.java @@ -0,0 +1,32 @@ +package org.jeecgframework.web.cgform.service.build; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.exception.BusinessException; + +/** + * + * @author 张代浩 + * + */ +public interface DataBaseService { + + public int insertTable(String tableName, Map data); + + public int updateTable(String tableName,Object id, Map data); + + public Map findOneForJdbc(String tableName, String id); + + public Map insertTableMore(Map>> mapMore,String mainTableName) throws BusinessException; + + public boolean updateTableMore(Map>> mapMore,String mainTableName) throws BusinessException; + + /** + * sql业务增强 + * + */ + public void executeSqlExtend(String formId,String buttonCode,Map data); + + public Object getPkValue(String tableName); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/button/CgformButtonServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/button/CgformButtonServiceI.java new file mode 100644 index 00000000..30ab89d9 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/button/CgformButtonServiceI.java @@ -0,0 +1,31 @@ +package org.jeecgframework.web.cgform.service.button; + +import java.util.List; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; + +import org.jeecgframework.core.common.service.CommonService; + +/** + * + * @author 张代浩 + * + */ +public interface CgformButtonServiceI extends CommonService{ + + /** + * 查询按钮list + * @param formId + * @return + */ + public List getCgformButtonListByFormId(String formId); + + /** + * 校验按钮唯一性 + * @param cgformButtonEntity + * @return + */ + public List checkCgformButton(CgformButtonEntity cgformButtonEntity); + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/button/CgformButtonSqlServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/button/CgformButtonSqlServiceI.java new file mode 100644 index 00000000..3ad381c9 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/button/CgformButtonSqlServiceI.java @@ -0,0 +1,26 @@ +package org.jeecgframework.web.cgform.service.button; + +import java.util.List; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; + +import org.jeecgframework.core.common.service.CommonService; + +public interface CgformButtonSqlServiceI extends CommonService{ + + /** + * 校验按钮sql增强唯一性 + * @param cgformButtonEntity + * @return + */ + public List checkCgformButtonSql(CgformButtonSqlEntity cgformButtonSqlEntity); + + /** + * 根据buttonCode和formId初始化数据 + * @param buttonCode + * @param formId + * @return + */ + public CgformButtonSqlEntity getCgformButtonSqlByCodeFormId(String buttonCode,String formId); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/cgformftl/CgformFtlServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/cgformftl/CgformFtlServiceI.java new file mode 100644 index 00000000..9af54e62 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/cgformftl/CgformFtlServiceI.java @@ -0,0 +1,28 @@ +package org.jeecgframework.web.cgform.service.cgformftl; + +import java.util.Map; + +import org.jeecgframework.core.common.service.CommonService; + +public interface CgformFtlServiceI extends CommonService{ + + /** + * 根据tableName获取form模板信息 + */ + public Map getCgformFtlByTableName(String tableName); + + /** + * 获得新增数据的版本号 + * @param cgformId + * @return + */ + public int getNextVarsion(String cgformId); + + /** + * 是否有已经激活的模板 + * @param cgformId + * @return + */ + public boolean hasActive(String cgformId); + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/CgFormFieldServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/CgFormFieldServiceI.java new file mode 100644 index 00000000..7d8a43a6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/CgFormFieldServiceI.java @@ -0,0 +1,188 @@ +package org.jeecgframework.web.cgform.service.config; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.exception.BusinessException; + +import org.jeecgframework.core.common.service.CommonService; + +public interface CgFormFieldServiceI extends CommonService { + /** + * 更新表 + * + * @param t + */ + void updateTable(CgFormHeadEntity t, String sign); + + /** + * 创建表 + * + * @param tableProperty + */ + void saveTable(CgFormHeadEntity tableProperty); + + /** + * 重载创建表 + * + * @param cgFormHead + * @param a + */ + public void saveTable(CgFormHeadEntity cgFormHead, String a); + + /** + * 判断表是不是再数据库中存在了 + * + * @param tableName + * @return + */ + Boolean judgeTableIsExit(String tableName); + + /** + * 同步数据库 + * @param synMethod + * + * @return + */ + public boolean dbSynch(CgFormHeadEntity cgFormHead, String synMethod) + throws BusinessException; + + /** + * 删除这个配置表单 连同表 + * + * @param cgFormHead + */ + void deleteCgForm(CgFormHeadEntity cgFormHead); + + /** + * 根据tablename 获取表单配置 + * + * @return + */ + public List> getCgFormFieldByTableName(String tableName); + + /** + * 根据formid 获取表单字段配置 + * + * @return + */ + public Map getCgFormFieldByFormId(String formid); + + /** + * 根据tableName 获取表单配置 + * + * @return + */ + public CgFormHeadEntity getCgFormHeadByTableName(String tableName); + + /** + * 根据tableName 获取表单所有配置信息 + * + * @return + */ + public Map getAllCgFormFieldByTableName( + String tableName); + + /** + * 根据tableName 获取表单所有配置信息(缓存) + * + * @return + */ + public Map getAllCgFormFieldByTableName( + String tableName, String version); + + /** + * 根据tableName 获取表单所有hidden配置信息 + * + * @return + */ + public List getHiddenCgFormFieldByTableName( + String tableName); + + /** + * 获取主表关联的附表的信息 + * + * @return + */ + public List> getSubTableData(String mainTableName, + String subTableName, Object mainTableId); + + /** + * 更新主表的附表串-用于表配置提交时调用 + * + * @author 赵俊夫 + * @param entity + * 表单配置 + * @return 更新是否成功 + */ + public boolean appendSubTableStr4Main(CgFormHeadEntity entity); + + /** + * 剔除主表的附表串-用于表配置修改时调用 + * + * @author 赵俊夫 + * @param entity + * 表单配置 + * @return 更新是否成功 + */ + public boolean removeSubTableStr4Main(CgFormHeadEntity entity); + + /** + * 按tabOrder排序subTableStr + * + * @author fancq + * @param entity + */ + public void sortSubTableStr(CgFormHeadEntity entity); + + /** + * 获取表单的版本号 + * + * @param tableName + * 表单名 + * @return + */ + public String getCgFormVersionByTableName(String tableName); + + /** + * 获取表单的版本号 + * + * @param id + * 表单id + * @return + */ + public String getCgFormVersionById(String id); + + /** + * 更新表单的版本号 + * + * @return + */ + public boolean updateVersion(String formId); + + /** + * 获取表单配置 + * + * @param tableName + * @param version + * @return + */ + public Map getFtlFormConfig(String tableName, String version); + + /** + * 根据tableName 获取表单配置 根据版本号缓存 + * + * @return + */ + public CgFormHeadEntity getCgFormHeadByTableName(String tableName, + String version); + /** + * 判断数据表是否存在 + * @param tableName + * @return + */ + public boolean checkTableExist(String tableName); + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/DbTableHandleI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/DbTableHandleI.java new file mode 100644 index 00000000..8c630fa2 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/DbTableHandleI.java @@ -0,0 +1,62 @@ +package org.jeecgframework.web.cgform.service.config; + +import org.jeecgframework.web.cgform.exception.DBException; +import org.jeecgframework.web.cgform.service.impl.config.util.ColumnMeta; + +public interface DbTableHandleI { + /** + * + * @param columnMeta + * @return + */ +// String getUpdateFieldDesc(ColumnMeta columnMeta,ColumnMeta datacolumnMeta); + /** + * + * @param columnMeta + * @return + */ + String getAddColumnSql(ColumnMeta columnMeta); + /** + * + * @param columnMeta + * @return + */ + String getReNameFieldName(ColumnMeta columnMeta); + /** + * 修改字段 + * @param cgformcolumnMeta form的自动配置信息 + * @param datacolumnMeta 数据库表的字段信息 + * @return + */ + String getUpdateColumnSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta) throws DBException; + /** + * 根据数据类型转换类类型 + * @return + */ + String getMatchClassTypeByDataType(String dataType,int digits); + /** + * 删除表 + * @param tableName + * @return + */ + String dropTableSQL(String tableName); + /** + * 删除字段 + * @param fieldName + * @return + */ + String getDropColumnSql(String fieldName); + /** + * 添加注释 + *@param columnMeta + *@return + */ + String getCommentSql(ColumnMeta columnMeta); + /** + * 处理特殊sql + * @param cgformcolumnMeta + * @param datacolumnMeta + * @return + */ + String getSpecialHandle(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/DbTableServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/DbTableServiceI.java new file mode 100644 index 00000000..fe06d712 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/config/DbTableServiceI.java @@ -0,0 +1,43 @@ +package org.jeecgframework.web.cgform.service.config; + +import org.springframework.jdbc.core.JdbcTemplate; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; + + +/** + * 表的操作 + * @author jueyue + * + */ +public interface DbTableServiceI { + + /** + * 创建表 + * @param tableProperty + * @return SQL + */ + String createTableSQL(CgFormHeadEntity tableProperty); + + /** + * 删除表 + * @param tableProperty + * @return SQL + */ + String dropTableSQL(CgFormHeadEntity tableProperty); + /** + * 判断表格是否存在 + * @param tableName + * @return SQL + */ + String createIsExitSql(String tableName); + /** + * 更新表 + * @param cgFormHead + * @param jdbcTemplate + * @return SQL + */ + String updateTableSQL(CgFormHeadEntity cgFormHead, JdbcTemplate jdbcTemplate); + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/enhance/CgformEnhanceJsServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/enhance/CgformEnhanceJsServiceI.java new file mode 100644 index 00000000..bc3a6eb8 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/enhance/CgformEnhanceJsServiceI.java @@ -0,0 +1,16 @@ +package org.jeecgframework.web.cgform.service.enhance; + +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; + +import org.jeecgframework.core.common.service.CommonService; + +public interface CgformEnhanceJsServiceI extends CommonService{ + + /** + * 根据cgJsType和formId查找数据 + * @param cgJsType + * @param formId + * @return + */ + public CgformEnhanceJsEntity getCgformEnhanceJsByTypeFormId(String cgJsType,String formId); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/excel/ExcelTempletService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/excel/ExcelTempletService.java new file mode 100644 index 00000000..673bec26 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/excel/ExcelTempletService.java @@ -0,0 +1,287 @@ +package org.jeecgframework.web.cgform.service.excel; + +import java.io.InputStream; +import java.text.DateFormat; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; + +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFRichTextString; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.RichTextString; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.jeecgframework.core.common.exception.BusinessException; + +/** + * 模版导出工具类 + * + * @author huiyong + * + */ +public class ExcelTempletService { + //默认列宽 + //TODO 慧勇 从数据库或者配置文件设置默认列宽 + private static int maxColumnWidth = 30; + private static int minColumnWidth = 12; + //TODO 文件生成的空行太多的话,填写文件又没有填写满的话,空行数据在导入的时候会导入空数据进数据库, + private static int defaultBlankRow = 1; + /** + * 导出excel模版 + * @param title + * @param dataSet + * @return + */ + public static HSSFWorkbook exportExcel(String title, Collection dataSet) { + // 使用userModel模式实现的,当excel文档出现10万级别的大数据文件可能导致OOM内存溢出 + return exportExcelInUserModel2File(title, dataSet); + } + + @SuppressWarnings("unchecked") + private static HSSFWorkbook exportExcelInUserModel2File(String title, + Collection dataSet) { + // 声明一个工作薄 + HSSFWorkbook workbook = null; + try { + // 首先检查数据看是否是正确的 + if (dataSet == null || dataSet.size() == 0) { + throw new Exception("导出数据为空!"); + } + if (title == null) { + throw new Exception("传入参数不能为空!"); + } + // 声明一个工作薄 + workbook = new HSSFWorkbook(); + // 生成一个表格 + Sheet sheet = workbook.createSheet(title); + int index = 0; + // 产生表格标题行 + Row row = sheet.createRow(index); + row.setHeight((short) 450); + CellStyle titleStyle = getTitleStyle(workbook); + Iterator it = dataSet.iterator(); + while (it.hasNext()) { + CgFormFieldEntity type = (CgFormFieldEntity) it.next(); + // 输入需要显示的字段信息 + if (type.getIsShow().equals("Y")) { + Cell cell = row.createCell(index); + RichTextString text = new HSSFRichTextString(type + .getContent()); + cell.setCellValue(text); + // 设置列宽 + int columnWidth = type.getLength()==0?minColumnWidth:type.getLength()>maxColumnWidth?maxColumnWidth:type.getLength(); + sheet.setColumnWidth(index,256 * columnWidth); + cell.setCellStyle(titleStyle); + index++; + //标题列下方默认给三行的边框空位置 + } + setBlankRows(defaultBlankRow,index,workbook); + } + } catch (Exception e) { + e.printStackTrace(); + } + return workbook; + } + /** + * exce表头单元格样式处理 + * @param workbook + * @return + */ + public static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook) { + // 产生Excel表头 + HSSFCellStyle titleStyle = workbook.createCellStyle(); + titleStyle.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE); // 设置边框样式 + titleStyle.setBorderLeft((short) 2); // 左边框 + titleStyle.setBorderRight((short) 2); // 右边框 + titleStyle.setBorderTop((short) 2); // 左边框 + titleStyle.setBorderBottom((short) 2); // 右边框 + titleStyle.setBorderTop(HSSFCellStyle.BORDER_DOUBLE); // 顶边框 + titleStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index); // 填充的背景颜色 + titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); + + titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充图案 + + return titleStyle; + } + + //生成多少行的带有比边框的空行 + public static void setBlankRows(int rows,int columns,HSSFWorkbook workbook){ + //得到第一页 + Sheet sheet = workbook.getSheetAt(0); + //样式 + CellStyle cellStyle = getOneStyle(workbook); + for (int i = 1; i <=rows; i++) { + Row row = sheet.createRow(i); + for (int j = 0; j < columns; j++) { + row.createCell(j).setCellStyle(cellStyle); + } + } + } + + public static HSSFCellStyle getTwoStyle(HSSFWorkbook workbook) { + // 产生Excel表头 + HSSFCellStyle style = workbook.createCellStyle(); + style.setBorderLeft((short) 1); // 左边框 + style.setBorderRight((short) 1); // 右边框 + style.setBorderBottom((short) 1); + style.setBorderTop((short) 1); + style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index); // 填充的背景颜色 + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充图案 + return style; + } + + public static HSSFCellStyle getOneStyle(HSSFWorkbook workbook) { + // 产生Excel表头 + HSSFCellStyle style = workbook.createCellStyle(); + style.setBorderLeft((short) 1); // 左边框 + style.setBorderRight((short) 1); // 右边框 + style.setBorderBottom((short) 1); + style.setBorderTop((short) 1); + return style; + } + + + /** + * 导入 excel + * @param inputstream + * : 文件输入流 + * @param pojoClass + * : 对应的导入对象 (每行记录) + * @return + */ + public static Collection importExcelByIs(InputStream inputstream, + List lists) { + Map fieldMap = ConvertDate(lists); + //返回的数据类型 + List> tObject = new ArrayList>(); + try { + // 将传入的File构造为FileInputStream; + // // 得到工作表 + HSSFWorkbook book = new HSSFWorkbook(inputstream); + // // 得到第一页 + HSSFSheet sheet = book.getSheetAt(0); + // // 得到第一面的所有行 + Iterator row = sheet.rowIterator(); + // 得到第一行,也就是标题行 + Row title = row.next(); + // 得到第一行的所有列 + Iterator cellTitle = title.cellIterator(); + // 将标题的文字内容放入到一个map中。 + Map titlemap = new HashMap(); + // 从标题第一列开始 + int i = 0; + // 循环标题所有的列 + while (cellTitle.hasNext()) { + Cell cell = cellTitle.next(); + String value = cell.getStringCellValue(); + if (fieldMap.get(value)==null) { + throw new BusinessException("导入数据excel列名有不能识别的列"); + } + titlemap.put(i, value); + i = i + 1; + } + // 用来格式化日期的DateFormat + Map retMap=null; + while (row.hasNext()) { + retMap= new HashMap(); + // 标题下的第一行 + Row rown = row.next(); + // 行的所有列 + Iterator cellbody = rown.cellIterator(); + int k = 0; + // 遍历一行的列 + while (cellbody.hasNext()) { + Cell cell = cellbody.next(); + // 这里得到此列的对应的标题 + String titleString = (String) titlemap.get(k); + if (fieldMap.containsKey(titleString)) { + retMap.put(fieldMap.get(titleString).getFieldName(), getCellValueString(cell)); + } + // 下一列 + k = k + 1; + } + tObject.add(retMap); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return tObject; + } + //TODO huiyong excel日期格式处理默认如此,需要从数据库或者配置文件读取 + public final static DateFormat DEFAULT_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); + /** + * 得到某个格子的值 已经对过时方法进行更新 + * + * @param cell + * 格子对象 + * @return 格子的值 + */ + public static String getCellValueString(Cell cell) { + if (cell == null) { + return null; + } + // 时间对象 特殊处理 + int dataFormat = cell.getCellStyle().getDataFormat(); + + if (dataFormat == 14 || dataFormat == 178 || dataFormat == 180 || dataFormat == 181 + || dataFormat == 182) { + return getDateValue(cell); + } + String value = null; + switch (cell.getCellType()) { + case Cell.CELL_TYPE_NUMERIC : + value = new DecimalFormat("0.##########").format(cell.getNumericCellValue()); + break; + case Cell.CELL_TYPE_STRING : + // value = cell.getStringCellValue(); + value = cell.getRichStringCellValue().toString(); + break; + case Cell.CELL_TYPE_FORMULA : + value = String.valueOf(cell.getCellFormula()); + break; + case Cell.CELL_TYPE_BLANK : + // value = String.valueOf(cell.getStringCellValue()); + value = String.valueOf(cell.getRichStringCellValue().toString()); + break; + case Cell.CELL_TYPE_BOOLEAN : + value = String.valueOf(cell.getBooleanCellValue()); + break; + case Cell.CELL_TYPE_ERROR : + value = String.valueOf(cell.getErrorCellValue()); + break; + } + return value; + } + /** + * 返回时间内的特殊时间格式 OFFICE2003 + * @param cell + * @return + */ + private static String getDateValue(Cell cell){ + return DEFAULT_DATE_FORMAT.format(cell.getDateCellValue()); + } + /** + * 数据处理 + */ + private static Map ConvertDate(List lists){ + Map maps = new HashMap(); + + for (CgFormFieldEntity cgFormFieldEntity : lists) { + maps.put(cgFormFieldEntity.getContent(), cgFormFieldEntity); + } + return maps; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/autolist/CgTableServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/autolist/CgTableServiceImpl.java new file mode 100644 index 00000000..3f5720b3 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/autolist/CgTableServiceImpl.java @@ -0,0 +1,168 @@ +package org.jeecgframework.web.cgform.service.impl.autolist; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.common.CommUtils; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.service.autolist.CgTableServiceI; +import org.jeecgframework.web.cgform.service.build.DataBaseService; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.impl.config.util.DbTableUtil; +import org.jeecgframework.web.cgform.util.QueryParamUtil; + +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.common.service.CommonService; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +/** + * + * @Title:CgTableServiceImpl + * @description:动态表数据服务实现 + * @author 赵俊夫 + * @date Jul 5, 2013 9:34:51 PM + * @version V1.0 + */ +@Service("cgTableService") +@Transactional +public class CgTableServiceImpl extends CommonServiceImpl implements CgTableServiceI { + @Autowired + private CommonService commonService; + + @Autowired + private DataBaseService dataBaseService; + + @Autowired + private CgFormFieldServiceI cgFormFieldService; + + @SuppressWarnings("unchecked") + + public List> querySingle(String table, String field, Map params, + int page, int rows) { + StringBuilder sqlB = new StringBuilder(); + dealQuerySql(table,field,params,sqlB); + List> result = commonService.findForJdbcParam(sqlB + .toString(), page, rows); + return result; + } + + public List> querySingle(String table, String field, Map params, + String sort, String order, int page, int rows) { + StringBuilder sqlB = new StringBuilder(); + dealQuerySql(table,field,params,sqlB); + if(!StringUtil.isEmpty(sort)&& !StringUtil.isEmpty(order)){ + sqlB.append(" ORDER BY "+sort+" "+ order); + } + List> result = commonService.findForJdbcParam(sqlB + .toString(), page, rows); + return result; + } + + @SuppressWarnings("unchecked") + + public boolean delete(String table, Object id) { + try{ + CgFormHeadEntity head = cgFormFieldService.getCgFormHeadByTableName(table); + Map data = dataBaseService.findOneForJdbc(table, id.toString()); + if(data!=null){ + //打印测试 + Iterator it=data.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + Object ok=entry.getKey(); + Object ov=entry.getValue()==null?"":entry.getValue(); + org.jeecgframework.core.util.LogUtil.info("name:"+ok.toString()+";value:"+ov.toString()); + } + data = CommUtils.mapConvert(data); + dataBaseService.executeSqlExtend(head.getId(), "delete", data); + } + //step.1 删除表 + StringBuilder deleteSql = new StringBuilder(); + deleteSql.append("DELETE FROM "+table+" WHERE id = ?"); + if(!QueryParamUtil.sql_inj(id.toString())){ + commonService.executeSql(deleteSql.toString(), id); + } + //step.2 判断是否有明细表,进行连带删除 + String[] subTables = head.getSubTableStr()==null?new String[0]:head.getSubTableStr().split(","); + for(String subTable:subTables){ + Map fields = cgFormFieldService.getAllCgFormFieldByTableName(subTable); + String subFkField = null; + Iterator it = fields.keySet().iterator(); + for(;it.hasNext();){ + String fieldName = (String) it.next(); + CgFormFieldEntity fieldc = fields.get(fieldName); + if(StringUtil.isNotEmpty(fieldc.getMainTable())){ + if(table.equalsIgnoreCase(fieldc.getMainTable())){ + subFkField = fieldName; + } + } + } + if(StringUtil.isNotEmpty(subFkField)){ + String dsql = "delete from "+subTable+" "+"where "+subFkField+" = ? "; + this.executeSql(dsql,id); + } + } + + }catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + @SuppressWarnings("unchecked") + private void dealQuerySql(String table, String field, Map params,StringBuilder sqlB){ + sqlB.append(" SELECT "); + for (String f : field.split(",")) { + sqlB.append(f); + sqlB.append(","); + } + sqlB.deleteCharAt(sqlB.length() - 1); + sqlB.append(" FROM " + table); + if (params.size() >= 1) { + sqlB.append(" WHERE 1=1 "); + Iterator it = params.keySet().iterator(); + while (it.hasNext()) { + String key = String.valueOf(it.next()); + String value = String.valueOf(params.get(key)); + if (!StringUtil.isEmpty(value) && !"null".equals(value)) { + sqlB.append(" AND "); + sqlB.append(" " + key + value ); + } + } + } + } + + + @SuppressWarnings("unchecked") + + public Long getQuerySingleSize(String table, String field, Map params) { + StringBuilder sqlB = new StringBuilder(); + dealQuerySql(table,"count(*) as query_size,",params,sqlB); + List> result = commonService.findForJdbc(sqlB.toString()); + if(result.size()>=1){ + return Long.parseLong(String.valueOf(result.get(0).get("query_size"))); + }else{ + return 0L; + } + } + + public boolean deleteBatch(String table, String[] ids) { + try{ + for(String id:ids){ + delete(table, id); + } + }catch (Exception e) { + throw new BusinessException(e.getMessage()); + } + return true; + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/autolist/ConfigServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/autolist/ConfigServiceImpl.java new file mode 100644 index 00000000..04c0d919 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/autolist/ConfigServiceImpl.java @@ -0,0 +1,87 @@ +package org.jeecgframework.web.cgform.service.impl.autolist; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.cgform.service.autolist.ConfigServiceI; +import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.service.enhance.CgformEnhanceJsServiceI; + +import org.jeecgframework.core.annotation.Ehcache; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +/** + * + * @Title:ConfigServiceImpl + * @description:动态配置服务实现 + * @author 赵俊夫 + * @date Jul 5, 2013 9:35:22 PM + * @version V1.0 + */ +@Service("configService") +@Transactional +public class ConfigServiceImpl implements ConfigServiceI { + @Autowired + private CgFormFieldServiceI tablePropertyService; + @Autowired + private CgformButtonServiceI cgformButtonService; + @Autowired + private CgformEnhanceJsServiceI cgformEnhanceJsService; + + /** + * tableName 表单名 + */ + @Ehcache + public Map queryConfigs(String tableName,String jversion) { + //step.1 要返回的配置数据 + Map configs = new HashMap(); + //step.2 获取动态表配置 + CgFormHeadEntity tableEntity = null; + try{ + tableEntity = tablePropertyService.findByProperty(CgFormHeadEntity.class, "tableName", tableName).get(0); + loadConfigs(configs,tableEntity); + }catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("没有找到该动态列表"); + } + return configs; + } + + private void loadConfigs(Map configs, CgFormHeadEntity tableEntity) { + //获取动态表明细配置 + List columns = tableEntity.getColumns(); + configs.put(CgAutoListConstant.CONFIG_ID, tableEntity.getTableName()); + configs.put(CgAutoListConstant.CONFIG_NAME, tableEntity.getContent()); + configs.put(CgAutoListConstant.TABLENAME,tableEntity.getTableName()); + configs.put(CgAutoListConstant.CONFIG_ISCHECKBOX,tableEntity.getIsCheckbox()); + configs.put(CgAutoListConstant.CONFIG_ISPAGINATION,tableEntity.getIsPagination()); + configs.put(CgAutoListConstant.CONFIG_ISTREE,tableEntity.getIsTree()); + configs.put(CgAutoListConstant.CONFIG_QUERYMODE,tableEntity.getQuerymode()); + configs.put(CgAutoListConstant.FILEDS,columns); + configs.put(CgAutoListConstant.CONFIG_VERSION, tableEntity.getJformVersion()); + String formId = tableEntity.getId(); + List buttons = cgformButtonService.getCgformButtonListByFormId(formId); + configs.put(CgAutoListConstant.CONFIG_BUTTONLIST,buttons.size()>0?buttons:new ArrayList(0)); + String jsCode = ""; + CgformEnhanceJsEntity jsEnhance = cgformEnhanceJsService.getCgformEnhanceJsByTypeFormId("list", formId); + if(jsEnhance!=null){ + jsCode = jsEnhance.getCgJsStr(); + if(StringUtil.isEmpty(jsCode)){ + jsCode = ""; + } + } + configs.put(CgAutoListConstant.CONFIG_JSENHANCE,jsCode); + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/build/DataBaseServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/build/DataBaseServiceImpl.java new file mode 100644 index 00000000..0d6ccebd --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/build/DataBaseServiceImpl.java @@ -0,0 +1,580 @@ +package org.jeecgframework.web.cgform.service.impl.build; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.common.CommUtils; +import org.jeecgframework.web.cgform.common.SysVar; +import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.exception.BusinessException; +import org.jeecgframework.web.cgform.service.build.DataBaseService; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.DBTypeUtil; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.UUIDGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; +import org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer; +import org.springframework.jdbc.support.incrementer.PostgreSQLSequenceMaxValueIncrementer; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @ClassName: DataBaseServiceImpl + * @Description: (表单模板数据操作service) + * @author zhoujunfeng + */ +@Service("dataBaseService") +@Transactional +public class DataBaseServiceImpl extends CommonServiceImpl implements DataBaseService{ + private static final Logger logger = Logger.getLogger(DataBaseServiceImpl.class); + @Autowired + private CgFormFieldServiceI cgFormFieldService; + @Autowired + private AbstractRoutingDataSource dataSource; + @Autowired + private JdbcTemplate jdbcTemplate; + /** + * 表单添加 + * @param tableName 表名 + * @param data 添加的数据map + */ + + public int insertTable(String tableName, Map data) { + CgFormHeadEntity cgFormHeadEntity = cgFormFieldService.getCgFormHeadByTableName(tableName); + fillInsertSysVar(data); + keyAdapter(cgFormHeadEntity,data); + dataAdapter(tableName,data); + String comma = ""; + StringBuffer insertKey = new StringBuffer(); + StringBuffer insertValue = new StringBuffer(); + for (Entry entry : data.entrySet()) { + // 判断key是否为表配置的属性 + if(isContainsFieled(tableName,entry.getKey())){ + //插入SQL语法,兼容多数据库,去掉单引号 + insertKey.append(comma + entry.getKey()); + if(entry.getValue()!=null&&entry.getValue().toString().length()>0){ + insertValue.append(comma + ":"+entry.getKey()); + }else{ + insertValue.append(comma + "null"); + } + comma = ", "; + + } + } + String sql = "INSERT INTO " + tableName + " (" + insertKey + ") VALUES (" + insertValue + ")"; + Object key = this.executeSqlReturnKey(sql,data); + if(key!=null&&key instanceof Long){ + data.put("id", key); + } + if(cgFormHeadEntity!=null){ + executeSqlExtend(cgFormHeadEntity.getId(),"add",data); + } + return 1; + } + /** + * 根据数据库和主键策略来适配Insert的sql语句 + * @param cgFormHeadEntity 表单配置 + * @param data 插入的数据 + */ + private void keyAdapter(CgFormHeadEntity cgFormHeadEntity, + Map data) { + String pkType = cgFormHeadEntity.getJformPkType(); + String dbType = DBTypeUtil.getDBType(); + if("NATIVE".equalsIgnoreCase(pkType)||"SEQUENCE".equalsIgnoreCase(pkType)){ + if("sqlserver".equalsIgnoreCase(dbType)){ + //如果是数据库自增,sqlserver的insert语句中不允许出现该字段 + data.remove("id"); + } + } + } + /** + * 数据类型适配-根据表单配置的字段类型将前台传递的值将map-value转换成相应的类型 + * @param tableName 表单名 + * @param data 数据 + */ + private Map dataAdapter(String tableName,Map data) { + //step.1 获取表单的字段配置 + Map fieldConfigs =cgFormFieldService.getAllCgFormFieldByTableName(tableName); + //step.2 迭代将要持久化的数据 + Iterator it = fieldConfigs.keySet().iterator(); + for(;it.hasNext();){ + Object key = it.next(); + //根据表单配置的字段名 获取 前台数据 + Object beforeV = data.get(key.toString().toLowerCase()); + //获取字段配置-字段类型 + CgFormFieldEntity fieldConfig = fieldConfigs.get(key); + String type = fieldConfig.getType(); + //根据类型进行值的适配 + if("date".equalsIgnoreCase(type)){ + //日期->java.util.Date + Object newV = null; + try { + String dateType = fieldConfig.getShowType(); + if("datetime".equalsIgnoreCase(dateType)){ + newV = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(String.valueOf(beforeV)); + }else if("date".equalsIgnoreCase(dateType)){ + newV = new SimpleDateFormat("yyyy-MM-dd").parse(String.valueOf(beforeV)); + } + if(data.containsKey(key)){ + data.put(String.valueOf(key), newV); + } + } catch (ParseException e) { + e.printStackTrace(); + } + }else if("int".equalsIgnoreCase(type)){ + //int->java.lang.Integer + Object newV = new Integer(0); + try{ + newV = Integer.parseInt(String.valueOf(beforeV)); + }catch (Exception e) { + e.printStackTrace(); + } + if(data.containsKey(key)){ + data.put(String.valueOf(key), newV); + } + }else if("double".equalsIgnoreCase(type)){ + //double->java.lang.Double + Object newV = new Double(0); + try{ + newV = Double.parseDouble(String.valueOf(beforeV)); + }catch (Exception e) { + e.printStackTrace(); + } + if(data.containsKey(key)){ + data.put(String.valueOf(key), newV); + } + } + } + return data; + } + + /** + * 表单修改 + * @param tableName 表名 + * @param id 表数据id + * @param data 修改的数据map + */ + + public int updateTable(String tableName, Object id, Map data) { + fillUpdateSysVar(data); + dataAdapter(tableName,data); + String comma = ""; + StringBuffer sqlBuffer = new StringBuffer(); + sqlBuffer.append("update ").append(tableName).append(" set "); + for (Entry entry : data.entrySet()) { + // 判断key是否为表配置的属性 + if(isContainsFieled(tableName,entry.getKey())){ + if(entry.getValue()!=null&&entry.getValue().toString().length()>0){ + sqlBuffer.append(comma).append(entry.getKey()).append("=:"+entry.getKey()+" "); + }else{ + sqlBuffer.append(comma).append(entry.getKey()).append("=null"); + } + comma = ", "; + } + } + + if(id instanceof java.lang.String){ + sqlBuffer.append(" where id='").append(id).append("'"); + }else{ + sqlBuffer.append(" where id=").append(id); + } + CgFormHeadEntity cgFormHeadEntity = cgFormFieldService.getCgFormHeadByTableName(tableName); + int num = this.executeSql(sqlBuffer.toString(), data); + + if(cgFormHeadEntity!=null){ + executeSqlExtend(cgFormHeadEntity.getId(),"update",data); + } + return num; + } + + /** + * 查询表单 + * @param tableName 表名 + * @param id 表数据id + */ + + public Map findOneForJdbc(String tableName, String id) { + StringBuffer sqlBuffer = new StringBuffer(); + sqlBuffer.append("select * from ").append(tableName); + sqlBuffer.append(" where id='").append(id).append("'"); + Map map = this.findOneForJdbc(sqlBuffer.toString()); + return map; + } + + /** + * sql业务增强 + * + */ + public void executeSqlExtend(String formId,String buttonCode,Map data){ + //根据formId和buttonCode获取 + CgformButtonSqlEntity cgformButtonSqlVo = getCgformButtonSqlByCodeFormId(buttonCode,formId); + if(cgformButtonSqlVo!=null){ + //获取sql参数注入参数 + String sqlPlugin = cgformButtonSqlVo.getCgbSqlStr(); + if(StringUtils.isNotEmpty(sqlPlugin)){ + String [] sqls = sqlPlugin.split(";"); + for(String sql:sqls){ + if(sql.toLowerCase().indexOf(CgAutoListConstant.SQL_INSERT)!=-1 + ||sql.toLowerCase().indexOf(CgAutoListConstant.SQL_UPDATE)!=-1){ + //执行sql + logger.debug("sql plugin -------->"+sql); + sql = formateSQl(sql, data); + logger.debug("sql plugin -------->"+sql); + int num = this.executeSql(sql); + if(num>0){ + logger.debug("sql plugin --execute success------>"+sql); + }else{ + logger.debug("sql plugin --execute fail------>"+sql); + } + } + } + } + } + } + + private CgformButtonSqlEntity getCgformButtonSqlByCodeFormId(String buttonCode, String formId) { + StringBuilder hql = new StringBuilder(""); + hql.append(" from CgformButtonSqlEntity t"); + hql.append(" where t.formId=?"); + hql.append(" and t.buttonCode =?"); + List list = this.findHql(hql.toString(),formId,buttonCode); + if(list!=null&&list.size()>0){ + return list.get(0); + } + return null; + } + + + /** + * sql值替换 + * @param sql + * @param params + * @return + */ + private String formateSQl(String sql, Map params) { + sql = replaceExtendSqlSysVar(sql); + if (params == null) { + return sql; + } + if(sql.toLowerCase().indexOf(CgAutoListConstant.SQL_INSERT)!=-1){ + sql = sql.replace("#{UUID}", UUIDGenerator.generate()); + } + for (String key : params.keySet()) { +// sql = sql.replace("#{" + key + "}", "'"+((String)params.get(key)).toString()+"'"); + sql = sql.replace("#{" + key + "}", ((String)params.get(key)).toString()); + } + return sql; + } + + @SuppressWarnings("unchecked") + + public Map insertTableMore(Map>> mapMore, String mainTableName) throws BusinessException { + //插入主表信息 + Map mainMap = mapMore.get(mainTableName).get(0); + //消除字段 + String [] filterName = {"tableName","saveOrUpdateMore"}; + mainMap = CommUtils.attributeMapFilter(mainMap,filterName); + Object pkValue = getPkValue(mainTableName); + mainMap.put("id", pkValue); + insertTable(mainTableName, mainMap); + + //插入附表信息 + //去除主表信息 + String [] filterMainTable = {mainTableName}; + mapMore = CommUtils.attributeMapFilter(mapMore,filterMainTable); + Iterator it=mapMore.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + String ok=(String)entry.getKey(); + List> ov=(List>)entry.getValue(); + for(Map fieldMap:ov){ + //处理关联键 + List> fkFieldList = getFKField(mainTableName, ok); + Object subPkValue = getPkValue(ok); + fieldMap.put("id", subPkValue); + fieldMap = CommUtils.convertFKMap(fieldMap,mainMap,fkFieldList); + insertTable(ok, fieldMap); + } + } + return mainMap; + } + + @SuppressWarnings("unchecked") + + public boolean updateTableMore(Map>> mapMore, String mainTableName) throws BusinessException { + //更新主表信息 + Map mainMap = mapMore.get(mainTableName).get(0); + Object mainTableId = mainMap.get("id"); + //消除字段 + String [] filterName = {"tableName","saveOrUpdateMore","id"}; + mainMap = CommUtils.attributeMapFilter(mainMap,filterName); + updateTable(mainTableName,mainTableId, mainMap); + mainMap.put("id", mainTableId); + //更新附表信息 + String [] filterMainTable = {mainTableName}; + mapMore = CommUtils.attributeMapFilter(mapMore,filterMainTable); + Iterator it=mapMore.entrySet().iterator(); + while(it.hasNext()){ + Map.Entry entry=(Map.Entry)it.next(); + String ok=(String)entry.getKey(); + List> ov=(List>)entry.getValue(); + //处理关联键 + List> fkFieldList = getFKField(mainTableName, ok); + //根据主表id获取附表信息 + Map> subTableDateMap = getSubTableData(fkFieldList, mainTableName, ok, mainTableId); + for(Map fieldMap:ov){ + Object subId = fieldMap.get("id")==null?"":fieldMap.get("id"); + if(subId==null || "".equals(String.valueOf(subId))){ + fieldMap = CommUtils.convertFKMap(fieldMap,mainMap,fkFieldList); + fieldMap.put("id", getPkValue(ok)); + insertTable(ok, fieldMap); + }else{ + fieldMap = CommUtils.convertFKMap(fieldMap,mainMap,fkFieldList); + //消除字段 + String [] subFilterName = {"id"}; + fieldMap = CommUtils.attributeMapFilter(fieldMap,subFilterName); + updateTable(ok,subId,fieldMap); + //剔除已经更新了的数据 + if(subTableDateMap.containsKey(subId)){ + subTableDateMap.remove(subId); + } + } + } + //subTableDateMap中剩余的数据就是删除的数据 + if(subTableDateMap.size()>0){ + Iterator itSub=subTableDateMap.entrySet().iterator(); + while(itSub.hasNext()){ + Map.Entry entrySub=(Map.Entry)itSub.next(); + Object subId=entrySub.getKey(); + deleteSubTableDataById(subId,ok); + } + } + } + return true; + } + + /** + * 获得主表附表关联键 + * + * @param mainTableName 主表名 + * @param subTableName 附表名 + * @return + */ + private List> getFKField(String mainTableName, String subTableName) { + StringBuilder sql1 = new StringBuilder(""); + sql1.append("select f.* from cgform_field f ,cgform_head h"); + sql1.append(" where f.table_id = h.id "); + sql1.append(" and h.table_name=? "); + sql1.append(" and f.main_table=? "); + List> list = this.findForJdbc(sql1.toString(), subTableName,mainTableName); + return list; + } + + /** + * 根据主表id获取附表信息 + * + * @param fkFieldList 主表附表关联键 + * @param mainTableName 主表名 + * @param subTableName 附表名 + * @param mainTableId 主表id + * @return + */ + private Map> getSubTableData(List> fkFieldList,String mainTableName, String subTableName,Object mainTableId) { + + StringBuilder sql2 = new StringBuilder(""); + sql2.append("select sub.* from ").append(subTableName).append(" sub "); + sql2.append(", ").append(mainTableName).append(" main "); + sql2.append("where 1=1 "); + if(fkFieldList!=null&&fkFieldList.size()>0){ + for(Map map :fkFieldList){ + if(map.get("main_field")!=null){ + sql2.append(" and sub.").append((String)map.get("field_name")).append("=").append("main.").append((String)map.get("main_field")); + } + } + } + sql2.append(" and main.id= ? "); + List> subTableDataList = this.findForJdbc(sql2.toString(),mainTableId); + Map> dataMap = new HashMap>(); + if(subTableDataList!=null){ + for(Map map:subTableDataList){ + dataMap.put(map.get("id"), map); + } + } + return dataMap; + } + /** + * 根据主键策略获取实际插入的主键值 + * @param tableName 表单名称 + * @return + */ + public Object getPkValue(String tableName) { + Object pkValue = null; + CgFormHeadEntity cghead = cgFormFieldService.getCgFormHeadByTableName(tableName); + String dbType = DBTypeUtil.getDBType(); + String pkType = cghead.getJformPkType(); + String pkSequence = cghead.getJformPkSequence(); + if(StringUtil.isNotEmpty(pkType)&&"UUID".equalsIgnoreCase(pkType)){ + pkValue = UUIDGenerator.generate(); + }else if(StringUtil.isNotEmpty(pkType)&&"NATIVE".equalsIgnoreCase(pkType)){ + if(StringUtil.isNotEmpty(dbType)&&"oracle".equalsIgnoreCase(dbType)){ + OracleSequenceMaxValueIncrementer incr = new OracleSequenceMaxValueIncrementer(dataSource, "HIBERNATE_SEQUENCE"); + try{ + pkValue = incr.nextLongValue(); + }catch (Exception e) { + logger.error(e,e); + } + }else if(StringUtil.isNotEmpty(dbType)&&"postgres".equalsIgnoreCase(dbType)){ + PostgreSQLSequenceMaxValueIncrementer incr = new PostgreSQLSequenceMaxValueIncrementer(dataSource, "HIBERNATE_SEQUENCE"); + try{ + pkValue = incr.nextLongValue(); + }catch (Exception e) { + logger.error(e,e); + } + }else{ + pkValue = null; + } + }else if(StringUtil.isNotEmpty(pkType)&&"SEQUENCE".equalsIgnoreCase(pkType)){ + if(StringUtil.isNotEmpty(dbType)&&"oracle".equalsIgnoreCase(dbType)){ + OracleSequenceMaxValueIncrementer incr = new OracleSequenceMaxValueIncrementer(dataSource, pkSequence); + try{ + pkValue = incr.nextLongValue(); + }catch (Exception e) { + logger.error(e,e); + } + }else if(StringUtil.isNotEmpty(dbType)&&"postgres".equalsIgnoreCase(dbType)){ + PostgreSQLSequenceMaxValueIncrementer incr = new PostgreSQLSequenceMaxValueIncrementer(dataSource, pkSequence); + try{ + pkValue = incr.nextLongValue(); + }catch (Exception e) { + logger.error(e,e); + } + }else{ + pkValue = null; + } + }else{ + pkValue = UUIDGenerator.generate(); + } + return pkValue; + } + /** + * 根据id删除附表信息 + * + * @param subData 附表数据 + * @param subTableName 附表名 + * @return + */ + private void deleteSubTableDataById(Object subId,String subTableName){ + StringBuilder sql = new StringBuilder(""); + sql.append(" delete from ").append(subTableName).append(" where id = ? "); + + this.executeSql(sql.toString(), subId); + } + /** + * 更新操作时将系统变量约定的字段赋值 + * @param data + */ + private void fillUpdateSysVar(Map data) { + if(data.containsKey(CgAutoListConstant.MODIFY_DATE)){ + data.put(CgAutoListConstant.MODIFY_DATE, SysVar.sysdate.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFY_DATETIME)){ + data.put(CgAutoListConstant.MODIFY_DATETIME, SysVar.systime.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFYIER_ID)){ + data.put(CgAutoListConstant.MODIFYIER_ID, SysVar.userid.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFYIER_KEY)){ + data.put(CgAutoListConstant.MODIFYIER_KEY, SysVar.userkey.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFYIER_NAME)){ + data.put(CgAutoListConstant.MODIFYIER_NAME, SysVar.username.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFYIER_REALNAME)){ + data.put(CgAutoListConstant.MODIFYIER_REALNAME, SysVar.userrealname.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFYIER_DEPARTMENTID)){ + data.put(CgAutoListConstant.MODIFYIER_DEPARTMENTID, SysVar.department_id.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.MODIFYIER_DEPARTMENTID)){ + data.put(CgAutoListConstant.MODIFYIER_DEPARTMENTNAME, SysVar.department_name.getSysValue()); + } + } + + /** + * 插入操作时将系统变量约定的字段赋值 + * @param data + */ + private void fillInsertSysVar(Map data) { + if(data.containsKey(CgAutoListConstant.CREATE_DATE)){ + data.put(CgAutoListConstant.CREATE_DATE, SysVar.sysdate.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATE_DATETIME)){ + data.put(CgAutoListConstant.CREATE_DATETIME, SysVar.systime.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATOR_ID)){ + data.put(CgAutoListConstant.CREATOR_ID, SysVar.userid.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATOR_KEY)){ + data.put(CgAutoListConstant.CREATOR_KEY, SysVar.userkey.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATOR_NAME)){ + data.put(CgAutoListConstant.CREATOR_NAME, SysVar.username.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATOR_REALNAME)){ + data.put(CgAutoListConstant.CREATOR_REALNAME, SysVar.userrealname.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATOR_DEPARTMENTID)){ + data.put(CgAutoListConstant.CREATOR_DEPARTMENTID, SysVar.department_id.getSysValue()); + } + if(data.containsKey(CgAutoListConstant.CREATOR_DEPARTMENTID)){ + data.put(CgAutoListConstant.CREATOR_DEPARTMENTNAME, SysVar.department_name.getSysValue()); + } + } + /** + * 将Sql增强中的系统变量替换掉 + * @param sql + * @return + */ + private String replaceExtendSqlSysVar(String sql){ + sql = sql.replace("#{sys.userid}", SysVar.userid.getSysValue()) + .replace("#{sys.userkey}", SysVar.userkey.getSysValue()) + .replace("#{sys.username}", SysVar.username.getSysValue()) + .replace("#{sys.userrealname}", SysVar.userrealname.getSysValue()) + .replace("#{sys.department_id}", SysVar.department_id.getSysValue()) + .replace("#{sys.department_name}", SysVar.department_name.getSysValue()) + .replace("#{sys.sysdate}", SysVar.sysdate.getSysValue()) + .replace("#{sys.sysdtime}", SysVar.systime.getSysValue()); + return sql; + } + + private Map getAllFieldByTableName(String tableName){ + //获取版本号 + String version = cgFormFieldService.getCgFormVersionByTableName(tableName); + Map map = cgFormFieldService.getAllCgFormFieldByTableName(tableName, version); + return map; + } + + //判断key是否为表配置的属性 + private boolean isContainsFieled(String tableName,String fieledName){ + boolean flag = false; + if(getAllFieldByTableName(tableName).containsKey(fieledName)){ + flag = true; + } + return flag; + } +} + diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/button/CgformButtonServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/button/CgformButtonServiceImpl.java new file mode 100644 index 00000000..a4fc584e --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/button/CgformButtonServiceImpl.java @@ -0,0 +1,48 @@ +package org.jeecgframework.web.cgform.service.impl.button; + +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; + +@Service("cgformButtonService") +@Transactional +public class CgformButtonServiceImpl extends CommonServiceImpl implements CgformButtonServiceI { + + /** + * 查询按钮list + * @param formId + * @return + */ + + public List getCgformButtonListByFormId(String formId) { + StringBuilder hql = new StringBuilder(""); + hql.append(" from CgformButtonEntity t"); + hql.append(" where t.formId=? order by t.orderNum asc"); + List list = this.findHql(hql.toString(), formId); + return list; + } + + /** + * 校验按钮唯一性 + * @param cgformButtonEntity + * @return + */ + + public List checkCgformButton(CgformButtonEntity cgformButtonEntity) { + StringBuilder hql = new StringBuilder(""); + hql.append(" from CgformButtonEntity t"); + hql.append(" where t.formId='").append(cgformButtonEntity.getFormId()).append("'"); + hql.append(" and t.buttonCode ='").append(cgformButtonEntity.getButtonCode()).append("'"); + if(cgformButtonEntity.getId()!=null){ + hql.append(" and t.id !='").append(cgformButtonEntity.getId()).append("'"); + } + List list = this.findHql(hql.toString()); + return list; + } + +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/button/CgformButtonSqlServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/button/CgformButtonSqlServiceImpl.java new file mode 100644 index 00000000..ebbf00db --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/button/CgformButtonSqlServiceImpl.java @@ -0,0 +1,48 @@ +package org.jeecgframework.web.cgform.service.impl.button; + +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; +import org.jeecgframework.web.cgform.service.button.CgformButtonSqlServiceI; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; + +@Service("cgformButtonSqlService") +@Transactional +public class CgformButtonSqlServiceImpl extends CommonServiceImpl implements CgformButtonSqlServiceI { + + /** + * 校验按钮sql增强唯一性 + * @param cgformButtonEntity + * @return + */ + + public List checkCgformButtonSql( + CgformButtonSqlEntity cgformButtonSqlEntity) { + StringBuilder hql = new StringBuilder(""); + hql.append(" from CgformButtonSqlEntity t"); + hql.append(" where t.formId='").append(cgformButtonSqlEntity.getFormId()).append("'"); + hql.append(" and t.buttonCode ='").append(cgformButtonSqlEntity.getButtonCode()).append("'"); + if(cgformButtonSqlEntity.getId()!=null){ + hql.append(" and t.id !='").append(cgformButtonSqlEntity.getId()).append("'"); + } + List list = this.findHql(hql.toString()); + return list; + } + + + public CgformButtonSqlEntity getCgformButtonSqlByCodeFormId(String buttonCode, String formId) { + StringBuilder hql = new StringBuilder(""); + hql.append(" from CgformButtonSqlEntity t"); + hql.append(" where t.formId='").append(formId).append("'"); + hql.append(" and t.buttonCode ='").append(buttonCode).append("'"); + List list = this.findHql(hql.toString()); + if(list!=null&&list.size()>0){ + return list.get(0); + } + return null; + } + +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/cgformftl/CgformFtlServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/cgformftl/CgformFtlServiceImpl.java new file mode 100644 index 00000000..163c6a11 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/cgformftl/CgformFtlServiceImpl.java @@ -0,0 +1,60 @@ +package org.jeecgframework.web.cgform.service.impl.cgformftl; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.service.cgformftl.CgformFtlServiceI; + +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.DBTypeUtil; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service("cgformFtlService") +@Transactional +public class CgformFtlServiceImpl extends CommonServiceImpl implements CgformFtlServiceI { + + /** + * 根据tableName获取form模板信息 + */ + + public Map getCgformFtlByTableName(String tableName) { + StringBuilder sql = new StringBuilder(""); + sql.append("select ftl.* from cgform_ftl ftl,cgform_head head"); + sql.append(" where ftl.cgform_id=head.id"); + sql.append(" and ftl.ftl_status='1'"); + sql.append(" and head.table_name=? "); + List> list = this.findForJdbc(sql.toString(), tableName); + if(list!=null&&list.size()>0){ + return list.get(0); + } + return null; + } + + + public int getNextVarsion(String cgformId) { + StringBuilder sql = new StringBuilder(""); + sql.append("select (max(ftl_version)+1) as varsion from cgform_ftl"); + sql.append(" where cgform_id = ? "); + Map map = this.findOneForJdbc(sql.toString(), cgformId); + if(map!=null){ + int varsion = map.get("varsion")==null?0:Integer.valueOf(map.get("varsion").toString()); + return varsion; + } + return 0; + } + + + public boolean hasActive(String cgformId) { + StringBuilder sql = new StringBuilder(""); + sql.append("select * from cgform_ftl"); + sql.append(" where ftl_status = '1' "); + sql.append(" and cgform_id = ? "); + Map map = this.findOneForJdbc(sql.toString(), cgformId); + if(map!=null){ + return true; + } + return false; + } + +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/CgFormFieldServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/CgFormFieldServiceImpl.java new file mode 100644 index 00000000..c37296a0 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/CgFormFieldServiceImpl.java @@ -0,0 +1,687 @@ +package org.jeecgframework.web.cgform.service.impl.config; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.dao.config.CgFormFieldDao; +import org.jeecgframework.web.cgform.dao.config.CgFormVersionDao; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.config.CgSubTableVO; +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.cgform.exception.BusinessException; +import org.jeecgframework.web.cgform.exception.DBException; +import org.jeecgframework.web.cgform.service.cgformftl.CgformFtlServiceI; +import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.enhance.CgformEnhanceJsServiceI; +import org.jeecgframework.web.cgform.service.impl.config.util.DbTableProcess; +import org.jeecgframework.web.cgform.service.impl.config.util.DbTableUtil; +import org.jeecgframework.web.cgform.util.PublicUtil; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.hibernate.exception.GenericJDBCException; +import org.jeecgframework.core.annotation.Ehcache; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.orm.hibernate4.SessionFactoryUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.sun.star.uno.RuntimeException; + +@Service("cgFormFieldService") +@Transactional +public class CgFormFieldServiceImpl extends CommonServiceImpl implements + CgFormFieldServiceI { + /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(CgFormFieldServiceImpl.class); + //同步方式:普通同步 + private static final String SYN_NORMAL = "normal"; + //同步方式:强制同步 + private static final String SYN_FORCE = "force"; + @Autowired + @Qualifier("jdbcTemplate") + private JdbcTemplate jdbcTemplate; + @Autowired + private CgFormVersionDao cgFormVersionDao; + @Autowired + private CgformFtlServiceI cgformFtlService; + @Autowired + private CgformEnhanceJsServiceI cgformEnhanceJsService; + @Autowired + private CgFormFieldDao cgFormFieldDao; + + + public synchronized void updateTable(CgFormHeadEntity t, String sign) { + CgFormFieldEntity column; + boolean databaseFieldIsChange = false; + for (int i = 0; i < t.getColumns().size(); i++) { + column = t.getColumns().get(i); + if(oConvertUtils.isEmpty(column.getFieldName())){ + continue; + } + column.setTable(t); + // 设置checkbox的值 + PublicUtil.judgeCheckboxValue(column, + "isNull,isShow,isShowList,isQuery,isKey"); + if (oConvertUtils.isEmpty(column.getId())) { + databaseFieldIsChange = true; + this.save(column); + } else { + CgFormFieldEntity c = this.getEntity(CgFormFieldEntity.class, + column.getId()); + if (!databaseFieldIsChange && databaseFieldIsChange(c, column)) { + databaseFieldIsChange = true; + } + try { + MyBeanUtils.copyBeanNotNull2Bean(column, c); + } catch (Exception e) { + e.printStackTrace(); + logger.error(e); + } + this.saveOrUpdate(c); + } + } + t.setIsDbSynch(databaseFieldIsChange ? "N" : t.getIsDbSynch()); + + //表单配置修改,版本号未升级 + Integer newVerion = Integer.parseInt(t.getJformVersion())+1; + t.setJformVersion(newVerion.toString()); + this.saveOrUpdate(t); + } + + /** + * 判断数据库字段是否修改了 + * + * @param oldColumn + * @param newColumn + * @return + */ + private boolean databaseFieldIsChange(CgFormFieldEntity oldColumn, + CgFormFieldEntity newColumn) { + if (!PublicUtil.compareValue(oldColumn.getFieldName(), newColumn.getFieldName()) + || !PublicUtil.compareValue(oldColumn.getContent(),newColumn.getContent()) + || !PublicUtil.compareValue(oldColumn.getLength(),newColumn.getLength()) + || !PublicUtil.compareValue(oldColumn.getPointLength(),newColumn.getPointLength()) + || !PublicUtil.compareValue(oldColumn.getType(),newColumn.getType()) + || !PublicUtil.compareValue(oldColumn.getIsNull(),newColumn.getIsNull()) + || !PublicUtil.compareValue(oldColumn.getOrderNum(),newColumn.getOrderNum()) + || !PublicUtil.compareValue(oldColumn.getIsKey(),newColumn.getIsKey()) + || !PublicUtil.compareValue(oldColumn.getMainTable(),newColumn.getMainTable()) + || !PublicUtil.compareValue(oldColumn.getMainField(),newColumn.getMainField()) + ||!PublicUtil.compareValue(oldColumn.getFieldDefault(),newColumn.getFieldDefault()) + ) + { + return true; + } + return false; + } + + + + public void saveTable(CgFormHeadEntity cgFormHead) { + cgFormHead.setJformVersion("1"); + cgFormHead.setIsDbSynch("N"); + cgFormHead.setId((String) this.getSession().save(cgFormHead)); + CgFormFieldEntity column; + for (int i = 0; i < cgFormHead.getColumns().size(); i++) { + column = cgFormHead.getColumns().get(i); + PublicUtil.judgeCheckboxValue(column, + "isNull,isShow,isShowList,isQuery,isKey"); + column.setTable(cgFormHead); + this.save(column); + } + } + + /** + * 重载创建表 + * + * @param cgFormHead + * @param a + */ + + public void saveTable(CgFormHeadEntity cgFormHead, String a) { + cgFormHead.setId((String) this.getSession().save(cgFormHead)); + CgFormFieldEntity column; + for (int i = 0; i < cgFormHead.getColumns().size(); i++) { + column = cgFormHead.getColumns().get(i); + PublicUtil.judgeCheckboxValue(column, + "isNull,isShow,isShowList,isQuery,isKey"); + column.setTable(cgFormHead); + this.save(column); + } + } + + + public Boolean judgeTableIsExit(String tableName) { + Connection conn = null; + ResultSet rs = null; + try { + String[] types = { "TABLE" }; + conn = SessionFactoryUtils.getDataSource( + getSession().getSessionFactory()).getConnection(); + DatabaseMetaData dbMetaData = conn.getMetaData(); + rs = dbMetaData + .getTables( + null, + null, + DbTableUtil.getDataType(getSession()).equals( + "ORACLE") ? tableName.toUpperCase() + : tableName, types); + if (rs.next()) { + return true; + } else { + return false; + } + } catch (SQLException e) { + throw new RuntimeException(); + }finally{//关闭连接 + try { + if(rs!=null){rs.close();} + if(conn!=null){conn.close();} + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + /** + * 同步数据库 + * + * @throws BusinessException + */ + public boolean dbSynch(CgFormHeadEntity cgFormHead,String synMethod) + throws BusinessException { + try { + if(SYN_NORMAL.equals(synMethod)){ + //普通方式同步 + // step.1判断表是否存在 + if (judgeTableIsExit(cgFormHead.getTableName())) { + // 更新表操作 + DbTableProcess dbTableProcess = new DbTableProcess(getSession()); + List updateTable = dbTableProcess.updateTable( + cgFormHead, getSession()); + for (String sql : updateTable) { + if(StringUtils.isNotEmpty(sql)){ + this.executeSql(sql); + } + } + } else { + // 不存在的情况下,创建新表 + try { + DbTableProcess.createOrDropTable(cgFormHead, getSession()); + } catch (Exception e) { + logger.error(e.getMessage(),e); + throw new BusinessException("同步失败:创建新表出错"); + } + } + cgFormHead.setIsDbSynch("Y"); + this.saveOrUpdate(cgFormHead); + }else if(SYN_FORCE.equals(synMethod)){ + //强制方式同步 + try { + try{ + String sql = getTableUtil().dropTableSQL(cgFormHead.getTableName()); + this.executeSql(sql); + }catch (Exception e) { + //部分数据库在没有表而执行删表语句时会报错 + logger.error(e.getMessage()); + } + DbTableProcess.createOrDropTable(cgFormHead, getSession()); + cgFormHead.setIsDbSynch("Y"); + this.saveOrUpdate(cgFormHead); + } catch (Exception e) { + logger.error(e.getMessage(),e); + throw new BusinessException("同步失败:创建新表出错"); + } + } + } catch (Exception e) { + logger.error(e.getMessage(),e); + throw new BusinessException("同步失败:数据库不支持本次修改,如果不需要保留数据,请尝试强制同步"); + } + return true; + } + + + public void deleteCgForm(CgFormHeadEntity cgFormHead) { + if (judgeTableIsExit(cgFormHead.getTableName())) { + String sql = getTableUtil().dropTableSQL(cgFormHead.getTableName()); + this.executeSql(sql); + } + this.delete(cgFormHead); + + } + + /** + * 获取数据操作接口 + * + * @return + */ + private DbTableHandleI getTableUtil() { + return DbTableUtil.getTableHandle(getSession()); + } + + + public List> getCgFormFieldByTableName(String tableName) { + List> list = cgFormFieldDao.getCgFormFieldByTableName(tableName); + return list; + } + + private List> getCgFormHiddenFieldByTableName( + String tableName) { + List> list = cgFormFieldDao.getCgFormHiddenFieldByTableName(tableName); + if (list != null && list.size() > 0) { + for (Map map : list) { + if ("id".equalsIgnoreCase((String) map.get("field_name"))) { + list.remove(map); + break; + } + } + } else { + list = new ArrayList>(); + } + return list; + } + + + public Map getCgFormFieldByFormId(String formid) { + StringBuilder hql = new StringBuilder(""); + hql.append("from CgFormFieldEntity f"); + hql.append(" where f.table.id=? "); + List list = this.findHql(hql.toString(), formid); + Map map = new HashMap(); + if (list != null && list.size() > 0) { + for (CgFormFieldEntity po : list) { + map.put(po.getFieldName(), po); + } + } + return map; + } + + + public Map getAllCgFormFieldByTableName( + String tableName) { + StringBuilder hql = new StringBuilder(""); + hql.append("from CgFormFieldEntity f"); + hql.append(" where f.table.tableName=? "); + List list = this.findHql(hql.toString(), tableName); + Map map = new HashMap(); + if (list != null && list.size() > 0) { + for (CgFormFieldEntity po : list) { + map.put(po.getFieldName(), po); + } + } + return map; + } + + + @Ehcache + public Map getAllCgFormFieldByTableName( + String tableName, String version) { + StringBuilder hql = new StringBuilder(""); + hql.append("from CgFormFieldEntity f"); + hql.append(" where f.table.tableName=? "); + List list = this.findHql(hql.toString(), tableName); + Map map = new HashMap(); + if (list != null && list.size() > 0) { + for (CgFormFieldEntity po : list) { + map.put(po.getFieldName(), po); + } + } + return map; + } + + + public CgFormHeadEntity getCgFormHeadByTableName(String tableName) { + StringBuilder hql = new StringBuilder(""); + hql.append("from CgFormHeadEntity f"); + hql.append(" where f.tableName=? "); + List list = this.findHql(hql.toString(), tableName); + if (list != null && list.size() > 0) { + return list.get(0); + } + return null; + } + + + public List> getSubTableData(String mainTableName, + String subTableName, Object mainTableId) { + StringBuilder sql1 = new StringBuilder(""); + sql1.append("select f.* from cgform_field f ,cgform_head h"); + sql1.append(" where f.table_id = h.id "); + sql1.append(" and h.table_name=? "); + sql1.append(" and f.main_table=? "); + List> list = this.findForJdbc(sql1.toString(), + subTableName, mainTableName); + + StringBuilder sql2 = new StringBuilder(""); + sql2.append("select sub.* from ").append(subTableName).append(" sub "); + sql2.append(", ").append(mainTableName).append(" main "); + sql2.append("where 1=1 "); + if (list != null && list.size() > 0) { + for (Map map : list) { + if (map.get("main_field") != null) { + sql2.append(" and sub.") + .append((String) map.get("field_name")).append("=") + .append("main.") + .append((String) map.get("main_field")); + } + } + } + sql2.append(" and main.id= ? "); + List> subTableDataList = this.findForJdbc( + sql2.toString(), mainTableId); + return subTableDataList; + } + + + public boolean appendSubTableStr4Main(CgFormHeadEntity entity) { + // step.1 获取本表的名称 + String thisSubTable = entity.getTableName(); + List columns = entity.getColumns(); + // step.2 扫描字段配置,循环处理填有主表以及主表字段的条目 + for (CgFormFieldEntity fieldE : columns) { + String mainT = fieldE.getMainTable(); + String mainF = fieldE.getMainField(); + if (!StringUtil.isEmpty(mainT) && !StringUtil.isEmpty(mainF)) { + CgFormHeadEntity mainE = this.getCgFormHeadByTableName(mainT); + if (mainE == null) { + continue; + } + // step.4 追加处理主表的附表串 + String subTableStr = String + .valueOf(mainE.getSubTableStr() == null ? "" : mainE + .getSubTableStr()); + // step.5 判断是否已经存在于附表串 + if (!subTableStr.contains(thisSubTable)) { + // step.6 追加到附表串 + if (!StringUtil.isEmpty(subTableStr)) { + subTableStr += "," + thisSubTable; + } else { + subTableStr += thisSubTable; + } + mainE.setSubTableStr(subTableStr); + logger.info("--主表" + mainE.getTableName() + "的附表串:" + + mainE.getSubTableStr()); + } + // step.7 更新主表的表配置 + this.updateTable(mainE, "sign"); + } + } + return true; + } + + + public boolean removeSubTableStr4Main(CgFormHeadEntity entity) { + if (entity == null) { + return false; + } + // step.1 获取本表的名称 + String thisSubTable = entity.getTableName(); + List columns = entity.getColumns(); + // step.2 扫描字段配置,循环处理填有主表以及主表字段的条目 + for (CgFormFieldEntity fieldE : columns) { + String mainT = fieldE.getMainTable(); + String mainF = fieldE.getMainField(); + if (!StringUtil.isEmpty(mainT) && !StringUtil.isEmpty(mainF)) { + CgFormHeadEntity mainE = this.getCgFormHeadByTableName(mainT); + if (mainE == null) { + continue; + } + // step.4 追加处理主表的附表串 + String subTableStr = String + .valueOf(mainE.getSubTableStr() == null ? "" : mainE + .getSubTableStr()); + // step.5 判断是否已经存在于附表串 + if (subTableStr.contains(thisSubTable)) { + // step.6 剔除主表的附表串 + if (subTableStr.contains(thisSubTable + ",")) { + subTableStr = subTableStr.replace(thisSubTable + ",", + ""); + } else if(subTableStr.contains(","+thisSubTable)){ + subTableStr = subTableStr.replace("," + thisSubTable, + ""); + } else{ + subTableStr = subTableStr.replace(thisSubTable,""); + } + mainE.setSubTableStr(subTableStr); + logger.info("--主表" + mainE.getTableName() + "的附表串:" + + mainE.getSubTableStr()); + // step.7 更新主表的表配置,不用更新,因为hibernate是读取的缓存,所以和那边操作的对象是一个的 + //this.updateTable(mainE, null); + } + } + } + return true; + } + + + public void sortSubTableStr(CgFormHeadEntity entity) { + if (entity == null) + return; + CgFormHeadEntity main = null; + List columns = entity.getColumns(); + for (CgFormFieldEntity fieldE : columns) { + String mainT = fieldE.getMainTable(); + String mainF = fieldE.getMainField(); + if (!StringUtil.isEmpty(mainT) && !StringUtil.isEmpty(mainF)) { + CgFormHeadEntity mainE = this.getCgFormHeadByTableName(mainT); + if (mainE == null) { + continue; + } + main = mainE; + } + } + if(main==null){ + return; + } + String subTableStr = main.getSubTableStr(); + if(StringUtils.isNotEmpty(subTableStr)){ + String [] subTables = subTableStr.split(","); + if (subTables.length <= 1) + return; + List subList = new ArrayList(); + for(String subTable : subTables){ + CgFormHeadEntity sub = this.getCgFormHeadByTableName(subTable); + subList.add(sub); + } + Collections.sort(subList, new Comparator() { + public int compare(CgFormHeadEntity arg0, CgFormHeadEntity arg1) { + Integer tabOrder0 = arg0.getTabOrder(); + if (tabOrder0 == null) { + tabOrder0 = 0; + } + Integer tabOrder1 = arg1.getTabOrder(); + if (tabOrder1 == null) { + tabOrder1 = 0; + } + return tabOrder0.compareTo(tabOrder1); + } + }); + subTableStr = ""; + for (CgFormHeadEntity sub : subList) { + subTableStr += sub.getTableName() + ","; + } + subTableStr = subTableStr.substring(0, subTableStr.length() - 1); + main.setSubTableStr(subTableStr); + this.updateTable(main, "sign"); + } + } + + + public String getCgFormVersionByTableName(String tableName) { + String version = cgFormVersionDao + .getCgFormVersionByTableName(tableName); + return StringUtil.isEmpty(version) ? "0" : version; + + } + + + public String getCgFormVersionById(String id) { + String version = cgFormVersionDao.getCgFormVersionById(id); + return StringUtil.isEmpty(version) ? "0" : version; + } + + /** + * 获取表单配置 + * + * @param tableName + * @param version + * @return + */ + @Ehcache + public Map getFtlFormConfig(String tableName, String version) { + Map data = new HashMap(); + Map field = new HashMap(); + CgFormHeadEntity head = this.getCgFormHeadByTableName(tableName, + version); + data.put("head", head); + if (head.getJformType() == CgAutoListConstant.JFORM_TYPE_MAIN_TALBE) { + CgSubTableVO subtableVo = new CgSubTableVO(); + String subTableStr = head.getSubTableStr(); + if (StringUtils.isNotEmpty(subTableStr)) { + String[] subTables = subTableStr.split(","); + List> subTalbeFieldList = new ArrayList>(); + List> subTalbeHiddenFieldList = new ArrayList>(); + for (String subTable : subTables) { + subTalbeFieldList = this + .getCgFormFieldByTableName(subTable); + subTalbeHiddenFieldList = this + .getCgFormHiddenFieldByTableName(subTable); + CgFormHeadEntity subhead = this + .getCgFormHeadByTableName(subTable); + subtableVo = new CgSubTableVO(); + subtableVo.setHead(subhead); + subtableVo.setFieldList(subTalbeFieldList); + subtableVo.setHiddenFieldList(subTalbeHiddenFieldList); + field.put(subTable, subtableVo); + } + } + } + // 装载附表表单配置 + data.put("field", field); + data.put("tableName", tableName); + List> fieldList = null; + if (head.getJformType() == CgAutoListConstant.JFORM_TYPE_MAIN_TALBE) { + // 查询主表或单表表单配置 + fieldList = this.getCgFormFieldByTableName(tableName); + } else { + Map cgformFtlEntity = cgformFtlService + .getCgformFtlByTableName(tableName); + if (cgformFtlEntity == null) { + // 查询主表或单表表单配置 + fieldList = this.getCgFormFieldByTableName(tableName); + } + } + if (fieldList != null) { + List> list = new ArrayList>(); + List> textareaList = new ArrayList>(); + for (Map map : fieldList) { + if (!"textarea".equals((String) map.get("show_type"))) { + list.add(map); + } else { + textareaList.add(map); + } + } + data.put("columns", list); + data.put("columnsarea", textareaList); + } + // 隐藏字段 剔除id + List> hiddenFieldList = getCgFormHiddenFieldByTableName(tableName); + data.put("columnhidden", hiddenFieldList); + // js增强 + String jsCode = ""; + CgformEnhanceJsEntity jsEnhance = cgformEnhanceJsService + .getCgformEnhanceJsByTypeFormId("form", head.getId()); + if (jsEnhance != null) { + jsCode = jsEnhance.getCgJsStr(); + } + data.put("js_plug_in", jsCode); + return data; + } + + /** + * 根据tableName 获取表单配置 根据版本号缓存 + * + * @param tableName + * @param version + * @return + */ + @Ehcache + public CgFormHeadEntity getCgFormHeadByTableName(String tableName, + String version) { + StringBuilder hql = new StringBuilder(""); + hql.append("from CgFormHeadEntity f"); + hql.append(" where f.tableName=? "); + List list = this.findHql(hql.toString(), tableName); + if (list != null && list.size() > 0) { + return list.get(0); + } + return null; + } + + + public synchronized boolean updateVersion(String formId) { + try { + int newV = Integer.parseInt(cgFormVersionDao + .getCgFormVersionById(formId)) + 1; + cgFormVersionDao.updateVersion(String.valueOf(newV + ""), formId); + } catch (Exception e) { + e.printStackTrace(); + logger.debug(e.getMessage()); + return false; + } + return true; + } + + + public List getHiddenCgFormFieldByTableName( + String tableName) { + StringBuilder hql = new StringBuilder(""); + hql.append("from CgFormFieldEntity f"); + hql.append(" where f.isShow !='Y' and f.table.tableName=? "); + List list = this.findHql(hql.toString(), tableName); + if (list != null && list.size() > 0) { + for (CgFormFieldEntity po : list) { + if ("id".equalsIgnoreCase(po.getFieldName())) { + list.remove(po); + break; + } + } + } else { + list = new ArrayList(); + } + return list; + } + + + public boolean checkTableExist(String tableName) { + boolean result =true; + try{ + this.findForJdbc("select count(*) from "+tableName); + }catch(Exception e){ + result =false; + } + return result; + } + +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableMysqlHandleImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableMysqlHandleImpl.java new file mode 100644 index 00000000..5389c865 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableMysqlHandleImpl.java @@ -0,0 +1,117 @@ +package org.jeecgframework.web.cgform.service.impl.config; + +import org.apache.commons.lang.StringUtils; + +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.impl.config.util.ColumnMeta; + + +/** + * mysql的表工具类 + */ +public class DbTableMysqlHandleImpl implements DbTableHandleI { + + + public String getAddColumnSql(ColumnMeta columnMeta) { + return " ADD COLUMN "+getAddFieldDesc(columnMeta)+";"; + } + + + public String getReNameFieldName(ColumnMeta columnMeta) { + return "CHANGE COLUMN "+columnMeta.getOldColumnName() +" "+getRenameFieldDesc(columnMeta)+ " ;"; + } + + + public String getUpdateColumnSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta) { + return " MODIFY COLUMN "+getUpdateFieldDesc(cgformcolumnMeta,datacolumnMeta)+";"; + } + + + public String getMatchClassTypeByDataType(String dataType,int digits) { + String result =""; + if (dataType.equalsIgnoreCase("varchar")) { + result="string"; + } else if(dataType.equalsIgnoreCase("double")){ + result="double"; + }else if (dataType.equalsIgnoreCase("int")) { + result="int"; + }else if (dataType.equalsIgnoreCase("Date")) { + result="date"; + }else if (dataType.equalsIgnoreCase("Datetime")) { + result="date"; + }else if (dataType.equalsIgnoreCase("decimal")){ + result="bigdecimal"; + }else if (dataType.equalsIgnoreCase("text")){ + result="text"; + }else if (dataType.equalsIgnoreCase("blob")){ + result="blob"; + } + return result; + } + + + public String dropTableSQL(String tableName) { + return " DROP TABLE IF EXISTS "+tableName+" ;"; + } + + + public String getDropColumnSql(String fieldName) { + return " DROP COLUMN "+fieldName+";"; + } + /** + * 将get...FieldDesc这些方法中共同的内容抽出来 + * @param cgfromcolumnMeta + * @param datacolumnMeta + * @return + */ + private String getFieldDesc(ColumnMeta cgfromcolumnMeta,ColumnMeta datacolumnMeta){ + String result =""; + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" varchar("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" datetime"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName()+" int("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" double("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("bigdecimal")){ + result = cgfromcolumnMeta.getColumnName()+" decimal("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("text")){ + result = cgfromcolumnMeta.getColumnName()+" text "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("blob")){ + result = cgfromcolumnMeta.getColumnName()+" blob "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + } + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getComment())?" COMMENT '"+cgfromcolumnMeta.getComment()+"'":" "); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" DEFAULT "+cgfromcolumnMeta.getFieldDefault():" "); + return result; + } + + private String getUpdateFieldDesc(ColumnMeta cgfromcolumnMeta,ColumnMeta datacolumnMeta) { + String result = this.getFieldDesc(cgfromcolumnMeta, datacolumnMeta); + return result; + } + + private String getAddFieldDesc(ColumnMeta cgfromcolumnMeta) { + String result = this.getFieldDesc(cgfromcolumnMeta, null); + return result; + } + + private String getRenameFieldDesc(ColumnMeta cgfromcolumnMeta) { + String result = this.getFieldDesc(cgfromcolumnMeta, null); + return result; + } + /** + * Mysql注释是和修改的sql一起的,所以返回空字符串就可以了 + */ + + public String getCommentSql(ColumnMeta columnMeta) { + return ""; + } + + + public String getSpecialHandle(ColumnMeta cgformcolumnMeta, + ColumnMeta datacolumnMeta) { + return null; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableOracleHandleImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableOracleHandleImpl.java new file mode 100644 index 00000000..b3db81e8 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableOracleHandleImpl.java @@ -0,0 +1,120 @@ +package org.jeecgframework.web.cgform.service.impl.config; + +import org.apache.commons.lang.StringUtils; + +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.impl.config.util.ColumnMeta; + + +/** + * oracle的表工具类 + * oracle语句结尾不能使用 ; + */ +public class DbTableOracleHandleImpl implements DbTableHandleI { + + + public String getAddColumnSql(ColumnMeta columnMeta) { + return " ADD "+getAddFieldDesc(columnMeta)+""; + } + + + public String getReNameFieldName(ColumnMeta columnMeta) { + return "RENAME COLUMN "+columnMeta.getOldColumnName() +" TO "+columnMeta.getColumnName()+""; + } + + + public String getUpdateColumnSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta) { + return " MODIFY "+getUpdateFieldDesc(cgformcolumnMeta,datacolumnMeta)+""; + } + + + public String getMatchClassTypeByDataType(String dataType,int digits) { + String result =""; + if (dataType.equalsIgnoreCase("varchar2")) { + result="string"; + } else if(dataType.equalsIgnoreCase("double")){ + result="double"; + }else if (dataType.equalsIgnoreCase("number") && digits==0) { + result="int"; + }else if (dataType.equalsIgnoreCase("number") && digits!=0) { + result="double"; + }else if (dataType.equalsIgnoreCase("int")) { + result="int"; + }else if (dataType.equalsIgnoreCase("Date")) { + result="date"; + }else if (dataType.equalsIgnoreCase("Datetime")) { + result="date"; + } + return result; + } + + + public String dropTableSQL(String tableName) { + return " DROP TABLE "+tableName.toLowerCase()+" "; + } + + + public String getDropColumnSql(String fieldName) { + return " DROP COLUMN "+fieldName.toUpperCase()+""; + } + + private String getAddFieldDesc(ColumnMeta columnMeta) { + String result =""; + if(columnMeta.getColunmType().equalsIgnoreCase("string")){ + result = columnMeta.getColumnName()+" varchar2("+columnMeta.getColumnSize()+")"; + }else if(columnMeta.getColunmType().equalsIgnoreCase("date")){ + result = columnMeta.getColumnName()+" datetime"; + }else if(columnMeta.getColunmType().equalsIgnoreCase("int")){ + result = columnMeta.getColumnName()+" NUMBER("+columnMeta.getColumnSize()+")"; + }else if(columnMeta.getColunmType().equalsIgnoreCase("double")){ + result = columnMeta.getColumnName()+" NUMBER("+columnMeta.getColumnSize()+","+columnMeta.getDecimalDigits()+")"; + }else if(columnMeta.getColunmType().equalsIgnoreCase("bigdecimal")){ + result = columnMeta.getColumnName()+" NUMBER("+columnMeta.getColumnSize()+","+columnMeta.getDecimalDigits()+")"; + }else if(columnMeta.getColunmType().equalsIgnoreCase("text")){ + result = columnMeta.getColumnName()+" CLOB "; + }else if(columnMeta.getColunmType().equalsIgnoreCase("blob")){ + result = columnMeta.getColumnName()+" BLOB "; + } + result += (StringUtils.isNotEmpty(columnMeta.getFieldDefault())?" DEFAULT "+columnMeta.getFieldDefault():" "); + result += (columnMeta.getIsNullable().equals("Y")?" NULL":" NOT NULL"); + return result; + } + private String getUpdateFieldDesc(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta) { + String result =""; + String isnull=""; + //oracle对于是否为空必须跟原来的比对 + if (!datacolumnMeta.getIsNullable().equals(cgformcolumnMeta.getIsNullable())) { + isnull=(cgformcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + } + + if(cgformcolumnMeta.getColunmType().equalsIgnoreCase("string")||cgformcolumnMeta.getColunmType().equalsIgnoreCase("text")){ + result = cgformcolumnMeta.getColumnName()+" varchar2("+cgformcolumnMeta.getColumnSize()+")"+isnull; + + }else if(cgformcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgformcolumnMeta.getColumnName()+" date "+isnull; + + }else if(cgformcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgformcolumnMeta.getColumnName()+" NUMBER("+cgformcolumnMeta.getColumnSize()+") "+isnull; + + }else if(cgformcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgformcolumnMeta.getColumnName()+" NUMBER("+cgformcolumnMeta.getColumnSize()+","+cgformcolumnMeta.getDecimalDigits()+") "+isnull; + }else if(cgformcolumnMeta.getColunmType().equalsIgnoreCase("bigdecimal")){ + result = cgformcolumnMeta.getColumnName()+" NUMBER("+cgformcolumnMeta.getColumnSize()+","+cgformcolumnMeta.getDecimalDigits()+") "+isnull; + } + result += (StringUtils.isNotEmpty(cgformcolumnMeta.getFieldDefault())?" DEFAULT "+cgformcolumnMeta.getFieldDefault():" "); + result += isnull; + return result; + } + + + public String getCommentSql(ColumnMeta columnMeta) { + return "COMMENT ON COLUMN "+columnMeta.getTableName()+"."+columnMeta.getColumnName()+" IS '" +columnMeta.getComment()+"'"; + } + + + public String getSpecialHandle(ColumnMeta cgformcolumnMeta, + ColumnMeta datacolumnMeta) { + return null; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTablePostgresHandleImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTablePostgresHandleImpl.java new file mode 100644 index 00000000..a98f7410 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTablePostgresHandleImpl.java @@ -0,0 +1,166 @@ +package org.jeecgframework.web.cgform.service.impl.config; + +import org.apache.commons.lang.StringUtils; + +import org.jeecgframework.web.cgform.exception.BusinessException; +import org.jeecgframework.web.cgform.exception.DBException; +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.impl.config.util.ColumnMeta; + + +/** + * postgres的表工具类 + */ +public class DbTablePostgresHandleImpl implements DbTableHandleI { + + + public String getAddColumnSql(ColumnMeta columnMeta) { + return " ADD COLUMN "+getAddFieldDesc(columnMeta)+";"; + } + + + public String getReNameFieldName(ColumnMeta columnMeta) { + return " RENAME COLUMN "+columnMeta.getOldColumnName() +" to "+columnMeta.getColumnName()+";"; + } + + + public String getUpdateColumnSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta)throws DBException { + return " ALTER COLUMN "+getUpdateFieldDesc(cgformcolumnMeta,datacolumnMeta)+";"; + } + + + public String getSpecialHandle(ColumnMeta cgformcolumnMeta, + ColumnMeta datacolumnMeta) { + return " ALTER COLUMN "+getUpdateFieldDefault(cgformcolumnMeta,datacolumnMeta)+";"; + } + + + public String getMatchClassTypeByDataType(String dataType,int digits) { + String result =""; + if (dataType.equalsIgnoreCase("varchar")) { + result="string"; + } else if(dataType.equalsIgnoreCase("double")){ + result="double"; + }else if (dataType.contains("int")) { + result="int"; + }else if (dataType.equalsIgnoreCase("Date")) { + result="date"; + }else if (dataType.equalsIgnoreCase("timestamp")) { + result="date"; + }else if (dataType.equalsIgnoreCase("bytea")) { + result="blob"; + }else if (dataType.equalsIgnoreCase("text")) { + result="text"; + }else if (dataType.equalsIgnoreCase("decimal")) { + result="bigdecimal"; + }else if (dataType.equalsIgnoreCase("numeric")) { + //double和decimal都会返回numeric,先暂时返回bigdecimal + result="bigdecimal"; + } + return result; + } + + + public String dropTableSQL(String tableName) { + return " DROP TABLE "+tableName+" ;"; + } + + + public String getDropColumnSql(String fieldName) { + return " DROP COLUMN "+fieldName+";"; + } + + private String getUpdateFieldDesc(ColumnMeta cgfromcolumnMeta,ColumnMeta datacolumnMeta) throws DBException { + String result =""; + //TODO 对于非空情况 ,需要特殊增加约束方法,默认是空 + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" type character varying("+cgfromcolumnMeta.getColumnSize()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" type datetime"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + //postpres数据库整形没有长度概念 + result = cgfromcolumnMeta.getColumnName()+" type int4 "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" type numeric("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("BigDecimal")){ + result = cgfromcolumnMeta.getColumnName()+" type decimal("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("text")){ + result = cgfromcolumnMeta.getColumnName()+" type text("+cgfromcolumnMeta.getColumnSize()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("blob")){ +// bytea类型不可修改,修改会报错 + throw new DBException("blob类型不可修改"); + } + return result; + } + + private String getUpdateFieldDefault(ColumnMeta cgfromcolumnMeta,ColumnMeta datacolumnMeta) { + String result =""; + + if(!cgfromcolumnMeta.equalsDefault(datacolumnMeta)){ + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName(); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" SET DEFAULT "+cgfromcolumnMeta.getFieldDefault():" DROP DEFAULT"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName(); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" SET DEFAULT "+cgfromcolumnMeta.getFieldDefault():" DROP DEFAULT"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName(); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" SET DEFAULT "+cgfromcolumnMeta.getFieldDefault():" DROP DEFAULT"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName(); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" SET DEFAULT "+cgfromcolumnMeta.getFieldDefault():" DROP DEFAULT"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("bigdecimal")){ + result = cgfromcolumnMeta.getColumnName(); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" SET DEFAULT "+cgfromcolumnMeta.getFieldDefault():" DROP DEFAULT"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("text")){ + result = cgfromcolumnMeta.getColumnName(); + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" SET DEFAULT "+cgfromcolumnMeta.getFieldDefault():" DROP DEFAULT"); + } + + } + return result; + } + + + private String getAddFieldDesc(ColumnMeta cgfromcolumnMeta) { + String result =""; + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" character varying("+cgfromcolumnMeta.getColumnSize()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" datetime"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName()+" int4"; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" numeric("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("bigdecimal")){ + result = cgfromcolumnMeta.getColumnName()+" decimal("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("blob")){ + result = cgfromcolumnMeta.getColumnName()+" bytea("+cgfromcolumnMeta.getColumnSize()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("text")){ + result = cgfromcolumnMeta.getColumnName()+" text("+cgfromcolumnMeta.getColumnSize()+")"+" "; + } + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" DEFAULT "+cgfromcolumnMeta.getFieldDefault():" "); + return result; + } + + private String getRenameFieldDesc(ColumnMeta cgfromcolumnMeta) { + String result =""; + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" character varying("+cgfromcolumnMeta.getColumnSize()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" datetime"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName()+" int("+cgfromcolumnMeta.getColumnSize()+")"+" "; + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" numeric("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "; + } + return result; + } + + + public String getCommentSql(ColumnMeta columnMeta) { + return "COMMENT ON COLUMN "+columnMeta.getTableName()+"."+columnMeta.getColumnName()+" IS '" +columnMeta.getComment()+"'"; + } + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableServiceMysqlImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableServiceMysqlImpl.java new file mode 100644 index 00000000..ee9f910b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/DbTableServiceMysqlImpl.java @@ -0,0 +1,176 @@ +package org.jeecgframework.web.cgform.service.impl.config; + +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.Map; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.service.config.DbTableServiceI; +import org.jeecgframework.web.cgform.service.impl.config.util.DbTableUtil; +import org.jeecgframework.web.cgform.service.impl.config.util.FieldNumComparator; + +import org.jeecgframework.codegenerate.util.CodeResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.jdbc.core.JdbcTemplate; + + +/** + * mysql的表工具类 + * @author jueyue + * + */ +public class DbTableServiceMysqlImpl implements DbTableServiceI { + + + + public String createTableSQL(CgFormHeadEntity cgFormHead) { + StringBuilder sb = new StringBuilder(); + sb.append("CREATE TABLE "); + sb.append(cgFormHead.getTableName()+" ("); + CgFormFieldEntity column,agoColumn = null; + Collections.sort(cgFormHead.getColumns(), new FieldNumComparator()); + String idField = ""; + Collections.sort(cgFormHead.getColumns(),new FieldNumComparator()); + for(int i = 0;i0){agoColumn = cgFormHead.getColumns().get(i-1);} + column = cgFormHead.getColumns().get(i); + sb.append(getColumnPorperty(column,agoColumn,false)); + if(column.getIsKey().equals("Y")){ + idField+=DbTableUtil.translatorToDbField(DbTableUtil.translatorToDbField(column.getFieldName()))+","; + } + } + sb.append(" PRIMARY KEY ("+idField.substring(0, idField.length()-1)+")"); + sb.append(") ENGINE=InnoDB DEFAULT CHARSET=utf8;"); + return sb.toString(); + } + + + public String dropTableSQL(CgFormHeadEntity tableProperty) { + return " DROP TABLE IF EXISTS "+tableProperty.getTableName()+" ;"; + } + + + public String updateTableSQL(CgFormHeadEntity cgFormHead, JdbcTemplate jdbcTemplate) { + String sql = "select column_name,data_type,column_comment,numeric_precision,numeric_scale,character_maximum_length," + + "is_nullable nullable from information_schema.columns where table_name = '"+cgFormHead.getTableName()+"'and table_schema = '"+CodeResourceUtil.DATABASE_NAME+"';"; + + Map fieldMap = DbTableUtil.getColumnMap(jdbcTemplate.queryForList(sql)); + StringBuilder sb = new StringBuilder(); + sb.append(createChangeTableSql(cgFormHead)); + CgFormFieldEntity column,agoColumn = null; + String idField = ""; + //step1 :对列进行排序 + Collections.sort(cgFormHead.getColumns(),new FieldNumComparator()); + for(int i = 0;i0){agoColumn = cgFormHead.getColumns().get(i-1);} + column = cgFormHead.getColumns().get(i); + //step2 :判断是否有这个字段 有 更新 没有 添加 + if(fieldMap.containsKey(DbTableUtil.translatorToDbField(column.getFieldName()))){ + sb.append(createUpdateColumnSql(column,agoColumn)); + fieldMap.remove(DbTableUtil.translatorToDbField(column.getFieldName())); + }else{ + sb.append(createAddColumnSql(column,agoColumn)); + } + if(column.getIsKey().equals("Y")){ + idField+=DbTableUtil.translatorToDbField(column.getFieldName())+","; + } + + } + //step3 :查看还剩余的字段,说明已经被删除了,删除掉 + Collection c = fieldMap.values(); + Iterator it = c.iterator(); + for (;it.hasNext();) { + Map field = (Map) it.next(); + sb.append(createDropColumn(field.get("column_name").toString())); + } + sb.append("DROP PRIMARY KEY,ADD PRIMARY KEY ("+idField.substring(0, idField.length()-1)+")"); + return sb.toString(); + } + + /** + * 创建增加字段的sql + * @param column + * @param agoColumn + * @return + */ + private String createAddColumnSql(CgFormFieldEntity column, CgFormFieldEntity agoColumn) { + return " ADD COLUMN "+getColumnPorperty(column,agoColumn,true); + } + /** + * 创建更新字段的sql + * @param newColumn + * @param agoColumn + * @return + */ + private String createUpdateColumnSql(CgFormFieldEntity newColumn, CgFormFieldEntity agoColumn) { + return " MODIFY COLUMN "+getColumnPorperty(newColumn,agoColumn,true); + } + /** + * 创建删除字段的sql + * @param fieldName + * @return + */ + private String createDropColumn(String fieldName) { + return " DROP COLUMN "+fieldName+","; + } + + /** + * 获取这个字段的属性 + * @param column + * @param agoColumn + * @param isUpdate + * @return + */ + private String getColumnPorperty(CgFormFieldEntity column, CgFormFieldEntity agoColumn, boolean isUpdate){ + String result = " " + DbTableUtil.translatorToDbField(column.getFieldName())+" " + +getFieldType(column)+" "; + result+=StringUtil.isEmpty(column.getIsNull())?" NOT NULL ":"NULL"; + result+=" COMMENT '"+column.getContent()+"' "; + if(isUpdate){ + String agoFiled = " FIRST "; + if(agoColumn!=null){ + agoFiled = " AFTER "+DbTableUtil.translatorToDbField(agoColumn.getFieldName()); + } + result+=agoFiled; + } + return result +", "; + } + + + /** + * 获取字段类型 + * @param cloumn + * @return + */ + private String getFieldType(CgFormFieldEntity cloumn){ + String result =""; + if(cloumn.getType().equals("string")){ + result = "varchar("+cloumn.getLength()+")"; + }else if(cloumn.getType().equals("Date")){ + result = "datetime"; + }else if(cloumn.getType().equals("int")){ + result = cloumn.getType()+"("+cloumn.getLength()+")"; + }else if(cloumn.getType().equals("double")){ + result = cloumn.getType()+"("+cloumn.getLength()+","+cloumn.getPointLength()+")"; + } + return result; + } + /** + * 修改字段的sql + * @param table + * @return + */ + private String createChangeTableSql(CgFormHeadEntity table) { + return "ALTER TABLE "+table.getTableName()+" "; + } + + + public String createIsExitSql(String tableName) { + return "SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_NAME='"+tableName+"' and table_schema = '"+CodeResourceUtil.DATABASE_NAME+"';"; + } + + + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/TableSQLServerHandleImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/TableSQLServerHandleImpl.java new file mode 100644 index 00000000..1a09e1bd --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/TableSQLServerHandleImpl.java @@ -0,0 +1,134 @@ +package org.jeecgframework.web.cgform.service.impl.config; + +import org.apache.commons.lang.StringUtils; +import org.jeecgframework.core.util.StringUtil; + +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.impl.config.util.ColumnMeta; + + +/** + * SQLSERVER的表工具类 + */ +public class TableSQLServerHandleImpl implements DbTableHandleI { + + + public String getAddColumnSql(ColumnMeta columnMeta) { + return " ADD "+getAddFieldDesc(columnMeta)+";"; + } + + + public String getReNameFieldName(ColumnMeta columnMeta) { + //sp_rename 'TOA_E_ARTICLE.version','processVersion','COLUMN'; + return " sp_rename '"+columnMeta.getTableName()+"."+columnMeta.getOldColumnName()+"', '"+columnMeta.getColumnName()+"', 'COLUMN';"; + //return "ALTER COLUMN "+columnMeta.getOldColumnName() +" "+getRenameFieldDesc(columnMeta)+";"; + } + + + public String getUpdateColumnSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta) { + return " ALTER COLUMN "+getUpdateFieldDesc(cgformcolumnMeta,datacolumnMeta)+";"; + } + + + public String getMatchClassTypeByDataType(String dataType,int digits) { + String result =""; + if (dataType.equalsIgnoreCase("varchar")) { + result="string"; + } else if(dataType.equalsIgnoreCase("double")){ + result="double"; + }else if (dataType.equalsIgnoreCase("int")) { + result="int"; + }else if (dataType.equalsIgnoreCase("Date")) { + result="date"; + }else if (dataType.equalsIgnoreCase("Datetime")) { + result="date"; + }else if (dataType.equalsIgnoreCase("numeric")) { + result="double"; + } + return result; + } + + + public String dropTableSQL(String tableName) { + return " DROP TABLE "+tableName+" ;"; + } + + + public String getDropColumnSql(String fieldName) { + return " DROP COLUMN "+fieldName+";"; + } + + private String getUpdateFieldDesc(ColumnMeta cgfromcolumnMeta,ColumnMeta datacolumnMeta) { + String result =""; + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" varchar("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" datetime"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName()+" int"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" numeric("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + } + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" DEFAULT "+cgfromcolumnMeta.getFieldDefault():" "); + return result; + } + + private String getAddFieldDesc(ColumnMeta cgfromcolumnMeta) { + String result =""; + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" varchar("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" datetime"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName()+" int("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" double("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("bigdecimal")){ + result = cgfromcolumnMeta.getColumnName()+" decimal("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("text")){ + result = cgfromcolumnMeta.getColumnName()+" text"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("blob")){ + result = cgfromcolumnMeta.getColumnName()+" varbinary("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }//update-end--Author:liuht Date:20131223 + result += (StringUtils.isNotEmpty(cgfromcolumnMeta.getFieldDefault())?" DEFAULT "+cgfromcolumnMeta.getFieldDefault():" "); + return result; + } + + private String getRenameFieldDesc(ColumnMeta cgfromcolumnMeta) { + String result =""; + if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("string")){ + result = cgfromcolumnMeta.getColumnName()+" varchar("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("date")){ + result = cgfromcolumnMeta.getColumnName()+" datetime"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("int")){ + result = cgfromcolumnMeta.getColumnName()+" int("+cgfromcolumnMeta.getColumnSize()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + }else if(cgfromcolumnMeta.getColunmType().equalsIgnoreCase("double")){ + result = cgfromcolumnMeta.getColumnName()+" double("+cgfromcolumnMeta.getColumnSize()+","+cgfromcolumnMeta.getDecimalDigits()+")"+" "+(cgfromcolumnMeta.getIsNullable().equals("Y")?"NULL":"NOT NULL"); + } + return result; + } + + + public String getCommentSql(ColumnMeta columnMeta) { + StringBuffer commentSql = new StringBuffer("EXECUTE "); + if(StringUtil.isEmpty(columnMeta.getOldColumnName())){ + commentSql.append("sp_addextendedproperty"); + } else { + commentSql.append("sp_updateextendedproperty"); + } + commentSql.append(" N'MS_Description', '"); + commentSql.append(columnMeta.getComment()); + commentSql.append("', N'SCHEMA', N'dbo', N'TABLE', N'"); + commentSql.append(columnMeta.getTableName()); + commentSql.append("', N'COLUMN', N'"); + commentSql.append(columnMeta.getColumnName() +"'"); + return commentSql.toString(); + } + + + public String getSpecialHandle(ColumnMeta cgformcolumnMeta, + ColumnMeta datacolumnMeta) { + return null; + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/ColumnMeta.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/ColumnMeta.java new file mode 100644 index 00000000..4b170fb2 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/ColumnMeta.java @@ -0,0 +1,147 @@ +package org.jeecgframework.web.cgform.service.impl.config.util; + +import org.apache.commons.lang.StringUtils; + +public class ColumnMeta { + private String tableName; + private String columnId; + private String columnName; + private int columnSize; + private String colunmType; + private String comment;//备注 + private String fieldDefault;//默认值 + private int decimalDigits; + private String isNullable; //Y 是 N 否 + private String pkType;//主键策略 + private String oldColumnName;//原来的字段名 + + + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof ColumnMeta)) { + return false; + } + ColumnMeta meta = (ColumnMeta)obj; + //时间类型不比较长度 + if (colunmType.contains("date") || colunmType.contains("blob") || colunmType.contains("text")) { + return columnName.equals(meta.getColumnName()) + &&isNullable.equals(meta.isNullable) + &&isEquals(comment,meta.getComment())&&isEquals(fieldDefault,meta.getFieldDefault()); + } + /*else if (colunmType.contains("int")) { + return columnName.equals(meta.getColumnName())&& colunmType.equals(meta.getColunmType()) + &&isNullable.equals(meta.isNullable); + } */ + + else { + return colunmType.equals(meta.getColunmType()) + &&isNullable.equals(meta.isNullable)&&columnSize==meta.getColumnSize() + &&isEquals(comment,meta.getComment())&&isEquals(fieldDefault,meta.getFieldDefault()); + } + } + + public boolean equalsDefault(ColumnMeta meta){ + if (meta == this) { + return true; + } + return isEquals(comment,meta.getComment()); + } + + public boolean equalsComment(ColumnMeta meta){ + if (meta == this) { + return true; + } + return isEquals(comment,meta.getComment()); + } + + private boolean isEquals(String newS,String oldS){ + boolean booN = StringUtils.isNotEmpty(newS); + boolean booO = StringUtils.isNotEmpty(oldS); + if(booN!=booO){return false;} + if(booN){return newS.equals(oldS);} + return true; + } + + public String getColumnName() { + return columnName; + } + public int getColumnSize() { + return columnSize; + } + public String getColunmType() { + return colunmType; + } + public String getComment() { + return comment; + } + public int getDecimalDigits() { + return decimalDigits; + } + public String getIsNullable() { + return isNullable; + } + public String getOldColumnName() { + return oldColumnName; + } + + + public int hashCode() { + return columnSize + colunmType.hashCode()*columnName.hashCode(); + } + public void setColumnName(String columnName) { + this.columnName = columnName; + } + public void setColumnSize(int columnSize) { + this.columnSize = columnSize; + } + + public void setColunmType(String colunmType) { + this.colunmType = colunmType; + } + public void setComment(String comment) { + this.comment = comment; + } + public void setDecimalDigits(int decimalDigits) { + this.decimalDigits = decimalDigits; + } + public void setIsNullable(String isNullable) { + this.isNullable = isNullable; + } + public void setOldColumnName(String oldColumnName) { + this.oldColumnName = oldColumnName; + } + + public String toString() { + return columnName+","+colunmType+","+isNullable+","+columnSize; + } + public String getColumnId() { + return columnId; + } + public void setColumnId(String columnId) { + this.columnId = columnId; + } + public String getTableName() { + return tableName; + } + public void setTableName(String tableName) { + this.tableName = tableName; + } + public String getFieldDefault() { + return fieldDefault; + } + public void setFieldDefault(String fieldDefault) { + this.fieldDefault = fieldDefault; + } + + public String getPkType() { + return pkType; + } + + public void setPkType(String pkType) { + this.pkType = pkType; + } + + +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/DbTableProcess.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/DbTableProcess.java new file mode 100644 index 00000000..240cc3a7 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/DbTableProcess.java @@ -0,0 +1,338 @@ +package org.jeecgframework.web.cgform.service.impl.config.util; + +import java.io.StringWriter; +import java.io.Writer; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.exception.DBException; +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.hibernate.Session; +import org.hibernate.internal.SessionImpl; +import org.hibernate.tool.hbm2ddl.SchemaExport; +import org.springframework.orm.hibernate4.SessionFactoryUtils; + +import freemarker.template.Configuration; +import freemarker.template.Template; + +/** + * 通过hibernate和脚本来处理来同步数据库 + * 对于修改数据库的字段,考虑各种数据库的情况,字段名称全部、类型修改成大写 + */ +public class DbTableProcess { + private static final Logger logger = Logger.getLogger(DbTableProcess.class); + private static DbTableHandleI dbTableHandle; + + + public DbTableProcess(Session session) { + dbTableHandle = DbTableUtil.getTableHandle(session); + } + + public static void createOrDropTable(CgFormHeadEntity table, Session session) throws Exception { + Template t; + t = getConfig("/org/jeecgframework/web/cgform/engine/hibernate").getTemplate("tableTemplate.ftl"); + Writer out = new StringWriter(); + //模板对于数字超过1000,会自动格式为1,,000(禁止转换) + t.setNumberFormat("0.#####################"); + t.process(getRootMap(table,DbTableUtil.getDataType(session)), out); + String xml = out.toString(); + logger.info(xml); + createTable(xml, table, session); + } + + + @SuppressWarnings("all") + private static Object getRootMap(CgFormHeadEntity table,String dataType) { + Map map = new HashMap(); + for(CgFormFieldEntity field :table.getColumns()){ + field.setFieldDefault(judgeIsNumber(field.getFieldDefault())); + } + map.put("entity", table); + map.put("dataType", dataType); + return map; + } + + + + public List updateTable(CgFormHeadEntity table,Session session) throws DBException{ + //StringBuilder sb = new StringBuilder(); + String tableName = DbTableUtil.getDataType(session).equals("ORACLE")?table.getTableName().toUpperCase():table.getTableName(); + String alterTable="alter table "+tableName+" "; + List strings = new ArrayList(); + //对表的修改列和删除列的处理,解决hibernate没有该机制 + try { + Map dataBaseColumnMetaMap = getColumnMetadataFormDataBase(null ,tableName,session); + + Map cgFormColumnMetaMap = getColumnMetadataFormCgForm(table); + + Map newAndOldFieldMap =getNewAndOldFieldName(table); + + + for (String columnName : cgFormColumnMetaMap.keySet()) { + if(!dataBaseColumnMetaMap.containsKey(columnName)){//表如果不存在该列,则要对表做修改、增加、删除该列动作 此处无法处理删除的列,因为在这个循环中无法获得该列 + //如果旧列中包含这个列名,说明是修改名称的 + ColumnMeta cgFormColumnMeta = cgFormColumnMetaMap.get(columnName); + if(newAndOldFieldMap.containsKey(columnName)&&(dataBaseColumnMetaMap.containsKey(newAndOldFieldMap.get(columnName)))){ + ColumnMeta dataColumnMeta = dataBaseColumnMetaMap.get(newAndOldFieldMap.get(columnName)); + if (DbTableUtil.getDataType(session).equals("SQLSERVER")) { + //sqlserver 修改类名称需要调用存储过程 + strings.add(getReNameFieldName(cgFormColumnMeta)); + }else { + strings.add(alterTable+getReNameFieldName(cgFormColumnMeta)); + } + //执行完成之后修改成一致 fildname和oldfieldname + updateFieldName(columnName, cgFormColumnMeta.getColumnId(),session); + //修改表名之后继续判断值有没有变化,有变化继续修改值 + if (!dataColumnMeta.equals(cgFormColumnMeta)) { + strings.add(alterTable+getUpdateColumnSql(cgFormColumnMeta,dataColumnMeta)); + if (DbTableUtil.getDataType(session).equals("POSTGRESQL")) { + strings.add(alterTable + getUpdateSpecialSql(cgFormColumnMeta, dataColumnMeta)); + } + } + //判断注释是不是相同,修改注释 + if(!dataColumnMeta.equalsComment(cgFormColumnMeta)){ + strings.add(getCommentSql(cgFormColumnMeta)); + } + }else{//不包含就是要增加 + strings.add(alterTable+getAddColumnSql(cgFormColumnMeta)); + if(StringUtils.isNotEmpty(cgFormColumnMeta.getComment())){ + strings.add(getCommentSql(cgFormColumnMeta)); + } + } + }else {//已经存在的判断是否修改了类型长度。。 + //判断是否类型、长度、是否为空、精度被修改,如果有修改则处理修改 + ColumnMeta dataColumnMeta = dataBaseColumnMetaMap.get(columnName); + ColumnMeta cgFormColumnMeta = cgFormColumnMetaMap.get(columnName); + //如果不相同,则表示有变化,则需要修改 + if (!dataColumnMeta.equals(cgFormColumnMeta)) { + strings.add(alterTable+getUpdateColumnSql(cgFormColumnMeta,dataColumnMeta)); + } + if(!dataColumnMeta.equalsComment(cgFormColumnMeta)){ + strings.add(getCommentSql(cgFormColumnMeta)); + } + } + + } + + //删除数据库的列 + //要判断这个列不是修改的 + for (String columnName : dataBaseColumnMetaMap.keySet()) { + if ((!cgFormColumnMetaMap.containsKey(columnName.toLowerCase()))&& (!newAndOldFieldMap.containsValue(columnName.toLowerCase()))) { + strings.add(alterTable+getDropColumnSql(columnName)); + } + } + + } catch (SQLException e1) { + throw new RuntimeException(); + } + logger.info(strings.toString()); + return strings; + } + + private static void createTable(String xml, CgFormHeadEntity table, + Session session) throws Exception { + + //FIXME 考虑JNDI的情况 + //重新构建一个Configuration + org.hibernate.cfg.Configuration newconf=new org.hibernate.cfg.Configuration(); + newconf.addXML(xml) + .setProperty("hibernate.dialect",((SessionImpl)session).getFactory().getDialect().getClass().getName()); +// .setProperty("hibernate.connection.username",propertiesUtil.readProperty("jdbc.username.jeecg")) +// .setProperty("hibernate.connection.password",propertiesUtil.readProperty("jdbc.password.jeecg")) +// .setProperty("hibernate.dialect",propertiesUtil.readProperty("hibernate.dialect")) +// .setProperty("hibernate.connection.url",propertiesUtil.readProperty("jdbc.url.jeecg")) +// .setProperty("hibernate.connection.driver_class",propertiesUtil.readProperty("jdbc.driver.class")); +// + SchemaExport dbExport; + dbExport = new SchemaExport(newconf,SessionFactoryUtils.getDataSource( + session.getSessionFactory()).getConnection()); + dbExport.execute(true, true, false, true); + + } + + /** + * 模版配置 + * @param resource + * @return + */ + private static Configuration getConfig(String resource) { + + Configuration cfg = new Configuration(); + cfg.setDefaultEncoding("UTF-8"); + cfg.setClassForTemplateLoading(DbTableProcess.class, resource); + return cfg; + } + + + /** + * 获取数据库中列的描述 + * @param tableName + * @param session + * @return + * @throws SQLException + */ + public static Map getColumnMetadataFormDataBase(String schemaName, String tableName, Session session) throws SQLException{ + Connection conn = SessionFactoryUtils.getDataSource(session.getSessionFactory()).getConnection(); + DatabaseMetaData dbMetaData = conn.getMetaData(); + ResultSet rs = dbMetaData.getColumns(null, schemaName, tableName, "%"); + ColumnMeta columnMeta; + Map columnMap = new HashMap(); + while (rs.next()){ + columnMeta = new ColumnMeta(); + columnMeta.setTableName(rs.getString("COLUMN_NAME").toLowerCase()); + columnMeta.setColumnName(rs.getString("COLUMN_NAME").toLowerCase()); + columnMeta.setColunmType(dbTableHandle.getMatchClassTypeByDataType(rs.getString("TYPE_NAME"),rs.getInt("DECIMAL_DIGITS"))); + columnMeta.setColumnSize(rs.getInt("COLUMN_SIZE")); + columnMeta.setDecimalDigits(rs.getInt("DECIMAL_DIGITS")); + columnMeta.setIsNullable(rs.getInt("NULLABLE")==1?"Y":"N"); + columnMeta.setComment(rs.getString("REMARKS")); + columnMeta.setFieldDefault(judgeIsNumber(rs.getString("COLUMN_DEF"))==null?"":judgeIsNumber(rs.getString("COLUMN_DEF"))); + logger.info("getColumnMetadataFormDataBase --->COLUMN_NAME:"+rs.getString("COLUMN_NAME")+" TYPE_NAME :"+rs.getString("TYPE_NAME") + +" DECIMAL_DIGITS:"+rs.getInt("DECIMAL_DIGITS")+" COLUMN_SIZE:"+rs.getInt("COLUMN_SIZE")); + columnMap.put(rs.getString("COLUMN_NAME").toLowerCase(), columnMeta); + } + + return columnMap; + } + + /** + * 返回cgForm中列的描述信息 + * @param table + * @return + */ + public static Map getColumnMetadataFormCgForm(CgFormHeadEntity table){ + Map map = new HashMap(); + List cgFormFieldEntities = table.getColumns(); + ColumnMeta columnMeta; + for (CgFormFieldEntity cgFormFieldEntity : cgFormFieldEntities) { + columnMeta = new ColumnMeta(); + columnMeta.setTableName(table.getTableName().toLowerCase()); + columnMeta.setColumnId(cgFormFieldEntity.getId()); + columnMeta.setColumnName(cgFormFieldEntity.getFieldName().toLowerCase()); + columnMeta.setColumnSize(cgFormFieldEntity.getLength()); + columnMeta.setColunmType(cgFormFieldEntity.getType().toLowerCase()); + columnMeta.setIsNullable(cgFormFieldEntity.getIsNull()); + columnMeta.setComment(cgFormFieldEntity.getContent()); + columnMeta.setDecimalDigits(cgFormFieldEntity.getPointLength()); + columnMeta.setFieldDefault(judgeIsNumber(cgFormFieldEntity.getFieldDefault())); + columnMeta.setPkType(table.getJformPkType()==null?"UUID":table.getJformPkType()); + columnMeta.setOldColumnName(cgFormFieldEntity.getOldFieldName()!=null?cgFormFieldEntity.getOldFieldName().toLowerCase():null); + logger.info("getColumnMetadataFormCgForm ---->COLUMN_NAME:"+cgFormFieldEntity.getFieldName().toLowerCase()+" TYPE_NAME:"+cgFormFieldEntity.getType().toLowerCase() + +" DECIMAL_DIGITS:"+cgFormFieldEntity.getPointLength()+" COLUMN_SIZE:"+cgFormFieldEntity.getLength()); + map.put(cgFormFieldEntity.getFieldName().toLowerCase(), columnMeta); + + } + return map; + } + + /** + * 返回cgForm中列名的新和旧的对应关系 + * @param table + * @return + */ + public static Map getNewAndOldFieldName(CgFormHeadEntity table){ + Map map = new HashMap(); + List cgFormFieldEntities = table.getColumns(); + for (CgFormFieldEntity cgFormFieldEntity : cgFormFieldEntities) { + map.put(cgFormFieldEntity.getFieldName(), cgFormFieldEntity.getOldFieldName()); + } + return map; + } + + /** + * 创建删除字段的sql + * @param fieldName + * @return + */ + private static String getDropColumnSql(String fieldName) { + //ALTER TABLE `test` DROP COLUMN `aaaa`; + return dbTableHandle.getDropColumnSql(fieldName); + } + + /** + * 创建更新字段的sql + * @param newColumn + * @param agoColumn + * @return + */ + private static String getUpdateColumnSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta)throws DBException { + //modify birthday varchar2(10) not null; + //return " MODIFY COLUMN "+getFieldDesc(columnMeta)+","; + return dbTableHandle.getUpdateColumnSql(cgformcolumnMeta,datacolumnMeta); + } + + /** + * 处理特殊sql + * @param cgformcolumnMeta + * @param datacolumnMeta + * @return + */ + private static String getUpdateSpecialSql(ColumnMeta cgformcolumnMeta,ColumnMeta datacolumnMeta) { + return dbTableHandle.getSpecialHandle(cgformcolumnMeta,datacolumnMeta); + } + + /** + * 修改列名 + * @param columnMeta + * @return + */ + private static String getReNameFieldName(ColumnMeta columnMeta){ + //CHANGE COLUMN `name1` `name2` varchar(50) NULL COMMENT '姓名'; + //return "CHANGE COLUMN "+columnMeta.getOldColumnName() +" "+getFieldDesc(columnMeta)+","; + return dbTableHandle.getReNameFieldName(columnMeta); + } + + /** + * 创建增加字段的sql + * @param column + * @param agoColumn + * @return + */ + private static String getAddColumnSql(ColumnMeta columnMeta) { + //return " ADD COLUMN "+getFieldDesc(columnMeta)+","; + return dbTableHandle.getAddColumnSql(columnMeta); + } + + /** + * 添加注释的sql + *@Author JueYue + *@date 2013年12月1日 + *@param cgFormColumnMeta + *@return + */ + private String getCommentSql(ColumnMeta columnMeta) { + return dbTableHandle.getCommentSql(columnMeta); + } + + private int updateFieldName(String columnName,String id,Session session){ + return session.createSQLQuery("update cgform_field set old_field_name= '"+columnName+"' where id='"+id+"'").executeUpdate(); + } + /** + * 判断是不数字,不是数字的话加上'' + *@Author JueYue + *@date 2013年11月27日 + *@param text + *@return + */ + private static String judgeIsNumber(String text){ + if(StringUtils.isNotEmpty(text)){ + try{ + Double.valueOf(text); + }catch(Exception e){ + text = "'"+text+"'"; + } + } + return text; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/DbTableUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/DbTableUtil.java new file mode 100644 index 00000000..15da927c --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/DbTableUtil.java @@ -0,0 +1,108 @@ +package org.jeecgframework.web.cgform.service.impl.config.util; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.service.config.DbTableHandleI; +import org.jeecgframework.web.cgform.service.config.DbTableServiceI; +import org.jeecgframework.web.cgform.service.impl.config.DbTableMysqlHandleImpl; +import org.jeecgframework.web.cgform.service.impl.config.DbTableOracleHandleImpl; +import org.jeecgframework.web.cgform.service.impl.config.DbTablePostgresHandleImpl; +import org.jeecgframework.web.cgform.service.impl.config.DbTableServiceMysqlImpl; +import org.jeecgframework.web.cgform.service.impl.config.TableSQLServerHandleImpl; + +import org.hibernate.Session; +import org.hibernate.internal.SessionImpl; + +/** + * 数据库工具类 + * @author jueyue + * 2013年7月6日 + */ +public class DbTableUtil { + + /** + * 获取列的Map + * key 是 cloumn_name value 是 List> + * @param queryForList + * @return + */ + public static Map getColumnMap( + List> queryForList) { + Map columnMap = new HashMap(); + for(int i =0 ;i _a + * @param fileName + * @return + */ + public static String translatorToDbField(String fileName){ + + //去掉转换 + return fileName; +// String name = ""; +// char[] chars = fileName.toCharArray(); +// for(int i =0 ;i'A'&&chars[i]<'Z'?("_"+Character.toLowerCase(chars[i])):chars[i]; +// } +// return name; + } + + /** + * 获取DB 维护表的工具类 + * @return + */ + public static DbTableServiceI getTableUtil(Session session) { + DbTableServiceI tableUtil = null; + String dialect = ((SessionImpl)session).getFactory().getDialect() + .getClass().getName(); + if (dialect.equals("org.hibernate.dialect.MySQLDialect")) { + tableUtil = new DbTableServiceMysqlImpl(); + } + return tableUtil; + } + + public static DbTableHandleI getTableHandle(Session session) { + DbTableHandleI dbTableHandle = null; + String dialect = ((SessionImpl)session).getFactory().getDialect() + .getClass().getName(); + if (dialect.equals("org.hibernate.dialect.MySQLDialect")) { + dbTableHandle = new DbTableMysqlHandleImpl(); + }else if (dialect.contains("Oracle")) { + dbTableHandle = new DbTableOracleHandleImpl(); + }else if (dialect.equals("org.hibernate.dialect.PostgreSQLDialect")) { + dbTableHandle = new DbTablePostgresHandleImpl(); + }else if (dialect.equals("org.hibernate.dialect.SQLServerDialect")) { + dbTableHandle = new TableSQLServerHandleImpl(); + } + return dbTableHandle; + } + + /** + * 数据库类型 + * @param session + * @return + */ + + public static String getDataType(Session session){ + String dataType="MYSQL"; + String dialect = ((SessionImpl)session).getFactory().getDialect() + .getClass().getName(); + if (dialect.equals("org.hibernate.dialect.MySQLDialect")) { + dataType="MYSQL"; + }else if (dialect.contains("Oracle")) { + dataType="ORACLE"; + }else if (dialect.equals("org.hibernate.dialect.PostgreSQLDialect")) { + dataType = "POSTGRESQL"; + }else if (dialect.equals("org.hibernate.dialect.SQLServerDialect")) { + dataType="SQLSERVER"; + } + return dataType; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/FieldNumComparator.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/FieldNumComparator.java new file mode 100644 index 00000000..43f06fe4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/config/util/FieldNumComparator.java @@ -0,0 +1,22 @@ +package org.jeecgframework.web.cgform.service.impl.config.util; + +import java.util.Comparator; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +/** + * 字段 顺序 排序 + * @author jueyue + * 2013年7月6日 + */ +public class FieldNumComparator implements Comparator { + + + public int compare(CgFormFieldEntity o1, CgFormFieldEntity o2) { + if (o1 == null || o1.getOrderNum() == null || o2 == null || o2.getOrderNum() == null) + return -1; + Integer thisVal = o1.getOrderNum(); + Integer anotherVal = o2.getOrderNum(); + return (thisVal < anotherVal ? -1 : (thisVal == anotherVal ? 0 : 1)); + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/enhance/CgformEnhanceJsServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/enhance/CgformEnhanceJsServiceImpl.java new file mode 100644 index 00000000..47b1f6b4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/enhance/CgformEnhanceJsServiceImpl.java @@ -0,0 +1,35 @@ +package org.jeecgframework.web.cgform.service.impl.enhance; + +import java.util.List; + +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.cgform.service.enhance.CgformEnhanceJsServiceI; + +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service("cgformenhanceJsService") +@Transactional +public class CgformEnhanceJsServiceImpl extends CommonServiceImpl implements CgformEnhanceJsServiceI { + + /** + * 根据cgJsType和formId查找数据 + * @param cgJsType + * @param formId + * @return + */ + + public CgformEnhanceJsEntity getCgformEnhanceJsByTypeFormId(String cgJsType, String formId) { + StringBuilder hql = new StringBuilder(""); + hql.append(" from CgformEnhanceJsEntity t"); + hql.append(" where t.formId='").append(formId).append("'"); + hql.append(" and t.cgJsType ='").append(cgJsType).append("'"); + List list = this.findHql(hql.toString()); + if(list!=null&&list.size()>0){ + return list.get(0); + } + return null; + } + +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/upload/CgUploadServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/upload/CgUploadServiceImpl.java new file mode 100644 index 00000000..ec392b9d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/impl/upload/CgUploadServiceImpl.java @@ -0,0 +1,48 @@ +package org.jeecgframework.web.cgform.service.impl.upload; + +import java.util.Map; + +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.ContextHolderUtils; +import org.jeecgframework.core.util.FileUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import org.jeecgframework.web.cgform.dao.upload.CgFormUploadDao; +import org.jeecgframework.web.cgform.entity.upload.CgUploadEntity; +import org.jeecgframework.web.cgform.service.upload.CgUploadServiceI; +@Service("cgUploadService") +@Transactional +public class CgUploadServiceImpl extends CommonServiceImpl implements CgUploadServiceI { + @Autowired + private CgFormUploadDao cgFormUploadDao; + + public void deleteFile(CgUploadEntity file) { + //step.1 删除附件 + String sql = "select * from t_s_attachment where id = ?"; + Map attachmentMap = commonDao.findOneForJdbc(sql, file.getId()); + //附件相对路径 + String realpath = (String) attachmentMap.get("realpath"); + String fileName = FileUtils.getFilePrefix2(realpath); + + //获取部署项目绝对地址 + String realPath = ContextHolderUtils.getSession().getServletContext().getRealPath("/"); + FileUtils.delete(realPath+realpath); + FileUtils.delete(realPath+fileName+".pdf"); + FileUtils.delete(realPath+fileName+".swf"); + //step.2 删除数据 + commonDao.delete(file); + } + + + public void writeBack(String cgFormId,String cgFormName,String cgFormField,String fileId,String fileUrl) { + try{ + cgFormUploadDao.updateBackFileInfo(cgFormId, cgFormName, cgFormField, fileId, fileUrl); + }catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("文件上传失败:"+e.getMessage()); + } + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/migrate/MigrateForm.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/migrate/MigrateForm.java new file mode 100644 index 00000000..c089433d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/migrate/MigrateForm.java @@ -0,0 +1,777 @@ +package org.jeecgframework.web.cgform.service.migrate; + +import java.beans.PropertyDescriptor; +import java.io.BufferedOutputStream; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; +import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; +import org.jeecgframework.web.cgform.entity.cgformftl.CgformFtlEntity; +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.cgform.entity.upload.CgUploadEntity; +import org.jeecgframework.web.cgform.exception.BusinessException; +import org.jeecgframework.web.cgform.pojo.config.CgFormFieldPojo; +import org.jeecgframework.web.cgform.pojo.config.CgFormHeadPojo; +import org.jeecgframework.web.cgform.util.PublicUtil; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.apache.tools.zip.ZipEntry; +import org.apache.tools.zip.ZipFile; +import org.apache.tools.zip.ZipOutputStream; +import org.jeecgframework.core.common.model.common.DBTable; +import org.jeecgframework.core.util.ReflectHelper; +import org.springframework.beans.BeanUtils; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowCallbackHandler; +import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; +import org.springframework.jdbc.core.namedparam.SqlParameterSource; +import org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper; +import org.springframework.jdbc.support.rowset.SqlRowSet; +import org.springframework.jdbc.support.rowset.SqlRowSetMetaData; +import org.springframework.stereotype.Service; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.basic.NullConverter; + +/** + * 迁移表单工具类 + * + * @author duanqilu + * @author Hank + * @param + * @date 2013-09-10 + * @date 2014-01-25 + */ +@Service("MigrateForm") +public class MigrateForm { + private static final Logger logger = Logger.getLogger(MigrateForm.class); + static InputStream inStream = null; + private static String insert = "INSERT INTO";// 插入sql + private static String values = "VALUES";// values关键字 + + private static List insertList = new ArrayList();// 全局存放insertsql文件的数据 + private static String basePath = ""; + + + /** + * 拼装查询语句 + * + * @ids:选中表单的IDs + * @return 返回select集合 + */ + @Deprecated + public static List createSQL(String ids, JdbcTemplate jdbcTemplate) { + List listSQL = new ArrayList();// SQL语句列表 + listSQL.clear(); + String[] idList = ids.split(",");// 获得指定的ID数据 + String ls_sql = ""; + String ls_tmpsql = ""; + String ls_subid = ""; + String subTable = ""; + List rowsList = null; + List subRowsList = null; + Map sqlMap = null; + Map subSqlMap = null; + for (String id : idList) { + ls_sql = "select * from cgform_head where id='" + id + "'"; // 获得导出表单 + listSQL.add(ls_sql); + + ls_tmpsql = "select * from cgform_field where table_id='" + id + "'"; // 获得导出表单的字段 + listSQL.add(ls_tmpsql); + // 获得自定义按钮数据 + ls_tmpsql = "select * from cgform_button where form_id ='" + id + "'"; + listSQL.add(ls_tmpsql); + // 获得JS增强数据 + ls_tmpsql = "select * from cgform_enhance_js where form_id ='" + id + "'"; + listSQL.add(ls_tmpsql); + // 获得SQL增强数据 + ls_tmpsql = "select * from cgform_button_sql where form_id ='" + id + "'"; + listSQL.add(ls_tmpsql); + // 获得模板数据 + ls_tmpsql = "select * from cgform_ftl where cgform_id ='" + id + "'"; + listSQL.add(ls_tmpsql); + // 获得上传文件数据 + ls_tmpsql = "select * from cgform_uploadfiles where cgform_id ='" + id + "'"; + listSQL.add(ls_tmpsql); + + rowsList = jdbcTemplate.queryForList(ls_sql); + if (rowsList != null && rowsList.size() > 0) { + sqlMap = (Map) rowsList.get(0); + subTable = (String) sqlMap.get("sub_table_str"); // 获得子表 + if (subTable != null && !"".equals(subTable)) { + String[] subs = subTable.split(","); + for (String sub : subs) { + // 获得导出子表表单 + ls_tmpsql = "select * from cgform_head where table_name='" + sub + "'"; + listSQL.add(ls_tmpsql); + subRowsList = jdbcTemplate.queryForList(ls_tmpsql); + if (subRowsList != null && subRowsList.size() > 0) { + subSqlMap = (Map) subRowsList.get(0); + ls_subid = (String) subSqlMap.get("id"); + // 获得导出子表字段 + ls_tmpsql = "select * from cgform_field where table_id='" + ls_subid + "'"; + listSQL.add(ls_tmpsql); + // 获得子表自定义按钮数据 + ls_tmpsql = "select * from cgform_button where form_id ='" + ls_subid + "'"; + listSQL.add(ls_tmpsql); + // 获得子表JS增强数据 + ls_tmpsql = "select * from cgform_enhance_js where form_id ='" + ls_subid + "'"; + listSQL.add(ls_tmpsql); + // 获得子表SQL增强数据 + ls_tmpsql = "select * from cgform_button_sql where form_id ='" + ls_subid + "'"; + listSQL.add(ls_tmpsql); + // 获得子表模板数据 + ls_tmpsql = "select * from cgform_ftl where cgform_id ='" + ls_subid + "'"; + listSQL.add(ls_tmpsql); + // 获得子表上传文件数据 + ls_tmpsql = "select * from cgform_uploadfiles where cgform_id ='" + ls_subid + "'"; + listSQL.add(ls_tmpsql); + } + } + } + + } + } + return listSQL; + } + + public static List buildExportDbTableList(String ids, JdbcTemplate jdbcTemplate) throws Exception { + List listTables = new ArrayList();// SQL语句列表 + listTables.clear(); + String ls_sql = ""; + String ls_tmpsql = ""; + String ls_subid = ""; + String subTable = ""; + List rowsList = null; + List subRowsList = null; + Map sqlMap = null; + Map subSqlMap = null; + String[] idList = ids.split(",");// 获得指定的ID数据 + for (String id : idList) { + ls_sql = "select * from cgform_head where id='" + id + "'"; // 获得导出表单 + listTables.add(bulidDbTableFromSQL(ls_sql, CgFormHeadPojo.class, jdbcTemplate)); + + ls_tmpsql = "select * from cgform_field where table_id='" + id + "'"; // 获得导出表单的字段 + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgFormFieldPojo.class, jdbcTemplate)); + // 获得自定义按钮数据 + ls_tmpsql = "select * from cgform_button where form_id ='" + id + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformButtonEntity.class, jdbcTemplate)); + // 获得JS增强数据 + ls_tmpsql = "select * from cgform_enhance_js where form_id ='" + id + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformEnhanceJsEntity.class, jdbcTemplate)); + // 获得SQL增强数据 + ls_tmpsql = "select * from cgform_button_sql where form_id ='" + id + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformButtonSqlEntity.class, jdbcTemplate)); + // 获得模板数据 + ls_tmpsql = "select * from cgform_ftl where cgform_id ='" + id + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformFtlEntity.class, jdbcTemplate)); + // 获得上传文件数据 + ls_tmpsql = "select * from cgform_uploadfiles where cgform_id ='" + id + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgUploadEntity.class, jdbcTemplate)); + + rowsList = jdbcTemplate.queryForList(ls_sql); + if (rowsList != null && rowsList.size() > 0) { + sqlMap = (Map) rowsList.get(0); + subTable = (String) sqlMap.get("sub_table_str"); // 获得子表 + if (subTable != null && !"".equals(subTable)) { + String[] subs = subTable.split(","); + for (String sub : subs) { + // 获得导出子表表单 + ls_tmpsql = "select * from cgform_head where table_name='" + sub + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgFormHeadPojo.class, jdbcTemplate)); + subRowsList = jdbcTemplate.queryForList(ls_tmpsql); + if (subRowsList != null && subRowsList.size() > 0) { + subSqlMap = (Map) subRowsList.get(0); + ls_subid = (String) subSqlMap.get("id"); + // 获得导出子表字段 + ls_tmpsql = "select * from cgform_field where table_id='" + ls_subid + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgFormFieldPojo.class, jdbcTemplate)); + // 获得子表自定义按钮数据 + ls_tmpsql = "select * from cgform_button where form_id ='" + ls_subid + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformButtonEntity.class, jdbcTemplate)); + // 获得子表JS增强数据 + ls_tmpsql = "select * from cgform_enhance_js where form_id ='" + ls_subid + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformEnhanceJsEntity.class, jdbcTemplate)); + // 获得子表SQL增强数据 + ls_tmpsql = "select * from cgform_button_sql where form_id ='" + ls_subid + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformButtonSqlEntity.class, jdbcTemplate)); + // 获得子表模板数据 + ls_tmpsql = "select * from cgform_ftl where cgform_id ='" + ls_subid + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgformFtlEntity.class, jdbcTemplate)); + // 获得子表上传文件数据 + ls_tmpsql = "select * from cgform_uploadfiles where cgform_id ='" + ls_subid + "'"; + listTables.add(bulidDbTableFromSQL(ls_tmpsql, CgUploadEntity.class, jdbcTemplate)); + } + } + } + + } + } + return listTables; + } + + /** + * 执行sql并返回插入sql语句 + * + * @param sqlRsmd + * @param listSQL + * @throws SQLException + */ + public static void executeSQL(List listSQL, JdbcTemplate jdbcTemplate) throws Exception { + getColumnNameAndColumeValue(listSQL, jdbcTemplate); + } + + public static DBTable bulidDbTableFromSQL(String sql, Class clazz, JdbcTemplate jdbcTemplate) throws InstantiationException, IllegalAccessException, Exception { + DBTable dbTable = new DBTable(); + dbTable.setTableName(PublicUtil.getTableName(sql)); + dbTable.setClass1(clazz); + List dataList = jdbcTemplate.query(sql, ParameterizedBeanPropertyRowMapper.newInstance(clazz)); + dbTable.setTableData(dataList); + return dbTable; + } + + /** + * 获取列名和列值 + * + * @param listSQL + * @param sqlRowSet + * @param jdbcTemplate + * @return + * @throws SQLException + */ + public static void getColumnNameAndColumeValue(List listSQL, JdbcTemplate jdbcTemplate) throws Exception { + if (listSQL.size() > 0) { + insertList.clear(); + insertList.add("SET FOREIGN_KEY_CHECKS=0;");// 取消外键检查 + SqlRowSet sqlRowSet = null; + String ls_id = ""; + for (int j = 0; j < listSQL.size(); j++) { + String sql = String.valueOf(listSQL.get(j)); // 逐条获取sql语句 + sqlRowSet = jdbcTemplate.queryForRowSet(sql); + SqlRowSetMetaData sqlRsmd = sqlRowSet.getMetaData(); + int columnCount = sqlRsmd.getColumnCount(); // 获得表字段个数 + String tableName = sqlRsmd.getTableName(columnCount); // 获得表名称 + if(StringUtils.isEmpty(tableName)){ + tableName = PublicUtil.getTableName(sql); + } + String tableId=""; + while (sqlRowSet.next()) { + StringBuffer ColumnName = new StringBuffer(); + StringBuffer ColumnValue = new StringBuffer(); + + for (int i = 1; i <= columnCount; i++) { + String value = sqlRowSet.getString(i); + if (value == null || "".equals(value)) { + value = ""; + } + Map fieldMap = new HashMap(); + fieldMap.put("name", sqlRsmd.getColumnName(i)); + fieldMap.put("fieldType", String.valueOf(sqlRsmd.getColumnType(i))); + // 生成插入数据sql语句 + if (i == 1) { + // 先生成删除指定ID语句,清除现有冲突数据 + insertList.add("delete from " + tableName + " where " + sqlRsmd.getColumnName(i) + "='" + value + "';"); + + ColumnName.append(sqlRsmd.getColumnName(i)); + ls_id = value; + tableId = value; + if (Types.CHAR == sqlRsmd.getColumnType(i) || Types.VARCHAR == sqlRsmd.getColumnType(i)) { + ColumnValue.append("'").append(value).append("',"); + } else if (Types.SMALLINT == sqlRsmd.getColumnType(i) || Types.INTEGER == sqlRsmd.getColumnType(i) || Types.BIGINT == sqlRsmd.getColumnType(i) || Types.FLOAT == sqlRsmd.getColumnType(i) || Types.DOUBLE == sqlRsmd.getColumnType(i) || Types.NUMERIC == sqlRsmd.getColumnType(i) || Types.DECIMAL == sqlRsmd.getColumnType(i)) { + if ("".equals(value)) value = "0"; + ColumnValue.append(value).append(","); + } else if (Types.DATE == sqlRsmd.getColumnType(i) || Types.TIME == sqlRsmd.getColumnType(i) || Types.TIMESTAMP == sqlRsmd.getColumnType(i)) { + if ("".equals(value)) + value = "2000-01-01"; + ColumnValue.append("'").append(value).append("',"); + } else { + ColumnValue.append(value).append(","); + } + } else if (i == columnCount) { + ColumnName.append("," + sqlRsmd.getColumnName(i)); + if (Types.CHAR == sqlRsmd.getColumnType(i) || Types.VARCHAR == sqlRsmd.getColumnType(i) || Types.LONGVARCHAR == sqlRsmd.getColumnType(i)) { + ColumnValue.append("'").append(value).append("'"); + } else if (Types.SMALLINT == sqlRsmd.getColumnType(i) || Types.INTEGER == sqlRsmd.getColumnType(i) || Types.BIGINT == sqlRsmd.getColumnType(i) || Types.FLOAT == sqlRsmd.getColumnType(i) || Types.DOUBLE == sqlRsmd.getColumnType(i) || Types.NUMERIC == sqlRsmd.getColumnType(i) || Types.DECIMAL == sqlRsmd.getColumnType(i)) { + if ("".equals(value)) value = "0"; + ColumnValue.append(value); + } else if (Types.DATE == sqlRsmd.getColumnType(i) || Types.TIME == sqlRsmd.getColumnType(i) || Types.TIMESTAMP == sqlRsmd.getColumnType(i)) { + if ("".equals(value)) + value = "2000-01-01"; + ColumnValue.append("'").append(value).append("'"); + } else { + ColumnValue.append(value).append(""); + } + } else { + ColumnName.append("," + sqlRsmd.getColumnName(i)); + if (Types.CHAR == sqlRsmd.getColumnType(i) || Types.VARCHAR == sqlRsmd.getColumnType(i) || Types.LONGVARCHAR == sqlRsmd.getColumnType(i)) { + ColumnValue.append("'").append(value).append("'").append(","); + } else if (Types.SMALLINT == sqlRsmd.getColumnType(i) || Types.INTEGER == sqlRsmd.getColumnType(i) || Types.BIGINT == sqlRsmd.getColumnType(i) || Types.FLOAT == sqlRsmd.getColumnType(i) || Types.DOUBLE == sqlRsmd.getColumnType(i) || Types.NUMERIC == sqlRsmd.getColumnType(i) || Types.DECIMAL == sqlRsmd.getColumnType(i)) { + if ("".equals(value)) value = "0"; + ColumnValue.append(value).append(","); + } else if (Types.DATE == sqlRsmd.getColumnType(i) || Types.TIME == sqlRsmd.getColumnType(i) || Types.TIMESTAMP == sqlRsmd.getColumnType(i)) { + if ("".equals(value)) + value = "2000-01-01"; + ColumnValue.append("'").append(value).append("',"); + } else if (Types.BLOB == sqlRsmd.getColumnType(i) || Types.LONGVARCHAR == sqlRsmd.getColumnType(i) || Types.LONGNVARCHAR == sqlRsmd.getColumnType(i) || Types.BINARY == sqlRsmd.getColumnType(i) || Types.LONGVARBINARY == sqlRsmd.getColumnType(i) || Types.VARBINARY == sqlRsmd.getColumnType(i)) { + String ls_tmp = getBlob(ls_id, tableName, sqlRsmd.getColumnName(i), jdbcTemplate); + ColumnValue.append(ls_tmp).append(","); + } else { + ColumnValue.append(value).append(","); + } + } + + } + + insertSQL(tableName, ColumnName, ColumnValue);// 拼装并放到全局list里面 + if(tableName.equals("cgform_head")){ + insertList.add("update cgform_head set is_dbsynch='N' where id='"+tableId+"';");// 设为未同步 + } + + } + } + + } + } + + /** + * 拼装insertsql 放到全局list里面 + * + * @param ColumnName + * @param ColumnValue + */ + public static void insertSQL(String tablename, StringBuffer ColumnName, StringBuffer ColumnValue) { + StringBuffer insertSQL = new StringBuffer(); + // 拼装sql语句 + insertSQL.append(insert).append(" ").append(tablename).append("(").append(ColumnName.toString()).append(")").append(values).append("(").append(ColumnValue.toString()).append(");"); + insertList.add(insertSQL.toString()); // 放到全局list里面 + } + + public static void generateXmlDataOutFlieContent(List dbTables, String parentDir) throws BusinessException{ + File file = new File(parentDir); + if (!file.exists()) { + buildFile(parentDir, true); + } + try { + XStream xStream = new XStream(); + xStream.registerConverter(new NullConverter()); + xStream.processAnnotations(DBTable.class); + FileOutputStream outputStream = new FileOutputStream(buildFile(parentDir+"/migrateExport.xml", false)); + Writer writer = new OutputStreamWriter(outputStream, "UTF-8"); + writer.write("\r\n"); + xStream.toXML(dbTables, writer); + } catch (Exception e) { + throw new BusinessException(e.getMessage()); + } + } + + /** + * 创建insertsql.sql并导出数据 + */ + public static String createFile(HttpServletRequest request,String ids) { + String savePath = request.getSession().getServletContext().getRealPath("/") + basePath + "/"+ids+"_migrate.sql"; + File file = new File(savePath); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + logger.info("创建文件名失败!!"); + e.printStackTrace(); + } + } + FileWriter fw = null; + BufferedWriter bw = null; + try { + fw = new FileWriter(file); + bw = new BufferedWriter(fw); + if (insertList.size() > 0) { + for (int i = 0; i < insertList.size(); i++) { + bw.append(insertList.get(i)); + bw.append("\n"); + } + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + bw.close(); + fw.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return savePath; + } + + /** + * 以流方式获得blog,image等大数据 + * + * @param id + * 字段主键 + * @param tableName + * 表名 + * @param ColumnName + * 字段名 + * @param jdbcTemplate + */ + public static String getBlob(String id, String tableName, final String columnName, JdbcTemplate jdbcTemplate) { + String ls_sql = "select " + columnName + " from " + tableName + " where id='" + id + "'"; + + // 查询并获得输入流 + jdbcTemplate.query(ls_sql, new RowCallbackHandler() { + + public void processRow(ResultSet rs) throws SQLException { + inStream = rs.getBinaryStream(columnName); + } + }); + + // 读取流数据并转换成16进制字符串 + if (inStream != null) { + StringBuffer readInBuffer = new StringBuffer(); + readInBuffer.append("0x"); + byte[] b = new byte[4096]; + try { + + for (; (inStream.read(b)) != -1;) { + readInBuffer.append(byte2HexStr(b)); + } + } catch (IOException e) { + + e.printStackTrace(); + } + String ls_return = readInBuffer.toString().trim(); + if ("0x".equals(ls_return)) { + ls_return = ls_return + "00"; + } + return ls_return; + } else { + return "0x00"; + } + } + + /** + * 转换byte[]为16进制字符串 + * + * @param b + * 要转换的byte数据 + */ + public static String byte2HexStr(byte[] b) { + String hs = ""; + String stmp = ""; + for (int n = 0; n < b.length; n++) { + if (b[n] == 0) + break; // 判断数据结束 + stmp = (Integer.toHexString(b[n] & 0XFF)); + if (stmp.length() == 1) + hs = hs + "0" + stmp; + else + hs = hs + stmp; + } + return hs.toUpperCase(); + } + + /** + * 压缩 + * + * @param zipFileName + * 压缩产生的zip包文件名--带路径,如果为null或空则默认按文件名生产压缩文件名 + * @param relativePath + * 相对路径,默认为空 + * @param directory + * 文件或目录的绝对路径 + * @throws FileNotFoundException + * @throws IOException + */ + public static String zip(String zipFileName, String relativePath, String directory) throws FileNotFoundException, IOException { + String fileName = zipFileName; + if (fileName == null || fileName.trim().equals("")) { + File temp = new File(directory); + if (temp.isDirectory()) { + fileName = directory + ".zip"; + } else { + if (directory.indexOf(".") > 0) { + fileName = directory.substring(0, directory.lastIndexOf(".")) + ".zip"; + } else { + fileName = directory + ".zip"; + } + } + } + ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(fileName)); + try { + zip(zos, relativePath, directory); + } catch (IOException ex) { + throw ex; + } finally { + if (null != zos) { + zos.close(); + } + } + return fileName; + } + + /** + * 压缩 + * + * @param zos + * 压缩输出流 + * @param relativePath + * 相对路径 + * @param absolutPath + * 文件或文件夹绝对路径 + * @throws IOException + */ + private static void zip(ZipOutputStream zos, String relativePath, String absolutPath) throws IOException { + File file = new File(absolutPath); + if (file.isDirectory()) { + File[] files = file.listFiles(); + for (int i = 0; i < files.length; i++) { + File tempFile = files[i]; + if (tempFile.isDirectory()) { + String newRelativePath = relativePath + tempFile.getName() + File.separator; + createZipNode(zos, newRelativePath); + zip(zos, newRelativePath, tempFile.getPath()); + } else { + zipFile(zos, tempFile, relativePath); + } + } + } else { + zipFile(zos, file, relativePath); + } + } + + /** + * * 压缩文件 + * + * @param zos + * 压缩输出流 + * @param file + * 文件对象 + * @param relativePath + * 相对路径 + * @throws IOException + */ + private static void zipFile(ZipOutputStream zos, File file, String relativePath) throws IOException { + ZipEntry entry = new ZipEntry(relativePath + file.getName()); + zos.putNextEntry(entry); + InputStream is = null; + try { + is = new FileInputStream(file); + int BUFFERSIZE = 2 << 10; + int length = 0; + byte[] buffer = new byte[BUFFERSIZE]; + while ((length = is.read(buffer, 0, BUFFERSIZE)) >= 0) { + zos.write(buffer, 0, length); + } + zos.flush(); + zos.closeEntry(); + } catch (IOException ex) { + throw ex; + } finally { + if (null != is) { + is.close(); + } + } + } + + /** + * 创建目录 + * + * @param zos + * zip输出流 + * @param relativePath + * 相对路径 + * @throws IOException + */ + private static void createZipNode(ZipOutputStream zos, String relativePath) throws IOException { + ZipEntry zipEntry = new ZipEntry(relativePath); + zos.putNextEntry(zipEntry); + zos.closeEntry(); + } + + /** + * 解压缩zip包 + * + * @param zipFilePath + * zip文件路径 + * @param targetPath + * 解压缩到的位置,如果为null或空字符串则默认解压缩到跟zip包同目录跟zip包同名的文件夹下 + * @throws IOException + */ + public static void unzip(String zipFilePath, String targetPath) throws IOException { + OutputStream os = null; + InputStream is = null; + ZipFile zipFile = null; + try { + zipFile = new ZipFile(zipFilePath); + String directoryPath = ""; + if (null == targetPath || "".equals(targetPath)) { + directoryPath = zipFilePath.substring(0, zipFilePath.lastIndexOf(".")); + } else { + directoryPath = targetPath; + } + Enumeration entryEnum = zipFile.getEntries(); + if (null != entryEnum) { + ZipEntry zipEntry = null; + while (entryEnum.hasMoreElements()) { + zipEntry = (ZipEntry) entryEnum.nextElement(); + if (zipEntry.isDirectory()) { + directoryPath = directoryPath + File.separator + zipEntry.getName(); + org.jeecgframework.core.util.LogUtil.info(directoryPath); + continue; + } + if (zipEntry.getSize() > 0) { + // 文件 + File targetFile = buildFile(directoryPath + File.separator + zipEntry.getName(), false); + os = new BufferedOutputStream(new FileOutputStream(targetFile)); + is = zipFile.getInputStream(zipEntry); + byte[] buffer = new byte[4096]; + int readLen = 0; + while ((readLen = is.read(buffer, 0, 4096)) >= 0) { + os.write(buffer, 0, readLen); + } + os.flush(); + os.close(); + } else { + // 空目录 + buildFile(directoryPath + File.separator + zipEntry.getName(), true); + } + } + } + } catch (IOException ex) { + throw ex; + } finally { + if (null != zipFile) { + zipFile = null; + } + if (null != is) { + is.close(); + } + if (null != os) { + os.close(); + } + } + } + + /** + * 生产文件 如果文件所在路径不存在则生成路径 + * + * @param fileName + * 文件名 带路径 + * @param isDirectory + * 是否为路径 + */ + public static File buildFile(String fileName, boolean isDirectory) { + File target = new File(fileName); + if (isDirectory) { + target.mkdirs(); + } else { + if (!target.getParentFile().exists()) { + target.getParentFile().mkdirs(); + target = new File(target.getAbsolutePath()); + } + } + return target; + } + + public static String generateInsertSql(String tableName, Class clazz, List ignores){ + StringBuffer insertSql = new StringBuffer("insert into " + tableName + "("); + String tableField = ""; + String clazzProperties=""; + PropertyDescriptor[] pds = BeanUtils.getPropertyDescriptors(clazz); + for (PropertyDescriptor pd : pds) { + if(null != ignores && ignores.size()>0){ + if(ignores.contains(pd.getName())) continue; + } + if (pd.getWriteMethod() != null) { + if(tableField.length()>0 && clazzProperties.length()>0){ + tableField += ","; + clazzProperties += ","; + } + tableField += underscoreName(pd.getName()); + clazzProperties += ":" + pd.getName(); + } + } + insertSql.append(tableField); + insertSql.append(") values("); + insertSql.append(clazzProperties); + insertSql.append(")"); + org.jeecgframework.core.util.LogUtil.info("generate insertSql for "+ clazz.getName() + ":" +insertSql.toString()); + return insertSql.toString(); + } + + public static String generateUpdateSql(String tableName, Class clazz, List ignores){ + StringBuffer updateSql = new StringBuffer("update " + tableName + " set "); + String updateProperties = ""; + PropertyDescriptor[] pds = BeanUtils.getPropertyDescriptors(clazz); + for (PropertyDescriptor pd : pds) { + if(null != ignores && ignores.size()>0){ + if(ignores.contains(pd.getName())) continue; + } + if(pd.getName().toLowerCase().equals("id")){// || pd.getPropertyType().equals(List.class) + continue; + } + if (pd.getWriteMethod() != null) { + if(updateProperties.length()>0){ + updateProperties += ","; + } + updateProperties += underscoreName(pd.getName()) + "=:" + pd.getName(); + } + } + updateSql.append(updateProperties); + updateSql.append(" where id=:id"); + org.jeecgframework.core.util.LogUtil.info("generate updateSql for "+ clazz.getName() + ":" +updateSql.toString()); + return updateSql.toString(); + } + + public static SqlParameterSource generateParameterMap(Object t, List ignores){ + Map paramMap = new HashMap(); + ReflectHelper reflectHelper = new ReflectHelper(t); + PropertyDescriptor[] pds = BeanUtils.getPropertyDescriptors(t.getClass()); + for (PropertyDescriptor pd : pds) { + if(null != ignores && ignores.contains(pd.getName())){ + continue; + } + paramMap.put(pd.getName(), reflectHelper.getMethodValue(pd.getName())); + } + MapSqlParameterSource sqlParameterSource = new MapSqlParameterSource(paramMap); + return sqlParameterSource; + } + + private static String underscoreName(String name) { + StringBuilder result = new StringBuilder(); + if (name != null && name.length() > 0) { + result.append(name.substring(0, 1).toLowerCase()); + for (int i = 1; i < name.length(); i++) { + String s = name.substring(i, i + 1); + if (s.equals(s.toUpperCase())) { + result.append("_"); + result.append(s.toLowerCase()); + } + else { + result.append(s); + } + } + } + return result.toString(); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/upload/CgUploadServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/upload/CgUploadServiceI.java new file mode 100644 index 00000000..558ff101 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/service/upload/CgUploadServiceI.java @@ -0,0 +1,27 @@ +package org.jeecgframework.web.cgform.service.upload; + +import org.jeecgframework.core.common.service.CommonService; + +import org.jeecgframework.web.cgform.entity.upload.CgUploadEntity; +/** + * + * @Title:CgUploadServiceI + * @description:智能表单文件上传服务 + * @author 赵俊夫 + * @date Jul 24, 2013 9:55:07 PM + * @version V1.0 + */ +public interface CgUploadServiceI extends CommonService{ + /** + * 删除文件 + * @param file + */ + public void deleteFile(CgUploadEntity file); + /** + * 将文件信息回填到智能表单的表中 + * @param cgFormId + * @param cgFormName + * @param cgFormField + */ + public void writeBack(String cgFormId,String cgFormName,String cgFormField,String fileId,String fileUrl); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormFieldDao_getCgFormFieldByTableName.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormFieldDao_getCgFormFieldByTableName.sql new file mode 100644 index 00000000..02808a3f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormFieldDao_getCgFormFieldByTableName.sql @@ -0,0 +1,4 @@ +select f.* from cgform_field f,cgform_head h + where f.table_id = h.id and f.is_show='Y' + and h.table_name=:tableName order by f.order_num + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormFieldDao_getCgFormHiddenFieldByTableName.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormFieldDao_getCgFormHiddenFieldByTableName.sql new file mode 100644 index 00000000..77f6f237 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormFieldDao_getCgFormHiddenFieldByTableName.sql @@ -0,0 +1,4 @@ +select f.* from cgform_field f,cgform_head h + where f.table_id = h.id and f.is_show <> 'Y' + and h.table_name=:tableName order by f.order_num + \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormById.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormById.sql new file mode 100644 index 00000000..1fe45caa --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormById.sql @@ -0,0 +1,4 @@ +select +* +from cgform_head +where id = :id \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormVersionById.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormVersionById.sql new file mode 100644 index 00000000..fb4e649c --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormVersionById.sql @@ -0,0 +1,4 @@ +select +jform_version +from cgform_head +where id = '${id}' \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormVersionByTableName.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormVersionByTableName.sql new file mode 100644 index 00000000..dc18d50f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_getCgFormVersionByTableName.sql @@ -0,0 +1,4 @@ +select +jform_version +from cgform_head +where table_name = '${tableName}' \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_updateVersion.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_updateVersion.sql new file mode 100644 index 00000000..2dceb641 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/config/CgFormVersionDao_updateVersion.sql @@ -0,0 +1 @@ +update cgform_head set jform_version = '${newVersion}' where id = '${formId}' \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/upload/CgFormUploadDao_updateBackFileInfo.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/upload/CgFormUploadDao_updateBackFileInfo.sql new file mode 100644 index 00000000..a962a2b6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/sql/upload/CgFormUploadDao_updateBackFileInfo.sql @@ -0,0 +1 @@ +update ${cgFormName} set ${cgFormField} = '${fileUrl}' where id='${cgFormId}' \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/util/PublicUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/util/PublicUtil.java new file mode 100644 index 00000000..b3ffc1ef --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/util/PublicUtil.java @@ -0,0 +1,84 @@ +package org.jeecgframework.web.cgform.util; + +import java.util.Date; + +import org.jeecgframework.core.util.ReflectHelper; +import org.jeecgframework.core.util.ResourceUtil; + +/** + * 公共方法 + * @author jueyue + * + */ +public class PublicUtil { + /** + * 表格一般通用字段createDate,createBy,createName + * updateDate,updateBy,updateName + * @param obj + * @param isUpdate + */ + public static void setCommonForTable(Object obj, boolean isCreate){ + ReflectHelper reflectHelper=new ReflectHelper(obj); + if(isCreate){ + reflectHelper.setMethodValue("createDate", new Date()); + reflectHelper.setMethodValue("createBy", ResourceUtil.getSessionUserName().getId()); + reflectHelper.setMethodValue("createName", ResourceUtil.getSessionUserName().getUserName()); + } + reflectHelper.setMethodValue("updateDate", new Date()); + reflectHelper.setMethodValue("updateBy", ResourceUtil.getSessionUserName().getId()); + reflectHelper.setMethodValue("updateName", ResourceUtil.getSessionUserName().getUserName()); + } + /** + * 设置checkbox的值 -- Y/N + * @param obj + * @param params 以逗号隔开 "isNull,isShow,isQuery,isKey" + */ + public static void judgeCheckboxValue(Object obj,String params){ + ReflectHelper reflectHelper=new ReflectHelper(obj); + String [] paramsArr = params.split(","); + for(int i = 0;i1){ + s = s.substring(0, s.indexOf("where")); + } + return s.trim(); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/util/QueryParamUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/util/QueryParamUtil.java new file mode 100644 index 00000000..5c37d1cf --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgform/util/QueryParamUtil.java @@ -0,0 +1,216 @@ +package org.jeecgframework.web.cgform.util; + +import java.io.UnsupportedEncodingException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.jeecgframework.core.util.DBTypeUtil; +import org.jeecgframework.core.util.StringUtil; + +import org.jeecgframework.web.cgform.common.CgAutoListConstant; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; + +/** + * + * @Title:QueryParamUtil + * @description:列表查询条件处理工具 + * @author 赵俊夫 + * @date Jul 5, 2013 10:22:31 PM + * @version V1.0 + */ +public class QueryParamUtil { + /** + * 组装查询参数 + * @param request 请求(查询值从此处取) + * @param b CgFormFieldEntity实体 + * @param params 参数存放 + */ + @SuppressWarnings("unchecked") + public static void loadQueryParams(HttpServletRequest request, CgFormFieldEntity b, Map params) { + if("single".equals(b.getQueryMode())){ + //单条件组装方式 + String value = request.getParameter(b.getFieldName()); + try { + if(StringUtil.isEmpty(value)){ + return; + } + String uri = request.getQueryString(); + if(uri.contains(b.getFieldName()+"=")){ + String contiansChinesevalue = new String(value.getBytes("ISO-8859-1"), "UTF-8"); + value = contiansChinesevalue; + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + return; + } + sql_inj_throw(value); + value = applyType(b.getType(),value); + if(!StringUtil.isEmpty(value)){ + if(value.contains("*")){ + //模糊查询 + value = value.replaceAll("\\*", "%"); + params.put(b.getFieldName(), CgAutoListConstant.OP_LIKE+value); + }else{ + params.put(b.getFieldName(), CgAutoListConstant.OP_EQ+value); + } + } + }else if("group".equals(b.getQueryMode())){ + //范围查询组装 + String begin = request.getParameter(b.getFieldName()+"_begin"); + sql_inj_throw(begin); + begin= applyType(b.getType(),begin); + String end = request.getParameter(b.getFieldName()+"_end"); + sql_inj_throw(end); + end= applyType(b.getType(),end); + if(!StringUtil.isEmpty(begin)){ + String re = CgAutoListConstant.OP_RQ+begin; + if(!StringUtil.isEmpty(end)){ + re +=" AND "+b.getFieldName()+CgAutoListConstant.OP_LQ+end; + } + params.put(b.getFieldName(), re); + }else if(!StringUtil.isEmpty(end)){ + String re = CgAutoListConstant.OP_LQ+end; + params.put(b.getFieldName(), re); + } + } + } + /** + * 根据字段类型 进行处理 + * @param fieldType 字段类型 + * @param value 值 + * @return + */ + public static String applyType(String fieldType, String value) { + if(!StringUtil.isEmpty(value)){ + String result = ""; + if(CgAutoListConstant.TYPE_STRING.equalsIgnoreCase(fieldType)){ + result = "'" +value+ "'"; + }else if(CgAutoListConstant.TYPE_DATE.equalsIgnoreCase(fieldType)){ + result = getDateFunction(value, "yyyy-MM-dd"); + }else if(CgAutoListConstant.TYPE_DOUBLE.equalsIgnoreCase(fieldType)){ + result = value; + }else if(CgAutoListConstant.TYPE_INTEGER.equalsIgnoreCase(fieldType)){ + result = value; + }else{ + result = value; + } + return result; + }else{ + return ""; + } + } + + /** + * 防止sql注入 + * @param str 输入sql + * @return 是否存在注入关键字 + */ + public static boolean sql_inj(String str) { + if(StringUtil.isEmpty(str)){ + return false; + } + String inj_str = "'|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare|;|or|+|,"; +// String inj_str = "'|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare|;|or|-|+|,"; + String inj_stra[] = inj_str.split("\\|"); + for (int i = 0; i < inj_stra.length; i++) { + if (str.indexOf(" "+inj_stra[i]+" ") >= 0) { + return true; + } + } + return false; + } + /** + * 当存在sql注入时抛异常 + * @param str 输入sql + */ + public static void sql_inj_throw(String str){ + if(sql_inj(str)){ + throw new RuntimeException("请注意,填入的参数可能存在SQL注入!"); + } + } + /** + * 获取数据库类型 + * @return + */ + public static String getDBType(){ + return DBTypeUtil.getDBType(); + } + /** + * 跨数据库返回日期函数 + * @param dateStr 日期值 + * @param dateFormat 日期格式 + * @return 日期函数 + */ + public static String getDateFunction(String dateStr,String dateFormat){ + String dbType = getDBType(); + String dateFunction = ""; + if("mysql".equalsIgnoreCase(dbType)){ + //mysql日期函数 + dateFunction = "'"+dateStr+"'"; + }else if("oracle".equalsIgnoreCase(dbType)){ + //oracle日期函数 + dateFunction = "TO_DATE('"+dateStr+"','"+dateFormat+"')"; + }else if("sqlserver".equalsIgnoreCase(dbType)){ + //sqlserver日期函数 + dateFunction = "(CONVERT(VARCHAR,'"+dateStr+"') as DATETIME)"; + }else if("postgres".equalsIgnoreCase(dbType)){ + //postgres日期函数 + dateFunction = "'"+dateStr+"'::date "; + }else{ + dateFunction = dateStr; + } + return dateFunction; + } + /** + * 将结果集转化为列表json格式 + * @param result 结果集 + * @param size 总大小 + * @return 处理好的json格式 + */ + @SuppressWarnings("unchecked") + public static String getJson(List> result,Long size){ + JSONObject main = new JSONObject(); + JSONArray rows = new JSONArray(); + main.put("total",size ); + for(Map m:result){ + JSONObject item = new JSONObject(); + Iterator it =m.keySet().iterator(); + while(it.hasNext()){ + String key = (String) it.next(); + String value =String.valueOf(m.get(key)); + key = key.toLowerCase(); + if(key.contains("time")||key.contains("date")){ + value = datatimeFormat(value); + } + item.put(key,value ); + } + rows.add(item); + } + main.put("rows", rows); + return main.toString(); + } + /** + * 将毫秒数去掉 + * @param datetime + * @return + */ + public static String datatimeFormat(String datetime){ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); + SimpleDateFormat dateFormatTo = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date d = null; + try{ + d = dateFormat.parse(datetime); + return dateFormatTo.format(d); + }catch (Exception e) { + return datetime; + } + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/common/CgReportConstant.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/common/CgReportConstant.java new file mode 100644 index 00000000..67091015 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/common/CgReportConstant.java @@ -0,0 +1,64 @@ +package org.jeecgframework.web.cgreport.common; +/** + * + * @Title:CgReportConstant + * @description:动态报表常量类 + * @author 赵俊夫 + * @date Jul 30, 2013 9:16:18 AM + * @version V1.0 + */ +public class CgReportConstant { + /** 抬头配置 */ + public static final String MAIN= "main"; + /** 明细配置*/ + public static final String ITEMS= "items"; + /** 配置的id*/ + public static final String CONFIG_ID="config_id"; + /** 配置的名称*/ + public static final String CONFIG_NAME="config_name"; + /** 字段列表*/ + public static final String CONFIG_FIELDLIST = "config_fieldList"; + /** 查询字段*/ + public static final String CONFIG_QUERYLIST ="config_queryList"; + /**字典数据*/ + public static final String FIELD_DICTLIST = "field_dictlist"; + /**系统字典表*/ + public static final String SYS_DIC="t_s_type"; + /**系统字典分组表*/ + public static final String SYS_DICGROUP="t_s_typegroup"; + /** 抬头配置-查询SQL*/ + public static final String CONFIG_SQL= "cgreport_sql"; + /** 字典编码*/ + public static final String ITEM_DICCODE= "dict_code"; + /** 取值表达式*/ + public static final String ITEM_REPLACE = "replace_value"; + /** 明细配置-字段名*/ + public static final String ITEM_FIELDNAME = "field_name"; + /** 明细配置-是否查询*/ + public static final String ITEM_ISQUERY = "search_flag"; + /** 明细配置-字段类型*/ + public static final String ITEM_FIELDTYPE = "field_type"; + /** 明细配置-查询模式*/ + public static final String ITEM_QUERYMODE = "search_mode"; + /**逻辑true*/ + public static final String BOOL_TRUE= "Y"; + /**逻辑false*/ + public static final String BOOL_FALSE= "N"; + /**查询操作=*/ + public static final String OP_EQ = " = "; + /**查询操作>=*/ + public static final String OP_RQ = " >= "; + /**查询操作<=*/ + public static final String OP_LQ = " <= "; + /**查询操作like*/ + public static final String OP_LIKE = " LIKE "; + /**显示模式Date*/ + public static final String TYPE_DATE = "Date"; + /**显示模式String*/ + public static final String TYPE_STRING = "String"; + /**显示模式Integer*/ + public static final String TYPE_INTEGER = "Integer"; + /**显示模式Double*/ + public static final String TYPE_DOUBLE = "Double"; + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/core/CgReportController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/core/CgReportController.java new file mode 100644 index 00000000..9dc1a5e8 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/core/CgReportController.java @@ -0,0 +1,297 @@ +package org.jeecgframework.web.cgreport.controller.core; + +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.engine.FreemarkerHelper; +import org.jeecgframework.web.cgreport.common.CgReportConstant; +import org.jeecgframework.web.cgreport.exception.CgReportNotFoundException; +import org.jeecgframework.web.cgreport.service.core.CgReportServiceI; +import org.jeecgframework.web.cgreport.util.CgReportQueryParamUtil; + +import org.hibernate.exception.SQLGrammarException; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +/** + * + * @Title:CgReportController + * @description:动态报表展示控制器 + * @author 赵俊夫 + * @date Jul 29, 2013 9:39:40 PM + * @version V1.0 + */ +@Controller +@RequestMapping("/cgReportController") +public class CgReportController extends BaseController { + @Autowired + private CgReportServiceI cgReportService; + /** + * 动态报表展现入口 + * @param id 动态配置ID-code + * @param request + * @param response + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "list") + public void list(String id, HttpServletRequest request, + HttpServletResponse response) { + //step.1 根据id获取该动态报表的配置参数 + Map cgReportMap = null; + try{ + cgReportMap = cgReportService.queryCgReportConfig(id); + }catch (Exception e) { + throw new CgReportNotFoundException("动态报表配置不存在!"); + } + //step.2 获取列表ftl模板路径 + FreemarkerHelper viewEngine = new FreemarkerHelper(); + //step.3 组合模板+数据参数,进行页面展现 + loadVars(cgReportMap); + String html = viewEngine.parseTemplate("/org/jeecgframework/web/cgreport/engine/core/cgreportlist.ftl", cgReportMap); + try { + response.setContentType("text/html"); + response.setHeader("Cache-Control", "no-store"); + PrintWriter writer = response.getWriter(); + writer.println(html); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * popup入口 + * @param id 动态配置ID-code + * @param request + * @param response + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "popup") + public void popup(String id, HttpServletRequest request, + HttpServletResponse response) { + //step.1 根据id获取该动态报表的配置参数 + Map cgReportMap = null; + try{ + cgReportMap = cgReportService.queryCgReportConfig(id); + }catch (Exception e) { + throw new CgReportNotFoundException("动态报表配置不存在!"); + } + //step.2 获取列表ftl模板路径 + FreemarkerHelper viewEngine = new FreemarkerHelper(); + //step.3 组合模板+数据参数,进行页面展现 + loadVars(cgReportMap); + String html = viewEngine.parseTemplate("/org/jeecgframework/web/cgreport/engine/core/cgreportlistpopup.ftl", cgReportMap); + try { + response.setContentType("text/html"); + response.setHeader("Cache-Control", "no-store"); + PrintWriter writer = response.getWriter(); + writer.println(html); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + /** + * 组装模版参数 + * @param cgReportMap + */ + @SuppressWarnings("unchecked") + private void loadVars(Map cgReportMap) { + Map mainM = (Map) cgReportMap.get(CgReportConstant.MAIN); + List> fieldList = (List>) cgReportMap.get(CgReportConstant.ITEMS); + List> queryList = new ArrayList>(0); + for(Map fl:fieldList){ + fl.put(CgReportConstant.ITEM_FIELDNAME, ((String)fl.get(CgReportConstant.ITEM_FIELDNAME)).toLowerCase()); + String isQuery = (String) fl.get(CgReportConstant.ITEM_ISQUERY); + if(CgReportConstant.BOOL_TRUE.equalsIgnoreCase(isQuery)){ + loadDic(fl,fl); + queryList.add(fl); + } + } + cgReportMap.put(CgReportConstant.CONFIG_ID, mainM.get("code")); + cgReportMap.put(CgReportConstant.CONFIG_NAME, mainM.get("name")); + cgReportMap.put(CgReportConstant.CONFIG_FIELDLIST, fieldList); + cgReportMap.put(CgReportConstant.CONFIG_QUERYLIST, queryList); + } + /** + * 处理数据字典 + * @param result 查询的结果集 + * @param beans 字段配置 + */ + @SuppressWarnings("unchecked") + private void dealDic(List> result, + List> beans) { + for(Map bean:beans){ + String dict_code = (String) bean.get(CgReportConstant.ITEM_DICCODE); + if(StringUtil.isEmpty(dict_code)){ + //不需要处理字典 + continue; + }else{ + List> dicDatas = queryDic(dict_code); + for(Map r:result){ + String value = String.valueOf(r.get(bean.get(CgReportConstant.ITEM_FIELDNAME))); + for(Map m:dicDatas){ + String typecode = String.valueOf(m.get("typecode")); + String typename = String.valueOf(m.get("typename")); + if(value.equalsIgnoreCase(typecode)){ + r.put(bean.get(CgReportConstant.ITEM_FIELDNAME),typename); + } + } + } + } + } + } + /** + * 处理取值表达式 + * @param result + * @param beans + */ + @SuppressWarnings("unchecked") + private void dealReplace(List> result, + List> beans){ + for(Map bean:beans){ + try{ + //获取取值表达式 + String replace = (String) bean.get(CgReportConstant.ITEM_REPLACE); + if(StringUtil.isEmpty(replace)){ + continue; + } + String[] groups = replace.split(","); + for(String g:groups){ + String[] items = g.split("_"); + String v = items[0];//逻辑判断值 + String txt = items[1];//要转换的文本 + for(Map r:result){ + String value = String.valueOf(r.get(bean.get(CgReportConstant.ITEM_FIELDNAME))); + if(value.equalsIgnoreCase(v)){ + r.put(bean.get(CgReportConstant.ITEM_FIELDNAME),txt); + } + } + } + }catch (Exception e) { + //这里出现异常原因是因为取值表达式不正确 + e.printStackTrace(); + throw new BusinessException("取值表达式不正确"); + } + } + } + /** + * 动态报表数据查询 + * @param configId 配置id-code + * @param page 分页页面 + * @param rows 分页大小 + * @param request + * @param response + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "datagrid") + public void datagrid(String configId,String page,String field,String rows, HttpServletRequest request, + HttpServletResponse response) { + //step.1 根据id获取该动态报表的配置参数 + Map cgReportMap = null; + try{ + cgReportMap = cgReportService.queryCgReportConfig(configId); + if(cgReportMap.size()<=0){ + throw new CgReportNotFoundException("动态报表配置不存在!"); + } + }catch (Exception e) { + throw new CgReportNotFoundException("查找动态报表配置失败!"+e.getMessage()); + } + //step.2 获取该配置的查询SQL + Map configM = (Map) cgReportMap.get(CgReportConstant.MAIN); + String querySql = (String) configM.get(CgReportConstant.CONFIG_SQL); + List> items = (List>) cgReportMap.get(CgReportConstant.ITEMS); + Map queryparams = new LinkedHashMap(); + for(Map item:items){ + String isQuery = (String) item.get(CgReportConstant.ITEM_ISQUERY); + if(CgReportConstant.BOOL_TRUE.equalsIgnoreCase(isQuery)){ + //step.3 装载查询条件 + CgReportQueryParamUtil.loadQueryParams(request, item, queryparams); + } + } + //step.4 进行查询返回结果 + int p = page==null?1:Integer.parseInt(page); + int r = rows==null?99999:Integer.parseInt(rows); + List> result= cgReportService.queryByCgReportSql(querySql, queryparams, p, r); + long size = cgReportService.countQueryByCgReportSql(querySql, queryparams); + dealDic(result,items); + dealReplace(result,items); + response.setContentType("application/json"); + response.setHeader("Cache-Control", "no-store"); + PrintWriter writer; + try { + writer = response.getWriter(); + writer.println(CgReportQueryParamUtil.getJson(result,size)); + writer.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + } + /** + * 解析SQL,返回字段集 + * @param sql + * @return + */ + @SuppressWarnings("unchecked") + @RequestMapping(params = "getFields", method = RequestMethod.POST) + @ResponseBody + public Object getSqlFields(String sql){ + List result = null; + Map reJson = new HashMap(); + try{ + result = cgReportService.getSqlFields(sql); + }catch (Exception e) { + e.printStackTrace(); + String errorInfo = "解析失败!

失败原因:"; + errorInfo += e.getMessage(); + reJson.put("status", "error"); + reJson.put("datas", errorInfo); + return reJson; + } + reJson.put("status", "success"); + reJson.put("datas", result); + return reJson; + } + /** + * 装载数据字典 + * @param m 要放入freemarker的数据 + * @param bean 读取出来的动态配置数据 + */ + @SuppressWarnings("unchecked") + private void loadDic(Map m, Map cgReportMap) { + String dict_code = (String) cgReportMap.get("dict_code"); + if(StringUtil.isEmpty(dict_code)){ + m.put(CgReportConstant.FIELD_DICTLIST, new ArrayList(0)); + return; + } + List> dicDatas = queryDic(dict_code); + m.put(CgReportConstant.FIELD_DICTLIST, dicDatas); + } + /** + * 查询数据字典 + * @param diccode 字典编码 + * @return + */ + private List> queryDic(String diccode) { + StringBuilder dicSql = new StringBuilder(); + dicSql.append(" SELECT TYPECODE,TYPENAME FROM"); + dicSql.append(" "+CgReportConstant.SYS_DIC); + dicSql.append(" "+"WHERE TYPEGROUPID = "); + dicSql.append(" "+"(SELECT ID FROM "+CgReportConstant.SYS_DICGROUP+" WHERE TYPEGROUPCODE = '"+diccode+"' )"); + List> dicDatas = cgReportService.findForJdbc(dicSql.toString()); + return dicDatas; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/core/CgreportConfigHeadController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/core/CgreportConfigHeadController.java new file mode 100644 index 00000000..c440ffd9 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/core/CgreportConfigHeadController.java @@ -0,0 +1,242 @@ +package org.jeecgframework.web.cgreport.controller.core; +import java.util.List; +import java.text.SimpleDateFormat; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.core.util.MyBeanUtils; + +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigHeadEntity; +import org.jeecgframework.web.cgreport.page.core.CgreportConfigHeadPage; +import org.jeecgframework.web.cgreport.service.core.CgreportConfigHeadServiceI; +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigItemEntity; +/** + * @Title: Controller + * @Description: 动态报表配置抬头 + * @author 张代浩 + * @date 2013-12-07 16:00:21 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/cgreportConfigHeadController") +public class CgreportConfigHeadController extends BaseController { + /** + * Logger for this class + */ + private static final Logger logger = Logger.getLogger(CgreportConfigHeadController.class); + + @Autowired + private CgreportConfigHeadServiceI cgreportConfigHeadService; + @Autowired + private SystemService systemService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + /** + * 动态报表配置抬头列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "cgreportConfigHead") + public ModelAndView cgreportConfigHead(HttpServletRequest request) { + return new ModelAndView("jeecg/cgreport/core/cgreportConfigHeadList"); + } + + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @RequestMapping(params = "datagrid") + public void datagrid(CgreportConfigHeadEntity cgreportConfigHead,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(CgreportConfigHeadEntity.class, dataGrid); + //查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cgreportConfigHead); + try{ + //自定义追加查询条件 + }catch (Exception e) { + throw new BusinessException(e.getMessage()); + } + cq.add(); + this.cgreportConfigHeadService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除动态报表配置抬头 + * + * @return + */ + @RequestMapping(params = "doDel") + @ResponseBody + public AjaxJson doDel(CgreportConfigHeadEntity cgreportConfigHead, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + cgreportConfigHead = systemService.getEntity(CgreportConfigHeadEntity.class, cgreportConfigHead.getId()); + message = "动态报表配置抬头删除成功"; + try{ + cgreportConfigHeadService.delete(cgreportConfigHead); + systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); + }catch(Exception e){ + e.printStackTrace(); + message = "动态报表配置抬头删除失败"; + throw new BusinessException(e.getMessage()); + } + j.setMsg(message); + return j; + } + + /** + * 批量删除动态报表配置抬头 + * + * @return + */ + @RequestMapping(params = "doBatchDel") + @ResponseBody + public AjaxJson doBatchDel(String ids,HttpServletRequest request){ + AjaxJson j = new AjaxJson(); + message = "动态报表配置抬头删除成功"; + try{ + for(String id:ids.split(",")){ + CgreportConfigHeadEntity cgreportConfigHead = systemService.getEntity(CgreportConfigHeadEntity.class, id); + cgreportConfigHeadService.delete(cgreportConfigHead); + systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); + } + }catch(Exception e){ + e.printStackTrace(); + message = "动态报表配置抬头删除失败"; + throw new BusinessException(e.getMessage()); + } + j.setMsg(message); + return j; + } + + /** + * 添加动态报表配置抬头 + * + * @param ids + * @return + */ + @RequestMapping(params = "doAdd") + @ResponseBody + public AjaxJson doAdd(CgreportConfigHeadEntity cgreportConfigHead,CgreportConfigHeadPage cgreportConfigHeadPage, HttpServletRequest request) { + List cgreportConfigItemList = cgreportConfigHeadPage.getCgreportConfigItemList(); + AjaxJson j = new AjaxJson(); + message = "添加成功"; + try{ + cgreportConfigHeadService.addMain(cgreportConfigHead, cgreportConfigItemList); + systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); + }catch(Exception e){ + e.printStackTrace(); + message = "动态报表配置抬头添加失败"; + throw new BusinessException(e.getMessage()); + } + j.setMsg(message); + return j; + } + /** + * 更新动态报表配置抬头 + * + * @param ids + * @return + */ + @RequestMapping(params = "doUpdate") + @ResponseBody + public AjaxJson doUpdate(CgreportConfigHeadEntity cgreportConfigHead,CgreportConfigHeadPage cgreportConfigHeadPage, HttpServletRequest request) { + List cgreportConfigItemList = cgreportConfigHeadPage.getCgreportConfigItemList(); + AjaxJson j = new AjaxJson(); + message = "更新成功"; + try{ + cgreportConfigHeadService.updateMain(cgreportConfigHead, cgreportConfigItemList); + systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); + }catch(Exception e){ + e.printStackTrace(); + message = "更新动态报表配置抬头失败"; + throw new BusinessException(e.getMessage()); + } + j.setMsg(message); + return j; + } + + /** + * 动态报表配置抬头新增页面跳转 + * + * @return + */ + @RequestMapping(params = "goAdd") + public ModelAndView goAdd(CgreportConfigHeadEntity cgreportConfigHead, HttpServletRequest req) { + if (StringUtil.isNotEmpty(cgreportConfigHead.getId())) { + cgreportConfigHead = cgreportConfigHeadService.getEntity(CgreportConfigHeadEntity.class, cgreportConfigHead.getId()); + req.setAttribute("cgreportConfigHeadPage", cgreportConfigHead); + } + return new ModelAndView("jeecg/cgreport/core/cgreportConfigHead-add"); + } + + /** + * 动态报表配置抬头编辑页面跳转 + * + * @return + */ + @RequestMapping(params = "goUpdate") + public ModelAndView goUpdate(CgreportConfigHeadEntity cgreportConfigHead, HttpServletRequest req) { + if (StringUtil.isNotEmpty(cgreportConfigHead.getId())) { + cgreportConfigHead = cgreportConfigHeadService.getEntity(CgreportConfigHeadEntity.class, cgreportConfigHead.getId()); + req.setAttribute("cgreportConfigHeadPage", cgreportConfigHead); + } + return new ModelAndView("jeecg/cgreport/core/cgreportConfigHead-update"); + } + + + /** + * 加载明细列表[动态报表配置明细] + * + * @return + */ + @RequestMapping(params = "cgreportConfigItemList") + public ModelAndView cgreportConfigItemList(CgreportConfigHeadEntity cgreportConfigHead, HttpServletRequest req) { + + //=================================================================================== + //获取参数 + Object id0 = cgreportConfigHead.getId(); + //=================================================================================== + //查询-动态报表配置明细 + String hql0 = "from CgreportConfigItemEntity where 1 = 1 AND cGRHEAD_ID = ? "; + try{ + List cgreportConfigItemEntityList = systemService.findHql(hql0,id0); + req.setAttribute("cgreportConfigItemList", cgreportConfigItemEntityList); + }catch(Exception e){ + logger.info(e.getMessage()); + } + return new ModelAndView("jeecg/cgreport/core/cgreportConfigItemList"); + } + +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/excel/CgExportExcelController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/excel/CgExportExcelController.java new file mode 100644 index 00000000..af948a49 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/controller/excel/CgExportExcelController.java @@ -0,0 +1,116 @@ +package org.jeecgframework.web.cgreport.controller.excel; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgreport.common.CgReportConstant; +import org.jeecgframework.web.cgreport.exception.CgReportNotFoundException; +import org.jeecgframework.web.cgreport.service.core.CgReportServiceI; +import org.jeecgframework.web.cgreport.service.excel.CgReportExcelServiceI; +import org.jeecgframework.web.cgreport.util.CgReportQueryParamUtil; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.util.BrowserUtils; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +/** + * + * @Title:ExportExcelController + * @description:报表excel导出 + * @author 赵俊夫 + * @date Aug 1, 2013 10:52:26 AM + * @version V1.0 + */ +@Controller +@RequestMapping("/cgExportExcelController") +public class CgExportExcelController extends BaseController { + @Autowired + private CgReportServiceI cgReportService; + @Autowired + private CgReportExcelServiceI cgReportExcelService; + /** + * 将报表导出为excel + * @param request + * @param response + */ + @SuppressWarnings("all") + @RequestMapping(params = "exportXls") + public void exportXls(HttpServletRequest request, + HttpServletResponse response) { + //step.1 设置,获取配置信息 + String codedFileName = "报表"; + String sheetName="导出信息"; + if (StringUtil.isNotEmpty(request.getParameter("configId"))) { + String configId = request.getParameter("configId"); + Map cgReportMap = null; + try{ + cgReportMap = cgReportService.queryCgReportConfig(configId); + }catch (Exception e) { + throw new CgReportNotFoundException("动态报表配置不存在!"); + } + List> fieldList = (List>) cgReportMap.get(CgReportConstant.ITEMS); + Map configM = (Map) cgReportMap.get(CgReportConstant.MAIN); + codedFileName = configM.get("name")+codedFileName; + String querySql = (String) configM.get(CgReportConstant.CONFIG_SQL); + List> items = (List>) cgReportMap.get(CgReportConstant.ITEMS); + Map queryparams = new LinkedHashMap(); + for(Map item:items){ + String isQuery = (String) item.get(CgReportConstant.ITEM_ISQUERY); + if(CgReportConstant.BOOL_TRUE.equalsIgnoreCase(isQuery)){ + //step.2 装载查询条件 + CgReportQueryParamUtil.loadQueryParams(request, item, queryparams); + } + } + //step.3 进行查询返回结果 + List> result= cgReportService.queryByCgReportSql(querySql, queryparams, -1, -1); + + response.setContentType("application/vnd.ms-excel"); + OutputStream fOut = null; + try { + + //step.4 根据浏览器进行转码,使其支持中文文件名 + String browse = BrowserUtils.checkBrowse(request); + if ("MSIE".equalsIgnoreCase(browse.substring(0, 4))) { + response.setHeader("content-disposition", + "attachment;filename=" + + java.net.URLEncoder.encode(codedFileName, + "UTF-8") + ".xls"); + } else { + String newtitle = new String(codedFileName.getBytes("UTF-8"), + "ISO8859-1"); + response.setHeader("content-disposition", + "attachment;filename=" + newtitle + ".xls"); + } + //step.5 产生工作簿对象 + HSSFWorkbook workbook = null; + workbook = cgReportExcelService.exportExcel(codedFileName, fieldList, result); + fOut = response.getOutputStream(); + workbook.write(fOut); + } catch (UnsupportedEncodingException e1) { + + } catch (Exception e) { + + } finally { + try { + fOut.flush(); + fOut.close(); + } catch (IOException e) { + + } + } + } else { + throw new BusinessException("参数错误"); + } + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/dao/core/CgReportDao.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/dao/core/CgReportDao.java new file mode 100644 index 00000000..0dc07625 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/dao/core/CgReportDao.java @@ -0,0 +1,22 @@ +package org.jeecgframework.web.cgreport.dao.core; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.minidao.annotation.Arguments; +import org.jeecgframework.minidao.annotation.MiniDao; + +/** + * + * @author zhangdaihao + * + */ +@MiniDao +public interface CgReportDao{ + + @Arguments("configId") + List> queryCgReportItems(String configId); + + @Arguments("id") + Map queryCgReportMainConfig(String id); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/engine/core/cgreportlist.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/engine/core/cgreportlist.ftl new file mode 100644 index 00000000..6fb274d1 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/engine/core/cgreportlist.ftl @@ -0,0 +1,134 @@ + +
+
+
+ <#list config_queryList as x> + + ${x['field_txt']}: + <#if x['search_mode']=="group"> + class="easyui-datebox" /> + ~ + class="easyui-datebox" /> + + <#if x['search_mode']=="single"> + <#if (x['field_dictlist']?size >0)> + + + <#if (x['field_dictlist']?size <= 0)> + class="easyui-datebox" /> + + + + +
+
+ + 导出excel + + +<#if (config_queryList?size >0)> + + 查询 + 重置 + + +
+
diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/engine/core/cgreportlistpopup.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/engine/core/cgreportlistpopup.ftl new file mode 100644 index 00000000..3832f66a --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/engine/core/cgreportlistpopup.ftl @@ -0,0 +1,92 @@ + + +
+
+
+ <#list config_queryList as x> + + ${x['field_txt']}: + <#if x['search_mode']=="group"> + class="easyui-datebox" /> + ~ + class="easyui-datebox" /> + + <#if x['search_mode']=="single"> + <#if (x['field_dictlist']?size >0)> + + + <#if (x['field_dictlist']?size <= 0)> + class="easyui-datebox" /> + + + + +
+
+<#if (config_queryList?size >0)> + + 查询 + 重置 + + +
+
diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/entity/core/CgreportConfigHeadEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/entity/core/CgreportConfigHeadEntity.java new file mode 100644 index 00000000..48426c83 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/entity/core/CgreportConfigHeadEntity.java @@ -0,0 +1,127 @@ +package org.jeecgframework.web.cgreport.entity.core; + +import java.math.BigDecimal; +import java.util.Date; +import java.lang.String; +import java.lang.Double; +import java.lang.Integer; +import java.math.BigDecimal; +import javax.xml.soap.Text; +import java.sql.Blob; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; +import org.hibernate.annotations.GenericGenerator; +import javax.persistence.SequenceGenerator; + +/** + * @Title: Entity + * @Description: 动态报表配置抬头 + * @author 张代浩 + * @date 2013-12-07 16:00:21 + * @version V1.0 + * + */ +@Entity +@Table(name = "jform_cgreport_head", schema = "") +@SuppressWarnings("serial") +public class CgreportConfigHeadEntity implements java.io.Serializable { + /**主键*/ + private java.lang.String id; + /**编码*/ + private java.lang.String code; + /**名称*/ + private java.lang.String name; + /**查询数据SQL*/ + private java.lang.String cgrSql; + /**描述*/ + private java.lang.String content; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键 + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=36) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 主键 + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 编码 + */ + @Column(name ="CODE",nullable=false,length=36) + public java.lang.String getCode(){ + return this.code; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 编码 + */ + public void setCode(java.lang.String code){ + this.code = code; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 名称 + */ + @Column(name ="NAME",nullable=false,length=100) + public java.lang.String getName(){ + return this.name; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 名称 + */ + public void setName(java.lang.String name){ + this.name = name; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询数据SQL + */ + @Column(name ="CGR_SQL",nullable=false,length=2000) + public java.lang.String getCgrSql(){ + return this.cgrSql; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询数据SQL + */ + public void setCgrSql(java.lang.String cgrSql){ + this.cgrSql = cgrSql; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 描述 + */ + @Column(name ="CONTENT",nullable=false,length=1000) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 描述 + */ + public void setContent(java.lang.String content){ + this.content = content; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/entity/core/CgreportConfigItemEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/entity/core/CgreportConfigItemEntity.java new file mode 100644 index 00000000..6e263cd5 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/entity/core/CgreportConfigItemEntity.java @@ -0,0 +1,248 @@ +package org.jeecgframework.web.cgreport.entity.core; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: 动态报表配置明细 + * @author 张代浩 + * @date 2013-12-07 16:00:21 + * @version V1.0 + * + */ +@Entity +@Table(name = "jform_cgreport_item", schema = "") +@SuppressWarnings("serial") +public class CgreportConfigItemEntity implements java.io.Serializable { + /**主键*/ + private java.lang.String id; + /**字段名*/ + private java.lang.String fieldName; + /**字段序号*/ + private java.lang.Integer orderNum; + /**字段文本*/ + private java.lang.String fieldTxt; + /**字段类型*/ + private java.lang.String fieldType; + //update_begin by:Robin for:TASK #344 动态报表需要增加,字段是否显示,字段herf + /**字段href*/ + private String fieldHref; + /**是否显示*/ + private String isShow; + //update_begin by:Robin for:TASK #344 动态报表需要增加,字段是否显示,字段herf + /**查询模式*/ + private java.lang.String sMode; + /**取值表达式*/ + private java.lang.String replaceVa; + /**字典Code*/ + private java.lang.String dictCode; + /**是否查询*/ + private java.lang.String sFlag; + /**外键*/ + private java.lang.String cgrheadId; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键 + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=36) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 主键 + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段名 + */ + @Column(name ="FIELD_NAME",nullable=true,length=36) + public java.lang.String getFieldName(){ + return this.fieldName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段名 + */ + public void setFieldName(java.lang.String fieldName){ + this.fieldName = fieldName; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 字段序号 + */ + @Column(name ="ORDER_NUM",nullable=true,length=10) + public java.lang.Integer getOrderNum(){ + return this.orderNum; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 字段序号 + */ + public void setOrderNum(java.lang.Integer orderNum){ + this.orderNum = orderNum; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段文本 + */ + @Column(name ="FIELD_TXT",nullable=true,length=1000) + public java.lang.String getFieldTxt(){ + return this.fieldTxt; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段文本 + */ + public void setFieldTxt(java.lang.String fieldTxt){ + this.fieldTxt = fieldTxt; + } + + + /** + * @return isShow + */ + @Column(name = "IS_SHOW",nullable=true,length=5) + public String getIsShow() { + return isShow; + } + + /** + * @param isShow 要设置的 isShow + */ + public void setIsShow(String isShow) { + this.isShow = isShow; + } + + /** + * @return fieldHref + */ + @Column(name ="FIELD_HREF",nullable=true,length=120) + public String getFieldHref() { + return fieldHref; + } + + /** + * @param fieldHref 要设置的 fieldHref + */ + public void setFieldHref(String fieldHref) { + this.fieldHref = fieldHref; + } + + + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字段类型 + */ + @Column(name ="FIELD_TYPE",nullable=true,length=10) + public java.lang.String getFieldType(){ + return this.fieldType; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字段类型 + */ + public void setFieldType(java.lang.String fieldType){ + this.fieldType = fieldType; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询模式 + */ + @Column(name ="S_MODE",nullable=true,length=10) + public java.lang.String getSMode(){ + return this.sMode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询模式 + */ + public void setSMode(java.lang.String sMode){ + this.sMode = sMode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 取值表达式 + */ + @Column(name ="REPLACE_VA",nullable=true,length=36) + public java.lang.String getReplaceVa(){ + return this.replaceVa; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 取值表达式 + */ + public void setReplaceVa(java.lang.String replaceVa){ + this.replaceVa = replaceVa; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 字典Code + */ + @Column(name ="DICT_CODE",nullable=true,length=36) + public java.lang.String getDictCode(){ + return this.dictCode; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 字典Code + */ + public void setDictCode(java.lang.String dictCode){ + this.dictCode = dictCode; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 是否查询 + */ + @Column(name ="S_FLAG",nullable=true,length=2) + public java.lang.String getSFlag(){ + return this.sFlag; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 是否查询 + */ + public void setSFlag(java.lang.String sFlag){ + this.sFlag = sFlag; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 外键 + */ + @Column(name ="CGRHEAD_ID",nullable=true,length=36) + public java.lang.String getCgrheadId(){ + return this.cgrheadId; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 外键 + */ + public void setCgrheadId(java.lang.String cgrheadId){ + this.cgrheadId = cgrheadId; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/exception/CgReportNotFoundException.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/exception/CgReportNotFoundException.java new file mode 100644 index 00000000..cddcf733 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/exception/CgReportNotFoundException.java @@ -0,0 +1,19 @@ +package org.jeecgframework.web.cgreport.exception; +/** + * + * @Title:CgReportNotFoundException + * @description:动态报表配置没有找到异常 + * @author 赵俊夫 + * @date Jul 30, 2013 9:56:12 AM + * @version V1.0 + */ +public class CgReportNotFoundException extends RuntimeException { + /** + * + */ + private static final long serialVersionUID = 1L; + + public CgReportNotFoundException(String msg) { + super(msg); + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/page/core/CgreportConfigHeadPage.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/page/core/CgreportConfigHeadPage.java new file mode 100644 index 00000000..c5fa0e44 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/page/core/CgreportConfigHeadPage.java @@ -0,0 +1,136 @@ +package org.jeecgframework.web.cgreport.page.core; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.ArrayList; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; +import org.hibernate.annotations.GenericGenerator; +import javax.persistence.SequenceGenerator; + +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigItemEntity; + +/** + * @Title: Entity + * @Description: 动态报表配置抬头 + * @author 张代浩 + * @date 2013-12-07 16:00:21 + * @version V1.0 + * + */ +@Entity +@Table(name = "jform_cgreport_head", schema = "") +@SuppressWarnings("serial") +public class CgreportConfigHeadPage implements java.io.Serializable { + /**保存-动态报表配置明细*/ + private List cgreportConfigItemList = new ArrayList(); + public List getCgreportConfigItemList() { + return cgreportConfigItemList; + } + public void setCgreportConfigItemList(List cgreportConfigItemList) { + this.cgreportConfigItemList = cgreportConfigItemList; + } + + + /**主键*/ + private java.lang.String id; + /**编码*/ + private java.lang.String code; + /**名称*/ + private java.lang.String name; + /**查询数据SQL*/ + private java.lang.String cgrSql; + /**描述*/ + private java.lang.String content; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键 + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=36) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 主键 + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 编码 + */ + @Column(name ="CODE",nullable=false,length=36) + public java.lang.String getCode(){ + return this.code; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 编码 + */ + public void setCode(java.lang.String code){ + this.code = code; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 名称 + */ + @Column(name ="NAME",nullable=false,length=100) + public java.lang.String getName(){ + return this.name; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 名称 + */ + public void setName(java.lang.String name){ + this.name = name; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 查询数据SQL + */ + @Column(name ="CGR_SQL",nullable=false,length=2000) + public java.lang.String getCgrSql(){ + return this.cgrSql; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 查询数据SQL + */ + public void setCgrSql(java.lang.String cgrSql){ + this.cgrSql = cgrSql; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 描述 + */ + @Column(name ="CONTENT",nullable=false,length=1000) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 描述 + */ + public void setContent(java.lang.String content){ + this.content = content; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/core/CgReportServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/core/CgReportServiceI.java new file mode 100644 index 00000000..1215f4d8 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/core/CgReportServiceI.java @@ -0,0 +1,57 @@ +package org.jeecgframework.web.cgreport.service.core; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.core.common.service.CommonService; + +/** + * + * @Title:CgReportServiceI + * @description:动态报表服务接口 + * @author 赵俊夫 + * @date Jul 30, 2013 8:43:01 AM + * @version V1.0 + */ +public interface CgReportServiceI extends CommonService{ + /** + * 根据报表的ID获得报表的抬头配置以及明细配置 + * @param reportId + * @return + */ + public Map queryCgReportConfig(String reportId); + /** + * 根据报表id获得报表抬头配置 + * @param reportId + * @return + */ + public Map queryCgReportMainConfig(String reportId); + /** + * 根据报表id获得报表明细配置 + * @param reportId + * @return + */ + public List> queryCgReportItems(String reportId); + /** + * 执行报表SQL获取结果集 + * @param sql 报表SQL + * @param params 查询条件 + * @param page 页面数 + * @param rows 要获取的条目总数 + * @return + */ + public List> queryByCgReportSql(String sql,Map params,int page,int rows); + /** + * 获取报表sql结果集大小 + * @param sql 报表SQL + * @param params 查询条件 + * @return + */ + public long countQueryByCgReportSql(String sql,Map params); + /** + * 通过执行sql获得该sql语句中的字段集合 + * @param sql 报表sql + * @return + */ + public List getSqlFields(String sql); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/core/CgreportConfigHeadServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/core/CgreportConfigHeadServiceI.java new file mode 100644 index 00000000..031a55b7 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/core/CgreportConfigHeadServiceI.java @@ -0,0 +1,44 @@ +package org.jeecgframework.web.cgreport.service.core; + +import java.util.List; +import org.jeecgframework.core.common.service.CommonService; +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigHeadEntity; +import java.io.Serializable; +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigItemEntity; + +public interface CgreportConfigHeadServiceI extends CommonService{ + + public void delete(T entity); + /** + * 添加一对多 + * + */ + public void addMain(CgreportConfigHeadEntity cgreportConfigHead, + List cgreportConfigItemList) ; + /** + * 修改一对多 + * + */ + public void updateMain(CgreportConfigHeadEntity cgreportConfigHead, + List cgreportConfigItemList); + public void delMain (CgreportConfigHeadEntity cgreportConfigHead); + + /** + * 默认按钮-sql增强-新增操作 + * @param id + * @return + */ + public boolean doAddSql(CgreportConfigHeadEntity t); + /** + * 默认按钮-sql增强-更新操作 + * @param id + * @return + */ + public boolean doUpdateSql(CgreportConfigHeadEntity t); + /** + * 默认按钮-sql增强-删除操作 + * @param id + * @return + */ + public boolean doDelSql(CgreportConfigHeadEntity t); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/excel/CgReportExcelServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/excel/CgReportExcelServiceI.java new file mode 100644 index 00000000..3d0e8c46 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/excel/CgReportExcelServiceI.java @@ -0,0 +1,25 @@ +package org.jeecgframework.web.cgreport.service.excel; + +import java.util.Collection; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.jeecgframework.core.common.service.CommonService; + +/** + * + * @Title:CgReportExcelServiceI + * @description:动态报表excel导出 + * @author 赵俊夫 + * @date Aug 1, 2013 8:53:54 AM + * @version V1.0 + */ +public interface CgReportExcelServiceI extends CommonService{ + /** + * + * @param title 标题 + * @param titleSet 报表头 + * @param dataSet 报表内容 + * @return + */ + public HSSFWorkbook exportExcel(String title, Collection titleSet,Collection dataSet); +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/core/CgReportServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/core/CgReportServiceImpl.java new file mode 100644 index 00000000..ccf257dd --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/core/CgReportServiceImpl.java @@ -0,0 +1,122 @@ +package org.jeecgframework.web.cgreport.service.impl.core; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.jeecgframework.web.cgreport.common.CgReportConstant; +import org.jeecgframework.web.cgreport.dao.core.CgReportDao; +import org.jeecgframework.web.cgreport.service.core.CgReportServiceI; + +import org.jeecgframework.core.common.dao.jdbc.JdbcDao; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service(value="cgReportService") +@Transactional +public class CgReportServiceImpl extends CommonServiceImpl implements + CgReportServiceI { + @Autowired + private JdbcDao jdbcDao; + @Autowired + private CgReportDao cgReportDao; + + + public Map queryCgReportConfig(String reportId) { + Map cgReportM = new HashMap(0); + Map mainM = queryCgReportMainConfig(reportId); + List> itemsM = queryCgReportItems(reportId); + cgReportM.put(CgReportConstant.MAIN, mainM); + cgReportM.put(CgReportConstant.ITEMS, itemsM); + return cgReportM; + } + + public Map queryCgReportMainConfig(String reportId){ +// String sql = JeecgSqlUtil.getMethodSql(JeecgSqlUtil.getMethodUrl()); +// Map parameters = new LinkedHashMap(); +// parameters.put("id", reportId); +// Map mainM = jdbcDao.findForMap(sql, parameters); + + //采用MiniDao实现方式 + return cgReportDao.queryCgReportMainConfig(reportId); + } + + public List> queryCgReportItems(String reportId){ +// String sql = JeecgSqlUtil.getMethodSql(JeecgSqlUtil.getMethodUrl()); +// Map parameters = new LinkedHashMap(); +// parameters.put("configId", reportId); +// List> items = jdbcDao.findForListMap(sql, parameters); + + //采用MiniDao实现方式 + return cgReportDao.queryCgReportItems(reportId); + } + @SuppressWarnings("unchecked") + + public List> queryByCgReportSql(String sql, Map params, + int page, int rows) { + String querySql = getFullSql(sql,params); + List> result = null; + if(page==-1 && rows==-1){ + result = jdbcDao.findForJdbc(querySql); + }else{ + result = jdbcDao.findForJdbc(querySql, page, rows); + } + return result; + } + /** + * 获取拼装查询条件之后的sql + * @param sql + * @param params + * @return + */ + @SuppressWarnings("unchecked") + private String getFullSql(String sql,Map params){ + StringBuilder sqlB = new StringBuilder(); + sqlB.append("SELECT t.* FROM ( "); + sqlB.append(sql+" "); + sqlB.append(") t "); + if (params.size() >= 1) { + sqlB.append("WHERE 1=1 "); + Iterator it = params.keySet().iterator(); + while (it.hasNext()) { + String key = String.valueOf(it.next()); + String value = String.valueOf(params.get(key)); + if (!StringUtil.isEmpty(value) && !"null".equals(value)) { + sqlB.append(" AND "); + sqlB.append(" " + key + value ); + } + } + } + return sqlB.toString(); + } + @SuppressWarnings("unchecked") + + public long countQueryByCgReportSql(String sql, Map params) { + String querySql = getFullSql(sql,params); + querySql = "SELECT COUNT(*) FROM ("+querySql+") t2"; + long result = jdbcDao.findForLong(querySql,new HashMap(0)); + return result; + } + @SuppressWarnings( "unchecked" ) + + public List getSqlFields(String sql) { + if(oConvertUtils.isEmpty(sql)){ + return null; + } + List> result = jdbcDao.findForJdbc(sql, 1, 1); + if(result.size()<1){ + throw new BusinessException("该报表sql没有数据"); + } + Set fieldsSet= result.get(0).keySet(); + List fileds = new ArrayList(fieldsSet); + return fileds; + } +} diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/core/CgreportConfigHeadServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/core/CgreportConfigHeadServiceImpl.java new file mode 100644 index 00000000..2b4d296d --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/core/CgreportConfigHeadServiceImpl.java @@ -0,0 +1,144 @@ +package org.jeecgframework.web.cgreport.service.impl.core; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.List; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.web.cgreport.service.core.CgreportConfigHeadServiceI; +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import java.util.ArrayList; +import java.util.UUID; +import java.io.Serializable; + +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigHeadEntity; +import org.jeecgframework.web.cgreport.entity.core.CgreportConfigItemEntity; +@Service("cgreportConfigHeadService") +@Transactional +public class CgreportConfigHeadServiceImpl extends CommonServiceImpl implements CgreportConfigHeadServiceI { + + public void delete(T entity) { + super.delete(entity); + //执行删除操作配置的sql增强 + this.doDelSql((CgreportConfigHeadEntity)entity); + } + + public void addMain(CgreportConfigHeadEntity cgreportConfigHead, + List cgreportConfigItemList){ + //保存主信息 + this.save(cgreportConfigHead); + + /**保存-动态报表配置明细*/ + for(CgreportConfigItemEntity cgreportConfigItem:cgreportConfigItemList){ + //外键设置 + cgreportConfigItem.setCgrheadId(cgreportConfigHead.getId()); + this.save(cgreportConfigItem); + } + //执行新增操作配置的sql增强 + this.doAddSql(cgreportConfigHead); + } + + + public void updateMain(CgreportConfigHeadEntity cgreportConfigHead, + List cgreportConfigItemList) { + //保存主表信息 + this.saveOrUpdate(cgreportConfigHead); + //=================================================================================== + //获取参数 + Object id0 = cgreportConfigHead.getId(); + //=================================================================================== + //1.查询出数据库的明细数据-动态报表配置明细 + String hql0 = "from CgreportConfigItemEntity where 1 = 1 AND cGRHEAD_ID = ? "; + List cgreportConfigItemOldList = this.findHql(hql0,id0); + //2.筛选更新明细数据-动态报表配置明细 + for(CgreportConfigItemEntity oldE:cgreportConfigItemOldList){ + boolean isUpdate = false; + for(CgreportConfigItemEntity sendE:cgreportConfigItemList){ + //需要更新的明细数据-动态报表配置明细 + if(oldE.getId().equals(sendE.getId())){ + try { + MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE); + this.saveOrUpdate(oldE); + } catch (Exception e) { + e.printStackTrace(); + throw new BusinessException(e.getMessage()); + } + isUpdate= true; + break; + } + } + if(!isUpdate){ + //如果数据库存在的明细,前台没有传递过来则是删除-动态报表配置明细 + super.delete(oldE); + } + + } + //3.持久化新增的数据-动态报表配置明细 + for(CgreportConfigItemEntity cgreportConfigItem:cgreportConfigItemList){ + if(StringUtil.isEmpty(cgreportConfigItem.getId())){ + //外键设置 + cgreportConfigItem.setCgrheadId(cgreportConfigHead.getId()); + this.save(cgreportConfigItem); + } + } + //执行更新操作配置的sql增强 + this.doUpdateSql(cgreportConfigHead); + } + + + public void delMain(CgreportConfigHeadEntity cgreportConfigHead) { + //删除主表信息 + this.delete(cgreportConfigHead); + //=================================================================================== + //获取参数 + Object id0 = cgreportConfigHead.getId(); + //=================================================================================== + //删除-动态报表配置明细 + String hql0 = "from CgreportConfigItemEntity where 1 = 1 AND cGRHEAD_ID = ? "; + List cgreportConfigItemOldList = this.findHql(hql0,id0); + this.deleteAllEntitie(cgreportConfigItemOldList); + } + + + /** + * 默认按钮-sql增强-新增操作 + * @param id + * @return + */ + public boolean doAddSql(CgreportConfigHeadEntity t){ + return true; + } + /** + * 默认按钮-sql增强-更新操作 + * @param id + * @return + */ + public boolean doUpdateSql(CgreportConfigHeadEntity t){ + return true; + } + /** + * 默认按钮-sql增强-删除操作 + * @param id + * @return + */ + public boolean doDelSql(CgreportConfigHeadEntity t){ + return true; + } + + /** + * 替换sql中的变量 + * @param sql + * @return + */ + public String replaceVal(String sql,CgreportConfigHeadEntity t){ + sql = sql.replace("#{id}",String.valueOf(t.getId())); + sql = sql.replace("#{code}",String.valueOf(t.getCode())); + sql = sql.replace("#{name}",String.valueOf(t.getName())); + sql = sql.replace("#{cgr_sql}",String.valueOf(t.getCgrSql())); + sql = sql.replace("#{content}",String.valueOf(t.getContent())); + sql = sql.replace("#{UUID}",UUID.randomUUID().toString()); + return sql; + } +} \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/excel/CgReportExcelServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/excel/CgReportExcelServiceImpl.java new file mode 100644 index 00000000..ca3487d6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/cgreport/service/impl/excel/CgReportExcelServiceImpl.java @@ -0,0 +1,141 @@ +package org.jeecgframework.web.cgreport.service.impl.excel; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgreport.service.excel.CgReportExcelServiceI; + +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFRichTextString; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.RichTextString; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +@Service(value="cgReportExcelService") +@Transactional +public class CgReportExcelServiceImpl extends CommonServiceImpl implements + CgReportExcelServiceI { + @SuppressWarnings("unchecked") + + public HSSFWorkbook exportExcel(String title, Collection titleSet, + Collection dataSet) { + // 声明一个工作薄 + HSSFWorkbook workbook = null; + try { + // 首先检查数据看是否是正确的 + if (titleSet == null || titleSet.size() == 0) { + throw new Exception("读取表头失败!"); + } + if (title == null) { + title = ""; + } + // 声明一个工作薄 + workbook = new HSSFWorkbook(); + // 生成一个表格 + Sheet sheet = workbook.createSheet(title); + int rindex = 0; + int cindex = 0; + // 产生表格标题行 + Row row = sheet.createRow(rindex); + row.setHeight((short) 450); + CellStyle titleStyle = getTitleStyle(workbook); +// Iterator itTitle = titleSet.iterator(); + List titleList = (List) titleSet; + Iterator itData = dataSet.iterator(); + //遍历标题行 + for(Map titleM : titleList){ + String titleContent = (String) titleM.get("field_txt"); + Cell cell = row.createCell(cindex); + RichTextString text = new HSSFRichTextString(titleContent); + cell.setCellValue(text); + cell.setCellStyle(titleStyle); + cindex++; + } + HSSFCellStyle bodyStyle = getOneStyle(workbook); + //遍历内容 + while (itData.hasNext()) { + cindex = 0; + rindex++; + row = sheet.createRow(rindex); + Map dataM = (Map) itData.next();//获取每一行的内容 + for(Map titleM : titleList){ + String field = (String) titleM.get("field_name"); + String content = dataM.get(field)==null?"":dataM.get(field).toString(); + Cell cell = row.createCell(cindex); + RichTextString text = new HSSFRichTextString(content); + cell.setCellStyle(bodyStyle); + cell.setCellValue(text); + cindex++; + } + } + for(int i=0; i entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); - params.setTitleRows(0); + params.setTitleRows(2); params.setSecondTitleRows(2); params.setNeedSave(true); try { - List listCourses = (List) - ExcelImportUtil.importExcelByIs(file.getInputStream(), - CourseEntity.class,params); + List listCourses = + (List)ExcelImportUtil.importExcelByIs(file.getInputStream(),CourseEntity.class,params); for (CourseEntity course : listCourses) { if(course.getName()!=null){ courseService.saveCourse(course); diff --git a/src/jeecg/demo/controller/test/DemoController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/DemoController.java similarity index 87% rename from src/jeecg/demo/controller/test/DemoController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/DemoController.java index fa407202..3973afdc 100644 --- a/src/jeecg/demo/controller/test/DemoController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/DemoController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.ArrayList; import java.util.HashMap; @@ -7,12 +7,12 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; -import jeecg.system.pojo.base.TSAttachment; -import jeecg.system.pojo.base.TSDemo; -import jeecg.system.pojo.base.TSDocument; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.pojo.base.TSDemo; +import org.jeecgframework.web.system.pojo.base.TSDocument; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -73,9 +73,9 @@ public class DemoController extends BaseController { request.setAttribute("demo", demo); } if (type.equals("table")) { - return new ModelAndView("demo/tabledemo"); + return new ModelAndView("jeecg/demo/base/tabledemo"); } else { - return new ModelAndView("demo/demo"); + return new ModelAndView("jeecg/demo/base/demo"); } } @@ -117,7 +117,7 @@ public class DemoController extends BaseController { cq.add(); List demoList = systemService.getListByCriteriaQuery(cq, false); request.setAttribute("demoList", demoList); - return new ModelAndView("demo/demoIframe"); + return new ModelAndView("jeecg/demo/base/demoIframe"); } /** @@ -125,7 +125,7 @@ public class DemoController extends BaseController { */ @RequestMapping(params = "demoList") public ModelAndView demoList(HttpServletRequest request) { - return new ModelAndView("demo/demoList"); + return new ModelAndView("jeecg/demo/base/demoList"); } @@ -163,7 +163,7 @@ public class DemoController extends BaseController { List list = systemService.getList(TSDemo.class); demo = list.get(0); request.setAttribute("demo", demo); - return new ModelAndView("demo/democode"); + return new ModelAndView("jeecg/demo/base/democode"); } /** @@ -200,28 +200,28 @@ public class DemoController extends BaseController { */ @RequestMapping(params = "uploadTabs") public ModelAndView uploadTabs(HttpServletRequest request) { - return new ModelAndView("demo/upload/uploadTabs"); + return new ModelAndView("jeecg/demo/base/upload/uploadTabs"); } /** * 图片预览TABS跳转 */ @RequestMapping(params = "imgViewTabs") public ModelAndView imgViewTabs(HttpServletRequest request) { - return new ModelAndView("demo/picview/imgViewTabs"); + return new ModelAndView("jeecg/demo/base/picview/imgViewTabs"); } /** * 表单验证TABS跳转 */ @RequestMapping(params = "formTabs") public ModelAndView formTabs(HttpServletRequest request) { - return new ModelAndView("demo/formvalid/formTabs"); + return new ModelAndView("jeecg/demo/base/formvalid/formTabs"); } /** * 动态模板TABS跳转 */ @RequestMapping(params = "templeteTabs") public ModelAndView templeteTabs(HttpServletRequest request) { - return new ModelAndView("demo/template/templateiframe"); + return new ModelAndView("jeecg/demo/base/template/templateiframe"); } /** * 上传演示 @@ -229,7 +229,7 @@ public class DemoController extends BaseController { @RequestMapping(params = "autoupload") public ModelAndView autoupload(HttpServletRequest request) { String turn=oConvertUtils.getString(request.getParameter("turn")); - return new ModelAndView("demo/"+turn+""); + return new ModelAndView("jeecg/demo/base/"+turn+""); } /** @@ -243,7 +243,7 @@ public class DemoController extends BaseController { cq2.add(); List funList = systemService.getListByCriteriaQuery(cq2, true); request.setAttribute("funList", funList); - return new ModelAndView("demo/AJAX/select"); + return new ModelAndView("jeecg/demo/base/AJAX/select"); } /** *数据字典下拉 @@ -251,7 +251,7 @@ public class DemoController extends BaseController { @RequestMapping(params = "dictSelect") public ModelAndView dictSelect(HttpServletRequest request) { request.setAttribute("process", "default"); - return new ModelAndView("demo/dict/dictSelect"); + return new ModelAndView("jeecg/demo/base/dict/dictSelect"); } /** * 地图demo @@ -260,7 +260,7 @@ public class DemoController extends BaseController { */ @RequestMapping(params = "mapDemo") public ModelAndView mapDemo(HttpServletRequest request) { - return new ModelAndView("demo/map/mapDemo2"); + return new ModelAndView("jeecg/demo/base/map/mapDemo2"); } /** * 保存DEMO维护 diff --git a/src/jeecg/demo/controller/test/JeecgBlobDataController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgBlobDataController.java similarity index 96% rename from src/jeecg/demo/controller/test/JeecgBlobDataController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgBlobDataController.java index c82e7351..9ef4eb18 100644 --- a/src/jeecg/demo/controller/test/JeecgBlobDataController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgBlobDataController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.io.BufferedOutputStream; import java.io.InputStream; import java.sql.Blob; @@ -7,9 +7,9 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.JeecgBlobDataEntity; -import jeecg.demo.service.test.JeecgBlobDataServiceI; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JeecgBlobDataEntity; +import org.jeecgframework.web.demo.service.test.JeecgBlobDataServiceI; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; diff --git a/src/jeecg/demo/controller/test/JeecgDemoCkfinderController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoCkfinderController.java similarity index 95% rename from src/jeecg/demo/controller/test/JeecgDemoCkfinderController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoCkfinderController.java index 56b93e6b..b33a41f7 100644 --- a/src/jeecg/demo/controller/test/JeecgDemoCkfinderController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoCkfinderController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -16,11 +16,11 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; -import jeecg.demo.entity.test.JeecgDemoCkfinderEntity; -import jeecg.demo.service.test.JeecgDemoCkfinderServiceI; +import org.jeecgframework.web.demo.entity.test.JeecgDemoCkfinderEntity; +import org.jeecgframework.web.demo.service.test.JeecgDemoCkfinderServiceI; /** * @Title: Controller diff --git a/src/jeecg/demo/controller/test/JeecgDemoController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoController.java similarity index 89% rename from src/jeecg/demo/controller/test/JeecgDemoController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoController.java index 6271dd9e..892abdb3 100644 --- a/src/jeecg/demo/controller/test/JeecgDemoController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.ArrayList; import java.util.HashMap; @@ -8,11 +8,11 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.CKEditorEntity; -import jeecg.demo.entity.test.JeecgDemo; -import jeecg.demo.service.test.JeecgDemoServiceI; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.CKEditorEntity; +import org.jeecgframework.web.demo.entity.test.JeecgDemo; +import org.jeecgframework.web.demo.service.test.JeecgDemoServiceI; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.annotation.config.AutoMenu; @@ -34,7 +34,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @Title: Controller * @Description: 单表模型(DEMO) - * @author zhangdaihao + * @author 张代浩 * @date 2013-01-23 17:12:40 * @version V1.0 * @@ -134,6 +134,29 @@ public class JeecgDemoController extends BaseController { return j; } + /** + * JeecgDemo 打印预览跳转 + * @param jeecgDemo + * @param req + * @return + */ + @RequestMapping(params = "print") + public ModelAndView print(JeecgDemo jeecgDemo, HttpServletRequest req) { + // 获取部门信息 + List departList = systemService.getList(TSDepart.class); + req.setAttribute("departList", departList); + + if (StringUtil.isNotEmpty(jeecgDemo.getId())) { + jeecgDemo = jeecgDemoService.getEntity(JeecgDemo.class, jeecgDemo + .getId()); + req.setAttribute("jgDemo", jeecgDemo); + if ("0".equals(jeecgDemo.getSex())) + req.setAttribute("sex", "男"); + if ("1".equals(jeecgDemo.getSex())) + req.setAttribute("sex", "女"); + } + return new ModelAndView("jeecg/demo/jeecgDemo/jeecgDemoPrint"); + } /** * JeecgDemo例子列表 页面跳转 diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoTransDataForXml.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoTransDataForXml.java new file mode 100644 index 00000000..93db5aac --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgDemoTransDataForXml.java @@ -0,0 +1,215 @@ +package org.jeecgframework.web.demo.controller.test; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.cgform.service.migrate.MigrateForm; +import org.jeecgframework.web.demo.entity.test.JeecgDemo; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.dao.jdbc.JdbcDao; +import org.jeecgframework.core.common.model.common.DBTable; +import org.jeecgframework.core.common.model.common.UploadFile; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.service.CommonService; +import org.jeecgframework.core.util.LogUtil; +import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Controller; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import com.thoughtworks.xstream.XStream; + +@Controller +@RequestMapping("/transdata") +public class JeecgDemoTransDataForXml extends BaseController { + + private static final Logger logger = Logger.getLogger(JeecgDemoTransDataForXml.class); + + @Autowired + @Qualifier("jdbcTemplate") + private JdbcTemplate jdbcTemplate; + @Autowired + private JdbcDao jdbcDao ; + @Autowired + private CommonService commonService; + + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + /** + * 导出数据为xml + * @param request + * @param response + */ + @RequestMapping(params = "doMigrateOut") + public void doMigrateOut(HttpServletRequest request,HttpServletResponse response){ + String savePath = ResourceUtil.getSystempPath(); + // 创建文件 + savePath += "/test_export_migrate.xml"; + File file = new File(savePath); + try { + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + logger.info("创建文件名失败!!"); + e.printStackTrace(); + } + } + String ids = request.getParameter("ids"); + XStream xStream = new XStream(); + DBTable dbTable = new DBTable(); + dbTable.setTableName("jeecg_demo"); + dbTable.setClass1(JeecgDemo.class); + String sql = "select * from jeecg_demo"; + if(StringUtil.isNotEmpty(ids) && ids.split(",").length>0){ + sql += " where id in ('"+ids.replaceAll(",", "','")+"')"; + } + List list = jdbcDao.find(sql, JeecgDemo.class, null); + //jdbcDao.executeSql("delete from jeecg_demo", null); + dbTable.setTableData(list); + xStream.processAnnotations(DBTable.class); + FileOutputStream outputStream = new FileOutputStream(savePath); + Writer writer = new OutputStreamWriter(outputStream, "UTF-8"); + writer.write("\r\n"); + xStream.toXML(dbTable, writer); + logger.debug("create doMigrateOut file: " + savePath); + String ls_filename = MigrateForm.zip(null, "", savePath); // 压缩文件 + // 文件下载 + file = new File(ls_filename); + String filename = file.getName(); + InputStream fis = new BufferedInputStream(new FileInputStream(ls_filename)); + // 输出生成的zip文件 + // 清空response + response.reset(); + // 设置response的Header + response.setContentType("text/html;charset=utf-8"); + request.setCharacterEncoding("UTF-8"); + response.addHeader("Content-Length", "" + file.length()); + OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); + response.setContentType("application/octet-stream"); + response.setHeader("Content-disposition", "attachment;filename=" + + new String(filename.getBytes("utf-8"), "ISO8859-1")); + int bytesRead = 0; + byte[] buffer = new byte[8192]; + while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) { + toClient.write(buffer, 0, bytesRead); + } + toClient.write(buffer); + toClient.flush(); + toClient.close(); + fis.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 导入文件跳转 + * @return + */ + @RequestMapping(params = "toMigrate") + public ModelAndView toCgformMigrate(HttpServletRequest req) { + return new ModelAndView("jeecg/demo/jeecgDemo/cgformMigrateInclude"); + } + + /** + * 导出数据为xml + * @param request + * @param response + */ + @ResponseBody + @RequestMapping(params = "doMigrateIn") + public AjaxJson doMigrateIn(HttpServletRequest request,HttpServletResponse response){ + AjaxJson j = new AjaxJson(); + String ls_file = ""; + UploadFile uploadFile = new UploadFile(request, ls_file); + uploadFile.setCusPath(""); + uploadFile.setSwfpath(""); + String uploadbasepath = uploadFile.getBasePath();// 文件上传根目录 + if (uploadbasepath == null) { + uploadbasepath = ResourceUtil.getConfigByName("uploadpath"); + } + String path = uploadbasepath + "\\";// 文件保存在硬盘的相对路径 + String realPath = uploadFile.getMultipartRequest().getSession() + .getServletContext().getRealPath("\\") + + path;// 文件的硬盘真实路径 + message = null; + try { + File file = new File(realPath); + if (!file.exists()) { + file.mkdir();// 若目录不存在,创建根目录 + } + uploadFile.getMultipartRequest().setCharacterEncoding("UTF-8"); + MultipartHttpServletRequest multipartRequest = uploadFile + .getMultipartRequest(); + Map fileMap = multipartRequest.getFileMap(); + String fileName = ""; + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile mf = entity.getValue();// 获取上传文件对象 + fileName = mf.getOriginalFilename();// 获取文件名 + String savePath = realPath + fileName; + File savefile = new File(savePath); + String ls_tmp = savefile.getName(); + FileCopyUtils.copy(mf.getBytes(), savefile); + MigrateForm.unzip(savePath, ""); + String sqlFileDir = realPath + ls_tmp.substring(0, ls_tmp.lastIndexOf(".")); + File sqlDirFile = new File(sqlFileDir); + String sqlfilename = sqlDirFile.getPath() + "/"; + if(sqlDirFile.isDirectory()){ + sqlfilename += sqlDirFile.list()[0]; + } + XStream xStream = new XStream(); + xStream.processAnnotations(DBTable.class); + DBTable dbTable = (DBTable) xStream.fromXML(new File(sqlfilename)); + if(dbTable.getClass1() != null ){ + //List list = dbTable.getTableData(); + commonService.batchSave(dbTable.getTableData()); + /*org.jeecgframework.core.util.LogUtil.info(list.size()); + for (Object object : list) { + commonService.save(object); + }*/ + } + } + } catch (Exception e1) { + LogUtil.error(e1.toString()); + message = e1.toString(); + } + if (StringUtil.isNotEmpty(message)) + j.setMsg("SQL文件导入失败," + message); + else + j.setMsg("SQL文件导入成功"); + + return j; + } +} diff --git a/src/jeecg/demo/controller/test/JeecgEasyUIController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgEasyUIController.java similarity index 86% rename from src/jeecg/demo/controller/test/JeecgEasyUIController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgEasyUIController.java index fcf3b804..894f7d52 100644 --- a/src/jeecg/demo/controller/test/JeecgEasyUIController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgEasyUIController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.io.IOException; @@ -8,10 +8,10 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.JeecgJdbcEntity; -import jeecg.demo.service.test.JeecgJdbcServiceI; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JeecgJdbcEntity; +import org.jeecgframework.web.demo.service.test.JeecgJdbcServiceI; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import net.sf.json.JSONObject; import org.apache.log4j.Logger; @@ -30,7 +30,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @Title: Controller * @Description: 页面不用自定义标签 - * + *@author 张代浩 */ @Controller @RequestMapping("/jeecgEasyUIController") @@ -70,7 +70,6 @@ public class JeecgEasyUIController extends BaseController { departsReplace += depart.getDepartname() + "_" + depart.getId(); } request.setAttribute("departsReplace", departsReplace); - //return new ModelAndView("jeecg/demo/notag/jeecgEasyUIList"); return new ModelAndView("jeecg/demo/notag/jeecgEasyUIList"); } @@ -91,10 +90,14 @@ public class JeecgEasyUIController extends BaseController { this.jeecgJdbcService.getDatagrid1(jeecgJdbc, dataGrid); TagUtil.datagrid(response, dataGrid); // end of 方式1 ========================================= */ + + // 方式2, 取值自己处理(代码量多一些,但执行效率应该会稍高一些) ------------------------------- /* this.jeecgJdbcService.getDatagrid2(jeecgJdbc, dataGrid); TagUtil.datagrid(response, dataGrid); // end of 方式2 ========================================= */ + + // 方式3, 取值进一步自己处理(直接转换成easyUI的datagrid需要的东西,执行效率最高,最自由) ------------------------------- //* JSONObject jObject = this.jeecgJdbcService.getDatagrid3(jeecgJdbc, dataGrid); responseDatagrid(response, jObject); @@ -164,10 +167,13 @@ public class JeecgEasyUIController extends BaseController { } List departList = systemService.getList(TSDepart.class); req.setAttribute("departList", departList); - //return new ModelAndView("jeecg/demo/test/jeecgEasyUI"); return new ModelAndView("jeecg/demo/notag/jeecgEasyUI"); } + + + // ----------------------------------------------------------------------------------- // 以下各函数可以提成共用部件 (Add by Quainty) + // ----------------------------------------------------------------------------------- public void responseDatagrid(HttpServletResponse response, JSONObject jObject) { response.setContentType("application/json"); response.setHeader("Cache-Control", "no-store"); diff --git a/src/jeecg/demo/controller/test/JeecgJdbcController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgJdbcController.java similarity index 87% rename from src/jeecg/demo/controller/test/JeecgJdbcController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgJdbcController.java index 67b109df..b1d248c9 100644 --- a/src/jeecg/demo/controller/test/JeecgJdbcController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgJdbcController.java @@ -1,13 +1,13 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.JeecgJdbcEntity; -import jeecg.demo.service.test.JeecgJdbcServiceI; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JeecgJdbcEntity; +import org.jeecgframework.web.demo.service.test.JeecgJdbcServiceI; +import org.jeecgframework.web.system.service.SystemService; import net.sf.json.JSONObject; import org.apache.log4j.Logger; @@ -81,10 +81,14 @@ public class JeecgJdbcController extends BaseController { this.jeecgJdbcService.getDatagrid1(jeecgJdbc, dataGrid); TagUtil.datagrid(response, dataGrid); // end of 方式1 ========================================= */ + + // 方式2, 取值自己处理(代码量多一些,但执行效率应该会稍高一些) ------------------------------- /* this.jeecgJdbcService.getDatagrid2(jeecgJdbc, dataGrid); TagUtil.datagrid(response, dataGrid); // end of 方式2 ========================================= */ + + // 方式3, 取值进一步自己处理(直接转换成easyUI的datagrid需要的东西,执行效率最高,最自由) ------------------------------- //* JSONObject jObject = this.jeecgJdbcService.getDatagrid3(jeecgJdbc, dataGrid); responseDatagrid(response, jObject); @@ -154,7 +158,11 @@ public class JeecgJdbcController extends BaseController { } return new ModelAndView("jeecg/demo/test/jeecgJdbc"); } + + + // ----------------------------------------------------------------------------------- // 以下各函数可以提成共用部件 (Add by Quainty) + // ----------------------------------------------------------------------------------- public void responseDatagrid(HttpServletResponse response, JSONObject jObject) { response.setContentType("application/json"); response.setHeader("Cache-Control", "no-store"); @@ -168,7 +176,7 @@ public class JeecgJdbcController extends BaseController { } @RequestMapping(params = "dictParameter") public String dictParameter(){ - return "demo/jdbc/jdbc-list"; + return "jeecg/demo/base/jdbc/jdbc-list"; } /** diff --git a/src/jeecg/demo/controller/test/JeecgMatterBomController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgMatterBomController.java similarity index 96% rename from src/jeecg/demo/controller/test/JeecgMatterBomController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgMatterBomController.java index 16fdb9e9..957424fb 100644 --- a/src/jeecg/demo/controller/test/JeecgMatterBomController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgMatterBomController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.ArrayList; import java.util.List; @@ -6,9 +6,9 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.JeecgMatterBom; -import jeecg.demo.service.test.JeecgMatterBomServiceI; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JeecgMatterBom; +import org.jeecgframework.web.demo.service.test.JeecgMatterBomServiceI; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgMinidaoController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgMinidaoController.java new file mode 100644 index 00000000..dc49a91b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgMinidaoController.java @@ -0,0 +1,157 @@ +package org.jeecgframework.web.demo.controller.test; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.web.demo.entity.test.JeecgMinidaoEntity; +import org.jeecgframework.web.demo.service.test.JeecgMinidaoServiceI; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; + +import org.apache.log4j.Logger; +import org.jeecgframework.core.common.controller.BaseController; +import org.jeecgframework.core.common.model.json.AjaxJson; +import org.jeecgframework.core.common.model.json.DataGrid; +import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.MyBeanUtils; +import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.tag.core.easyui.TagUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +/** + * @Title: Controller + * @Description: Minidao例子 + * @author fancq + * @date 2013-12-23 21:18:59 + * @version V1.0 + * + */ +@Controller +@RequestMapping("/jeecgMinidaoController") +public class JeecgMinidaoController extends BaseController { + /** + * Logger for this class + */ + private static final Logger logger = Logger.getLogger(JeecgMinidaoController.class); + + @Autowired + private JeecgMinidaoServiceI jeecgMinidaoService; + @Autowired + private SystemService systemService; + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + /** + * Minidao例子列表 页面跳转 + * + * @return + */ + @RequestMapping(params = "jeecgMinidao") + public ModelAndView jeecgMinidao(HttpServletRequest request) { + return new ModelAndView("jeecg/demo/test/jeecgMinidaoList"); + } + + /** + * easyui AJAX请求数据 + * + * @param request + * @param response + * @param dataGrid + * @param user + */ + + @RequestMapping(params = "datagrid") + public void datagrid(JeecgMinidaoEntity jeecgMinidao,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { + List list = jeecgMinidaoService.listAll(jeecgMinidao, dataGrid.getPage(), dataGrid.getRows()); + Integer count = jeecgMinidaoService.getCount(); + dataGrid.setTotal(count); + dataGrid.setResults(list); + String total_salary = String.valueOf(jeecgMinidaoService.getSumSalary()); + /* + * 说明:格式为 字段名:值(可选,不写该值时为分页数据的合计) 多个合计 以 , 分割 + */ + dataGrid.setFooter("salary:"+(total_salary.equalsIgnoreCase("null")?"0.0":total_salary)+",age,email:合计"); + TagUtil.datagrid(response, dataGrid); + } + + /** + * 删除Minidao例子 + * + * @return + */ + @RequestMapping(params = "del") + @ResponseBody + public AjaxJson del(JeecgMinidaoEntity jeecgMinidao, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + jeecgMinidao = jeecgMinidaoService.getEntity(JeecgMinidaoEntity.class, jeecgMinidao.getId()); + message = "Minidao例子删除成功"; + jeecgMinidaoService.delete(jeecgMinidao); + systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); + + j.setMsg(message); + return j; + } + + + /** + * 添加Minidao例子 + * + * @param ids + * @return + */ + @RequestMapping(params = "save") + @ResponseBody + public AjaxJson save(JeecgMinidaoEntity jeecgMinidao, HttpServletRequest request) { + AjaxJson j = new AjaxJson(); + if (StringUtil.isNotEmpty(jeecgMinidao.getId())) { + message = "Minidao例子更新成功"; + JeecgMinidaoEntity t = jeecgMinidaoService.getEntity(JeecgMinidaoEntity.class, jeecgMinidao.getId()); + try { + MyBeanUtils.copyBeanNotNull2Bean(jeecgMinidao, t); + jeecgMinidaoService.update(t); + systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); + } catch (Exception e) { + e.printStackTrace(); + message = "Minidao例子更新失败"; + } + } else { + message = "Minidao例子添加成功"; + jeecgMinidao.setStatus("0"); + jeecgMinidaoService.insert(jeecgMinidao); + systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); + } + j.setMsg(message); + return j; + } + + /** + * Minidao例子列表页面跳转 + * + * @return + */ + @RequestMapping(params = "addorupdate") + public ModelAndView addorupdate(JeecgMinidaoEntity jeecgMinidao, HttpServletRequest req) { + //获取部门信息 + List departList = systemService.getList(TSDepart.class); + req.setAttribute("departList", departList); + + if (StringUtil.isNotEmpty(jeecgMinidao.getId())) { + jeecgMinidao = jeecgMinidaoService.getEntity(JeecgMinidaoEntity.class, jeecgMinidao.getId()); + req.setAttribute("jeecgMinidaoPage", jeecgMinidao); + } + return new ModelAndView("jeecg/demo/test/jeecgMinidao"); + } +} diff --git a/src/jeecg/demo/controller/test/JeecgNoteController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgNoteController.java similarity index 92% rename from src/jeecg/demo/controller/test/JeecgNoteController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgNoteController.java index 78ce8694..23d1fac3 100644 --- a/src/jeecg/demo/controller/test/JeecgNoteController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgNoteController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -18,16 +18,16 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; -import jeecg.demo.entity.test.JeecgNoteEntity; -import jeecg.demo.service.test.JeecgNoteServiceI; +import org.jeecgframework.web.demo.entity.test.JeecgNoteEntity; +import org.jeecgframework.web.demo.service.test.JeecgNoteServiceI; /** * @Title: Controller * @Description: 公告 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-12 14:06:34 * @version V1.0 * diff --git a/src/jeecg/demo/controller/test/JeecgOrderMainController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgOrderMainController.java similarity index 91% rename from src/jeecg/demo/controller/test/JeecgOrderMainController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgOrderMainController.java index 5d5525d0..b3058064 100644 --- a/src/jeecg/demo/controller/test/JeecgOrderMainController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgOrderMainController.java @@ -1,15 +1,15 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.JeecgOrderCustomEntity; -import jeecg.demo.entity.test.JeecgOrderMainEntity; -import jeecg.demo.entity.test.JeecgOrderProductEntity; -import jeecg.demo.page.JeecgOrderMainPage; -import jeecg.demo.service.test.JeecgOrderMainServiceI; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JeecgOrderCustomEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderMainEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderProductEntity; +import org.jeecgframework.web.demo.page.JeecgOrderMainPage; +import org.jeecgframework.web.demo.service.test.JeecgOrderMainServiceI; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -28,7 +28,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @Title: Controller * @Description: 订单信息 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-19 22:01:34 * @version V1.0 * diff --git a/src/jeecg/demo/controller/test/JeecgOrderMainNoTagController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgOrderMainNoTagController.java similarity index 91% rename from src/jeecg/demo/controller/test/JeecgOrderMainNoTagController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgOrderMainNoTagController.java index 759d39c3..d01cc9c9 100644 --- a/src/jeecg/demo/controller/test/JeecgOrderMainNoTagController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JeecgOrderMainNoTagController.java @@ -1,15 +1,15 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.JeecgOrderCustomEntity; -import jeecg.demo.entity.test.JeecgOrderMainEntity; -import jeecg.demo.entity.test.JeecgOrderProductEntity; -import jeecg.demo.page.JeecgOrderMainPage; -import jeecg.demo.service.test.JeecgOrderMainServiceI; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JeecgOrderCustomEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderMainEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderProductEntity; +import org.jeecgframework.web.demo.page.JeecgOrderMainPage; +import org.jeecgframework.web.demo.service.test.JeecgOrderMainServiceI; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -28,7 +28,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @Title: Controller * @Description: 订单信息 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-19 22:01:34 * @version V1.0 * diff --git a/src/jeecg/demo/controller/test/JpPersonController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JpPersonController.java similarity index 95% rename from src/jeecg/demo/controller/test/JpPersonController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JpPersonController.java index 58eb2bb7..08dbddf4 100644 --- a/src/jeecg/demo/controller/test/JpPersonController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/JpPersonController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; @@ -9,9 +9,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import jeecg.demo.entity.test.JpPersonEntity; -import jeecg.demo.service.test.JpPersonServiceI; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.JpPersonEntity; +import org.jeecgframework.web.demo.service.test.JpPersonServiceI; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -24,9 +24,9 @@ import org.jeecgframework.core.util.BrowserUtils; import org.jeecgframework.core.util.ExceptionUtil; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.core.util.UUIDGenerator; -import org.jeecgframework.excel.ExcelExportUtil; -import org.jeecgframework.excel.ExcelUtil; -import org.jeecgframework.excel.entity.ExcelTitle; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.ExcelUtil; +import org.jeecgframework.poi.excel.entity.ExcelTitle; import org.jeecgframework.tag.core.easyui.TagUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -40,7 +40,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @Title: Controller * @Description: Excel导出 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-23 21:45:28 * @version V1.0 * diff --git a/src/jeecg/demo/controller/test/OptimisticLockingController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/OptimisticLockingController.java similarity index 90% rename from src/jeecg/demo/controller/test/OptimisticLockingController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/OptimisticLockingController.java index 53499cff..a9fc4ee1 100644 --- a/src/jeecg/demo/controller/test/OptimisticLockingController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/OptimisticLockingController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -18,17 +18,17 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; -import jeecg.demo.entity.test.OptimisticLockingEntity; -import jeecg.demo.service.test.OptimisticLockingServiceI; +import org.jeecgframework.web.demo.entity.test.OptimisticLockingEntity; +import org.jeecgframework.web.demo.service.test.OptimisticLockingServiceI; /** * @Title: Controller * @Description: 乐观锁测试 - * @author zhangdaihao + * @author 张代浩 * @date 2013-06-24 14:46:42 * @version V1.0 * @@ -118,7 +118,7 @@ public class OptimisticLockingController extends BaseController { message = "更新成功"; OptimisticLockingEntity t = optimisticLockingService.get(OptimisticLockingEntity.class, optimisticLocking.getId()); try { - System.out.println("提交的版本号:"+optimisticLocking.getVer()+",当前版本号:"+t.getVer()); + org.jeecgframework.core.util.LogUtil.info("提交的版本号:"+optimisticLocking.getVer()+",当前版本号:"+t.getVer()); if(optimisticLocking.getVer()< t.getVer()){ j.setSuccess(false); j.setMsg("提交的数据已过期"); diff --git a/src/jeecg/demo/controller/test/ReportDemoController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/ReportDemoController.java similarity index 97% rename from src/jeecg/demo/controller/test/ReportDemoController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/ReportDemoController.java index cae2c53f..4c0a08e0 100644 --- a/src/jeecg/demo/controller/test/ReportDemoController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/ReportDemoController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.io.IOException; import java.io.OutputStreamWriter; @@ -12,7 +12,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.service.SystemService; import org.apache.batik.transcoder.Transcoder; import org.apache.batik.transcoder.TranscoderException; @@ -80,7 +80,7 @@ public class ReportDemoController extends BaseController { */ @RequestMapping(params = "studentStatisticTabs") public ModelAndView studentStatisticTabs(HttpServletRequest request) { - return new ModelAndView("demo/report/reportDemo"); + return new ModelAndView("jeecg/demo/base/report/reportDemo"); } diff --git a/src/jeecg/demo/controller/test/TFinanceController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/TFinanceController.java similarity index 94% rename from src/jeecg/demo/controller/test/TFinanceController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/TFinanceController.java index 65e15753..0ac02d21 100644 --- a/src/jeecg/demo/controller/test/TFinanceController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/TFinanceController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.util.HashMap; import java.util.Map; @@ -6,11 +6,11 @@ import javax.imageio.stream.FileCacheImageInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.demo.entity.test.TFinanceEntity; -import jeecg.demo.entity.test.TFinanceFilesEntity; -import jeecg.demo.service.test.TFinanceServiceI; -import jeecg.system.pojo.base.TSDocument; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.demo.entity.test.TFinanceEntity; +import org.jeecgframework.web.demo.entity.test.TFinanceFilesEntity; +import org.jeecgframework.web.demo.service.test.TFinanceServiceI; +import org.jeecgframework.web.system.pojo.base.TSDocument; +import org.jeecgframework.web.system.service.SystemService; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; @@ -35,7 +35,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @Title: Controller * @Description: 资金管理 - * @author zhangdaihao + * @author 张代浩 * @date 2013-06-27 00:10:59 * @version V1.0 * diff --git a/src/jeecg/demo/controller/test/UserNoPageController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/UserNoPageController.java similarity index 87% rename from src/jeecg/demo/controller/test/UserNoPageController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/UserNoPageController.java index 5794ddd3..dcf907fe 100644 --- a/src/jeecg/demo/controller/test/UserNoPageController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/UserNoPageController.java @@ -1,9 +1,9 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; -import jeecg.system.controller.core.UserController; -import jeecg.system.pojo.base.*; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.controller.core.UserController; +import org.jeecgframework.web.system.pojo.base.*; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.DataGrid; @@ -59,7 +59,7 @@ public class UserNoPageController { departsReplace += depart.getDepartname() + "_" + depart.getId(); } request.setAttribute("departsReplace", departsReplace); - return "demo/nopage/userList"; + return "jeecg/demo/base/nopage/userList"; } @RequestMapping(params = "datagridNoPage") public void datagridNoPage(TSUser user,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { diff --git a/src/jeecg/demo/controller/test/WebOfficeController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/WebOfficeController.java similarity index 92% rename from src/jeecg/demo/controller/test/WebOfficeController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/WebOfficeController.java index 4042976b..d633abd2 100644 --- a/src/jeecg/demo/controller/test/WebOfficeController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/controller/test/WebOfficeController.java @@ -1,4 +1,4 @@ -package jeecg.demo.controller.test; +package org.jeecgframework.web.demo.controller.test; import java.io.BufferedOutputStream; import java.io.InputStream; import java.sql.Blob; @@ -25,18 +25,18 @@ import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.ExceptionUtil; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; -import jeecg.demo.entity.test.JeecgBlobDataEntity; -import jeecg.demo.entity.test.WebOfficeEntity; -import jeecg.demo.service.test.WebOfficeServiceI; +import org.jeecgframework.web.demo.entity.test.JeecgBlobDataEntity; +import org.jeecgframework.web.demo.entity.test.WebOfficeEntity; +import org.jeecgframework.web.demo.service.test.WebOfficeServiceI; /** * @Title: Controller * @Description: WebOffice例子 - * @author zhangdaihao + * @author 张代浩 * @date 2013-07-08 10:54:19 * @version V1.0 * @@ -73,6 +73,15 @@ public class WebOfficeController extends BaseController { public ModelAndView webOffice(HttpServletRequest request) { return new ModelAndView("jeecg/demo/test/webOfficeList"); } + + /** + * 方法描述: 官方示例 + * 作 者: yiming.zhang + * 日 期: Nov 30, 2013-11:18:26 AM + * @param request + * @return + * 返回类型: ModelAndView + */ @RequestMapping(params = "webOfficeSample") public ModelAndView webOfficeSample(HttpServletRequest request) { return new ModelAndView("jeecg/demo/test/webOfficeSample"); diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/dao/test/JeecgMinidaoDao.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/dao/test/JeecgMinidaoDao.java new file mode 100644 index 00000000..dd82d109 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/dao/test/JeecgMinidaoDao.java @@ -0,0 +1,45 @@ +package org.jeecgframework.web.demo.dao.test; + +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.demo.entity.test.JeecgMinidaoEntity; + +import org.jeecgframework.minidao.annotation.Arguments; +import org.jeecgframework.minidao.annotation.MiniDao; +import org.jeecgframework.minidao.annotation.ResultType; +import org.jeecgframework.minidao.annotation.Sql; +import org.jeecgframework.minidao.hibernate.MiniDaoSupportHiber; + +/** + * Minidao例子 + * @author fancq + * + */ +@MiniDao +public interface JeecgMinidaoDao extends MiniDaoSupportHiber { + @Arguments({"jeecgMinidao", "page", "rows"}) + public List getAllEntities(JeecgMinidaoEntity jeecgMinidao, int page, int rows); + + @Arguments({"jeecgMinidao", "page", "rows"}) + @ResultType("org.jeecgframework.web.demo.entity.test.JeecgMinidaoEntity") + public List getAllEntities2(JeecgMinidaoEntity jeecgMinidao, int page, int rows); + + //@Arguments("id") + //JeecgMinidaoEntity getJeecgMinidao(String id); + + @Sql("SELECT count(*) FROM jeecg_minidao") + Integer getCount(); + + @Sql("SELECT SUM(salary) FROM jeecg_minidao") + Integer getSumSalary(); + + /*@Arguments("jeecgMinidao") + int update(JeecgMinidaoEntity jeecgMinidao); + + @Arguments("jeecgMinidao") + void insert(JeecgMinidaoEntity jeecgMinidao); + + @Arguments("jeecgMinidao") + void delete(JeecgMinidaoEntity jeecgMinidao);*/ +} diff --git a/src/jeecg/demo/entity/test/CKEditorEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/CKEditorEntity.java similarity index 95% rename from src/jeecg/demo/entity/test/CKEditorEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/CKEditorEntity.java index 9da30fe4..0c6de9b2 100644 --- a/src/jeecg/demo/entity/test/CKEditorEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/CKEditorEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -15,7 +15,7 @@ import javax.persistence.SequenceGenerator; /** * @Title: Entity * @Description: HTML 编辑器 - * @author zhangdaihao + * @author 张代浩 * @date 2013-07-08 16:19:21 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/CourseEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/CourseEntity.java similarity index 89% rename from src/jeecg/demo/entity/test/CourseEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/CourseEntity.java index 92209eac..92cfa9ac 100644 --- a/src/jeecg/demo/entity/test/CourseEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/CourseEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.util.List; @@ -14,10 +14,10 @@ import javax.persistence.Table; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.GenericGenerator; -import org.jeecgframework.excel.annotation.Excel; -import org.jeecgframework.excel.annotation.ExcelCollection; -import org.jeecgframework.excel.annotation.ExcelEntity; -import org.jeecgframework.excel.annotation.ExcelTarget; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; +import org.jeecgframework.poi.excel.annotation.ExcelEntity; +import org.jeecgframework.poi.excel.annotation.ExcelTarget; /** diff --git a/src/jeecg/demo/entity/test/JeecgBlobDataEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgBlobDataEntity.java similarity index 98% rename from src/jeecg/demo/entity/test/JeecgBlobDataEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgBlobDataEntity.java index c53692ce..c27b4ef1 100644 --- a/src/jeecg/demo/entity/test/JeecgBlobDataEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgBlobDataEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.sql.Blob; @@ -13,7 +13,7 @@ import org.hibernate.annotations.GenericGenerator; /** * @Title: Entity * @Description: Blob型数据操作例子 - * @author zhangdaihao + * @author 张代浩 * @date 2013-06-07 14:46:09 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/JeecgDemo.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgDemo.java similarity index 92% rename from src/jeecg/demo/entity/test/JeecgDemo.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgDemo.java index 387fd765..6b79c58e 100644 --- a/src/jeecg/demo/entity/test/JeecgDemo.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgDemo.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -34,9 +34,9 @@ public class JeecgDemo extends IdEntity implements java.io.Serializable { /**生日*/ private Date birthday; /**创建时间*/ - private Date createTime; + private Date createDate; /**性别*/ - private java.lang.Integer sex; + private java.lang.String sex; /**部门ID*/ private java.lang.String depId; /**用户名*/ @@ -155,24 +155,24 @@ public class JeecgDemo extends IdEntity implements java.io.Serializable { *方法: 取得java.sql.Timestamp *@return: java.sql.Timestamp 创建时间 */ - @Column(name ="CREATE_TIME",nullable=true) - public Date getCreateTime(){ - return this.createTime; + @Column(name ="create_date",nullable=true) + public Date getCreateDate(){ + return this.createDate; } /** *方法: 设置Date *@param: Date 创建时间 */ - public void setCreateTime(Date createTime){ - this.createTime = createTime; + public void setCreateDate(Date createDate){ + this.createDate = createDate; } /** *方法: 取得java.lang.Integer *@return: java.lang.Integer 性别 */ @Column(name ="SEX",nullable=true) - public java.lang.Integer getSex(){ + public java.lang.String getSex(){ return this.sex; } @@ -180,7 +180,7 @@ public class JeecgDemo extends IdEntity implements java.io.Serializable { *方法: 设置java.lang.Integer *@param: java.lang.Integer 性别 */ - public void setSex(java.lang.Integer sex){ + public void setSex(java.lang.String sex){ this.sex = sex; } /** diff --git a/src/jeecg/demo/entity/test/JeecgDemoCkfinderEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgDemoCkfinderEntity.java similarity index 98% rename from src/jeecg/demo/entity/test/JeecgDemoCkfinderEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgDemoCkfinderEntity.java index eaa22086..2c5487ea 100644 --- a/src/jeecg/demo/entity/test/JeecgDemoCkfinderEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgDemoCkfinderEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import javax.persistence.Basic; import javax.persistence.Column; diff --git a/src/jeecg/demo/entity/test/JeecgJdbcEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgJdbcEntity.java similarity index 98% rename from src/jeecg/demo/entity/test/JeecgJdbcEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgJdbcEntity.java index b88b26a6..d1e65cc4 100644 --- a/src/jeecg/demo/entity/test/JeecgJdbcEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgJdbcEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -15,7 +15,7 @@ import javax.persistence.SequenceGenerator; /** * @Title: Entity * @Description: 通过JDBC访问数据库 - * @author zhangdaihao + * @author 张代浩 * @date 2013-05-20 13:18:38 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/JeecgMatterBom.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgMatterBom.java similarity index 99% rename from src/jeecg/demo/entity/test/JeecgMatterBom.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgMatterBom.java index 49bf0c2f..c512d19c 100644 --- a/src/jeecg/demo/entity/test/JeecgMatterBom.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgMatterBom.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.ArrayList; diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgMinidaoEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgMinidaoEntity.java new file mode 100644 index 00000000..3c03cfc4 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgMinidaoEntity.java @@ -0,0 +1,268 @@ +package org.jeecgframework.web.demo.entity.test; + +import java.math.BigDecimal; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.hibernate.annotations.GenericGenerator; + +/** + * @Title: Entity + * @Description: Minidao例子 + * @author 张代浩 + * @date 2013-12-23 21:18:59 + * @version V1.0 + * + */ +@Entity +@Table(name = "jeecg_minidao", schema = "") +@DynamicUpdate(true) +@DynamicInsert(true) +@SuppressWarnings("serial") +public class JeecgMinidaoEntity implements java.io.Serializable { + /**主键*/ + private java.lang.String id; + /**年龄*/ + private java.lang.Integer age; + /**生日*/ + private java.util.Date birthday; + /**说明*/ + private java.lang.String content; + /**创建时间*/ + private java.util.Date createTime; + /**部门*/ + private java.lang.String depId; + /**电子邮箱*/ + private java.lang.String email; + /**手机*/ + private java.lang.String mobilePhone; + /**办公电话*/ + private java.lang.String officePhone; + /**工资*/ + private BigDecimal salary; + /**性别*/ + private java.lang.Integer sex; + /**状态*/ + private java.lang.String status; + /**用户名*/ + private java.lang.String userName; + + /** + *方法: 取得java.lang.String + *@return: java.lang.String 主键 + */ + + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="ID",nullable=false,length=32) + public java.lang.String getId(){ + return this.id; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 主键 + */ + public void setId(java.lang.String id){ + this.id = id; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 年龄 + */ + @Column(name ="AGE",nullable=true,precision=10,scale=0) + public java.lang.Integer getAge(){ + return this.age; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 年龄 + */ + public void setAge(java.lang.Integer age){ + this.age = age; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 生日 + */ + @Column(name ="BIRTHDAY",nullable=true) + public java.util.Date getBirthday(){ + return this.birthday; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 生日 + */ + public void setBirthday(java.util.Date birthday){ + this.birthday = birthday; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 说明 + */ + @Column(name ="CONTENT",nullable=true,length=255) + public java.lang.String getContent(){ + return this.content; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 说明 + */ + public void setContent(java.lang.String content){ + this.content = content; + } + /** + *方法: 取得java.util.Date + *@return: java.util.Date 创建时间 + */ + @Column(name ="CREATE_TIME",nullable=true) + public java.util.Date getCreateTime(){ + return this.createTime; + } + + /** + *方法: 设置java.util.Date + *@param: java.util.Date 创建时间 + */ + public void setCreateTime(java.util.Date createTime){ + this.createTime = createTime; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 部门 + */ + @Column(name ="DEP_ID",nullable=true,length=255) + public java.lang.String getDepId(){ + return this.depId; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 部门 + */ + public void setDepId(java.lang.String depId){ + this.depId = depId; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 电子邮箱 + */ + @Column(name ="EMAIL",nullable=true,length=255) + public java.lang.String getEmail(){ + return this.email; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 电子邮箱 + */ + public void setEmail(java.lang.String email){ + this.email = email; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 手机 + */ + @Column(name ="MOBILE_PHONE",nullable=true,length=255) + public java.lang.String getMobilePhone(){ + return this.mobilePhone; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 手机 + */ + public void setMobilePhone(java.lang.String mobilePhone){ + this.mobilePhone = mobilePhone; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 办公电话 + */ + @Column(name ="OFFICE_PHONE",nullable=true,length=255) + public java.lang.String getOfficePhone(){ + return this.officePhone; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 办公电话 + */ + public void setOfficePhone(java.lang.String officePhone){ + this.officePhone = officePhone; + } + /** + *方法: 取得BigDecimal + *@return: BigDecimal 工资 + */ + @Column(name ="SALARY",nullable=true,precision=19,scale=2) + public BigDecimal getSalary(){ + return this.salary; + } + + /** + *方法: 设置BigDecimal + *@param: BigDecimal 工资 + */ + public void setSalary(BigDecimal salary){ + this.salary = salary; + } + /** + *方法: 取得java.lang.Integer + *@return: java.lang.Integer 性别 + */ + @Column(name ="SEX",nullable=true,precision=10,scale=0) + public java.lang.Integer getSex(){ + return this.sex; + } + + /** + *方法: 设置java.lang.Integer + *@param: java.lang.Integer 性别 + */ + public void setSex(java.lang.Integer sex){ + this.sex = sex; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 状态 + */ + @Column(name ="STATUS",nullable=true,length=255) + public java.lang.String getStatus(){ + return this.status; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 状态 + */ + public void setStatus(java.lang.String status){ + this.status = status; + } + /** + *方法: 取得java.lang.String + *@return: java.lang.String 用户名 + */ + @Column(name ="USER_NAME",nullable=false,length=255) + public java.lang.String getUserName(){ + return this.userName; + } + + /** + *方法: 设置java.lang.String + *@param: java.lang.String 用户名 + */ + public void setUserName(java.lang.String userName){ + this.userName = userName; + } +} diff --git a/src/jeecg/demo/entity/test/JeecgNoteEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgNoteEntity.java similarity index 97% rename from src/jeecg/demo/entity/test/JeecgNoteEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgNoteEntity.java index cd3ae486..036895bd 100644 --- a/src/jeecg/demo/entity/test/JeecgNoteEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgNoteEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -15,7 +15,7 @@ import javax.persistence.SequenceGenerator; /** * @Title: Entity * @Description: 公告 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-12 14:06:35 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/JeecgOrderCustomEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderCustomEntity.java similarity index 99% rename from src/jeecg/demo/entity/test/JeecgOrderCustomEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderCustomEntity.java index c97d0995..a8412d43 100644 --- a/src/jeecg/demo/entity/test/JeecgOrderCustomEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderCustomEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import javax.persistence.Column; import javax.persistence.Entity; @@ -11,7 +11,7 @@ import org.hibernate.annotations.GenericGenerator; /** * @Title: Entity * @Description: 订单客户信息 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-19 22:14:01 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/JeecgOrderMainEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderMainEntity.java similarity index 99% rename from src/jeecg/demo/entity/test/JeecgOrderMainEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderMainEntity.java index 324ed227..9d858d46 100644 --- a/src/jeecg/demo/entity/test/JeecgOrderMainEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderMainEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; @@ -13,7 +13,7 @@ import org.hibernate.annotations.GenericGenerator; /** * @Title: Entity * @Description: 订单信息 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-19 22:01:34 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/JeecgOrderProductEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderProductEntity.java similarity index 99% rename from src/jeecg/demo/entity/test/JeecgOrderProductEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderProductEntity.java index c0498f04..2c246bdd 100644 --- a/src/jeecg/demo/entity/test/JeecgOrderProductEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JeecgOrderProductEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; @@ -13,7 +13,7 @@ import org.hibernate.annotations.GenericGenerator; /** * @Title: Entity * @Description: 订单产品信息 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-19 22:15:01 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/JpPersonEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JpPersonEntity.java similarity index 94% rename from src/jeecg/demo/entity/test/JpPersonEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JpPersonEntity.java index eb630322..7e233400 100644 --- a/src/jeecg/demo/entity/test/JpPersonEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/JpPersonEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.text.DateFormat; @@ -12,12 +12,12 @@ import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; -import org.jeecgframework.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.Excel; /** * @Title: Entity * @Description: Excel导出 - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-23 21:45:28 * @version V1.0 * @@ -43,7 +43,6 @@ public class JpPersonEntity implements java.io.Serializable { /**工资*/ @Excel(exportName="工资", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0) private BigDecimal salary; - //add-begin--Author:Quainty Date:20130524 for:[8]excel导出时间问题 static DateFormat dateFormaterCreatedt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); static DateFormat dateFormaterBirthday = new SimpleDateFormat("yyyy-MM-dd"); public String convertGetCreatedt() { @@ -76,7 +75,6 @@ public class JpPersonEntity implements java.io.Serializable { } } } - //add-end--Author:Quainty Date:20130524 for:[8]excel导出时间问题 /** *方法: 取得java.lang.String *@return: java.lang.String id diff --git a/src/jeecg/demo/entity/test/OptimisticLockingEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/OptimisticLockingEntity.java similarity index 97% rename from src/jeecg/demo/entity/test/OptimisticLockingEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/OptimisticLockingEntity.java index c7c77633..6a48b569 100644 --- a/src/jeecg/demo/entity/test/OptimisticLockingEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/OptimisticLockingEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -19,7 +19,7 @@ import javax.persistence.SequenceGenerator; /** * @Title: Entity * @Description: 乐观锁测试 - * @author zhangdaihao + * @author 张代浩 * @date 2013-06-24 14:46:42 * @version V1.0 * diff --git a/src/jeecg/demo/entity/test/StudentEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/StudentEntity.java similarity index 86% rename from src/jeecg/demo/entity/test/StudentEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/StudentEntity.java index 65a0f7bd..8560aa05 100644 --- a/src/jeecg/demo/entity/test/StudentEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/StudentEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -16,7 +16,7 @@ import javax.persistence.Table; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.GenericGenerator; -import org.jeecgframework.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.Excel; import javax.persistence.SequenceGenerator; @@ -42,6 +42,9 @@ public class StudentEntity implements java.io.Serializable { /**学生性别*/ @Excel(exportName="学生性别",imExConvert=1) private java.lang.String sex; + + @Excel(exportName="出生日期",exportFormat="yyyy-MM-dd HH:mm:ss",importFormat="yyyy-MM-dd HH:mm:ss") + private Date birthday; /**课程主键*/ private CourseEntity course; @@ -114,4 +117,12 @@ public class StudentEntity implements java.io.Serializable { public void convertSetSex(String sex ){ this.sex = sex.equals("男生")?"0":"1"; } + @Column(name ="BIRTHDAY",nullable=true) + public Date getBirthday() { + return birthday; + } + + public void setBirthday(Date birthday) { + this.birthday = birthday; + } } diff --git a/src/jeecg/demo/entity/test/TFinanceEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TFinanceEntity.java similarity index 99% rename from src/jeecg/demo/entity/test/TFinanceEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TFinanceEntity.java index fdb0c406..099d8682 100644 --- a/src/jeecg/demo/entity/test/TFinanceEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TFinanceEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.util.List; diff --git a/src/jeecg/demo/entity/test/TFinanceFilesEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TFinanceFilesEntity.java similarity index 89% rename from src/jeecg/demo/entity/test/TFinanceFilesEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TFinanceFilesEntity.java index 154f0f1d..518a7e72 100644 --- a/src/jeecg/demo/entity/test/TFinanceFilesEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TFinanceFilesEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import javax.persistence.CascadeType; import javax.persistence.Entity; @@ -8,7 +8,7 @@ import javax.persistence.ManyToOne; import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.Table; -import jeecg.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.pojo.base.TSAttachment; /** * @Title: Entity diff --git a/src/jeecg/demo/entity/test/TSStudent.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TSStudent.java similarity index 93% rename from src/jeecg/demo/entity/test/TSStudent.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TSStudent.java index 7ca97707..1e8397fa 100644 --- a/src/jeecg/demo/entity/test/TSStudent.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TSStudent.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import javax.persistence.Column; import javax.persistence.Entity; diff --git a/src/jeecg/demo/entity/test/TeacherEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TeacherEntity.java similarity index 95% rename from src/jeecg/demo/entity/test/TeacherEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TeacherEntity.java index 54fd44fe..1009ae7d 100644 --- a/src/jeecg/demo/entity/test/TeacherEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/TeacherEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.math.BigDecimal; import java.util.Date; @@ -14,7 +14,7 @@ import org.apache.commons.lang.StringUtils; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.GenericGenerator; -import org.jeecgframework.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.Excel; import javax.persistence.SequenceGenerator; diff --git a/src/jeecg/demo/entity/test/WebOfficeEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/WebOfficeEntity.java similarity index 97% rename from src/jeecg/demo/entity/test/WebOfficeEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/WebOfficeEntity.java index 940780f5..fbf190fe 100644 --- a/src/jeecg/demo/entity/test/WebOfficeEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/entity/test/WebOfficeEntity.java @@ -1,4 +1,4 @@ -package jeecg.demo.entity.test; +package org.jeecgframework.web.demo.entity.test; import java.sql.Blob; @@ -12,7 +12,7 @@ import javax.persistence.Table; /** * @Title: Entity * @Description: WebOffice例子 - * @author zhangdaihao + * @author 张代浩 * @date 2013-07-08 10:54:19 * @version V1.0 * diff --git a/src/jeecg/demo/page/JeecgOrderMainPage.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/page/JeecgOrderMainPage.java similarity index 83% rename from src/jeecg/demo/page/JeecgOrderMainPage.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/page/JeecgOrderMainPage.java index c0fd5ba4..87f26df7 100644 --- a/src/jeecg/demo/page/JeecgOrderMainPage.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/page/JeecgOrderMainPage.java @@ -1,15 +1,15 @@ -package jeecg.demo.page; +package org.jeecgframework.web.demo.page; import java.util.ArrayList; import java.util.List; -import jeecg.demo.entity.test.JeecgOrderCustomEntity; -import jeecg.demo.entity.test.JeecgOrderProductEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderCustomEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderProductEntity; /** * @Title: Entity * @Description: 订单信息 VO - * @author zhangdaihao + * @author 张代浩 * @date 2013-03-19 22:01:34 * @version V1.0 * diff --git a/src/jeecg/demo/service/impl/test/CourseServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/CourseServiceImpl.java similarity index 74% rename from src/jeecg/demo/service/impl/test/CourseServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/CourseServiceImpl.java index 913a4897..b3516169 100644 --- a/src/jeecg/demo/service/impl/test/CourseServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/CourseServiceImpl.java @@ -1,18 +1,18 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import jeecg.demo.entity.test.CourseEntity; -import jeecg.demo.entity.test.StudentEntity; -import jeecg.demo.service.test.CourseServiceI; +import org.jeecgframework.web.demo.entity.test.CourseEntity; +import org.jeecgframework.web.demo.entity.test.StudentEntity; +import org.jeecgframework.web.demo.service.test.CourseServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @Service("courseService") @Transactional public class CourseServiceImpl extends CommonServiceImpl implements CourseServiceI { - @Override + public void saveCourse(CourseEntity course) { this.save(course.getTeacher()); this.save(course); @@ -23,7 +23,7 @@ public class CourseServiceImpl extends CommonServiceImpl implements CourseServic } - @Override + public void updateCourse(CourseEntity course) { this.updateEntitie(course); this.updateEntitie(course.getTeacher()); diff --git a/src/jeecg/demo/service/impl/test/JeecgBlobDataServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgBlobDataServiceImpl.java similarity index 84% rename from src/jeecg/demo/service/impl/test/JeecgBlobDataServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgBlobDataServiceImpl.java index ae2f2a5a..28934146 100644 --- a/src/jeecg/demo/service/impl/test/JeecgBlobDataServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgBlobDataServiceImpl.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import java.io.IOException; import java.sql.Blob; @@ -7,8 +7,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import jeecg.demo.entity.test.JeecgBlobDataEntity; -import jeecg.demo.service.test.JeecgBlobDataServiceI; +import org.jeecgframework.web.demo.entity.test.JeecgBlobDataEntity; +import org.jeecgframework.web.demo.service.test.JeecgBlobDataServiceI; import org.hibernate.LobHelper; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @@ -16,7 +16,7 @@ import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @Service("jeecgBlobDataService") @Transactional public class JeecgBlobDataServiceImpl extends CommonServiceImpl implements JeecgBlobDataServiceI { - @Override + public void saveObj(String documentTitle, MultipartFile file) { JeecgBlobDataEntity obj = new JeecgBlobDataEntity(); LobHelper lobHelper = commonDao.getSession().getLobHelper(); diff --git a/src/jeecg/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.java similarity index 72% rename from src/jeecg/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.java index 7cbd956a..830e36af 100644 --- a/src/jeecg/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgDemoCkfinderServiceImpl.java @@ -1,9 +1,9 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import jeecg.demo.service.test.JeecgDemoCkfinderServiceI; +import org.jeecgframework.web.demo.service.test.JeecgDemoCkfinderServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @Service("jeecgDemoCkfinderService") diff --git a/src/jeecg/demo/service/impl/test/JeecgDemoServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgDemoServiceImpl.java similarity index 72% rename from src/jeecg/demo/service/impl/test/JeecgDemoServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgDemoServiceImpl.java index 1fd8292d..2aea598a 100644 --- a/src/jeecg/demo/service/impl/test/JeecgDemoServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgDemoServiceImpl.java @@ -1,6 +1,6 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; -import jeecg.demo.service.test.JeecgDemoServiceI; +import org.jeecgframework.web.demo.service.test.JeecgDemoServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.springframework.stereotype.Service; diff --git a/src/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgJdbcServiceImpl.java similarity index 93% rename from src/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgJdbcServiceImpl.java index 1227b6ef..04935247 100644 --- a/src/jeecg/demo/service/impl/test/JeecgJdbcServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgJdbcServiceImpl.java @@ -1,12 +1,12 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; -import jeecg.demo.entity.test.JeecgJdbcEntity; -import jeecg.demo.service.test.JeecgJdbcServiceI; +import org.jeecgframework.web.demo.entity.test.JeecgJdbcEntity; +import org.jeecgframework.web.demo.service.test.JeecgJdbcServiceI; import net.sf.json.JSONObject; import org.jeecgframework.core.common.dao.jdbc.JdbcDao; @@ -29,7 +29,7 @@ public class JeecgJdbcServiceImpl extends CommonServiceImpl implements JeecgJdbc // 实际上只有query的条件,以及dataGrid里的分页的数据 // 方式1, 用底层自带的方式往对象中设值 ------------------- - @Override + public void getDatagrid1(JeecgJdbcEntity pageObj, DataGrid dataGrid) { //* String sqlWhere = getSqlWhere(pageObj); @@ -55,7 +55,9 @@ public class JeecgJdbcServiceImpl extends CommonServiceImpl implements JeecgJdbc dataGrid.setTotal(iCount.intValue()); } // end of 方式1 ========================================= */ - @Override + + // 方式2, 取值自己处理(代码量多一些,但执行效率应该会稍高一些) ------------------------------- + public void getDatagrid2(JeecgJdbcEntity pageObj, DataGrid dataGrid) { String sqlWhere = getSqlWhere(pageObj); @@ -109,7 +111,8 @@ public class JeecgJdbcServiceImpl extends CommonServiceImpl implements JeecgJdbc // end of 方式2 ========================================= */ // 推荐方法 - @Override + // 方式3, 取值进一步自己处理(直接转换成easyUI的datagrid需要的东西,执行效率最高,最自由) ------------------------------- + public JSONObject getDatagrid3(JeecgJdbcEntity pageObj, DataGrid dataGrid) { String sqlWhere = getSqlWhere(pageObj); @@ -161,7 +164,10 @@ public class JeecgJdbcServiceImpl extends CommonServiceImpl implements JeecgJdbc } return sqlWhere; } + + // ----------------------------------------------------------------------------------- // 以下各函数可以提成共用部件 (Add by Quainty) + // ----------------------------------------------------------------------------------- /** * 返回easyUI的DataGrid数据格式的JSONObject对象 * @param mapList : 从数据库直接取得的结果集列表 @@ -273,7 +279,7 @@ public class JeecgJdbcServiceImpl extends CommonServiceImpl implements JeecgJdbc } } - @Override + public void listAllByJdbc(DataGrid dataGrid) { //从对应路径中,获取SQL [/jeecg/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql] String sql = JeecgSqlUtil.getMethodSql(JeecgSqlUtil.getMethodUrl()); diff --git a/src/jeecg/demo/service/impl/test/JeecgMatterBomServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgMatterBomServiceImpl.java similarity index 80% rename from src/jeecg/demo/service/impl/test/JeecgMatterBomServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgMatterBomServiceImpl.java index 109e1f1a..a49a6f35 100644 --- a/src/jeecg/demo/service/impl/test/JeecgMatterBomServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgMatterBomServiceImpl.java @@ -1,6 +1,6 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; -import jeecg.demo.service.test.JeecgMatterBomServiceI; +import org.jeecgframework.web.demo.service.test.JeecgMatterBomServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.springframework.stereotype.Service; diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgMinidaoServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgMinidaoServiceImpl.java new file mode 100644 index 00000000..43770fd6 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgMinidaoServiceImpl.java @@ -0,0 +1,57 @@ +package org.jeecgframework.web.demo.service.impl.test; + +import java.util.List; +import org.jeecgframework.web.demo.dao.test.JeecgMinidaoDao; +import org.jeecgframework.web.demo.entity.test.JeecgMinidaoEntity; +import org.jeecgframework.web.demo.service.test.JeecgMinidaoServiceI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Minidao例子 + * @author fancq + * + */ +@Service("jeecgMinidaoService") +@Transactional +public class JeecgMinidaoServiceImpl implements JeecgMinidaoServiceI { + @Autowired + private JeecgMinidaoDao jeecgMinidaoDao; + + public List listAll(JeecgMinidaoEntity jeecgMinidao, int page, int rows) { + List entities = jeecgMinidaoDao.getAllEntities2(jeecgMinidao, page, rows); + return entities; + } + + public JeecgMinidaoEntity getEntity(Class clazz, String id) { + JeecgMinidaoEntity jeecgMinidao = (JeecgMinidaoEntity)jeecgMinidaoDao.getByIdHiber(clazz, id); + return jeecgMinidao; + } + + public void insert(JeecgMinidaoEntity jeecgMinidao) { + jeecgMinidaoDao.saveByHiber(jeecgMinidao); + } + + public void update(JeecgMinidaoEntity jeecgMinidao) { + jeecgMinidaoDao.updateByHiber(jeecgMinidao); + } + + public void delete(JeecgMinidaoEntity jeecgMinidao) { + jeecgMinidaoDao.deleteByHiber(jeecgMinidao); + } + + public void deleteAllEntitie(List entities) { + for (JeecgMinidaoEntity entity : entities) { + jeecgMinidaoDao.deleteByHiber(entity); + } + } + + public Integer getCount() { + return jeecgMinidaoDao.getCount(); + } + + public Integer getSumSalary() { + return jeecgMinidaoDao.getSumSalary(); + } +} \ No newline at end of file diff --git a/src/jeecg/demo/service/impl/test/JeecgNoteServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgNoteServiceImpl.java similarity index 72% rename from src/jeecg/demo/service/impl/test/JeecgNoteServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgNoteServiceImpl.java index 902eb9a0..2c37456c 100644 --- a/src/jeecg/demo/service/impl/test/JeecgNoteServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgNoteServiceImpl.java @@ -1,9 +1,9 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import jeecg.demo.service.test.JeecgNoteServiceI; +import org.jeecgframework.web.demo.service.test.JeecgNoteServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @Service("jeecgNoteService") diff --git a/src/jeecg/demo/service/impl/test/JeecgOrderMainServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgOrderMainServiceImpl.java similarity index 87% rename from src/jeecg/demo/service/impl/test/JeecgOrderMainServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgOrderMainServiceImpl.java index 62bc5fb1..4ac3a869 100644 --- a/src/jeecg/demo/service/impl/test/JeecgOrderMainServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JeecgOrderMainServiceImpl.java @@ -1,11 +1,11 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import java.util.List; -import jeecg.demo.entity.test.JeecgOrderCustomEntity; -import jeecg.demo.entity.test.JeecgOrderMainEntity; -import jeecg.demo.entity.test.JeecgOrderProductEntity; -import jeecg.demo.service.test.JeecgOrderMainServiceI; +import org.jeecgframework.web.demo.entity.test.JeecgOrderCustomEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderMainEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderProductEntity; +import org.jeecgframework.web.demo.service.test.JeecgOrderMainServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.springframework.stereotype.Service; @@ -15,7 +15,7 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class JeecgOrderMainServiceImpl extends CommonServiceImpl implements JeecgOrderMainServiceI { - @Override + public void addMain(JeecgOrderMainEntity jeecgOrderMain, List jeecgOrderProducList, List jeecgOrderCustomList){ @@ -35,7 +35,7 @@ public class JeecgOrderMainServiceImpl extends CommonServiceImpl implements Jeec } } - @Override + public void updateMain(JeecgOrderMainEntity jeecgOrderMain, List jeecgOrderProducList, List jeecgOrderCustomList, @@ -62,7 +62,7 @@ public class JeecgOrderMainServiceImpl extends CommonServiceImpl implements Jeec } } - @Override + public void delMain(JeecgOrderMainEntity jeecgOrderMain) { //删除主表信息 this.delete(jeecgOrderMain); diff --git a/src/jeecg/demo/service/impl/test/JpPersonServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JpPersonServiceImpl.java similarity index 72% rename from src/jeecg/demo/service/impl/test/JpPersonServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JpPersonServiceImpl.java index 5f1da761..f593fe90 100644 --- a/src/jeecg/demo/service/impl/test/JpPersonServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/JpPersonServiceImpl.java @@ -1,9 +1,9 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import jeecg.demo.service.test.JpPersonServiceI; +import org.jeecgframework.web.demo.service.test.JpPersonServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @Service("jpPersonService") diff --git a/src/jeecg/demo/service/impl/test/OptimisticLockingServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/OptimisticLockingServiceImpl.java similarity index 75% rename from src/jeecg/demo/service/impl/test/OptimisticLockingServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/OptimisticLockingServiceImpl.java index 76190848..754805af 100644 --- a/src/jeecg/demo/service/impl/test/OptimisticLockingServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/OptimisticLockingServiceImpl.java @@ -1,7 +1,7 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; -import jeecg.demo.entity.test.OptimisticLockingEntity; -import jeecg.demo.service.test.OptimisticLockingServiceI; +import org.jeecgframework.web.demo.entity.test.OptimisticLockingEntity; +import org.jeecgframework.web.demo.service.test.OptimisticLockingServiceI; import org.hibernate.Session; import org.hibernate.Transaction; @@ -19,13 +19,13 @@ public class OptimisticLockingServiceImpl extends CommonServiceImpl implements O OptimisticLockingEntity stu2=this.get(OptimisticLockingEntity.class, "2c91992b3f74fd05013f74fda0260001"); //这时候,两个版本号是相同的 - System.out.println("v1="+stu1.getVer()+"--v2="+stu2.getVer()); + org.jeecgframework.core.util.LogUtil.info("v1="+stu1.getVer()+"--v2="+stu2.getVer()); Transaction tx1=session1.beginTransaction(); stu1.setAccount(200); tx1.commit(); //这时候,两个版本号是不同的,其中一个的版本号递增了 - System.out.println("v1="+stu1.getVer()+"--v2="+stu2.getVer()); + org.jeecgframework.core.util.LogUtil.info("v1="+stu1.getVer()+"--v2="+stu2.getVer()); Transaction tx2=session2.beginTransaction(); stu2.setAccount(500); diff --git a/src/jeecg/demo/service/impl/test/TFinanceServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/TFinanceServiceImpl.java similarity index 86% rename from src/jeecg/demo/service/impl/test/TFinanceServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/TFinanceServiceImpl.java index ef4a7c40..f2abef48 100644 --- a/src/jeecg/demo/service/impl/test/TFinanceServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/TFinanceServiceImpl.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import org.jeecgframework.core.util.ContextHolderUtils; import org.jeecgframework.core.util.FileUtils; @@ -7,10 +7,10 @@ import org.jeecgframework.core.util.ResourceUtil; import java.util.List; import java.util.Map; -import jeecg.demo.entity.test.TFinanceEntity; -import jeecg.demo.entity.test.TFinanceFilesEntity; -import jeecg.demo.service.test.TFinanceServiceI; -import jeecg.system.pojo.base.TSAttachment; +import org.jeecgframework.web.demo.entity.test.TFinanceEntity; +import org.jeecgframework.web.demo.entity.test.TFinanceFilesEntity; +import org.jeecgframework.web.demo.service.test.TFinanceServiceI; +import org.jeecgframework.web.system.pojo.base.TSAttachment; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.springframework.stereotype.Service; diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/TaskDemoServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/TaskDemoServiceImpl.java new file mode 100644 index 00000000..6bbab916 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/TaskDemoServiceImpl.java @@ -0,0 +1,17 @@ +package org.jeecgframework.web.demo.service.impl.test; + +import java.util.Date; + +import org.springframework.stereotype.Service; + +import org.jeecgframework.web.demo.service.test.TaskDemoServiceI; +@Service("taskDemoService") +public class TaskDemoServiceImpl implements TaskDemoServiceI { + + + public void work() { + org.jeecgframework.core.util.LogUtil.info(new Date().getTime()); + org.jeecgframework.core.util.LogUtil.info("----------任务测试-------"); + } + +} diff --git a/src/jeecg/demo/service/impl/test/WebOfficeServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/WebOfficeServiceImpl.java similarity index 87% rename from src/jeecg/demo/service/impl/test/WebOfficeServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/WebOfficeServiceImpl.java index 2be5e552..8ed7c559 100644 --- a/src/jeecg/demo/service/impl/test/WebOfficeServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/impl/test/WebOfficeServiceImpl.java @@ -1,11 +1,11 @@ -package jeecg.demo.service.impl.test; +package org.jeecgframework.web.demo.service.impl.test; import java.io.IOException; import java.sql.Blob; import java.util.Date; -import jeecg.demo.entity.test.WebOfficeEntity; -import jeecg.demo.service.test.WebOfficeServiceI; +import org.jeecgframework.web.demo.entity.test.WebOfficeEntity; +import org.jeecgframework.web.demo.service.test.WebOfficeServiceI; import org.hibernate.LobHelper; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @@ -18,7 +18,7 @@ import org.springframework.web.multipart.MultipartFile; @Service("webOfficeService") @Transactional public class WebOfficeServiceImpl extends CommonServiceImpl implements WebOfficeServiceI { - @Override + public void saveObj(WebOfficeEntity docObj, MultipartFile file) { WebOfficeEntity obj = null; if (StringUtil.isNotEmpty(docObj.getId())) { diff --git a/src/jeecg/demo/service/test/CourseServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/CourseServiceI.java similarity index 77% rename from src/jeecg/demo/service/test/CourseServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/CourseServiceI.java index d3ae3cdb..7fee4683 100644 --- a/src/jeecg/demo/service/test/CourseServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/CourseServiceI.java @@ -1,6 +1,6 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; -import jeecg.demo.entity.test.CourseEntity; +import org.jeecgframework.web.demo.entity.test.CourseEntity; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/JeecgBlobDataServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgBlobDataServiceI.java similarity index 83% rename from src/jeecg/demo/service/test/JeecgBlobDataServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgBlobDataServiceI.java index 9b57bfd0..0cb3ba0c 100644 --- a/src/jeecg/demo/service/test/JeecgBlobDataServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgBlobDataServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; import org.springframework.web.multipart.MultipartFile; diff --git a/src/jeecg/demo/service/test/JeecgDemoCkfinderServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgDemoCkfinderServiceI.java similarity index 72% rename from src/jeecg/demo/service/test/JeecgDemoCkfinderServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgDemoCkfinderServiceI.java index ac9569dc..b8049124 100644 --- a/src/jeecg/demo/service/test/JeecgDemoCkfinderServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgDemoCkfinderServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/JeecgDemoServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgDemoServiceI.java similarity index 71% rename from src/jeecg/demo/service/test/JeecgDemoServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgDemoServiceI.java index ba7bc371..260e0bcb 100644 --- a/src/jeecg/demo/service/test/JeecgDemoServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgDemoServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/JeecgJdbcServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgJdbcServiceI.java similarity index 80% rename from src/jeecg/demo/service/test/JeecgJdbcServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgJdbcServiceI.java index 9a66f81c..0589f94e 100644 --- a/src/jeecg/demo/service/test/JeecgJdbcServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgJdbcServiceI.java @@ -1,6 +1,6 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; -import jeecg.demo.entity.test.JeecgJdbcEntity; +import org.jeecgframework.web.demo.entity.test.JeecgJdbcEntity; import net.sf.json.JSONObject; import org.jeecgframework.core.common.model.json.DataGrid; diff --git a/src/jeecg/demo/service/test/JeecgMatterBomServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgMatterBomServiceI.java similarity index 85% rename from src/jeecg/demo/service/test/JeecgMatterBomServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgMatterBomServiceI.java index 88fca686..eeb6e079 100644 --- a/src/jeecg/demo/service/test/JeecgMatterBomServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgMatterBomServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgMinidaoServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgMinidaoServiceI.java new file mode 100644 index 00000000..8feb251f --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgMinidaoServiceI.java @@ -0,0 +1,28 @@ +package org.jeecgframework.web.demo.service.test; + +import java.util.List; + +import org.jeecgframework.web.demo.entity.test.JeecgMinidaoEntity; + +/** + * Minidao例子 + * @author fancq + * + */ +public interface JeecgMinidaoServiceI { + public List listAll(JeecgMinidaoEntity jeecgMinidao, int page, int rows); + + public JeecgMinidaoEntity getEntity(Class clazz, String id); + + public void insert(JeecgMinidaoEntity jeecgMinidao); + + public void update(JeecgMinidaoEntity jeecgMinidao); + + public void delete(JeecgMinidaoEntity jeecgMinidao); + + public void deleteAllEntitie(List entities); + + public Integer getCount(); + + public Integer getSumSalary(); +} diff --git a/src/jeecg/demo/service/test/JeecgNoteServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgNoteServiceI.java similarity index 71% rename from src/jeecg/demo/service/test/JeecgNoteServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgNoteServiceI.java index f44bea57..daf5862d 100644 --- a/src/jeecg/demo/service/test/JeecgNoteServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgNoteServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/JeecgOrderMainServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgOrderMainServiceI.java similarity index 70% rename from src/jeecg/demo/service/test/JeecgOrderMainServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgOrderMainServiceI.java index 0b554ec9..f700ef85 100644 --- a/src/jeecg/demo/service/test/JeecgOrderMainServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JeecgOrderMainServiceI.java @@ -1,10 +1,10 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import java.util.List; -import jeecg.demo.entity.test.JeecgOrderCustomEntity; -import jeecg.demo.entity.test.JeecgOrderMainEntity; -import jeecg.demo.entity.test.JeecgOrderProductEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderCustomEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderMainEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderProductEntity; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/JpPersonServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JpPersonServiceI.java similarity index 71% rename from src/jeecg/demo/service/test/JpPersonServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JpPersonServiceI.java index 5bac7373..89d1ff00 100644 --- a/src/jeecg/demo/service/test/JpPersonServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/JpPersonServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/OptimisticLockingServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/OptimisticLockingServiceI.java similarity index 75% rename from src/jeecg/demo/service/test/OptimisticLockingServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/OptimisticLockingServiceI.java index f6800545..0b988ccf 100644 --- a/src/jeecg/demo/service/test/OptimisticLockingServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/OptimisticLockingServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/TFinanceServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/TFinanceServiceI.java similarity index 54% rename from src/jeecg/demo/service/test/TFinanceServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/TFinanceServiceI.java index 0abdeac6..9a7874b4 100644 --- a/src/jeecg/demo/service/test/TFinanceServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/TFinanceServiceI.java @@ -1,7 +1,7 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; -import jeecg.demo.entity.test.TFinanceEntity; -import jeecg.demo.entity.test.TFinanceFilesEntity; +import org.jeecgframework.web.demo.entity.test.TFinanceEntity; +import org.jeecgframework.web.demo.entity.test.TFinanceFilesEntity; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/demo/service/test/TaskDemoServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/TaskDemoServiceI.java similarity index 55% rename from src/jeecg/demo/service/test/TaskDemoServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/TaskDemoServiceI.java index 4c9c4afd..d629d215 100644 --- a/src/jeecg/demo/service/test/TaskDemoServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/TaskDemoServiceI.java @@ -1,4 +1,4 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; public interface TaskDemoServiceI { diff --git a/src/jeecg/demo/service/test/WebOfficeServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/WebOfficeServiceI.java similarity index 68% rename from src/jeecg/demo/service/test/WebOfficeServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/WebOfficeServiceI.java index 3589526b..3da6176e 100644 --- a/src/jeecg/demo/service/test/WebOfficeServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/service/test/WebOfficeServiceI.java @@ -1,6 +1,6 @@ -package jeecg.demo.service.test; +package org.jeecgframework.web.demo.service.test; -import jeecg.demo.entity.test.WebOfficeEntity; +import org.jeecgframework.web.demo.entity.test.WebOfficeEntity; import org.jeecgframework.core.common.service.CommonService; import org.springframework.web.multipart.MultipartFile; diff --git a/WebRoot/WEB-INF/classes/jeecg/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql rename to jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_delete.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_delete.sql new file mode 100644 index 00000000..4d4f5c4b --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_delete.sql @@ -0,0 +1,2 @@ +DELETE jeecg_minidao +WHERE id=:jeecgMinidao.id \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getAllEntities.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getAllEntities.sql new file mode 100644 index 00000000..33a2dc74 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getAllEntities.sql @@ -0,0 +1,25 @@ +SELECT * FROM jeecg_minidao WHERE 1=1 +<#if jeecgMinidao.userName ?exists && jeecgMinidao.userName ?length gt 0> + and user_name = :jeecgMinidao.userName + +<#if jeecgMinidao.mobilePhone ?exists && jeecgMinidao.mobilePhone ?length gt 0> + and mobile_phone = :jeecgMinidao.mobilePhone + +<#if jeecgMinidao.officePhone ?exists && jeecgMinidao.officePhone ?length gt 0> + and office_phone = :jeecgMinidao.officePhone + +<#if jeecgMinidao.email ?exists && jeecgMinidao.email ?length gt 0> + and email = :jeecgMinidao.email + +<#if jeecgMinidao.age ?exists && jeecgMinidao.age ?length gt 0> + and age = :jeecgMinidao.age + +<#if jeecgMinidao.salary ?exists && jeecgMinidao.salary ?length gt 0> + and salary = :jeecgMinidao.salary + +<#if jeecgMinidao.sex ?exists && jeecgMinidao.sex ?length gt 0> + and sex = :jeecgMinidao.sex + +<#if jeecgMinidao.status ?exists && jeecgMinidao.status ?length gt 0> + and status = :jeecgMinidao.status + diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getAllEntities2.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getAllEntities2.sql new file mode 100644 index 00000000..33a2dc74 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getAllEntities2.sql @@ -0,0 +1,25 @@ +SELECT * FROM jeecg_minidao WHERE 1=1 +<#if jeecgMinidao.userName ?exists && jeecgMinidao.userName ?length gt 0> + and user_name = :jeecgMinidao.userName + +<#if jeecgMinidao.mobilePhone ?exists && jeecgMinidao.mobilePhone ?length gt 0> + and mobile_phone = :jeecgMinidao.mobilePhone + +<#if jeecgMinidao.officePhone ?exists && jeecgMinidao.officePhone ?length gt 0> + and office_phone = :jeecgMinidao.officePhone + +<#if jeecgMinidao.email ?exists && jeecgMinidao.email ?length gt 0> + and email = :jeecgMinidao.email + +<#if jeecgMinidao.age ?exists && jeecgMinidao.age ?length gt 0> + and age = :jeecgMinidao.age + +<#if jeecgMinidao.salary ?exists && jeecgMinidao.salary ?length gt 0> + and salary = :jeecgMinidao.salary + +<#if jeecgMinidao.sex ?exists && jeecgMinidao.sex ?length gt 0> + and sex = :jeecgMinidao.sex + +<#if jeecgMinidao.status ?exists && jeecgMinidao.status ?length gt 0> + and status = :jeecgMinidao.status + diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getJeecgDemo.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getJeecgDemo.sql new file mode 100644 index 00000000..9aa42e60 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_getJeecgDemo.sql @@ -0,0 +1 @@ +SELECT * FROM jeecg_minidao WHERE id=:id \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_insert.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_insert.sql new file mode 100644 index 00000000..e51e7756 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_insert.sql @@ -0,0 +1,14 @@ +INSERT INTO jeecg_minidao(id, age, birthday, content, dep_id, email, mobile_phone, office_phone, salary, sex, user_name) +VALUES( + :jeecgMinidao.id, + :jeecgMinidao.age, + :jeecgMinidao.birthday, + :jeecgMinidao.content, + :jeecgMinidao.depId, + :jeecgMinidao.email, + :jeecgMinidao.mobilePhone, + :jeecgMinidao.officePhone, + :jeecgMinidao.salary, + :jeecgMinidao.sex, + :jeecgMinidao.userName +) \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_update.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_update.sql new file mode 100644 index 00000000..174eba80 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/demo/sql/test/JeecgMinidaoDao_update.sql @@ -0,0 +1,3 @@ +UPDATE jeecg_minidao +SET age=:jeecgMinidao.age, userName=:jeecgMinidao.userName +WHERE id=:jeecgMinidao.id \ No newline at end of file diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/rest/controller/UserRestController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/rest/controller/UserRestController.java new file mode 100644 index 00000000..f0276e05 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/rest/controller/UserRestController.java @@ -0,0 +1,101 @@ +package org.jeecgframework.web.rest.controller; + +import java.net.URI; +import java.util.List; +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.Validator; + +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.UserService; + +import org.jeecgframework.core.beanvalidator.BeanValidators; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.util.UriComponentsBuilder; + +/** + * TSUser的Restful API的Controller. + * + * @author liuht + */ +@Controller +@RequestMapping(value = "/user") +public class UserRestController { + + @Autowired + private UserService userService; + + @Autowired + private Validator validator; + + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + public List list() { + List listUsers=userService.getList(TSUser.class); + return listUsers; + } + + @RequestMapping(value = "/{id}", method = RequestMethod.GET) + @ResponseBody + public ResponseEntity get(@PathVariable("id") Long id) { + TSUser task = userService.get(TSUser.class, id); + if (task == null) { + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + return new ResponseEntity(task, HttpStatus.OK); + } + + @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public ResponseEntity create(@RequestBody TSUser user, UriComponentsBuilder uriBuilder) { + //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. + Set> failures = validator.validate(user); + if (!failures.isEmpty()) { + return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); + } + + //保存用户 + userService.save(user); + + //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象. + String id = user.getId(); + URI uri = uriBuilder.path("/rest/user/" + id).build().toUri(); + HttpHeaders headers = new HttpHeaders(); + headers.setLocation(uri); + + return new ResponseEntity(headers, HttpStatus.CREATED); + } + + @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity update(@RequestBody TSUser user) { + //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. + Set> failures = validator.validate(user); + if (!failures.isEmpty()) { + return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); + } + + //保存 + userService.saveOrUpdate(user); + + //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码. + return new ResponseEntity(HttpStatus.NO_CONTENT); + } + + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) + @ResponseStatus(HttpStatus.NO_CONTENT) + public void delete(@PathVariable("id") Long id) { + userService.deleteEntityById(TSUser.class, id); + } +} diff --git a/src/jeecg/system/controller/core/CommonController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/CommonController.java similarity index 97% rename from src/jeecg/system/controller/core/CommonController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/CommonController.java index 3fd701f1..4747271e 100644 --- a/src/jeecg/system/controller/core/CommonController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/CommonController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.io.File; import java.io.IOException; @@ -8,8 +8,8 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSAttachment; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -41,7 +41,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 通用业务处理 * - * @author Administrator + * @author 张代浩 * */ @Controller @@ -76,7 +76,7 @@ public class CommonController extends BaseController { @RequestMapping(params = "openViewFile") public ModelAndView openViewFile(HttpServletRequest request) { String fileid = request.getParameter("fileid"); - String subclassname = oConvertUtils.getString(request.getParameter("subclassname"), "com.jeecg.base.pojo.TSAttachment"); + String subclassname = oConvertUtils.getString(request.getParameter("subclassname"), "org.jeecgframework.web.system.pojo.base.TSAttachment"); String contentfield = oConvertUtils.getString(request.getParameter("contentfield")); Class fileClass = MyClassLoader.getClassByScn(subclassname);// 附件的实际类 Object fileobj = systemService.getEntity(fileClass, fileid); diff --git a/src/jeecg/system/controller/core/ConfigController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/ConfigController.java similarity index 95% rename from src/jeecg/system/controller/core/ConfigController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/ConfigController.java index 6c788a8f..4a04fc07 100644 --- a/src/jeecg/system/controller/core/ConfigController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/ConfigController.java @@ -1,10 +1,10 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSConfig; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSConfig; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -25,7 +25,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 配置信息处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller diff --git a/src/jeecg/system/controller/core/DataSourceController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DataSourceController.java similarity index 90% rename from src/jeecg/system/controller/core/DataSourceController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DataSourceController.java index 2f1e1183..7550c13f 100644 --- a/src/jeecg/system/controller/core/DataSourceController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DataSourceController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; @@ -12,7 +12,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 数据库管理 * - * @author songsw + * @author 张代浩 * */ @Controller diff --git a/src/jeecg/system/controller/core/DepartController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DepartController.java similarity index 75% rename from src/jeecg/system/controller/core/DepartController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DepartController.java index 2e84b885..a3c1c2dd 100644 --- a/src/jeecg/system/controller/core/DepartController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DepartController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.util.ArrayList; import java.util.List; @@ -6,22 +6,29 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.pojo.base.TSDemo; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.log4j.Logger; +import org.hibernate.criterion.DetachedCriteria; +import org.hibernate.criterion.Restrictions; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.ComboTree; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.common.model.json.TreeGrid; import org.jeecgframework.core.constant.Globals; +import org.jeecgframework.core.util.RoletoJson; import org.jeecgframework.core.util.StringUtil; +import org.jeecgframework.core.util.oConvertUtils; import org.jeecgframework.tag.core.easyui.TagUtil; +import org.jeecgframework.tag.vo.easyui.ComboTreeModel; import org.jeecgframework.tag.vo.easyui.TreeGridModel; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,7 +38,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 部门信息处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller @@ -151,7 +158,6 @@ public class DepartController { return j; } - //add-begin--Author:liutao Date:20130405 for:部门管理的添加处理逻辑 @RequestMapping(params = "add") public ModelAndView add(TSDepart depart, HttpServletRequest req) { List departList = systemService.getList(TSDepart.class); @@ -167,7 +173,6 @@ public class DepartController { } return new ModelAndView("system/depart/depart"); } - //add-end--Author:liutao Date:20130405 for:部门管理的添加处理逻辑 /** * 部门列表页面跳转 * @@ -198,16 +203,20 @@ public class DepartController { @ResponseBody public List setPFunction(HttpServletRequest request, ComboTree comboTree) { CriteriaQuery cq = new CriteriaQuery(TSDepart.class); + if(null != request.getParameter("selfId")){ + cq.notEq("id", request.getParameter("selfId")); + } if (comboTree.getId() != null) { cq.eq("TSPDepart.id", comboTree.getId()); } if (comboTree.getId() == null) { - cq.isNull("TDepart"); + cq.isNull("TSPDepart"); } cq.add(); List departsList = systemService.getListByCriteriaQuery(cq, false); List comboTrees = new ArrayList(); - comboTrees = systemService.comTree(departsList, comboTree); + ComboTreeModel comboTreeModel = new ComboTreeModel("id", "departname", "TSDeparts"); + comboTrees = systemService.ComboTree(departsList, comboTreeModel, null); return comboTrees; } @@ -256,5 +265,50 @@ public class DepartController { treeGrids = systemService.treegrid(departList, treeGridModel); return treeGrids; } - + //---- + /** + * 方法描述: 查看成员列表 + * 作 者: yiming.zhang + * 日 期: Dec 4, 2013-8:53:39 PM + * @param request + * @param departid + * @return + * 返回类型: ModelAndView + */ + @RequestMapping(params = "userList") + public ModelAndView userList(HttpServletRequest request, String departid) { + request.setAttribute("departid", departid); + return new ModelAndView("system/depart/departUserList"); + } + + /** + * 方法描述: 成员列表dataGrid + * 作 者: yiming.zhang + * 日 期: Dec 4, 2013-10:40:17 PM + * @param user + * @param request + * @param response + * @param dataGrid + * 返回类型: void + */ + @RequestMapping(params = "userDatagrid") + public void userDatagrid(TSUser user,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { + CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid); + //查询条件组装器 + org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user); + String departid = oConvertUtils.getString(request.getParameter("departid")); + if (!StringUtil.isEmpty(departid)) { + DetachedCriteria dc = cq.getDetachedCriteria(); + DetachedCriteria dcDepart = dc.createCriteria("TSDepart"); + dcDepart.add(Restrictions.eq("id", departid)); + } + Short[] userstate = new Short[] { Globals.User_Normal, Globals.User_ADMIN }; + cq.in("status", userstate); + cq.add(); + this.systemService.getDataGridReturn(cq, true); + TagUtil.datagrid(response, dataGrid); + } + //---- + + } diff --git a/src/jeecg/system/controller/core/DuplicateCheckAction.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DuplicateCheckAction.java similarity index 86% rename from src/jeecg/system/controller/core/DuplicateCheckAction.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DuplicateCheckAction.java index 19d095c7..9b904ddf 100644 --- a/src/jeecg/system/controller/core/DuplicateCheckAction.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/DuplicateCheckAction.java @@ -1,7 +1,7 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import javax.servlet.http.HttpServletRequest; -import jeecg.system.pojo.base.DuplicateCheckPage; +import org.jeecgframework.web.system.pojo.base.DuplicateCheckPage; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -16,11 +16,9 @@ import org.springframework.web.bind.annotation.ResponseBody; /** * @Title: Action * @Description: 校验工具Action - * @author zhangdaihao + * @author 张代浩 * @date 2013-09-12 22:27:30 * @version V1.0 - *update-begin--Author:yankang Date:201309012 for:[TASK#63]UI库常用控件参考示例【重复校验】 - *update-end--Author:yankang Date:20130912 for:[TASK#63]UI库常用控件参考示例【重复校验】 */ @Controller @RequestMapping("/duplicateCheckAction") diff --git a/src/jeecg/system/controller/core/FunctionController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/FunctionController.java similarity index 87% rename from src/jeecg/system/controller/core/FunctionController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/FunctionController.java index 1a51ba4d..b9843862 100644 --- a/src/jeecg/system/controller/core/FunctionController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/FunctionController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.util.ArrayList; import java.util.List; @@ -6,11 +6,11 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSIcon; -import jeecg.system.pojo.base.TSOperation; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.pojo.base.TSOperation; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -36,7 +36,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 菜单权限处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller @@ -83,7 +83,11 @@ public class FunctionController extends BaseController { */ @RequestMapping(params = "operation") public ModelAndView operation(HttpServletRequest request, String functionId) { + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- request.setAttribute("functionId", functionId); + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- return new ModelAndView("system/operation/operationList"); } @@ -117,10 +121,14 @@ public class FunctionController extends BaseController { public void opdategrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(TSOperation.class, dataGrid); + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- String functionId = oConvertUtils.getString(request .getParameter("functionId")); cq.eq("TSFunction.id", functionId); cq.add(); + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- this.systemService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } @@ -193,10 +201,14 @@ public class FunctionController extends BaseController { @ResponseBody public AjaxJson saveFunction(TSFunction function, HttpServletRequest request) { AjaxJson j = new AjaxJson(); + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- String functionOrder = function.getFunctionOrder(); if (StringUtils.isEmpty(functionOrder)) { function.setFunctionOrder("0"); } + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- if (function.getTSFunction().getId().equals("")) { function.setTSFunction(null); } else { @@ -210,9 +222,14 @@ public class FunctionController extends BaseController { userService.saveOrUpdate(function); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- systemService.flushRoleFunciton(function.getId(), function); + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + } else { if (function.getFunctionLevel().equals(Globals.Function_Leave_ONE)) { List functionList = systemService.findByProperty( @@ -325,6 +342,10 @@ public class FunctionController extends BaseController { public List functionGrid(HttpServletRequest request, TreeGrid treegrid) { CriteriaQuery cq = new CriteriaQuery(TSFunction.class); + String selfId = request.getParameter("selfId"); + if(selfId != null){ + cq.notEq("id", selfId); + } if (treegrid.getId() != null) { cq.eq("TSFunction.id", treegrid.getId()); } @@ -379,6 +400,9 @@ public class FunctionController extends BaseController { public List setPFunction(HttpServletRequest request, ComboTree comboTree) { CriteriaQuery cq = new CriteriaQuery(TSFunction.class); + if(null != request.getParameter("selfId")){ + cq.notEq("id", request.getParameter("selfId")); + } if (comboTree.getId() != null) { cq.eq("TSFunction.id", comboTree.getId()); } diff --git a/src/jeecg/system/controller/core/IconController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/IconController.java similarity index 96% rename from src/jeecg/system/controller/core/IconController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/IconController.java index 46e75b8e..77c67bbe 100644 --- a/src/jeecg/system/controller/core/IconController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/IconController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; @@ -13,10 +13,10 @@ import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSIcon; -import jeecg.system.pojo.base.TSOperation; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.pojo.base.TSOperation; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; @@ -38,7 +38,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 图标信息处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller @@ -99,8 +99,7 @@ public class IconController extends BaseController { @RequestMapping(params = "saveOrUpdateIcon", method = RequestMethod.POST) @ResponseBody public AjaxJson saveOrUpdateIcon(HttpServletRequest request) throws Exception { - AjaxJson j = new AjaxJson(); - + AjaxJson j = new AjaxJson(); TSIcon icon = new TSIcon(); Short iconType = oConvertUtils.getShort(request.getParameter("iconType")); String iconName = oConvertUtils.getString(request.getParameter("iconName")); @@ -124,9 +123,7 @@ public class IconController extends BaseController { message = "上传成功"; j.setMsg(message); return j; - } - - + } /** * 没有上传文件时更新信息 * @@ -157,7 +154,6 @@ public class IconController extends BaseController { j.setMsg(message); return j; } - /** * 添加图标样式 * diff --git a/src/jeecg/system/controller/core/IconImageUtil.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/IconImageUtil.java similarity index 96% rename from src/jeecg/system/controller/core/IconImageUtil.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/IconImageUtil.java index e4f81b9c..1f466188 100644 --- a/src/jeecg/system/controller/core/IconImageUtil.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/IconImageUtil.java @@ -1,6 +1,6 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; -import jeecg.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.pojo.base.TSIcon; import org.jeecgframework.core.common.model.json.DataGrid; import javax.imageio.stream.FileImageOutputStream; diff --git a/src/jeecg/system/controller/core/LogController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/LogController.java similarity index 96% rename from src/jeecg/system/controller/core/LogController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/LogController.java index 1a8dafa3..5d2266c9 100644 --- a/src/jeecg/system/controller/core/LogController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/LogController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.io.IOException; import java.io.OutputStreamWriter; @@ -12,8 +12,8 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSLog; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSLog; +import org.jeecgframework.web.system.service.SystemService; import org.apache.batik.transcoder.Transcoder; import org.apache.batik.transcoder.TranscoderException; @@ -39,7 +39,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 日志处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller @@ -195,8 +195,7 @@ public class LogController extends BaseController { try { t.transcode(input, output); } catch (TranscoderException e) { - out - .print("Problem transcoding stream. See the web logs for more details."); + out.print("Problem transcoding stream. See the web logs for more details."); e.printStackTrace(); } } else if (ext.equals("svg")) { diff --git a/src/jeecg/system/controller/core/LoginController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/LoginController.java similarity index 56% rename from src/jeecg/system/controller/core/LoginController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/LoginController.java index f0e071cb..d28f5086 100644 --- a/src/jeecg/system/controller/core/LoginController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/LoginController.java @@ -1,27 +1,29 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import jeecg.system.manager.ClientManager; -import jeecg.system.pojo.base.Client; -import jeecg.system.pojo.base.TSConfig; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSRole; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.manager.ClientManager; +import org.jeecgframework.web.system.pojo.base.Client; +import org.jeecgframework.web.system.pojo.base.TSConfig; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -42,7 +44,7 @@ import org.springframework.web.servlet.view.RedirectView; /** * 登陆初始化控制器 - * + * @author 张代浩 * */ @Controller @@ -52,6 +54,7 @@ public class LoginController { private SystemService systemService; private UserService userService; private String message = null; + private Map> shortcutFunctionMap = null; @Autowired public void setSystemService(SystemService systemService) { @@ -159,10 +162,12 @@ public class LoginController { roles = roles.substring(0, roles.length() - 1); } request.setAttribute("roleName", roles); - request.setAttribute("userName", user.getRealName()); + request.setAttribute("userName", user.getUserName()); request.getSession().setAttribute("CKFinder_UserRole", "admin"); + //获取一级菜单列表 + request.setAttribute("primaryMenuList", getPrimaryMenu(rUsers)); // 默认风格 - String indexStyle = "default"; + String indexStyle = "shortcut"; Cookie[] cookies = request.getCookies(); for (Cookie cookie : cookies) { if (cookie == null || StringUtils.isEmpty(cookie.getName())) { @@ -177,7 +182,11 @@ public class LoginController { && indexStyle.equalsIgnoreCase("bootstrap")) { return "main/bootstrap_main"; } - + if (StringUtils.isNotEmpty(indexStyle) + && indexStyle.equalsIgnoreCase("shortcut")) { + return "main/shortcut_main"; + } + return "main/main"; } else { return "login/login"; @@ -196,6 +205,8 @@ public class LoginController { public ModelAndView logout(HttpServletRequest request) { HttpSession session = ContextHolderUtils.getSession(); TSUser user = ResourceUtil.getSessionUserName(); + shortcutFunctionMap = null; + systemService.addLog("用户" + user.getUserName() + "已退出", Globals.Log_Type_EXIT, Globals.Log_Leavel_INFO); ClientManager.getInstance().removeClinet(session.getId()); @@ -326,4 +337,145 @@ public class LoginController { } return new ModelAndView("main/bootstrap_top"); } + /** + * @Title: top + * @author gaofeng + * @Description: shortcut头部菜单请求 + * @param request + * @return ModelAndView + * @throws + */ + @RequestMapping(params = "shortcut_top") + public ModelAndView shortcut_top(HttpServletRequest request) { + TSUser user = ResourceUtil.getSessionUserName(); + HttpSession session = ContextHolderUtils.getSession(); + // 登陆者的权限 + if (user.getId() == null) { + session.removeAttribute(Globals.USER_SESSION); + return new ModelAndView( + new RedirectView("loginController.do?login")); + } + request.setAttribute("menuMap", getFunctionMap(user)); + List configs = userService.loadAll(TSConfig.class); + for (TSConfig tsConfig : configs) { + request.setAttribute(tsConfig.getCode(), tsConfig.getContents()); + } + return new ModelAndView("main/shortcut_top"); + } + + /** + * @Title: top + * @author:gaofeng + * @Description: shortcut头部菜单一级菜单列表,并将其用ajax传到页面,实现动态控制一级菜单列表 + * @param request + * @return AjaxJson + * @throws + */ + public String getPrimaryMenu(List rUsers) { + + //获取一级菜单列表 + Map> functionMap = new HashMap>(); + if(shortcutFunctionMap != null){ + + //将更新前的菜单数据传过来 + functionMap = shortcutFunctionMap; + }else{ + functionMap = getPrimaryMenuBase(rUsers); + } + + String floor = ""; + List primaryMenu = null; + Iterator>> it = functionMap.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry pairs = (Map.Entry) it.next(); + primaryMenu = (List) pairs.getValue(); + + for (TSFunction function : primaryMenu) { +// org.jeecgframework.core.util.LogUtil.info(function.getFunctionName()); +// org.jeecgframework.core.util.LogUtil.info(function.getFunctionLevel()); + if(function.getFunctionLevel() == 0){ + + if("Online 开发".equals(function.getFunctionName())){ + + floor += "
  • " + + " " + "
  • "; + }else if("统计查询".equals(function.getFunctionName())){ + + floor += "
  • " + + " " + "
  • "; + }else if("系统管理".equals(function.getFunctionName())){ + + floor += "
  • " + + " " + "
  • "; + }else if("常用示例".equals(function.getFunctionName())){ + + floor += "
  • " + + " " + "
  • "; + }else if("系统监控".equals(function.getFunctionName())){ + + floor += "
  • " + + " " + "
  • "; + }else{ + //其他的为默认通用的图片模式 + String s = ""; + if(function.getFunctionName().length()>=5 && function.getFunctionName().length()<7){ + s = "
    "+ function.getFunctionName() +"
    "; + }else if(function.getFunctionName().length()<5){ + s = "
    "+ function.getFunctionName() +"
    "; + }else if(function.getFunctionName().length()>=7){ + s = "
    "+ function.getFunctionName().substring(0, 6) +"
    "; + } + floor += "
  • " + + " " + + s +"
  • "; + } + } + } + } + + return floor; + } + /** + * @Title: top + * @author:gaofeng + * @Description: shortcut头部菜单一级菜单列表,实现动态控制一级菜单列表的基础方法 + * @param request + * @return AjaxJson + * @throws + */ + public Map> getPrimaryMenuBase(List rUsers) { + + //获取一级菜单列表 + Map> functionMap = new HashMap>(); + Map loginActionlist = new HashMap(); + for (TSRoleUser ru : rUsers) { + TSRole role = ru.getTSRole(); + List roleFunctionList = systemService + .findByProperty(TSRoleFunction.class, "TSRole.id", + role.getId()); + for (TSRoleFunction roleFunction : roleFunctionList) { + TSFunction function = roleFunction.getTSFunction(); + loginActionlist.put(function.getId(), function); + } + } + + if (loginActionlist.size() > 0) { + Collection allFunctions = loginActionlist.values(); + for (TSFunction function : allFunctions) { + if (!functionMap.containsKey(function.getFunctionLevel() + 0)) { + functionMap.put(function.getFunctionLevel() + 0, + new ArrayList()); + } + functionMap.get(function.getFunctionLevel() + 0).add(function); + } + // 菜单栏排序 + Collection> c = functionMap.values(); + for (List list : c) { + Collections.sort(list, new NumberComparator()); + } + } + //将更新前的菜单数据赋值过去 + shortcutFunctionMap = functionMap; + return functionMap; + } } diff --git a/src/jeecg/system/controller/core/RepairController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/RepairController.java similarity index 88% rename from src/jeecg/system/controller/core/RepairController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/RepairController.java index 09bfc96a..8c6c6bba 100644 --- a/src/jeecg/system/controller/core/RepairController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/RepairController.java @@ -1,7 +1,7 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; -import jeecg.system.service.RepairService; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.service.RepairService; +import org.jeecgframework.web.system.service.SystemService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; diff --git a/src/jeecg/system/controller/core/RoleController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/RoleController.java similarity index 96% rename from src/jeecg/system/controller/core/RoleController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/RoleController.java index 53a4f24b..d1241d88 100644 --- a/src/jeecg/system/controller/core/RoleController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/RoleController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.util.ArrayList; import java.util.Collection; @@ -13,13 +13,13 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSOperation; -import jeecg.system.pojo.base.TSRole; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSOperation; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -47,7 +47,7 @@ import org.springframework.web.servlet.ModelAndView; /** * 角色处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller diff --git a/src/jeecg/system/controller/core/SystemController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/SystemController.java similarity index 96% rename from src/jeecg/system/controller/core/SystemController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/SystemController.java index 1d10caa8..7fcefd41 100644 --- a/src/jeecg/system/controller/core/SystemController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/SystemController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.util.ArrayList; import java.util.Collections; @@ -10,19 +10,19 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.manager.ClientManager; -import jeecg.system.manager.ClientSort; -import jeecg.system.pojo.base.Client; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSDocument; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSRole; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSType; -import jeecg.system.pojo.base.TSTypegroup; -import jeecg.system.pojo.base.TSVersion; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.manager.ClientManager; +import org.jeecgframework.web.system.manager.ClientSort; +import org.jeecgframework.web.system.pojo.base.Client; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSDocument; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.pojo.base.TSVersion; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; @@ -53,7 +53,7 @@ import org.springframework.web.servlet.view.RedirectView; /** * 类型字段处理类 * - * @author Administrator + * @author 张代浩 * */ @Controller @@ -515,9 +515,13 @@ public class SystemController extends BaseController { if (StringUtil.isNotEmpty(comboTree.getId())) { cq.eq("TSPDepart.id", comboTree.getId()); } + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- if (StringUtil.isEmpty(comboTree.getId())) { cq.isNull("TSPDepart.id"); } + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- cq.add(); List departsList = systemService.getListByCriteriaQuery(cq, false); List comboTrees = new ArrayList(); @@ -878,7 +882,6 @@ public class SystemController extends BaseController { j.setMsg("版本保存成功"); return j; } - //add-begin--Author:lihuan Date:20130514 for:从V3版本迁移上传下载代码 /** * 新闻法规文件列表 @@ -962,11 +965,8 @@ public class SystemController extends BaseController { attributes.put("delurl", "commonController.do?delObjFile&fileKey=" + document.getId()); j.setMsg("文件添加成功"); j.setAttributes(attributes); - return j; } - - //add-end--Author:lihuan Date:20130514 for:从V3版本迁移上传下载代码 /** * 在线用户列表 diff --git a/src/jeecg/system/controller/core/TerritoryController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/TerritoryController.java similarity index 97% rename from src/jeecg/system/controller/core/TerritoryController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/TerritoryController.java index 71175646..57f2e8f9 100644 --- a/src/jeecg/system/controller/core/TerritoryController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/TerritoryController.java @@ -1,10 +1,10 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; -import jeecg.system.pojo.base.TSTerritory; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSTerritory; +import org.jeecgframework.web.system.service.SystemService; import org.apache.commons.lang.StringUtils; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; diff --git a/src/jeecg/system/controller/core/TimeTaskController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/TimeTaskController.java similarity index 96% rename from src/jeecg/system/controller/core/TimeTaskController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/TimeTaskController.java index e20ea801..8835d481 100644 --- a/src/jeecg/system/controller/core/TimeTaskController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/TimeTaskController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.text.ParseException; import javax.servlet.http.HttpServletRequest; @@ -19,9 +19,9 @@ import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.timer.DynamicTask; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSTimeTaskEntity; -import jeecg.system.service.SystemService; -import jeecg.system.service.TimeTaskServiceI; +import org.jeecgframework.web.system.pojo.base.TSTimeTaskEntity; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.TimeTaskServiceI; import org.jeecgframework.core.util.MyBeanUtils; diff --git a/src/jeecg/system/controller/core/UserController.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java similarity index 91% rename from src/jeecg/system/controller/core/UserController.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java index 5a95bb22..6c5b691e 100644 --- a/src/jeecg/system/controller/core/UserController.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java @@ -1,4 +1,4 @@ -package jeecg.system.controller.core; +package org.jeecgframework.web.system.controller.core; import java.io.IOException; import java.util.ArrayList; @@ -11,14 +11,14 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSRole; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.SystemService; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.SystemService; +import org.jeecgframework.web.system.service.UserService; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -34,6 +34,7 @@ import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.ListtoMenu; import org.jeecgframework.core.util.PasswordUtil; import org.jeecgframework.core.util.ResourceUtil; +import org.jeecgframework.core.util.RoletoJson; import org.jeecgframework.core.util.SetListSort; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.core.util.oConvertUtils; @@ -51,7 +52,7 @@ import org.springframework.web.servlet.ModelAndView; /** * @ClassName: UserController * @Description: TODO(用户管理处理类) - * @author jeecg + * @author 张代浩 */ @Controller @RequestMapping("/userController") @@ -131,15 +132,8 @@ public class UserController { @RequestMapping(params = "userDemo") public String userDemo(HttpServletRequest request) { // 给部门查询条件中的下拉框准备数据 - String departsReplace = ""; List departList = systemService.getList(TSDepart.class); - for (TSDepart depart : departList) { - if (departsReplace.length() > 0) { - departsReplace += ","; - } - departsReplace += depart.getDepartname() + "_" + depart.getId(); - } - request.setAttribute("departsReplace", departsReplace); + request.setAttribute("departsReplace", RoletoJson.listToReplaceStr(departList, "departname", "id")); return "system/user/userList2"; } @@ -152,15 +146,8 @@ public class UserController { @RequestMapping(params = "user") public String user(HttpServletRequest request) { // 给部门查询条件中的下拉框准备数据 - String departsReplace = ""; List departList = systemService.getList(TSDepart.class); - for (TSDepart depart : departList) { - if (departsReplace.length() > 0) { - departsReplace += ","; - } - departsReplace += depart.getDepartname() + "_" + depart.getId(); - } - request.setAttribute("departsReplace", departsReplace); + request.setAttribute("departsReplace", RoletoJson.listToReplaceStr(departList, "departname", "id")); return "system/user/userList"; } @@ -275,24 +262,6 @@ public class UserController { CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid); //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user); - // 追加部门条件查询 (如果是input型,传的是部门名;如果是combo型,传的是部门ID) - String departname = oConvertUtils.getString(request.getParameter("TSDepart_departname")); - if (!StringUtil.isEmpty(departname)) { - DetachedCriteria dc = cq.getDetachedCriteria(); - DetachedCriteria dcDepart = dc.createCriteria("TSDepart"); - //dcDepart.add(Restrictions.like("departname", "%" + departname + "%"));// 部门名 - dcDepart.add(Restrictions.eq("id", departname));// 部门ID - } - -// String searchfield = oConvertUtils.getString(request.getParameter("searchfield"));//传入字段名称 -// String value=oConvertUtils.getString(request.getParameter(searchfield));//传入值 -// Short[] userstate = new Short[] { Globals.User_Normal, Globals.User_ADMIN }; -// cq.in("status", userstate); -// if (searchfield != null) { -// cq.like(searchfield, value);//匹配查询 -// } -// cq.add(); - Short[] userstate = new Short[] { Globals.User_Normal, Globals.User_ADMIN }; cq.in("status", userstate); @@ -470,7 +439,13 @@ public class UserController { */ @RequestMapping(params = "addorupdate") public ModelAndView addorupdate(TSUser user, HttpServletRequest req) { - List departList = systemService.getList(TSDepart.class); + List departList = new ArrayList(); + String departid = oConvertUtils.getString(req.getParameter("departid")); + if(!StringUtil.isEmpty(departid)){ + departList.add((TSDepart)systemService.getEntity(TSDepart.class,departid)); + }else { + departList.addAll((List)systemService.getList(TSDepart.class)); + } req.setAttribute("departList", departList); if (StringUtil.isNotEmpty(user.getId())) { user = systemService.getEntity(TSUser.class, user.getId()); diff --git a/src/jeecg/system/dao/repair/RepairDao.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/dao/repair/RepairDao.java similarity index 81% rename from src/jeecg/system/dao/repair/RepairDao.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/dao/repair/RepairDao.java index 470ec735..ac564c31 100644 --- a/src/jeecg/system/dao/repair/RepairDao.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/dao/repair/RepairDao.java @@ -1,4 +1,4 @@ -package jeecg.system.dao.repair; +package org.jeecgframework.web.system.dao.repair; import org.jeecgframework.minidao.annotation.MiniDao; diff --git a/src/jeecg/system/listener/CkfinderConfiguration.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/CkfinderConfiguration.java similarity index 66% rename from src/jeecg/system/listener/CkfinderConfiguration.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/CkfinderConfiguration.java index 781fea18..156c0f07 100644 --- a/src/jeecg/system/listener/CkfinderConfiguration.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/CkfinderConfiguration.java @@ -1,4 +1,4 @@ -package jeecg.system.listener; +package org.jeecgframework.web.system.listener; import javax.servlet.ServletConfig; @@ -23,11 +23,15 @@ public class CkfinderConfiguration extends Configuration { path = servletConfig.getServletContext().getContextPath(); } - @Override + public void init() throws Exception { super.init(); - this.baseURL = path + "/" + ResourceUtil.getConfigByName("userfiles") - + "/"; + String files = ResourceUtil.getConfigByName("ck.userfiles"); + if (files.contains("http://")) + this.baseURL = files; + else + this.baseURL = path + "/" + files + "/"; + this.baseDir = ResourceUtil.getConfigByName("ck.baseDir"); } } diff --git a/src/jeecg/system/listener/InitListener.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/InitListener.java similarity index 88% rename from src/jeecg/system/listener/InitListener.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/InitListener.java index 66c69cb1..405a50d3 100644 --- a/src/jeecg/system/listener/InitListener.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/InitListener.java @@ -1,9 +1,9 @@ -package jeecg.system.listener; +package org.jeecgframework.web.system.listener; import javax.servlet.ServletContextEvent; -import jeecg.system.service.MenuInitService; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.service.MenuInitService; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.ResourceUtil; import org.springframework.web.context.WebApplicationContext; @@ -17,12 +17,12 @@ import org.springframework.web.context.support.WebApplicationContextUtils; */ public class InitListener implements javax.servlet.ServletContextListener { - @Override + public void contextDestroyed(ServletContextEvent arg0) { } - @Override + public void contextInitialized(ServletContextEvent event) { WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext()); SystemService systemService = (SystemService) webApplicationContext.getBean("systemService"); diff --git a/src/jeecg/system/listener/OnlineListener.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/OnlineListener.java similarity index 90% rename from src/jeecg/system/listener/OnlineListener.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/OnlineListener.java index 508eb45c..16e27c19 100644 --- a/src/jeecg/system/listener/OnlineListener.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/listener/OnlineListener.java @@ -1,4 +1,4 @@ -package jeecg.system.listener; +package org.jeecgframework.web.system.listener; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; @@ -6,7 +6,7 @@ import javax.servlet.ServletContextListener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; -import jeecg.system.manager.ClientManager; +import org.jeecgframework.web.system.manager.ClientManager; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -22,11 +22,11 @@ public class OnlineListener implements ServletContextListener,HttpSessionListene public OnlineListener() { } - @Override + public void sessionCreated(HttpSessionEvent httpSessionEvent) { } - @Override + public void sessionDestroyed(HttpSessionEvent httpSessionEvent) { ClientManager.getInstance().removeClinet(httpSessionEvent.getSession().getId()); } @@ -34,7 +34,7 @@ public class OnlineListener implements ServletContextListener,HttpSessionListene /** * 服务器初始化 */ - @Override + public void contextInitialized(ServletContextEvent evt) { ctx = WebApplicationContextUtils.getWebApplicationContext(evt.getServletContext()); } @@ -43,7 +43,7 @@ public class OnlineListener implements ServletContextListener,HttpSessionListene return ctx; } - @Override + public void contextDestroyed(ServletContextEvent paramServletContextEvent) { } diff --git a/src/jeecg/system/manager/ClientManager.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/manager/ClientManager.java similarity index 89% rename from src/jeecg/system/manager/ClientManager.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/manager/ClientManager.java index 60c4bbaa..058d352d 100644 --- a/src/jeecg/system/manager/ClientManager.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/manager/ClientManager.java @@ -1,10 +1,10 @@ -package jeecg.system.manager; +package org.jeecgframework.web.system.manager; import java.util.Collection; import java.util.HashMap; import java.util.Map; -import jeecg.system.pojo.base.Client; +import org.jeecgframework.web.system.pojo.base.Client; /** * 对在线用户的管理 diff --git a/src/jeecg/system/manager/ClientSort.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/manager/ClientSort.java similarity index 68% rename from src/jeecg/system/manager/ClientSort.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/manager/ClientSort.java index af9b2d39..d7a5e427 100644 --- a/src/jeecg/system/manager/ClientSort.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/manager/ClientSort.java @@ -1,12 +1,12 @@ -package jeecg.system.manager; +package org.jeecgframework.web.system.manager; import java.util.Comparator; -import jeecg.system.pojo.base.Client; +import org.jeecgframework.web.system.pojo.base.Client; public class ClientSort implements Comparator { - @Override + public int compare(Client prev, Client now) { return (int) (now.getLogindatetime().getTime()-prev.getLogindatetime().getTime()); } diff --git a/src/jeecg/system/pojo/base/Client.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/Client.java similarity index 95% rename from src/jeecg/system/pojo/base/Client.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/Client.java index 869e1e09..1a0aa1a5 100644 --- a/src/jeecg/system/pojo/base/Client.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/Client.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.util.Map; diff --git a/src/jeecg/system/pojo/base/DuplicateCheckPage.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/DuplicateCheckPage.java similarity index 94% rename from src/jeecg/system/pojo/base/DuplicateCheckPage.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/DuplicateCheckPage.java index bcc6dfe3..0d3ccf12 100644 --- a/src/jeecg/system/pojo/base/DuplicateCheckPage.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/DuplicateCheckPage.java @@ -1,8 +1,8 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; /** *@类:DuplicateCheckPage - *@作者:zhangdaihao + *@作者:张代浩 *@E-mail:zhangdaiscott@163.com *@日期:2012-11-15 *update-begin--Author:yankang Date:201309012 for:[TASK#63]UI库常用控件参考示例【重复校验】 diff --git a/src/jeecg/system/pojo/base/TSAttachment.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSAttachment.java similarity index 92% rename from src/jeecg/system/pojo/base/TSAttachment.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSAttachment.java index 98db99f9..2f111224 100644 --- a/src/jeecg/system/pojo/base/TSAttachment.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSAttachment.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.sql.Timestamp; @@ -16,6 +16,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** + * @author 张代浩 * 项目附件父表(其他附件表需继承该表) */ @Entity @@ -23,6 +24,13 @@ import org.jeecgframework.core.common.entity.IdEntity; @Inheritance(strategy = InheritanceType.JOINED) public class TSAttachment extends IdEntity implements java.io.Serializable { + + /** + * serialVersionUID:TODO(用一句话描述这个变量表示什么) + * @since Ver 1.1 + */ + + private static final long serialVersionUID = 1L; private TSUser TSUser;// 创建人 private String businessKey;// 业务类主键 private String subclassname;// 子类名称全路径 diff --git a/src/jeecg/system/pojo/base/TSBaseUser.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSBaseUser.java similarity index 93% rename from src/jeecg/system/pojo/base/TSBaseUser.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSBaseUser.java index 92b1f625..c118a321 100644 --- a/src/jeecg/system/pojo/base/TSBaseUser.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSBaseUser.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; @@ -9,11 +9,12 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; +import org.codehaus.jackson.annotate.JsonIgnore; import org.jeecgframework.core.common.entity.IdEntity; /** * 系统用户父类表 - * + * @author 张代浩 */ @Entity @Table(name = "t_s_base_user") @@ -81,6 +82,7 @@ public class TSBaseUser extends IdEntity implements java.io.Serializable { public void setPassword(String password) { this.password = password; } + @JsonIgnore //getList查询转换为列表时处理json转换异常 @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "departid") public TSDepart getTSDepart() { diff --git a/src/jeecg/system/pojo/base/TSConfig.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSConfig.java similarity index 94% rename from src/jeecg/system/pojo/base/TSConfig.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSConfig.java index 4a8a9292..60400377 100644 --- a/src/jeecg/system/pojo/base/TSConfig.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSConfig.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; // default package import javax.persistence.Column; @@ -14,8 +14,9 @@ import org.hibernate.annotations.GenericGenerator; import org.jeecgframework.core.common.entity.IdEntity; /** - * TConfig entity. @author MyEclipse Persistence Tools + * TConfig entity. * 系统配置类 + * @author 张代浩 */ @Entity @Table(name = "t_s_config") diff --git a/src/jeecg/system/pojo/base/TSDemo.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDemo.java similarity index 96% rename from src/jeecg/system/pojo/base/TSDemo.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDemo.java index d9d126d8..ffed1dfc 100644 --- a/src/jeecg/system/pojo/base/TSDemo.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDemo.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.util.ArrayList; import java.util.List; @@ -16,6 +16,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** * 例子演示 + * @author 张代浩 */ @Entity @Table(name = "t_s_demo") diff --git a/src/jeecg/system/pojo/base/TSDepart.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDepart.java similarity index 95% rename from src/jeecg/system/pojo/base/TSDepart.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDepart.java index 42a8b6c6..8c3afc39 100644 --- a/src/jeecg/system/pojo/base/TSDepart.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDepart.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.util.ArrayList; import java.util.List; @@ -16,6 +16,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** * 部门机构表 + * @author 张代浩 */ @Entity @Table(name = "t_s_depart") diff --git a/src/jeecg/system/pojo/base/TSDocument.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDocument.java similarity index 95% rename from src/jeecg/system/pojo/base/TSDocument.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDocument.java index 7431e432..62a3fb64 100644 --- a/src/jeecg/system/pojo/base/TSDocument.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSDocument.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; // default package import javax.persistence.Column; @@ -11,6 +11,7 @@ import javax.persistence.Table; /** * 文档下载,新闻,法规表 + * @author 张代浩 */ @Entity @Table(name = "t_s_document") diff --git a/src/jeecg/system/pojo/base/TSFileno.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSFileno.java similarity index 93% rename from src/jeecg/system/pojo/base/TSFileno.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSFileno.java index 3842cdff..032c8e89 100644 --- a/src/jeecg/system/pojo/base/TSFileno.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSFileno.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.util.Date; import javax.persistence.Column; @@ -11,7 +11,8 @@ import org.jeecgframework.core.common.entity.IdEntity; /** - * TLog entity. @author MyEclipse Persistence Tools + * TLog entity. + * @author 张代浩 */ @Entity @Table(name = "t_s_fileno") diff --git a/src/jeecg/system/pojo/base/TSFunction.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSFunction.java similarity index 97% rename from src/jeecg/system/pojo/base/TSFunction.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSFunction.java index c98ef3da..d94745d1 100644 --- a/src/jeecg/system/pojo/base/TSFunction.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSFunction.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.util.ArrayList; import java.util.List; @@ -15,6 +15,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** *菜单权限表 + * @author 张代浩 */ @Entity @Table(name = "t_s_function") diff --git a/src/jeecg/system/pojo/base/TSIcon.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSIcon.java similarity index 95% rename from src/jeecg/system/pojo/base/TSIcon.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSIcon.java index bfa106a4..55cac6ba 100644 --- a/src/jeecg/system/pojo/base/TSIcon.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSIcon.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; // default package import static javax.persistence.GenerationType.SEQUENCE; @@ -20,7 +20,8 @@ import org.hibernate.annotations.GenericGenerator; import org.jeecgframework.core.common.entity.IdEntity; /** - * TIcon entity. @author MyEclipse Persistence Tools + * TIcon entity. + * @author 张代浩 */ @Entity @Table(name = "t_s_icon") diff --git a/src/jeecg/system/pojo/base/TSLog.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSLog.java similarity index 95% rename from src/jeecg/system/pojo/base/TSLog.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSLog.java index 31633ab7..fcbd2093 100644 --- a/src/jeecg/system/pojo/base/TSLog.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSLog.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.sql.Timestamp; import javax.persistence.Column; @@ -12,7 +12,8 @@ import org.jeecgframework.core.common.entity.IdEntity; /** - * TLog entity. @author MyEclipse Persistence Tools + * TLog entity. + * @author 张代浩 */ @Entity @Table(name = "t_s_log") diff --git a/src/jeecg/system/pojo/base/TSOperation.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSOperation.java similarity index 96% rename from src/jeecg/system/pojo/base/TSOperation.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSOperation.java index 2566b2cf..2c068f7e 100644 --- a/src/jeecg/system/pojo/base/TSOperation.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSOperation.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; @@ -11,6 +11,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** * 权限操作表 + * @author 张代浩 */ @Entity @Table(name = "t_s_operation") diff --git a/src/jeecg/system/pojo/base/TSOpinTemplate.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSOpinTemplate.java similarity index 90% rename from src/jeecg/system/pojo/base/TSOpinTemplate.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSOpinTemplate.java index 1ce4c442..09b9559b 100644 --- a/src/jeecg/system/pojo/base/TSOpinTemplate.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSOpinTemplate.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; // default package import java.util.HashSet; @@ -19,7 +19,8 @@ import org.hibernate.annotations.GenericGenerator; import org.jeecgframework.core.common.entity.IdEntity; /** - * TType entity. @author MyEclipse Persistence Tools + * TType entity. + * @author 张代浩 */ @Entity @Table(name = "t_s_opintemplate") diff --git a/src/jeecg/system/pojo/base/TSRole.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRole.java similarity index 92% rename from src/jeecg/system/pojo/base/TSRole.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRole.java index 4de48c12..043e3f76 100644 --- a/src/jeecg/system/pojo/base/TSRole.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRole.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import static javax.persistence.GenerationType.SEQUENCE; @@ -14,6 +14,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** * 角色表 + * @author 张代浩 */ @Entity @Table(name = "t_s_role") diff --git a/src/jeecg/system/pojo/base/TSRoleFunction.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRoleFunction.java similarity index 92% rename from src/jeecg/system/pojo/base/TSRoleFunction.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRoleFunction.java index 8f40a6de..1495baa0 100644 --- a/src/jeecg/system/pojo/base/TSRoleFunction.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRoleFunction.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; @@ -13,7 +13,8 @@ import org.hibernate.annotations.GenericGenerator; import org.jeecgframework.core.common.entity.IdEntity; /** - * TRoleFunction entity. @author MyEclipse Persistence Tools + * TRoleFunction entity. + * @author 张代浩 */ @Entity @Table(name = "t_s_role_function") diff --git a/src/jeecg/system/pojo/base/TSRoleUser.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRoleUser.java similarity index 90% rename from src/jeecg/system/pojo/base/TSRoleUser.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRoleUser.java index 1347525a..a17473a0 100644 --- a/src/jeecg/system/pojo/base/TSRoleUser.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSRoleUser.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; @@ -13,7 +13,8 @@ import org.hibernate.annotations.GenericGenerator; import org.jeecgframework.core.common.entity.IdEntity; /** - * TSRoleUser entity. @author MyEclipse Persistence Tools + * TSRoleUser entity. + * @author 张代浩 */ @Entity @Table(name = "t_s_role_user") diff --git a/src/jeecg/system/pojo/base/TSTerritory.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTerritory.java similarity index 95% rename from src/jeecg/system/pojo/base/TSTerritory.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTerritory.java index de5fb7f7..67fe0a29 100644 --- a/src/jeecg/system/pojo/base/TSTerritory.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTerritory.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; @@ -15,6 +15,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** *地域管理表 + * @author 张代浩 */ @Entity @Table(name = "t_s_territory") @@ -77,7 +78,7 @@ public class TSTerritory extends IdEntity implements java.io.Serializable { public void setTerritoryCode(String territoryCode) { this.territoryCode = territoryCode; } - @Column(name = "territory_pinyin",nullable = false,length = 40) + @Column(name = "territory_pinyin",nullable = true,length = 40) public String getTerritoryPinyin() { return territoryPinyin; } diff --git a/src/jeecg/system/pojo/base/TSTimeTaskEntity.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTimeTaskEntity.java similarity index 99% rename from src/jeecg/system/pojo/base/TSTimeTaskEntity.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTimeTaskEntity.java index ba98c2ba..c7930af4 100644 --- a/src/jeecg/system/pojo/base/TSTimeTaskEntity.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTimeTaskEntity.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; diff --git a/src/jeecg/system/pojo/base/TSType.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSType.java similarity index 96% rename from src/jeecg/system/pojo/base/TSType.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSType.java index 2dddf733..f4e05309 100644 --- a/src/jeecg/system/pojo/base/TSType.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSType.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; // default package import java.util.ArrayList; @@ -17,6 +17,7 @@ import org.jeecgframework.core.common.entity.IdEntity; /** * 通用类型字典表 + * @author 张代浩 */ @Entity @Table(name = "t_s_type") diff --git a/src/jeecg/system/pojo/base/TSTypegroup.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTypegroup.java similarity index 94% rename from src/jeecg/system/pojo/base/TSTypegroup.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTypegroup.java index 8284ec6a..66425d18 100644 --- a/src/jeecg/system/pojo/base/TSTypegroup.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSTypegroup.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; // default package import java.util.ArrayList; @@ -16,7 +16,7 @@ import javax.persistence.Table; import org.jeecgframework.core.common.entity.IdEntity; /** - * TTypegroup entity. @author MyEclipse Persistence Tools + * TTypegroup entity. */ @Entity @Table(name = "t_s_typegroup") diff --git a/src/jeecg/system/pojo/base/TSUser.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSUser.java similarity index 95% rename from src/jeecg/system/pojo/base/TSUser.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSUser.java index de1411ee..34d18835 100644 --- a/src/jeecg/system/pojo/base/TSUser.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSUser.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; @@ -10,8 +10,7 @@ import javax.persistence.Table; /** * 系统用户表 - * - * @author jeecg + * @author 张代浩 */ @Entity @Table(name = "t_s_user") diff --git a/src/jeecg/system/pojo/base/TSVersion.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSVersion.java similarity index 94% rename from src/jeecg/system/pojo/base/TSVersion.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSVersion.java index b1148279..177cb828 100644 --- a/src/jeecg/system/pojo/base/TSVersion.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/pojo/base/TSVersion.java @@ -1,4 +1,4 @@ -package jeecg.system.pojo.base; +package org.jeecgframework.web.system.pojo.base; import javax.persistence.Column; import javax.persistence.Entity; @@ -7,7 +7,7 @@ import javax.persistence.Table; import org.jeecgframework.core.common.entity.IdEntity; /** * 程序版本控制表 - * @author Administrator + * @author 张代浩 * */ @Entity diff --git a/src/jeecg/system/service/DeclareService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/DeclareService.java similarity index 62% rename from src/jeecg/system/service/DeclareService.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/DeclareService.java index d38c8227..0f99ae19 100644 --- a/src/jeecg/system/service/DeclareService.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/DeclareService.java @@ -1,12 +1,16 @@ -package jeecg.system.service; +package org.jeecgframework.web.system.service; import java.util.List; -import jeecg.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.pojo.base.TSAttachment; import org.jeecgframework.core.common.service.CommonService; - +/** + * + * @author 张代浩 + * + */ public interface DeclareService extends CommonService{ public List getAttachmentsByCode(String businessKey,String description); diff --git a/src/jeecg/system/service/MenuInitService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/MenuInitService.java similarity index 63% rename from src/jeecg/system/service/MenuInitService.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/MenuInitService.java index 6805e5ee..709ad4df 100644 --- a/src/jeecg/system/service/MenuInitService.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/MenuInitService.java @@ -1,8 +1,12 @@ -package jeecg.system.service; +package org.jeecgframework.web.system.service; import org.jeecgframework.core.common.service.CommonService; - +/** + * + * @author 张代浩 + * + */ public interface MenuInitService extends CommonService{ public void initMenu(); diff --git a/src/jeecg/system/service/RepairService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/RepairService.java similarity index 91% rename from src/jeecg/system/service/RepairService.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/RepairService.java index 8a05e15c..6057dafe 100644 --- a/src/jeecg/system/service/RepairService.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/RepairService.java @@ -1,4 +1,4 @@ -package jeecg.system.service; +package org.jeecgframework.web.system.service; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/system/service/SystemService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/SystemService.java similarity index 85% rename from src/jeecg/system/service/SystemService.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/SystemService.java index 81aaf0fd..5c1b474b 100644 --- a/src/jeecg/system/service/SystemService.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/SystemService.java @@ -1,15 +1,19 @@ -package jeecg.system.service; +package org.jeecgframework.web.system.service; import java.util.Set; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSType; -import jeecg.system.pojo.base.TSTypegroup; -import jeecg.system.pojo.base.TSUser; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.core.common.service.CommonService; - +/** + * + * @author 张代浩 + * + */ public interface SystemService extends CommonService{ /** * 登陆用户检查 diff --git a/src/jeecg/system/service/TimeTaskServiceI.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/TimeTaskServiceI.java similarity index 72% rename from src/jeecg/system/service/TimeTaskServiceI.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/TimeTaskServiceI.java index d8fd1f4c..f4eea397 100644 --- a/src/jeecg/system/service/TimeTaskServiceI.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/TimeTaskServiceI.java @@ -1,4 +1,4 @@ -package jeecg.system.service; +package org.jeecgframework.web.system.service; import org.jeecgframework.core.common.service.CommonService; diff --git a/src/jeecg/system/service/UserService.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/UserService.java similarity index 75% rename from src/jeecg/system/service/UserService.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/UserService.java index 6a20c80f..584a84c5 100644 --- a/src/jeecg/system/service/UserService.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/UserService.java @@ -1,9 +1,13 @@ -package jeecg.system.service; +package org.jeecgframework.web.system.service; import org.jeecgframework.core.common.service.CommonService; -import jeecg.system.pojo.base.TSUser; - +import org.jeecgframework.web.system.pojo.base.TSUser; +/** + * + * @author 张代浩 + * + */ public interface UserService extends CommonService{ public TSUser checkUserExits(TSUser user); diff --git a/src/jeecg/system/service/impl/DeclareServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/DeclareServiceImpl.java similarity index 77% rename from src/jeecg/system/service/impl/DeclareServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/DeclareServiceImpl.java index 3f933935..328d9ca8 100644 --- a/src/jeecg/system/service/impl/DeclareServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/DeclareServiceImpl.java @@ -1,9 +1,9 @@ -package jeecg.system.service.impl; +package org.jeecgframework.web.system.service.impl; import java.util.List; -import jeecg.system.pojo.base.TSAttachment; -import jeecg.system.service.DeclareService; +import org.jeecgframework.web.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.service.DeclareService; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.springframework.stereotype.Service; diff --git a/src/jeecg/system/service/impl/MenuInitServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/MenuInitServiceImpl.java similarity index 95% rename from src/jeecg/system/service/impl/MenuInitServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/MenuInitServiceImpl.java index 7603a830..110abc19 100644 --- a/src/jeecg/system/service/impl/MenuInitServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/MenuInitServiceImpl.java @@ -1,4 +1,4 @@ -package jeecg.system.service.impl; +package org.jeecgframework.web.system.service.impl; import java.io.Serializable; import java.lang.reflect.Method; @@ -7,10 +7,10 @@ import java.util.List; import java.util.Map; import java.util.Set; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSIcon; -import jeecg.system.pojo.base.TSOperation; -import jeecg.system.service.MenuInitService; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.pojo.base.TSOperation; +import org.jeecgframework.web.system.service.MenuInitService; import org.jeecgframework.core.annotation.config.AutoMenu; import org.jeecgframework.core.annotation.config.AutoMenuOperation; @@ -30,7 +30,7 @@ public class MenuInitServiceImpl extends CommonServiceImpl implements private static final String MENU_TYPE_ID = "#";//采用控件ID方式的code前缀 private static final String MENU_TYPE_CSS = ".";//采用Css样式方式的code前缀 - @Override + public void initMenu() { // 1.扫描项目下,所有class,判断带有标签@AutoMenu // TODO diff --git a/src/jeecg/system/service/impl/RepairServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/RepairServiceImpl.java similarity index 84% rename from src/jeecg/system/service/impl/RepairServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/RepairServiceImpl.java index 90760290..271bf1a8 100644 --- a/src/jeecg/system/service/impl/RepairServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/RepairServiceImpl.java @@ -1,44 +1,45 @@ -package jeecg.system.service.impl; +package org.jeecgframework.web.system.service.impl; import java.math.BigDecimal; import java.math.BigInteger; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; -import jeecg.cgform.engine.FreemarkerHelper; -import jeecg.cgform.entity.config.CgFormFieldEntity; -import jeecg.cgform.entity.config.CgFormHeadEntity; -import jeecg.cgform.entity.enhance.CgformEnhanceJsEntity; -import jeecg.demo.entity.test.CKEditorEntity; -import jeecg.demo.entity.test.CourseEntity; -import jeecg.demo.entity.test.JeecgDemoCkfinderEntity; -import jeecg.demo.entity.test.JeecgJdbcEntity; -import jeecg.demo.entity.test.JeecgMatterBom; -import jeecg.demo.entity.test.JeecgNoteEntity; -import jeecg.demo.entity.test.JeecgOrderCustomEntity; -import jeecg.demo.entity.test.JeecgOrderMainEntity; -import jeecg.demo.entity.test.JeecgOrderProductEntity; -import jeecg.demo.entity.test.StudentEntity; -import jeecg.demo.entity.test.TSStudent; -import jeecg.demo.entity.test.TeacherEntity; -import jeecg.system.dao.repair.RepairDao; -import jeecg.system.pojo.base.TSAttachment; -import jeecg.system.pojo.base.TSDemo; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSIcon; -import jeecg.system.pojo.base.TSLog; -import jeecg.system.pojo.base.TSOperation; -import jeecg.system.pojo.base.TSRole; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSTimeTaskEntity; -import jeecg.system.pojo.base.TSType; -import jeecg.system.pojo.base.TSTypegroup; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.RepairService; +import org.jeecgframework.web.cgform.engine.FreemarkerHelper; +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; +import org.jeecgframework.web.demo.entity.test.CKEditorEntity; +import org.jeecgframework.web.demo.entity.test.CourseEntity; +import org.jeecgframework.web.demo.entity.test.JeecgDemoCkfinderEntity; +import org.jeecgframework.web.demo.entity.test.JeecgJdbcEntity; +import org.jeecgframework.web.demo.entity.test.JeecgMatterBom; +import org.jeecgframework.web.demo.entity.test.JeecgNoteEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderCustomEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderMainEntity; +import org.jeecgframework.web.demo.entity.test.JeecgOrderProductEntity; +import org.jeecgframework.web.demo.entity.test.StudentEntity; +import org.jeecgframework.web.demo.entity.test.TSStudent; +import org.jeecgframework.web.demo.entity.test.TeacherEntity; +import org.jeecgframework.web.system.dao.repair.RepairDao; +import org.jeecgframework.web.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.pojo.base.TSDemo; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.pojo.base.TSLog; +import org.jeecgframework.web.system.pojo.base.TSOperation; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.pojo.base.TSTimeTaskEntity; +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.RepairService; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.util.DataUtils; @@ -64,7 +65,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements * @Description 先清空数据库,然后再修复数据库 * @author tanghan 2013-7-19 */ - @Override + public void deleteAndRepair() { // 由于表中有主外键关系,清空数据库需注意 commonDao.executeHql("delete TSLog"); @@ -109,9 +110,9 @@ public class RepairServiceImpl extends CommonServiceImpl implements * @Description 修复数据库 * @author tanghan 2013-7-19 */ - @Override + synchronized public void repair() { - repairCkFinder();// 修复智能表单ck_finder数据库 + //repairCkFinder();// 修复智能表单ck_finder数据库 repaireIcon(); // 修复图标 repairAttachment(); // 修改附件 repairDepart();// 修复部门表 @@ -218,13 +219,16 @@ public class RepairServiceImpl extends CommonServiceImpl implements /** * 修复表单例子无tag + * @throws ParseException *@Author JueYue *@date 2013-11-12 */ - private void repairJdbcEntity() { + private void repairJdbcEntity(){ JeecgJdbcEntity entity = new JeecgJdbcEntity(); entity.setAge(12); - entity.setBirthday(new Date()); +// update-begin--Author:yangyong Date:20140214 for:[bugfree号]当前时间获取调整-------------------- + entity.setBirthday(DataUtils.str2Date("2014-02-14",new SimpleDateFormat("yyyy-MM-dd"))); +// update-end--Author:yangyong Date:20140214 for:[bugfree号]当前时间获取调整-------------------- entity.setDepId("123"); entity.setEmail("demo@jeecg.com"); entity.setMobilePhone("13111111111"); @@ -276,8 +280,8 @@ public class RepairServiceImpl extends CommonServiceImpl implements task.setTaskId("taskDemoServiceTaskCronTrigger"); task.setTaskDescribe("测试Demo"); task.setCronExpression("0 0/1 * * * ?"); - task.setIsEffect("1"); - task.setIsStart("1"); + task.setIsEffect("0"); + task.setIsStart("0"); commonDao.saveOrUpdate(task); } @@ -309,6 +313,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements order_main.setContent("订单主信息"); order_main.setCreateBy("admin"); order_main.setCreateDate(new Date()); + order_main.setJformPkType("UUID"); // order_main.setJsPlugIn("0"); // order_main.setSqlPlugIn("0"); order_main.setCreateName("管理员"); @@ -323,6 +328,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements leave.setIsTree("N"); leave.setIsPagination("Y"); leave.setIsCheckbox("N"); + leave.setJformPkType("UUID"); leave.setQuerymode("group"); leave.setIsDbSynch("N"); leave.setContent("请假单"); @@ -335,17 +341,16 @@ public class RepairServiceImpl extends CommonServiceImpl implements leave.setJformType(1); leave.setRelationType(0); commonDao.saveOrUpdate(leave); - - CgFormHeadEntity cgreport_head = new CgFormHeadEntity(); - cgreport_head.setTableName("jform_cgreport_head"); - cgreport_head.setIsTree("N"); - cgreport_head.setIsPagination("Y"); - cgreport_head.setIsCheckbox("N"); - cgreport_head.setQuerymode("single"); - cgreport_head.setIsDbSynch("N"); - cgreport_head.setContent("动态报表配置抬头"); - cgreport_head.setCreateBy("admin"); - cgreport_head.setCreateDate(new Date()); +// CgFormHeadEntity cgreport_head = new CgFormHeadEntity(); +// cgreport_head.setTableName("jform_cgreport_head"); +// cgreport_head.setIsTree("N"); +// cgreport_head.setIsPagination("Y"); +// cgreport_head.setIsCheckbox("N"); +// cgreport_head.setQuerymode("single"); +// cgreport_head.setIsDbSynch("N"); +// cgreport_head.setContent("动态报表配置抬头"); +// cgreport_head.setCreateBy("admin"); +// cgreport_head.setCreateDate(new Date()); /* * cgreport_head.setJsPlugIn("$(function(){"+"\r\n" + * "$(\"body\").append(\"\");" @@ -370,33 +375,33 @@ public class RepairServiceImpl extends CommonServiceImpl implements * +" }"+"\r\n" +" }"+"\r\n" +" });"+"\r\n" +" });"+"\r\n" +"});"); * cgreport_head.setSqlPlugIn("0"); */ - cgreport_head.setCreateName("管理员"); - cgreport_head.setJformVersion("87"); - cgreport_head.setJformType(2); - cgreport_head.setRelationType(0); - cgreport_head.setSubTableStr("jform_cgreport_item"); - /* cgreport_head.setSqlPlugIn("select * from t_s_user"); */ - - commonDao.saveOrUpdate(cgreport_head); - - CgFormHeadEntity cgreport_item = new CgFormHeadEntity(); - cgreport_item.setTableName("jform_cgreport_item"); - cgreport_item.setIsTree("N"); - cgreport_item.setIsPagination("Y"); - cgreport_item.setIsCheckbox("N"); - cgreport_item.setQuerymode("single"); - cgreport_item.setIsDbSynch("N"); - cgreport_item.setContent("动态报表配置明细"); - cgreport_item.setCreateBy("admin"); - cgreport_item.setCreateDate(new Date()); - /* - * cgreport_item.setJsPlugIn("0"); cgreport_item.setSqlPlugIn("0"); - */ - cgreport_item.setCreateName("管理员"); - cgreport_item.setJformVersion("12"); - cgreport_item.setJformType(3); - cgreport_item.setRelationType(0); - commonDao.saveOrUpdate(cgreport_item); +// cgreport_head.setCreateName("管理员"); +// cgreport_head.setJformVersion("87"); +// cgreport_head.setJformType(2); +// cgreport_head.setRelationType(0); +// cgreport_head.setSubTableStr("jform_cgreport_item"); +// /* cgreport_head.setSqlPlugIn("select * from t_s_user"); */ +// +// commonDao.saveOrUpdate(cgreport_head); +// +// CgFormHeadEntity cgreport_item = new CgFormHeadEntity(); +// cgreport_item.setTableName("jform_cgreport_item"); +// cgreport_item.setIsTree("N"); +// cgreport_item.setIsPagination("Y"); +// cgreport_item.setIsCheckbox("N"); +// cgreport_item.setQuerymode("single"); +// cgreport_item.setIsDbSynch("N"); +// cgreport_item.setContent("动态报表配置明细"); +// cgreport_item.setCreateBy("admin"); +// cgreport_item.setCreateDate(new Date()); +// /* +// * cgreport_item.setJsPlugIn("0"); cgreport_item.setSqlPlugIn("0"); +// */ +// cgreport_item.setCreateName("管理员"); +// cgreport_item.setJformVersion("12"); +// cgreport_item.setJformType(3); +// cgreport_item.setRelationType(0); +// commonDao.saveOrUpdate(cgreport_item); CgFormHeadEntity customer = new CgFormHeadEntity(); customer.setTableName("jform_order_customer"); @@ -407,6 +412,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements customer.setIsDbSynch("N"); customer.setContent("订单客户信息"); customer.setCreateBy("admin"); + customer.setJformPkType("UUID"); customer.setCreateDate(new Date()); /* * customer.setJsPlugIn("alert(' hello world ');"); @@ -425,6 +431,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements ticket.setIsCheckbox("N"); ticket.setQuerymode("single"); ticket.setIsDbSynch("N"); + ticket.setJformPkType("UUID"); ticket.setContent("订单机票信息"); ticket.setCreateBy("admin"); ticket.setCreateDate(new Date()); @@ -446,6 +453,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements price1.setIsCheckbox("N"); price1.setQuerymode("group"); price1.setIsDbSynch("N"); + price1.setJformPkType("UUID"); price1.setContent("价格认证机构统计表"); price1.setCreateBy("admin"); price1.setCreateDate(new Date()); @@ -852,7 +860,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements jform_leave_day_num.setTable(jform_leave); jform_leave_day_num.setFieldLength(120); jform_leave_day_num.setIsKey("N"); - jform_leave_day_num.setIsNull("N"); + jform_leave_day_num.setIsNull("Y"); jform_leave_day_num.setIsQuery("N"); jform_leave_day_num.setIsShow("Y"); jform_leave_day_num.setIsShowList("Y"); @@ -871,400 +879,399 @@ public class RepairServiceImpl extends CommonServiceImpl implements jform_leave_day_num.setMainTable(""); jform_leave_day_num.setMainField(""); commonDao.saveOrUpdate(jform_leave_day_num); - // 表单[动态报表配置抬头] - 字段清单 - CgFormHeadEntity jform_cgreport_head = commonDao.findByProperty( - CgFormHeadEntity.class, "tableName", "jform_cgreport_head") - .get(0); - CgFormFieldEntity jform_cgreport_head_id = new CgFormFieldEntity(); - // begin - 动态报表配置的js增强 - String cgReportFormId = jform_cgreport_head.getId(); - CgformEnhanceJsEntity cgReportJs = new CgformEnhanceJsEntity(); - cgReportJs.setCgJsType("form"); - cgReportJs - .setCgJs(new BigInteger( - "242866756E6374696F6E28297B0D0A242822626F647922292E617070656E6428223C6C696E6B20687265663D5C22706C75672D696E2F6C68674469616C6F672F736B696E732F64656661756C742E6373735C222072656C3D5C227374796C6573686565745C222069643D5C226C68676469616C6F676C696E6B5C223E22293B0D0A766172202462746E203D202428223C64697620636C6173733D5C2275695F627574746F6E735C2220207374796C653D5C22646973706C61793A696E6C696E652D626C6F636B3B5C223E3C696E707574207374796C653D5C22706F736974696F6E3A2072656C61746976653B746F703A202D3870783B5C2220636C6173733D5C2275695F73746174655F686967686C696768745C2220747970653D5C22627574746F6E5C222076616C75653D5C2273716CBDE2CEF65C22202020202020202069643D5C2273716C416E616C797A655C22202F3E3C2F6469763E22293B0D0A242822236367725F73716C22292E6166746572282462746E293B0D0A2462746E2E636C69636B2866756E6374696F6E28297B0D0A20242E616A6178287B0D0A202020202075726C3A2263675265706F7274436F6E74726F6C6C65722E646F3F6765744669656C6473222C0D0A20202020646174613A7B73716C3A242822236367725F73716C22292E76616C28297D2C0D0A09747970653A22506F7374222C0D0A2020202064617461547970653A226A736F6E222C0D0A20202020737563636573733A66756E6374696F6E2864617461297B0D0A202020202020696628646174612E7374617475733D3D227375636365737322297B0D0A202020202020202020242822236164645F6A666F726D5F63677265706F72745F6974656D5F7461626C6522292E656D70747928293B0D0A202020202020242E6561636828646174612E64617461732C66756E6374696F6E28696E6465782C65297B0D0A202020202020202076617220247472203D20242822236164645F6A666F726D5F63677265706F72745F6974656D5F7461626C655F74656D706C61746520747222292E636C6F6E6528293B0D0A2020202020202474722E66696E64282274643A6571283129203A7465787422292E76616C2865293B0D0A202020202020202474722E66696E64282274643A6571283229203A7465787422292E76616C28696E646578293B0D0A202020202020202474722E66696E64282274643A6571283329203A7465787422292E76616C2865293B0D0A20202020202020242822236164645F6A666F726D5F63677265706F72745F6974656D5F7461626C6522292E617070656E6428247472293B0D0A2020202020207D293B200D0A20202020726573657454724E756D28226164645F6A666F726D5F63677265706F72745F6974656D5F7461626C6522293B0D0A202020207D656C73657B0D0A0909242E6D657373616765722E616C6572742827B4EDCEF3272C646174612E6461746173293B0D0A097D0D0A20207D0D0A20207D293B0D0A207D293B0D0A7D293B", - 16).toByteArray()); - cgReportJs.setFormId(cgReportFormId); - commonDao.saveOrUpdate(cgReportJs); - // end - 动态报表配置的js增强 - jform_cgreport_head_id.setFieldName("id"); - jform_cgreport_head_id.setTable(jform_cgreport_head); - jform_cgreport_head_id.setFieldLength(120); - jform_cgreport_head_id.setIsKey("Y"); - jform_cgreport_head_id.setIsNull("N"); - jform_cgreport_head_id.setIsQuery("N"); - jform_cgreport_head_id.setIsShow("N"); - jform_cgreport_head_id.setIsShowList("N"); - jform_cgreport_head_id.setShowType("checkbox"); - jform_cgreport_head_id.setLength(36); - jform_cgreport_head_id.setType("string"); - jform_cgreport_head_id.setOrderNum(0); - jform_cgreport_head_id.setPointLength(0); - jform_cgreport_head_id.setQueryMode("single"); - jform_cgreport_head_id.setContent("主键"); - jform_cgreport_head_id.setCreateBy("admin"); - jform_cgreport_head_id.setCreateDate(new Date()); - jform_cgreport_head_id.setCreateName("管理员"); - jform_cgreport_head_id.setDictField(""); - jform_cgreport_head_id.setDictTable(""); - jform_cgreport_head_id.setMainTable(""); - jform_cgreport_head_id.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_head_id); - - CgFormFieldEntity jform_cgreport_head_code = new CgFormFieldEntity(); - jform_cgreport_head_code.setFieldName("code"); - jform_cgreport_head_code.setTable(jform_cgreport_head); - jform_cgreport_head_code.setFieldLength(120); - jform_cgreport_head_code.setIsKey("N"); - jform_cgreport_head_code.setIsNull("N"); - jform_cgreport_head_code.setIsQuery("Y"); - jform_cgreport_head_code.setIsShow("Y"); - jform_cgreport_head_code.setIsShowList("Y"); - jform_cgreport_head_code.setShowType("text"); - jform_cgreport_head_code.setLength(36); - jform_cgreport_head_code.setType("string"); - jform_cgreport_head_code.setOrderNum(1); - jform_cgreport_head_code.setPointLength(0); - jform_cgreport_head_code.setQueryMode("single"); - jform_cgreport_head_code.setContent("编码"); - jform_cgreport_head_code.setCreateBy("admin"); - jform_cgreport_head_code.setCreateDate(new Date()); - jform_cgreport_head_code.setCreateName("管理员"); - jform_cgreport_head_code.setDictField(""); - jform_cgreport_head_code.setDictTable(""); - jform_cgreport_head_code.setMainTable(""); - jform_cgreport_head_code.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_head_code); - - CgFormFieldEntity jform_cgreport_head_name = new CgFormFieldEntity(); - jform_cgreport_head_name.setFieldName("name"); - jform_cgreport_head_name.setTable(jform_cgreport_head); - jform_cgreport_head_name.setFieldLength(120); - jform_cgreport_head_name.setIsKey("N"); - jform_cgreport_head_name.setIsNull("N"); - jform_cgreport_head_name.setIsQuery("Y"); - jform_cgreport_head_name.setIsShow("Y"); - jform_cgreport_head_name.setIsShowList("Y"); - jform_cgreport_head_name.setShowType("text"); - jform_cgreport_head_name.setLength(100); - jform_cgreport_head_name.setType("string"); - jform_cgreport_head_name.setOrderNum(2); - jform_cgreport_head_name.setPointLength(0); - jform_cgreport_head_name.setQueryMode("single"); - jform_cgreport_head_name.setContent("名称"); - jform_cgreport_head_name.setCreateBy("admin"); - jform_cgreport_head_name.setCreateDate(new Date()); - jform_cgreport_head_name.setCreateName("管理员"); - jform_cgreport_head_name.setDictField(""); - jform_cgreport_head_name.setDictTable(""); - jform_cgreport_head_name.setMainTable(""); - jform_cgreport_head_name.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_head_name); - - CgFormFieldEntity jform_cgreport_head_cgr_sql = new CgFormFieldEntity(); - jform_cgreport_head_cgr_sql.setFieldName("cgr_sql"); - jform_cgreport_head_cgr_sql.setTable(jform_cgreport_head); - jform_cgreport_head_cgr_sql.setFieldLength(120); - jform_cgreport_head_cgr_sql.setIsKey("N"); - jform_cgreport_head_cgr_sql.setIsNull("N"); - jform_cgreport_head_cgr_sql.setIsQuery("Y"); - jform_cgreport_head_cgr_sql.setIsShow("Y"); - jform_cgreport_head_cgr_sql.setIsShowList("Y"); - jform_cgreport_head_cgr_sql.setShowType("textarea"); - jform_cgreport_head_cgr_sql.setLength(2000); - jform_cgreport_head_cgr_sql.setType("string"); - jform_cgreport_head_cgr_sql.setOrderNum(3); - jform_cgreport_head_cgr_sql.setPointLength(0); - jform_cgreport_head_cgr_sql.setQueryMode("single"); - jform_cgreport_head_cgr_sql.setContent("查询数据SQL"); - jform_cgreport_head_cgr_sql.setCreateBy("admin"); - jform_cgreport_head_cgr_sql.setCreateDate(new Date()); - jform_cgreport_head_cgr_sql.setCreateName("管理员"); - jform_cgreport_head_cgr_sql.setDictField(""); - jform_cgreport_head_cgr_sql.setDictTable(""); - jform_cgreport_head_cgr_sql.setMainTable(""); - jform_cgreport_head_cgr_sql.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_head_cgr_sql); - - CgFormFieldEntity jform_cgreport_head_content = new CgFormFieldEntity(); - jform_cgreport_head_content.setFieldName("content"); - jform_cgreport_head_content.setTable(jform_cgreport_head); - jform_cgreport_head_content.setFieldLength(120); - jform_cgreport_head_content.setIsKey("N"); - jform_cgreport_head_content.setIsNull("N"); - jform_cgreport_head_content.setIsQuery("Y"); - jform_cgreport_head_content.setIsShow("Y"); - jform_cgreport_head_content.setIsShowList("Y"); - jform_cgreport_head_content.setShowType("textarea"); - jform_cgreport_head_content.setLength(1000); - jform_cgreport_head_content.setType("string"); - jform_cgreport_head_content.setOrderNum(4); - jform_cgreport_head_content.setPointLength(0); - jform_cgreport_head_content.setQueryMode("single"); - jform_cgreport_head_content.setContent("描述"); - jform_cgreport_head_content.setCreateBy("admin"); - jform_cgreport_head_content.setCreateDate(new Date()); - jform_cgreport_head_content.setCreateName("管理员"); - jform_cgreport_head_content.setDictField(""); - jform_cgreport_head_content.setDictTable(""); - jform_cgreport_head_content.setMainTable(""); - jform_cgreport_head_content.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_head_content); - - // 表单[动态报表配置明细] - 字段清单 - CgFormHeadEntity jform_cgreport_item = commonDao.findByProperty( - CgFormHeadEntity.class, "tableName", "jform_cgreport_item") - .get(0); - CgFormFieldEntity jform_cgreport_item_id = new CgFormFieldEntity(); - jform_cgreport_item_id.setFieldName("id"); - jform_cgreport_item_id.setTable(jform_cgreport_item); - jform_cgreport_item_id.setFieldLength(120); - jform_cgreport_item_id.setIsKey("Y"); - jform_cgreport_item_id.setIsNull("N"); - jform_cgreport_item_id.setIsQuery("N"); - jform_cgreport_item_id.setIsShow("N"); - jform_cgreport_item_id.setIsShowList("N"); - jform_cgreport_item_id.setShowType("checkbox"); - jform_cgreport_item_id.setLength(36); - jform_cgreport_item_id.setType("string"); - jform_cgreport_item_id.setOrderNum(0); - jform_cgreport_item_id.setPointLength(0); - jform_cgreport_item_id.setQueryMode("single"); - jform_cgreport_item_id.setContent("主键"); - jform_cgreport_item_id.setCreateBy("admin"); - jform_cgreport_item_id.setCreateDate(new Date()); - jform_cgreport_item_id.setCreateName("管理员"); - jform_cgreport_item_id.setDictField(""); - jform_cgreport_item_id.setDictTable(""); - jform_cgreport_item_id.setMainTable(""); - jform_cgreport_item_id.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_id); - - CgFormFieldEntity jform_cgreport_item_field_name = new CgFormFieldEntity(); - jform_cgreport_item_field_name.setFieldName("field_name"); - jform_cgreport_item_field_name.setTable(jform_cgreport_item); - jform_cgreport_item_field_name.setFieldLength(120); - jform_cgreport_item_field_name.setIsKey("N"); - jform_cgreport_item_field_name.setIsNull("Y"); - jform_cgreport_item_field_name.setIsQuery("N"); - jform_cgreport_item_field_name.setIsShow("Y"); - jform_cgreport_item_field_name.setIsShowList("Y"); - jform_cgreport_item_field_name.setShowType("text"); - jform_cgreport_item_field_name.setLength(36); - jform_cgreport_item_field_name.setType("string"); - jform_cgreport_item_field_name.setOrderNum(1); - jform_cgreport_item_field_name.setPointLength(0); - jform_cgreport_item_field_name.setQueryMode("single"); - jform_cgreport_item_field_name.setContent("字段名"); - jform_cgreport_item_field_name.setCreateBy("admin"); - jform_cgreport_item_field_name.setCreateDate(new Date()); - jform_cgreport_item_field_name.setCreateName("管理员"); - jform_cgreport_item_field_name.setDictField(""); - jform_cgreport_item_field_name.setDictTable(""); - jform_cgreport_item_field_name.setMainTable(""); - jform_cgreport_item_field_name.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_field_name); - - CgFormFieldEntity jform_cgreport_item_order_num = new CgFormFieldEntity(); - jform_cgreport_item_order_num.setFieldName("order_num"); - jform_cgreport_item_order_num.setTable(jform_cgreport_item); - jform_cgreport_item_order_num.setFieldLength(120); - jform_cgreport_item_order_num.setIsKey("N"); - jform_cgreport_item_order_num.setIsNull("Y"); - jform_cgreport_item_order_num.setIsQuery("N"); - jform_cgreport_item_order_num.setIsShow("Y"); - jform_cgreport_item_order_num.setIsShowList("Y"); - jform_cgreport_item_order_num.setShowType("text"); - jform_cgreport_item_order_num.setLength(10); - jform_cgreport_item_order_num.setType("int"); - jform_cgreport_item_order_num.setOrderNum(2); - jform_cgreport_item_order_num.setPointLength(0); - jform_cgreport_item_order_num.setQueryMode("single"); - jform_cgreport_item_order_num.setContent("字段序号"); - jform_cgreport_item_order_num.setCreateBy("admin"); - jform_cgreport_item_order_num.setCreateDate(new Date()); - jform_cgreport_item_order_num.setCreateName("管理员"); - jform_cgreport_item_order_num.setDictField(""); - jform_cgreport_item_order_num.setDictTable(""); - jform_cgreport_item_order_num.setMainTable(""); - jform_cgreport_item_order_num.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_order_num); - - CgFormFieldEntity jform_cgreport_item_s_mode = new CgFormFieldEntity(); - jform_cgreport_item_s_mode.setFieldName("s_mode"); - jform_cgreport_item_s_mode.setTable(jform_cgreport_item); - jform_cgreport_item_s_mode.setFieldLength(120); - jform_cgreport_item_s_mode.setIsKey("N"); - jform_cgreport_item_s_mode.setIsNull("Y"); - jform_cgreport_item_s_mode.setIsQuery("N"); - jform_cgreport_item_s_mode.setIsShow("Y"); - jform_cgreport_item_s_mode.setIsShowList("Y"); - jform_cgreport_item_s_mode.setShowType("list"); - jform_cgreport_item_s_mode.setLength(10); - jform_cgreport_item_s_mode.setType("string"); - jform_cgreport_item_s_mode.setOrderNum(5); - jform_cgreport_item_s_mode.setPointLength(0); - jform_cgreport_item_s_mode.setQueryMode("single"); - jform_cgreport_item_s_mode.setContent("查询模式"); - jform_cgreport_item_s_mode.setCreateBy("admin"); - jform_cgreport_item_s_mode.setCreateDate(new Date()); - jform_cgreport_item_s_mode.setCreateName("管理员"); - jform_cgreport_item_s_mode.setDictField("searchmode"); - jform_cgreport_item_s_mode.setDictTable(""); - jform_cgreport_item_s_mode.setMainTable(""); - jform_cgreport_item_s_mode.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_s_mode); - - CgFormFieldEntity jform_cgreport_item_replace_va = new CgFormFieldEntity(); - jform_cgreport_item_replace_va.setFieldName("replace_va"); - jform_cgreport_item_replace_va.setTable(jform_cgreport_item); - jform_cgreport_item_replace_va.setFieldLength(120); - jform_cgreport_item_replace_va.setIsKey("N"); - jform_cgreport_item_replace_va.setIsNull("Y"); - jform_cgreport_item_replace_va.setIsQuery("N"); - jform_cgreport_item_replace_va.setIsShow("Y"); - jform_cgreport_item_replace_va.setIsShowList("Y"); - jform_cgreport_item_replace_va.setShowType("text"); - jform_cgreport_item_replace_va.setLength(36); - jform_cgreport_item_replace_va.setType("string"); - jform_cgreport_item_replace_va.setOrderNum(6); - jform_cgreport_item_replace_va.setPointLength(0); - jform_cgreport_item_replace_va.setQueryMode("single"); - jform_cgreport_item_replace_va.setContent("取值表达式"); - jform_cgreport_item_replace_va.setCreateBy("admin"); - jform_cgreport_item_replace_va.setCreateDate(new Date()); - jform_cgreport_item_replace_va.setCreateName("管理员"); - jform_cgreport_item_replace_va.setDictField(""); - jform_cgreport_item_replace_va.setDictTable(""); - jform_cgreport_item_replace_va.setMainTable(""); - jform_cgreport_item_replace_va.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_replace_va); - - CgFormFieldEntity jform_cgreport_item_dict_code = new CgFormFieldEntity(); - jform_cgreport_item_dict_code.setFieldName("dict_code"); - jform_cgreport_item_dict_code.setTable(jform_cgreport_item); - jform_cgreport_item_dict_code.setFieldLength(120); - jform_cgreport_item_dict_code.setIsKey("N"); - jform_cgreport_item_dict_code.setIsNull("Y"); - jform_cgreport_item_dict_code.setIsQuery("N"); - jform_cgreport_item_dict_code.setIsShow("Y"); - jform_cgreport_item_dict_code.setIsShowList("Y"); - jform_cgreport_item_dict_code.setShowType("text"); - jform_cgreport_item_dict_code.setLength(36); - jform_cgreport_item_dict_code.setType("string"); - jform_cgreport_item_dict_code.setOrderNum(7); - jform_cgreport_item_dict_code.setPointLength(0); - jform_cgreport_item_dict_code.setQueryMode("single"); - jform_cgreport_item_dict_code.setContent("字典Code"); - jform_cgreport_item_dict_code.setCreateBy("admin"); - jform_cgreport_item_dict_code.setCreateDate(new Date()); - jform_cgreport_item_dict_code.setCreateName("管理员"); - jform_cgreport_item_dict_code.setDictField(""); - jform_cgreport_item_dict_code.setDictTable(""); - jform_cgreport_item_dict_code.setMainTable(""); - jform_cgreport_item_dict_code.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_dict_code); - - CgFormFieldEntity jform_cgreport_item_s_flag = new CgFormFieldEntity(); - jform_cgreport_item_s_flag.setFieldName("s_flag"); - jform_cgreport_item_s_flag.setTable(jform_cgreport_item); - jform_cgreport_item_s_flag.setFieldLength(120); - jform_cgreport_item_s_flag.setIsKey("N"); - jform_cgreport_item_s_flag.setIsNull("Y"); - jform_cgreport_item_s_flag.setIsQuery("N"); - jform_cgreport_item_s_flag.setIsShow("Y"); - jform_cgreport_item_s_flag.setIsShowList("Y"); - jform_cgreport_item_s_flag.setShowType("list"); - jform_cgreport_item_s_flag.setLength(2); - jform_cgreport_item_s_flag.setType("string"); - jform_cgreport_item_s_flag.setOrderNum(8); - jform_cgreport_item_s_flag.setPointLength(0); - jform_cgreport_item_s_flag.setQueryMode("single"); - jform_cgreport_item_s_flag.setContent("是否查询"); - jform_cgreport_item_s_flag.setCreateBy("admin"); - jform_cgreport_item_s_flag.setCreateDate(new Date()); - jform_cgreport_item_s_flag.setCreateName("管理员"); - jform_cgreport_item_s_flag.setDictField("yesorno"); - jform_cgreport_item_s_flag.setDictTable(""); - jform_cgreport_item_s_flag.setMainTable(""); - jform_cgreport_item_s_flag.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_s_flag); - - CgFormFieldEntity jform_cgreport_item_cgrhead_id = new CgFormFieldEntity(); - jform_cgreport_item_cgrhead_id.setFieldName("cgrhead_id"); - jform_cgreport_item_cgrhead_id.setTable(jform_cgreport_item); - jform_cgreport_item_cgrhead_id.setFieldLength(120); - jform_cgreport_item_cgrhead_id.setIsKey("N"); - jform_cgreport_item_cgrhead_id.setIsNull("Y"); - jform_cgreport_item_cgrhead_id.setIsQuery("N"); - jform_cgreport_item_cgrhead_id.setIsShow("N"); - jform_cgreport_item_cgrhead_id.setIsShowList("N"); - jform_cgreport_item_cgrhead_id.setShowType("text"); - jform_cgreport_item_cgrhead_id.setLength(36); - jform_cgreport_item_cgrhead_id.setType("string"); - jform_cgreport_item_cgrhead_id.setOrderNum(9); - jform_cgreport_item_cgrhead_id.setPointLength(0); - jform_cgreport_item_cgrhead_id.setQueryMode("single"); - jform_cgreport_item_cgrhead_id.setContent("外键"); - jform_cgreport_item_cgrhead_id.setCreateBy("admin"); - jform_cgreport_item_cgrhead_id.setCreateDate(new Date()); - jform_cgreport_item_cgrhead_id.setCreateName("管理员"); - jform_cgreport_item_cgrhead_id.setDictField(""); - jform_cgreport_item_cgrhead_id.setDictTable(""); - jform_cgreport_item_cgrhead_id.setMainTable("jform_cgreport_head"); - jform_cgreport_item_cgrhead_id.setMainField("id"); - commonDao.saveOrUpdate(jform_cgreport_item_cgrhead_id); - - CgFormFieldEntity jform_cgreport_item_field_txt = new CgFormFieldEntity(); - jform_cgreport_item_field_txt.setFieldName("field_txt"); - jform_cgreport_item_field_txt.setTable(jform_cgreport_item); - jform_cgreport_item_field_txt.setFieldLength(120); - jform_cgreport_item_field_txt.setIsKey("N"); - jform_cgreport_item_field_txt.setIsNull("Y"); - jform_cgreport_item_field_txt.setIsQuery("N"); - jform_cgreport_item_field_txt.setIsShow("Y"); - jform_cgreport_item_field_txt.setIsShowList("Y"); - jform_cgreport_item_field_txt.setShowType("text"); - jform_cgreport_item_field_txt.setLength(1000); - jform_cgreport_item_field_txt.setType("string"); - jform_cgreport_item_field_txt.setOrderNum(3); - jform_cgreport_item_field_txt.setPointLength(0); - jform_cgreport_item_field_txt.setQueryMode("single"); - jform_cgreport_item_field_txt.setContent("字段文本"); - jform_cgreport_item_field_txt.setCreateBy("admin"); - jform_cgreport_item_field_txt.setCreateDate(new Date()); - jform_cgreport_item_field_txt.setCreateName("管理员"); - jform_cgreport_item_field_txt.setDictField(""); - jform_cgreport_item_field_txt.setDictTable(""); - jform_cgreport_item_field_txt.setMainTable(""); - jform_cgreport_item_field_txt.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_field_txt); - - CgFormFieldEntity jform_cgreport_item_field_type = new CgFormFieldEntity(); - jform_cgreport_item_field_type.setFieldName("field_type"); - jform_cgreport_item_field_type.setTable(jform_cgreport_item); - jform_cgreport_item_field_type.setFieldLength(120); - jform_cgreport_item_field_type.setIsKey("N"); - jform_cgreport_item_field_type.setIsNull("Y"); - jform_cgreport_item_field_type.setIsQuery("N"); - jform_cgreport_item_field_type.setIsShow("Y"); - jform_cgreport_item_field_type.setIsShowList("Y"); - jform_cgreport_item_field_type.setShowType("list"); - jform_cgreport_item_field_type.setLength(10); - jform_cgreport_item_field_type.setType("string"); - jform_cgreport_item_field_type.setOrderNum(4); - jform_cgreport_item_field_type.setPointLength(0); - jform_cgreport_item_field_type.setQueryMode("single"); - jform_cgreport_item_field_type.setContent("字段类型"); - jform_cgreport_item_field_type.setCreateBy("admin"); - jform_cgreport_item_field_type.setCreateDate(new Date()); - jform_cgreport_item_field_type.setCreateName("管理员"); - jform_cgreport_item_field_type.setDictField("fieldtype"); - jform_cgreport_item_field_type.setDictTable(""); - jform_cgreport_item_field_type.setMainTable(""); - jform_cgreport_item_field_type.setMainField(""); - commonDao.saveOrUpdate(jform_cgreport_item_field_type); +// CgFormHeadEntity jform_cgreport_head = commonDao.findByProperty( +// CgFormHeadEntity.class, "tableName", "jform_cgreport_head") +// .get(0); +// CgFormFieldEntity jform_cgreport_head_id = new CgFormFieldEntity(); +// // begin - 动态报表配置的js增强 +// String cgReportFormId = jform_cgreport_head.getId(); +// CgformEnhanceJsEntity cgReportJs = new CgformEnhanceJsEntity(); +// cgReportJs.setCgJsType("form"); +// cgReportJs +// .setCgJs(new BigInteger( +// "242866756E6374696F6E28297B0D0A242822626F647922292E617070656E6428223C6C696E6B20687265663D5C22706C75672D696E2F6C68674469616C6F672F736B696E732F64656661756C742E6373735C222072656C3D5C227374796C6573686565745C222069643D5C226C68676469616C6F676C696E6B5C223E22293B0D0A766172202462746E203D202428223C64697620636C6173733D5C2275695F627574746F6E735C2220207374796C653D5C22646973706C61793A696E6C696E652D626C6F636B3B5C223E3C696E707574207374796C653D5C22706F736974696F6E3A2072656C61746976653B746F703A202D3870783B5C2220636C6173733D5C2275695F73746174655F686967686C696768745C2220747970653D5C22627574746F6E5C222076616C75653D5C2273716CBDE2CEF65C22202020202020202069643D5C2273716C416E616C797A655C22202F3E3C2F6469763E22293B0D0A242822236367725F73716C22292E6166746572282462746E293B0D0A2462746E2E636C69636B2866756E6374696F6E28297B0D0A20242E616A6178287B0D0A202020202075726C3A2263675265706F7274436F6E74726F6C6C65722E646F3F6765744669656C6473222C0D0A20202020646174613A7B73716C3A242822236367725F73716C22292E76616C28297D2C0D0A09747970653A22506F7374222C0D0A2020202064617461547970653A226A736F6E222C0D0A20202020737563636573733A66756E6374696F6E2864617461297B0D0A202020202020696628646174612E7374617475733D3D227375636365737322297B0D0A202020202020202020242822236164645F6A666F726D5F63677265706F72745F6974656D5F7461626C6522292E656D70747928293B0D0A202020202020242E6561636828646174612E64617461732C66756E6374696F6E28696E6465782C65297B0D0A202020202020202076617220247472203D20242822236164645F6A666F726D5F63677265706F72745F6974656D5F7461626C655F74656D706C61746520747222292E636C6F6E6528293B0D0A2020202020202474722E66696E64282274643A6571283129203A7465787422292E76616C2865293B0D0A202020202020202474722E66696E64282274643A6571283229203A7465787422292E76616C28696E646578293B0D0A202020202020202474722E66696E64282274643A6571283329203A7465787422292E76616C2865293B0D0A20202020202020242822236164645F6A666F726D5F63677265706F72745F6974656D5F7461626C6522292E617070656E6428247472293B0D0A2020202020207D293B200D0A20202020726573657454724E756D28226164645F6A666F726D5F63677265706F72745F6974656D5F7461626C6522293B0D0A202020207D656C73657B0D0A0909242E6D657373616765722E616C6572742827B4EDCEF3272C646174612E6461746173293B0D0A097D0D0A20207D0D0A20207D293B0D0A207D293B0D0A7D293B", +// 16).toByteArray()); +// cgReportJs.setFormId(cgReportFormId); +// commonDao.saveOrUpdate(cgReportJs); +// // end - 动态报表配置的js增强 +// jform_cgreport_head_id.setFieldName("id"); +// jform_cgreport_head_id.setTable(jform_cgreport_head); +// jform_cgreport_head_id.setFieldLength(120); +// jform_cgreport_head_id.setIsKey("Y"); +// jform_cgreport_head_id.setIsNull("N"); +// jform_cgreport_head_id.setIsQuery("N"); +// jform_cgreport_head_id.setIsShow("N"); +// jform_cgreport_head_id.setIsShowList("N"); +// jform_cgreport_head_id.setShowType("checkbox"); +// jform_cgreport_head_id.setLength(36); +// jform_cgreport_head_id.setType("string"); +// jform_cgreport_head_id.setOrderNum(0); +// jform_cgreport_head_id.setPointLength(0); +// jform_cgreport_head_id.setQueryMode("single"); +// jform_cgreport_head_id.setContent("主键"); +// jform_cgreport_head_id.setCreateBy("admin"); +// jform_cgreport_head_id.setCreateDate(new Date()); +// jform_cgreport_head_id.setCreateName("管理员"); +// jform_cgreport_head_id.setDictField(""); +// jform_cgreport_head_id.setDictTable(""); +// jform_cgreport_head_id.setMainTable(""); +// jform_cgreport_head_id.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_head_id); +// +// CgFormFieldEntity jform_cgreport_head_code = new CgFormFieldEntity(); +// jform_cgreport_head_code.setFieldName("code"); +// jform_cgreport_head_code.setTable(jform_cgreport_head); +// jform_cgreport_head_code.setFieldLength(120); +// jform_cgreport_head_code.setIsKey("N"); +// jform_cgreport_head_code.setIsNull("N"); +// jform_cgreport_head_code.setIsQuery("Y"); +// jform_cgreport_head_code.setIsShow("Y"); +// jform_cgreport_head_code.setIsShowList("Y"); +// jform_cgreport_head_code.setShowType("text"); +// jform_cgreport_head_code.setLength(36); +// jform_cgreport_head_code.setType("string"); +// jform_cgreport_head_code.setOrderNum(1); +// jform_cgreport_head_code.setPointLength(0); +// jform_cgreport_head_code.setQueryMode("single"); +// jform_cgreport_head_code.setContent("编码"); +// jform_cgreport_head_code.setCreateBy("admin"); +// jform_cgreport_head_code.setCreateDate(new Date()); +// jform_cgreport_head_code.setCreateName("管理员"); +// jform_cgreport_head_code.setDictField(""); +// jform_cgreport_head_code.setDictTable(""); +// jform_cgreport_head_code.setMainTable(""); +// jform_cgreport_head_code.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_head_code); +// +// CgFormFieldEntity jform_cgreport_head_name = new CgFormFieldEntity(); +// jform_cgreport_head_name.setFieldName("name"); +// jform_cgreport_head_name.setTable(jform_cgreport_head); +// jform_cgreport_head_name.setFieldLength(120); +// jform_cgreport_head_name.setIsKey("N"); +// jform_cgreport_head_name.setIsNull("N"); +// jform_cgreport_head_name.setIsQuery("Y"); +// jform_cgreport_head_name.setIsShow("Y"); +// jform_cgreport_head_name.setIsShowList("Y"); +// jform_cgreport_head_name.setShowType("text"); +// jform_cgreport_head_name.setLength(100); +// jform_cgreport_head_name.setType("string"); +// jform_cgreport_head_name.setOrderNum(2); +// jform_cgreport_head_name.setPointLength(0); +// jform_cgreport_head_name.setQueryMode("single"); +// jform_cgreport_head_name.setContent("名称"); +// jform_cgreport_head_name.setCreateBy("admin"); +// jform_cgreport_head_name.setCreateDate(new Date()); +// jform_cgreport_head_name.setCreateName("管理员"); +// jform_cgreport_head_name.setDictField(""); +// jform_cgreport_head_name.setDictTable(""); +// jform_cgreport_head_name.setMainTable(""); +// jform_cgreport_head_name.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_head_name); +// +// CgFormFieldEntity jform_cgreport_head_cgr_sql = new CgFormFieldEntity(); +// jform_cgreport_head_cgr_sql.setFieldName("cgr_sql"); +// jform_cgreport_head_cgr_sql.setTable(jform_cgreport_head); +// jform_cgreport_head_cgr_sql.setFieldLength(120); +// jform_cgreport_head_cgr_sql.setIsKey("N"); +// jform_cgreport_head_cgr_sql.setIsNull("N"); +// jform_cgreport_head_cgr_sql.setIsQuery("Y"); +// jform_cgreport_head_cgr_sql.setIsShow("Y"); +// jform_cgreport_head_cgr_sql.setIsShowList("Y"); +// jform_cgreport_head_cgr_sql.setShowType("textarea"); +// jform_cgreport_head_cgr_sql.setLength(2000); +// jform_cgreport_head_cgr_sql.setType("string"); +// jform_cgreport_head_cgr_sql.setOrderNum(3); +// jform_cgreport_head_cgr_sql.setPointLength(0); +// jform_cgreport_head_cgr_sql.setQueryMode("single"); +// jform_cgreport_head_cgr_sql.setContent("查询数据SQL"); +// jform_cgreport_head_cgr_sql.setCreateBy("admin"); +// jform_cgreport_head_cgr_sql.setCreateDate(new Date()); +// jform_cgreport_head_cgr_sql.setCreateName("管理员"); +// jform_cgreport_head_cgr_sql.setDictField(""); +// jform_cgreport_head_cgr_sql.setDictTable(""); +// jform_cgreport_head_cgr_sql.setMainTable(""); +// jform_cgreport_head_cgr_sql.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_head_cgr_sql); +// +// CgFormFieldEntity jform_cgreport_head_content = new CgFormFieldEntity(); +// jform_cgreport_head_content.setFieldName("content"); +// jform_cgreport_head_content.setTable(jform_cgreport_head); +// jform_cgreport_head_content.setFieldLength(120); +// jform_cgreport_head_content.setIsKey("N"); +// jform_cgreport_head_content.setIsNull("N"); +// jform_cgreport_head_content.setIsQuery("Y"); +// jform_cgreport_head_content.setIsShow("Y"); +// jform_cgreport_head_content.setIsShowList("Y"); +// jform_cgreport_head_content.setShowType("textarea"); +// jform_cgreport_head_content.setLength(1000); +// jform_cgreport_head_content.setType("string"); +// jform_cgreport_head_content.setOrderNum(4); +// jform_cgreport_head_content.setPointLength(0); +// jform_cgreport_head_content.setQueryMode("single"); +// jform_cgreport_head_content.setContent("描述"); +// jform_cgreport_head_content.setCreateBy("admin"); +// jform_cgreport_head_content.setCreateDate(new Date()); +// jform_cgreport_head_content.setCreateName("管理员"); +// jform_cgreport_head_content.setDictField(""); +// jform_cgreport_head_content.setDictTable(""); +// jform_cgreport_head_content.setMainTable(""); +// jform_cgreport_head_content.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_head_content); +// +// // 表单[动态报表配置明细] - 字段清单 +// CgFormHeadEntity jform_cgreport_item = commonDao.findByProperty( +// CgFormHeadEntity.class, "tableName", "jform_cgreport_item") +// .get(0); +// CgFormFieldEntity jform_cgreport_item_id = new CgFormFieldEntity(); +// jform_cgreport_item_id.setFieldName("id"); +// jform_cgreport_item_id.setTable(jform_cgreport_item); +// jform_cgreport_item_id.setFieldLength(120); +// jform_cgreport_item_id.setIsKey("Y"); +// jform_cgreport_item_id.setIsNull("N"); +// jform_cgreport_item_id.setIsQuery("N"); +// jform_cgreport_item_id.setIsShow("N"); +// jform_cgreport_item_id.setIsShowList("N"); +// jform_cgreport_item_id.setShowType("checkbox"); +// jform_cgreport_item_id.setLength(36); +// jform_cgreport_item_id.setType("string"); +// jform_cgreport_item_id.setOrderNum(0); +// jform_cgreport_item_id.setPointLength(0); +// jform_cgreport_item_id.setQueryMode("single"); +// jform_cgreport_item_id.setContent("主键"); +// jform_cgreport_item_id.setCreateBy("admin"); +// jform_cgreport_item_id.setCreateDate(new Date()); +// jform_cgreport_item_id.setCreateName("管理员"); +// jform_cgreport_item_id.setDictField(""); +// jform_cgreport_item_id.setDictTable(""); +// jform_cgreport_item_id.setMainTable(""); +// jform_cgreport_item_id.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_id); +// +// CgFormFieldEntity jform_cgreport_item_field_name = new CgFormFieldEntity(); +// jform_cgreport_item_field_name.setFieldName("field_name"); +// jform_cgreport_item_field_name.setTable(jform_cgreport_item); +// jform_cgreport_item_field_name.setFieldLength(120); +// jform_cgreport_item_field_name.setIsKey("N"); +// jform_cgreport_item_field_name.setIsNull("Y"); +// jform_cgreport_item_field_name.setIsQuery("N"); +// jform_cgreport_item_field_name.setIsShow("Y"); +// jform_cgreport_item_field_name.setIsShowList("Y"); +// jform_cgreport_item_field_name.setShowType("text"); +// jform_cgreport_item_field_name.setLength(36); +// jform_cgreport_item_field_name.setType("string"); +// jform_cgreport_item_field_name.setOrderNum(1); +// jform_cgreport_item_field_name.setPointLength(0); +// jform_cgreport_item_field_name.setQueryMode("single"); +// jform_cgreport_item_field_name.setContent("字段名"); +// jform_cgreport_item_field_name.setCreateBy("admin"); +// jform_cgreport_item_field_name.setCreateDate(new Date()); +// jform_cgreport_item_field_name.setCreateName("管理员"); +// jform_cgreport_item_field_name.setDictField(""); +// jform_cgreport_item_field_name.setDictTable(""); +// jform_cgreport_item_field_name.setMainTable(""); +// jform_cgreport_item_field_name.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_field_name); +// +// CgFormFieldEntity jform_cgreport_item_order_num = new CgFormFieldEntity(); +// jform_cgreport_item_order_num.setFieldName("order_num"); +// jform_cgreport_item_order_num.setTable(jform_cgreport_item); +// jform_cgreport_item_order_num.setFieldLength(120); +// jform_cgreport_item_order_num.setIsKey("N"); +// jform_cgreport_item_order_num.setIsNull("Y"); +// jform_cgreport_item_order_num.setIsQuery("N"); +// jform_cgreport_item_order_num.setIsShow("Y"); +// jform_cgreport_item_order_num.setIsShowList("Y"); +// jform_cgreport_item_order_num.setShowType("text"); +// jform_cgreport_item_order_num.setLength(10); +// jform_cgreport_item_order_num.setType("int"); +// jform_cgreport_item_order_num.setOrderNum(2); +// jform_cgreport_item_order_num.setPointLength(0); +// jform_cgreport_item_order_num.setQueryMode("single"); +// jform_cgreport_item_order_num.setContent("字段序号"); +// jform_cgreport_item_order_num.setCreateBy("admin"); +// jform_cgreport_item_order_num.setCreateDate(new Date()); +// jform_cgreport_item_order_num.setCreateName("管理员"); +// jform_cgreport_item_order_num.setDictField(""); +// jform_cgreport_item_order_num.setDictTable(""); +// jform_cgreport_item_order_num.setMainTable(""); +// jform_cgreport_item_order_num.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_order_num); +// +// CgFormFieldEntity jform_cgreport_item_s_mode = new CgFormFieldEntity(); +// jform_cgreport_item_s_mode.setFieldName("s_mode"); +// jform_cgreport_item_s_mode.setTable(jform_cgreport_item); +// jform_cgreport_item_s_mode.setFieldLength(120); +// jform_cgreport_item_s_mode.setIsKey("N"); +// jform_cgreport_item_s_mode.setIsNull("Y"); +// jform_cgreport_item_s_mode.setIsQuery("N"); +// jform_cgreport_item_s_mode.setIsShow("Y"); +// jform_cgreport_item_s_mode.setIsShowList("Y"); +// jform_cgreport_item_s_mode.setShowType("list"); +// jform_cgreport_item_s_mode.setLength(10); +// jform_cgreport_item_s_mode.setType("string"); +// jform_cgreport_item_s_mode.setOrderNum(5); +// jform_cgreport_item_s_mode.setPointLength(0); +// jform_cgreport_item_s_mode.setQueryMode("single"); +// jform_cgreport_item_s_mode.setContent("查询模式"); +// jform_cgreport_item_s_mode.setCreateBy("admin"); +// jform_cgreport_item_s_mode.setCreateDate(new Date()); +// jform_cgreport_item_s_mode.setCreateName("管理员"); +// jform_cgreport_item_s_mode.setDictField("searchmode"); +// jform_cgreport_item_s_mode.setDictTable(""); +// jform_cgreport_item_s_mode.setMainTable(""); +// jform_cgreport_item_s_mode.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_s_mode); +// +// CgFormFieldEntity jform_cgreport_item_replace_va = new CgFormFieldEntity(); +// jform_cgreport_item_replace_va.setFieldName("replace_va"); +// jform_cgreport_item_replace_va.setTable(jform_cgreport_item); +// jform_cgreport_item_replace_va.setFieldLength(120); +// jform_cgreport_item_replace_va.setIsKey("N"); +// jform_cgreport_item_replace_va.setIsNull("Y"); +// jform_cgreport_item_replace_va.setIsQuery("N"); +// jform_cgreport_item_replace_va.setIsShow("Y"); +// jform_cgreport_item_replace_va.setIsShowList("Y"); +// jform_cgreport_item_replace_va.setShowType("text"); +// jform_cgreport_item_replace_va.setLength(36); +// jform_cgreport_item_replace_va.setType("string"); +// jform_cgreport_item_replace_va.setOrderNum(6); +// jform_cgreport_item_replace_va.setPointLength(0); +// jform_cgreport_item_replace_va.setQueryMode("single"); +// jform_cgreport_item_replace_va.setContent("取值表达式"); +// jform_cgreport_item_replace_va.setCreateBy("admin"); +// jform_cgreport_item_replace_va.setCreateDate(new Date()); +// jform_cgreport_item_replace_va.setCreateName("管理员"); +// jform_cgreport_item_replace_va.setDictField(""); +// jform_cgreport_item_replace_va.setDictTable(""); +// jform_cgreport_item_replace_va.setMainTable(""); +// jform_cgreport_item_replace_va.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_replace_va); +// +// CgFormFieldEntity jform_cgreport_item_dict_code = new CgFormFieldEntity(); +// jform_cgreport_item_dict_code.setFieldName("dict_code"); +// jform_cgreport_item_dict_code.setTable(jform_cgreport_item); +// jform_cgreport_item_dict_code.setFieldLength(120); +// jform_cgreport_item_dict_code.setIsKey("N"); +// jform_cgreport_item_dict_code.setIsNull("Y"); +// jform_cgreport_item_dict_code.setIsQuery("N"); +// jform_cgreport_item_dict_code.setIsShow("Y"); +// jform_cgreport_item_dict_code.setIsShowList("Y"); +// jform_cgreport_item_dict_code.setShowType("text"); +// jform_cgreport_item_dict_code.setLength(36); +// jform_cgreport_item_dict_code.setType("string"); +// jform_cgreport_item_dict_code.setOrderNum(7); +// jform_cgreport_item_dict_code.setPointLength(0); +// jform_cgreport_item_dict_code.setQueryMode("single"); +// jform_cgreport_item_dict_code.setContent("字典Code"); +// jform_cgreport_item_dict_code.setCreateBy("admin"); +// jform_cgreport_item_dict_code.setCreateDate(new Date()); +// jform_cgreport_item_dict_code.setCreateName("管理员"); +// jform_cgreport_item_dict_code.setDictField(""); +// jform_cgreport_item_dict_code.setDictTable(""); +// jform_cgreport_item_dict_code.setMainTable(""); +// jform_cgreport_item_dict_code.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_dict_code); +// +// CgFormFieldEntity jform_cgreport_item_s_flag = new CgFormFieldEntity(); +// jform_cgreport_item_s_flag.setFieldName("s_flag"); +// jform_cgreport_item_s_flag.setTable(jform_cgreport_item); +// jform_cgreport_item_s_flag.setFieldLength(120); +// jform_cgreport_item_s_flag.setIsKey("N"); +// jform_cgreport_item_s_flag.setIsNull("Y"); +// jform_cgreport_item_s_flag.setIsQuery("N"); +// jform_cgreport_item_s_flag.setIsShow("Y"); +// jform_cgreport_item_s_flag.setIsShowList("Y"); +// jform_cgreport_item_s_flag.setShowType("list"); +// jform_cgreport_item_s_flag.setLength(2); +// jform_cgreport_item_s_flag.setType("string"); +// jform_cgreport_item_s_flag.setOrderNum(8); +// jform_cgreport_item_s_flag.setPointLength(0); +// jform_cgreport_item_s_flag.setQueryMode("single"); +// jform_cgreport_item_s_flag.setContent("是否查询"); +// jform_cgreport_item_s_flag.setCreateBy("admin"); +// jform_cgreport_item_s_flag.setCreateDate(new Date()); +// jform_cgreport_item_s_flag.setCreateName("管理员"); +// jform_cgreport_item_s_flag.setDictField("yesorno"); +// jform_cgreport_item_s_flag.setDictTable(""); +// jform_cgreport_item_s_flag.setMainTable(""); +// jform_cgreport_item_s_flag.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_s_flag); +// +// CgFormFieldEntity jform_cgreport_item_cgrhead_id = new CgFormFieldEntity(); +// jform_cgreport_item_cgrhead_id.setFieldName("cgrhead_id"); +// jform_cgreport_item_cgrhead_id.setTable(jform_cgreport_item); +// jform_cgreport_item_cgrhead_id.setFieldLength(120); +// jform_cgreport_item_cgrhead_id.setIsKey("N"); +// jform_cgreport_item_cgrhead_id.setIsNull("Y"); +// jform_cgreport_item_cgrhead_id.setIsQuery("N"); +// jform_cgreport_item_cgrhead_id.setIsShow("N"); +// jform_cgreport_item_cgrhead_id.setIsShowList("N"); +// jform_cgreport_item_cgrhead_id.setShowType("text"); +// jform_cgreport_item_cgrhead_id.setLength(36); +// jform_cgreport_item_cgrhead_id.setType("string"); +// jform_cgreport_item_cgrhead_id.setOrderNum(9); +// jform_cgreport_item_cgrhead_id.setPointLength(0); +// jform_cgreport_item_cgrhead_id.setQueryMode("single"); +// jform_cgreport_item_cgrhead_id.setContent("外键"); +// jform_cgreport_item_cgrhead_id.setCreateBy("admin"); +// jform_cgreport_item_cgrhead_id.setCreateDate(new Date()); +// jform_cgreport_item_cgrhead_id.setCreateName("管理员"); +// jform_cgreport_item_cgrhead_id.setDictField(""); +// jform_cgreport_item_cgrhead_id.setDictTable(""); +// jform_cgreport_item_cgrhead_id.setMainTable("jform_cgreport_head"); +// jform_cgreport_item_cgrhead_id.setMainField("id"); +// commonDao.saveOrUpdate(jform_cgreport_item_cgrhead_id); +// +// CgFormFieldEntity jform_cgreport_item_field_txt = new CgFormFieldEntity(); +// jform_cgreport_item_field_txt.setFieldName("field_txt"); +// jform_cgreport_item_field_txt.setTable(jform_cgreport_item); +// jform_cgreport_item_field_txt.setFieldLength(120); +// jform_cgreport_item_field_txt.setIsKey("N"); +// jform_cgreport_item_field_txt.setIsNull("Y"); +// jform_cgreport_item_field_txt.setIsQuery("N"); +// jform_cgreport_item_field_txt.setIsShow("Y"); +// jform_cgreport_item_field_txt.setIsShowList("Y"); +// jform_cgreport_item_field_txt.setShowType("text"); +// jform_cgreport_item_field_txt.setLength(1000); +// jform_cgreport_item_field_txt.setType("string"); +// jform_cgreport_item_field_txt.setOrderNum(3); +// jform_cgreport_item_field_txt.setPointLength(0); +// jform_cgreport_item_field_txt.setQueryMode("single"); +// jform_cgreport_item_field_txt.setContent("字段文本"); +// jform_cgreport_item_field_txt.setCreateBy("admin"); +// jform_cgreport_item_field_txt.setCreateDate(new Date()); +// jform_cgreport_item_field_txt.setCreateName("管理员"); +// jform_cgreport_item_field_txt.setDictField(""); +// jform_cgreport_item_field_txt.setDictTable(""); +// jform_cgreport_item_field_txt.setMainTable(""); +// jform_cgreport_item_field_txt.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_field_txt); +// +// CgFormFieldEntity jform_cgreport_item_field_type = new CgFormFieldEntity(); +// jform_cgreport_item_field_type.setFieldName("field_type"); +// jform_cgreport_item_field_type.setTable(jform_cgreport_item); +// jform_cgreport_item_field_type.setFieldLength(120); +// jform_cgreport_item_field_type.setIsKey("N"); +// jform_cgreport_item_field_type.setIsNull("Y"); +// jform_cgreport_item_field_type.setIsQuery("N"); +// jform_cgreport_item_field_type.setIsShow("Y"); +// jform_cgreport_item_field_type.setIsShowList("Y"); +// jform_cgreport_item_field_type.setShowType("list"); +// jform_cgreport_item_field_type.setLength(10); +// jform_cgreport_item_field_type.setType("string"); +// jform_cgreport_item_field_type.setOrderNum(4); +// jform_cgreport_item_field_type.setPointLength(0); +// jform_cgreport_item_field_type.setQueryMode("single"); +// jform_cgreport_item_field_type.setContent("字段类型"); +// jform_cgreport_item_field_type.setCreateBy("admin"); +// jform_cgreport_item_field_type.setCreateDate(new Date()); +// jform_cgreport_item_field_type.setCreateName("管理员"); +// jform_cgreport_item_field_type.setDictField("fieldtype"); +// jform_cgreport_item_field_type.setDictTable(""); +// jform_cgreport_item_field_type.setMainTable(""); +// jform_cgreport_item_field_type.setMainField(""); +// commonDao.saveOrUpdate(jform_cgreport_item_field_type); // 表单[订单客户信息] - 字段清单 CgFormHeadEntity jform_order_customer = commonDao.findByProperty( @@ -3116,9 +3123,10 @@ public class RepairServiceImpl extends CommonServiceImpl implements */ private void repairDemo() { TSDemo demo = new TSDemo(); + // ------------------------------------------------- // 复杂字符串文本读取,采用文件方式存储 - String html = new FreemarkerHelper().parseTemplate( - "/jeecg/system/txt/valid-code-demo.ftl", null); + String html = new FreemarkerHelper().parseTemplate("/org/jeecgframework/web/system/txt/valid-code-demo.ftl", null); + // ------------------------------------------------- demo.setDemocode(html); demo.setDemotitle("表单验证"); commonDao.saveOrUpdate(demo); @@ -3645,7 +3653,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements * @author tanghan 2013-7-19 */ private void repaireIcon() { - System.out.println("修复图标中"); + org.jeecgframework.core.util.LogUtil.info("修复图标中"); TSIcon back = new TSIcon(); back.setIconName("返回"); back.setIconType((short) 1); @@ -3725,7 +3733,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements .get(0); TSIcon folder = commonDao.findByProperty(TSIcon.class, "iconName", "文件夹").get(0); - System.out.println(pic.getIconPath()); + org.jeecgframework.core.util.LogUtil.info(pic.getIconPath()); TSFunction autoinput = new TSFunction(); autoinput.setFunctionName("Online 开发"); autoinput.setFunctionUrl(""); @@ -3810,15 +3818,6 @@ public class RepairServiceImpl extends CommonServiceImpl implements icon.setTSIcon(pic); commonDao.saveOrUpdate(icon); - // TSFunction typetabs = new TSFunction(); - // typetabs.setFunctionName("数据字典"); - // typetabs.setFunctionUrl("systemController.do?typeGroupTabs"); - // typetabs.setFunctionLevel((short)1); - // typetabs.setFunctionOrder("7"); - // typetabs.setTSFunction(sys); - // typetabs.setTSIcon(pic); - // commonDao.saveOrUpdate(typetabs); - TSFunction depart = new TSFunction(); depart.setFunctionName("部门管理"); depart.setFunctionUrl("departController.do?depart"); @@ -3854,8 +3853,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements commonDao.saveOrUpdate(formconfig); TSFunction formconfig1 = new TSFunction(); formconfig1.setFunctionName("动态报表配置"); - formconfig1 - .setFunctionUrl("cgAutoListController.do?list&id=jform_cgreport_head"); + formconfig1.setFunctionUrl("cgreportConfigHeadController.do?cgreportConfigHead"); formconfig1.setFunctionLevel((short) 1); formconfig1.setFunctionOrder("2"); formconfig1.setTSFunction(autoinput); @@ -3905,6 +3903,15 @@ public class RepairServiceImpl extends CommonServiceImpl implements demo.setTSIcon(pic); commonDao.saveOrUpdate(demo); + TSFunction minidao = new TSFunction(); + minidao.setFunctionName("Minidao例子"); + minidao.setFunctionUrl("jeecgMinidaoController.do?jeecgMinidao"); + minidao.setFunctionLevel((short) 1); + minidao.setFunctionOrder("2"); + minidao.setTSFunction(commondemo); + minidao.setTSIcon(pic); + commonDao.saveOrUpdate(minidao); + TSFunction onetable = new TSFunction(); onetable.setFunctionName("单表模型"); onetable.setFunctionUrl("jeecgNoteController.do?jeecgNote"); @@ -4034,7 +4041,7 @@ public class RepairServiceImpl extends CommonServiceImpl implements TSFunction Office = new TSFunction(); Office.setFunctionName("WebOffice官方例子"); - Office.setFunctionUrl("plug-in/webOffice/webOffice-sample.html?isIframe"); + Office.setFunctionUrl("webOfficeController.do?webOfficeSample&isIframe"); Office.setFunctionLevel((short) 1); Office.setFunctionOrder("17"); Office.setTSIcon(pic); diff --git a/src/jeecg/system/service/impl/SystemServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/SystemServiceImpl.java similarity index 87% rename from src/jeecg/system/service/impl/SystemServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/SystemServiceImpl.java index 3e57f513..251e1951 100644 --- a/src/jeecg/system/service/impl/SystemServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/SystemServiceImpl.java @@ -1,4 +1,4 @@ -package jeecg.system.service.impl; +package org.jeecgframework.web.system.service.impl; import java.util.HashSet; import java.util.List; @@ -7,16 +7,16 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import jeecg.system.pojo.base.TSFunction; -import jeecg.system.pojo.base.TSIcon; -import jeecg.system.pojo.base.TSLog; -import jeecg.system.pojo.base.TSRole; -import jeecg.system.pojo.base.TSRoleFunction; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSType; -import jeecg.system.pojo.base.TSTypegroup; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.pojo.base.TSLog; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSRoleFunction; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; @@ -91,13 +91,13 @@ public class SystemServiceImpl extends CommonServiceImpl implements SystemServic return tsTypegroup; } - @Override + public TSTypegroup getTypeGroupByCode(String typegroupCode) { TSTypegroup tsTypegroup = commonDao.findUniqueByProperty(TSTypegroup.class, "typegroupcode", typegroupCode); return tsTypegroup; } - @Override + public void initAllTypeGroups() { List typeGroups = this.commonDao.loadAll(TSTypegroup.class); for (TSTypegroup tsTypegroup : typeGroups) { @@ -107,7 +107,7 @@ public class SystemServiceImpl extends CommonServiceImpl implements SystemServic } } - @Override + public void refleshTypesCach(TSType type) { TSTypegroup tsTypegroup = type.getTSTypegroup(); TSTypegroup typeGroupEntity = this.commonDao.get(TSTypegroup.class, tsTypegroup.getId()); @@ -115,7 +115,7 @@ public class SystemServiceImpl extends CommonServiceImpl implements SystemServic TSTypegroup.allTypes.put(typeGroupEntity.getTypegroupcode().toLowerCase(), types); } - @Override + public void refleshTypeGroupCach() { TSTypegroup.allTypeGroups.clear(); List typeGroups = this.commonDao.loadAll(TSTypegroup.class); @@ -124,7 +124,10 @@ public class SystemServiceImpl extends CommonServiceImpl implements SystemServic } } - @Override + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + + public Set getOperationCodesByRoleIdAndFunctionId(String roleId, String functionId) { Set operationCodes = new HashSet(); TSRole role = commonDao.get(TSRole.class, roleId); @@ -145,7 +148,7 @@ public class SystemServiceImpl extends CommonServiceImpl implements SystemServic return operationCodes; } - @Override + public Set getOperationCodesByUserIdAndFunctionId(String userId, String functionId) { Set operationCodes = new HashSet(); List rUsers = findByProperty(TSRoleUser.class, "TSUser.id", userId); @@ -168,7 +171,10 @@ public class SystemServiceImpl extends CommonServiceImpl implements SystemServic } return operationCodes; } - @Override + + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + public void flushRoleFunciton(String id, TSFunction newFunction) { TSFunction functionEntity = this.getEntity(TSFunction.class, id); if (functionEntity.getTSIcon() == null || !StringUtil.isNotEmpty(functionEntity.getTSIcon().getId())) { diff --git a/src/jeecg/system/service/impl/TimeTaskServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/TimeTaskServiceImpl.java similarity index 73% rename from src/jeecg/system/service/impl/TimeTaskServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/TimeTaskServiceImpl.java index e05d3356..93eb8064 100644 --- a/src/jeecg/system/service/impl/TimeTaskServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/TimeTaskServiceImpl.java @@ -1,9 +1,9 @@ -package jeecg.system.service.impl; +package org.jeecgframework.web.system.service.impl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import jeecg.system.service.TimeTaskServiceI; +import org.jeecgframework.web.system.service.TimeTaskServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; diff --git a/src/jeecg/system/service/impl/UserServiceImpl.java b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/UserServiceImpl.java similarity index 79% rename from src/jeecg/system/service/impl/UserServiceImpl.java rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/UserServiceImpl.java index c5edbad2..f3641d72 100644 --- a/src/jeecg/system/service/impl/UserServiceImpl.java +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/service/impl/UserServiceImpl.java @@ -1,8 +1,8 @@ -package jeecg.system.service.impl; +package org.jeecgframework.web.system.service.impl; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; +import org.jeecgframework.web.system.pojo.base.TSRoleUser; +import org.jeecgframework.web.system.pojo.base.TSUser; +import org.jeecgframework.web.system.service.UserService; import org.hibernate.Criteria; import org.hibernate.criterion.Projections; @@ -11,7 +11,11 @@ import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - +/** + * + * @author 张代浩 + * + */ @Service("userService") @Transactional public class UserServiceImpl extends CommonServiceImpl implements UserService { @@ -22,11 +26,11 @@ public class UserServiceImpl extends CommonServiceImpl implements UserService { public String getUserRole(TSUser user){ return this.commonDao.getUserRole(user); } - @Override + public void pwdInit(TSUser user,String newPwd) { this.commonDao.pwdInit(user,newPwd); } - @Override + public int getUsersOfThisRole(String id) { Criteria criteria = getSession().createCriteria(TSRoleUser.class); criteria.add(Restrictions.eq("TSRole.id", id)); diff --git a/jeecg-framework/src/main/java/org/jeecgframework/web/system/sql/repair/RepairDao_batchRepairTerritory.sql b/jeecg-framework/src/main/java/org/jeecgframework/web/system/sql/repair/RepairDao_batchRepairTerritory.sql new file mode 100644 index 00000000..9dc9d373 --- /dev/null +++ b/jeecg-framework/src/main/java/org/jeecgframework/web/system/sql/repair/RepairDao_batchRepairTerritory.sql @@ -0,0 +1,900 @@ +INSERT INTO t_s_territory VALUES ('1', '100', '1', '全国', 'qg', '0', '106.258754', '38.471318', '0'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('100', '371300', '3', '临沂市', 'LYS', '0', '118.356448', '35.104672', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('101', '371400', '3', '德州市', 'DZS', '0', '116.357465', '37.434093', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('102', '371500', '3', '聊城市', 'LCS', '0', '115.985371', '36.4567039', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('103', '371600', '3', '滨州市', 'BZS', '0', '117.970703', '37.38199', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('104', '371700', '3', '菏泽市', 'HZS', '0', '115.480656', '35.23375', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('195', '370100', '3', '济南市', 'JNS', '0', '116.994917', '36.665282', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('89', '370200', '3', '青岛市', 'QDS', '0', '120.382504', '36.06722', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('90', '370300', '3', '淄博市', 'ZBS', '0', '118.055007', '36.813497', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('91', '370400', '3', '枣庄市', 'ZZS', '0', '117.323725', '34.810488', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('92', '370500', '3', '东营市', 'DYS', '0', '118.674767', '37.434751', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('93', '370600', '3', '烟台市', 'YTS', '0', '121.447926', '37.463819', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('94', '370700', '3', '潍坊市', 'WFS', '0', '119.16193', '36.706691', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('95', '370800', '3', '济宁市', 'JNS', '0', '116.587099', '35.414921', '18'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('10', '00000016', '2', '河南省', 'HNS', '0', '113.687228', '34.76819', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('11', '00000008', '2', '黑龙江省', 'HLJS', '0', '126.662507', '45.7421699', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('12', '20000000', '2', '上海市', 'SHS', '0', '121.473704', '31.230393', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('13', '00000010', '2', '江苏省', 'JSS', '0', '118.763232', '32.061707', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('14', '00000011', '2', '浙江省', 'ZJS', '0', '120.153676', '30.26586', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('15', '00000012', '2', '安徽省', 'AHS', '0', '117.284923', '31.861184', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('16', '00000013', '2', '福建省', 'FJS', '0', '119.296506', '26.099933', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('17', '00000014', '2', '江西省', 'JXS', '0', '115.909175', '28.674424', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('18', '00000015', '2', '山东省', 'SDS', '0', '117.020411', '36.668627', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('19', '00000017', '2', '湖北省', 'HBS', '0', '114.341921', '30.545861', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('20', '00000018', '2', '湖南省', 'HNS', '0', '112.98381', '28.112444', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('21', '40000000', '2', '重庆市', 'ZQS', '0', '106.551557', '29.56301', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('22', '00000022', '2', '四川省', 'SCS', '0', '104.075931', '30.651652', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('23', '00000019', '2', '广东省', 'GDS', '0', '113.266531', '23.132191', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('24', '00000020', '2', '广西壮族自治区', 'GXZZZZQ', '0', '108.327546', '22.815478', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('25', '00000021', '2', '海南省', 'HNS', '0', '110.349229', '20.017378', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('26', '810000', '2', '香港特别行政区', 'XGTBXZQ', '0', '114.109497', '22.396428', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('27', '820000', '2', '澳门特别行政区', 'AMTBXZQ', '0', '113.543873', '22.198745', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('28', '00000023', '2', '贵州省', 'GZS', '0', '106.707116', '26.598026', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('29', '00000024', '2', '云南省', 'YNS', '0', '102.709812', '25.045359', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('3', '00000006', '2', '辽宁省', 'LNS', '0', '123.42944', '41.835441', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('30', '00000025', '2', '西藏自治区', 'XCZZQ', '0', '91.1170059', '29.647951', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('31', '00000026', '2', '陕西省', 'SXS', '0', '108.954239', '34.265472', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('32', '00000027', '2', '甘肃省', 'GSS', '0', '103.826308', '36.059421', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('33', '00000028', '2', '青海省', 'QHS', '0', '101.780199', '36.620901', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('34', '00000029', '2', '宁夏回族自治区', 'NXHZZZQ', '0', '106.258754', '38.471318', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('35', '00000030', '2', '新疆维吾尔自治区', 'XJWWEZZQ', '0', '87.6278119', '43.793028', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('4', '00000007', '2', '吉林省', 'JLS', '0', '125.326065', '43.896082', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('5', '10000000', '2', '北京市', 'BJS', '0', '116.407413', '39.904214', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('6', '30000000', '2', '天津市', 'TJS', '0', '117.200983', '39.084158', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('7', '00000003', '2', '河北省', 'HBS', '0', '114.468665', '38.037057', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('8', '00000004', '2', '山西省', 'SXS', '0', '112.562569', '37.873376', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('9', '00000005', '2', '内蒙古自治区', 'NMGZZQ', '0', '111.765618', '40.817498', '1'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1000', '370903', '4', '岱岳区', 'DYQ', '0', '117.041582', '36.18799', '96'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1001', '370921', '4', '宁阳县', 'NYX', '0', '116.805797', '35.758787', '96'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1002', '370923', '4', '东平县', 'DPX', '0', '116.470304', '35.937102', '96'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1003', '370982', '4', '新泰市', 'XTS', '0', '117.767953', '35.909032', '96'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1004', '370983', '4', '肥城市', 'FCS', '0', '116.768358', '36.182571', '96'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1005', '371002', '4', '环翠区', 'HCQ', '0', '122.123444', '37.501991', '97'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1006', '371081', '4', '文登市', 'WDS', '0', '122.058128', '37.1939129', '97'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1007', '371082', '4', '荣成市', 'RCS', '0', '122.486676', '37.165249', '97'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1008', '371083', '4', '乳山市', 'RSS', '0', '121.539764', '36.919816', '97'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1009', '371102', '4', '东港区', 'DGQ', '0', '119.462228', '35.425475', '98'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1010', '371103', '4', '岚山区', 'LSQ', '0', '119.318813', '35.121816', '98'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1011', '371121', '4', '五莲县', 'WLX', '0', '119.208744', '35.750095', '98'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1012', '371122', '4', '莒县', 'JX', '0', '118.837131', '35.579868', '98'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1013', '371202', '4', '莱城区', 'LCQ', '0', '117.659864', '36.203208', '99'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1014', '371203', '4', '钢城区', 'GCQ', '0', '117.811355', '36.058572', '99'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1015', '371302', '4', '兰山区', 'LSQ', '0', '118.347707', '35.051729', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1016', '371311', '4', '罗庄区', 'LZQ', '0', '118.284786', '34.996741', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1017', '371312', '4', '河东区', 'HDQ', '0', '118.402893', '35.089917', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1018', '371321', '4', '沂南县', 'YNX', '0', '118.465213', '35.549976', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1019', '371322', '4', '郯城县', 'TCX', '0', '118.367263', '34.613557', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1020', '371323', '4', '沂水县', 'YSX', '0', '118.627918', '35.79045', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1021', '371324', '4', '苍山县', 'CSX', '0', '118.07065', '34.857149', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1022', '371325', '4', '费县', 'FX', '0', '117.977868', '35.26634', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1023', '371326', '4', '平邑县', 'PYX', '0', '117.640352', '35.5059429', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1024', '371327', '4', '莒南县', 'JNX', '0', '118.835163', '35.174846', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1025', '371328', '4', '蒙阴县', 'MYX', '0', '117.945085', '35.710032', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1026', '371329', '4', '临沭县', 'LSX', '0', '118.650782', '34.919852', '100'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1027', '371402', '4', '德城区', 'DCQ', '0', '116.299434', '37.451272', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1028', '371421', '4', '陵县', 'LX', '0', '116.576176', '37.33579', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1029', '371422', '4', '宁津县', 'NJX', '0', '116.800324', '37.652329', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1030', '371423', '4', '庆云县', 'QYX', '0', '117.385123', '37.77539', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1031', '371424', '4', '临邑县', 'LYX', '0', '116.86665', '37.189864', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1032', '371425', '4', '齐河县', 'QHX', '0', '116.758917', '36.795011', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1033', '371426', '4', '平原县', 'PYX', '0', '116.434187', '37.165419', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1034', '371427', '4', '夏津县', 'XJX', '0', '116.001726', '36.948371', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1035', '371428', '4', '武城县', 'WCX', '0', '116.069302', '37.213311', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1036', '371481', '4', '乐陵市', 'LLS', '0', '117.231935', '37.729907', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1037', '371482', '4', '禹城市', 'YCS', '0', '116.638387', '36.934259', '101'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1038', '371502', '4', '东昌府区', 'DCFQ', '0', '115.988484', '36.434697', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1039', '371521', '4', '阳谷县', 'YGX', '0', '115.79182', '36.114392', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1040', '371522', '4', '莘县', 'SX', '0', '115.671191', '36.233599', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1041', '371523', '4', '茌平县', 'CPX', '0', '116.255282', '36.5807639', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1042', '371524', '4', '东阿县', 'DAX', '0', '116.24758', '36.334917', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1043', '371525', '4', '冠县', 'GX', '0', '115.44274', '36.484009', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1044', '371526', '4', '高唐县', 'GTX', '0', '116.231478', '36.866062', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1045', '371581', '4', '临清市', 'LQS', '0', '115.704881', '36.838277', '102'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1046', '371602', '4', '滨城区', 'BCQ', '0', '118.019146', '37.43206', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1047', '371621', '4', '惠民县', 'HMX', '0', '117.510451', '37.489769', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1048', '371622', '4', '阳信县', 'YXX', '0', '117.578262', '37.641106', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1049', '371623', '4', '无棣县', 'WDX', '0', '117.625696', '37.770261', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1050', '371624', '4', '沾化县', 'ZHX', '0', '118.132199', '37.698281', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1051', '371625', '4', '博兴县', 'BXX', '0', '118.131815', '37.150226', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1052', '371626', '4', '邹平县', 'ZPX', '0', '117.743109', '36.862989', '103'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1053', '371702', '4', '牡丹区', 'MDQ', '0', '115.417827', '35.252512', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1054', '371721', '4', '曹县', 'CX', '0', '115.542328', '34.825508', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1055', '371722', '4', '单县', 'DX', '0', '116.107428', '34.778808', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1056', '371723', '4', '成武县', 'CWX', '0', '115.889765', '34.952459', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1057', '371724', '4', '巨野县', 'JYX', '0', '116.094674', '35.396261', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1058', '371725', '4', '郓城县', 'YCX', '0', '115.943613', '35.599758', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1059', '371726', '4', '鄄城县', 'JCX', '0', '115.510193', '35.563408', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1060', '371727', '4', '定陶县', 'DTX', '0', '115.573094', '35.071', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1061', '371728', '4', '东明县', 'DMX', '0', '115.089905', '35.289368', '104'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1839', '370102', '4', '历下区', 'LXQ', '0', '117.07653', '36.666344', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1840', '370103', '4', '市中区', 'SZQ', '0', '116.997475', '36.6511749', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1841', '370104', '4', '槐荫区', 'HYQ', '0', '116.90113', '36.651301', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1842', '370105', '4', '天桥区', 'TQQ', '0', '116.987492', '36.678016', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1843', '370112', '4', '历城区', 'LCQ', '0', '117.065222', '36.680171', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('926', '370113', '4', '长清区', 'CQQ', '0', '116.751959', '36.553691', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('927', '370124', '4', '平阴县', 'PYX', '0', '116.456187', '36.289265', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('928', '370125', '4', '济阳县', 'JYX', '0', '117.173529', '36.978547', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('929', '370126', '4', '商河县', 'SHX', '0', '117.157183', '37.309045', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('930', '370181', '4', '章丘市', 'ZQS', '0', '117.534326', '36.714015', '195'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('931', '370202', '4', '市南区', 'SNQ', '0', '120.412392', '36.075651', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('932', '370203', '4', '市北区', 'SBQ', '0', '120.374801', '36.087661', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('933', '370205', '4', '四方区', 'SFQ', '0', '120.366454', '36.103993', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('934', '370211', '4', '黄岛区', 'HDQ', '0', '120.198054', '35.960935', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('935', '370212', '4', '崂山区', 'LSQ', '0', '120.468956', '36.107538', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('936', '370213', '4', '李沧区', 'LCQ', '0', '120.432864', '36.145476', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('937', '370214', '4', '城阳区', 'CYQ', '0', '120.396529', '36.307061', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('938', '370281', '4', '胶州市', 'JZS', '0', '120.033345', '36.264664', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('939', '370282', '4', '即墨市', 'JMS', '0', '120.447162', '36.389401', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('940', '370283', '4', '平度市', 'PDS', '0', '119.960014', '36.7867', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('941', '370284', '4', '胶南市', 'JNS', '0', '120.04643', '35.8725', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('942', '370285', '4', '莱西市', 'LXS', '0', '120.51769', '36.889084', '89'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('943', '370302', '4', '淄川区', 'ZCQ', '0', '117.966842', '36.643449', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('944', '370303', '4', '张店区', 'ZDQ', '0', '118.017656', '36.806773', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('945', '370304', '4', '博山区', 'BSQ', '0', '117.861698', '36.494752', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('946', '370305', '4', '临淄区', 'LZQ', '0', '118.308977', '36.827343', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('947', '370306', '4', '周村区', 'ZCQ', '0', '117.869877', '36.803109', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('948', '370321', '4', '桓台县', 'HTX', '0', '118.097955', '36.959623', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('949', '370322', '4', '高青县', 'GQX', '0', '117.826916', '37.171063', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('950', '370323', '4', '沂源县', 'YYX', '0', '118.170979', '36.184827', '90'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('951', '370402', '4', '市中区', 'SZQ', '0', '117.556124', '34.864114', '91'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('952', '370403', '4', '薛城区', 'YCQ', '0', '117.263157', '34.795206', '91'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('953', '370404', '4', '峄城区', 'YCQ', '0', '117.590819', '34.772236', '91'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('954', '370405', '4', '台儿庄区', 'TEZQ', '0', '117.733832', '34.562528', '91'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('955', '370406', '4', '山亭区', 'STQ', '0', '117.461343', '35.099549', '91'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('956', '370481', '4', '滕州市', 'TZS', '0', '117.164388', '35.084021', '91'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('957', '370502', '4', '东营区', 'DYQ', '0', '118.582184', '37.448964', '92'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('958', '370503', '4', '河口区', 'HKQ', '0', '118.525579', '37.886138', '92'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('959', '370521', '4', '垦利县', 'KLX', '0', '118.547627', '37.58754', '92'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('960', '370522', '4', '利津县', 'LJX', '0', '118.255273', '37.49026', '92'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('961', '370523', '4', '广饶县', 'GRX', '0', '118.407045', '37.0537', '92'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('962', '370602', '4', '芝罘区', 'ZFQ', '0', '121.400031', '37.540687', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('963', '370611', '4', '福山区', 'FSQ', '0', '121.267697', '37.498051', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('964', '370612', '4', '牟平区', 'MPQ', '0', '121.600512', '37.386901', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('965', '370613', '4', '莱山区', 'LSQ', '0', '121.445304', '37.511305', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('966', '370614', '4', '开发区', 'KFQ', '0', '121.251001', '37.554683', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('967', '370634', '4', '长岛县', 'CDX', '0', '120.736584', '37.921417', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('968', '370681', '4', '龙口市', 'LKS', '0', '120.477836', '37.646064', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('969', '370682', '4', '莱阳市', 'LYS', '0', '120.711607', '36.97891', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('970', '370683', '4', '莱州市', 'LZS', '0', '119.942327', '37.177017', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('971', '370684', '4', '蓬莱市', 'PLS', '0', '120.758848', '37.810661', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('972', '370685', '4', '招远市', 'ZYS', '0', '120.434072', '37.355469', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('973', '370686', '4', '栖霞市', 'QXS', '0', '120.849675', '37.335123', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('974', '370687', '4', '海阳市', 'HYS', '0', '121.158477', '36.776425', '93'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('975', '370702', '4', '潍城区', 'WCQ', '0', '119.024836', '36.7281', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('976', '370703', '4', '寒亭区', 'HTQ', '0', '119.219734', '36.775491', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('977', '370704', '4', '坊子区', 'FZQ', '0', '119.166485', '36.654448', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('978', '370705', '4', '奎文区', 'KWQ', '0', '119.132486', '36.707676', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('979', '370724', '4', '临朐县', 'LQX', '0', '118.542982', '36.5125059', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('980', '370725', '4', '昌乐县', 'CLX', '0', '118.829914', '36.706945', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('981', '370781', '4', '青州市', 'QZS', '0', '118.479622', '36.684528', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('982', '370782', '4', '诸城市', 'ZCS', '0', '119.410103', '35.995654', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('983', '370783', '4', '寿光市', 'SGS', '0', '118.790652', '36.85548', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('984', '370784', '4', '安丘市', 'AQS', '0', '119.218978', '36.478494', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('985', '370785', '4', '高密市', 'GMS', '0', '119.755597', '36.3825949', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('986', '370786', '4', '昌邑市', 'CYS', '0', '119.398525', '36.85882', '94'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('987', '370802', '4', '市中区', 'SZQ', '0', '116.596614', '35.40819', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('988', '370811', '4', '任城区', 'RCQ', '0', '116.628562', '35.433727', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('989', '370826', '4', '微山县', 'WSX', '0', '117.128946', '34.8071', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('990', '370827', '4', '鱼台县', 'YTX', '0', '116.650608', '35.012749', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('991', '370828', '4', '金乡县', 'JXX', '0', '116.311532', '35.06662', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('992', '370829', '4', '嘉祥县', 'JXX', '0', '116.342442', '35.407829', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('993', '370830', '4', '汶上县', 'WSX', '0', '116.489043', '35.732799', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('994', '370831', '4', '泗水县', 'SSX', '0', '117.251195', '35.664323', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('995', '370832', '4', '梁山县', 'LSX', '0', '116.096044', '35.802306', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('996', '370881', '4', '曲阜市', 'QFS', '0', '116.986532', '35.581137', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('997', '370882', '4', '兖州市', 'YZS', '0', '116.783834', '35.553144', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('998', '370883', '4', '邹城市', 'ZCS', '0', '117.003743', '35.405185', '95'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('999', '370902', '4', '泰山区', 'TSQ', '0', '117.135354', '36.192084', '96'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('184', '360100', '3', '南昌市', 'NCS', '0', '115.858089', '28.68316', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('185', '360200', '3', '景德镇市', 'JDZS', '0', '117.17842', '29.268836', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('186', '360300', '3', '萍乡市', 'PXS', '0', '113.854676', '27.622865', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('187', '360400', '3', '九江市', 'JJS', '0', '116.001951', '29.705103', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('188', '360500', '3', '新余市', 'XYS', '0', '114.91741', '27.817819', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('189', '360600', '3', '鹰潭市', 'YTS', '0', '117.069202', '28.260189', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('190', '360700', '3', '赣州市', 'GZS', '0', '114.935025', '25.831925', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('191', '360800', '3', '吉安市', 'JAS', '0', '114.992912', '27.113039', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('192', '360900', '3', '宜春市', 'YCS', '0', '114.416778', '27.815619', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('193', '361000', '3', '抚州市', 'FZS', '0', '116.358176', '27.9492', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('194', '361100', '3', '上饶市', 'SRS', '0', '117.943433', '28.454863', '17'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1739', '360102', '4', '东湖区', 'DHQ', '0', '115.89901', '28.6849159', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1740', '360103', '4', '西湖区', 'XHQ', '0', '115.877287', '28.656887', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1741', '360104', '4', '青云谱区', 'QYPQ', '0', '115.925749', '28.621169', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1742', '360105', '4', '湾里区', 'WLQ', '0', '115.730994', '28.714869', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1743', '360111', '4', '青山湖区', 'QSHQ', '0', '115.962144', '28.682985', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1744', '360121', '4', '南昌县', 'NCX', '0', '115.944162', '28.545459', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1745', '360122', '4', '新建县', 'XJX', '0', '115.815233', '28.692437', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1746', '360123', '4', '安义县', 'AYX', '0', '115.549199', '28.844429', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1747', '360124', '4', '进贤县', 'JXX', '0', '116.240924', '28.376918', '184'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1748', '360202', '4', '昌江区', 'CJQ', '0', '117.183688', '29.27342', '185'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1749', '360203', '4', '珠山区', 'ZSQ', '0', '117.202336', '29.301272', '185'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1750', '360222', '4', '浮梁县', 'FLX', '0', '117.215061', '29.351739', '185'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1751', '360281', '4', '乐平市', 'LPS', '0', '117.129169', '28.961902', '185'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1752', '360302', '4', '安源区', 'AYQ', '0', '113.87073', '27.615202', '186'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1753', '360313', '4', '湘东区', 'XDQ', '0', '113.733059', '27.640075', '186'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1754', '360321', '4', '莲花县', 'LHX', '0', '113.961465', '27.127669', '186'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1755', '360322', '4', '上栗县', 'SLX', '0', '113.795219', '27.880567', '186'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1756', '360323', '4', '芦溪县', 'LXX', '0', '114.029595', '27.631145', '186'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1757', '360402', '4', '庐山区', 'LSQ', '0', '115.989212', '29.671775', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1758', '360403', '4', '浔阳区', 'XYQ', '0', '115.990399', '29.72746', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1759', '360421', '4', '九江县', 'JJX', '0', '115.911314', '29.608456', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1760', '360423', '4', '武宁县', 'WNX', '0', '115.100579', '29.256323', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1761', '360424', '4', '修水县', 'XSX', '0', '114.547356', '29.025707', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1762', '360425', '4', '永修县', 'YXX', '0', '115.809111', '29.021824', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1763', '360426', '4', '德安县', 'DAX', '0', '115.756883', '29.314348', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1764', '360427', '4', '星子县', 'XZX', '0', '116.044893', '29.448037', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1765', '360428', '4', '都昌县', 'DCX', '0', '116.204099', '29.273194', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1766', '360429', '4', '湖口县', 'HKX', '0', '116.220266', '29.73944', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1767', '360430', '4', '彭泽县', 'PZX', '0', '116.549359', '29.896061', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1768', '360481', '4', '瑞昌市', 'RCS', '0', '115.681504', '29.673795', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1769', '360499', '4', '共青城', 'GQC', '0', '115.774', '29.2417', '187'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1770', '360502', '4', '渝水区', 'YSQ', '0', '114.944574', '27.80038', '188'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1771', '360521', '4', '分宜县', 'FYX', '0', '114.692039', '27.814628', '188'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1772', '360602', '4', '月湖区', 'YHQ', '0', '117.036676', '28.238797', '189'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1773', '360622', '4', '余江县', 'YJX', '0', '116.818871', '28.204174', '189'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1774', '360681', '4', '贵溪市', 'GXS', '0', '117.245497', '28.292519', '189'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1775', '360702', '4', '章贡区', 'ZGQ', '0', '114.941826', '25.862827', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1776', '360721', '4', '赣县', 'GX', '0', '115.011561', '25.860691', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1777', '360722', '4', '信丰县', 'XFX', '0', '114.922963', '25.386278', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1778', '360723', '4', '大余县', 'DYX', '0', '114.362094', '25.401283', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1779', '360724', '4', '上犹县', 'SYX', '0', '114.551371', '25.784978', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1780', '360725', '4', '崇义县', 'CYX', '0', '114.308273', '25.681879', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1781', '360726', '4', '安远县', 'AYX', '0', '115.393922', '25.136925', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1782', '360727', '4', '龙南县', 'LNX', '0', '114.789811', '24.911107', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1783', '360728', '4', '定南县', 'DNX', '0', '115.027845', '24.78441', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1784', '360729', '4', '全南县', 'QNX', '0', '114.530125', '24.742401', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1785', '360730', '4', '宁都县', 'NDX', '0', '116.009472', '26.470116', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1786', '360731', '4', '于都县', 'YDX', '0', '115.41551', '25.952066', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1787', '360732', '4', '兴国县', 'XGX', '0', '115.36319', '26.337937', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1788', '360733', '4', '会昌县', 'HCX', '0', '115.786057', '25.600272', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1789', '360734', '4', '寻乌县', 'YWX', '0', '115.646525', '24.963322', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1790', '360735', '4', '石城县', 'SCX', '0', '116.354201', '26.32686', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1791', '360781', '4', '瑞金市', 'RJS', '0', '116.02713', '25.885561', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1792', '360782', '4', '南康市', 'NKS', '0', '114.765238', '25.661356', '190'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1793', '360802', '4', '吉州区', 'JZQ', '0', '114.994307', '27.129975', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1794', '360803', '4', '青原区', 'QYQ', '0', '115.01424', '27.081719', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1795', '360821', '4', '吉安县', 'JAX', '0', '114.907659', '27.040142', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1796', '360822', '4', '吉水县', 'JSX', '0', '115.135507', '27.229632', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1797', '360823', '4', '峡江县', 'XJX', '0', '115.316566', '27.582901', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1798', '360824', '4', '新干县', 'XGX', '0', '115.393043', '27.740809', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1799', '360825', '4', '永丰县', 'YFX', '0', '115.441477', '27.317869', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1800', '360826', '4', '泰和县', 'THX', '0', '114.908861', '26.790231', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1801', '360827', '4', '遂川县', 'SCX', '0', '114.52098', '26.311894', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1802', '360828', '4', '万安县', 'WAX', '0', '114.786256', '26.458257', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1803', '360829', '4', '安福县', 'AFX', '0', '114.619893', '27.392874', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1804', '360830', '4', '永新县', 'YXX', '0', '114.242675', '26.945233', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1805', '360881', '4', '井冈山市', 'JGSS', '0', '114.289182', '26.748186', '191'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1806', '360902', '4', '袁州区', 'YZQ', '0', '114.424657', '27.798846', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1807', '360921', '4', '奉新县', 'FXX', '0', '115.384904', '28.700806', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1808', '360922', '4', '万载县', 'WZX', '0', '114.447551', '28.10455', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1809', '360923', '4', '上高县', 'SGX', '0', '114.924494', '28.232827', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1810', '360924', '4', '宜丰县', 'YFX', '0', '114.803542', '28.393613', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1811', '360925', '4', '靖安县', 'JAX', '0', '115.362629', '28.861475', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1812', '360926', '4', '铜鼓县', 'TGX', '0', '114.37098', '28.520747', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1813', '360981', '4', '丰城市', 'FCS', '0', '115.771195', '28.159325', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1814', '360982', '4', '樟树市', 'ZSS', '0', '115.546063', '28.055796', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1815', '360983', '4', '高安市', 'GAS', '0', '115.375618', '28.417261', '192'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1816', '361002', '4', '临川区', 'LCQ', '0', '116.31136', '27.934529', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1817', '361021', '4', '南城县', 'NCX', '0', '116.644658', '27.552748', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1818', '361022', '4', '黎川县', 'LCX', '0', '116.907508', '27.282382', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1819', '361023', '4', '南丰县', 'NFX', '0', '116.525725', '27.218445', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1820', '361024', '4', '崇仁县', 'CRX', '0', '116.061164', '27.764681', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1821', '361025', '4', '乐安县', 'LAX', '0', '115.837895', '27.420441', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1822', '361026', '4', '宜黄县', 'YHX', '0', '116.222128', '27.546146', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1823', '361027', '4', '金溪县', 'JXX', '0', '116.775435', '27.908337', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1824', '361028', '4', '资溪县', 'ZXX', '0', '117.060264', '27.706102', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1825', '361029', '4', '东乡县', 'DXX', '0', '116.590465', '28.236118', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1826', '361030', '4', '广昌县', 'GCX', '0', '116.325757', '26.837267', '193'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1827', '361102', '4', '信州区', 'XZQ', '0', '117.966823', '28.43121', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1828', '361121', '4', '上饶县', 'SRX', '0', '117.90785', '28.448983', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1829', '361122', '4', '广丰县', 'GFX', '0', '118.19124', '28.436286', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1830', '361123', '4', '玉山县', 'YSX', '0', '118.245124', '28.682055', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1831', '361124', '4', '铅山县', 'QSX', '0', '117.709451', '28.315217', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1832', '361125', '4', '横峰县', 'HFX', '0', '117.596452', '28.407118', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1833', '361126', '4', '弋阳县', 'YYX', '0', '117.449588', '28.378044', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1834', '361127', '4', '余干县', 'YGX', '0', '116.695647', '28.702302', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1835', '361128', '4', '鄱阳县', 'PYX', '0', '116.699746', '29.011699', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1836', '361129', '4', '万年县', 'WNX', '0', '117.058445', '28.694582', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1837', '361130', '4', '婺源县', 'WYX', '0', '117.861911', '29.2480249', '194'); +INSERT INTO t_s_territory (ID, territorycode, territorylevel, territoryname, territory_pinyin, territorysort, x_wgs84, y_wgs84, territoryparentid) + +VALUES ('1838', '361181', '4', '德兴市', 'DXS', '0', '117.578713', '28.946464', '194'); + + + + + diff --git a/WebRoot/WEB-INF/classes/jeecg/system/txt/valid-code-demo.ftl b/jeecg-framework/src/main/java/org/jeecgframework/web/system/txt/valid-code-demo.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/system/txt/valid-code-demo.ftl rename to jeecg-framework/src/main/java/org/jeecgframework/web/system/txt/valid-code-demo.ftl diff --git a/jeecg-framework/src/main/java/test/JeecgInitDB.java b/jeecg-framework/src/main/java/test/JeecgInitDB.java new file mode 100644 index 00000000..5c77a7ad --- /dev/null +++ b/jeecg-framework/src/main/java/test/JeecgInitDB.java @@ -0,0 +1,336 @@ +package test; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; +import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; +import org.jeecgframework.web.system.pojo.base.TSAttachment; +import org.jeecgframework.web.system.pojo.base.TSBaseUser; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSLog; +import org.jeecgframework.web.system.pojo.base.TSRole; +import org.jeecgframework.web.system.pojo.base.TSType; +import org.jeecgframework.web.system.pojo.base.TSTypegroup; +import org.jeecgframework.web.system.pojo.base.TSUser; +import freemarker.template.Configuration; +import freemarker.template.DefaultObjectWrapper; +import freemarker.template.Template; + + +/** + * @Description + * @ClassName: JeecgInitDB + * @author tanghan + * @date 2013-7-19 下午04:24:51 + */ + +public class JeecgInitDB { + + private static Connection con=null; + + + public static Connection getConnection() throws ClassNotFoundException, SQLException{ + if(con == null){ + Class.forName("com.mysql.jdbc.Driver"); + con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jeecg", "root","root"); + } + return con; + } + + public static void main(String[] args) throws Exception { + Configuration cfg = new Configuration(); + String sql1="select * from t_s_attachment"; + String sql2="select * from t_s_base_user"; + String sql3="select * from t_s_depart"; + String sql4="select * from t_s_role"; + String sql5="select * from t_s_user"; + String sql6="select * from t_s_typegroup"; + String sql7 = "select * from t_s_function"; + String sql8 = "select * from t_s_type"; + String sql9 = "select * from t_s_log limit 100"; + String sql10 = "select * from cgform_field where table_id ="; //此处由于需要更具cgform_head生成,故只能单个生成 + String sql11 = "select * from cgform_head "; + Statement st=null; + ResultSet rs=null; + try { + cfg.setDirectoryForTemplateLoading(new File("E:/Workspace-jeecg/jeecg-v3-simple-new/src/test")); + cfg.setObjectWrapper(new DefaultObjectWrapper()); + Template temp = cfg.getTemplate("init.ftl","UTF-8"); + con=getConnection(); + st=con.createStatement(); + rs=st.executeQuery(sql1); + int i=1; + Map root = new HashMap(); + List att = new ArrayList(); + while(rs.next()) + { + TSAttachment tsAttachment = new TSAttachment(); + tsAttachment.setId(i+""); + tsAttachment.setAttachmenttitle(rs.getString("attachmenttitle")); + tsAttachment.setRealpath(rs.getString("attachmenttitle")); + tsAttachment.setSwfpath(rs.getString("swfpath")); + tsAttachment.setExtend(rs.getString("extend")); + att.add(tsAttachment); + i++; + } + root.put("animals", att); + + + rs=st.executeQuery(sql2); + i=1; + List user = new ArrayList(); + while(rs.next()) + { + TSBaseUser baseUser = new TSBaseUser(); + baseUser.setId(i+""); + baseUser.setUserKey(rs.getString("userkey")); + baseUser.setStatus(rs.getShort("status")); + baseUser.setRealName(rs.getString("realname")); + baseUser.setUserName(rs.getString("username")); + baseUser.setPassword(rs.getString("password")); + baseUser.setActivitiSync(rs.getShort("activitisync")); + user.add(baseUser); + i++; + } + root.put("baseuser", user); + + + rs=st.executeQuery(sql3); + List dep = new ArrayList(); + i=1; + while(rs.next()) + { + TSDepart tsDepart = new TSDepart(); + tsDepart.setId(i+""); + tsDepart.setDepartname(rs.getString("departname")); + tsDepart.setDescription(rs.getString("description")); + dep.add(tsDepart); + i++; + } + root.put("depart", dep); + + + rs=st.executeQuery(sql4); + List role = new ArrayList(); + i=1; + while(rs.next()) + { + org.jeecgframework.core.util.LogUtil.info(rs.getString("rolename")); + TSRole tsRole = new TSRole(); + tsRole.setId(i+""); + tsRole.setRoleName(rs.getString("rolename")); + tsRole.setRoleCode(rs.getString("rolecode")); + role.add(tsRole); + i++; + } + root.put("role", role); + + rs=st.executeQuery(sql5); + List susers = new ArrayList(); + i=1; + while(rs.next()) + { + TSUser suer = new TSUser(); + suer.setId(i+""); +// org.jeecgframework.core.util.LogUtil.info(rs.getString("signaturefile")); +// suer.setSignatureFile(rs.getString("signaturefile")); + suer.setMobilePhone(rs.getString("mobilephone")); + suer.setOfficePhone(rs.getString("officephone")); + suer.setEmail(rs.getString("email")); + susers.add(suer); + i++; + } + root.put("suser", susers); + + rs=st.executeQuery(sql6); + List typegroup = new ArrayList(); + i=1; + while(rs.next()) + { + TSTypegroup tsTypegroup = new TSTypegroup(); + tsTypegroup.setId(i+""); +// org.jeecgframework.core.util.LogUtil.info(rs.getString("signaturefile")); +// suer.setSignatureFile(rs.getString("signaturefile")); + tsTypegroup.setTypegroupname(rs.getString("typegroupname")); + tsTypegroup.setTypegroupcode(rs.getString("typegroupcode")); + typegroup.add(tsTypegroup); + i++; + } + root.put("typegroup", typegroup); + + rs=st.executeQuery(sql7); + List function = new ArrayList(); + i=1; + while(rs.next()) + { + TSFunction tsFunction = new TSFunction(); + tsFunction.setId(i+""); + tsFunction.setFunctionName(rs.getString("functionName")); + tsFunction.setFunctionUrl(rs.getString("functionUrl")); + tsFunction.setFunctionLevel(rs.getShort("functionLevel")); + tsFunction.setFunctionOrder(rs.getString("functionOrder")); + function.add(tsFunction); + i++; + } + root.put("menu", function); + + rs=st.executeQuery(sql8); + List type = new ArrayList(); + i=1; + while(rs.next()) + { + TSType tsType = new TSType(); + tsType.setId(i+""); +// org.jeecgframework.core.util.LogUtil.info(rs.getString("signaturefile")); +// suer.setSignatureFile(rs.getString("signaturefile")); + tsType.setTypename(rs.getString("typename")); + tsType.setTypecode(rs.getString("typecode")); + type.add(tsType); + i++; + } + root.put("type", type); + + rs=st.executeQuery(sql9); + List log = new ArrayList(); + i=1; + while(rs.next()) + { + TSLog slog = new TSLog(); + slog.setId(i+""); +// org.jeecgframework.core.util.LogUtil.info(rs.getString("signaturefile")); +// suer.setSignatureFile(rs.getString("signaturefile")); +// tsType.setTypename(rs.getString("typename")); +// tsType.setTypecode(rs.getString("typecode")); +// type.add(tsType); + slog.setId(i+""); +// org.jeecgframework.core.util.LogUtil.info(rs.getString("logcontent")); + slog.setLogcontent(rs.getString("logcontent")); + slog.setLoglevel(rs.getShort("loglevel")); + slog.setBroswer(rs.getString("broswer")); + slog.setNote(rs.getString("note")); + slog.setOperatetime(rs.getTimestamp("operatetime")); + slog.setOperatetype(rs.getShort("operatetype")); + log.add(slog); + i++; + } + root.put("log", log); + + rs=st.executeQuery(sql11); + List cghead = new ArrayList(); + i=1; + while(rs.next()) + { + CgFormHeadEntity head = new CgFormHeadEntity(); + head.setId(i+""); + head.setTableName(rs.getString("table_name")); + head.setIsTree(rs.getString("is_tree")); + head.setIsPagination(rs.getString("is_pagination")); + head.setQuerymode(rs.getString("queryMode")); + head.setIsCheckbox(rs.getString("is_checkbox")); + head.setIsDbSynch(rs.getString("is_dbsynch")); + head.setContent(rs.getString("content")); + head.setJformVersion(rs.getString("JFORM_VERSION")); + head.setJformType(rs.getInt("jform_type")); + head.setColumns(getCgFormItem(sql10, rs.getString("id"))); + cghead.add(head); + i++; + } + root.put("cghead", cghead); +// rs=st.executeQuery(sql10); +// List cgfield = new ArrayList(); +// i=1; +// while(rs.next()) +// { +// CgFormFieldEntity filed = new CgFormFieldEntity(); +// filed.setFieldName(rs.getString("field_name")); +// filed.setLength(rs.getInt("length")); +// filed.setType(rs.getString("type")); +// filed.setPointLength(rs.getInt("point_length")); +// filed.setIsNull(rs.getString("is_null")); +// filed.setIsKey(rs.getString("is_key")); +// filed.setIsQuery(rs.getString("is_query")); +// filed.setIsShow(rs.getString("is_show")); +// filed.setShowType(rs.getString("show_type")); +// filed.setOrderNum(rs.getInt("order_num")); +// filed.setFieldHref(rs.getString("field_href")); +// filed.setFieldLength(rs.getInt("field_length")); +// filed.setFieldValidType(rs.getString("field_valid_type")); +// filed.setQueryMode(rs.getString("query_mode")); +// filed.setContent(rs.getString("content")); +// filed.setDictTable(rs.getString("dict_table")); +// filed.setDictField(rs.getString("dict_field")); +// filed.setMainField(rs.getString("main_field")); +// filed.setMainTable(rs.getString("main_table")); +// cgfield.add(filed); +// i++; +// } +// root.put("cgfield", cgfield); + + + Writer out = new OutputStreamWriter(new FileOutputStream("RepairServiceImpl.java"), "UTF-8"); + temp.process(root, out); + out.flush(); + out.close(); + org.jeecgframework.core.util.LogUtil.info("Successfull................"); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + + /** + * 获取表单字段方法 + * @param sql10 + * @param cgformhead_id + * @return + * @throws Exception + */ + public static List getCgFormItem(String sql10,String cgformhead_id) throws Exception{ + Statement st =con.createStatement(); + ResultSet rs = st.executeQuery(sql10+"'"+cgformhead_id.trim()+"'"); + List cgfield = new ArrayList(); + int i=1; + while(rs.next()) + { + CgFormFieldEntity filed = new CgFormFieldEntity(); + filed.setFieldName(rs.getString("field_name")); + filed.setLength(rs.getInt("length")); + filed.setType(rs.getString("type")); + filed.setPointLength(rs.getInt("point_length")); + filed.setIsNull(rs.getString("is_null")); + filed.setIsKey(rs.getString("is_key")); + filed.setIsQuery(rs.getString("is_query")); + filed.setIsShow(rs.getString("is_show")); + filed.setShowType(rs.getString("show_type")); + filed.setOrderNum(rs.getInt("order_num")); + filed.setFieldHref(rs.getString("field_href")); + filed.setFieldLength(rs.getInt("field_length")); + filed.setFieldValidType(rs.getString("field_valid_type")); + filed.setQueryMode(rs.getString("query_mode")); + filed.setContent(rs.getString("content")); + filed.setDictTable(rs.getString("dict_table")); + filed.setDictField(rs.getString("dict_field")); + filed.setMainField(rs.getString("main_field")); + filed.setMainTable(rs.getString("main_table")); + cgfield.add(filed); + i++; + } + return cgfield; + } + +} diff --git a/src/test/JeecgOneGUI.java b/jeecg-framework/src/main/java/test/JeecgOneGUI.java similarity index 92% rename from src/test/JeecgOneGUI.java rename to jeecg-framework/src/main/java/test/JeecgOneGUI.java index 2c017934..163bcaa2 100644 --- a/src/test/JeecgOneGUI.java +++ b/jeecg-framework/src/main/java/test/JeecgOneGUI.java @@ -5,7 +5,7 @@ import org.jeecgframework.codegenerate.window.CodeWindow; /** * 【单表模型】代码生成器入口 - * @author zhangdaihao + * @author 张代浩 * */ public class JeecgOneGUI { diff --git a/src/test/JeecgOneToMainUtil.java b/jeecg-framework/src/main/java/test/JeecgOneToMainUtil.java similarity index 88% rename from src/test/JeecgOneToMainUtil.java rename to jeecg-framework/src/main/java/test/JeecgOneToMainUtil.java index cf14b8ec..52ad0071 100644 --- a/src/test/JeecgOneToMainUtil.java +++ b/jeecg-framework/src/main/java/test/JeecgOneToMainUtil.java @@ -6,12 +6,11 @@ import java.util.List; import org.jeecgframework.codegenerate.generate.onetomany.CodeGenerateOneToMany; import org.jeecgframework.codegenerate.pojo.onetomany.CodeParamEntity; import org.jeecgframework.codegenerate.pojo.onetomany.SubTableEntity; -import org.jeecgframework.codegenerate.util.def.JeecgKey; /** * 代码生成器入口【一对多】 - * @author zhangdaihao + * @author 张代浩 * */ public class JeecgOneToMainUtil { @@ -37,8 +36,8 @@ public class JeecgOneToMainUtil { po.setEntityPackage("jeecg"); //子表[包] po.setFtlDescription("订单客户明细"); //子表[描述] //子表[外键:与主表关联外键] - //说明:这里面的外键是子表的外键字段,非主表和子表的对应关系 - po.setForeignKeys(new String[]{"GORDER_ID","GO_ORDER_CODE"}); + //说明:这里面的外键是子表的外键字段,非主表和子表的对应关系 GORDER_ID修改为ID + po.setForeignKeys(new String[]{"ID","GO_ORDER_CODE"}); subTabParamIn.add(po); //[2].子表二 SubTableEntity po2 = new SubTableEntity(); @@ -47,8 +46,8 @@ public class JeecgOneToMainUtil { po2.setEntityPackage("jeecg"); //子表[包] po2.setFtlDescription("订单产品明细"); //子表[描述] //子表[外键:与主表关联外键] - //说明:这里面的外键是子表的外键字段,非主表和子表的对应关系 - po2.setForeignKeys(new String[]{"GORDER_ID","GO_ORDER_CODE"}); + //说明:这里面的外键是子表的外键字段,非主表和子表的对应关系 GORDER_ID修改为ID + po2.setForeignKeys(new String[]{"ID","GO_ORDER_CODE"}); subTabParamIn.add(po2); codeParamEntityIn.setSubTabParam(subTabParamIn); diff --git a/jeecg-framework/src/main/java/test/init.ftl b/jeecg-framework/src/main/java/test/init.ftl new file mode 100644 index 00000000..f29a90b1 --- /dev/null +++ b/jeecg-framework/src/main/java/test/init.ftl @@ -0,0 +1,338 @@ +package jeecg.system.service.impl; + +import org.jeecgframework.web.system.pojo.base.TSFunction; +import org.jeecgframework.web.system.pojo.base.TSIcon; +import org.jeecgframework.web.system.service.RepairService; + +import org.jeecgframework.core.common.service.impl.CommonServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @Description 修复数据库Service + * @ClassName: RepairService + * @author tanghan + * @date 2013-7-19 下午01:31:00 + */ +@Service("repairService") +@Transactional +public class RepairServiceImpl extends CommonServiceImpl implements RepairService{ + + /** + * @Description 先清空数据库,然后再修复数据库 + * @author tanghan 2013-7-19 + */ + + public void deleteAndRepair() { + + } + + /** + * @Description 修复数据库 + * @author tanghan 2013-7-19 + */ + + synchronized public void repair() { + repaireIcon(); //修复图标 + repairAttachment(); //修改附件 + repairDepart(); + repairMenu();// 修复菜单权限【权限控制到菜单级别】 + repairRole();// 修复角色 + repairUser();// 修复用户 +// repairRoleAuth();// 修复角色和权限的关系 +// repairUserRole();// 修复用户和角色的关系 +// repairDict();// 修复字典 +// repairOrg();// 修复组织机构 + } + +/** + * @Description + * @author tanghan 2013-7-28 + */ + private void repairCgFormField() { + <#list cghead as hd> + //表单[${hd.content}] - 字段清单 + CgFormHeadEntity ${hd.tableName} = commonDao.findByProperty(CgFormHeadEntity.class, "tableName", "${hd.tableName}").get(0); + <#list hd.columns as f> + CgFormFieldEntity ${hd.tableName}_${f.fieldName} = new CgFormFieldEntity(); + ${hd.tableName}_${f.fieldName}.setFieldName("${f.fieldName}"); + ${hd.tableName}_${f.fieldName}.setTable(${hd.tableName}); + ${hd.tableName}_${f.fieldName}.setFieldLength(${f.fieldLength}); + ${hd.tableName}_${f.fieldName}.setIsKey("${f.isKey}"); + ${hd.tableName}_${f.fieldName}.setIsNull("${f.isNull}"); + ${hd.tableName}_${f.fieldName}.setIsQuery("${f.isQuery}"); + ${hd.tableName}_${f.fieldName}.setIsShow("${f.isShow}"); + ${hd.tableName}_${f.fieldName}.setShowType("${f.showType}"); + ${hd.tableName}_${f.fieldName}.setLength(${f.length}); + ${hd.tableName}_${f.fieldName}.setType("${f.type}"); + ${hd.tableName}_${f.fieldName}.setOrderNum(${f.orderNum}); + ${hd.tableName}_${f.fieldName}.setPointLength(${f.pointLength}); + ${hd.tableName}_${f.fieldName}.setQueryMode("${f.queryMode}"); + ${hd.tableName}_${f.fieldName}.setContent("${f.content}"); + ${hd.tableName}_${f.fieldName}.setCreateBy("admin"); + ${hd.tableName}_${f.fieldName}.setCreateDate(new Date()); + ${hd.tableName}_${f.fieldName}.setCreateName("管理员"); + ${hd.tableName}_${f.fieldName}.setDictField("${f.dictField}"); + ${hd.tableName}_${f.fieldName}.setDictTable("${f.dictTable}"); + ${hd.tableName}_${f.fieldName}.setMainTable("${f.mainTable}"); + ${hd.tableName}_${f.fieldName}.setMainField("${f.mainField}"); + commonDao.saveOrUpdate(${hd.tableName}_${f.fieldName}); + + + + } + + + /** + * @Description + * @author tanghan 2013-7-28 + */ + private void repairFormHead() { + <#list cghead as hd> + CgFormHeadEntity cgHead${hd.id} = new CgFormHeadEntity(); + cgHead${hd.id}.setTableName("${hd.tableName}"); + cgHead${hd.id}.setIsTree("${hd.isTree}"); + cgHead${hd.id}.setIsPagination("${hd.isPagination}"); + cgHead${hd.id}.setIsCheckbox("${hd.isCheckbox}"); + cgHead${hd.id}.setQuerymode("${hd.querymode}"); + cgHead${hd.id}.setIsDbSynch("N"); + cgHead${hd.id}.setContent("${hd.content}"); + cgHead${hd.id}.setCreateBy("admin"); + cgHead${hd.id}.setCreateDate(new Date()); + cgHead${hd.id}.setJsPlugIn("0"); + cgHead${hd.id}.setSqlPlugIn("0"); + cgHead${hd.id}.setCreateName("管理员"); + cgHead${hd.id}.setJformVersion("${hd.jformVersion}"); + cgHead${hd.id}.setJformType(${hd.jformType}); + commonDao.saveOrUpdate(cgHead${hd.id}); + + + } + + /** + * @Description + * @author tanghan 2013-7-28 + */ + private void repairCkEditor() { + } + + + /** + * @Description + * @author tanghan 2013-7-28 + */ + private void repairLog() { + TSUser admin = commonDao.findByProperty(TSUser.class, "signatureFile", "images/renfang/qm/licf.gif").get(0); + try { + <#list log as ll> + TSLog log${ll.id} = new TSLog(); + log${ll.id}.setLogcontent("${ll.logcontent}"); + log${ll.id}.setBroswer("${ll.broswer}"); + log${ll.id}.setNote("${ll.note}"); + log${ll.id}.setTSUser(admin); + log${ll.id}.setOperatetime(DataUtils.parseTimestamp("${ll.operatetime}", "yyyy-MM-dd HH:mm")); + log${ll.id}.setOperatetype((short)${ll.operatetype}); + log${ll.id}.setLoglevel((short)${ll.loglevel}); + commonDao.saveOrUpdate(log${ll.id}); + + + } catch (ParseException e) { + e.printStackTrace(); + } + } + + /** + * @Description + * @author tanghan 2013-7-22 + */ + private void repairBaseUser() { + TSDepart eiu = commonDao.findByProperty(TSDepart.class, "departname", "信息部").get(0); + TSDepart RAndD = commonDao.findByProperty(TSDepart.class, "departname", "信息部").get(0); + <#list baseuser as bb> + TSBaseUser tsBaseUser${bb.id} = new TSBaseUser(); + tsBaseUser${bb.id}.setStatus((short)${bb.status}); + tsBaseUser${bb.id}.setRealName("${bb.realName}"); + tsBaseUser${bb.id}.setUserName("${bb.userName}"); + tsBaseUser${bb.id}.setPassword("${bb.password}"); + tsBaseUser${bb.id}.setTSDepart(eiu); + tsBaseUser${bb.id}.setActivitiSync((short)${bb.activitiSync}); + commonDao.saveOrUpdate(tsBaseUser${bb.id}); + + + } + + + /** + * @Description + * @author tanghan 2013-7-22 + */ + private void repairType() { + <#list type as t> + TSType type${t.id} = new TSType(); + type${t.id}.setTypename("${t.typename}"); + type${t.id}.setTypecode("${t.typecode}"); + commonDao.saveOrUpdate(type${t.id}); + + + } + + private void repairTypeAndGroup() { + <#list typegroup as p> + TSTypegroup tsTypegroup${p.id} = new TSTypegroup(); + tsTypegroup${p.id}.setTypegroupname("${p.typegroupname}"); + tsTypegroup${p.id}.setTypegroupcode("${p.typegroupcode}"); + commonDao.saveOrUpdate(tsTypegroup${p.id}); + + } + + /** + * @Description + * @author tanghan 2013-7-20 + */ + private void repairUser() { + <#list suser as pp> + TSUser suser${pp.id} = new TSUser(); + suser${pp.id}.setMobilePhone("${pp.mobilePhone}"); + suser${pp.id}.setOfficePhone("${pp.officePhone}"); + suser${pp.id}.setEmail("${pp.email}"); + commonDao.saveOrUpdate(suser${pp.id}); + + } + + /** + * @Description + * @author tanghan 2013-7-20 + */ + + private void repairRole() { + <#list role as p> + TSRole tsRole${p.id} = new TSRole(); + tsRole${p.id}.setRoleName("${p.roleName}"); + tsRole${p.id}.setRoleCode("${p.roleCode}"); + commonDao.saveOrUpdate(tsRole${p.id}); + + } + + + /** + * @Description + * @author tanghan 2013-7-20 + */ + private void repairDepart() { + <#list depart as po> + TSDepart tsDepart${po.id} = new TSDepart(); + tsDepart${po.id}.setDepartname("${po.departname}"); + tsDepart${po.id}.setDescription("${po.description}"); + commonDao.saveOrUpdate(tsDepart${po.id}); + + } + + + /** + * @Description + * @author tanghan 2013-7-20 + */ + + private void repareAttachment() { + <#list animals as being> + TSAttachment tsAttachment${being.id} = new TSAttachment(); + tsAttachment${being.id}.setAttachmenttitle("${being.attachmenttitle}"); + tsAttachment${being.id}.setRealpath("${being.realpath}"); + tsAttachment${being.id}.setSwfpath("${being.swfpath}"); + tsAttachment${being.id}.setExtend("${being.extend}"); + commonDao.saveOrUpdate(tsAttachment${being.id}); + + } + + + /** + * @Description + * @author tanghan 2013-7-19 + */ + private void repaireIcon() { + System.out.println("修复图标中"); + TSIcon back = new TSIcon(); + back.setIconName("返回"); + back.setIconType((short)1); + back.setIconPath("plug-in/accordion/images/back.png"); + back.setIconClas("back"); + back.setExtend("png"); + commonDao.saveOrUpdate(back); + + TSIcon pie = new TSIcon(); + + pie.setIconName("饼图"); + pie.setIconType((short)1); + pie.setIconPath("plug-in/accordion/images/pie.png"); + pie.setIconClas("pie"); + pie.setExtend("png"); + commonDao.saveOrUpdate(pie); + + TSIcon pictures = new TSIcon(); + pictures.setIconName("图片"); + pictures.setIconType((short)1); + pictures.setIconPath("plug-in/accordion/images/pictures.png"); + pictures.setIconClas("pictures"); + pictures.setExtend("png"); + commonDao.saveOrUpdate(pictures); + + TSIcon pencil = new TSIcon(); + pencil.setIconName("笔"); + pencil.setIconType((short)1); + pencil.setIconPath("plug-in/accordion/images/pencil.png"); + pencil.setIconClas("pencil"); + pencil.setExtend("png"); + commonDao.saveOrUpdate(pencil); + + TSIcon map = new TSIcon(); + map.setIconName("地图"); + map.setIconType((short)1); + map.setIconPath("plug-in/accordion/images/map.png"); + map.setIconClas("map"); + map.setExtend("png"); + commonDao.saveOrUpdate(map); + + TSIcon group_add = new TSIcon(); + group_add.setIconName("组"); + group_add.setIconType((short)1); + group_add.setIconPath("plug-in/accordion/images/group_add.png"); + group_add.setIconClas("group_add"); + group_add.setExtend("png"); + commonDao.saveOrUpdate(group_add); + + TSIcon calculator = new TSIcon(); + calculator.setIconName("计算器"); + calculator.setIconType((short)1); + calculator.setIconPath("plug-in/accordion/images/calculator.png"); + calculator.setIconClas("calculator"); + calculator.setExtend("png"); + commonDao.saveOrUpdate(calculator); + + TSIcon folder = new TSIcon(); + folder.setIconName("文件夹"); + folder.setIconType((short)1); + folder.setIconPath("plug-in/accordion/images/folder.png"); + folder.setIconClas("folder"); + folder.setExtend("png"); + commonDao.saveOrUpdate(folder); + } + + /** + * @Description 修复菜单权限 + * @author tanghan 2013-7-19 + */ + + private void repairMenu() { + <#list menu as mm> + TSFunction tsFunction${mm.id} = new TSFunction(); + tsFunction${mm.id}.setFunctionName("${mm.functionName}"); + tsFunction${mm.id}.setFunctionUrl("${mm.functionUrl}"); + tsFunction${mm.id}.setFunctionLevel((short)${mm.functionLevel}); + tsFunction${mm.id}.setFunctionOrder("${mm.functionOrder}"); + commonDao.saveOrUpdate(tsFunction${mm.id}); + + + } + + +} diff --git a/WebRoot/WEB-INF/classes/CKfinderConfig.xml b/jeecg-framework/src/main/resources/CKfinderConfig.xml similarity index 100% rename from WebRoot/WEB-INF/classes/CKfinderConfig.xml rename to jeecg-framework/src/main/resources/CKfinderConfig.xml diff --git a/WebRoot/WEB-INF/classes/dbconfig.properties b/jeecg-framework/src/main/resources/dbconfig.properties similarity index 81% rename from WebRoot/WEB-INF/classes/dbconfig.properties rename to jeecg-framework/src/main/resources/dbconfig.properties index 2e0c9322..88277507 100644 --- a/WebRoot/WEB-INF/classes/dbconfig.properties +++ b/jeecg-framework/src/main/resources/dbconfig.properties @@ -1,9 +1,9 @@ #SQLServer2005以上 #hibernate.dialect=org.hibernate.dialect.SQLServerDialect #validationQuery.sqlserver=SELECT 1 -#jdbc.url.jeecg=jdbc:sqlserver://localhost:1433;DatabaseName=jeecg +#jdbc.url.jeecg=jdbc:sqlserver://192.168.0.199:1697;DatabaseName=jeecg #jdbc.username.jeecg=sa -#jdbc.password.jeecg=sa123 +#jdbc.password.jeecg=SA #jdbc.dbType=sqlserver #postgresSQL @@ -25,9 +25,9 @@ jdbc.dbType=mysql #Oracle #hibernate.dialect=org.hibernate.dialect.OracleDialect #validationQuery.sqlserver=SELECT 1 FROM DUAL -#jdbc.url.jeecg=jdbc:oracle:thin:@localhost:1521:ORCL -#jdbc.username.jeecg=JEECG -#jdbc.password.jeecg=JEECG +#jdbc.url.jeecg=jdbc:oracle:thin:@192.168.0.199:1521:jeecg +#jdbc.username.jeecg=jeecg +#jdbc.password.jeecg=jeecg #jdbc.dbType=oracle #更新|创建|验证数据库表结构|不作改变 默认update(create,validate,none) diff --git a/jeecg-framework/src/main/resources/ehcache.xml b/jeecg-framework/src/main/resources/ehcache.xml new file mode 100644 index 00000000..dfbc4471 --- /dev/null +++ b/jeecg-framework/src/main/resources/ehcache.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + diff --git a/resources/jeecg/jeecg_config.properties b/jeecg-framework/src/main/resources/jeecg/jeecg_config.properties similarity index 70% rename from resources/jeecg/jeecg_config.properties rename to jeecg-framework/src/main/resources/jeecg/jeecg_config.properties index 90352ef9..484d9c58 100644 --- a/resources/jeecg/jeecg_config.properties +++ b/jeecg-framework/src/main/resources/jeecg/jeecg_config.properties @@ -1,14 +1,13 @@ #default code path -source_root_package=src -webroot_package=WebRoot +#source_root_package=src +#webroot_package=WebRoot #maven code path -#source_root_package=src.main.java -#webroot_package=src.main.webapp +source_root_package=src.main.java +webroot_package=src.main.webapp #bussi_package[User defined] -bussi_package=jeecg.test -#bussi_package=com.sys +bussi_package=com.buss #ftl resource url @@ -26,4 +25,5 @@ jeecg_filed_convert=true #ui_filter_fields \u8fc7\u6ee4\u4e0d\u9700\u8981\u9875\u9762\u751f\u6210\u7684\u8868\u5b57\u6bb5 ui_filter_fields=create_date,create_by,create_name,update_date,update_by,update_name -project_path=E:/Workspace-jeecg/jeecg-v3-simple +#\ +project_path=E\:/gitmain/minidao-github/jeecg-framework diff --git a/resources/jeecg/jeecg_database.properties b/jeecg-framework/src/main/resources/jeecg/jeecg_database.properties similarity index 78% rename from resources/jeecg/jeecg_database.properties rename to jeecg-framework/src/main/resources/jeecg/jeecg_database.properties index 3908c0d7..dcf21e81 100644 --- a/resources/jeecg/jeecg_database.properties +++ b/jeecg-framework/src/main/resources/jeecg/jeecg_database.properties @@ -7,9 +7,10 @@ database_name=jeecg #oracle #diver_name=oracle.jdbc.driver.OracleDriver -#url=jdbc:oracle:thin:@10.68.111.40:1521:easyssh -#username=test -#password=test +#url=jdbc:oracle:thin:@192.168.0.199:1521:jeecg +#username=jeecg +#password=jeecg +#database_name=jeecg #postgre #diver_name=org.postgresql.Driver diff --git a/resources/jeecg/template/cgform_controllerTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_controllerTemplate.ftl similarity index 94% rename from resources/jeecg/template/cgform_controllerTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_controllerTemplate.ftl index 14c440c2..689592ab 100644 --- a/resources/jeecg/template/cgform_controllerTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_controllerTemplate.ftl @@ -19,8 +19,8 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; @@ -82,6 +82,7 @@ public class ${entityName}Controller extends BaseController { //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}, request.getParameterMap()); try{ + //自定义追加查询条件 <#list columns as po> <#if po.isQuery =='Y' && po.queryMode =='group'> String query_${po.fieldName}_begin = request.getParameter("${po.fieldName}_begin"); @@ -145,7 +146,17 @@ public class ${entityName}Controller extends BaseController { message = "${ftl_description}删除成功"; try{ for(String id:ids.split(",")){ - ${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, id); + ${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, + <#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "UUID"> + id + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "NATIVE"> + Integer.parseInt(id) + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE"> + Integer.parseInt(id) + <#else> + id + + ); ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } diff --git a/resources/jeecg/template/onetomany/cgform_entityTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_entityTemplate.ftl similarity index 71% rename from resources/jeecg/template/onetomany/cgform_entityTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_entityTemplate.ftl index 54d4fe49..eefb1098 100644 --- a/resources/jeecg/template/onetomany/cgform_entityTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_entityTemplate.ftl @@ -27,6 +27,9 @@ import javax.persistence.SequenceGenerator; */ @Entity @Table(name = "${tableName}", schema = "") +<#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE"> +@SequenceGenerator(name="SEQ_GEN", sequenceName="${cgformConfig.cgFormHead.jformPkSequence}") + @SuppressWarnings("serial") public class ${entityName}Entity implements java.io.Serializable { <#list columns as po> @@ -40,10 +43,21 @@ public class ${entityName}Entity implements java.io.Serializable { *@return: ${po.type} ${po.content} */ <#if po.fieldName == jeecg_table_id> - + <#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "UUID"> @Id @GeneratedValue(generator = "paymentableGenerator") @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "NATIVE"> + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE"> + @Id + @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_GEN") + <#else> + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="${fieldMeta[po.fieldName]}",nullable=<#if po.isNull == 'Y'>true<#else>false<#if po.pointLength != 0>,scale=${po.pointLength}<#if po.length !=0>,length=${po.length?c}) public ${po.type} get${po.fieldName?cap_first}(){ diff --git a/jeecg-framework/src/main/resources/jeecg/template/cgform_jsEnhanceTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jsEnhanceTemplate.ftl new file mode 100644 index 00000000..d847483b --- /dev/null +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_jsEnhanceTemplate.ftl @@ -0,0 +1,32 @@ +${cgformConfig.formJs.cgJsStr?if_exists} + +function browseImages(inputId, Img) {// 图片管理器,可多个上传共用 + var finder = new CKFinder(); + finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数 + $("#" + Img).attr("src", fileUrl); + $("#" + inputId).attr("value", fileUrl); + }; + finder.resourceType = 'Images';// 指定ckfinder只为图片进行管理 + finder.selectActionData = inputId; //接收地址的input ID + finder.removePlugins = 'help';// 移除帮助(只有英文) + finder.defaultLanguage = 'zh-cn'; + finder.popup(); + } +function browseFiles(inputId, file) {// 文件管理器,可多个上传共用 + var finder = new CKFinder(); + finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数 + $("#" + file).attr("href", fileUrl); + $("#" + inputId).attr("value", fileUrl); + decode(fileUrl, file); + }; + finder.resourceType = 'Files';// 指定ckfinder只为文件进行管理 + finder.selectActionData = inputId; //接收地址的input ID + finder.removePlugins = 'help';// 移除帮助(只有英文) + finder.defaultLanguage = 'zh-cn'; + finder.popup(); +} +function decode(value, id) {//value传入值,id接受值 + var last = value.lastIndexOf("/"); + var filename = value.substring(last + 1, value.length); + $("#" + id).text(decodeURIComponent(filename)); +} \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jsListEnhanceTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jsListEnhanceTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/cgform_jsListEnhanceTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_jsListEnhanceTemplate.ftl diff --git a/resources/jeecg/template/cgform_jspDivTemplate_add.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspDivTemplate_add.ftl similarity index 96% rename from resources/jeecg/template/cgform_jspDivTemplate_add.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_jspDivTemplate_add.ftl index efad0166..22fd7f21 100644 --- a/resources/jeecg/template/cgform_jspDivTemplate_add.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspDivTemplate_add.ftl @@ -31,6 +31,8 @@ <#if po.isNull != 'Y'>datatype="*" > + <#elseif po.showType=='textarea'> + <#elseif po.showType=='password'> diff --git a/resources/jeecg/template/cgform_jspDivTemplate_update.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspDivTemplate_update.ftl similarity index 96% rename from resources/jeecg/template/cgform_jspDivTemplate_update.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_jspDivTemplate_update.ftl index 716c5193..b0929168 100644 --- a/resources/jeecg/template/cgform_jspDivTemplate_update.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspDivTemplate_update.ftl @@ -31,6 +31,8 @@ <#if po.isNull != 'Y'>datatype="*" value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> + <#elseif po.showType=='textarea'> + <#elseif po.showType=='password'> diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspListTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspListTemplate.ftl similarity index 87% rename from WebRoot/WEB-INF/classes/jeecg/template/cgform_jspListTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_jspListTemplate.ftl index 8daa9d8e..2faccb1b 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_jspListTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspListTemplate.ftl @@ -4,7 +4,7 @@
    <#list columns as po> - formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.showType?index_of("date")!=-1>formatter="yyyy-MM-dd" <#if po.isShowList?if_exists?html =='N'>hidden="false"<#else>hidden="true" <#if po.isQuery =='Y'>query="true" <#if po.queryMode =='single'>queryMode="single"<#elseif po.queryMode =='group'>queryMode="group" <#if po.dictTable?if_exists?html!="">dictionary="${po.dictTable},${po.dictField},${po.dictText}"<#else><#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!="">dictionary="${po.dictField}" > + formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.showType?index_of("date")!=-1>formatter="yyyy-MM-dd" <#if po.isShowList?if_exists?html =='N'>hidden="false"<#else>hidden="true" <#if po.isQuery =='Y'>query="true" <#if po.queryMode =='single'>queryMode="single"<#elseif po.queryMode =='group'>queryMode="group" <#if po.dictTable?if_exists?html!="">dictionary="${po.dictTable},${po.dictField},${po.dictText}"<#else><#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!="">dictionary="${po.dictField}" width="${po.fieldLength}"> @@ -26,11 +26,11 @@ //给时间控件加上样式 <#list columns as po> <#if (po.showType?index_of("datetime")!=-1 || po.showType?index_of("date")!=-1) && po.queryMode=="single"> - $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}']").attr("class","easyui-${po.showType}box"); + $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); <#else> <#if (po.showType?index_of("datetime")!=-1 || po.showType?index_of("date")!=-1) && po.queryMode=="group"> - $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_begin']").attr("class","easyui-${po.showType}box"); - $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_end']").attr("class","easyui-${po.showType}box"); + $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_begin']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); + $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_end']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); diff --git a/jeecg-framework/src/main/resources/jeecg/template/cgform_jspTableTemplate_add.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspTableTemplate_add.ftl new file mode 100644 index 00000000..6081cb46 --- /dev/null +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspTableTemplate_add.ftl @@ -0,0 +1,124 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + ${ftl_description} + + + + + + + + <#list columns as po> + <#if po.isShow == 'N'> + + + + + <#list pageColumns as po> + <#if (pageColumns?size>10)> + <#if po_index%2==0> + + + <#else> + + + + + <#if (columns?size>10)> + <#if (po_index%2==0)&&(!po_has_next)> + + + + <#if (po_index%2!=0)||(!po_has_next)> + + + <#else> + + + +
    + + + <#if po.showType=='text'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + <#elseif po.showType=='textarea'> + + <#elseif po.showType=='password'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> + dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> + <#elseif po.showType=='date'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + > + <#elseif po.showType=='datetime'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + > + <#elseif po.showType=='file'> + + 暂时未上传文件 + + <#else> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + + + + + + +
    +
    + + \ No newline at end of file diff --git a/resources/jeecg/template/cgform_jspTableTemplate_update.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspTableTemplate_update.ftl similarity index 80% rename from resources/jeecg/template/cgform_jspTableTemplate_update.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_jspTableTemplate_update.ftl index bead7d0a..354fc50f 100644 --- a/resources/jeecg/template/cgform_jspTableTemplate_update.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_jspTableTemplate_update.ftl @@ -5,39 +5,10 @@ ${ftl_description} - + @@ -75,7 +46,9 @@ <#if po.isNull != 'Y'>datatype="*" value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='password'> + <#elseif po.showType=='textarea'> + + <#elseif po.showType=='password'> datatype="${po.fieldValidType?if_exists?html}" @@ -134,6 +107,7 @@ value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> + <#if (columns?size>10)> <#if (po_index%2==0)&&(!po_has_next)> diff --git a/resources/jeecg/template/cgform_serviceITemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_serviceITemplate.ftl similarity index 96% rename from resources/jeecg/template/cgform_serviceITemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_serviceITemplate.ftl index be138039..5c97e58e 100644 --- a/resources/jeecg/template/cgform_serviceITemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_serviceITemplate.ftl @@ -5,11 +5,11 @@ import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; import java.io.Serializable; public interface ${entityName}ServiceI extends CommonService{ - @Override + public void delete(T entity); - @Override + public Serializable save(T entity); - @Override + public void saveOrUpdate(T entity); <#list buttons as btn> diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_serviceImplTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/cgform_serviceImplTemplate.ftl similarity index 98% rename from WebRoot/WEB-INF/classes/jeecg/template/cgform_serviceImplTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/cgform_serviceImplTemplate.ftl index 288d09ed..6e6aa283 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_serviceImplTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/cgform_serviceImplTemplate.ftl @@ -13,20 +13,20 @@ import java.io.Serializable; @Transactional public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - @Override + public void delete(T entity) { super.delete(entity); //执行删除操作配置的sql增强 this.doDelSql((${entityName}Entity)entity); } - @Override + public Serializable save(T entity) { Serializable t = super.save(entity); //执行新增操作配置的sql增强 this.doAddSql((${entityName}Entity)entity); return t; } - @Override + public void saveOrUpdate(T entity) { super.saveOrUpdate(entity); //执行更新操作配置的sql增强 diff --git a/resources/jeecg/template/controllerTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/controllerTemplate.ftl similarity index 97% rename from resources/jeecg/template/controllerTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/controllerTemplate.ftl index e03b31eb..bd41267f 100644 --- a/resources/jeecg/template/controllerTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/controllerTemplate.ftl @@ -18,8 +18,8 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; diff --git a/WebRoot/WEB-INF/classes/jeecg/template/entityTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/entityTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/entityTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/entityTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/jspDivTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/jspDivTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/jspDivTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/jspDivTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/jspListTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/jspListTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/jspListTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/jspListTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/jspTableTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/jspTableTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/jspTableTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/jspTableTemplate.ftl diff --git a/resources/jeecg/template/onetomany/cgform_controllerTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_controllerTemplate.ftl similarity index 90% rename from resources/jeecg/template/onetomany/cgform_controllerTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_controllerTemplate.ftl index 34ab5a35..773e1518 100644 --- a/resources/jeecg/template/onetomany/cgform_controllerTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_controllerTemplate.ftl @@ -19,8 +19,8 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; @@ -85,6 +85,7 @@ public class ${entityName}Controller extends BaseController { //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}); try{ + //自定义追加查询条件 <#list columns as po> <#if po.isQuery =='Y' && po.queryMode =='group'> String query_${po.fieldName}_begin = request.getParameter("${po.fieldName}_begin"); @@ -148,7 +149,17 @@ public class ${entityName}Controller extends BaseController { message = "${ftl_description}删除成功"; try{ for(String id:ids.split(",")){ - ${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, id); + ${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, + <#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "UUID"> + id + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "NATIVE"> + Integer.parseInt(id) + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE"> + Integer.parseInt(id) + <#else> + id + + ); ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } @@ -260,11 +271,15 @@ public class ${entityName}Controller extends BaseController { //=================================================================================== - //删除-${sub.ftlDescription} + //查询-${sub.ftlDescription} String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList); - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${sub.entityName?uncap_first}List"); + try{ + List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); + req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList); + }catch(Exception e){ + logger.info(e.getMessage()); + } + return new ModelAndView("${bussiPackage?replace(".","/")}/${sub.entityPackage}/${sub.entityName?uncap_first}List"); } diff --git a/WebRoot/WEB-INF/classes/jeecg/template/cgform_entityTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_entityTemplate.ftl similarity index 71% rename from WebRoot/WEB-INF/classes/jeecg/template/cgform_entityTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_entityTemplate.ftl index 54d4fe49..eefb1098 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/cgform_entityTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_entityTemplate.ftl @@ -27,6 +27,9 @@ import javax.persistence.SequenceGenerator; */ @Entity @Table(name = "${tableName}", schema = "") +<#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE"> +@SequenceGenerator(name="SEQ_GEN", sequenceName="${cgformConfig.cgFormHead.jformPkSequence}") + @SuppressWarnings("serial") public class ${entityName}Entity implements java.io.Serializable { <#list columns as po> @@ -40,10 +43,21 @@ public class ${entityName}Entity implements java.io.Serializable { *@return: ${po.type} ${po.content} */ <#if po.fieldName == jeecg_table_id> - + <#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "UUID"> @Id @GeneratedValue(generator = "paymentableGenerator") @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "NATIVE"> + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + <#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE"> + @Id + @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_GEN") + <#else> + @Id + @GeneratedValue(generator = "paymentableGenerator") + @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") + @Column(name ="${fieldMeta[po.fieldName]}",nullable=<#if po.isNull == 'Y'>true<#else>false<#if po.pointLength != 0>,scale=${po.pointLength}<#if po.length !=0>,length=${po.length?c}) public ${po.type} get${po.fieldName?cap_first}(){ diff --git a/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl new file mode 100644 index 00000000..cb0866af --- /dev/null +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl @@ -0,0 +1,69 @@ +${cgformConfig.formJs.cgJsStr?if_exists} + +//初始化下标 +function resetTrNum(tableId) { + $tbody = $("#"+tableId+""); + $tbody.find('>tr').each(function(i){ + $(':input, select,button,a', this).each(function(){ + var $this = $(this), name = $this.attr('name'),id=$this.attr('id'),onclick_str=$this.attr('onclick'), val = $this.val(); + if(name!=null){ + if (name.indexOf("#index#") >= 0){ + $this.attr("name",name.replace('#index#',i)); + }else{ + var s = name.indexOf("["); + var e = name.indexOf("]"); + var new_name = name.substring(s+1,e); + $this.attr("name",name.replace(new_name,i)); + } + } + if(id!=null){ + if (id.indexOf("#index#") >= 0){ + $this.attr("id",id.replace('#index#',i)); + }else{ + var s = id.indexOf("["); + var e = id.indexOf("]"); + var new_id = id.substring(s+1,e); + $this.attr("id",id.replace(new_id,i)); + } + } + if(onclick_str!=null){ + if (onclick_str.indexOf("#index#") >= 0){ + $this.attr("onclick",onclick_str.replace(/#index#/g,i)); + }else{ + } + } + }); + $(this).find('div[name=\'xh\']').html(i+1); + }); +} + +function browseImages(inputId, Img) {// 图片管理器,可多个上传共用 + var finder = new CKFinder(); + finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数 + $("#" + Img).attr("src", fileUrl); + $("#" + inputId).attr("value", fileUrl); + }; + finder.resourceType = 'Images';// 指定ckfinder只为图片进行管理 + finder.selectActionData = inputId; //接收地址的input ID + finder.removePlugins = 'help';// 移除帮助(只有英文) + finder.defaultLanguage = 'zh-cn'; + finder.popup(); + } +function browseFiles(inputId, file) {// 文件管理器,可多个上传共用 + var finder = new CKFinder(); + finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数 + $("#" + file).attr("href", fileUrl); + $("#" + inputId).attr("value", fileUrl); + decode(fileUrl, file); + }; + finder.resourceType = 'Files';// 指定ckfinder只为文件进行管理 + finder.selectActionData = inputId; //接收地址的input ID + finder.removePlugins = 'help';// 移除帮助(只有英文) + finder.defaultLanguage = 'zh-cn'; + finder.popup(); +} +function decode(value, id) {//value传入值,id接受值 + var last = value.lastIndexOf("/"); + var filename = value.substring(last + 1, value.length); + $("#" + id).text(decodeURIComponent(filename)); +} \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspListTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspListTemplate.ftl similarity index 87% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspListTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspListTemplate.ftl index cb48b576..4109f8ef 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspListTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspListTemplate.ftl @@ -4,7 +4,7 @@
    <#list columns as po> - formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.showType?index_of("date")!=-1>formatter="yyyy-MM-dd" <#if po.isShowList?if_exists?html =='N'>hidden="false"<#else>hidden="true" <#if po.isQuery =='Y'>query="true" <#if po.queryMode =='single'>queryMode="single"<#elseif po.queryMode =='group'>queryMode="group" <#if po.dictTable?if_exists?html!="">dictionary="${po.dictTable},${po.dictField},${po.dictText}"<#else><#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!="">dictionary="${po.dictField}" > + formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.showType?index_of("date")!=-1>formatter="yyyy-MM-dd" <#if po.isShowList?if_exists?html =='N'>hidden="false"<#else>hidden="true" <#if po.isQuery =='Y'>query="true" <#if po.queryMode =='single'>queryMode="single"<#elseif po.queryMode =='group'>queryMode="group" <#if po.dictTable?if_exists?html!="">dictionary="${po.dictTable},${po.dictField},${po.dictText}"<#else><#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!="">dictionary="${po.dictField}" width="${po.fieldLength}"> @@ -26,11 +26,11 @@ //给时间控件加上样式 <#list columns as po> <#if (po.showType?index_of("datetime")!=-1 || po.showType?index_of("date")!=-1) && po.queryMode=="single"> - $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}']").attr("class","easyui-${po.showType}box"); + $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); <#else> <#if (po.showType?index_of("datetime")!=-1 || po.showType?index_of("date")!=-1) && po.queryMode=="group"> - $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_begin']").attr("class","easyui-${po.showType}box"); - $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_end']").attr("class","easyui-${po.showType}box"); + $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_begin']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); + $("#${entityName?uncap_first}Listtb").find("input[name='${po.fieldName}_end']").attr("class","Wdate").attr("style","height:20px;width:90px;").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});}); diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl similarity index 93% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl index b77cf868..3480dbe1 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl @@ -20,18 +20,22 @@ $(".datagrid-toolbar").parent().css("width","auto"); if(location.href.indexOf("load=detail")!=-1){ $(":input").attr("disabled","true"); - $(":input").attr("style","border:0;border-bottom:1 solid black;background:white;"); $(".datagrid-toolbar").hide(); + $(":input").each(function(){ + var $thisThing = $(this); + $thisThing.attr("title",$thisThing.val()); + }); } }); -
    +
    + <#list pageColumns as po> <#assign check = 0 > <#list foreignKeys as key> @@ -51,6 +55,7 @@ + <#list columns as po> <#if po.isShow=="N"> @@ -134,6 +139,7 @@ > + @@ -142,6 +148,7 @@ 0 }"> + <#list columns as po> <#if po.isShow=="N"> @@ -187,8 +194,8 @@ value="${'$'}{poVal.${po.fieldName} }"> <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> + dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{poVal.${po.fieldName} }" hasLabel="false" title="${po.content}"> <#elseif po.showType=='date'> value="${'$'}{poVal.${po.fieldName} }"> + diff --git a/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl similarity index 97% rename from resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl index a2370d9e..99715354 100644 --- a/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2one.ftl @@ -4,11 +4,10 @@ $(document).ready(function(){ if(location.href.indexOf("load=detail")!=-1){ $(":input").attr("disabled","true"); - $(":input").attr("style","border:0;border-bottom:1 solid black;background:white;"); } }); -
    +
    1
    ${'$'}{stuts.index+1 }
    @@ -104,6 +103,7 @@ $(document).ready(function(){ > + <#if (po_index+1)%2==0> @@ -215,6 +215,7 @@ $(document).ready(function(){ value="${'$'}{poVal.${po.fieldName} }"> + <#if (po_index+1)%2==0> diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_jspTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate.ftl diff --git a/resources/jeecg/template/onetomany/cgform_jspTemplate_add.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate_add.ftl similarity index 50% rename from resources/jeecg/template/onetomany/cgform_jspTemplate_add.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate_add.ftl index 1f5c6b0e..dcf28fe9 100644 --- a/resources/jeecg/template/onetomany/cgform_jspTemplate_add.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate_add.ftl @@ -14,72 +14,8 @@ $('#tt .panel-body').css('width','auto'); } }); + $(".tabs-wrap").css('width','100%'); }); - //初始化下标 - function resetTrNum(tableId) { - $tbody = $("#"+tableId+""); - $tbody.find('>tr').each(function(i){ - $(':input, select,button,a', this).each(function(){ - var $this = $(this), name = $this.attr('name'),id=$this.attr('id'),onclick_str=$this.attr('onclick'), val = $this.val(); - if(name!=null){ - if (name.indexOf("#index#") >= 0){ - $this.attr("name",name.replace('#index#',i)); - }else{ - var s = name.indexOf("["); - var e = name.indexOf("]"); - var new_name = name.substring(s+1,e); - $this.attr("name",name.replace(new_name,i)); - } - } - if(id!=null){ - if (id.indexOf("#index#") >= 0){ - $this.attr("id",id.replace('#index#',i)); - }else{ - var s = id.indexOf("["); - var e = id.indexOf("]"); - var new_id = id.substring(s+1,e); - $this.attr("id",id.replace(new_id,i)); - } - } - if(onclick_str!=null){ - if (onclick_str.indexOf("#index#") >= 0){ - $this.attr("onclick",onclick_str.replace(/#index#/g,i)); - }else{ - } - } - }); - }); - } - function browseImages(inputId, Img) {// 图片管理器,可多个上传共用 - var finder = new CKFinder(); - finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数 - $("#" + Img).attr("src", fileUrl); - $("#" + inputId).attr("value", fileUrl); - }; - finder.resourceType = 'Images';// 指定ckfinder只为图片进行管理 - finder.selectActionData = inputId; //接收地址的input ID - finder.removePlugins = 'help';// 移除帮助(只有英文) - finder.defaultLanguage = 'zh-cn'; - finder.popup(); - } - function browseFiles(inputId, file) {// 文件管理器,可多个上传共用 - var finder = new CKFinder(); - finder.selectActionFunction = function(fileUrl, data) {//设置文件被选中时的函数 - $("#" + file).attr("href", fileUrl); - $("#" + inputId).attr("value", fileUrl); - decode(fileUrl, file); - }; - finder.resourceType = 'Files';// 指定ckfinder只为文件进行管理 - finder.selectActionData = inputId; //接收地址的input ID - finder.removePlugins = 'help';// 移除帮助(只有英文) - finder.defaultLanguage = 'zh-cn'; - finder.popup(); - } - function decode(value, id) {//value传入值,id接受值 - var last = value.lastIndexOf("/"); - var filename = value.substring(last + 1, value.length); - $("#" + id).text(decodeURIComponent(filename)); - } @@ -95,76 +31,77 @@ <#if (po_index+1)%2==0> @@ -190,6 +127,7 @@ <#list subTab as sub> + <#list subPageColumnsMap[sub.tableName] as po> <#assign check = 0 > @@ -230,8 +168,8 @@ > <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> + dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="" hasLabel="false" title="${po.content}"> <#elseif po.showType=='date'> > + diff --git a/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate_update.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate_update.ftl new file mode 100644 index 00000000..88094ae8 --- /dev/null +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_jspTemplate_update.ftl @@ -0,0 +1,223 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + ${ftl_description} + + + + + + + + <#list columns as po> + <#if po.isShow == 'N'> + + + +
    - + - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - - + <#if po.showType=='text'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + <#elseif po.showType=='textarea'> + + <#elseif po.showType=='password'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> + dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" hasLabel="false" title="${po.content}"> + <#elseif po.showType=='date'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + > + <#elseif po.showType=='datetime'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + > + <#elseif po.showType=='file'> + + 暂时未上传文件 + + <#else> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + + +
    + <#list pageColumns as po> + <#if po_index%2==0> + + + + + <#if (po_index+1)%2==0> + + <#else> + <#if !po_has_next> + + + + +
    + + + <#if po.showType=='text'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> + <#elseif po.showType=='textarea'> + + <#elseif po.showType=='password'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> + <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> + dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> + <#elseif po.showType=='date'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + value=''> + <#elseif po.showType=='datetime'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + value=''> + <#elseif po.showType=='file'> + + + 暂时未上传文件 + + + 下载 + + + <#else> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> + + + +
    +
    + <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> +
    + + <#list subTab as sub> + &${jeecg_table_id}=${"$"}{${entityName?uncap_first}Page.${jeecg_table_id}}<#else>&${key?uncap_first}=${"$"}{${entityName?uncap_first}Page.${key?uncap_first}}" icon="icon-search" title="${sub.ftlDescription}" id="${sub.entityName?uncap_first}"> + + +
    + + + + <#list subTab as sub> + + + + + <#list subPageColumnsMap[sub.tableName] as po> + <#assign check = 0 > + <#list sub.foreignKeys as key> + <#if subFieldMeta[po.fieldName]==key?uncap_first> + <#assign check = 1 > + <#break> + + + <#if check==0> + + + + + + +
    + <#if po.showType == "text"> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + <#elseif po.showType=='password'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> + dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="" hasLabel="false" title="${po.content}"> + <#elseif po.showType=='date'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + > + <#elseif po.showType=='datetime'> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.isNull != 'Y'>datatype="*" + > + <#elseif po.showType=='file'> + + 暂时未上传文件 + + <#else> + + datatype="${po.fieldValidType?if_exists?html}" + <#else> + <#if po.type == 'int'> + datatype="n" + <#elseif po.type=='double'> + datatype="/^(-?\d+)(\.\d+)?$/" + <#else> + <#if po.isNull != 'Y'>datatype="*" + + > + + +
    + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_pageTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_pageTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_pageTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_pageTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_serviceITemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_serviceITemplate.ftl similarity index 99% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_serviceITemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_serviceITemplate.ftl index 273d7206..c5ffb72f 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_serviceITemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_serviceITemplate.ftl @@ -9,7 +9,7 @@ import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; public interface ${entityName}ServiceI extends CommonService{ - @Override + public void delete(T entity); /** * 添加一对多 diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl similarity index 98% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl index 17316816..9383578d 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl @@ -3,8 +3,8 @@ package ${bussiPackage}.service.impl.${entityPackage}; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; import org.jeecgframework.core.common.exception.BusinessException; +import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.util.MyBeanUtils; import org.jeecgframework.core.util.StringUtil; @@ -19,13 +19,13 @@ import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; @Service("${entityName?uncap_first}Service") @Transactional public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - @Override + public void delete(T entity) { super.delete(entity); //执行删除操作配置的sql增强 this.doDelSql((${entityName}Entity)entity); } - @Override + public void addMain(${entityName}Entity ${entityName?uncap_first}, <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,){ //保存主信息 @@ -49,7 +49,7 @@ public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${ent this.doAddSql(${entityName?uncap_first}); } - @Override + public void updateMain(${entityName}Entity ${entityName?uncap_first}, <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,) { //保存主表信息 @@ -95,7 +95,7 @@ public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${ent } //3.持久化新增的数据-${sub.ftlDescription} for(${sub.entityName}Entity ${sub.entityName?uncap_first}:${sub.entityName?uncap_first}List){ - if(StringUtil.isEmpty(${sub.entityName?uncap_first}.getId())){ + if(${sub.entityName?uncap_first}.getId()!=null){ //外键设置 <#list sub.foreignKeys as key> <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> @@ -112,7 +112,7 @@ public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${ent this.doUpdateSql(${entityName?uncap_first}); } - @Override + public void delMain(${entityName}Entity ${entityName?uncap_first}) { //删除主表信息 this.delete(${entityName?uncap_first}); diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/controllerTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/controllerTemplate.ftl similarity index 90% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/controllerTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/controllerTemplate.ftl index 00450d69..b0010377 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/controllerTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/controllerTemplate.ftl @@ -18,8 +18,8 @@ import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; +import org.jeecgframework.web.system.pojo.base.TSDepart; +import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.core.util.MyBeanUtils; import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; @@ -166,10 +166,14 @@ public class ${entityName}Controller extends BaseController { //=================================================================================== - //删除-${sub.ftlDescription} + //查询-${sub.ftlDescription} String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList); + try{ + List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); + req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList); + }catch(Exception e){ + logger.info(e.getMessage()); + } return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${sub.entityName?uncap_first}List"); } diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/entityTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/entityTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/entityTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/entityTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspListTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/jspListTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/jspListTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/jspListTemplate.ftl diff --git a/resources/jeecg/template/onetomany/jspSubTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/jspSubTemplate.ftl similarity index 90% rename from resources/jeecg/template/onetomany/jspSubTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/jspSubTemplate.ftl index dee123d1..9d1482ac 100644 --- a/resources/jeecg/template/onetomany/jspSubTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/jspSubTemplate.ftl @@ -23,10 +23,11 @@ -
    +
    + <#list columns as po> <#assign check = 0 > <#list foreignKeys as key> @@ -43,6 +44,7 @@ + <#list columns as po> <#assign check = 0 > @@ -61,8 +63,9 @@ 0 }"> + - + <#list columns as po> <#assign check = 0 > <#list foreignKeys as key> diff --git a/resources/jeecg/template/onetomany/jspTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/jspTemplate.ftl similarity index 96% rename from resources/jeecg/template/onetomany/jspTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/jspTemplate.ftl index 54cb6f75..4d1b9b7a 100644 --- a/resources/jeecg/template/onetomany/jspTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/jspTemplate.ftl @@ -23,6 +23,7 @@ } } }); + $(this).find('div[name=\'xh\']').html(i+1); }); } @@ -60,11 +61,12 @@ - +
    序号操作
    1
    ${'$'}{stuts.index+1 }
    <#list subTab as sub> + <#list sub.subColums as po> <#assign check = 0 > diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/pageTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/pageTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/pageTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/pageTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/serviceITemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/serviceITemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/serviceITemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/serviceITemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/serviceImplTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/onetomany/serviceImplTemplate.ftl similarity index 97% rename from WebRoot/WEB-INF/classes/jeecg/template/onetomany/serviceImplTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/onetomany/serviceImplTemplate.ftl index 911896f2..caa4a9b3 100644 --- a/WebRoot/WEB-INF/classes/jeecg/template/onetomany/serviceImplTemplate.ftl +++ b/jeecg-framework/src/main/resources/jeecg/template/onetomany/serviceImplTemplate.ftl @@ -5,7 +5,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; - +import org.jeecgframework.core.common.exception.BusinessException; +import org.jeecgframework.core.util.MyBeanUtils; import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; <#list subTab as sub> import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; @@ -14,7 +15,7 @@ import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; @Transactional public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - @Override + public void addMain(${entityName}Entity ${entityName?uncap_first}, <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,){ //保存主信息 @@ -36,7 +37,7 @@ public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${ent } - @Override + public void updateMain(${entityName}Entity ${entityName?uncap_first}, <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,) { //保存订单主信息 @@ -100,7 +101,7 @@ public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${ent } - @Override + public void delMain(${entityName}Entity ${entityName?uncap_first}) { //删除主表信息 this.delete(${entityName?uncap_first}); diff --git a/WebRoot/WEB-INF/classes/jeecg/template/serviceITemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/serviceITemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/serviceITemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/serviceITemplate.ftl diff --git a/WebRoot/WEB-INF/classes/jeecg/template/serviceImplTemplate.ftl b/jeecg-framework/src/main/resources/jeecg/template/serviceImplTemplate.ftl similarity index 100% rename from WebRoot/WEB-INF/classes/jeecg/template/serviceImplTemplate.ftl rename to jeecg-framework/src/main/resources/jeecg/template/serviceImplTemplate.ftl diff --git a/WebRoot/WEB-INF/classes/log4j.properties b/jeecg-framework/src/main/resources/log4j.properties similarity index 100% rename from WebRoot/WEB-INF/classes/log4j.properties rename to jeecg-framework/src/main/resources/log4j.properties diff --git a/resources/spring-minidao.xml b/jeecg-framework/src/main/resources/spring-minidao.xml similarity index 88% rename from resources/spring-minidao.xml rename to jeecg-framework/src/main/resources/spring-minidao.xml index 42655461..b97630c9 100644 --- a/resources/spring-minidao.xml +++ b/jeecg-framework/src/main/resources/spring-minidao.xml @@ -12,7 +12,7 @@ default-autowire="byName" default-lazy-init="false"> - @@ -29,14 +29,15 @@ - + - jeecg.cgreport.dao.* - jeecg.cgform.dao.* - jeecg.system.dao.* + org.jeecgframework.web.cgreport.dao.* + org.jeecgframework.web.cgform.dao.* + org.jeecgframework.web.system.dao.* + org.jeecgframework.web.demo.dao.* diff --git a/resources/spring-mvc-aop.xml b/jeecg-framework/src/main/resources/spring-mvc-aop.xml similarity index 53% rename from resources/spring-mvc-aop.xml rename to jeecg-framework/src/main/resources/spring-mvc-aop.xml index 4545874a..68a009ad 100644 --- a/resources/spring-mvc-aop.xml +++ b/jeecg-framework/src/main/resources/spring-mvc-aop.xml @@ -1,13 +1,13 @@ - - - + + \ No newline at end of file diff --git a/jeecg-framework/src/main/resources/spring-mvc-context.xml b/jeecg-framework/src/main/resources/spring-mvc-context.xml new file mode 100644 index 00000000..c3572727 --- /dev/null +++ b/jeecg-framework/src/main/resources/spring-mvc-context.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/resources/spring-mvc-hibernate.xml b/jeecg-framework/src/main/resources/spring-mvc-hibernate.xml new file mode 100644 index 00000000..70ee733d --- /dev/null +++ b/jeecg-framework/src/main/resources/spring-mvc-hibernate.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + ${hibernate.dialect} + ${hibernate.hbm2ddl.auto} + true + true + false + + + + + + org.jeecgframework.web.system.pojo.* + org.jeecgframework.web.demo.entity.* + org.jeecgframework.web.test.entity.* + org.jeecgframework.web.cgform.entity.* + org.jeecgframework.web.cgreport.entity.* + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/resources/spring-mvc-timeTask.xml b/jeecg-framework/src/main/resources/spring-mvc-timeTask.xml new file mode 100644 index 00000000..1a98190b --- /dev/null +++ b/jeecg-framework/src/main/resources/spring-mvc-timeTask.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/resources/spring-mvc.xml b/jeecg-framework/src/main/resources/spring-mvc.xml new file mode 100644 index 00000000..cc0def1f --- /dev/null +++ b/jeecg-framework/src/main/resources/spring-mvc.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + text/html;charset=UTF-8 + + + + + + + + + + + + + + + + + + + + + + + + + 104857600 + + + 4096 + + + + + + + + + + + + + + + 500 + 404 + + + + + + dbError + bizError + bizError + bizError + unknowError + + + + + + + + + + + + + + + loginController.do?goPwdInit + loginController.do?pwdInit + loginController.do?login + loginController.do?checkuser + repairController.do?repair + repairController.do?deleteAndRepair + + + + + + + + + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/classes/sysConfig.properties b/jeecg-framework/src/main/resources/sysConfig.properties similarity index 58% rename from WebRoot/WEB-INF/classes/sysConfig.properties rename to jeecg-framework/src/main/resources/sysConfig.properties index 29d29752..a45dd21d 100644 --- a/WebRoot/WEB-INF/classes/sysConfig.properties +++ b/jeecg-framework/src/main/resources/sysConfig.properties @@ -5,7 +5,7 @@ templatepath=docTemp # uploadpath=upload -office_home=D://openOffice +office_home=D://OpenOffice #DEV(\u751f\u4ea7\u6a21\u5f0f)/PUB(\u5f00\u53d1\u6a21\u5f0f) @@ -18,12 +18,18 @@ jdbc.url.jeecg=mysql button.authority.jeecg=true #auto scan menu flag true or false -auto.scan.menu.flag=true - -#ckfinder upload files -userfiles=userfiles - -#ckeditor配置 +auto.scan.menu.flag=false + +#ckfinder upload files如果不想把文件放在非本项目下,ck.userfiles可以直接指定本项目下 +# 的文件夹名,并把ck.baseDir留空即可 +####指定非本项目的http地址,用于ckfinder指定文件库 +ck.userfiles=http://localhost:8080/jeecg/userfiles +####ckfinder指定文件库的绝对路径(请改为自己的) +ck.baseDir=E\:/Program Files/apache-tomcat-6.0.20/webapps/jeecg/userfiles +####是否为每位用户创建一个独有的文件夹存放文件(true/false) +ck.isOnlyUser=true + +#ckeditor config filebrowserBrowseUrl='plug-in/ckfinder/ckfinder.html' filebrowserImageBrowseUrl='plug-in/ckfinder/ckfinder.html?type=Images' filebrowserFlashBrowseUrl='plug-in/ckfinder/ckfinder.html?type=Flash' diff --git a/WebRoot/META-INF/MANIFEST.MF b/jeecg-framework/src/main/webapp/META-INF/MANIFEST.MF similarity index 100% rename from WebRoot/META-INF/MANIFEST.MF rename to jeecg-framework/src/main/webapp/META-INF/MANIFEST.MF diff --git a/WebRoot/WEB-INF/cgi/proxy.cgi b/jeecg-framework/src/main/webapp/WEB-INF/cgi/proxy.cgi similarity index 100% rename from WebRoot/WEB-INF/cgi/proxy.cgi rename to jeecg-framework/src/main/webapp/WEB-INF/cgi/proxy.cgi diff --git a/jeecg-framework/src/main/webapp/WEB-INF/tld/easyui.tld b/jeecg-framework/src/main/webapp/WEB-INF/tld/easyui.tld new file mode 100644 index 00000000..2a1e77c3 --- /dev/null +++ b/jeecg-framework/src/main/webapp/WEB-INF/tld/easyui.tld @@ -0,0 +1,1285 @@ + + + + 1.0 + 1.2 + t + /easyui-tags + "自定义标签" + + base + org.jeecgframework.tag.core.easyui.BaseTag + jsp + 父类标签生成JS CSS + + type + true + true + 加载类型 + + + + datagrid + org.jeecgframework.tag.core.easyui.DataGridTag + jsp + 数据列表 + + name + true + true + 列表TABLE标示 + + + treegrid + true + 是否是树形列表 值为true 或者false + + + actionUrl + true + true + 分页提交的路径 + + + pagination + true + 是否分页 true,false + + + title + true + 表格标题 + + + idField + true + 主键字段 + + + width + true + 表格宽度 + + + height + true + 表格高度 + + + checkbox + true + 是否显示复选框 + + + fit + true + 是否适应父容器,true 默认 ,false + + + sortName + true + 定义的列进行排序 + + + sortOrder + true + 定义列的排序顺序,只能是"递增 asc"或"降序desc" + + + fitColumns + true + 当为true时,自动展开/合同列的大小,以适应的宽度,防止横向滚动 + + + showPageList + true + 是否显示页面列表 + + + showRefresh + true + 是否显示刷新按钮 + + + showText + true + 是否显示分页信息 + + + style + true + 表格样式easyui,datatables + + + pageSize + true + 每页显示条数 + + + onLoadSuccess + true + 数据加载成调用方法 + + + onDblClick + true + 双击调用方法 + + + onClick + true + 单击调用方法 tree 下function(rowData),dataGrid + 下function(rowIndex,rowData) + + + queryMode + true + 查询模式:single(单条件查询:默认),group(组合查询) + + + autoLoadData + true + 列表页面数据加载模式。true自动加载数据,false手动加载,默认为true + + + openFirstNode + true + 是不是展开第一个节点,在树形情况下,true展开,false不展开默认false + + + entityName + true + 对应的实体对象,如果entity和controller都是规则的可以不填,自动补全标签做关联 + + + rowStyler + true + 行 css函数 指定名称就可以,调用为 functionName(index,row)这样调用 + + + extendParams + true + datagrid 的扩展字段,如果easyui上面有但是jeecg没有这个属性可以自己添加 + 添加规则和easyui的field一致 + + + + dgCol + org.jeecgframework.tag.core.easyui.DataGridColumnTag + jsp + 列表字段 + + title + true + true + 字段标题 + + + field + true + true + 字段值 + + + width + true + 字段宽度 + + + rowspan + true + 字段跨列 + + + colspan + true + 字段跨行 + + + align + true + 数据对齐方式,可选值有left,right,center + + + sortable + true + 是否排序 + + + checkbox + true + 是否显示选择框 + + + formatter + true + 自定义函数名称 + + + hidden + true + 列隐藏(隐藏:false) + + + replace + true + 字段值替换(格式 :old_new,old2_new2) + + + treefield + true + 树形菜单对应字段 + + + image + true + 是否显示图片字段 + + + imageSize + true + 自定义大小显示(格式:width,height) + + + query + true + 是否为添加查询列 + + + queryMode + true + 字段查询模式:single(默认:单字段查询),group(范围查询) + + + frozenColumn + false + 是否是冰冻列。默认false + + + funname + false + true + 自定义函数 + + + url + false + true + 自定义链接地址 + + + dictionary + false + true + 数据字典组编码 或 自定义字典(格式:表名,编码,显示文本) + + + extend + false + true + 扩展属性(采用json格式)查询的时候使用 + + + style + false + true + td CSS 属性 + + + downloadName + true + 附件下载 + + + autocomplete + true + 自动补全,true 自动补全,false不补全,默认false 填写当前字段 + + + extendParams + true + datagrid field 的扩展字段,如果easyui上面有但是jeecg没有这个属性可以自己添加 + 添加规则和easyui的field一致 + + + + dgDelOpt + org.jeecgframework.tag.core.easyui.DataGridDelOptTag + jsp + 列表删除操作 + + url + true + true + 列表操作URL + + + title + true + true + 操作标题 + + + message + true + 询问内容 + + + exp + true + 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) + 表达式类型支持eq,ne,empty + + + funname + true + 自定义函数名称 + + + operationCode + true + 按钮操作Code + + + + dgDefOpt + org.jeecgframework.tag.core.easyui.DataGridDefOptTag + jsp + 列表URL操作 + + url + true + true + 列表操作URL + + + title + true + true + 操作标题 + + + exp + true + 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) + 表达式类型支持eq,ne,empty + + + operationCode + true + 按钮操作Code + + + + dgOpenOpt + org.jeecgframework.tag.core.easyui.DataGridOpenOptTag + jsp + 弹出窗模式操作 + + url + true + true + 列表操作URL + + + title + true + true + 操作标题 + + + width + true + 弹出窗宽度 + + + height + true + 弹出窗高度 + + + exp + true + 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) + 表达式类型支持eq,ne,empty + + + operationCode + true + 按钮操作Code + + + openModel + true + 弹出方式[OpenWin/OpenTab] + + + + dgFunOpt + org.jeecgframework.tag.core.easyui.DataGridFunOptTag + jsp + 列表自定义函数操作 + + title + true + true + 操作标题 + + + exp + true + 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) + 表达式类型支持eq,ne,empty + + + funname + true + true + 自定义函数名称(可传出任意字段) + + + operationCode + true + 按钮操作Code + + + + dgToolBar + org.jeecgframework.tag.core.easyui.DataGridToolBarTag + jsp + 列表工具条标签 + + url + true + 工具条选项URL + + + icon + true + 工具条选项图标 + + + title + true + true + 工具条选项标题 + + + funname + true + 工具条选项自定义函数 + + + width + true + 弹出框宽度 + + + height + true + 弹出框高度 + + + onclick + true + 工具条选项onclick事件 + + + operationCode + true + 按钮操作Code + + + + dgConfOpt + org.jeecgframework.tag.core.easyui.DataGridConfOptTag + jsp + 列表询问操作 + + url + true + true + 列表操作URL + + + title + true + true + 操作标题 + + + exp + true + 是否显示改链接的表达式,例 字段名#表达式符号#字段值(name#eq#admin) + 表达式类型支持eq,ne,empty + + + message + true + true + 询问内容 + + + operationCode + true + 按钮操作Code + + + + comboBox + org.jeecgframework.tag.core.easyui.ComboBoxTag + jsp + 下拉选择框 + + name + true + true + 控件名称 + + + url + true + true + 远程数据 + + + id + true + true + ID对应字段 + + + text + true + true + text对应字段 + + + width + true + width对应字段 + + + listWidth + true + listWidth对应字段 + + + listHeight + true + listHeight对应字段 + + + + comboTree + org.jeecgframework.tag.core.easyui.ComboTreeTag + jsp + 下拉树形选择框 + + name + true + true + 控件名称 + + + url + true + true + 远程数据 + + + id + true + true + ID对应字段 + + + width + true + width对应字段 + + + value + true + + + + multiple + true + 是否多选 + + + + tabs + org.jeecgframework.tag.core.easyui.TabsTag + jsp + 选项卡标签 + + id + true + true + 容器ID + + + width + true + 宽度 + + + heigth + true + 高度 + + + plain + true + 如果设置为true,将不显示控制面板背景。 + + + fit + true + 设置为true时,选项卡的大小将铺满它所在的容器(浏览器) + + + border + true + 如果设置true,将显示选项卡所在容器(控制面板)的边框 + + + scrollIncrement + true + 选项卡滚动条每次滚动的像素值 + + + scrollDuration + true + 每次滚动持续的时间,单位为毫秒 + + + tools + true + 控制面板右侧的工具栏,每个工具选项都跟链接按钮一样 + + + tabs + true + 是否创建父容器 + + + iframe + true + 是否是Iframe创建HREF + + + tabPosition + true + 选项卡位置(top,left,right,bottom) + + + + tab + org.jeecgframework.tag.core.easyui.TabTag + jsp + 选项卡选项标签 + + id + true + true + ID对应字段 + + + title + true + true + tab标题 + + + heigth + true + tab高度 + + + width + true + 宽度 + + + href + true + href + + + iframe + true + ID对应字段 + + + icon + true + 选项卡图标 + + + closable + true + 选项卡是否带关闭按钮 + + + + upload + org.jeecgframework.tag.core.easyui.UploadTag + jsp + 选项卡选项标签 + + id + true + true + ID对应字段 + + + name + true + true + 控件名称 + + + formData + true + 后台接受的参数,取控件ID + + + uploader + true + true + uploader + + + extend + true + true + 上传文件扩展名(可选类型组1,图片:pic,2,文档:office) + + + buttonText + false + true + 控件显示文本 + + + multi + false + true + 是否多文件上传 + + + queueID + false + true + 文件容器ID + + + dialog + false + true + 是否是弹出窗口模式 + + + callback + false + 回调函数 + + + auto + false + 是否自动上传 + + + onUploadSuccess + false + 上传成功处理函数 + + + view + false + 是否生成查看删除链接默认false,如为true需要在后台返回JSON中添加查看参数(viewhref)和删除参数(delurl) + + + + ckfinder + org.jeecgframework.tag.core.easyui.CkfinderTag + jsp + ckfinder标签 + + name + true + true + 属性名称 + + + value + true + 默认值 + + + width + false + 显示图片宽(上传类型为Images时) + + + height + false + 显示图片高(上传类型为Images时) + + + buttonClass + false + 按钮样式 + + + buttonValue + false + 按钮文本 + + + uploadType + true + false + 上传类型(Images,Files,Flash) + + + + ckeditor + org.jeecgframework.tag.core.easyui.CkeditorTag + jsp + ckeditor标签 + + name + true + true + 属性名称 + + + value + true + 默认值 + + + isfinder + true + false + 是否加载ckfinder + + + type + false + 其它属性(用法:height:400,uiColor:'#9AB8F3' 用,分割) + + + + formvalid + org.jeecgframework.tag.core.easyui.FormValidationTag + jsp + 表单验证标签 + + action + true + 表单提交路径 + + + formid + true + true + Form Id + + + refresh + false + 是否刷新父页面 + + + callback + false + 回调函数 + + + beforeSubmit + false + 提交之前处理函数 + + + btnsub + false + 触发提交事件按钮(默认值:btn_sub) + + + btnreset + false + 触发表单重置事件按钮(默认值:btn_reset) + + + layout + true + false + 表单布局 + + + usePlugin + false + 外调插件(可选插件,jqtransform:表单美化) + + + dialog + true + true + 是否是弹出窗口模式 + + + tabtitle + false + true + 表单选项卡分组标题 + + + tiptype + false + true + 表单校验提示方式 1:弹出方式,2-4:侧边提示 + + + + + choose + org.jeecgframework.tag.core.easyui.ChooseTag + jsp + 111 + 选则操作 + + hiddenName + true + 隐藏域控件的ID + + + hiddenid + true + 隐藏域控件在弹出列表中的对应字段 + + + textname + true + 显示域控件在弹出列表中的对应字段 + + + inputTextname + true + 显示域控件的ID + + + name + true + true + datagrid名称 + + + icon + true + true + 选择按钮的图标 + + + height + true + 弹出框的宽度 + + + width + true + 弹出框的高度 + + + left + true + 弹出框的位置 + + + top + true + 弹出框的位置 + + + url + true + true + url + + + title + true + true + 标题 + + + isclear + true + 标题 + + + fun + true + 自定义函数 + + + + + colorchange + org.jeecgframework.tag.core.easyui.ColorChangeTag + jsp + 改变HTML控件颜色 + 111 + 改变HTML控件颜色 + + + + menu + org.jeecgframework.tag.core.easyui.MenuTag + jsp + 左侧菜单生成控件 + 111 + 左侧菜单生成控件可选样式easyui,bootstrap,json + + style + true + 菜单样式 + + + parentFun + false + true + 一级菜单 + + + childFun + false + true + 二级菜单 + + + menuFun + false + true + 菜单信息 + + + + + autocomplete + org.jeecgframework.tag.core.easyui.AutocompleteTag + jsp + 自动完成控件 + 111 + 数据自动补全 + + name + true + true + 控件名称 + + + entityName + true + true + 数据源对应实体 + + + dataSource + false + true + 数据源 + + + minLength + false + true + 提示触发文字长度 + + + labelField + true + true + 显示文本对应的实体字段 + + + valueField + true + true + 取值字段对应实体字段 + + + label + false + true + 传入显示文本 + + + value + false + true + 传入隐藏域值 + + + searchField + true + true + 查询关键字对应实体字段 + + + selectfun + false + true + 下拉选择事件调用函数 + + + closefun + false + true + 下拉选项关闭调用函数 + + + datatype + false + true + 数据类型 + + + nullmsg + false + true + 数据为空时提示 + + + errormsg + false + true + 数据格式错误时提示 + + + parse + false + true + 转换数据 + + + formatItem + false + true + 格式化要显示的数据 + + + result + false + true + 选择后回调方法 + + + maxRows + false + true + 最多显示条数 + + + + + dictSelect + org.jeecgframework.tag.core.easyui.DictSelectTag + jsp + 下拉选择控件 + 111 + 下拉选择控件 + + typeGroupCode + false + true + 数据字典类型编码 + + + field + true + true + SELECT表单的Name + + + extendParams + false + true + 扩展参数(json格式) + + + id + false + true + SELECT表单的Id + + + defaultVal + false + true + 默认选择的Value + + + divClass + false + true + DIV样式 + + + labelClass + false + true + Label样式 + + + title + false + true + Label显示值 + + + hasLabel + true + 是否显示Label + + + type + true + 控件格式 select|radio|checkbox + + + + dictTable + true + 自定义字典表 + + + dictField + true + 自定义字典表的匹配字段-字典的编码值 + + + dictText + true + 自定义字典表的显示文本-字典的显示值 + + + + + authFilter + org.jeecgframework.tag.core.easyui.AuthFilterTag + jsp + 按钮权限标签 + 将当前用户对应菜单中不拥有按钮权限的按钮和操作隐藏 + + name + true + 按钮容器的ID + + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/web.xml b/jeecg-framework/src/main/webapp/WEB-INF/web.xml similarity index 78% rename from WebRoot/WEB-INF/web.xml rename to jeecg-framework/src/main/webapp/WEB-INF/web.xml index 4d2441ee..741f4b13 100644 --- a/WebRoot/WEB-INF/web.xml +++ b/jeecg-framework/src/main/webapp/WEB-INF/web.xml @@ -1,11 +1,12 @@ -]> - - jeecg-framework-3.4.1.beta + + jeecg-framework-3.4.3 GA webAppRootKey - jeecg-framework + jeecg log4jConfigLocation @@ -78,12 +79,12 @@ 系统初始化监听器 - jeecg.system.listener.InitListener + org.jeecgframework.web.system.listener.InitListener - - + + - jeecg.system.listener.OnlineListener + org.jeecgframework.web.system.listener.OnlineListener @@ -109,25 +110,25 @@ springMvc *.action - - druidStatView - /webpage/system/druid/* - - - + + - RestletServlet - org.restlet.ext.servlet.ServerServlet - - - org.restlet.application - jeecg.rest.core.BaseRestApplication + restSpringMvc + org.springframework.web.servlet.DispatcherServlet + + spring mvc 配置文件 + contextConfigLocation + classpath:spring-mvc.xml - - RestletServlet - /services/* + restSpringMvc + /rest/* + + + + druidStatView + /webpage/system/druid/* @@ -145,7 +146,7 @@ configuration - jeecg.system.listener.CkfinderConfiguration + org.jeecgframework.web.system.listener.CkfinderConfiguration 2 @@ -171,13 +172,13 @@ - + 30 - + /webpage/login/login.jsp - &online-coding; + \ No newline at end of file diff --git a/WebRoot/WEB-INF/weblogic.xml b/jeecg-framework/src/main/webapp/WEB-INF/weblogic.xml similarity index 100% rename from WebRoot/WEB-INF/weblogic.xml rename to jeecg-framework/src/main/webapp/WEB-INF/weblogic.xml diff --git a/WebRoot/context/mytags.jsp b/jeecg-framework/src/main/webapp/context/mytags.jsp similarity index 64% rename from WebRoot/context/mytags.jsp rename to jeecg-framework/src/main/webapp/context/mytags.jsp index 6c4e55e4..e9a18304 100644 --- a/WebRoot/context/mytags.jsp +++ b/jeecg-framework/src/main/webapp/context/mytags.jsp @@ -1,8 +1,9 @@ <%@ taglib prefix="t" uri="/easyui-tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%> <% String path = request.getContextPath(); -String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path; %> + \ No newline at end of file diff --git a/WebRoot/export/template/exportTemp.xls b/jeecg-framework/src/main/webapp/export/template/exportTemp.xls similarity index 99% rename from WebRoot/export/template/exportTemp.xls rename to jeecg-framework/src/main/webapp/export/template/exportTemp.xls index 78640629..649d33ac 100644 Binary files a/WebRoot/export/template/exportTemp.xls and b/jeecg-framework/src/main/webapp/export/template/exportTemp.xls differ diff --git a/jeecg-framework/src/main/webapp/index.jsp b/jeecg-framework/src/main/webapp/index.jsp new file mode 100644 index 00000000..c38169bb --- /dev/null +++ b/jeecg-framework/src/main/webapp/index.jsp @@ -0,0 +1,5 @@ + + +

    Hello World!

    + + diff --git a/WebRoot/init.jsp b/jeecg-framework/src/main/webapp/init.jsp similarity index 84% rename from WebRoot/init.jsp rename to jeecg-framework/src/main/webapp/init.jsp index ebe7d260..58b7846b 100644 --- a/WebRoot/init.jsp +++ b/jeecg-framework/src/main/webapp/init.jsp @@ -6,8 +6,8 @@ JEECG 初始化数据库 - 数据库初始化中..... - - + - + diff --git a/jeecg-framework/src/main/webapp/webpage/common/upload/imageView.jsp b/jeecg-framework/src/main/webapp/webpage/common/upload/imageView.jsp new file mode 100644 index 00000000..7737e75d --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/common/upload/imageView.jsp @@ -0,0 +1,31 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +附件查看 + + + +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/WebRoot/webpage/common/upload/swfView.jsp b/jeecg-framework/src/main/webapp/webpage/common/upload/swfView.jsp similarity index 63% rename from WebRoot/webpage/common/upload/swfView.jsp rename to jeecg-framework/src/main/webapp/webpage/common/upload/swfView.jsp index 0ec79cce..62bb8027 100644 --- a/WebRoot/webpage/common/upload/swfView.jsp +++ b/jeecg-framework/src/main/webapp/webpage/common/upload/swfView.jsp @@ -1,19 +1,13 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - 附件查看 - - - -
    - - - + + +
    - -
    - +
    + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButton.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButton.jsp new file mode 100644 index 00000000..98f8b6bc --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButton.jsp @@ -0,0 +1,60 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +表单自定义按钮 + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    编码不能是add/update/delete
    ${cgformButtonPage.buttonIcon}pictures"> +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonList.jsp new file mode 100644 index 00000000..567187c3 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonList.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + + + +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonSql.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonSql.jsp new file mode 100644 index 00000000..b5a97e5f --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonSql.jsp @@ -0,0 +1,68 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +按钮sql增强 + + + + + + + + + + + + + + + + + + + +
    +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonSqlOut.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonSqlOut.jsp new file mode 100644 index 00000000..7399457f --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/button/cgformButtonSqlOut.jsp @@ -0,0 +1,49 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +SQL导出 + + + + + + + + + + +
    +
    +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtl.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtl.jsp new file mode 100644 index 00000000..5f0da33e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtl.jsp @@ -0,0 +1,25 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +上传Word布局模板 + + + + + + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlEditor.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlEditor.jsp new file mode 100644 index 00000000..dc859972 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlEditor.jsp @@ -0,0 +1,30 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +上传Word布局模板 + + + + + + + + + + + + + + + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlList.jsp new file mode 100644 index 00000000..8f1ebb34 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlList.jsp @@ -0,0 +1,40 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlList2.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlList2.jsp new file mode 100644 index 00000000..d7ca42d3 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/cgformFtlList2.jsp @@ -0,0 +1,19 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + + +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/ckeditor.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/ckeditor.jsp new file mode 100644 index 00000000..d8d2af2c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/cgformftl/ckeditor.jsp @@ -0,0 +1,31 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgFormHead.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgFormHead.jsp new file mode 100644 index 00000000..f12d095c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgFormHead.jsp @@ -0,0 +1,150 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="org.jeecgframework.web.cgform.common.CgAutoListConstant"%> +<%@include file="/context/mytags.jsp"%> + + + +智能表单-表单维护 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + readonly="readonly" datatype="*" validType="cgform_head,table_Name,id" nullmsg="请输入表名!"> +
    colspan="3">style="display: none;">style="display: none;">
    + +
    +
    +
    + + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgFormHeadList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgFormHeadList.jsp new file mode 100644 index 00000000..0f365c89 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgFormHeadList.jsp @@ -0,0 +1,373 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgformMigrateSqlInclude.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgformMigrateSqlInclude.jsp new file mode 100644 index 00000000..49224f91 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgformMigrateSqlInclude.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +SQL导入 + + + + +
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgformSynChoice.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgformSynChoice.jsp new file mode 100644 index 00000000..dd5a0501 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/config/cgformSynChoice.jsp @@ -0,0 +1,19 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + +
    +
    普通同步(保留表数据)
    +
    强制同步(删除表,重新生成)
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/enhance/cgformenhanceJs.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/enhance/cgformenhanceJs.jsp new file mode 100644 index 00000000..62629843 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/enhance/cgformenhanceJs.jsp @@ -0,0 +1,58 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +JS增强 + + + + + + + + + + + + + + + +
    +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/excel/upload.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/excel/upload.jsp new file mode 100644 index 00000000..f034bf2c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/excel/upload.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +导入数据 + + + + +
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/fileTree.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/fileTree.jsp new file mode 100644 index 00000000..7a72596b --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/fileTree.jsp @@ -0,0 +1,36 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="org.jeecgframework.web.cgform.common.CgAutoListConstant"%> +<%@include file="/context/mytags.jsp"%> + + + +文件目录树 + + + + + +
    +
      +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/one2many.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/one2many.jsp new file mode 100644 index 00000000..d3c3cfa4 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/one2many.jsp @@ -0,0 +1,119 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="org.jeecgframework.web.cgform.common.CgAutoListConstant"%> +<%@include file="/context/mytags.jsp"%> + + + +智能表单-代码生成 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    浏览
    + + + + +
    + + + + + + + + + + + + + + + + + +
    子表名: 子表实体(首字母大写): 子表描述: 子表包:
    + +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/single.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/single.jsp new file mode 100644 index 00000000..b996d316 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/generate/single.jsp @@ -0,0 +1,107 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="org.jeecgframework.web.cgform.common.CgAutoListConstant"%> +<%@include file="/context/mytags.jsp"%> + + + +智能表单-代码生成 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    浏览
    Action Jsp ServiceI ServiceImpl Page Entity
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/trans/transList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/trans/transList.jsp new file mode 100644 index 00000000..1de56481 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgform/trans/transList.jsp @@ -0,0 +1,41 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + +
    +
    + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead-add.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead-add.jsp new file mode 100644 index 00000000..0accd913 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead-add.jsp @@ -0,0 +1,132 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +动态报表配置抬头 + + + + + + + + + + + + + + + + + + + + + + + +
    +
    <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> +
    + + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead-update.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead-update.jsp new file mode 100644 index 00000000..a6656430 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead-update.jsp @@ -0,0 +1,132 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +动态报表配置抬头 + + + + + + + + + + + + + + + + + + + + + + + +
    +
    <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> +
    + + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead.js b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead.js new file mode 100644 index 00000000..42212013 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHead.js @@ -0,0 +1,28 @@ +$(function(){ +$("body").append(""); +var $btn = $("
    "); +$("#cgrSql").after($btn); +$btn.click(function(){ + $.ajax({ + url:"cgReportController.do?getFields", + data:{sql:$("#cgrSql").val()}, + type:"Post", + dataType:"json", + success:function(data){ + if(data.status=="success"){ + $("#add_cgreportConfigItem_table").empty(); + $.each(data.datas,function(index,e){ + var $tr = $("#add_cgreportConfigItem_table_template tr").clone(); + $tr.find("td:eq(1) :text").val(e); + $tr.find("td:eq(2) :text").val(index); + $tr.find("td:eq(3) :text").val(e); + $("#add_cgreportConfigItem_table").append($tr); + }); + resetTrNum("add_cgreportConfigItem_table"); + }else{ + $.messager.alert('错误',data.datas); + } + } + }); + }); +}); \ No newline at end of file diff --git a/WebRoot/webpage/system/druid/index.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHeadList.js similarity index 100% rename from WebRoot/webpage/system/druid/index.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHeadList.js diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHeadList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHeadList.jsp new file mode 100644 index 00000000..d94998a0 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigHeadList.jsp @@ -0,0 +1,65 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + +
    +
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigItemList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigItemList.jsp new file mode 100644 index 00000000..95bdb3fd --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/cgreport/core/cgreportConfigItemList.jsp @@ -0,0 +1,89 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/AJAX/select.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/AJAX/select.jsp new file mode 100644 index 00000000..964715ee --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/AJAX/select.jsp @@ -0,0 +1,45 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + + + +
    下拉框AJAX联动:
    菜单项目:
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/autocomplete/basic.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/autocomplete/basic.jsp new file mode 100644 index 00000000..bd65b759 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/autocomplete/basic.jsp @@ -0,0 +1,50 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + +
    +
    +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demo.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demo.jsp new file mode 100644 index 00000000..4dc716ab --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demo.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +DEMO添加 + + + + + +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demoIframe.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demoIframe.jsp new file mode 100644 index 00000000..49c52fcc --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demoIframe.jsp @@ -0,0 +1,40 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + +
    + + + + +
    +
    +
    +
      +
    +
    +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demoList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demoList.jsp new file mode 100644 index 00000000..ae770370 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/demoList.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/democode.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/democode.jsp new file mode 100644 index 00000000..8dba311c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/democode.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +DEMO添加 + + + + + + + +
    +   ${demo.democode}
    +   
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/dict/dictSelect.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/dict/dictSelect.jsp new file mode 100644 index 00000000..ab11c066 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/dict/dictSelect.jsp @@ -0,0 +1,15 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + +数据字典演示 + + + +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/formvalid/basic.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/formvalid/basic.jsp new file mode 100644 index 00000000..f1f73d80 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/formvalid/basic.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + +
    +
    +
    +
    + + 阅读 + 音乐 + 运动
    +
    +
    +
    +
    +
    +
    + 查看源码 +
    diff --git a/WebRoot/webpage/demo/formvalid/formTabs.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/formvalid/formTabs.jsp similarity index 65% rename from WebRoot/webpage/demo/formvalid/formTabs.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/formvalid/formTabs.jsp index 7ec48360..6d52118b 100644 --- a/WebRoot/webpage/demo/formvalid/formTabs.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/formvalid/formTabs.jsp @@ -1,8 +1,8 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - - + + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/jdbc/jdbc-list.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/jdbc/jdbc-list.jsp new file mode 100644 index 00000000..904d1696 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/jdbc/jdbc-list.jsp @@ -0,0 +1,8 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + diff --git a/WebRoot/webpage/demo/nopage/userList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/nopage/userList.jsp similarity index 75% rename from WebRoot/webpage/demo/nopage/userList.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/nopage/userList.jsp index f8137d61..d6781ecc 100644 --- a/WebRoot/webpage/demo/nopage/userList.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/nopage/userList.jsp @@ -1,13 +1,13 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - + + - + - + diff --git a/WebRoot/webpage/demo/report/reportDemo.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/report/reportDemo.jsp similarity index 87% rename from WebRoot/webpage/demo/report/reportDemo.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/report/reportDemo.jsp index 55c0e76a..d8c6e8cd 100644 --- a/WebRoot/webpage/demo/report/reportDemo.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/report/reportDemo.jsp @@ -4,7 +4,7 @@ - + - - - + + + -
    - - - - - - -
    \ No newline at end of file +
    + + + + +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/tabledemo.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/tabledemo.jsp new file mode 100644 index 00000000..c4589911 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/tabledemo.jsp @@ -0,0 +1,41 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +DEMO添加 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DEMO名称:
    DEMO地址:
    上级DEMO:
    排序:
    提交 重置
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/tabs/addbyTab.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/tabs/addbyTab.jsp new file mode 100644 index 00000000..ec0431ff --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/tabs/addbyTab.jsp @@ -0,0 +1,27 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + +TABS + + + + + + + + + + + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/template/templateiframe.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/template/templateiframe.jsp new file mode 100644 index 00000000..35f6699e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/template/templateiframe.jsp @@ -0,0 +1,4 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + diff --git a/WebRoot/webpage/demo/template/templateview.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/template/templateview.jsp similarity index 65% rename from WebRoot/webpage/demo/template/templateview.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/template/templateview.jsp index a9157255..8786d426 100644 --- a/WebRoot/webpage/demo/template/templateview.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/template/templateview.jsp @@ -2,8 +2,8 @@ <%@include file="/context/mytags.jsp"%> - - - - - - + + - - -
    - 打印 -
    - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
    标题名称在3~50位字符,且不为空 +
    +
    + + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/upload/defaultupload.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/upload/defaultupload.jsp new file mode 100644 index 00000000..f2996117 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/upload/defaultupload.jsp @@ -0,0 +1,37 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + + + + + + + + + + + + + + +
    标题名称在3~50位字符,且不为空 +
    上传 重置 下载
    +
    + + + + diff --git a/WebRoot/webpage/demo/upload/uploadTabs.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/upload/uploadTabs.jsp similarity index 54% rename from WebRoot/webpage/demo/upload/uploadTabs.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/upload/uploadTabs.jsp index 8b41d172..aabdba02 100644 --- a/WebRoot/webpage/demo/upload/uploadTabs.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/base/upload/uploadTabs.jsp @@ -1,9 +1,7 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - - - + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/cgformMigrateInclude.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/cgformMigrateInclude.jsp new file mode 100644 index 00000000..9747c055 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/cgformMigrateInclude.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +SQL导入 + + + + +
    +
    +
    +
    +
    + + diff --git a/WebRoot/webpage/jeecg/demo/jeecgDemo/ckeditor.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/ckeditor.jsp similarity index 55% rename from WebRoot/webpage/jeecg/demo/jeecgDemo/ckeditor.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/ckeditor.jsp index c9b6083d..80a69914 100644 --- a/WebRoot/webpage/jeecg/demo/jeecgDemo/ckeditor.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/ckeditor.jsp @@ -2,9 +2,9 @@ <%@include file="/context/mytags.jsp"%> - - - - + -
    - - -

    - -

    -
    - \ No newline at end of file +
    +

    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemo-check.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemo-check.jsp new file mode 100644 index 00000000..343d1f9f --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemo-check.jsp @@ -0,0 +1,19 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +审核操作 + + + + + + + + + + +
    备注范围在2~10位字符
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemo.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemo.jsp new file mode 100644 index 00000000..1959515b --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemo.jsp @@ -0,0 +1,66 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +DEMO示例 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + ${jgDemo.userName } + + + 用户名范围在2~10位字符 +
    " + errormsg="生日格式不正确!" ignore="ignore">
    " errormsg="日期格式不正确!" ignore="ignore">
    请选择部门
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp new file mode 100644 index 00000000..e65f4b3b --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemoList.jsp @@ -0,0 +1,58 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + <%-- update-end--Author:tanghan Date:20130713 for添加checkbox--%> + + + + + + + + + + + + + + + + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemoPrint.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemoPrint.jsp new file mode 100644 index 00000000..606c69af --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/jeecgDemoPrint.jsp @@ -0,0 +1,73 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +DEMO示例 + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + ${jgDemo.userName } + + + 用户名范围在2~10位字符 +
    ${jgDemo.mobilePhone}
    ${jgDemo.officePhone}
    ${jgDemo.email}
    ${jgDemo.age}
    ${jgDemo.salary}
    ${jgDemo.birthday }
    ${jgDemo.createDate }
    ${sex}
    + + ${depart.departname} +
    +
    +打印 + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/popup.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/popup.jsp new file mode 100644 index 00000000..74174c17 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/popup.jsp @@ -0,0 +1,29 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + +Popup示例 + + + +
    +
    + + + +
    + +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/selectUserList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/selectUserList.jsp new file mode 100644 index 00000000..498aa691 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/jeecgDemo/selectUserList.jsp @@ -0,0 +1,41 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + +Popup示例 + + + +
    +
    用户名: 部门: 真实姓名:
    +
    + + + + + +
    +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgEasyUI.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgEasyUI.jsp new file mode 100644 index 00000000..a9ababb2 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgEasyUI.jsp @@ -0,0 +1,111 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +页面不用自定义标签实现 + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ">
    ">
    请选择部门
    + + + +
    + \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/notag/jeecgEasyUIList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgEasyUIList.jsp similarity index 58% rename from WebRoot/webpage/jeecg/demo/notag/jeecgEasyUIList.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgEasyUIList.jsp index eeaf2bdb..6185a789 100644 --- a/WebRoot/webpage/jeecg/demo/notag/jeecgEasyUIList.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgEasyUIList.jsp @@ -1,37 +1,37 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%>
    -
    - - - - - - - - - - - - - - -
    姓名部门性别年龄生日E-Mail手机操作
    -
    - - 录入 - 编辑 - 查看 - - - -
    -
    姓名
    -
    手机
    -
    -
    -
    - - -
    -
    +
    +
    diff --git a/WebRoot/webpage/jeecg/demo/notag/jeecgOrderMainListNoTag.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgOrderMainListNoTag.jsp similarity index 89% rename from WebRoot/webpage/jeecg/demo/notag/jeecgOrderMainListNoTag.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgOrderMainListNoTag.jsp index c1aedd61..470f29e4 100644 --- a/WebRoot/webpage/jeecg/demo/notag/jeecgOrderMainListNoTag.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/notag/jeecgOrderMainListNoTag.jsp @@ -1,5 +1,4 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    序号产品名称个数服务项目类型单价小计备注
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    序号姓名性别身份证号护照号业务备注
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/CourseStudentList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/CourseStudentList.jsp similarity index 58% rename from WebRoot/webpage/jeecg/demo/test/CourseStudentList.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/CourseStudentList.jsp index 6f86fc31..b3639652 100644 --- a/WebRoot/webpage/jeecg/demo/test/CourseStudentList.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/CourseStudentList.jsp @@ -38,37 +38,31 @@ }); } - -
    + +
    - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    序号 姓名 性别
    - -
    - -
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/course.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/course.jsp new file mode 100644 index 00000000..48de42e6 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/course.jsp @@ -0,0 +1,41 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +课程 + + + + + + + + + + + + + + + + + + +
    +
    <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> +
    + + +
    +
    + + + + + + + + +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/courseList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/courseList.jsp new file mode 100644 index 00000000..889e0235 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/courseList.jsp @@ -0,0 +1,37 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + +
    +
    + + + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/courseUpload.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/courseUpload.jsp new file mode 100644 index 00000000..02e59e9a --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/courseUpload.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +Excel导入 + + + + +
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgBlobData.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgBlobData.jsp new file mode 100644 index 00000000..56553bb1 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgBlobData.jsp @@ -0,0 +1,18 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +文件上传 + + + + +
    +
    标题名称在3~50位字符,且不为空
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgBlobDataList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgBlobDataList.jsp new file mode 100644 index 00000000..434e9ada --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgBlobDataList.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinder.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinder.jsp new file mode 100644 index 00000000..0c21a747 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinder.jsp @@ -0,0 +1,29 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@include file="/context/mytags.jsp"%> + + + +ckeditor+ckfinder例子 + + + + + + + + + + + + + + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinderList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinderList.jsp new file mode 100644 index 00000000..d9504bad --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinderList.jsp @@ -0,0 +1,22 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinderPreview.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinderPreview.jsp new file mode 100644 index 00000000..2ae672ac --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgDemoCkfinderPreview.jsp @@ -0,0 +1,27 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@include file="/context/mytags.jsp"%> + + + +ckeditor+ckfinder例子预览 + + + +
    ${ckfinderPreview.remark}
    + +
    +
    © 版权所有 JEECG_v3.1 (推荐谷歌浏览器,获得更快响应速度) +技术支持:JEECG_v3.1
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgJdbc.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgJdbc.jsp new file mode 100644 index 00000000..386a380e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgJdbc.jsp @@ -0,0 +1,57 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +通过JDBC访问数据库 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ">
    ">
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgJdbcList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgJdbcList.jsp new file mode 100644 index 00000000..31294e6b --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgJdbcList.jsp @@ -0,0 +1,26 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + + +
    +
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMatterBom.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMatterBom.jsp new file mode 100644 index 00000000..eaac7440 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMatterBom.jsp @@ -0,0 +1,35 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +物料Bom + + + + + + +
    +
    编码在3~10位字符 +
    +
    +
    +
    +
    +
    +
    +
    +
    " />
    +
    +
    +
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMatterBomList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMatterBomList.jsp new file mode 100644 index 00000000..0f358e9c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMatterBomList.jsp @@ -0,0 +1,14 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMinidao.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMinidao.jsp new file mode 100644 index 00000000..a9684f9a --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMinidao.jsp @@ -0,0 +1,40 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +Minidao例子 + + + + + +
    +
    +
    +
    +
    +
    +
    +
    ">
    +
    ">
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMinidaoList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMinidaoList.jsp new file mode 100644 index 00000000..bfe826bd --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgMinidaoList.jsp @@ -0,0 +1,22 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgNote.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgNote.jsp new file mode 100644 index 00000000..1945a1ba --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgNote.jsp @@ -0,0 +1,37 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +单表模型 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ">
    " datatype="*">
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgNoteList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgNoteList.jsp new file mode 100644 index 00000000..ff740129 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgNoteList.jsp @@ -0,0 +1,16 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderCustomList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderCustomList.jsp new file mode 100644 index 00000000..699945cd --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderCustomList.jsp @@ -0,0 +1,62 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    序号姓名性别身份证号护照号业务备注
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderMain.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderMain.jsp new file mode 100644 index 00000000..2f79619f --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderMain.jsp @@ -0,0 +1,101 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +订单信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    <%-- <%-- value="${jeecgOrderMainPage.goderType}">--%>
    <%-- <%-- value="${jeecgOrderMainPage.usertype}">--%>
    +
    <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    <%-- --%>
    <%-- --%>
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderMainList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderMainList.jsp new file mode 100644 index 00000000..eeece1a3 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderMainList.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + + + +
    +
    + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderProductList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderProductList.jsp new file mode 100644 index 00000000..c69c6a9e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jeecgOrderProductList.jsp @@ -0,0 +1,72 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    序号产品名称个数服务项目类型单价小计备注
    <%-- --%>
    <%-- --%>
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jpPerson.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jpPerson.jsp new file mode 100644 index 00000000..899e6766 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jpPerson.jsp @@ -0,0 +1,37 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +Excel导出 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    " datatype="*">
    ">
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jpPersonList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jpPersonList.jsp new file mode 100644 index 00000000..55129a8e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/jpPersonList.jsp @@ -0,0 +1,30 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + +
    +
    + + + + + + + + + + + + +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/optimisticLocking.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/optimisticLocking.jsp new file mode 100644 index 00000000..3f739dd7 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/optimisticLocking.jsp @@ -0,0 +1,28 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +乐观锁测试 + + + + + + + + + + + + + + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/optimisticLockingList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/optimisticLockingList.jsp new file mode 100644 index 00000000..eadda628 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/optimisticLockingList.jsp @@ -0,0 +1,16 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/tFinance.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/tFinance.jsp new file mode 100644 index 00000000..f112641e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/tFinance.jsp @@ -0,0 +1,121 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +多附件管理 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ">
    + + + + + + + + + +
    ${financeFile.attachmenttitle}下载预览删除
    +
    +
    +
    + + +
    +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/tFinanceList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/tFinanceList.jsp new file mode 100644 index 00000000..7c07b141 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/tFinanceList.jsp @@ -0,0 +1,29 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/upload.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/upload.jsp new file mode 100644 index 00000000..2bb52e4f --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/upload.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +Excel导入 + + + + +
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOffice.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOffice.jsp new file mode 100644 index 00000000..da8c996a --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOffice.jsp @@ -0,0 +1,36 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +WebOffice例子 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ">
    +
    + \ No newline at end of file diff --git a/WebRoot/webpage/jeecg/demo/test/webOfficeEdit.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeEdit.jsp similarity index 55% rename from WebRoot/webpage/jeecg/demo/test/webOfficeEdit.jsp rename to jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeEdit.jsp index 58cf6266..352b569d 100644 --- a/WebRoot/webpage/jeecg/demo/test/webOfficeEdit.jsp +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeEdit.jsp @@ -35,6 +35,7 @@ function WebOffice1_NotifyCtrlReady() { document.all.WebOffice1.LoadOriginalFile("", sFileType); } } +// ---------------------== 关闭页面时调用此函数,关闭文件 ==---------------------- // function window_onunload() { document.all.WebOffice1.Close(); } @@ -48,12 +49,15 @@ function newDoc() { function docOpen() { document.all.WebOffice1.LoadOriginalFile("open", "doc"); } +// -----------------------------== 保存文档 ==------------------------------------ // function newSave() { document.all.WebOffice1.Save(); } +// -----------------------------== 另存为文档 ==------------------------------------ // function SaveAsTo() { document.all.WebOffice1.ShowDialog(84); } +// -----------------------------== 上传文档 ==------------------------------------ // function SaveDoc() { var returnValue; if(myform.DocTitle.value ==""){ @@ -86,46 +90,29 @@ function SaveDoc() {
    - - - - - - - - -
    -    文档编号: - - | -    标 题: - - | -    文件格式: - - | - - | - - -
    - - - -
    + + + + + + + + +
       文档编号: |    标 题: |    文件格式: | |
    diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeList.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeList.jsp new file mode 100644 index 00000000..db334c27 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeList.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + +
    +
    + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeSample.jsp b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeSample.jsp new file mode 100644 index 00000000..bbc3cee5 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/jeecg/demo/test/webOfficeSample.jsp @@ -0,0 +1,242 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +weboffice演示页面${webRoot} + + + + + + + + + + + + + +
    +
    +
    + + + + + + + + + + +
    WebOffice演示页面(HTML)
    事件列表:
    +
    +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + diff --git a/WebRoot/webpage/login/init.jsp b/jeecg-framework/src/main/webapp/webpage/login/init.jsp similarity index 79% rename from WebRoot/webpage/login/init.jsp rename to jeecg-framework/src/main/webapp/webpage/login/init.jsp index f8cfbd98..10b814f8 100644 --- a/WebRoot/webpage/login/init.jsp +++ b/jeecg-framework/src/main/webapp/webpage/login/init.jsp @@ -1,8 +1,8 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - - - + - - - + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/login/login.jsp b/jeecg-framework/src/main/webapp/webpage/login/login.jsp new file mode 100644 index 00000000..bc9d31c0 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/login/login.jsp @@ -0,0 +1,112 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + + + + + + +
    +
    +
    Please wait 登陆成功!请稍后....
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    是否记住用户名 ?
    + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    + + + + + + + + + + \ No newline at end of file diff --git a/WebRoot/webpage/login/pwd_init.jsp b/jeecg-framework/src/main/webapp/webpage/login/pwd_init.jsp similarity index 84% rename from WebRoot/webpage/login/pwd_init.jsp rename to jeecg-framework/src/main/webapp/webpage/login/pwd_init.jsp index a0cc134e..c08fc89e 100644 --- a/WebRoot/webpage/login/pwd_init.jsp +++ b/jeecg-framework/src/main/webapp/webpage/login/pwd_init.jsp @@ -5,8 +5,8 @@ admin密码初始化 - init pwd.... - + + + + + + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/main/bootstrap_main.jsp b/jeecg-framework/src/main/webapp/webpage/main/bootstrap_main.jsp new file mode 100644 index 00000000..ffe4c2cd --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/main/bootstrap_main.jsp @@ -0,0 +1,91 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +JEECG 微云快速开发平台 + + + + + + + + + + +
    + + + + + + + \ No newline at end of file diff --git a/WebRoot/webpage/main/bootstrap_top.jsp b/jeecg-framework/src/main/webapp/webpage/main/bootstrap_top.jsp similarity index 65% rename from WebRoot/webpage/main/bootstrap_top.jsp rename to jeecg-framework/src/main/webapp/webpage/main/bootstrap_top.jsp index 18ed0db2..e9f46902 100644 --- a/WebRoot/webpage/main/bootstrap_top.jsp +++ b/jeecg-framework/src/main/webapp/webpage/main/bootstrap_top.jsp @@ -1,4 +1,4 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - + + diff --git a/jeecg-framework/src/main/webapp/webpage/main/home.jsp b/jeecg-framework/src/main/webapp/webpage/main/home.jsp new file mode 100644 index 00000000..105bf5ae --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/main/home.jsp @@ -0,0 +1,36 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +
    +

    简介

    +

         JEECG(J2EE Code Generation)是一款基于代码生成器的微云快速开发平台,引领新开发模式(智能开发\在线开发\插件开发), 可以帮助解决Java项目60%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。
    +    JEECG快速开发宗旨是:简单功能由代码生成器生成使用; 复杂业务采用表单自定义,业务流程使用工作流来实现、扩展出任务接口,供开发编写业务逻辑。 实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量

    +

    架构说明

    +
      +
    • JEECG 开发平台采用SpringMVC+MiniDao+UI快速开发库+ OnlineCoding开发组件 的基础架构,采用面向声明的开发模式, 基于泛型编写极少代码即可实现复杂的数据展示、数据编辑、
      + 表单处理等功能,再配合代码生成器的使用,将J2EE的开发效率提高6倍以上,可以将代码减少60%以上。
    • +
    • JEECG 最新版本六大技术点: 1.代码生成器 2.微信移动解决方案 3.OnlineCoding在线开发 4.在线流程设计 5.Web GIS支持 6.UI快速开发库
    • +
    • 技术点一:代码生成器,支持多种数据模型,根据表生成对应的Entity,Service,Dao,Action,JSP等,增删改查功能生成直接使用
    • +
    • 技术点二:微信移动解决方案,采用微信平台帮助企业实现移动解决方案 
    • +
    • 技术点三:在线流程定义,采用开源 Activiti流程引擎,实现在线画流程,自定义表单,表单挂接,业务流转,流程监控,流程跟踪,流程委托等
    • +
    • 技术点四:Web GIS支持,采用采用OpenLayers技术 
    • +
    • 技术点五:UI快速开发库,针对WEB UI进行标准封装,页面统一采用UI标签实现功能:数据datagrid,表单校验,Popup,Tab等,实现JSP页面零JS,开发维护非常高效
    • +
    • JEECG 开发平台,经过了专业压力测试,性能测试,保证后台数据的准确性和页面访问速度
    • +
    • 支持多种浏览器: IE, 火狐, Google 等浏览器访问速度都很快
    • +
    • 支持数据库: Mysql,Oracle10g等
    • +
    • 基础权限: 用户,角色,菜单权限,按钮权限,数据权限
    • +
    • 智能报表集成: 简易的图像报表工具和Excel导入导出
    • +
    • Web容器测试通过的有Jetty和Tomcat6
    • +
    • 待推出功能:分布式计算,云计算,微信管家开源项目,规则引擎
    • +
    • 要求JDK1.6+
    • +
    +
    +
    +

    技术交流

    +

         本系统由JEECG开源社区提供,JEECG微云快速开发平台,永久开源免费,为大家提供最好的企业二次开发平台

    +
      +
    • 交流群:106259349, 106838471, 289782002
    • +
    • 创始人:张代浩
    • +
    • 邮箱 :jeecg@sina.com
    • +
    • 论坛 :www.jeecg.org
    • +
    • 合作 :开源资助 | 技术支持| 项目合作
    • +
    +
    \ No newline at end of file diff --git a/WebRoot/webpage/main/left.jsp b/jeecg-framework/src/main/webapp/webpage/main/left.jsp similarity index 89% rename from WebRoot/webpage/main/left.jsp rename to jeecg-framework/src/main/webapp/webpage/main/left.jsp index f73026c9..cdeb33cd 100644 --- a/WebRoot/webpage/main/left.jsp +++ b/jeecg-framework/src/main/webapp/webpage/main/left.jsp @@ -5,5 +5,5 @@ - - + + diff --git a/jeecg-framework/src/main/webapp/webpage/main/main.jsp b/jeecg-framework/src/main/webapp/webpage/main/main.jsp new file mode 100644 index 00000000..76684fd7 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/main/main.jsp @@ -0,0 +1,196 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +JEECG 微云快速开发平台 + + + + + + + +
    + + + + + + +
    + + + + + + +
    当前用户:(${userName }) 职务:${roleName + }
    + + + + +
    +
       
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    © 版权所有 JEECG Framework 3.4.3 GA (推荐谷歌浏览器,获得更快响应速度) 技术支持:JEECG Framework 3.4.3 GA
    +
    +
    +
    刷新
    +
    关闭
    +
    全部关闭
    +
    除此之外全部关闭
    + +
    当前页右侧全部关闭
    +
    当前页左侧全部关闭
    + +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/main/shortcut_main.jsp b/jeecg-framework/src/main/webapp/webpage/main/shortcut_main.jsp new file mode 100644 index 00000000..14e8dafd --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/main/shortcut_main.jsp @@ -0,0 +1,209 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +JEECG 微云快速开发平台 + + + + + + + +
    + + + + + +
    +
    JEECG Framework 3.4.3 GA
    +
    + + + + + + + +
    +
    +
    当前用户: ${userName }     职务: ${roleName }
    +
    + + + +
    +
    +
    +
      + + ${primaryMenuList } +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    © 版权所有 JEECG Framework 3.4.3GA (推荐谷歌浏览器,获得更快响应速度) 技术支持:JEECG Framework 3.4.3 GA
    +
    +
    +
    刷新
    +
    关闭
    +
    全部关闭
    +
    除此之外全部关闭
    + +
    当前页右侧全部关闭
    +
    当前页左侧全部关闭
    + +
    + + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/main/shortcut_top.jsp b/jeecg-framework/src/main/webapp/webpage/main/shortcut_top.jsp new file mode 100644 index 00000000..c4a07456 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/main/shortcut_top.jsp @@ -0,0 +1,8 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/depart/depart.jsp b/jeecg-framework/src/main/webapp/webpage/system/depart/depart.jsp new file mode 100644 index 00000000..bd65ed88 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/depart/depart.jsp @@ -0,0 +1,27 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +部门信息 + + + + + + +
    +
    + 部门名称在3~10位字符
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/depart/departList.jsp b/jeecg-framework/src/main/webapp/webpage/system/depart/departList.jsp new file mode 100644 index 00000000..9d5af32f --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/depart/departList.jsp @@ -0,0 +1,54 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/system/depart/departUserList.jsp b/jeecg-framework/src/main/webapp/webpage/system/depart/departUserList.jsp new file mode 100644 index 00000000..b85dba16 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/depart/departUserList.jsp @@ -0,0 +1,12 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/document/files.jsp b/jeecg-framework/src/main/webapp/webpage/system/document/files.jsp new file mode 100644 index 00000000..70589888 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/document/files.jsp @@ -0,0 +1,24 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +文件列表 + + + + +
    +
    + + + 标题名称在3~50位字符,且不为空 +
    +
    + +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/document/filesList.jsp b/jeecg-framework/src/main/webapp/webpage/system/document/filesList.jsp new file mode 100644 index 00000000..2aa4b266 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/document/filesList.jsp @@ -0,0 +1,15 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/system/druid/index.jsp b/jeecg-framework/src/main/webapp/webpage/system/druid/index.jsp new file mode 100644 index 00000000..e69de29b diff --git a/WebRoot/webpage/system/function/depart.jsp b/jeecg-framework/src/main/webapp/webpage/system/function/depart.jsp similarity index 87% rename from WebRoot/webpage/system/function/depart.jsp rename to jeecg-framework/src/main/webapp/webpage/system/function/depart.jsp index b83854cc..f633ac13 100644 --- a/WebRoot/webpage/system/function/depart.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/function/depart.jsp @@ -2,10 +2,10 @@ <%@include file="/context/mytags.jsp"%> - - 菜单集合 - - - - -
    - - - + + +
    + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/function/function.jsp b/jeecg-framework/src/main/webapp/webpage/system/function/function.jsp new file mode 100644 index 00000000..c0df2dd9 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/function/function.jsp @@ -0,0 +1,72 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +菜单信息 + + + + + + +
    +
    菜单名称范围4~15位字符,且不为空
    +
    +
    + value="${function.TSFunction.id}" + + value="${function.TSFunction.functionName}">
    +
    +
    +
    +
    +
    + + diff --git a/WebRoot/webpage/system/function/functionList.jsp b/jeecg-framework/src/main/webapp/webpage/system/function/functionList.jsp similarity index 57% rename from WebRoot/webpage/system/function/functionList.jsp rename to jeecg-framework/src/main/webapp/webpage/system/function/functionList.jsp index 4b6f2a7e..daf62fa0 100644 --- a/WebRoot/webpage/system/function/functionList.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/function/functionList.jsp @@ -1,24 +1,22 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> <%-- update-start--Author:duanql Date:20130619 for:操作按钮窗口显示控制--%> -
    -<%-- update-end--Author:duanql Date:20130619 for:操作按钮窗口显示控制--%> -
    - - - - - - - - - <%-- update-start--Author:anchao Date:20130415 for:按钮权限控制--%> - - <%-- update-end--Author:anchao Date:20130415 for:按钮权限控制--%> - - - -
    +
    <%-- update-end--Author:duanql Date:20130619 for:操作按钮窗口显示控制--%> +
    + + + + + + + + <%-- update-start--Author:anchao Date:20130415 for:按钮权限控制--%> + + <%-- update-end--Author:anchao Date:20130415 for:按钮权限控制--%> + + +
    +
    <%-- update-start--Author:duanql Date:20130619 for:操作按钮窗口显示控制--%>
    -
    -
    + }" + style="width: 400px; overflow: hidden;"> +
    diff --git a/jeecg-framework/src/main/webapp/webpage/system/icon/iconList.jsp b/jeecg-framework/src/main/webapp/webpage/system/icon/iconList.jsp new file mode 100644 index 00000000..0f692157 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/icon/iconList.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + + + + +
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/system/icon/icons.jsp b/jeecg-framework/src/main/webapp/webpage/system/icon/icons.jsp new file mode 100644 index 00000000..764eab7c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/icon/icons.jsp @@ -0,0 +1,24 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +图标信息 + + + + + +
    +
    名称范围2~10位字符,且不为空
    +
    +
    +
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/log/logList.jsp b/jeecg-framework/src/main/webapp/webpage/system/log/logList.jsp new file mode 100644 index 00000000..032b2844 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/log/logList.jsp @@ -0,0 +1,23 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + +
    +
    日志类型: 查询
    +
    diff --git a/jeecg-framework/src/main/webapp/webpage/system/log/statisticTabs.jsp b/jeecg-framework/src/main/webapp/webpage/system/log/statisticTabs.jsp new file mode 100644 index 00000000..c4737b64 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/log/statisticTabs.jsp @@ -0,0 +1,11 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + diff --git a/WebRoot/webpage/system/log/userBroswer.jsp b/jeecg-framework/src/main/webapp/webpage/system/log/userBroswer.jsp similarity index 96% rename from WebRoot/webpage/system/log/userBroswer.jsp rename to jeecg-framework/src/main/webapp/webpage/system/log/userBroswer.jsp index 3c4f1bf8..d5fcc994 100644 --- a/WebRoot/webpage/system/log/userBroswer.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/log/userBroswer.jsp @@ -57,6 +57,6 @@ }); }); -
    - +
    + diff --git a/WebRoot/webpage/system/log/userBroswerLine.jsp b/jeecg-framework/src/main/webapp/webpage/system/log/userBroswerLine.jsp similarity index 96% rename from WebRoot/webpage/system/log/userBroswerLine.jsp rename to jeecg-framework/src/main/webapp/webpage/system/log/userBroswerLine.jsp index f71defb1..4fd29332 100644 --- a/WebRoot/webpage/system/log/userBroswerLine.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/log/userBroswerLine.jsp @@ -54,6 +54,6 @@ }); }); -
    - +
    + diff --git a/WebRoot/webpage/system/log/userBroswerPie.jsp b/jeecg-framework/src/main/webapp/webpage/system/log/userBroswerPie.jsp similarity index 96% rename from WebRoot/webpage/system/log/userBroswerPie.jsp rename to jeecg-framework/src/main/webapp/webpage/system/log/userBroswerPie.jsp index 88fafd2e..e8f0e8bb 100644 --- a/WebRoot/webpage/system/log/userBroswerPie.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/log/userBroswerPie.jsp @@ -57,6 +57,6 @@ }); }); -
    - +
    + diff --git a/jeecg-framework/src/main/webapp/webpage/system/operation/operation.jsp b/jeecg-framework/src/main/webapp/webpage/system/operation/operation.jsp new file mode 100644 index 00000000..21f11c40 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/operation/operation.jsp @@ -0,0 +1,29 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +操作信息 + + + + + + +
    +
    操作名称范围2~20位字符
    +
    +
    + +
    必须为数字
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/operation/operationList.jsp b/jeecg-framework/src/main/webapp/webpage/system/operation/operationList.jsp new file mode 100644 index 00000000..84fba333 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/operation/operationList.jsp @@ -0,0 +1,19 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + + <%-- --%> + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/role/functionList.jsp b/jeecg-framework/src/main/webapp/webpage/system/role/functionList.jsp new file mode 100644 index 00000000..36c5e28e --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/role/functionList.jsp @@ -0,0 +1,48 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +权限集合 + + + + + + + + + + + + diff --git a/WebRoot/webpage/system/role/operationListForFunction.jsp b/jeecg-framework/src/main/webapp/webpage/system/role/operationListForFunction.jsp similarity index 51% rename from WebRoot/webpage/system/role/operationListForFunction.jsp rename to jeecg-framework/src/main/webapp/webpage/system/role/operationListForFunction.jsp index 757ffbc8..c882a732 100644 --- a/WebRoot/webpage/system/role/operationListForFunction.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/role/operationListForFunction.jsp @@ -1,11 +1,13 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - -  ${operation.operationname} + + +   + ${operation.operationname} - -  ${operation.operationname} + +   + ${operation.operationname}
    diff --git a/jeecg-framework/src/main/webapp/webpage/system/role/role.jsp b/jeecg-framework/src/main/webapp/webpage/system/role/role.jsp new file mode 100644 index 00000000..9ec1e51d --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/role/role.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +角色信息 + + + + + +
    +
    角色范围2~8位字符之间,且不为空 +
    +
    角色编码2~15位字符之间,且不为空
    +
    +
    + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/role/roleList.jsp b/jeecg-framework/src/main/webapp/webpage/system/role/roleList.jsp new file mode 100644 index 00000000..eb8d373c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/role/roleList.jsp @@ -0,0 +1,42 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
    +
    + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + diff --git a/WebRoot/webpage/system/role/roleSet.jsp b/jeecg-framework/src/main/webapp/webpage/system/role/roleSet.jsp similarity index 78% rename from WebRoot/webpage/system/role/roleSet.jsp rename to jeecg-framework/src/main/webapp/webpage/system/role/roleSet.jsp index e9bbbcc7..a083881d 100644 --- a/WebRoot/webpage/system/role/roleSet.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/role/roleSet.jsp @@ -82,18 +82,13 @@ });
    -
    -
    - - - 全选 - 重置 - -
      + -
      -
      -
      +
      +
      diff --git a/jeecg-framework/src/main/webapp/webpage/system/territory/territory.jsp b/jeecg-framework/src/main/webapp/webpage/system/territory/territory.jsp new file mode 100644 index 00000000..ab2bcf3d --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/territory/territory.jsp @@ -0,0 +1,68 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +地域信息 + + + + + + +
      +
      地域名称范围2~15位字符,且不为空
      +
      +
      + value="${territory.TSTerritory.id}" + + value="${territory.TSTerritory.territoryName}">
      +
      +
      +
      +
      + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/territory/territoryList.jsp b/jeecg-framework/src/main/webapp/webpage/system/territory/territoryList.jsp new file mode 100644 index 00000000..297ae42c --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/territory/territoryList.jsp @@ -0,0 +1,28 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
      +
      + + + + + + + + +
      +
      + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/timetask/timeTask.jsp b/jeecg-framework/src/main/webapp/webpage/system/timetask/timeTask.jsp new file mode 100644 index 00000000..a1746364 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/timetask/timeTask.jsp @@ -0,0 +1,23 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +定时任务管理 + + + + + + + +
      +
      +
      +
      +
      +
      + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/system/timetask/timeTaskList.jsp b/jeecg-framework/src/main/webapp/webpage/system/timetask/timeTaskList.jsp new file mode 100644 index 00000000..c0c7dbef --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/timetask/timeTaskList.jsp @@ -0,0 +1,24 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
      +
      + + + + + + + + + + + + + + + + + + +
      +
      diff --git a/jeecg-framework/src/main/webapp/webpage/system/type/type.jsp b/jeecg-framework/src/main/webapp/webpage/system/type/type.jsp new file mode 100644 index 00000000..00f56338 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/type/type.jsp @@ -0,0 +1,20 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + + + +
      +
      类型范围在1~10位字符 +
      +
      类型编码在1~10位字符
      +
      +
      + + diff --git a/WebRoot/webpage/system/type/typeGroupList.jsp b/jeecg-framework/src/main/webapp/webpage/system/type/typeGroupList.jsp similarity index 77% rename from WebRoot/webpage/system/type/typeGroupList.jsp rename to jeecg-framework/src/main/webapp/webpage/system/type/typeGroupList.jsp index 348d78db..bcfa1256 100644 --- a/WebRoot/webpage/system/type/typeGroupList.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/type/typeGroupList.jsp @@ -33,13 +33,13 @@ function typeGridTree_UpdateType() { } - - - - - - - - + + + + + + + + diff --git a/WebRoot/webpage/system/type/typeGroupTabs.jsp b/jeecg-framework/src/main/webapp/webpage/system/type/typeGroupTabs.jsp similarity index 54% rename from WebRoot/webpage/system/type/typeGroupTabs.jsp rename to jeecg-framework/src/main/webapp/webpage/system/type/typeGroupTabs.jsp index e02af64e..873a00b9 100644 --- a/WebRoot/webpage/system/type/typeGroupTabs.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/type/typeGroupTabs.jsp @@ -1,7 +1,7 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - - - - + + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/type/typeList.jsp b/jeecg-framework/src/main/webapp/webpage/system/type/typeList.jsp new file mode 100644 index 00000000..090e3ca8 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/type/typeList.jsp @@ -0,0 +1,16 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + +
      +
      + + + + + + + +
      +
      + diff --git a/jeecg-framework/src/main/webapp/webpage/system/type/typegroup.jsp b/jeecg-framework/src/main/webapp/webpage/system/type/typegroup.jsp new file mode 100644 index 00000000..182d6227 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/type/typegroup.jsp @@ -0,0 +1,22 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +字典类型信息 + + + + + +
      +
      + + 编码范围在2~8位字符
      +
      + + 名称范围在2~10位字符
      +
      +
      + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/changepassword.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/changepassword.jsp new file mode 100644 index 00000000..ac2f4469 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/changepassword.jsp @@ -0,0 +1,30 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +用户信息 + + + + + + + + + + + + + + + + + + + + +
      原密码: 请输入原密码
      新密码: 密码至少6个字符,最多18个字符!
      重复密码:
      +
      + \ No newline at end of file diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/changestyle.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/changestyle.jsp new file mode 100644 index 00000000..86af887b --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/changestyle.jsp @@ -0,0 +1,38 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +修改首页样式 + + + + + + + + + + + + + + + + + +
      经典风格
      BootStrap风格
      ShortCut风格
      +
      + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/user.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/user.jsp new file mode 100644 index 00000000..b65a81b7 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/user.jsp @@ -0,0 +1,66 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +用户信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + ${user.userName } + + + 用户名范围在2~10位字符 +
      填写个人真实姓名
      密码至少6个字符,最多18个字符
      重复个人密码
      请选择部门
      + 角色可多选
      +
      + \ No newline at end of file diff --git a/WebRoot/webpage/system/user/userList.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/userList.jsp similarity index 61% rename from WebRoot/webpage/system/user/userList.jsp rename to jeecg-framework/src/main/webapp/webpage/system/user/userList.jsp index f5e91433..2ce058ec 100644 --- a/WebRoot/webpage/system/user/userList.jsp +++ b/jeecg-framework/src/main/webapp/webpage/system/user/userList.jsp @@ -1,13 +1,13 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> - + - - + + - + - + diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/userList2.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/userList2.jsp new file mode 100644 index 00000000..0f59e4fe --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/userList2.jsp @@ -0,0 +1,26 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> +
      +
      + + + + + + + + + +
      + +
      用户名: 真实姓名: 查询
      +
      +
      +
      + diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/userinfo.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/userinfo.jsp new file mode 100644 index 00000000..6f63640a --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/userinfo.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + + + + + +
      用户信息 +
      ${user.userName }
      +
      ${user.realName}
      +
      ${user.mobilePhone}
      +
      ${user.officePhone}
      +
      ${user.email}
      +
      + +
      + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/users.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/users.jsp new file mode 100644 index 00000000..046ad313 --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/users.jsp @@ -0,0 +1,15 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +角色集合 + + + + + + + + + diff --git a/jeecg-framework/src/main/webapp/webpage/system/user/usersign.jsp b/jeecg-framework/src/main/webapp/webpage/system/user/usersign.jsp new file mode 100644 index 00000000..1df1c3ff --- /dev/null +++ b/jeecg-framework/src/main/webapp/webpage/system/user/usersign.jsp @@ -0,0 +1,24 @@ +<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@include file="/context/mytags.jsp"%> + + + +用户信息 + + + + + + + + + + + + + + + +
      签名文件:
      +
      + \ No newline at end of file diff --git a/resources/CKfinderConfig.xml b/resources/CKfinderConfig.xml deleted file mode 100644 index 526aaa9b..00000000 --- a/resources/CKfinderConfig.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - true - - - - - - - - 10000 - 10000 - 80 - - UTF-8 - - - - - %BASE_URL%files/ - %BASE_DIR%files - 0 - 7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip - - - - - %BASE_URL%images/ - %BASE_DIR%images - 0 - bmp,gif,jpeg,jpg,png - - - - %BASE_URL%flash/ - %BASE_DIR%flash - 0 - swf,flv - - - - - CKFinder_UserRole - - - admin - * - / - true - true - true - true - true - true - true - true - - - - true - %BASE_URL%_thumbs/ - %BASE_DIR%_thumbs - false - 100 - 100 - 80 - - - false - - true - - true - - true - - html,htm,xml,js - - false - - - .* - CVS - - - - .* - - - - imageresize - com.ckfinder.connector.plugins.ImageResize - - - - - - - - fileeditor - com.ckfinder.connector.plugins.FileEditor - - - - - - - - com.ckfinder.connector.configuration.ConfigurationPathBuilder - diff --git a/resources/dbconfig.properties b/resources/dbconfig.properties deleted file mode 100644 index 2e0c9322..00000000 --- a/resources/dbconfig.properties +++ /dev/null @@ -1,34 +0,0 @@ -#SQLServer2005以上 -#hibernate.dialect=org.hibernate.dialect.SQLServerDialect -#validationQuery.sqlserver=SELECT 1 -#jdbc.url.jeecg=jdbc:sqlserver://localhost:1433;DatabaseName=jeecg -#jdbc.username.jeecg=sa -#jdbc.password.jeecg=sa123 -#jdbc.dbType=sqlserver - -#postgresSQL -#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect -#validationQuery.sqlserver=SELECT 1 -#jdbc.url.jeecg=jdbc:postgresql://localhost:5432/jeecg -#jdbc.username.jeecg=postgres -#jdbc.password.jeecg=postgres -#jdbc.dbType=postgres - -#MySQL -hibernate.dialect=org.hibernate.dialect.MySQLDialect -validationQuery.sqlserver=SELECT 1 -jdbc.url.jeecg=jdbc:mysql://localhost:3306/jeecg?useUnicode=true&characterEncoding=UTF-8 -jdbc.username.jeecg=root -jdbc.password.jeecg=root -jdbc.dbType=mysql - -#Oracle -#hibernate.dialect=org.hibernate.dialect.OracleDialect -#validationQuery.sqlserver=SELECT 1 FROM DUAL -#jdbc.url.jeecg=jdbc:oracle:thin:@localhost:1521:ORCL -#jdbc.username.jeecg=JEECG -#jdbc.password.jeecg=JEECG -#jdbc.dbType=oracle - -#更新|创建|验证数据库表结构|不作改变 默认update(create,validate,none) -hibernate.hbm2ddl.auto=create diff --git a/resources/ehcache.xml b/resources/ehcache.xml deleted file mode 100644 index c6195d38..00000000 --- a/resources/ehcache.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/resources/jeecg/template/cgform_entityTemplate.ftl b/resources/jeecg/template/cgform_entityTemplate.ftl deleted file mode 100644 index 54d4fe49..00000000 --- a/resources/jeecg/template/cgform_entityTemplate.ftl +++ /dev/null @@ -1,61 +0,0 @@ -package ${bussiPackage}.entity.${entityPackage}; - -import java.math.BigDecimal; -import java.util.Date; -import java.lang.String; -import java.lang.Double; -import java.lang.Integer; -import java.math.BigDecimal; -import javax.xml.soap.Text; -import java.sql.Blob; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import org.hibernate.annotations.GenericGenerator; -import javax.persistence.SequenceGenerator; - -/** - * @Title: Entity - * @Description: ${ftl_description} - * @author onlineGenerator - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Entity -@Table(name = "${tableName}", schema = "") -@SuppressWarnings("serial") -public class ${entityName}Entity implements java.io.Serializable { - <#list columns as po> - /**${po.content}*/ - private ${po.type} ${po.fieldName}; - - - <#list columns as po> - /** - *方法: 取得${po.type} - *@return: ${po.type} ${po.content} - */ - <#if po.fieldName == jeecg_table_id> - - @Id - @GeneratedValue(generator = "paymentableGenerator") - @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") - - @Column(name ="${fieldMeta[po.fieldName]}",nullable=<#if po.isNull == 'Y'>true<#else>false<#if po.pointLength != 0>,scale=${po.pointLength}<#if po.length !=0>,length=${po.length?c}) - public ${po.type} get${po.fieldName?cap_first}(){ - return this.${po.fieldName}; - } - - /** - *方法: 设置${po.type} - *@param: ${po.type} ${po.content} - */ - public void set${po.fieldName?cap_first}(${po.type} ${po.fieldName}){ - this.${po.fieldName} = ${po.fieldName}; - } - -} diff --git a/resources/jeecg/template/cgform_jsEnhanceTemplate.ftl b/resources/jeecg/template/cgform_jsEnhanceTemplate.ftl deleted file mode 100644 index b3c4fc65..00000000 --- a/resources/jeecg/template/cgform_jsEnhanceTemplate.ftl +++ /dev/null @@ -1 +0,0 @@ -${cgformConfig.formJs.cgJsStr?if_exists} \ No newline at end of file diff --git a/resources/jeecg/template/cgform_jsListEnhanceTemplate.ftl b/resources/jeecg/template/cgform_jsListEnhanceTemplate.ftl deleted file mode 100644 index 9f6655e4..00000000 --- a/resources/jeecg/template/cgform_jsListEnhanceTemplate.ftl +++ /dev/null @@ -1 +0,0 @@ -${cgformConfig.listJs.cgJsStr?if_exists} \ No newline at end of file diff --git a/resources/jeecg/template/cgform_jspListTemplate.ftl b/resources/jeecg/template/cgform_jspListTemplate.ftl deleted file mode 100644 index 8daa9d8e..00000000 --- a/resources/jeecg/template/cgform_jspListTemplate.ftl +++ /dev/null @@ -1,52 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
      -
      - - <#list columns as po> - formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.showType?index_of("date")!=-1>formatter="yyyy-MM-dd" <#if po.isShowList?if_exists?html =='N'>hidden="false"<#else>hidden="true" <#if po.isQuery =='Y'>query="true" <#if po.queryMode =='single'>queryMode="single"<#elseif po.queryMode =='group'>queryMode="group" <#if po.dictTable?if_exists?html!="">dictionary="${po.dictTable},${po.dictField},${po.dictText}"<#else><#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!="">dictionary="${po.dictField}" > - - - - - - - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.buttonStatus == '1'> - url="${entityName?uncap_first}Controller.do?do${btn.buttonCode?cap_first}" funname="do${btn.buttonCode?cap_first}"<#else> funname="${btn.buttonCode}" > - - - -
      -
      - - \ No newline at end of file diff --git a/resources/jeecg/template/cgform_jspTableTemplate_add.ftl b/resources/jeecg/template/cgform_jspTableTemplate_add.ftl deleted file mode 100644 index 0f816b62..00000000 --- a/resources/jeecg/template/cgform_jspTableTemplate_add.ftl +++ /dev/null @@ -1,150 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - - - <#list pageColumns as po> - <#if (pageColumns?size>10)> - <#if po_index%2==0> - - - <#else> - - - - - <#if (columns?size>10)> - <#if (po_index%2==0)&&(!po_has_next)> - - - - <#if (po_index%2!=0)||(!po_has_next)> - - - <#else> - - - -
      - - - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - - - - - -
      -
      - - \ No newline at end of file diff --git a/resources/jeecg/template/cgform_serviceImplTemplate.ftl b/resources/jeecg/template/cgform_serviceImplTemplate.ftl deleted file mode 100644 index 288d09ed..00000000 --- a/resources/jeecg/template/cgform_serviceImplTemplate.ftl +++ /dev/null @@ -1,105 +0,0 @@ -package ${bussiPackage}.service.impl.${entityPackage}; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; -import org.jeecgframework.core.common.service.impl.CommonServiceImpl; -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import java.util.UUID; -import java.io.Serializable; - -@Service("${entityName?uncap_first}Service") -@Transactional -public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - - @Override - public void delete(T entity) { - super.delete(entity); - //执行删除操作配置的sql增强 - this.doDelSql((${entityName}Entity)entity); - } - @Override - public Serializable save(T entity) { - Serializable t = super.save(entity); - //执行新增操作配置的sql增强 - this.doAddSql((${entityName}Entity)entity); - return t; - } - @Override - public void saveOrUpdate(T entity) { - super.saveOrUpdate(entity); - //执行更新操作配置的sql增强 - this.doUpdateSql((${entityName}Entity)entity); - } - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.optType=='action'> - /** - * 自定义按钮-sql增强-${btn.buttonName} - * @param id - * @return - */ - public boolean do${btn.buttonCode?cap_first}Sql(${entityName}Entity t){ - <#list buttonSqlMap[btn.buttonCode] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - - - - /** - * 默认按钮-sql增强-新增操作 - * @param id - * @return - */ - public boolean doAddSql(${entityName}Entity t){ - <#list buttonSqlMap['add'] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - /** - * 默认按钮-sql增强-更新操作 - * @param id - * @return - */ - public boolean doUpdateSql(${entityName}Entity t){ - <#list buttonSqlMap['update'] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - /** - * 默认按钮-sql增强-删除操作 - * @param id - * @return - */ - public boolean doDelSql(${entityName}Entity t){ - <#list buttonSqlMap['delete'] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - - /** - * 替换sql中的变量 - * @param sql - * @return - */ - public String replaceVal(String sql,${entityName}Entity t){ - <#list columns as po> - sql = sql.replace("${'#'}{${fieldMeta[po.fieldName]?lower_case}}",String.valueOf(t.get${po.fieldName?cap_first}())); - - sql = sql.replace("${'#'}{UUID}",UUID.randomUUID().toString()); - return sql; - } -} \ No newline at end of file diff --git a/resources/jeecg/template/entityTemplate.ftl b/resources/jeecg/template/entityTemplate.ftl deleted file mode 100644 index b03c5370..00000000 --- a/resources/jeecg/template/entityTemplate.ftl +++ /dev/null @@ -1,72 +0,0 @@ -package ${bussiPackage}.entity.${entityPackage}; - -import java.math.BigDecimal; -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.GenericGenerator; -import javax.persistence.SequenceGenerator; - -/** - * @Title: Entity - * @Description: ${ftl_description} - * @author zhangdaihao - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Entity -@Table(name = "${tableName}", schema = "") -@DynamicUpdate(true) -@DynamicInsert(true) -@SuppressWarnings("serial") -public class ${entityName}Entity implements java.io.Serializable { - <#list originalColumns as po> - /**${po.filedComment}*/ - private ${po.fieldType} ${po.fieldName}; - - - <#list originalColumns as po> - /** - *方法: 取得${po.fieldType} - *@return: ${po.fieldType} ${po.filedComment} - */ - <#if po.fieldName == jeecg_table_id> - - <#if jeecg_primary_key_policy == 'uuid'> - @Id - @GeneratedValue(generator = "paymentableGenerator") - @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") - - <#if jeecg_primary_key_policy == 'identity'> - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - - <#if jeecg_primary_key_policy == 'sequence'> - @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="sequence") - @SequenceGenerator(name="sequence",sequenceName="${jeecg_sequence_code}",allocationSize=1) - - - @Column(name ="${po.fieldDbName}",nullable=<#if po.nullable == 'Y'>true<#else>false<#if po.precision != ''>,precision=${po.precision}<#if po.scale != ''>,scale=${po.scale}<#if po.charmaxLength != ''>,length=${po.charmaxLength}) - public ${po.fieldType} get${po.fieldName?cap_first}(){ - return this.${po.fieldName}; - } - - /** - *方法: 设置${po.fieldType} - *@param: ${po.fieldType} ${po.filedComment} - */ - public void set${po.fieldName?cap_first}(${po.fieldType} ${po.fieldName}){ - this.${po.fieldName} = ${po.fieldName}; - } - -} diff --git a/resources/jeecg/template/jspDivTemplate.ftl b/resources/jeecg/template/jspDivTemplate.ftl deleted file mode 100644 index 6ca4654f..00000000 --- a/resources/jeecg/template/jspDivTemplate.ftl +++ /dev/null @@ -1,23 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - -
      - <#list columns as po> -
      - - class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" style="width: 150px"<#elseif po.classType=='easyui-datebox'>class="Wdate" onClick="WdatePicker()" style="width: 150px"<#else>class="${po.classType}" id="${po.fieldName}" name="${po.fieldName}" <#if po.nullable == 'Y'>ignore="ignore" - <#if po.fieldType?index_of("time")!=-1> value=""<#else><#if po.fieldType?index_of("date")!=-1>value=""<#else>value="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}"<#if po.optionType?trim?length !=0> datatype="${po.optionType}"> - -
      - -
      -
      - \ No newline at end of file diff --git a/resources/jeecg/template/jspListTemplate.ftl b/resources/jeecg/template/jspListTemplate.ftl deleted file mode 100644 index 0f90668e..00000000 --- a/resources/jeecg/template/jspListTemplate.ftl +++ /dev/null @@ -1,17 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
      -
      - - - <#list columns as po> - formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.fieldType?index_of("date")!=-1>formatter="yyyy-MM-dd"> - - - - - - - -
      -
      \ No newline at end of file diff --git a/resources/jeecg/template/jspTableTemplate.ftl b/resources/jeecg/template/jspTableTemplate.ftl deleted file mode 100644 index 1df67d15..00000000 --- a/resources/jeecg/template/jspTableTemplate.ftl +++ /dev/null @@ -1,29 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - <#list columns as po> - - - - - -
      - - - class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" style="width: 150px"<#elseif po.classType=='easyui-datebox'>class="Wdate" onClick="WdatePicker()" style="width: 150px"<#else>class="${po.classType}" id="${po.fieldName}" name="${po.fieldName}" <#if po.nullable == 'Y'>ignore="ignore" - <#if po.fieldType?index_of("time")!=-1> value=""<#else><#if po.fieldType?index_of("date")!=-1>value=""<#else>value="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}"<#if po.optionType?trim?length !=0> datatype="${po.optionType}"> - -
      -
      - \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl b/resources/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl deleted file mode 100644 index b3c4fc65..00000000 --- a/resources/jeecg/template/onetomany/cgform_jsEnhanceTemplate.ftl +++ /dev/null @@ -1 +0,0 @@ -${cgformConfig.formJs.cgJsStr?if_exists} \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl b/resources/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl deleted file mode 100644 index 9f6655e4..00000000 --- a/resources/jeecg/template/onetomany/cgform_jsListEnhanceTemplate.ftl +++ /dev/null @@ -1 +0,0 @@ -${cgformConfig.listJs.cgJsStr?if_exists} \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jspListTemplate.ftl b/resources/jeecg/template/onetomany/cgform_jspListTemplate.ftl deleted file mode 100644 index cb48b576..00000000 --- a/resources/jeecg/template/onetomany/cgform_jspListTemplate.ftl +++ /dev/null @@ -1,52 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
      -
      - - <#list columns as po> - formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.showType?index_of("date")!=-1>formatter="yyyy-MM-dd" <#if po.isShowList?if_exists?html =='N'>hidden="false"<#else>hidden="true" <#if po.isQuery =='Y'>query="true" <#if po.queryMode =='single'>queryMode="single"<#elseif po.queryMode =='group'>queryMode="group" <#if po.dictTable?if_exists?html!="">dictionary="${po.dictTable},${po.dictField},${po.dictText}"<#else><#if po.dictTable?if_exists?html=="" && po.dictField?if_exists?html!="">dictionary="${po.dictField}" > - - - - - - - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.buttonStatus == '1'> - url="${entityName?uncap_first}Controller.do?do${btn.buttonCode?cap_first}" funname="do${btn.buttonCode?cap_first}"<#else> funname="${btn.buttonCode}" > - - - -
      -
      - - \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jspSubTemplate.ftl b/resources/jeecg/template/onetomany/cgform_jspSubTemplate.ftl deleted file mode 100644 index b2aca897..00000000 --- a/resources/jeecg/template/onetomany/cgform_jspSubTemplate.ftl +++ /dev/null @@ -1,5 +0,0 @@ -<#if cgformConfig.cgFormHead.relationType==1 > - <#include "cgform_jspSubTemplate_one2one.ftl"> - <#else> - <#include "cgform_jspSubTemplate_one2many.ftl"> - \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl b/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl deleted file mode 100644 index b77cf868..00000000 --- a/resources/jeecg/template/onetomany/cgform_jspSubTemplate_one2many.ftl +++ /dev/null @@ -1,242 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - -
      - - - - <#list pageColumns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if fieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - - - - <#list columns as po> - <#if po.isShow=="N"> - - - - <#list pageColumns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if fieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - 0 }"> - - - - <#list columns as po> - <#if po.isShow=="N"> - - - - <#list pageColumns as po> - <#assign check = 0 > - <#list foreignKeys as key> - <#if fieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - - -
      -
      - <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="po.dictTable" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - -
      - <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value="${'$'}{poVal.${po.fieldName} }"> - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value="${'$'}{poVal.${po.fieldName} }"> - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=""> - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=""> - <#elseif po.showType=='file'> - - - 暂时未上传文件 - - - 下载 - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value="${'$'}{poVal.${po.fieldName} }"> - -
      -
      \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jspTemplate.ftl b/resources/jeecg/template/onetomany/cgform_jspTemplate.ftl deleted file mode 100644 index 1f23b6aa..00000000 --- a/resources/jeecg/template/onetomany/cgform_jspTemplate.ftl +++ /dev/null @@ -1,89 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po_index%2==0> - - <#else> - <#if !po_has_next> - - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - -
      - class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" style="width: 150px"<#elseif po.classType=='easyui-datebox'>class="Wdate" onClick="WdatePicker()" style="width: 150px"<#else>class="${po.classType}" id="${po.fieldName}" name="${po.fieldName}" <#if po.nullable == 'Y'>ignore="ignore" - <#if po.fieldType?index_of("time")!=-1> value=""<#else><#if po.fieldType?index_of("date")!=-1>value=""<#else>value="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}"<#if po.optionType?trim?length !=0> datatype="${po.optionType}"> - -
      -
      - <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
      - - <#list subTab as sub> - &${jeecg_table_id}=${"$"}{${entityName?uncap_first}Page.${jeecg_table_id}}<#else>&${key?uncap_first}=${"$"}{${entityName?uncap_first}Page.${key?uncap_first}}" icon="icon-search" title="${sub.ftlDescription}" id="${sub.entityName?uncap_first}"> - - -
      -
      - - - <#list subTab as sub> - - - - <#list sub.subColums as po> - <#assign check = 0 > - <#list sub.foreignKeys as key> - <#if fieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - -
      - \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_jspTemplate_update.ftl b/resources/jeecg/template/onetomany/cgform_jspTemplate_update.ftl deleted file mode 100644 index 10dcc887..00000000 --- a/resources/jeecg/template/onetomany/cgform_jspTemplate_update.ftl +++ /dev/null @@ -1,284 +0,0 @@ -<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> - - - - ${ftl_description} - - - - - - - - <#list columns as po> - <#if po.isShow == 'N'> - - - - - <#list pageColumns as po> - <#if po_index%2==0> - - - - - <#if (po_index+1)%2==0> - - <#else> - <#if !po_has_next> - - - - -
      - - - <#if po.showType=='text'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=''> - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - value=''> - <#elseif po.showType=='file'> - - - 暂时未上传文件 - - - 下载 - - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - value='${'$'}{${entityName?uncap_first}Page.${po.fieldName}}'> - - -
      -
      - <%-- 增加一个div,用于调节页面大小,否则默认太小 --%> -
      - - <#list subTab as sub> - &${jeecg_table_id}=${"$"}{${entityName?uncap_first}Page.${jeecg_table_id}}<#else>&${key?uncap_first}=${"$"}{${entityName?uncap_first}Page.${key?uncap_first}}" icon="icon-search" title="${sub.ftlDescription}" id="${sub.entityName?uncap_first}"> - - -
      -
      - - - <#list subTab as sub> - - - - <#list subPageColumnsMap[sub.tableName] as po> - <#assign check = 0 > - <#list sub.foreignKeys as key> - <#if subFieldMeta[po.fieldName]==key?uncap_first> - <#assign check = 1 > - <#break> - - - <#if check==0> - - - - - - -
      - <#if po.showType == "text"> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='password'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - <#elseif po.showType=='radio' || po.showType=='select' || po.showType=='checkbox' || po.showType=='list'> - dictTable="${po.dictTable?if_exists?html}" dictField="${po.dictField?if_exists?html}" dictText="${po.dictText?if_exists?html}"<#else>typeGroupCode="${po.dictField}" defaultVal="${'$'}{${entityName?uncap_first}Page.${po.fieldName}}" hasLabel="false" title="${po.content}"> - <#elseif po.showType=='date'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='datetime'> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.isNull != 'Y'>datatype="*" - > - <#elseif po.showType=='file'> - - 暂时未上传文件 - - <#else> - - datatype="${po.fieldValidType?if_exists?html}" - <#else> - <#if po.type == 'int'> - datatype="n" - <#elseif po.type=='double'> - datatype="/^(-?\d+)(\.\d+)?$/" - <#else> - <#if po.isNull != 'Y'>datatype="*" - - > - -
      - - \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/cgform_pageTemplate.ftl b/resources/jeecg/template/onetomany/cgform_pageTemplate.ftl deleted file mode 100644 index 661d77af..00000000 --- a/resources/jeecg/template/onetomany/cgform_pageTemplate.ftl +++ /dev/null @@ -1,74 +0,0 @@ -package ${bussiPackage}.page.${entityPackage}; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.ArrayList; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import org.hibernate.annotations.GenericGenerator; -import javax.persistence.SequenceGenerator; - -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - - -/** - * @Title: Entity - * @Description: ${ftl_description} - * @author onlineGenerator - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Entity -@Table(name = "${tableName}", schema = "") -@SuppressWarnings("serial") -public class ${entityName}Page implements java.io.Serializable { - <#list subTab as sub> - /**保存-${sub.ftlDescription}*/ - private List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = new ArrayList<${sub.entityName}Entity>(); - public List<${sub.entityName}Entity> get${sub.entityName}List() { - return ${sub.entityName?uncap_first}List; - } - public void set${sub.entityName}List(List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List) { - this.${sub.entityName?uncap_first}List = ${sub.entityName?uncap_first}List; - } - - - - <#list columns as po> - /**${po.content}*/ - private ${po.type} ${po.fieldName}; - - - <#list columns as po> - /** - *方法: 取得${po.type} - *@return: ${po.type} ${po.content} - */ - <#if po.fieldName == jeecg_table_id> - - @Id - @GeneratedValue(generator = "paymentableGenerator") - @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") - - @Column(name ="${fieldMeta[po.fieldName]}",nullable=<#if po.isNull == 'Y'>true<#else>false<#if po.pointLength != 0>,scale=${po.pointLength}<#if po.length !=0>,length=${po.length?c}) - public ${po.type} get${po.fieldName?cap_first}(){ - return this.${po.fieldName}; - } - - /** - *方法: 设置${po.type} - *@param: ${po.type} ${po.content} - */ - public void set${po.fieldName?cap_first}(${po.type} ${po.fieldName}){ - this.${po.fieldName} = ${po.fieldName}; - } - -} diff --git a/resources/jeecg/template/onetomany/cgform_serviceITemplate.ftl b/resources/jeecg/template/onetomany/cgform_serviceITemplate.ftl deleted file mode 100644 index 273d7206..00000000 --- a/resources/jeecg/template/onetomany/cgform_serviceITemplate.ftl +++ /dev/null @@ -1,56 +0,0 @@ -package ${bussiPackage}.service.${entityPackage}; - -import java.util.List; -import org.jeecgframework.core.common.service.CommonService; -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import java.io.Serializable; -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - - -public interface ${entityName}ServiceI extends CommonService{ - @Override - public void delete(T entity); - /** - * 添加一对多 - * - */ - public void addMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,) ; - /** - * 修改一对多 - * - */ - public void updateMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,); - public void delMain (${entityName}Entity ${entityName?uncap_first}); - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.optType=='action'> - /** - * 自定义按钮-sql增强-${btn.buttonName} - * @param id - * @return - */ - public boolean do${btn.buttonCode?cap_first}Sql(${entityName}Entity t); - - - /** - * 默认按钮-sql增强-新增操作 - * @param id - * @return - */ - public boolean doAddSql(${entityName}Entity t); - /** - * 默认按钮-sql增强-更新操作 - * @param id - * @return - */ - public boolean doUpdateSql(${entityName}Entity t); - /** - * 默认按钮-sql增强-删除操作 - * @param id - * @return - */ - public boolean doDelSql(${entityName}Entity t); -} diff --git a/resources/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl b/resources/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl deleted file mode 100644 index 17316816..00000000 --- a/resources/jeecg/template/onetomany/cgform_serviceImplTemplate.ftl +++ /dev/null @@ -1,209 +0,0 @@ -package ${bussiPackage}.service.impl.${entityPackage}; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; -import org.jeecgframework.core.common.exception.BusinessException; -import org.jeecgframework.core.common.service.impl.CommonServiceImpl; -import org.jeecgframework.core.util.MyBeanUtils; -import org.jeecgframework.core.util.StringUtil; -import java.util.ArrayList; -import java.util.UUID; -import java.io.Serializable; - -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - -@Service("${entityName?uncap_first}Service") -@Transactional -public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - @Override - public void delete(T entity) { - super.delete(entity); - //执行删除操作配置的sql增强 - this.doDelSql((${entityName}Entity)entity); - } - @Override - public void addMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,){ - //保存主信息 - this.save(${entityName?uncap_first}); - - <#list subTab as sub> - /**保存-${sub.ftlDescription}*/ - for(${sub.entityName}Entity ${sub.entityName?uncap_first}:${sub.entityName?uncap_first}List){ - <#list sub.foreignKeys as key> - //外键设置 - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - ${sub.entityName?uncap_first}.set${subFieldMeta1[key]?cap_first}(${entityName?uncap_first}.get${jeecg_table_id?cap_first}()); - <#else> - ${sub.entityName?uncap_first}.set${subFieldMeta1[key]?cap_first}(${entityName?uncap_first}.get${key}()); - - - this.save(${sub.entityName?uncap_first}); - } - - //执行新增操作配置的sql增强 - this.doAddSql(${entityName?uncap_first}); - } - - @Override - public void updateMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,) { - //保存主表信息 - this.saveOrUpdate(${entityName?uncap_first}); - //=================================================================================== - //获取参数 - <#list subTab as sub> - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}(); - <#else> - Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}(); - - - - <#list subTab as sub> - //=================================================================================== - //1.查询出数据库的明细数据-${sub.ftlDescription} - String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}OldList = this.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - //2.筛选更新明细数据-${sub.ftlDescription} - for(${sub.entityName}Entity oldE:${sub.entityName?uncap_first}OldList){ - boolean isUpdate = false; - for(${sub.entityName}Entity sendE:${sub.entityName?uncap_first}List){ - //需要更新的明细数据-${sub.ftlDescription} - if(oldE.getId().equals(sendE.getId())){ - try { - MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE); - this.saveOrUpdate(oldE); - } catch (Exception e) { - e.printStackTrace(); - throw new BusinessException(e.getMessage()); - } - isUpdate= true; - break; - } - } - if(!isUpdate){ - //如果数据库存在的明细,前台没有传递过来则是删除-${sub.ftlDescription} - super.delete(oldE); - } - - } - //3.持久化新增的数据-${sub.ftlDescription} - for(${sub.entityName}Entity ${sub.entityName?uncap_first}:${sub.entityName?uncap_first}List){ - if(StringUtil.isEmpty(${sub.entityName?uncap_first}.getId())){ - //外键设置 - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - ${sub.entityName?uncap_first}.set${subFieldMeta1[key]?cap_first}(${entityName?uncap_first}.get${jeecg_table_id?cap_first}()); - <#else> - ${sub.entityName?uncap_first}.set${subFieldMeta1[key]?cap_first}(${entityName?uncap_first}.get${key}()); - - - this.save(${sub.entityName?uncap_first}); - } - } - - //执行更新操作配置的sql增强 - this.doUpdateSql(${entityName?uncap_first}); - } - - @Override - public void delMain(${entityName}Entity ${entityName?uncap_first}) { - //删除主表信息 - this.delete(${entityName?uncap_first}); - //=================================================================================== - //获取参数 - <#list subTab as sub> - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}(); - <#else> - Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}(); - - - - <#list subTab as sub> - //=================================================================================== - //删除-${sub.ftlDescription} - String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}OldList = this.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - this.deleteAllEntitie(${sub.entityName?uncap_first}OldList); - - } - - <#list buttons as btn> - <#if btn.buttonStyle =='button' && btn.optType=='action'> - /** - * 自定义按钮-sql增强-${btn.buttonName} - * @param id - * @return - */ - public boolean do${btn.buttonCode?cap_first}Sql(${entityName}Entity t){ - <#list buttonSqlMap[btn.buttonCode] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - - - - /** - * 默认按钮-sql增强-新增操作 - * @param id - * @return - */ - public boolean doAddSql(${entityName}Entity t){ - <#list buttonSqlMap['add'] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - /** - * 默认按钮-sql增强-更新操作 - * @param id - * @return - */ - public boolean doUpdateSql(${entityName}Entity t){ - <#list buttonSqlMap['update'] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - /** - * 默认按钮-sql增强-删除操作 - * @param id - * @return - */ - public boolean doDelSql(${entityName}Entity t){ - <#list buttonSqlMap['delete'] as sql> - //sql增强第${sql_index+1}条 - String sqlEnhance_${sql_index+1} ="${sql}"; - this.executeSql(replaceVal(sqlEnhance_${sql_index+1},t)); - - return true; - } - - /** - * 替换sql中的变量 - * @param sql - * @return - */ - public String replaceVal(String sql,${entityName}Entity t){ - <#list columns as po> - sql = sql.replace("${'#'}{${fieldMeta[po.fieldName]?lower_case}}",String.valueOf(t.get${po.fieldName?cap_first}())); - - sql = sql.replace("${'#'}{UUID}",UUID.randomUUID().toString()); - return sql; - } -} \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/controllerTemplate.ftl b/resources/jeecg/template/onetomany/controllerTemplate.ftl deleted file mode 100644 index 00450d69..00000000 --- a/resources/jeecg/template/onetomany/controllerTemplate.ftl +++ /dev/null @@ -1,178 +0,0 @@ -package ${bussiPackage}.controller.${entityPackage}; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; - -import org.jeecgframework.core.common.controller.BaseController; -import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; -import org.jeecgframework.core.common.model.json.AjaxJson; -import org.jeecgframework.core.common.model.json.DataGrid; -import org.jeecgframework.core.constant.Globals; -import org.jeecgframework.core.util.StringUtil; -import org.jeecgframework.tag.core.easyui.TagUtil; -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.service.SystemService; -import org.jeecgframework.core.util.MyBeanUtils; - -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -import ${bussiPackage}.page.${entityPackage}.${entityName}Page; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - -/** - * @Title: Controller - * @Description: ${ftl_description} - * @author zhangdaihao - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Controller -@RequestMapping("/${entityName?uncap_first}Controller") -public class ${entityName}Controller extends BaseController { - /** - * Logger for this class - */ - private static final Logger logger = Logger.getLogger(${entityName}Controller.class); - - @Autowired - private ${entityName}ServiceI ${entityName?uncap_first}Service; - @Autowired - private SystemService systemService; - private String message; - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - - /** - * ${ftl_description}列表 页面跳转 - * - * @return - */ - @RequestMapping(params = "${entityName?uncap_first}") - public ModelAndView ${entityName?uncap_first}(HttpServletRequest request) { - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}List"); - } - - /** - * easyui AJAX请求数据 - * - * @param request - * @param response - * @param dataGrid - * @param user - */ - - @RequestMapping(params = "datagrid") - public void datagrid(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { - CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid); - //查询条件组装器 - org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}); - this.${entityName?uncap_first}Service.getDataGridReturn(cq, true); - TagUtil.datagrid(response, dataGrid); - } - - /** - * 删除${ftl_description} - * - * @return - */ - @RequestMapping(params = "del") - @ResponseBody - public AjaxJson del(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) { - AjaxJson j = new AjaxJson(); - ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - message = "删除成功"; - ${entityName?uncap_first}Service.delete(${entityName?uncap_first}); - systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); - - j.setMsg(message); - return j; - } - - - /** - * 添加${ftl_description} - * - * @param ids - * @return - */ - @RequestMapping(params = "save") - @ResponseBody - public AjaxJson save(${entityName}Entity ${entityName?uncap_first},${entityName}Page ${entityName?uncap_first}Page, HttpServletRequest request) { - <#list subTab as sub> - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List(); - - AjaxJson j = new AjaxJson(); - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - message = "更新成功"; - ${entityName?uncap_first}Service.updateMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,); - systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); - } else { - message = "添加成功"; - ${entityName?uncap_first}Service.addMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,); - systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); - } - j.setMsg(message); - return j; - } - - /** - * ${ftl_description}列表页面跳转 - * - * @return - */ - @RequestMapping(params = "addorupdate") - public ModelAndView addorupdate(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) { - ${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId()); - req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first}); - } - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}"); - } - - - <#list subTab as sub> - /** - * 加载明细列表[${sub.ftlDescription}] - * - * @return - */ - @RequestMapping(params = "${sub.entityName?uncap_first}List") - public ModelAndView ${sub.entityName?uncap_first}List(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) { - - //=================================================================================== - //获取参数 - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}(); - <#else> - Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}(); - - - //=================================================================================== - //删除-${sub.ftlDescription} - String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList); - return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${sub.entityName?uncap_first}List"); - } - - - -} diff --git a/resources/jeecg/template/onetomany/entityTemplate.ftl b/resources/jeecg/template/onetomany/entityTemplate.ftl deleted file mode 100644 index 163f489f..00000000 --- a/resources/jeecg/template/onetomany/entityTemplate.ftl +++ /dev/null @@ -1,67 +0,0 @@ -package ${bussiPackage}.entity.${entityPackage}; - -import java.math.BigDecimal; -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import org.hibernate.annotations.GenericGenerator; -import javax.persistence.SequenceGenerator; - -/** - * @Title: Entity - * @Description: ${ftl_description} - * @author zhangdaihao - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Entity -@Table(name = "${tableName}", schema = "") -@SuppressWarnings("serial") -public class ${entityName}Entity implements java.io.Serializable { - <#list originalColumns as po> - /**${po.filedComment}*/ - private ${po.fieldType} ${po.fieldName}; - - - <#list originalColumns as po> - /** - *方法: 取得${po.fieldType} - *@return: ${po.fieldType} ${po.filedComment} - */ - <#if po.fieldName == jeecg_table_id> - - <#if jeecg_primary_key_policy == 'uuid'> - @Id - @GeneratedValue(generator = "paymentableGenerator") - @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") - - <#if jeecg_primary_key_policy == 'identity'> - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - - <#if jeecg_primary_key_policy == 'sequence'> - @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="sequence") - @SequenceGenerator(name="sequence",sequenceName="${jeecg_sequence_code}",allocationSize=1) - - - @Column(name ="${po.fieldDbName}",nullable=<#if po.nullable == 'Y'>true<#else>false<#if po.precision != ''>,precision=${po.precision}<#if po.scale != ''>,scale=${po.scale}<#if po.charmaxLength != ''&& po.charmaxLength?length lte 8 >,length=${po.charmaxLength}) - public ${po.fieldType} get${po.fieldName?cap_first}(){ - return this.${po.fieldName}; - } - - /** - *方法: 设置${po.fieldType} - *@param: ${po.fieldType} ${po.filedComment} - */ - public void set${po.fieldName?cap_first}(${po.fieldType} ${po.fieldName}){ - this.${po.fieldName} = ${po.fieldName}; - } - -} diff --git a/resources/jeecg/template/onetomany/jspListTemplate.ftl b/resources/jeecg/template/onetomany/jspListTemplate.ftl deleted file mode 100644 index 75072de5..00000000 --- a/resources/jeecg/template/onetomany/jspListTemplate.ftl +++ /dev/null @@ -1,16 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@include file="/context/mytags.jsp"%> -
      -
      - - - <#list columns as po> - formatter="yyyy-MM-dd hh:mm:ss"<#else><#if po.fieldType?index_of("date")!=-1>formatter="yyyy-MM-dd"> - - - - - - -
      -
      \ No newline at end of file diff --git a/resources/jeecg/template/onetomany/pageTemplate.ftl b/resources/jeecg/template/onetomany/pageTemplate.ftl deleted file mode 100644 index 55cd0edc..00000000 --- a/resources/jeecg/template/onetomany/pageTemplate.ftl +++ /dev/null @@ -1,85 +0,0 @@ -package ${bussiPackage}.page.${entityPackage}; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.ArrayList; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import org.hibernate.annotations.GenericGenerator; -import javax.persistence.SequenceGenerator; - -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - - -/** - * @Title: Entity - * @Description: ${ftl_description} - * @author zhangdaihao - * @date ${ftl_create_time} - * @version V1.0 - * - */ -@Entity -@Table(name = "${tableName}", schema = "") -@SuppressWarnings("serial") -public class ${entityName}Page implements java.io.Serializable { - <#list subTab as sub> - /**保存-${sub.ftlDescription}*/ - private List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = new ArrayList<${sub.entityName}Entity>(); - public List<${sub.entityName}Entity> get${sub.entityName}List() { - return ${sub.entityName?uncap_first}List; - } - public void set${sub.entityName}List(List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List) { - this.${sub.entityName?uncap_first}List = ${sub.entityName?uncap_first}List; - } - - - - <#list originalColumns as po> - /**${po.filedComment}*/ - private ${po.fieldType} ${po.fieldName}; - - - <#list originalColumns as po> - /** - *方法: 取得${po.fieldType} - *@return: ${po.fieldType} ${po.filedComment} - */ - <#if po.fieldName == jeecg_table_id> - - <#if jeecg_primary_key_policy == 'uuid'> - @Id - @GeneratedValue(generator = "paymentableGenerator") - @GenericGenerator(name = "paymentableGenerator", strategy = "uuid") - - <#if jeecg_primary_key_policy == 'identity'> - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - - <#if jeecg_primary_key_policy == 'sequence'> - @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="sequence") - @SequenceGenerator(name="sequence",sequenceName="${jeecg_sequence_code}",allocationSize=1) - - - @Column(name ="${po.fieldDbName}",nullable=<#if po.nullable == 'Y'>true<#else>false<#if po.precision != ''>,precision=${po.precision}<#if po.scale != ''>,scale=${po.scale}<#if po.charmaxLength != ''&& po.charmaxLength?length lte 8 >,length=${po.charmaxLength}) - public ${po.fieldType} get${po.fieldName?cap_first}(){ - return this.${po.fieldName}; - } - - /** - *方法: 设置${po.fieldType} - *@param: ${po.fieldType} ${po.filedComment} - */ - public void set${po.fieldName?cap_first}(${po.fieldType} ${po.fieldName}){ - this.${po.fieldName} = ${po.fieldName}; - } - -} diff --git a/resources/jeecg/template/onetomany/serviceITemplate.ftl b/resources/jeecg/template/onetomany/serviceITemplate.ftl deleted file mode 100644 index 4cc7ab39..00000000 --- a/resources/jeecg/template/onetomany/serviceITemplate.ftl +++ /dev/null @@ -1,25 +0,0 @@ -package ${bussiPackage}.service.${entityPackage}; - -import java.util.List; -import org.jeecgframework.core.common.service.CommonService; -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - - -public interface ${entityName}ServiceI extends CommonService{ - - /** - * 添加一对多 - * - */ - public void addMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,) ; - /** - * 修改一对多 - * - */ - public void updateMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,); - public void delMain (${entityName}Entity ${entityName?uncap_first}); -} diff --git a/resources/jeecg/template/onetomany/serviceImplTemplate.ftl b/resources/jeecg/template/onetomany/serviceImplTemplate.ftl deleted file mode 100644 index 911896f2..00000000 --- a/resources/jeecg/template/onetomany/serviceImplTemplate.ftl +++ /dev/null @@ -1,128 +0,0 @@ -package ${bussiPackage}.service.impl.${entityPackage}; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; -import org.jeecgframework.core.common.service.impl.CommonServiceImpl; - -import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity; -<#list subTab as sub> -import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity; - -@Service("${entityName?uncap_first}Service") -@Transactional -public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - - @Override - public void addMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,){ - //保存主信息 - this.save(${entityName?uncap_first}); - - <#list subTab as sub> - /**保存-${sub.ftlDescription}*/ - for(${sub.entityName}Entity ${sub.entityName?uncap_first}:${sub.entityName?uncap_first}List){ - <#list sub.foreignKeys as key> - //外键设置 - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - ${sub.entityName?uncap_first}.set${key}(${entityName?uncap_first}.get${jeecg_table_id?cap_first}()); - <#else> - ${sub.entityName?uncap_first}.set${key}(${entityName?uncap_first}.get${key}()); - - - this.save(${sub.entityName?uncap_first}); - } - - } - - @Override - public void updateMain(${entityName}Entity ${entityName?uncap_first}, - <#list subTab as sub>List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List<#if sub_has_next>,) { - //保存订单主信息 - this.saveOrUpdate(${entityName?uncap_first}); - - - //=================================================================================== - //获取参数 - <#list subTab as sub> - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}(); - <#else> - Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}(); - - - - <#list subTab as sub> - //=================================================================================== - //1.查询出数据库的明细数据-${sub.ftlDescription} - String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}OldList = this.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - //2.筛选更新明细数据-${sub.ftlDescription} - for(${sub.entityName}Entity oldE:${sub.entityName?uncap_first}OldList){ - boolean isUpdate = false; - for(${sub.entityName}Entity sendE:${sub.entityName?uncap_first}List){ - //需要更新的明细数据-${sub.ftlDescription} - if(oldE.getId().equals(sendE.getId())){ - try { - MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE); - this.saveOrUpdate(oldE); - } catch (Exception e) { - e.printStackTrace(); - throw new BusinessException(e.getMessage()); - } - isUpdate= true; - break; - } - } - if(!isUpdate){ - //如果数据库存在的明细,前台没有传递过来则是删除-${sub.ftlDescription} - super.delete(oldE); - } - - } - //3.持久化新增的数据-${sub.ftlDescription} - for(${sub.entityName}Entity ${sub.entityName?uncap_first}:${sub.entityName?uncap_first}List){ - if(${sub.entityName?uncap_first}.getId()==null){ - //外键设置 - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - ${sub.entityName?uncap_first}.set${key}(${entityName?uncap_first}.get${jeecg_table_id?cap_first}()); - <#else> - ${sub.entityName?uncap_first}.set${key}(${entityName?uncap_first}.get${key}()); - - - this.save(${sub.entityName?uncap_first}); - } - } - - - } - - @Override - public void delMain(${entityName}Entity ${entityName?uncap_first}) { - //删除主表信息 - this.delete(${entityName?uncap_first}); - - //=================================================================================== - //获取参数 - <#list subTab as sub> - <#list sub.foreignKeys as key> - <#if key?lower_case?index_of("${jeecg_table_id}")!=-1> - Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}(); - <#else> - Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}(); - - - - <#list subTab as sub> - //=================================================================================== - //删除-${sub.ftlDescription} - String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? "; - List<${sub.entityName}Entity> ${sub.entityName?uncap_first}OldList = this.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}<#if key_has_next>,); - this.deleteAllEntitie(${sub.entityName?uncap_first}OldList); - - } - -} \ No newline at end of file diff --git a/resources/jeecg/template/serviceITemplate.ftl b/resources/jeecg/template/serviceITemplate.ftl deleted file mode 100644 index f4433481..00000000 --- a/resources/jeecg/template/serviceITemplate.ftl +++ /dev/null @@ -1,7 +0,0 @@ -package ${bussiPackage}.service.${entityPackage}; - -import org.jeecgframework.core.common.service.CommonService; - -public interface ${entityName}ServiceI extends CommonService{ - -} diff --git a/resources/jeecg/template/serviceImplTemplate.ftl b/resources/jeecg/template/serviceImplTemplate.ftl deleted file mode 100644 index b4bfc026..00000000 --- a/resources/jeecg/template/serviceImplTemplate.ftl +++ /dev/null @@ -1,13 +0,0 @@ -package ${bussiPackage}.service.impl.${entityPackage}; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI; -import org.jeecgframework.core.common.service.impl.CommonServiceImpl; - -@Service("${entityName?uncap_first}Service") -@Transactional -public class ${entityName}ServiceImpl extends CommonServiceImpl implements ${entityName}ServiceI { - -} \ No newline at end of file diff --git a/resources/log4j.properties b/resources/log4j.properties deleted file mode 100644 index 7a1c4e24..00000000 --- a/resources/log4j.properties +++ /dev/null @@ -1,11 +0,0 @@ -log4j.rootLogger=info,A1,R -log4j.appender.A1=org.apache.log4j.ConsoleAppender -log4j.appender.A1.Target=System.out -log4j.appender.A1.layout=org.apache.log4j.PatternLayout -log4j.appender.A1.layout.ConversionPattern=[%c]%m%n - -log4j.appender.R=org.apache.log4j.RollingFileAppender -log4j.appender.R.File=../jeecgv3.log -log4j.appender.R.MaxFileSize=10MB -log4j.appender.R.layout=org.apache.log4j.PatternLayout -log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n \ No newline at end of file diff --git a/resources/spring-mvc-context.xml b/resources/spring-mvc-context.xml deleted file mode 100644 index 9a7c89b1..00000000 --- a/resources/spring-mvc-context.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/resources/spring-mvc-hibernate.xml b/resources/spring-mvc-hibernate.xml deleted file mode 100644 index 4b38c6d9..00000000 --- a/resources/spring-mvc-hibernate.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${hibernate.dialect} - ${hibernate.hbm2ddl.auto} - true - true - false - - - - - - jeecg.system.pojo.* - jeecg.demo.entity.* - jeecg.test.entity.* - jeecg.cgform.entity.* - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/spring-mvc-timeTask.xml b/resources/spring-mvc-timeTask.xml deleted file mode 100644 index 5aa6b325..00000000 --- a/resources/spring-mvc-timeTask.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/spring-mvc.xml b/resources/spring-mvc.xml deleted file mode 100644 index 6e0b5731..00000000 --- a/resources/spring-mvc.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - text/html;charset=UTF-8 - - - - - - - - - - - - - - - - - - - - - - - - - 104857600 - - - 4096 - - - - - - - - - - - - - - - 500 - 404 - - - - - - dbError - bizError - bizError - bizError - unknowError - - - - - - - - - - - - - - - loginController.do?goPwdInit - loginController.do?pwdInit - loginController.do?login - loginController.do?checkuser - repairController.do?repair - repairController.do?deleteAndRepair - - - - - - - - - - \ No newline at end of file diff --git a/resources/sysConfig.properties b/resources/sysConfig.properties deleted file mode 100644 index 29d29752..00000000 --- a/resources/sysConfig.properties +++ /dev/null @@ -1,32 +0,0 @@ -#SESSION -sessionVersion=sessionVersion -# -templatepath=docTemp -# -uploadpath=upload - -office_home=D://openOffice - - -#DEV(\u751f\u4ea7\u6a21\u5f0f)/PUB(\u5f00\u53d1\u6a21\u5f0f) -sqlReadMode=PUB - -#database type for spring jdbc -jdbc.url.jeecg=mysql - -#\u6309\u94ae\u6743\u9650\u5f00\u5173 -button.authority.jeecg=true - -#auto scan menu flag true or false -auto.scan.menu.flag=true - -#ckfinder upload files -userfiles=userfiles - -#ckeditor配置 -filebrowserBrowseUrl='plug-in/ckfinder/ckfinder.html' -filebrowserImageBrowseUrl='plug-in/ckfinder/ckfinder.html?type=Images' -filebrowserFlashBrowseUrl='plug-in/ckfinder/ckfinder.html?type=Flash' -filebrowserUploadUrl='plug-in/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files' -filebrowserImageUploadUrl='plug-in/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images' -filebrowserFlashUploadUrl='plug-in/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash' diff --git a/src/jeecg/demo/service/impl/test/TaskDemoServiceImpl.java b/src/jeecg/demo/service/impl/test/TaskDemoServiceImpl.java deleted file mode 100644 index f325fbd6..00000000 --- a/src/jeecg/demo/service/impl/test/TaskDemoServiceImpl.java +++ /dev/null @@ -1,17 +0,0 @@ -package jeecg.demo.service.impl.test; - -import java.util.Date; - -import org.springframework.stereotype.Service; - -import jeecg.demo.service.test.TaskDemoServiceI; -@Service("taskDemoService") -public class TaskDemoServiceImpl implements TaskDemoServiceI { - - @Override - public void work() { - System.out.println(new Date().getTime()); - System.out.println("----------任务测试-------"); - } - -} diff --git a/src/jeecg/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql b/src/jeecg/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql deleted file mode 100644 index cc793774..00000000 --- a/src/jeecg/demo/sql/test/JeecgJdbcService_listAllByJdbc.sql +++ /dev/null @@ -1,2 +0,0 @@ -SELECT * - FROM t_s_base_user \ No newline at end of file diff --git a/src/jeecg/rest/core/BaseRestApplication.java b/src/jeecg/rest/core/BaseRestApplication.java deleted file mode 100644 index 050184c5..00000000 --- a/src/jeecg/rest/core/BaseRestApplication.java +++ /dev/null @@ -1,30 +0,0 @@ -package jeecg.rest.core; - -import org.restlet.Application; -import org.restlet.Restlet; -import org.restlet.routing.Router; - -/** - * @Title: Action - * @Description: 动态部署rest webService - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class BaseRestApplication extends Application { - /** - * 设置路由动态将rest webService 部署到servle容器 - */ - public synchronized Restlet createInboundRoot() { - //获取路由 - Router router = new Router(getContext()); - //设置默认路由 - //设置初始服务 - BaseServiceInit.attachResources(router); - JsonPFilter jsonpFilter = new JsonPFilter(getContext()); - jsonpFilter.setNext(router); - return jsonpFilter; - } - - -} diff --git a/src/jeecg/rest/core/BaseServiceInit.java b/src/jeecg/rest/core/BaseServiceInit.java deleted file mode 100644 index b59d5062..00000000 --- a/src/jeecg/rest/core/BaseServiceInit.java +++ /dev/null @@ -1,32 +0,0 @@ -package jeecg.rest.core; - -import jeecg.rest.example.HelloWorldResource; -import jeecg.rest.example.UserDeleteResource; -import jeecg.rest.example.UserGetByIdResource; -import jeecg.rest.example.UserInsertResource; -import jeecg.rest.example.UserQueryResource; -import jeecg.rest.example.UserUpdateResource; - -import org.restlet.routing.Router; - -/** - * @Title: Action - * @Description: 设置初始化路由rest 服务 - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class BaseServiceInit { - public static void attachResources(Router router) { - router.attach("/helloWorld", HelloWorldResource.class); - router.attach("/user/gets/{output}",UserQueryResource.class); - router.attach("/user/delete/{output}/{userId}",UserDeleteResource.class); - router.attach("/user/getById/{output}/{userId}",UserGetByIdResource.class); - router.attach("/user/insert/{output}/{userName}/{password}/{deptId}",UserInsertResource.class); - router.attach("/user/inserts",UserInsertResource.class); - router.attach("/user/delById",UserDeleteResource.class); - router.attach("/user/updateById",UserUpdateResource.class); - router.attach("/user/getUsers",UserQueryResource.class); - router.attach("/user/update/{output}/{userName}/{password}/{userId}",UserUpdateResource.class); - } -} diff --git a/src/jeecg/rest/core/DefaultResource.java b/src/jeecg/rest/core/DefaultResource.java deleted file mode 100644 index ee4aee9e..00000000 --- a/src/jeecg/rest/core/DefaultResource.java +++ /dev/null @@ -1,14 +0,0 @@ -package jeecg.rest.core; - -import org.restlet.resource.ServerResource; -/** - * @Title: DefaultResource - * @Description: rest json 数据过滤 - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class DefaultResource extends ServerResource { - - -} diff --git a/src/jeecg/rest/core/JsonPFilter.java b/src/jeecg/rest/core/JsonPFilter.java deleted file mode 100644 index 2a1d98a1..00000000 --- a/src/jeecg/rest/core/JsonPFilter.java +++ /dev/null @@ -1,78 +0,0 @@ -package jeecg.rest.core; - -import org.restlet.routing.Filter; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import org.restlet.Context; -import org.restlet.Request; -import org.restlet.Response; -import org.restlet.data.MediaType; -import org.restlet.data.Status; -import org.restlet.representation.Representation; -import org.restlet.representation.StringRepresentation; - -/** - * @Title: Action - * @Description: rest json 数据过滤 - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class JsonPFilter extends Filter { - - public JsonPFilter(Context context) { - super(context); - } - - public JsonPFilter() { - } - - @Override - protected void afterHandle(Request request, Response response) { - String jsonp = request.getResourceRef().getQueryAsForm().getFirstValue( - "callback"); - - if (jsonp != null) { - StringBuilder stringBuilder = new StringBuilder(jsonp); - stringBuilder.append("("); - - if ((response.getStatus().getCode() >= 300)) { - stringBuilder.append("{code:"); - stringBuilder.append(response.getStatus().getCode()); - stringBuilder.append(",msg:'"); - stringBuilder.append(response.getStatus().getDescription() - .replace("'", "\\'")); - stringBuilder.append("'}"); - response.setStatus(Status.SUCCESS_OK); - } else { - Representation representation = response.getEntity(); - if (representation != null) { - try { - InputStream is = representation.getStream(); - if (is != null) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] buf = new byte[0x10000]; - int len; - while ((len = is.read(buf)) > 0) { - bos.write(buf, 0, len); - } - stringBuilder.append(bos.toString("UTF-8")); - } else { - response.setStatus(Status.SERVER_ERROR_INTERNAL, - "NullPointer in Jsonp filter"); - } - } catch (IOException e) { - response.setStatus(Status.SERVER_ERROR_INTERNAL, e - .getMessage()); - } - } - } - - stringBuilder.append(");"); - response.setEntity(new StringRepresentation(stringBuilder - .toString(), MediaType.TEXT_JAVASCRIPT)); - } - } - -} diff --git a/src/jeecg/rest/example/HelloWorldResource.java b/src/jeecg/rest/example/HelloWorldResource.java deleted file mode 100644 index a04a3984..00000000 --- a/src/jeecg/rest/example/HelloWorldResource.java +++ /dev/null @@ -1,30 +0,0 @@ -package jeecg.rest.example; - -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; -import org.restlet.resource.Get; -import org.restlet.resource.ServerResource; - -/** - * @Title: HelloWorldResource - * @Description: rest webService 例子 - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class HelloWorldResource extends ServerResource { - @Get - public ObjectNode represent() { - ObjectNode modelNode = null; - try { - ObjectMapper objectMapper = new ObjectMapper(); - modelNode = objectMapper.createObjectNode(); - modelNode.put("node", "false"); - } catch (Exception e) { - e.printStackTrace(); - } - - return modelNode; - } - -} diff --git a/src/jeecg/rest/example/UserDeleteResource.java b/src/jeecg/rest/example/UserDeleteResource.java deleted file mode 100644 index 9689752b..00000000 --- a/src/jeecg/rest/example/UserDeleteResource.java +++ /dev/null @@ -1,56 +0,0 @@ -package jeecg.rest.example; - - -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; -import org.jeecgframework.core.util.ApplicationContextUtil; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.Delete; -import org.restlet.resource.Get; -import org.restlet.resource.Post; -import org.restlet.resource.ServerResource; -/** - * @Title: UserDeleteResource - * @Description: 删除用户信息rest - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class UserDeleteResource extends ServerResource { - private UserService userService = (UserService) ApplicationContextUtil - .getContext().getBean("userService"); - - - @Post - @Get - @Delete - public ObjectNode deleteUserById(Representation entity) { - ObjectNode modelNode = null; - ObjectMapper objectMapper = new ObjectMapper(); - modelNode = objectMapper.createObjectNode(); - Form form = new Form(entity); - String output = form.getFirstValue("output"); - String id = form.getFirstValue("userId"); - TSUser tsUser = userService.get(TSUser.class, id); - try { - userService.delete(tsUser); - if (output != null && output.equals("json")) { - modelNode.put("success", "true"); - } - if (output != null && output.equals("xml")) { - modelNode.put("success", "true"); - } - } catch (Exception e) { - if (output != null && output.equals("json")) { - modelNode.put("success", "false"); - } - if (output != null && output.equals("xml")) { - modelNode.put("success", "false"); - } - } - return modelNode; - } -} diff --git a/src/jeecg/rest/example/UserGetByIdResource.java b/src/jeecg/rest/example/UserGetByIdResource.java deleted file mode 100644 index bf7a6160..00000000 --- a/src/jeecg/rest/example/UserGetByIdResource.java +++ /dev/null @@ -1,51 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import jeecg.rest.utils.Utils; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; - -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; -import org.jeecgframework.core.util.ApplicationContextUtil; -import org.restlet.resource.Get; -import org.restlet.resource.ServerResource; -/** - * @Title: UserDeleteResource - * @Description: 查询用户信息rest - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class UserGetByIdResource extends ServerResource { - - private UserService userService = (UserService) ApplicationContextUtil - .getContext().getBean("userService"); - - @Get - public ObjectNode getById() { - ObjectNode modelNode = null; - ObjectMapper objectMapper = new ObjectMapper(); - modelNode = objectMapper.createObjectNode(); - String output = (String) getRequest().getAttributes().get("output"); - String id = (String) getRequest().getAttributes().get("userId"); - TSUser tsUser=userService.get(TSUser.class, id); - Map excludeProperty=new HashMap(); - excludeProperty.put("TSDepart", "TSDepart"); - if (output != null && output.equals("json")) { - modelNode.put("result",Utils.toSingleJson(tsUser, TSUser.class, excludeProperty).toString() ); - } - if (output != null && output.equals("xml")) { - try { - modelNode.put("result",Utils.toSingleXml(tsUser, TSUser.class, excludeProperty).getText() ); - } catch (IOException e) { - e.printStackTrace(); - } - } - return modelNode; - } - -} diff --git a/src/jeecg/rest/example/UserInsertResource.java b/src/jeecg/rest/example/UserInsertResource.java deleted file mode 100644 index b127e988..00000000 --- a/src/jeecg/rest/example/UserInsertResource.java +++ /dev/null @@ -1,184 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; - -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; - -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; -import org.jeecgframework.core.util.ApplicationContextUtil; -import org.restlet.data.Form; -import org.restlet.data.MediaType; -import org.restlet.ext.xml.DomRepresentation; -import org.restlet.representation.Representation; -import org.restlet.resource.Put; -import org.restlet.resource.ServerResource; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -/** - * @Title: UserDeleteResource - * @Description: 添加用户信息rest - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class UserInsertResource extends ServerResource { - private UserService userService=(UserService)ApplicationContextUtil.getContext().getBean("userService"); - -// @Get -// public ObjectNode getById() { -// ObjectNode modelNode = null; -// ObjectMapper objectMapper = new ObjectMapper(); -// modelNode = objectMapper.createObjectNode(); -// String output = (String) getRequest().getAttributes().get("output"); -// TSUser tsUser=new TSUser(); -// tsUser.setUserName((String) getRequest().getAttributes().get("userName")); -// tsUser.setPassword((String) getRequest().getAttributes().get("password")); -// TSDepart depart=new TSDepart(); -// depart.setId((String) getRequest().getAttributes().get("deptId")); -// tsUser.setTSDepart(depart); -// try{ -// userService.save(tsUser); -// if (output != null && output.equals("json")) { -// modelNode.put("success", "true"); -// } -// if (output != null && output.equals("xml")) { -// modelNode.put("success", "true"); -// } -// } -// catch (Exception e) { -// if (output != null && output.equals("json")) { -// modelNode.put("success", "false"); -// } -// if (output != null && output.equals("xml")) { -// modelNode.put("success", "false"); -// } -// } -// Map excludeProperty=new HashMap(); -// excludeProperty.put("TSDepart", "TSDepart"); -// -// return modelNode; -// } - -// @Post -// @Get -// public Representation getById(Representation entity) { -// -// Representation result = null; -// ObjectMapper objectMapper = new ObjectMapper(); -// -// Form form = new Form(entity); -// String itemName = form.getFirstValue("name"); -// String itemDescription = form.getFirstValue("description"); -// String output = form.getFirstValue("output"); -// TSUser tsUser=new TSUser(); -// tsUser.setUserName(form.getFirstValue("userName")); -// tsUser.setPassword(form.getFirstValue("password")); -// TSDepart depart=new TSDepart(); -// depart.setId(form.getFirstValue("deptId")); -// tsUser.setTSDepart(depart); -// -// try{ -// userService.save(tsUser); -// if (output != null && output.equals("json")) { -// return generateJsonRepresentation("true",""); -// } -// if (output != null && output.equals("xml")) { -// return generateXmlRepresentation("true",""); -// } -// } -// catch (Exception e) { -// if (output != null && output.equals("json")) { -// return generateJsonRepresentation("false",e.getMessage()); -// } -// if (output != null && output.equals("xml")) { -// return generateXmlRepresentation("false",e.getMessage()); -// } -// } -// return result; -// } - - @Put() - public ObjectNode insert(Representation entity) { - ObjectNode modelNode = null; - ObjectMapper objectMapper = new ObjectMapper(); - Form form = new Form(entity); - String output = form.getFirstValue("output"); - TSUser tsUser=new TSUser(); - tsUser.setUserName(form.getFirstValue("userName")); - tsUser.setPassword(form.getFirstValue("password")); - TSDepart depart=new TSDepart(); - depart.setId(form.getFirstValue("deptId")); - tsUser.setTSDepart(depart); - modelNode = objectMapper.createObjectNode(); - tsUser.setTSDepart(depart); - try{ - userService.save(tsUser); - if (output != null && output.equals("json")) { - modelNode.put("success", "true"); - } - if (output != null && output.equals("xml")) { - modelNode.put("success", "true"); - } - } - catch (Exception e) { - if (output != null && output.equals("json")) { - modelNode.put("success", "false"); - } - if (output != null && output.equals("xml")) { - modelNode.put("success", "false"); - } - } - -// - return modelNode; - } - - private Representation generateXmlRepresentation(String xmlResult, - String errorCode) { - DomRepresentation result = null; - // This is an error - // Generate the output representation - try { - result = new DomRepresentation(MediaType.TEXT_XML); - // Generate a DOM document representing the list of - // items. - Document d = result.getDocument(); - - Element eltResult = d.createElement("result"); - - Element eltCode = d.createElement("success"); - eltCode.setTextContent(xmlResult); - eltResult.appendChild(eltCode); - - Element eltMessage = d.createElement("message"); - eltMessage.setTextContent(errorCode); - eltResult.appendChild(eltMessage); - } catch (IOException e) { - e.printStackTrace(); - } - - return result; - } -// private Representation generateJsonRepresentation(String jsonResult, -// String errorCode) { -//// JsonRepresentation result = null; -//// // This is an error -//// // Generate the output representation -//// JSONObject jsonObject = new JSONObject(); -//// try { -//// jsonObject.put("success", jsonResult); -//// if(errorCode!=null){ -//// jsonObject.put("error", errorCode); -//// } -//// } catch (JSONException e) { -//// // TODO Auto-generated catch block -//// e.printStackTrace(); -//// } -//// -//// return new JsonRepresentation(jsonObject); -// } - -} diff --git a/src/jeecg/rest/example/UserQueryResource.java b/src/jeecg/rest/example/UserQueryResource.java deleted file mode 100644 index 3d5b730a..00000000 --- a/src/jeecg/rest/example/UserQueryResource.java +++ /dev/null @@ -1,75 +0,0 @@ -package jeecg.rest.example; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import jeecg.rest.utils.Utils; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; - -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; -import org.jeecgframework.core.util.ApplicationContextUtil; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.Post; -import org.restlet.resource.ServerResource; -import org.springframework.beans.factory.annotation.Autowired; -/** - * @Title: UserDeleteResource - * @Description: 查询用户信息rest - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class UserQueryResource extends ServerResource { - - private UserService userService=(UserService)ApplicationContextUtil.getContext().getBean("userService"); - - @Post - public ObjectNode getList(Representation entity) { - ObjectNode modelNode = null; - try { - ObjectMapper objectMapper = new ObjectMapper(); - modelNode = objectMapper.createObjectNode(); - List listUsers=userService.getList(TSUser.class); - StringBuffer sb=new StringBuffer(); - Form form = new Form(entity); - String output = form.getFirstValue("output"); - Map exludeProperty=new HashMap(); - exludeProperty.put("TSDepart", "TSDepart"); - if(output!=null&&output.equals("json")){ - modelNode.put("result", Utils.toJson(listUsers, TSUser.class,exludeProperty).toString()); - modelNode.put("size", listUsers.size()); - } - if(output!=null&&output.equals("xml")){ - modelNode.put("result", Utils.toXml(listUsers, TSUser.class,exludeProperty).getText()); - modelNode.put("size", listUsers.size()); - } - } catch (Exception e) { - e.printStackTrace(); - } - - return modelNode; - } - - public UserService getUserService() { - return userService; - } - @Autowired - public void setUserService(UserService userService) { - this.userService = userService; - } - -// @Autowired -// public SystemService getSystemService() { -// return systemService; -// } -// -// -// public void setSystemService(SystemService systemService) { -// this.systemService = systemService; -// } - -} diff --git a/src/jeecg/rest/example/UserUpdateResource.java b/src/jeecg/rest/example/UserUpdateResource.java deleted file mode 100644 index 1cbbf566..00000000 --- a/src/jeecg/rest/example/UserUpdateResource.java +++ /dev/null @@ -1,59 +0,0 @@ -package jeecg.rest.example; - -import java.util.HashMap; -import java.util.Map; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; -import org.jeecgframework.core.util.ApplicationContextUtil; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.Put; -import org.restlet.resource.ServerResource; -/** - * @Title: UserDeleteResource - * @Description: 修改用户信息rest - * @author yankang - * @date 2013-09-20 22:27:30 - * @version V1.0 - */ -public class UserUpdateResource extends ServerResource { - private UserService userService = (UserService) ApplicationContextUtil - .getContext().getBean("userService"); - - @Put - public ObjectNode update(Representation entity) { - ObjectNode modelNode = null; - ObjectMapper objectMapper = new ObjectMapper(); - modelNode = objectMapper.createObjectNode(); - Form form = new Form(entity); - String output = form.getFirstValue("output"); - String id = form.getFirstValue("userId"); - - TSUser tsUser = userService.get(TSUser.class, id); - tsUser.setUserName(form.getFirstValue("userName")); - tsUser.setPassword(form.getFirstValue("password")); - try { - userService.updateEntitie(tsUser); - if (output != null && output.equals("json")) { - modelNode.put("success", "true"); - } - if (output != null && output.equals("xml")) { - modelNode.put("success", "true"); - } - } catch (Exception e) { - if (output != null && output.equals("json")) { - modelNode.put("success", "false"); - } - if (output != null && output.equals("xml")) { - modelNode.put("success", "false"); - } - } - Map excludeProperty = new HashMap(); - excludeProperty.put("TSDepart", "TSDepart"); - - return modelNode; - } - -} diff --git a/src/jeecg/rest/example/readme.txt b/src/jeecg/rest/example/readme.txt deleted file mode 100644 index 1f54e76f..00000000 --- a/src/jeecg/rest/example/readme.txt +++ /dev/null @@ -1,5 +0,0 @@ -http://127.0.0.1:8080/jeecg-v3-simple/services/user/gets/xml -http://127.0.0.1:8080/jeecg-v3-simple/services/user/getById/xml/4028811e4152ef07014152f0d298003f -http://127.0.0.1:8080/jeecg-v3-simple/services/user/insert/json/yankang/zhangyan/4028811e4152ef07014152f0d1dd0015 -http://127.0.0.1:8080/jeecg-v3-simple/services/user/delete/xml/402881e3415ed86001415ed9a85e0001 -http://127.0.0.1:8080/jeecg-v3-simple/services/user/update/xml/zhangyan/zhangyan/402881e3415ed86001415edc916c0002 \ No newline at end of file diff --git a/src/jeecg/rest/utils/Utils.java b/src/jeecg/rest/utils/Utils.java deleted file mode 100644 index 31432704..00000000 --- a/src/jeecg/rest/utils/Utils.java +++ /dev/null @@ -1,391 +0,0 @@ -package jeecg.rest.utils; - -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.logging.Logger; - -import net.sf.json.JSONArray; - -import org.restlet.data.MediaType; -import org.restlet.ext.xml.DomRepresentation; -import org.restlet.representation.Representation; -import org.w3c.dom.Element; -/** - * @Title: utils - * @Description: 通用类包含转换json、xml - * @author yankang - * @date 2013-09-26 22:27:30 - * @version V1.0 - */ -public class Utils { - private Logger logger = Logger.getLogger("utils"); - - /** - * 将list中的数据转换成json格式。 - * - * @param ListObj - * @param clazz - * @return - */ - @SuppressWarnings( { "unchecked", "unchecked" }) - public static StringBuffer toJson(java.util.List ListObj, - Class clazz, Map excludeProperty) { - StringBuffer sb = new StringBuffer(); - List list = new ArrayList(); - for (int i = 0; i < ListObj.size(); i++) { - Map resultObject = new HashMap(); - Object obj = ListObj.get(i); - Iterator iterator = getFilds(clazz).keySet().iterator(); - while (iterator.hasNext()) { - String property = String.valueOf(iterator.next()); - Class ownerClass = obj.getClass(); - String methodName = "get" - + property.substring(0, 1).toUpperCase() - + property.substring(1); - Method method; - try { - if (excludeProperty.get(property) == null) { - method = ownerClass.getMethod(methodName, null); - resultObject.put(property, method.invoke(obj, null)); - } - - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - - } - - list.add(resultObject); - - } - sb.append(JSONArray.fromObject(list)); - return sb; - - } - /** - * 将单个对象中的数据转换成json格式。 - * - * @param ListObj - * @param clazz - * @return - */ - @SuppressWarnings( { "unchecked", "unchecked" }) - public static StringBuffer toSingleJson(Object obj, Class clazz, - Map excludeProperty) { - StringBuffer sb = new StringBuffer(""); - List list = new ArrayList(); - if (obj != null) { - Map resultObject = new HashMap(); - Iterator iterator = getFilds(clazz).keySet().iterator(); - while (iterator.hasNext()) { - String property = String.valueOf(iterator.next()); - Class ownerClass = obj.getClass(); - String methodName = "get" - + property.substring(0, 1).toUpperCase() - + property.substring(1); - Method method; - try { - if (excludeProperty.get(property) == null) { - method = ownerClass.getMethod(methodName, null); - resultObject.put(property, method.invoke(obj, null)); - } - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - list.add(resultObject); - sb.append(JSONArray.fromObject(list)); - } - - return sb; - - } - - /** - * 转成xml两种方式 - * - * @param ListObj - * @param clazz - * @return - */ - // @SuppressWarnings("unchecked") - // public static String toXml(java.util.List listObj, - // Class clazz, Map excludeProperty) { - // StringBuffer sb=new StringBuffer(); - // DomRepresentation representation = null; - // try { - // representation = new DomRepresentation(MediaType.TEXT_XML); - // Document d = DocumentHelper.createDocument(); - // org.dom4j.Element element=d.addElement("children"); - // if (listObj != null && listObj.size() > 0) { - // for (int j = 0; j < listObj.size(); j++) { - // Object obj = listObj.get(j); - // org.dom4j.Element eltItem = element.addElement(clazz.getSimpleName()); - // Iterator iterator = getFilds(clazz).keySet().iterator(); - // while (iterator.hasNext()) { - // String property = String.valueOf(iterator.next()); - // Class ownerClass = obj.getClass(); - // String methodName = "get" - // + property.substring(0, 1).toUpperCase() - // + property.substring(1); - // Method method; - // try { - // method = ownerClass.getMethod(methodName, null); - // if (excludeProperty.get(property) != null - // && !excludeProperty.get(property) - // .equals("")) { - // } else { - // org.dom4j.Element eltName = eltItem.addElement(property); - // Object objResult = method.invoke(obj, null); - // // eltName.appendChild(d.createTextNode(objResult - // // + "")); - // eltName.setText(objResult+""); - // //eltItem.appendChild(eltName); - // } - // - // } catch (SecurityException e) { - // e.printStackTrace(); - // } catch (NoSuchMethodException e) { - // e.printStackTrace(); - // } catch (IllegalArgumentException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } catch (IllegalAccessException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } catch (InvocationTargetException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } - // - // } - // //d.appendChild(eltItem); - // - // } - // //d.normalizeDocument(); - // sb.append(d.asXML()); - // System.out.println(sb); - // } - // } catch (IOException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } - // try { - // sb.append(representation.getText()); - // System.out.println(representation); - // } catch (IOException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } - // return sb.toString(); - // - // } - public static Representation toXml(List objList, Class clazz, - Map excludeProperty) { - DomRepresentation representation = null; - try { - representation = new DomRepresentation(MediaType.TEXT_XML); - org.w3c.dom.Document d = representation.getDocument(); - if (objList != null) { - Element parent = d.createElement("children"); - for (int j = 0; j < objList.size(); j++) { - Element eltItem = d.createElement(clazz.getSimpleName()); - Iterator iterator = getFilds(clazz).keySet().iterator(); - Object obj = objList.get(j); - while (iterator.hasNext()) { - String property = String.valueOf(iterator.next()); - Class ownerClass = obj.getClass(); - String methodName = "get" - + property.substring(0, 1).toUpperCase() - + property.substring(1); - Method method; - try { - method = ownerClass.getMethod(methodName, null); - if (excludeProperty.get(property) != null - && !excludeProperty.get(property) - .equals("")) { - } else { - Element eltName = d.createElement(property); - Object objResult = method.invoke(obj, null); - eltName.appendChild(d.createTextNode(objResult - + "")); - eltItem.appendChild(eltName); - } - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - } - parent.appendChild(eltItem); - } - d.appendChild(parent); - d.normalizeDocument(); - } - } catch (IOException e) { - e.printStackTrace(); - } - try { - System.out.println(representation.getText() + "+++"); - System.out.println(representation); - } catch (IOException e) { - e.printStackTrace(); - } - return representation; - - } - /* - * 单个对象转成xml @param ListObj @param clazz @return - */ - public static Representation toSingleXml(Object obj, Class clazz, - Map excludeProperty) { - DomRepresentation representation = null; - try { - representation = new DomRepresentation(MediaType.TEXT_XML); - org.w3c.dom.Document d = representation.getDocument(); - if (obj != null) { - Element eltItem = d.createElement(clazz.getSimpleName()); - Iterator iterator = getFilds(clazz).keySet().iterator(); - while (iterator.hasNext()) { - String property = String.valueOf(iterator.next()); - Class ownerClass = obj.getClass(); - String methodName = "get" - + property.substring(0, 1).toUpperCase() - + property.substring(1); - Method method; - try { - method = ownerClass.getMethod(methodName, null); - if (excludeProperty.get(property) != null - && !excludeProperty.get(property).equals("")) { - } else { - Element eltName = d.createElement(property); - Object objResult = method.invoke(obj, null); - eltName.appendChild(d - .createTextNode(objResult + "")); - eltItem.appendChild(eltName); - } - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - - } - d.appendChild(eltItem); - d.normalizeDocument(); - - } - - } catch (IOException e) { - e.printStackTrace(); - } - - return representation; - - } - - /** - * 获取类的属性,包括集成第一层父类属性 - * - * @param clazz - * @return - */ - public static Map getFilds(Class clazz) { - Map map = new HashMap(); - for (Field field : clazz.getDeclaredFields()) { - if (!field.getName().equals("serialVersionUID")) { - map.put(field.getName(), field.getName()); - } - - } - if (clazz.getSuperclass() != null) { - for (Field field : clazz.getSuperclass().getDeclaredFields()) { - if (!field.getName().equals("serialVersionUID")) { - map.put(field.getName(), field.getName()); - } - - } - } - if (clazz.getSuperclass().getSuperclass() != null) { - for (Field field : clazz.getSuperclass().getSuperclass() - .getDeclaredFields()) { - if (!field.getName().equals("serialVersionUID")) { - map.put(field.getName(), field.getName()); - } - - } - } - - return map; - } - /** - * 返回结果 - * @return - */ - public static Representation returnSuccessResult(Boolean result){ - DomRepresentation representation = null; - try { - representation = new DomRepresentation(MediaType.TEXT_XML); - org.w3c.dom.Document d = representation.getDocument(); - Element eltItem = d.createElement("success"); - eltItem.setTextContent(result+""); - d.appendChild(eltItem); - d.normalizeDocument(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - return representation; - } - - public static void main(String[] args) { - - try { - System.out.println(returnSuccessResult(false).getText()); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - - - -} diff --git a/src/jeecg/system/sql/repair/RepairDao_batchRepairTerritory.sql b/src/jeecg/system/sql/repair/RepairDao_batchRepairTerritory.sql deleted file mode 100644 index f1c08c0b..00000000 --- a/src/jeecg/system/sql/repair/RepairDao_batchRepairTerritory.sql +++ /dev/null @@ -1,900 +0,0 @@ -INSERT INTO `t_s_territory` VALUES ('1', '100', '1', '全国', '', '0', '106.258754', '38.471318', '0'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('100', '371300', '3', '临沂市', 'LYS', '0', '118.356448', '35.104672', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('101', '371400', '3', '德州市', 'DZS', '0', '116.357465', '37.434093', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('102', '371500', '3', '聊城市', 'LCS', '0', '115.985371', '36.4567039', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('103', '371600', '3', '滨州市', 'BZS', '0', '117.970703', '37.38199', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('104', '371700', '3', '菏泽市', 'HZS', '0', '115.480656', '35.23375', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('195', '370100', '3', '济南市', 'JNS', '0', '116.994917', '36.665282', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('89', '370200', '3', '青岛市', 'QDS', '0', '120.382504', '36.06722', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('90', '370300', '3', '淄博市', 'ZBS', '0', '118.055007', '36.813497', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('91', '370400', '3', '枣庄市', 'ZZS', '0', '117.323725', '34.810488', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('92', '370500', '3', '东营市', 'DYS', '0', '118.674767', '37.434751', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('93', '370600', '3', '烟台市', 'YTS', '0', '121.447926', '37.463819', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('94', '370700', '3', '潍坊市', 'WFS', '0', '119.16193', '36.706691', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('95', '370800', '3', '济宁市', 'JNS', '0', '116.587099', '35.414921', '18'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('10', '00000016', '2', '河南省', 'HNS', '0', '113.687228', '34.76819', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('11', '00000008', '2', '黑龙江省', 'HLJS', '0', '126.662507', '45.7421699', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('12', '20000000', '2', '上海市', 'SHS', '0', '121.473704', '31.230393', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('13', '00000010', '2', '江苏省', 'JSS', '0', '118.763232', '32.061707', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('14', '00000011', '2', '浙江省', 'ZJS', '0', '120.153676', '30.26586', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('15', '00000012', '2', '安徽省', 'AHS', '0', '117.284923', '31.861184', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('16', '00000013', '2', '福建省', 'FJS', '0', '119.296506', '26.099933', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('17', '00000014', '2', '江西省', 'JXS', '0', '115.909175', '28.674424', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('18', '00000015', '2', '山东省', 'SDS', '0', '117.020411', '36.668627', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('19', '00000017', '2', '湖北省', 'HBS', '0', '114.341921', '30.545861', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('20', '00000018', '2', '湖南省', 'HNS', '0', '112.98381', '28.112444', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('21', '40000000', '2', '重庆市', 'ZQS', '0', '106.551557', '29.56301', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('22', '00000022', '2', '四川省', 'SCS', '0', '104.075931', '30.651652', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('23', '00000019', '2', '广东省', 'GDS', '0', '113.266531', '23.132191', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('24', '00000020', '2', '广西壮族自治区', 'GXZZZZQ', '0', '108.327546', '22.815478', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('25', '00000021', '2', '海南省', 'HNS', '0', '110.349229', '20.017378', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('26', '810000', '2', '香港特别行政区', 'XGTBXZQ', '0', '114.109497', '22.396428', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('27', '820000', '2', '澳门特别行政区', 'AMTBXZQ', '0', '113.543873', '22.198745', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('28', '00000023', '2', '贵州省', 'GZS', '0', '106.707116', '26.598026', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('29', '00000024', '2', '云南省', 'YNS', '0', '102.709812', '25.045359', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('3', '00000006', '2', '辽宁省', 'LNS', '0', '123.42944', '41.835441', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('30', '00000025', '2', '西藏自治区', 'XCZZQ', '0', '91.1170059', '29.647951', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('31', '00000026', '2', '陕西省', 'SXS', '0', '108.954239', '34.265472', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('32', '00000027', '2', '甘肃省', 'GSS', '0', '103.826308', '36.059421', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('33', '00000028', '2', '青海省', 'QHS', '0', '101.780199', '36.620901', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('34', '00000029', '2', '宁夏回族自治区', 'NXHZZZQ', '0', '106.258754', '38.471318', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('35', '00000030', '2', '新疆维吾尔自治区', 'XJWWEZZQ', '0', '87.6278119', '43.793028', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('4', '00000007', '2', '吉林省', 'JLS', '0', '125.326065', '43.896082', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('5', '10000000', '2', '北京市', 'BJS', '0', '116.407413', '39.904214', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('6', '30000000', '2', '天津市', 'TJS', '0', '117.200983', '39.084158', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('7', '00000003', '2', '河北省', 'HBS', '0', '114.468665', '38.037057', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('8', '00000004', '2', '山西省', 'SXS', '0', '112.562569', '37.873376', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('9', '00000005', '2', '内蒙古自治区', 'NMGZZQ', '0', '111.765618', '40.817498', '1'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1000', '370903', '4', '岱岳区', 'DYQ', '0', '117.041582', '36.18799', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1001', '370921', '4', '宁阳县', 'NYX', '0', '116.805797', '35.758787', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1002', '370923', '4', '东平县', 'DPX', '0', '116.470304', '35.937102', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1003', '370982', '4', '新泰市', 'XTS', '0', '117.767953', '35.909032', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1004', '370983', '4', '肥城市', 'FCS', '0', '116.768358', '36.182571', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1005', '371002', '4', '环翠区', 'HCQ', '0', '122.123444', '37.501991', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1006', '371081', '4', '文登市', 'WDS', '0', '122.058128', '37.1939129', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1007', '371082', '4', '荣成市', 'RCS', '0', '122.486676', '37.165249', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1008', '371083', '4', '乳山市', 'RSS', '0', '121.539764', '36.919816', '97'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1009', '371102', '4', '东港区', 'DGQ', '0', '119.462228', '35.425475', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1010', '371103', '4', '岚山区', 'LSQ', '0', '119.318813', '35.121816', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1011', '371121', '4', '五莲县', 'WLX', '0', '119.208744', '35.750095', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1012', '371122', '4', '莒县', 'JX', '0', '118.837131', '35.579868', '98'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1013', '371202', '4', '莱城区', 'LCQ', '0', '117.659864', '36.203208', '99'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1014', '371203', '4', '钢城区', 'GCQ', '0', '117.811355', '36.058572', '99'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1015', '371302', '4', '兰山区', 'LSQ', '0', '118.347707', '35.051729', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1016', '371311', '4', '罗庄区', 'LZQ', '0', '118.284786', '34.996741', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1017', '371312', '4', '河东区', 'HDQ', '0', '118.402893', '35.089917', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1018', '371321', '4', '沂南县', 'YNX', '0', '118.465213', '35.549976', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1019', '371322', '4', '郯城县', 'TCX', '0', '118.367263', '34.613557', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1020', '371323', '4', '沂水县', 'YSX', '0', '118.627918', '35.79045', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1021', '371324', '4', '苍山县', 'CSX', '0', '118.07065', '34.857149', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1022', '371325', '4', '费县', 'FX', '0', '117.977868', '35.26634', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1023', '371326', '4', '平邑县', 'PYX', '0', '117.640352', '35.5059429', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1024', '371327', '4', '莒南县', 'JNX', '0', '118.835163', '35.174846', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1025', '371328', '4', '蒙阴县', 'MYX', '0', '117.945085', '35.710032', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1026', '371329', '4', '临沭县', 'LSX', '0', '118.650782', '34.919852', '100'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1027', '371402', '4', '德城区', 'DCQ', '0', '116.299434', '37.451272', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1028', '371421', '4', '陵县', 'LX', '0', '116.576176', '37.33579', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1029', '371422', '4', '宁津县', 'NJX', '0', '116.800324', '37.652329', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1030', '371423', '4', '庆云县', 'QYX', '0', '117.385123', '37.77539', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1031', '371424', '4', '临邑县', 'LYX', '0', '116.86665', '37.189864', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1032', '371425', '4', '齐河县', 'QHX', '0', '116.758917', '36.795011', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1033', '371426', '4', '平原县', 'PYX', '0', '116.434187', '37.165419', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1034', '371427', '4', '夏津县', 'XJX', '0', '116.001726', '36.948371', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1035', '371428', '4', '武城县', 'WCX', '0', '116.069302', '37.213311', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1036', '371481', '4', '乐陵市', 'LLS', '0', '117.231935', '37.729907', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1037', '371482', '4', '禹城市', 'YCS', '0', '116.638387', '36.934259', '101'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1038', '371502', '4', '东昌府区', 'DCFQ', '0', '115.988484', '36.434697', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1039', '371521', '4', '阳谷县', 'YGX', '0', '115.79182', '36.114392', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1040', '371522', '4', '莘县', 'SX', '0', '115.671191', '36.233599', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1041', '371523', '4', '茌平县', 'CPX', '0', '116.255282', '36.5807639', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1042', '371524', '4', '东阿县', 'DAX', '0', '116.24758', '36.334917', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1043', '371525', '4', '冠县', 'GX', '0', '115.44274', '36.484009', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1044', '371526', '4', '高唐县', 'GTX', '0', '116.231478', '36.866062', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1045', '371581', '4', '临清市', 'LQS', '0', '115.704881', '36.838277', '102'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1046', '371602', '4', '滨城区', 'BCQ', '0', '118.019146', '37.43206', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1047', '371621', '4', '惠民县', 'HMX', '0', '117.510451', '37.489769', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1048', '371622', '4', '阳信县', 'YXX', '0', '117.578262', '37.641106', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1049', '371623', '4', '无棣县', 'WDX', '0', '117.625696', '37.770261', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1050', '371624', '4', '沾化县', 'ZHX', '0', '118.132199', '37.698281', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1051', '371625', '4', '博兴县', 'BXX', '0', '118.131815', '37.150226', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1052', '371626', '4', '邹平县', 'ZPX', '0', '117.743109', '36.862989', '103'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1053', '371702', '4', '牡丹区', 'MDQ', '0', '115.417827', '35.252512', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1054', '371721', '4', '曹县', 'CX', '0', '115.542328', '34.825508', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1055', '371722', '4', '单县', 'DX', '0', '116.107428', '34.778808', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1056', '371723', '4', '成武县', 'CWX', '0', '115.889765', '34.952459', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1057', '371724', '4', '巨野县', 'JYX', '0', '116.094674', '35.396261', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1058', '371725', '4', '郓城县', 'YCX', '0', '115.943613', '35.599758', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1059', '371726', '4', '鄄城县', 'JCX', '0', '115.510193', '35.563408', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1060', '371727', '4', '定陶县', 'DTX', '0', '115.573094', '35.071', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1061', '371728', '4', '东明县', 'DMX', '0', '115.089905', '35.289368', '104'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1839', '370102', '4', '历下区', 'LXQ', '0', '117.07653', '36.666344', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1840', '370103', '4', '市中区', 'SZQ', '0', '116.997475', '36.6511749', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1841', '370104', '4', '槐荫区', 'HYQ', '0', '116.90113', '36.651301', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1842', '370105', '4', '天桥区', 'TQQ', '0', '116.987492', '36.678016', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1843', '370112', '4', '历城区', 'LCQ', '0', '117.065222', '36.680171', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('926', '370113', '4', '长清区', 'CQQ', '0', '116.751959', '36.553691', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('927', '370124', '4', '平阴县', 'PYX', '0', '116.456187', '36.289265', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('928', '370125', '4', '济阳县', 'JYX', '0', '117.173529', '36.978547', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('929', '370126', '4', '商河县', 'SHX', '0', '117.157183', '37.309045', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('930', '370181', '4', '章丘市', 'ZQS', '0', '117.534326', '36.714015', '195'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('931', '370202', '4', '市南区', 'SNQ', '0', '120.412392', '36.075651', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('932', '370203', '4', '市北区', 'SBQ', '0', '120.374801', '36.087661', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('933', '370205', '4', '四方区', 'SFQ', '0', '120.366454', '36.103993', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('934', '370211', '4', '黄岛区', 'HDQ', '0', '120.198054', '35.960935', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('935', '370212', '4', '崂山区', 'LSQ', '0', '120.468956', '36.107538', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('936', '370213', '4', '李沧区', 'LCQ', '0', '120.432864', '36.145476', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('937', '370214', '4', '城阳区', 'CYQ', '0', '120.396529', '36.307061', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('938', '370281', '4', '胶州市', 'JZS', '0', '120.033345', '36.264664', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('939', '370282', '4', '即墨市', 'JMS', '0', '120.447162', '36.389401', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('940', '370283', '4', '平度市', 'PDS', '0', '119.960014', '36.7867', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('941', '370284', '4', '胶南市', 'JNS', '0', '120.04643', '35.8725', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('942', '370285', '4', '莱西市', 'LXS', '0', '120.51769', '36.889084', '89'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('943', '370302', '4', '淄川区', 'ZCQ', '0', '117.966842', '36.643449', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('944', '370303', '4', '张店区', 'ZDQ', '0', '118.017656', '36.806773', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('945', '370304', '4', '博山区', 'BSQ', '0', '117.861698', '36.494752', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('946', '370305', '4', '临淄区', 'LZQ', '0', '118.308977', '36.827343', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('947', '370306', '4', '周村区', 'ZCQ', '0', '117.869877', '36.803109', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('948', '370321', '4', '桓台县', 'HTX', '0', '118.097955', '36.959623', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('949', '370322', '4', '高青县', 'GQX', '0', '117.826916', '37.171063', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('950', '370323', '4', '沂源县', 'YYX', '0', '118.170979', '36.184827', '90'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('951', '370402', '4', '市中区', 'SZQ', '0', '117.556124', '34.864114', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('952', '370403', '4', '薛城区', 'YCQ', '0', '117.263157', '34.795206', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('953', '370404', '4', '峄城区', 'YCQ', '0', '117.590819', '34.772236', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('954', '370405', '4', '台儿庄区', 'TEZQ', '0', '117.733832', '34.562528', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('955', '370406', '4', '山亭区', 'STQ', '0', '117.461343', '35.099549', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('956', '370481', '4', '滕州市', 'TZS', '0', '117.164388', '35.084021', '91'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('957', '370502', '4', '东营区', 'DYQ', '0', '118.582184', '37.448964', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('958', '370503', '4', '河口区', 'HKQ', '0', '118.525579', '37.886138', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('959', '370521', '4', '垦利县', 'KLX', '0', '118.547627', '37.58754', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('960', '370522', '4', '利津县', 'LJX', '0', '118.255273', '37.49026', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('961', '370523', '4', '广饶县', 'GRX', '0', '118.407045', '37.0537', '92'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('962', '370602', '4', '芝罘区', 'ZFQ', '0', '121.400031', '37.540687', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('963', '370611', '4', '福山区', 'FSQ', '0', '121.267697', '37.498051', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('964', '370612', '4', '牟平区', 'MPQ', '0', '121.600512', '37.386901', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('965', '370613', '4', '莱山区', 'LSQ', '0', '121.445304', '37.511305', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('966', '370614', '4', '开发区', 'KFQ', '0', '121.251001', '37.554683', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('967', '370634', '4', '长岛县', 'CDX', '0', '120.736584', '37.921417', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('968', '370681', '4', '龙口市', 'LKS', '0', '120.477836', '37.646064', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('969', '370682', '4', '莱阳市', 'LYS', '0', '120.711607', '36.97891', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('970', '370683', '4', '莱州市', 'LZS', '0', '119.942327', '37.177017', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('971', '370684', '4', '蓬莱市', 'PLS', '0', '120.758848', '37.810661', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('972', '370685', '4', '招远市', 'ZYS', '0', '120.434072', '37.355469', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('973', '370686', '4', '栖霞市', 'QXS', '0', '120.849675', '37.335123', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('974', '370687', '4', '海阳市', 'HYS', '0', '121.158477', '36.776425', '93'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('975', '370702', '4', '潍城区', 'WCQ', '0', '119.024836', '36.7281', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('976', '370703', '4', '寒亭区', 'HTQ', '0', '119.219734', '36.775491', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('977', '370704', '4', '坊子区', 'FZQ', '0', '119.166485', '36.654448', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('978', '370705', '4', '奎文区', 'KWQ', '0', '119.132486', '36.707676', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('979', '370724', '4', '临朐县', 'LQX', '0', '118.542982', '36.5125059', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('980', '370725', '4', '昌乐县', 'CLX', '0', '118.829914', '36.706945', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('981', '370781', '4', '青州市', 'QZS', '0', '118.479622', '36.684528', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('982', '370782', '4', '诸城市', 'ZCS', '0', '119.410103', '35.995654', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('983', '370783', '4', '寿光市', 'SGS', '0', '118.790652', '36.85548', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('984', '370784', '4', '安丘市', 'AQS', '0', '119.218978', '36.478494', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('985', '370785', '4', '高密市', 'GMS', '0', '119.755597', '36.3825949', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('986', '370786', '4', '昌邑市', 'CYS', '0', '119.398525', '36.85882', '94'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('987', '370802', '4', '市中区', 'SZQ', '0', '116.596614', '35.40819', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('988', '370811', '4', '任城区', 'RCQ', '0', '116.628562', '35.433727', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('989', '370826', '4', '微山县', 'WSX', '0', '117.128946', '34.8071', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('990', '370827', '4', '鱼台县', 'YTX', '0', '116.650608', '35.012749', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('991', '370828', '4', '金乡县', 'JXX', '0', '116.311532', '35.06662', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('992', '370829', '4', '嘉祥县', 'JXX', '0', '116.342442', '35.407829', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('993', '370830', '4', '汶上县', 'WSX', '0', '116.489043', '35.732799', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('994', '370831', '4', '泗水县', 'SSX', '0', '117.251195', '35.664323', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('995', '370832', '4', '梁山县', 'LSX', '0', '116.096044', '35.802306', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('996', '370881', '4', '曲阜市', 'QFS', '0', '116.986532', '35.581137', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('997', '370882', '4', '兖州市', 'YZS', '0', '116.783834', '35.553144', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('998', '370883', '4', '邹城市', 'ZCS', '0', '117.003743', '35.405185', '95'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('999', '370902', '4', '泰山区', 'TSQ', '0', '117.135354', '36.192084', '96'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('184', '360100', '3', '南昌市', 'NCS', '0', '115.858089', '28.68316', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('185', '360200', '3', '景德镇市', 'JDZS', '0', '117.17842', '29.268836', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('186', '360300', '3', '萍乡市', 'PXS', '0', '113.854676', '27.622865', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('187', '360400', '3', '九江市', 'JJS', '0', '116.001951', '29.705103', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('188', '360500', '3', '新余市', 'XYS', '0', '114.91741', '27.817819', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('189', '360600', '3', '鹰潭市', 'YTS', '0', '117.069202', '28.260189', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('190', '360700', '3', '赣州市', 'GZS', '0', '114.935025', '25.831925', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('191', '360800', '3', '吉安市', 'JAS', '0', '114.992912', '27.113039', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('192', '360900', '3', '宜春市', 'YCS', '0', '114.416778', '27.815619', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('193', '361000', '3', '抚州市', 'FZS', '0', '116.358176', '27.9492', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('194', '361100', '3', '上饶市', 'SRS', '0', '117.943433', '28.454863', '17'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1739', '360102', '4', '东湖区', 'DHQ', '0', '115.89901', '28.6849159', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1740', '360103', '4', '西湖区', 'XHQ', '0', '115.877287', '28.656887', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1741', '360104', '4', '青云谱区', 'QYPQ', '0', '115.925749', '28.621169', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1742', '360105', '4', '湾里区', 'WLQ', '0', '115.730994', '28.714869', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1743', '360111', '4', '青山湖区', 'QSHQ', '0', '115.962144', '28.682985', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1744', '360121', '4', '南昌县', 'NCX', '0', '115.944162', '28.545459', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1745', '360122', '4', '新建县', 'XJX', '0', '115.815233', '28.692437', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1746', '360123', '4', '安义县', 'AYX', '0', '115.549199', '28.844429', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1747', '360124', '4', '进贤县', 'JXX', '0', '116.240924', '28.376918', '184'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1748', '360202', '4', '昌江区', 'CJQ', '0', '117.183688', '29.27342', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1749', '360203', '4', '珠山区', 'ZSQ', '0', '117.202336', '29.301272', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1750', '360222', '4', '浮梁县', 'FLX', '0', '117.215061', '29.351739', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1751', '360281', '4', '乐平市', 'LPS', '0', '117.129169', '28.961902', '185'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1752', '360302', '4', '安源区', 'AYQ', '0', '113.87073', '27.615202', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1753', '360313', '4', '湘东区', 'XDQ', '0', '113.733059', '27.640075', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1754', '360321', '4', '莲花县', 'LHX', '0', '113.961465', '27.127669', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1755', '360322', '4', '上栗县', 'SLX', '0', '113.795219', '27.880567', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1756', '360323', '4', '芦溪县', 'LXX', '0', '114.029595', '27.631145', '186'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1757', '360402', '4', '庐山区', 'LSQ', '0', '115.989212', '29.671775', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1758', '360403', '4', '浔阳区', 'XYQ', '0', '115.990399', '29.72746', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1759', '360421', '4', '九江县', 'JJX', '0', '115.911314', '29.608456', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1760', '360423', '4', '武宁县', 'WNX', '0', '115.100579', '29.256323', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1761', '360424', '4', '修水县', 'XSX', '0', '114.547356', '29.025707', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1762', '360425', '4', '永修县', 'YXX', '0', '115.809111', '29.021824', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1763', '360426', '4', '德安县', 'DAX', '0', '115.756883', '29.314348', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1764', '360427', '4', '星子县', 'XZX', '0', '116.044893', '29.448037', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1765', '360428', '4', '都昌县', 'DCX', '0', '116.204099', '29.273194', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1766', '360429', '4', '湖口县', 'HKX', '0', '116.220266', '29.73944', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1767', '360430', '4', '彭泽县', 'PZX', '0', '116.549359', '29.896061', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1768', '360481', '4', '瑞昌市', 'RCS', '0', '115.681504', '29.673795', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1769', '360499', '4', '共青城', 'GQC', '0', '115.774', '29.2417', '187'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1770', '360502', '4', '渝水区', 'YSQ', '0', '114.944574', '27.80038', '188'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1771', '360521', '4', '分宜县', 'FYX', '0', '114.692039', '27.814628', '188'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1772', '360602', '4', '月湖区', 'YHQ', '0', '117.036676', '28.238797', '189'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1773', '360622', '4', '余江县', 'YJX', '0', '116.818871', '28.204174', '189'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1774', '360681', '4', '贵溪市', 'GXS', '0', '117.245497', '28.292519', '189'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1775', '360702', '4', '章贡区', 'ZGQ', '0', '114.941826', '25.862827', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1776', '360721', '4', '赣县', 'GX', '0', '115.011561', '25.860691', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1777', '360722', '4', '信丰县', 'XFX', '0', '114.922963', '25.386278', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1778', '360723', '4', '大余县', 'DYX', '0', '114.362094', '25.401283', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1779', '360724', '4', '上犹县', 'SYX', '0', '114.551371', '25.784978', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1780', '360725', '4', '崇义县', 'CYX', '0', '114.308273', '25.681879', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1781', '360726', '4', '安远县', 'AYX', '0', '115.393922', '25.136925', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1782', '360727', '4', '龙南县', 'LNX', '0', '114.789811', '24.911107', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1783', '360728', '4', '定南县', 'DNX', '0', '115.027845', '24.78441', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1784', '360729', '4', '全南县', 'QNX', '0', '114.530125', '24.742401', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1785', '360730', '4', '宁都县', 'NDX', '0', '116.009472', '26.470116', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1786', '360731', '4', '于都县', 'YDX', '0', '115.41551', '25.952066', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1787', '360732', '4', '兴国县', 'XGX', '0', '115.36319', '26.337937', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1788', '360733', '4', '会昌县', 'HCX', '0', '115.786057', '25.600272', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1789', '360734', '4', '寻乌县', 'YWX', '0', '115.646525', '24.963322', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1790', '360735', '4', '石城县', 'SCX', '0', '116.354201', '26.32686', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1791', '360781', '4', '瑞金市', 'RJS', '0', '116.02713', '25.885561', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1792', '360782', '4', '南康市', 'NKS', '0', '114.765238', '25.661356', '190'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1793', '360802', '4', '吉州区', 'JZQ', '0', '114.994307', '27.129975', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1794', '360803', '4', '青原区', 'QYQ', '0', '115.01424', '27.081719', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1795', '360821', '4', '吉安县', 'JAX', '0', '114.907659', '27.040142', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1796', '360822', '4', '吉水县', 'JSX', '0', '115.135507', '27.229632', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1797', '360823', '4', '峡江县', 'XJX', '0', '115.316566', '27.582901', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1798', '360824', '4', '新干县', 'XGX', '0', '115.393043', '27.740809', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1799', '360825', '4', '永丰县', 'YFX', '0', '115.441477', '27.317869', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1800', '360826', '4', '泰和县', 'THX', '0', '114.908861', '26.790231', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1801', '360827', '4', '遂川县', 'SCX', '0', '114.52098', '26.311894', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1802', '360828', '4', '万安县', 'WAX', '0', '114.786256', '26.458257', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1803', '360829', '4', '安福县', 'AFX', '0', '114.619893', '27.392874', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1804', '360830', '4', '永新县', 'YXX', '0', '114.242675', '26.945233', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1805', '360881', '4', '井冈山市', 'JGSS', '0', '114.289182', '26.748186', '191'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1806', '360902', '4', '袁州区', 'YZQ', '0', '114.424657', '27.798846', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1807', '360921', '4', '奉新县', 'FXX', '0', '115.384904', '28.700806', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1808', '360922', '4', '万载县', 'WZX', '0', '114.447551', '28.10455', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1809', '360923', '4', '上高县', 'SGX', '0', '114.924494', '28.232827', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1810', '360924', '4', '宜丰县', 'YFX', '0', '114.803542', '28.393613', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1811', '360925', '4', '靖安县', 'JAX', '0', '115.362629', '28.861475', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1812', '360926', '4', '铜鼓县', 'TGX', '0', '114.37098', '28.520747', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1813', '360981', '4', '丰城市', 'FCS', '0', '115.771195', '28.159325', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1814', '360982', '4', '樟树市', 'ZSS', '0', '115.546063', '28.055796', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1815', '360983', '4', '高安市', 'GAS', '0', '115.375618', '28.417261', '192'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1816', '361002', '4', '临川区', 'LCQ', '0', '116.31136', '27.934529', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1817', '361021', '4', '南城县', 'NCX', '0', '116.644658', '27.552748', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1818', '361022', '4', '黎川县', 'LCX', '0', '116.907508', '27.282382', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1819', '361023', '4', '南丰县', 'NFX', '0', '116.525725', '27.218445', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1820', '361024', '4', '崇仁县', 'CRX', '0', '116.061164', '27.764681', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1821', '361025', '4', '乐安县', 'LAX', '0', '115.837895', '27.420441', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1822', '361026', '4', '宜黄县', 'YHX', '0', '116.222128', '27.546146', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1823', '361027', '4', '金溪县', 'JXX', '0', '116.775435', '27.908337', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1824', '361028', '4', '资溪县', 'ZXX', '0', '117.060264', '27.706102', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1825', '361029', '4', '东乡县', 'DXX', '0', '116.590465', '28.236118', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1826', '361030', '4', '广昌县', 'GCX', '0', '116.325757', '26.837267', '193'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1827', '361102', '4', '信州区', 'XZQ', '0', '117.966823', '28.43121', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1828', '361121', '4', '上饶县', 'SRX', '0', '117.90785', '28.448983', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1829', '361122', '4', '广丰县', 'GFX', '0', '118.19124', '28.436286', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1830', '361123', '4', '玉山县', 'YSX', '0', '118.245124', '28.682055', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1831', '361124', '4', '铅山县', 'QSX', '0', '117.709451', '28.315217', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1832', '361125', '4', '横峰县', 'HFX', '0', '117.596452', '28.407118', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1833', '361126', '4', '弋阳县', 'YYX', '0', '117.449588', '28.378044', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1834', '361127', '4', '余干县', 'YGX', '0', '116.695647', '28.702302', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1835', '361128', '4', '鄱阳县', 'PYX', '0', '116.699746', '29.011699', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1836', '361129', '4', '万年县', 'WNX', '0', '117.058445', '28.694582', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1837', '361130', '4', '婺源县', 'WYX', '0', '117.861911', '29.2480249', '194'); -INSERT INTO `t_s_territory` (`ID`, `territorycode`, `territorylevel`, `territoryname`, `territory_pinyin`, `territorysort`, `x_wgs84`, `y_wgs84`, `territoryparentid`) - -VALUES ('1838', '361181', '4', '德兴市', 'DXS', '0', '117.578713', '28.946464', '194'); - - - - - diff --git a/src/jeecg/system/txt/valid-code-demo.ftl b/src/jeecg/system/txt/valid-code-demo.ftl deleted file mode 100644 index b5660451..00000000 --- a/src/jeecg/system/txt/valid-code-demo.ftl +++ /dev/null @@ -1,67 +0,0 @@ -
      - - - -
      -
      - - - -
      -
      - - - - 阅读 - - - - 音乐 - - - - 运动 - - -
      -
      - - - -
      -
      - - - -
      -
      - - - -
      -
      - - - -
      -
      - - - -
      \ No newline at end of file diff --git a/src/org/jeecgframework/core/common/model/common/DBTable.java b/src/org/jeecgframework/core/common/model/common/DBTable.java deleted file mode 100644 index aa145d80..00000000 --- a/src/org/jeecgframework/core/common/model/common/DBTable.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.jeecgframework.core.common.model.common; - -import java.io.Serializable; - -public class DBTable implements Serializable { - - public String tableName; - public String entityName; - public String tableTitle; - public Class class1; - public String getTableName() { - return tableName; - } - public void setTableName(String tableName) { - this.tableName = tableName; - } - public String getEntityName() { - return entityName; - } - public void setEntityName(String entityName) { - this.entityName = entityName; - } - public String getTableTitle() { - return tableTitle; - } - public void setTableTitle(String tableTitle) { - this.tableTitle = tableTitle; - } - public Class getClass1() { - return class1; - } - public void setClass1(Class class1) { - this.class1 = class1; - } - - -} diff --git a/src/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.java b/src/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.java deleted file mode 100644 index 2c353510..00000000 --- a/src/org/jeecgframework/core/extend/hqlsearch/HqlGenerateUtil.java +++ /dev/null @@ -1,374 +0,0 @@ -package org.jeecgframework.core.extend.hqlsearch; - -import java.beans.PropertyDescriptor; -import java.util.Date; -import java.util.Map; - -import org.apache.commons.beanutils.PropertyUtils; -import org.apache.log4j.Logger; -import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; -import org.jeecgframework.core.util.StringUtil; - - -public class HqlGenerateUtil { - - private static final String SUFFIX_COMMA = ","; - private static final String SUFFIX_KG = " "; - /**模糊查询符号*/ - private static final String SUFFIX_ASTERISK = "*"; - private static final String SUFFIX_ASTERISK_VAGUE = "%"; - /**不等于查询符号*/ - private static final String SUFFIX_NOT_EQUAL = "!"; - private static final String SUFFIX_NOT_EQUAL_NULL = "!NULL"; - - /**时间查询符号*/ - private static final String END = "end"; - private static final String BEGIN = "begin"; - private static final Logger logger = Logger.getLogger(HqlGenerateUtil.class); - - - - /** - * 自动生成查询条件HQL - * 模糊查询 - * 【只对Integer类型和String类型的字段自动生成查询条件】 - * @param hql - * @param values - * @param searchObj - * @throws Exception - */ - public static void installHql(CriteriaQuery cq,Object searchObj){ - PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(searchObj); - // 获得对象属性中的name - String descriptorsNames = getDescriptorsNames(origDescriptors); - - for (int i = 0; i < origDescriptors.length; i++) { - String name = origDescriptors[i].getName(); - String type = origDescriptors[i].getPropertyType().toString(); - - if ("class".equals(name)||"ids".equals(name)||"page".equals(name) - ||"rows".equals(name)||"sort".equals(name)||"order".equals(name)) { - continue; // No point in trying to set an object's class - } - try { - if (PropertyUtils.isReadable(searchObj, name)) { - if("class java.lang.String".equals(type)){ - Object value = PropertyUtils.getSimpleProperty(searchObj, name); - String searchValue = null; - if(value!=null){ - searchValue = value.toString().trim(); - }else{ - continue; - } - if(searchValue!=null&&!"".equals(searchValue)){ - //[1].In 多个条件查询{逗号隔开参数} - if(searchValue.indexOf(SUFFIX_COMMA)>=0){ - //页面输入查询条件,情况(取消字段的默认条件) - if(searchValue.indexOf(SUFFIX_KG)>=0){ - String val = searchValue.substring(searchValue.indexOf(SUFFIX_KG)); - cq.eq(name, val); - }else{ - String[] vs = searchValue.split(SUFFIX_COMMA); - cq.in(name, vs); - } - } - //[2].模糊查询{带有* 星号的参数} - else if(searchValue.indexOf(SUFFIX_ASTERISK)>=0){ - cq.like(name, searchValue.replace(SUFFIX_ASTERISK, SUFFIX_ASTERISK_VAGUE)); - } - //[3].不匹配查询{等于!叹号} - //(1).不为空字符串 - else if(searchValue.equals(SUFFIX_NOT_EQUAL)){ - cq.isNotNull(name); - } - //(2).不为NULL - else if(searchValue.toUpperCase().equals(SUFFIX_NOT_EQUAL_NULL)){ - cq.isNotNull(name); - } - //(3).正常不匹配 - else if(searchValue.indexOf(SUFFIX_NOT_EQUAL)>=0){ - cq.notEq(name, searchValue.replace(SUFFIX_NOT_EQUAL, "")); - } - //[4].全匹配查询{没有特殊符号的参数} - else{ - cq.eq(name, searchValue); - } - } - }else if("class java.lang.Integer".equals(type)){ - Object value = PropertyUtils.getSimpleProperty(searchObj, name); - if(value!=null&&!"".equals(value)){ - cq.eq(name, value); - } - } else if("class java.math.BigDecimal".equals(type)){ - Object value = PropertyUtils.getSimpleProperty(searchObj, name); - if(value!=null&&!"".equals(value)){ - cq.eq(name, value); - } - }else if("class java.lang.Short".equals(type)){ - Object value = PropertyUtils.getSimpleProperty(searchObj, name); - if(value!=null&&!"".equals(value)){ - cq.eq(name, value); - } - }else if("class java.lang.Double".equals(type)){ - Object value = PropertyUtils.getSimpleProperty(searchObj, name); - if(value!=null&&!"".equals(value)){ - cq.eq(name, value); - } - } - else if("class java.lang.Long".equals(type)){ - Object value = PropertyUtils.getSimpleProperty(searchObj, name); - if(value!=null&&!"".equals(value)){ - cq.eq(name, value); - } - }else if ("class java.util.Date".equals(type)) { - Date value = (Date) PropertyUtils.getSimpleProperty(searchObj, name); - if (null != value) { - // 判断开始时间 - if (name.contains(BEGIN)) { - String realName = StringUtil.firstLowerCase(name.substring(5, name.length())); - if (!BEGIN.equals(name.substring(0, 5)) || !descriptorsNames.contains(realName)) { - logger.error("该查询属性 [" + name + "] 命名不规则"); - } else { - cq.ge(realName, value); - } - } - // 判断结束时间 - else if (name.contains(END)) { - String realName = StringUtil.firstLowerCase(name.substring(3, name.length())); - if (!END.equals(name.substring(0, 3)) || !descriptorsNames.contains(realName)) { - logger.error("该查询属性 [" + name + "] 命名不规则"); - } else { - cq.le(name, value); - } - } - else { - cq.eq(name, value); - } - } - } - } - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - //添加选择条件 - cq.add(); - } - /* - * 下面的方法是重载 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(CriteriaQuery, Object) - * 其目的是拓展区间查询功能 - * 注: - * 重载此方法后修改了模版 controllerTemplate.ftl#datagrid() - * 将第二行
      - * org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}); - * 改为
      - * org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first}, request.getParameterMap()); - * 因模版里不方便注释,故在此处说明 - */ - /** - * 自动生成查询条件HQL(扩展区间查询功能) - * @param cq - * @param searchObj - * @param parameterMap request参数集合,封装了所有查询信息 - */ - public static void installHql(CriteriaQuery cq,Object searchObj, Map parameterMap){ - installHalJoinAlias(cq, searchObj, ""); - //添加选择条件 - cq.add(); - } - - private static void installHalJoinAlias(CriteriaQuery cq, Object searchObj, - String alias) { - PropertyDescriptor origDescriptors[] = PropertyUtils - .getPropertyDescriptors(searchObj); - // 获得对象属性中的name - String descriptorsNames = getDescriptorsNames(origDescriptors); - for (int i = 0; i < origDescriptors.length; i++) { - String aliasName = (alias.equals("") ? "" : alias + ".") - + origDescriptors[i].getName(); - String name = origDescriptors[i].getName(); - String type = origDescriptors[i].getPropertyType().toString(); - - if ("class".equals(name) || "ids".equals(name) - || "page".equals(name) || "rows".equals(name) - || "sort".equals(name) || "order".equals(name)) { - continue; // No point in trying to set an object's class - } - try { - if (PropertyUtils.isReadable(searchObj, name)) { - if ("class java.lang.String".equals(type)) { - Object value = PropertyUtils.getSimpleProperty( - searchObj, name); - String searchValue = null; - if (value != null) { - searchValue = value.toString().trim(); - } else { - continue; - } - if (searchValue != null && !"".equals(searchValue)) { - // [1].In 多个条件查询{逗号隔开参数} - if (searchValue.indexOf(SUFFIX_COMMA) >= 0) { - // 页面输入查询条件,情况(取消字段的默认条件) - if (searchValue.indexOf(SUFFIX_KG) >= 0) { - String val = searchValue - .substring(searchValue - .indexOf(SUFFIX_KG)); - cq.eq(name, val); - } else { - String[] vs = searchValue - .split(SUFFIX_COMMA); - cq.in(aliasName, vs); - } - } - // [2].模糊查询{带有* 星号的参数} - else if (searchValue.indexOf(SUFFIX_ASTERISK) >= 0) { - cq.like(aliasName, searchValue.replace( - SUFFIX_ASTERISK, SUFFIX_ASTERISK_VAGUE)); - } - // [3].不匹配查询{等于!叹号} - // (1).不为空字符串 - else if (searchValue.equals(SUFFIX_NOT_EQUAL)) { - cq.isNotNull(aliasName); - } - // (2).不为NULL - else if (searchValue.toUpperCase().equals( - SUFFIX_NOT_EQUAL_NULL)) { - cq.isNotNull(aliasName); - } - // (3).正常不匹配 - else if (searchValue.indexOf(SUFFIX_NOT_EQUAL) >= 0) { - cq.notEq(name, searchValue.replace( - SUFFIX_NOT_EQUAL, "")); - } - // [4].全匹配查询{没有特殊符号的参数} - else { - cq.eq(aliasName, searchValue); - } - } - } else if ("class java.lang.Integer".equals(type)) { - Object value = PropertyUtils.getSimpleProperty( - searchObj, name); - if (StringUtil.isNotEmpty(value)) { - cq.eq(aliasName, value); - } - } else if ("class java.math.BigDecimal".equals(type)) { - // for:增加对bigDecimal数据的支持 - Object value = PropertyUtils.getSimpleProperty( - searchObj, name); - if (StringUtil.isNotEmpty(value)) { - cq.eq(aliasName, value); - } - // for:增加对bigDecimal数据的支持 - } else if ("class java.lang.Short".equals(type)) { - // #93 增加对SHORT数据的支持 - Object value = PropertyUtils.getSimpleProperty( - searchObj, name); - if (StringUtil.isNotEmpty(value)) { - cq.eq(aliasName, value); - } - // #93增加对SHORT数据的支持 - } else if ("class java.lang.Long".equals(type)) { - // #93 增加对LONG 数据的支持 - Object value = PropertyUtils.getSimpleProperty( - searchObj, name); - if (StringUtil.isNotEmpty(value)) { - cq.eq(aliasName, value); - } - // #93 增加对LONG 数据的支持 - } else if ("class java.util.Date".equals(type)) { - Date value = (Date) PropertyUtils.getSimpleProperty( - searchObj, name); - if (null != value) { - // 判断开始时间 - if (name.contains(BEGIN)) { - String realName = StringUtil - .firstLowerCase(name.substring(5, - name.length())); - if (!BEGIN.equals(name.substring(0, 5)) - || !descriptorsNames.contains(realName)) { - logger.error("该查询属性 [" + name + "] 命名不规则"); - } else { - cq.ge(realName, value); - } - } - // 判断结束时间 - else if (name.contains(END)) { - String realName = StringUtil - .firstLowerCase(name.substring(3, - name.length())); - if (!END.equals(name.substring(0, 3)) - || !descriptorsNames.contains(realName)) { - logger.error("该查询属性 [" + name + "] 命名不规则"); - } else { - cq.le(name, value); - } - } else { - cq.eq(name, value); - } - } - } else if (!StringUtil.isJavaClass(origDescriptors[i] - .getPropertyType())) { - Object param = PropertyUtils.getSimpleProperty(searchObj, - name); - if(itIsNotEmpty(param)){ - // 如果是实体类,创建别名,继续创建查询条件 - cq.createAlias(aliasName, aliasName); - installHalJoinAlias(cq,param, aliasName); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - } - - /** - * 判断这个类是不是所以属性都为空 - * @param param - * @return - */ - private static boolean itIsNotEmpty(Object param){ - boolean isNotEmpty = false; - try{ - PropertyDescriptor origDescriptors[] = PropertyUtils - .getPropertyDescriptors(param); - String name; - for (int i = 0; i < origDescriptors.length; i++) { - name = origDescriptors[i].getName(); - if ("class".equals(name)) { - continue; - } - if (PropertyUtils.isReadable(param, name)&& - StringUtil.isNotEmpty(PropertyUtils.getSimpleProperty( - param,name))){ - isNotEmpty = true; - break; - } - } - }catch (Exception e){ - - } - return isNotEmpty; - } - - - /** - * 得到对象属性中所有name - * @param origDescriptors - * @return - */ - private static String getDescriptorsNames(PropertyDescriptor origDescriptors[]) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < origDescriptors.length; i++) { - sb.append(origDescriptors[i].getName() + ","); - } - return sb.toString(); - } - - -} - - diff --git a/test/jeecg/demo/service/impl/test/JeecgNoteServiceImplTest.java b/test/jeecg/demo/service/impl/test/JeecgNoteServiceImplTest.java deleted file mode 100644 index d478d6a1..00000000 --- a/test/jeecg/demo/service/impl/test/JeecgNoteServiceImplTest.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * - */ -package jeecg.demo.service.impl.test; - - -/** - * @author yanping.shi - * - */ -public class JeecgNoteServiceImplTest { - -} diff --git a/test/jeecg/rest/example/HelloWorldResourceTest.java b/test/jeecg/rest/example/HelloWorldResourceTest.java deleted file mode 100644 index aaffbd6b..00000000 --- a/test/jeecg/rest/example/HelloWorldResourceTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; - -import junit.framework.TestCase; -import org.restlet.Client; -import org.restlet.Request; -import org.restlet.Response; -import org.restlet.data.Method; -import org.restlet.data.Protocol; -import org.restlet.representation.Representation; -import org.restlet.resource.ResourceException; - -public class HelloWorldResourceTest extends TestCase { - - @org.junit.Test - public void testExample() { - Request request = new Request(Method.GET, - "http://localhost:8080/jeecg-v3-simple/services/helloWorld"); - try { - Client client = new Client(Protocol.HTTP); - Response response = client.handle(request); - Representation output = response.getEntity(); - output.write(System.out); - - } catch (ResourceException e) { - System.out.println("Error status: " + e.getStatus()); - System.out.println("Error message: " + e.getMessage()); - } catch (IOException e) { - e.printStackTrace(); - } - } - -} diff --git a/test/jeecg/rest/example/UserDeleteResourceTest.java b/test/jeecg/rest/example/UserDeleteResourceTest.java deleted file mode 100644 index a2cfec9c..00000000 --- a/test/jeecg/rest/example/UserDeleteResourceTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; -import jeecg.system.pojo.base.TSUser; -import junit.framework.TestCase; -import org.junit.Test; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.ClientResource; - -public class UserDeleteResourceTest extends TestCase { - @Test - public void testDelete() { - ClientResource clientResource = new ClientResource( - "http://127.0.0.1:8080/jeecg-v3-simple/services/user/delById"); - TSUser tsUser = new TSUser(); - tsUser.setId("402881e3419752df0141975476490000"); - try { - Representation r = clientResource.post(getRepresentation(tsUser)); - System.out.println(r.getText()); - - } catch (IOException e) { - e.printStackTrace(); - } - } - - public static Representation getRepresentation(TSUser tsUser) { - Form form = new Form(); - form.add("output", "json"); - form.add("userId", tsUser.getId()); - return form.getWebRepresentation(); - } -} diff --git a/test/jeecg/rest/example/UserInsertResourceTest.java b/test/jeecg/rest/example/UserInsertResourceTest.java deleted file mode 100644 index f7aacbe9..00000000 --- a/test/jeecg/rest/example/UserInsertResourceTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; - -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSUser; -import junit.framework.TestCase; - -import org.junit.Test; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.ClientResource; - -public class UserInsertResourceTest extends TestCase { - - @Test - public void testInsert(){ - ClientResource clientResource = new ClientResource( - "http://127.0.0.1:8080/jeecg-v3-simple/services/user/inserts"); - TSUser tsUser=new TSUser(); - tsUser.setUserName("ykpb "); - tsUser.setPassword("ykzy"); - TSDepart tsDepart=new TSDepart(); - tsDepart.setId("4028811e4152ef07014152f0d1dd0016"); - tsUser.setTSDepart(tsDepart); - try { - Representation r = clientResource.put(getRepresentation(tsUser)); - System.out.println(r.getText()); - } catch (IOException e) { - e.printStackTrace(); - } - } - public static Representation getRepresentation(TSUser tsUser) { - Form form = new Form(); - form.add("userName", tsUser.getUserName()); - form.add("password", tsUser.getPassword()); - form.add("output","json"); - form.add("deptId",tsUser.getTSDepart().getId()); - return form.getWebRepresentation(); - } - -} diff --git a/test/jeecg/rest/example/UserQueryResourceTest.java b/test/jeecg/rest/example/UserQueryResourceTest.java deleted file mode 100644 index 2ffa76c8..00000000 --- a/test/jeecg/rest/example/UserQueryResourceTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; -import junit.framework.TestCase; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.ClientResource; - - -public class UserQueryResourceTest extends TestCase { - - @org.junit.Test - public void testGets() { - ClientResource clientResource = new ClientResource( - "http://127.0.0.1:8080/jeecg-v3-simple/services/user/getUsers"); - try { - Representation r = clientResource.post(getRepresentation()); - System.out.println(r.getText()); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public static Representation getRepresentation() { - Form form = new Form(); - form.add("output", "json"); - return form.getWebRepresentation(); - } - -} diff --git a/test/jeecg/rest/example/UserUpdateResourceTest.java b/test/jeecg/rest/example/UserUpdateResourceTest.java deleted file mode 100644 index 412bc4d0..00000000 --- a/test/jeecg/rest/example/UserUpdateResourceTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package jeecg.rest.example; - -import java.io.IOException; - -import javax.resource.ResourceException; - -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSUser; - -import org.junit.Test; -import org.restlet.data.Form; -import org.restlet.representation.Representation; -import org.restlet.resource.ClientResource; - -import junit.framework.TestCase; - -public class UserUpdateResourceTest extends TestCase { - - @Test - public void testUpdate() { - // Define our Restlet client resources. - ClientResource clientResource = new ClientResource( - "http://127.0.0.1:8080/jeecg-v3-simple/services/user/updateById"); - TSUser tsUser = new TSUser(); - tsUser.setUserName("ykpb "); - tsUser.setPassword("ykzy"); - TSDepart tsDepart = new TSDepart(); - tsDepart.setId("4028811e4152ef07014152f0d1dd0016"); - tsUser.setId("402881e3415ed86001415edc916c0002"); - - // Consume the response's entity which releases the connection - try { - Representation r = clientResource.put(getRepresentation(tsUser)); - System.out.println(r.getText()); - - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public static Representation getRepresentation(TSUser tsUser) { - // Gathering informations into a Web form. - Form form = new Form(); - form.add("userName", tsUser.getUserName()); - form.add("password", tsUser.getPassword()); - form.add("output", "json"); - form.add("userId", tsUser.getId()); - return form.getWebRepresentation(); - } - -} diff --git a/test/jeecg/system/service/impl/UserServiceImplTest.java b/test/jeecg/system/service/impl/UserServiceImplTest.java deleted file mode 100644 index 2966d751..00000000 --- a/test/jeecg/system/service/impl/UserServiceImplTest.java +++ /dev/null @@ -1,137 +0,0 @@ -package jeecg.system.service.impl; - -import java.util.List; - -import jeecg.system.pojo.base.TSDepart; -import jeecg.system.pojo.base.TSRoleUser; -import jeecg.system.pojo.base.TSUser; -import jeecg.system.service.UserService; - -import org.jeecgframework.core.util.JeecgSqlUtil; -import org.jeecgframework.core.util.LogUtil; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import spring.SpringTxTestCase; - -/** - * 单元测试 - * @author yanping.shi - * - */ -public class UserServiceImplTest extends SpringTxTestCase { - - @Autowired - private UserService userService; - - /** - * Test method for {@link jeecg.system.service.impl.UserServiceImpl#checkUserExits(jeecg.system.pojo.base.TSUser)}. - */ - @Test - public void testCheckUserExits() { - LogUtil.info("-------junit4----------UserServiceImplTest.testGetListByCriteriaQuery----------"); - TSUser user = new TSUser(); - user.setUserName("admin"); - user.setPassword("admin"); - user = userService.checkUserExits(user); - System.out.println("user:" +user); - } - - /** - * Test method for {@link jeecg.system.service.impl.UserServiceImpl#getUserRole(jeecg.system.pojo.base.TSUser)}. - */ - @Test - public void testGetUserRole() { - LogUtil.info("-------junit4----------UserServiceImplTest.testGetUserRole----------"); - String userRole = ""; - TSUser user = new TSUser(); - user.setId("40"); - List sRoleUser = userService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId()); - userRole = userService.getUserRole(user); - System.out.println("userRole:" + userRole); - } - - - - - - - - /** - * Test method for {@link org.jeecgframework.core.common.service.impl.CommonServiceImpl#save(java.lang.Object)}. - */ - @Test - //如果你需要真正插入数据库,将Rollback设为false - //@Rollback(false) - public void testSave() { - LogUtil.info("-------junit4----------UserServiceImplTest.testSave----------"); - TSUser user = new TSUser(); - user.setRealName("施艳平1"); - user.setUserName("shiyp1"); - TSDepart dep = null; - dep = userService.getEntity(TSDepart.class, "150"); - user.setTSDepart(dep); - user.setPassword("shiyp1"); - userService.save(user); - } - - /** - * Test method for {@link org.jeecgframework.core.common.service.impl.CommonServiceImpl#saveOrUpdate(java.lang.Object)}. - */ - @Test - //如果你需要真正插入数据库,将Rollback设为false - //@Rollback(false) - public void testSaveOrUpdate() { - LogUtil.info("-------junit4----------UserServiceImplTest.testSaveOrUpdate----------"); - TSUser user = new TSUser(); - user = userService.getEntity(TSUser.class, "40"); - user.setRealName("管理员1"); - userService.saveOrUpdate(user); - } - - /** - * Test method for {@link org.jeecgframework.core.common.service.impl.CommonServiceImpl#delete(java.lang.Object)}. - */ - @Test - //如果你需要真正插入数据库,将Rollback设为false - //@Rollback(false) - public void testDelete() { - LogUtil.info("-------junit4----------UserServiceImplTest.testDelete----------"); - TSUser user = new TSUser(); - user = userService.getEntity(TSUser.class, "40"); - userService.delete(user); - } - - - - - - /** - * Test method for {@link org.jeecgframework.core.common.service.impl.CommonServiceImpl#getList(java.lang.Class)}. - */ - @Test - public void testGetList() { - LogUtil.info("-------junit4----------UserServiceImplTest.testGetList----------"); - List users = userService.getList(TSUser.class); - System.out.println("list.size():" + users.size()); - } - - /** - * Test method for {@link org.jeecgframework.core.common.service.impl.CommonServiceImpl#getEntity(java.lang.Class, java.io.Serializable)}. - */ - @Test - public void testGetEntity() { - LogUtil.info("-------junit4----------UserServiceImplTest.testGetEntity----------"); - TSUser user = new TSUser(); - user = userService.getEntity(TSUser.class, "40"); - System.out.println("user.username:" + user.getUserName()); - } - - @Test - public void testGetCountForJdbc(){ - String sql = JeecgSqlUtil.getMethodSql(JeecgSqlUtil.getMethodUrl()); - Long count = userService.getCountForJdbc(sql); - System.out.println("count:" + count); - } - -} diff --git a/test/jeecg/system/sql/UserServiceImplTest/testGetCountForJdbc.sql b/test/jeecg/system/sql/UserServiceImplTest/testGetCountForJdbc.sql deleted file mode 100644 index 120049cf..00000000 --- a/test/jeecg/system/sql/UserServiceImplTest/testGetCountForJdbc.sql +++ /dev/null @@ -1 +0,0 @@ -select count(*) from t_s_user \ No newline at end of file diff --git a/test/spring/SpringTxTestCase.java b/test/spring/SpringTxTestCase.java deleted file mode 100644 index e7fe4be8..00000000 --- a/test/spring/SpringTxTestCase.java +++ /dev/null @@ -1,51 +0,0 @@ -package spring; - -import jeecg.system.service.SystemService; - -import org.junit.Before; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.transaction.TransactionConfiguration; -import org.springframework.transaction.annotation.Transactional; - -/* - * @TransactionConfiguration(transactionManager="transactionManager",defaultRollback=true) - * transactionManager的默认取值是"transactionManager", - * defaultRollback的默认取值是true,当然,你也可以改成false。 - * true表示测试不会对数据库造成污染,false的话当然就会改动到数据库中了。 - * 在方法名上添加@Rollback(false)表示这个测试用例不需要回滚。 - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath:spring*.xml" }) -@TransactionConfiguration(defaultRollback = true) -@Transactional -public class SpringTxTestCase extends AbstractJUnit4SpringContextTests { - - - protected SystemService systemService; - - @Autowired - public void setSystemService(final SystemService systemService) { - this.systemService = systemService; - } - - @Before - public void beforeClass() { - systemService.initAllTypeGroups(); - } - public T getBean(Class type) { - return applicationContext.getBean(type); - } - - public Object getBean(String beanName) { - return applicationContext.getBean(beanName); - } - - protected ApplicationContext getContext() { - return applicationContext; - } -}