tchao 3 年之前
當前提交
4107240005
共有 100 個文件被更改,包括 76344 次插入0 次删除
  1. 16 0
      .classpath
  2. 6 0
      .idea/ant.xml
  3. 8 0
      .idea/artifacts/unnamed.xml
  4. 124 0
      .idea/uiDesigner.xml
  5. 46 0
      .project
  6. 12 0
      .settings/.jsdtscope
  7. 10 0
      .settings/org.eclipse.core.resources.prefs
  8. 1 0
      .settings/org.eclipse.wst.jsdt.ui.superType.container
  9. 1 0
      .settings/org.eclipse.wst.jsdt.ui.superType.name
  10. 21 0
      .settings/org.eclipse.wst.validation.prefs
  11. 88 0
      bpmx3_dev.iml
  12. 14495 0
      db/mssql/1_table_create.sql
  13. 255 0
      db/mssql/2_activiti.sql
  14. 170 0
      db/mssql/3_activiti_fix_up.sql
  15. 260 0
      db/mssql/4_quartz.sql
  16. 100 0
      db/mssql/5_index_create.sql
  17. 1075 0
      db/mssql/6_data_init.sql
  18. 128 0
      db/mssql/7.activiti10TO14.sql
  19. 59 0
      db/mssql/8_activiti14TO15.sql
  20. 3571 0
      db/mysql/1_table_create.sql
  21. 249 0
      db/mysql/2_activiti.sql
  22. 161 0
      db/mysql/3_activiti_fix_up.sql
  23. 163 0
      db/mysql/4_quartz.sql
  24. 178 0
      db/mysql/5_index_create.sql
  25. 1132 0
      db/mysql/6_data_init.sql
  26. 136 0
      db/mysql/7.activiti10TO14.sql
  27. 81 0
      db/mysql/8_activiti14TO15.sql
  28. 3783 0
      db/oracle/1_table_create.sql
  29. 245 0
      db/oracle/2_activiti.sql
  30. 172 0
      db/oracle/3_activiti_fix_up.sql
  31. 160 0
      db/oracle/4_quartz.sql
  32. 179 0
      db/oracle/5_index_create.sql
  33. 1160 0
      db/oracle/6_data_init.sql
  34. 133 0
      db/oracle/7.activiti10TO14.sql
  35. 122 0
      db/oracle/8_activiti14TO15.sql
  36. 187 0
      db/oracle/9zap.sql
  37. 39676 0
      db/pdm/BPMX_3.3_oracle_V3.pdm
  38. 13 0
      metadata/codegen/codegen.properties
  39. 274 0
      metadata/codegen/codegen.xsd
  40. 371 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/db/DaoHelper.html.svntmp
  41. 271 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/db/impl/Sql2005MapCmd.html
  42. 42 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/db/impl/package-frame.html
  43. 45 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/db/package-frame.html
  44. 194 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/db/package-summary.html
  45. 603 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Files.File.html
  46. 371 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Files.html
  47. 327 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.GenAll.html
  48. 352 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Table.SubTable.html
  49. 402 0
      metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Table.html
  50. 39 0
      metadata/codegen/doc/javadoc/index.html
  51. 29 0
      metadata/codegen/doc/javadoc/stylesheet.css
  52. 二進制
      metadata/codegen/doc/代码生成器使用方法.doc
  53. 二進制
      metadata/codegen/refLib/codegen.jar
  54. 二進制
      metadata/codegen/refLib/db2jcc-4.jar
  55. 二進制
      metadata/codegen/refLib/dom4j-1.6.1.jar
  56. 二進制
      metadata/codegen/refLib/mysql.jar
  57. 二進制
      metadata/codegen/refLib/ojdbc6.jar
  58. 931 0
      metadata/codegen/template/dbdoc.xml
  59. 82 0
      metadata/codegen/template/detail.ftl
  60. 243 0
      metadata/codegen/template/easyController.ftl
  61. 61 0
      metadata/codegen/template/easyList.jsp
  62. 112 0
      metadata/codegen/template/formController.ftl
  63. 122 0
      metadata/codegen/template/function.ftl
  64. 35 0
      metadata/codegen/template/mobiledetail.ftl
  65. 149 0
      metadata/codegen/template/modify.ftl
  66. 101 0
      metadata/codegen/template/modifyPage.ftl
  67. 61 0
      metadata/codegen/template/myEasyDraftList.jsp
  68. 47 0
      metadata/codegen/template/myEasyEndList.jsp
  69. 83 0
      resources/com/haiya/produce/maper/HyVotePrivilege.map.xml
  70. 120 0
      resources/com/haiya/produce/maper/SysAnswer.map.xml
  71. 36 0
      resources/com/haiya/produce/maper/SysAnswerDetail.map.xml
  72. 139 0
      resources/com/haiya/produce/maper/SysQuestionnaire.map.xml
  73. 11 0
      resources/com/hotent/core/bpm/graph/BPMN20EXT.xsd
  74. 二進制
      resources/com/hotent/core/bpm/graph/image/call_activity.png
  75. 二進制
      resources/com/hotent/core/bpm/graph/image/error_catch.png
  76. 二進制
      resources/com/hotent/core/bpm/graph/image/timer.png
  77. 48 0
      resources/com/hotent/platform/button/button.xml
  78. 76 0
      resources/com/hotent/platform/maper/AgentDef.map.xml
  79. 184 0
      resources/com/hotent/platform/maper/AgentSetting.map.xml
  80. 71 0
      resources/com/hotent/platform/maper/AssetCategory.map.xml
  81. 166 0
      resources/com/hotent/platform/maper/AssetsInformation.map.xml
  82. 88 0
      resources/com/hotent/platform/maper/AssetsMaintenance.map.xml
  83. 242 0
      resources/com/hotent/platform/maper/AtsAttenceCalculate.map.xml
  84. 93 0
      resources/com/hotent/platform/maper/AtsAttenceCycle.map.xml
  85. 98 0
      resources/com/hotent/platform/maper/AtsAttenceCycleDetail.map.xml
  86. 75 0
      resources/com/hotent/platform/maper/AtsBaseItem.map.xml
  87. 75 0
      resources/com/hotent/platform/maper/AtsCalendarTempl.map.xml
  88. 84 0
      resources/com/hotent/platform/maper/AtsCalendarTemplDetail.map.xml
  89. 85 0
      resources/com/hotent/platform/maper/AtsHoliday.map.xml
  90. 91 0
      resources/com/hotent/platform/maper/AtsHolidayType.map.xml
  91. 74 0
      resources/com/hotent/platform/maper/AtsImportPlan.map.xml
  92. 85 0
      resources/com/hotent/platform/maper/AtsOverTime.map.xml
  93. 108 0
      resources/com/hotent/platform/maper/AtsShiftInfo.map.xml
  94. 172 0
      resources/com/hotent/platform/maper/BpmDataTemplate.map.xml
  95. 123 0
      resources/com/hotent/platform/maper/BpmDefAct.map.xml
  96. 88 0
      resources/com/hotent/platform/maper/BpmDefAuthorize.map.xml
  97. 99 0
      resources/com/hotent/platform/maper/BpmDefAuthorizeType.map.xml
  98. 23 0
      resources/com/hotent/platform/maper/BpmFormDataLog.map.xml
  99. 67 0
      resources/com/hotent/platform/maper/BpmFormRule.map.xml
  100. 0 0
      resources/com/hotent/platform/maper/BpmFormRun.map.xml

+ 16 - 0
.classpath

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="resources"/>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0"/>
+	<classpathentry kind="lib" path="web/WEB-INF/lib/iText-2.0.8.jar"/>
+	<classpathentry kind="lib" path="web/WEB-INF/lib/itextpdf-5.5.9.jar"/>
+	<classpathentry kind="lib" path="web/WEB-INF/lib/core-renderer-R8.jar"/>
+	<classpathentry kind="lib" path="web/WEB-INF/lib/itext-asian-5.1.0.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="D:/apache-tomcat-7.0.40/lib/servlet-api.jar"/>
+	<classpathentry kind="lib" path="D:/apache-tomcat-7.0.40/lib/jsp-api.jar"/>
+	<classpathentry kind="output" path="web/WEB-INF/classes"/>
+</classpath>

+ 6 - 0
.idea/ant.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AntConfiguration">
+    <buildFile url="file://$PROJECT_DIR$/metadata/codegen/build.xml" />
+  </component>
+</project>

+ 8 - 0
.idea/artifacts/unnamed.xml

@@ -0,0 +1,8 @@
+<component name="ArtifactManager">
+  <artifact type="exploded-war" name="unnamed">
+    <output-path>$PROJECT_DIR$/classes/artifacts/unnamed</output-path>
+    <root id="root">
+      <element id="module-output" name="bpmx3_dev" />
+    </root>
+  </artifact>
+</component>

+ 124 - 0
.idea/uiDesigner.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>

+ 46 - 0
.project

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>bpmx3_dev</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet.xdocletbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>

+ 12 - 0
.settings/.jsdtscope

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="web"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+		<attributes>
+			<attribute name="hide" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary/StandardBrowser/html5"/>
+	<classpathentry kind="output" path=""/>
+</classpath>

+ 10 - 0
.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+encoding//src/com/haiya/produce/controller/oa/HyBudgetController.java=UTF-8
+encoding//src/com/hotent/platform/service/system=UTF-8
+encoding//src/com/hotent/platform/service/system/IndexService.java=UTF-8
+encoding//src/com/hotent/weixin/service/impl/WeixinFormService.java=UTF-8
+encoding//web/styles/blue/css/web.css=UTF-8
+encoding//web/styles/default/css/web.css=UTF-8
+encoding//web/styles/green/css/web.css=UTF-8
+encoding//web/styles/red/css/web.css=UTF-8
+encoding/<project>=UTF-8

+ 1 - 0
.settings/org.eclipse.wst.jsdt.ui.superType.container

@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary

+ 1 - 0
.settings/org.eclipse.wst.jsdt.ui.superType.name

@@ -0,0 +1 @@
+Window

+ 21 - 0
.settings/org.eclipse.wst.validation.prefs

@@ -0,0 +1,21 @@
+DELEGATES_PREFERENCE=delegateValidatorList
+USER_BUILD_PREFERENCE=enabledBuildValidatorList
+USER_MANUAL_PREFERENCE=enabledManualValidatorList
+USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.700.v201508251749
+eclipse.preferences.version=1
+override=true
+suspend=false
+vals/org.eclipse.jst.jsf.facelet.ui.FaceletHTMLValidator/global=FF01
+vals/org.eclipse.jst.jsf.ui.JSFAppConfigValidator/global=FF01
+vals/org.eclipse.jst.jsp.core.JSPBatchValidator/global=FF01
+vals/org.eclipse.jst.jsp.core.JSPContentValidator/global=FF01
+vals/org.eclipse.jst.jsp.core.TLDValidator/global=FF01
+vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=FF01
+vals/org.eclipse.wst.html.core.HTMLValidator/global=FF01
+vals/org.eclipse.wst.jsdt.core.JsValidator/global=FF01
+vals/org.eclipse.wst.json.core.json/global=FF03
+vals/org.eclipse.wst.wsdl.validation.wsdl/global=FF02158org.eclipse.wst.wsdl.validation.internal.eclipse.Validator
+vals/org.eclipse.wst.xml.core.xml/global=FF03
+vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator
+vals/org.eclipse.wst.xsl.core.xsl/global=FF02
+vf.version=3

+ 88 - 0
bpmx3_dev.iml

@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="EclipseModuleManager">
+    <libelement value="jar://$MODULE_DIR$/web/WEB-INF/lib/iText-2.0.8.jar!/" />
+    <libelement value="jar://$MODULE_DIR$/web/WEB-INF/lib/itextpdf-5.5.9.jar!/" />
+    <libelement value="jar://$MODULE_DIR$/web/WEB-INF/lib/core-renderer-R8.jar!/" />
+    <libelement value="jar://$MODULE_DIR$/web/WEB-INF/lib/itext-asian-5.1.0.jar!/" />
+    <libelement value="file://D:/apache-tomcat-7.0.40/lib/servlet-api.jar" />
+    <libelement value="file://D:/apache-tomcat-7.0.40/lib/jsp-api.jar" />
+    <conelement value="org.eclipse.jst.j2ee.internal.web.container" />
+    <conelement value="org.eclipse.jst.j2ee.internal.module.container" />
+    <conelement value="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0" />
+    <src_description expected_position="0">
+      <src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
+      <src_folder value="file://$MODULE_DIR$/resources" expected_position="1" />
+    </src_description>
+  </component>
+  <component name="FacetManager">
+    <facet type="web" name="Web">
+      <configuration>
+        <descriptors>
+          <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/WebContent/WEB-INF/web.xml" />
+        </descriptors>
+        <webroots>
+          <root url="file://$MODULE_DIR$/WebContent" relative="/" />
+        </webroots>
+      </configuration>
+    </facet>
+    <facet type="web" name="Web2">
+      <configuration>
+        <descriptors>
+          <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
+        </descriptors>
+        <webroots>
+          <root url="file://$MODULE_DIR$/web" relative="/" />
+        </webroots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager">
+    <output url="file://$MODULE_DIR$/web/WEB-INF/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/resources" isTestSource="false" />
+    </content>
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library">
+      <library name="iText-2.0.8.jar">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/web/WEB-INF/lib/iText-2.0.8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="itextpdf-5.5.9.jar">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/web/WEB-INF/lib/itextpdf-5.5.9.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="core-renderer-R8.jar">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/web/WEB-INF/lib/core-renderer-R8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="itext-asian-5.1.0.jar">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/web/WEB-INF/lib/itext-asian-5.1.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="library" name="lib" level="project" />
+    <orderEntry type="library" exported="" name="jsp-api" level="project" />
+  </component>
+</module>

文件差異過大導致無法顯示
+ 14495 - 0
db/mssql/1_table_create.sql


+ 255 - 0
db/mssql/2_activiti.sql

@@ -0,0 +1,255 @@
+create table ACT_GE_PROPERTY (
+    NAME_ nvarchar(64),
+    VALUE_ nvarchar(300),
+    REV_ int,
+    primary key (NAME_)
+);
+
+
+insert into ACT_GE_PROPERTY
+values ('schema.version', '5.15.1', 1);
+
+
+insert into ACT_GE_PROPERTY
+values ('schema.history', 'create(5.10)', 1);
+
+insert into ACT_GE_PROPERTY
+values ('next.dbid', '1', 1);
+
+create table ACT_GE_BYTEARRAY (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    NAME_ nvarchar(255),
+    DEPLOYMENT_ID_ nvarchar(64),
+    BYTES_ image,
+    GENERATED_ tinyint
+);
+
+create table ACT_RE_DEPLOYMENT (
+    ID_ nvarchar(64),
+    NAME_ nvarchar(255),
+    DEPLOY_TIME_ datetime,
+    primary key (ID_)
+);
+
+create table ACT_RU_EXECUTION (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    PROC_INST_ID_ nvarchar(64),
+    BUSINESS_KEY_ nvarchar(255),
+    PARENT_ID_ nvarchar(64),
+    PROC_DEF_ID_ nvarchar(64),
+    SUPER_EXEC_ nvarchar(64),
+    ACT_ID_ nvarchar(255),
+    IS_ACTIVE_ tinyint,
+    IS_CONCURRENT_ tinyint,
+    IS_SCOPE_ tinyint,
+    IS_EVENT_SCOPE_ tinyint,
+    SUSPENSION_STATE_ int,
+    CACHED_ENT_STATE_ int
+);
+
+create table ACT_RU_JOB (
+    ID_ nvarchar(64) NOT NULL,
+	REV_ int,
+    TYPE_ nvarchar(255) NOT NULL,
+    LOCK_EXP_TIME_ datetime,
+    LOCK_OWNER_ nvarchar(255),
+    EXCLUSIVE_ tinyint,
+    EXECUTION_ID_ nvarchar(64),
+    PROCESS_INSTANCE_ID_ nvarchar(64),
+    RETRIES_ int,
+    EXCEPTION_STACK_ID_ nvarchar(64),
+    EXCEPTION_MSG_ nvarchar(2000),
+    DUEDATE_ datetime,
+    REPEAT_ nvarchar(255),
+    HANDLER_TYPE_ nvarchar(255),
+    HANDLER_CFG_ nvarchar(2000),
+    primary key (ID_)
+);
+
+create table ACT_RE_PROCDEF (
+    ID_ nvarchar(64),
+    REV_ int,
+    CATEGORY_ nvarchar(255),
+    NAME_ nvarchar(255),
+    KEY_ nvarchar(255),
+    VERSION_ int,
+    DEPLOYMENT_ID_ nvarchar(64),
+    RESOURCE_NAME_ nvarchar(2000),
+    DGRM_RESOURCE_NAME_ varchar(4000),
+    HAS_START_FORM_KEY_ tinyint,
+    SUSPENSION_STATE_ int,
+    primary key (ID_)
+);
+
+create table ACT_RU_TASK (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    EXECUTION_ID_ nvarchar(64),
+    PROC_INST_ID_ nvarchar(64),
+    PROC_DEF_ID_ nvarchar(64),
+    NAME_ nvarchar(255),
+    PARENT_TASK_ID_ nvarchar(64),
+    DESCRIPTION_ nvarchar(2000),
+    TASK_DEF_KEY_ nvarchar(255),
+    OWNER_ nvarchar(64),
+    ASSIGNEE_ nvarchar(64),
+    DELEGATION_ nvarchar(64),
+    PRIORITY_ int,
+    CREATE_TIME_ datetime,
+    DUE_DATE_ datetime,
+    SUSPENSION_STATE_ int
+);
+
+create table ACT_RU_IDENTITYLINK (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    GROUP_ID_ nvarchar(64),
+    TYPE_ nvarchar(255),
+    USER_ID_ nvarchar(64),
+    TASK_ID_ nvarchar(64),
+    PROC_DEF_ID_ nvarchar(64)
+);
+
+create table ACT_RU_VARIABLE (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    TYPE_ nvarchar(255) not null,
+    NAME_ nvarchar(255) not null,
+    EXECUTION_ID_ nvarchar(64),
+    PROC_INST_ID_ nvarchar(64),
+    TASK_ID_ nvarchar(64),
+    BYTEARRAY_ID_ nvarchar(64),
+    DOUBLE_ numeric(19,10),
+    LONG_ numeric(19,0),
+    TEXT_ nvarchar(2000),
+    TEXT2_ nvarchar(2000)
+);
+
+create table ACT_RU_EVENT_SUBSCR (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    EVENT_TYPE_ nvarchar(255) not null,
+    EVENT_NAME_ nvarchar(255),
+    EXECUTION_ID_ nvarchar(64),
+    PROC_INST_ID_ nvarchar(64),
+    ACTIVITY_ID_ nvarchar(64),
+    CONFIGURATION_ nvarchar(255),
+    CREATED_ datetime not null,
+    primary key (ID_)
+);
+ 
+--create.history.sql
+create table ACT_HI_PROCINST (
+    ID_ nvarchar(64) not null,
+    PROC_INST_ID_ nvarchar(64) not null,
+    BUSINESS_KEY_ nvarchar(255),
+    PROC_DEF_ID_ nvarchar(64) not null,
+    START_TIME_ datetime not null,
+    END_TIME_ datetime,
+    DURATION_ numeric(19,0),
+    START_USER_ID_ nvarchar(255),
+    START_ACT_ID_ nvarchar(255),
+    END_ACT_ID_ nvarchar(255),
+    SUPER_PROCESS_INSTANCE_ID_ nvarchar(64),
+    DELETE_REASON_ nvarchar(2000),
+    ISSTART smallint
+);
+
+create table ACT_HI_ACTINST (
+    ID_ nvarchar(64) not null,
+    PROC_DEF_ID_ nvarchar(64) not null,
+    PROC_INST_ID_ nvarchar(64) not null,
+    EXECUTION_ID_ nvarchar(64) not null,
+    ACT_ID_ nvarchar(255) not null,
+    ACT_NAME_ nvarchar(255),
+    ACT_TYPE_ nvarchar(255) not null,
+    ASSIGNEE_ nvarchar(64),
+    START_TIME_ datetime not null,
+    END_TIME_ datetime,
+    ISSTART smallint default 0,
+    DURATION_ numeric(19,0),
+    FROMMOBILE	numeric(1,0)
+);
+
+create table ACT_HI_TASKINST (
+    ID_ nvarchar(64) not null,
+    PROC_DEF_ID_ nvarchar(64),
+    TASK_DEF_KEY_ nvarchar(255),
+    PROC_INST_ID_ nvarchar(64),
+    EXECUTION_ID_ nvarchar(64),
+    PARENT_TASK_ID_ nvarchar(64),
+    NAME_ nvarchar(255),
+    DESCRIPTION_ nvarchar(2000),
+    OWNER_ nvarchar(64),
+    ASSIGNEE_ nvarchar(64),
+    START_TIME_ datetime not null,
+    END_TIME_ datetime,
+    DURATION_ numeric(19,0),
+    DELETE_REASON_ nvarchar(2000),
+    PRIORITY_ int,
+    DUE_DATE_ datetime
+);
+
+create table ACT_HI_DETAIL (
+    ID_ nvarchar(64) not null,
+    TYPE_ nvarchar(255) not null,
+    PROC_INST_ID_ nvarchar(64) not null,
+    EXECUTION_ID_ nvarchar(64) not null,
+    TASK_ID_ nvarchar(64),
+    ACT_INST_ID_ nvarchar(64),
+    NAME_ nvarchar(255) not null,
+    VAR_TYPE_ nvarchar(64),
+    REV_ int,
+    TIME_ datetime not null,
+    BYTEARRAY_ID_ nvarchar(64),
+    DOUBLE_ bigint,
+    LONG_ numeric(19,0),
+    TEXT_ nvarchar(2000),
+    TEXT2_ nvarchar(2000),
+    primary key (ID_)
+);
+
+create table ACT_HI_COMMENT (
+    ID_ nvarchar(64) not null,
+    TYPE_ NVARCHAR(255),
+    TIME_ datetime not null,
+    USER_ID_ nvarchar(255),
+    TASK_ID_ nvarchar(64),
+    PROC_INST_ID_ nvarchar(64),
+    ACTION_ nvarchar(255),
+    MESSAGE_ nvarchar(2000),
+    FULL_MSG_ image,
+    primary key (ID_)
+);
+
+create table ACT_HI_ATTACHMENT (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    USER_ID_ nvarchar(255),
+    NAME_ nvarchar(255),
+    DESCRIPTION_ nvarchar(2000),
+    TYPE_ nvarchar(255),
+    TASK_ID_ nvarchar(64),
+    PROC_INST_ID_ nvarchar(64),
+    URL_ nvarchar(2000),
+    CONTENT_ID_ nvarchar(64),
+    primary key (ID_)
+);
+
+IF ((SELECT COUNT(*) from fn_listextendedproperty('MS_Description', 
+'SCHEMA', N'dbo', 
+'TABLE', N'ACT_HI_ACTINST', 
+'COLUMN', N'ISSTART')) > 0) 
+EXEC sp_updateextendedproperty @name = N'MS_Description', @value = N'是否发起节点'
+, @level0type = 'SCHEMA', @level0name = N'dbo'
+, @level1type = 'TABLE', @level1name = N'ACT_HI_ACTINST'
+, @level2type = 'COLUMN', @level2name = N'ISSTART'
+ELSE
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'是否发起节点'
+, @level0type = 'SCHEMA', @level0name = N'dbo'
+, @level1type = 'TABLE', @level1name = N'ACT_HI_ACTINST'
+, @level2type = 'COLUMN', @level2name = N'ISSTART'
+
+go

+ 170 - 0
db/mssql/3_activiti_fix_up.sql

@@ -0,0 +1,170 @@
+--ACT_GE_BYTEARRAY
+ALTER TABLE ACT_GE_BYTEARRAY alter column ID_ numeric(18) not null ;
+alter table ACT_GE_BYTEARRAY add constraint PK_ACT_GE_BYTEARRAY primary key (ID_);
+
+--流程任务 
+ALTER TABLE ACT_RU_TASK alter column ID_ numeric(18) not null;
+alter table ACT_RU_TASK add constraint PK_ACT_RU_TASK primary key (ID_);
+ALTER TABLE ACT_RU_TASK alter column EXECUTION_ID_ numeric(18);
+ALTER TABLE ACT_RU_TASK alter column PROC_INST_ID_ numeric(18);
+ALTER TABLE ACT_RU_TASK alter column PARENT_TASK_ID_ numeric(18);
+ALTER TABLE ACT_RU_TASK alter column OWNER_ numeric(18);
+ALTER TABLE ACT_RU_TASK alter column ASSIGNEE_ numeric(18);
+
+--流程变量表
+ALTER TABLE ACT_RU_VARIABLE alter column ID_ numeric(18) not null;
+alter table ACT_RU_VARIABLE add constraint PK_ACT_RU_VARIABLE primary key (ID_);
+ALTER TABLE ACT_RU_VARIABLE alter column EXECUTION_ID_ numeric(18);
+ALTER TABLE ACT_RU_VARIABLE alter column PROC_INST_ID_ numeric(18);
+ALTER TABLE ACT_RU_VARIABLE alter column TASK_ID_ numeric(18);
+ALTER TABLE ACT_RU_VARIABLE alter column BYTEARRAY_ID_ numeric(18);
+
+--流程任务候选人
+ALTER TABLE ACT_RU_IDENTITYLINK alter column ID_ numeric(18) not null;
+alter table ACT_RU_IDENTITYLINK add constraint PK_ACT_RU_IDENTITYLINK primary key (ID_);
+ALTER TABLE ACT_RU_IDENTITYLINK alter column GROUP_ID_ numeric(18);
+ALTER TABLE ACT_RU_IDENTITYLINK alter column USER_ID_ numeric(18);
+ALTER TABLE ACT_RU_IDENTITYLINK alter column TASK_ID_ numeric(18);
+--excution
+ALTER TABLE ACT_RU_EXECUTION alter column ID_ numeric(18) not null;
+alter table ACT_RU_EXECUTION add constraint PK_ACT_RU_EXECUTION primary key (ID_);
+ALTER TABLE ACT_RU_EXECUTION alter column PROC_INST_ID_ numeric(18);
+ALTER TABLE ACT_RU_EXECUTION alter column PARENT_ID_ numeric(18);
+ALTER TABLE ACT_RU_EXECUTION alter column SUPER_EXEC_ numeric(18);
+ALTER TABLE ACT_RU_EVENT_SUBSCR alter column EXECUTION_ID_ numeric(18);
+ALTER TABLE ACT_RU_JOB alter column EXCEPTION_STACK_ID_ numeric(18);
+--ACT_RE_DEPLOYMENT
+--ALTER TABLE ACT_RE_DEPLOYMENT alter column ID_ numeric(18);
+--流程定义
+ALTER TABLE ACT_RE_PROCDEF alter column DEPLOYMENT_ID_ numeric(18);
+--历史任务实例
+ALTER TABLE ACT_HI_TASKINST alter column ID_ numeric(18) not null;
+alter table ACT_HI_TASKINST add constraint PK_ACT_HI_TASKINST primary key (ID_);
+ALTER TABLE ACT_HI_TASKINST alter column EXECUTION_ID_ numeric(18);
+ALTER TABLE ACT_HI_TASKINST alter column PROC_INST_ID_ numeric(18);
+ALTER TABLE ACT_HI_TASKINST alter column PARENT_TASK_ID_ numeric(18);
+ALTER TABLE ACT_HI_TASKINST alter column OWNER_ numeric(18);
+ALTER TABLE ACT_HI_TASKINST alter column ASSIGNEE_ numeric(18);
+
+--历史流程实例 ACT_HI_PROCINST
+ALTER TABLE ACT_HI_PROCINST alter column ID_ numeric(18) not null;
+alter table ACT_HI_PROCINST add constraint PK_ACT_HI_PROCINST primary key (ID_);
+ALTER TABLE ACT_HI_PROCINST alter column PROC_INST_ID_ numeric(18) not null;
+alter table ACT_HI_PROCINST add constraint UQ_ACT_HI_PROCINST unique (PROC_INST_ID_);
+ALTER TABLE ACT_HI_PROCINST alter column START_USER_ID_ numeric(18);
+ALTER TABLE ACT_HI_PROCINST alter column SUPER_PROCESS_INSTANCE_ID_ numeric(18);
+--历史活动节点实例
+ALTER TABLE ACT_HI_ACTINST alter column ID_ numeric(18) not null;
+alter table ACT_HI_ACTINST add constraint PK_ACT_HI_ACTINST primary key (ID_);
+ALTER TABLE ACT_HI_ACTINST alter column PROC_INST_ID_ numeric(18);
+ALTER TABLE ACT_HI_ACTINST alter column ASSIGNEE_ numeric(18);
+ALTER TABLE ACT_HI_ACTINST alter column EXECUTION_ID_ numeric(18);
+
+
+
+create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
+create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
+create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
+create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
+create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
+
+create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
+alter table ACT_GE_BYTEARRAY
+    add constraint ACT_FK_BYTEARR_DEPL
+    foreign key (DEPLOYMENT_ID_) 
+    references ACT_RE_DEPLOYMENT (ID_);
+
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_,VERSION_);
+    
+create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCINST
+    foreign key (PROC_INST_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PARENT
+    foreign key (PARENT_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_SUPER
+    foreign key (SUPER_EXEC_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_TSKASS_TASK
+    foreign key (TASK_ID_) 
+    references ACT_RU_TASK (ID_);
+
+create index ACT_IDX_ATHRZ_PROCEDEF  on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_ATHRZ_PROCEDEF
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);
+
+create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
+alter table ACT_RU_TASK
+    add constraint ACT_FK_TASK_EXE
+    foreign key (EXECUTION_ID_)
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
+alter table ACT_RU_TASK
+    add constraint ACT_FK_TASK_PROCINST
+    foreign key (PROC_INST_ID_)
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
+alter table ACT_RU_TASK
+  add constraint ACT_FK_TASK_PROCDEF
+  foreign key (PROC_DEF_ID_)
+  references ACT_RE_PROCDEF (ID_);
+  
+create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
+alter table ACT_RU_VARIABLE 
+    add constraint ACT_FK_VAR_EXE
+    foreign key (EXECUTION_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
+alter table ACT_RU_VARIABLE
+    add constraint ACT_FK_VAR_PROCINST
+    foreign key (PROC_INST_ID_)
+    references ACT_RU_EXECUTION(ID_);
+
+create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
+alter table ACT_RU_VARIABLE 
+    add constraint ACT_FK_VAR_BYTEARRAY 
+    foreign key (BYTEARRAY_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+
+create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
+alter table ACT_RU_JOB 
+    add constraint ACT_FK_JOB_EXCEPTION
+    foreign key (EXCEPTION_STACK_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+    
+create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
+alter table ACT_RU_EVENT_SUBSCR
+    add constraint ACT_FK_EVENT_EXEC
+    foreign key (EXECUTION_ID_)
+    references ACT_RU_EXECUTION(ID_);
+
+create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
+create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
+create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
+create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
+create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
+create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
+create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
+create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
+create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
+
+go

+ 260 - 0
db/mssql/4_quartz.sql

@@ -0,0 +1,260 @@
+CREATE TABLE [dbo].[QRTZ_CALENDARS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [CALENDAR_NAME] [VARCHAR] (200)  NOT NULL ,
+  [CALENDAR] [IMAGE] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [TRIGGER_NAME] [VARCHAR] (200)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [CRON_EXPRESSION] [VARCHAR] (120)  NOT NULL ,
+  [TIME_ZONE_ID] [VARCHAR] (80) 
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [ENTRY_ID] [VARCHAR] (95)  NOT NULL ,
+  [TRIGGER_NAME] [VARCHAR] (200)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [INSTANCE_NAME] [VARCHAR] (200)  NOT NULL ,
+  [FIRED_TIME] [BIGINT] NOT NULL ,
+  [SCHED_TIME] [BIGINT] NOT NULL ,
+  [PRIORITY] [INTEGER] NOT NULL ,
+  [STATE] [VARCHAR] (16)  NOT NULL,
+  [JOB_NAME] [VARCHAR] (200)  NULL ,
+  [JOB_GROUP] [VARCHAR] (200)  NULL ,
+  [IS_NONCONCURRENT] [VARCHAR] (1)  NULL ,
+  [REQUESTS_RECOVERY] [VARCHAR] (1)  NULL 
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL 
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [INSTANCE_NAME] [VARCHAR] (200)  NOT NULL ,
+  [LAST_CHECKIN_TIME] [BIGINT] NOT NULL ,
+  [CHECKIN_INTERVAL] [BIGINT] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_LOCKS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [LOCK_NAME] [VARCHAR] (40)  NOT NULL 
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_JOB_DETAILS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [JOB_NAME] [VARCHAR] (200)  NOT NULL ,
+  [JOB_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [DESCRIPTION] [VARCHAR] (250) NULL ,
+  [JOB_CLASS_NAME] [VARCHAR] (250)  NOT NULL ,
+  [IS_DURABLE] [VARCHAR] (1)  NOT NULL ,
+  [IS_NONCONCURRENT] [VARCHAR] (1)  NOT NULL ,
+  [IS_UPDATE_DATA] [VARCHAR] (1)  NOT NULL ,
+  [REQUESTS_RECOVERY] [VARCHAR] (1)  NOT NULL ,
+  [JOB_DATA] [IMAGE] NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [TRIGGER_NAME] [VARCHAR] (200)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [REPEAT_COUNT] [BIGINT] NOT NULL ,
+  [REPEAT_INTERVAL] [BIGINT] NOT NULL ,
+  [TIMES_TRIGGERED] [BIGINT] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [TRIGGER_NAME] [VARCHAR] (200)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [STR_PROP_1] [VARCHAR] (512) NULL,
+  [STR_PROP_2] [VARCHAR] (512) NULL,
+  [STR_PROP_3] [VARCHAR] (512) NULL,
+  [INT_PROP_1] [INT] NULL,
+  [INT_PROP_2] [INT] NULL,
+  [LONG_PROP_1] [BIGINT] NULL,
+  [LONG_PROP_2] [BIGINT] NULL,
+  [DEC_PROP_1] [NUMERIC] (13,4) NULL,
+  [DEC_PROP_2] [NUMERIC] (13,4) NULL,
+  [BOOL_PROP_1] [VARCHAR] (1) NULL,
+  [BOOL_PROP_2] [VARCHAR] (1) NULL,
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [TRIGGER_NAME] [VARCHAR] (200)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [BLOB_DATA] [IMAGE] NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_TRIGGERS] (
+  [SCHED_NAME] [VARCHAR] (120)  NOT NULL ,
+  [TRIGGER_NAME] [VARCHAR] (200)  NOT NULL ,
+  [TRIGGER_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [JOB_NAME] [VARCHAR] (200)  NOT NULL ,
+  [JOB_GROUP] [VARCHAR] (200)  NOT NULL ,
+  [DESCRIPTION] [VARCHAR] (250) NULL ,
+  [NEXT_FIRE_TIME] [BIGINT] NULL ,
+  [PREV_FIRE_TIME] [BIGINT] NULL ,
+  [PRIORITY] [INTEGER] NULL ,
+  [TRIGGER_STATE] [VARCHAR] (16)  NOT NULL ,
+  [TRIGGER_TYPE] [VARCHAR] (8)  NOT NULL ,
+  [START_TIME] [BIGINT] NOT NULL ,
+  [END_TIME] [BIGINT] NULL ,
+  [CALENDAR_NAME] [VARCHAR] (200)  NULL ,
+  [MISFIRE_INSTR] [SMALLINT] NULL ,
+  [JOB_DATA] [IMAGE] NULL
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [CALENDAR_NAME]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [ENTRY_ID]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [TRIGGER_GROUP]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [INSTANCE_NAME]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [LOCK_NAME]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [JOB_NAME],
+    [JOB_GROUP]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD
+  CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY  CLUSTERED
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  )  ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD
+  CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  ) ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD
+  CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  ) ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD
+  CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
+  (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
+    [SCHED_NAME],
+    [TRIGGER_NAME],
+    [TRIGGER_GROUP]
+  ) ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD
+  CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY
+  (
+    [SCHED_NAME],
+    [JOB_NAME],
+    [JOB_GROUP]
+  ) REFERENCES [dbo].[QRTZ_JOB_DETAILS] (
+    [SCHED_NAME],
+    [JOB_NAME],
+    [JOB_GROUP]
+  )
+GO
+

+ 100 - 0
db/mssql/5_index_create.sql

@@ -0,0 +1,100 @@
+--流程状态
+CREATE INDEX IDX_BPMPROSTATUS_ACTINSTID ON BPM_PRO_STATUS (ACTINSTID);
+CREATE INDEX IDX_BPMPROSTATUS_INSTNODEID ON BPM_PRO_STATUS (ACTINSTID,NODEID);
+--流程意见
+CREATE INDEX IDX_TASKOPTION_INSTANCE_USER ON BPM_TASK_OPINION (actInstId,EXEUSERID);
+CREATE INDEX IDX_TASKOPTION_INSTANCE_TASK ON BPM_TASK_OPINION (actInstId,taskKey);
+--流程堆栈
+CREATE INDEX IDX_BPMSTACKINST_depth ON BPM_EXE_STACK (actInstId,depth);
+CREATE INDEX IDX_BPMSTACK_PARENTID ON BPM_EXE_STACK (parentId);
+--表单运行时
+CREATE INDEX IDX_BPMFORMRUN_INSTANCEID ON BPM_FORM_RUN (ACTINSTANCEID);
+CREATE INDEX IDX_BPMFORMRUN_INSTANCENODEID ON BPM_FORM_RUN (ACTINSTANCEID,ACTNODEID);
+--会签数据
+CREATE INDEX IDX_BPMTKSIGNDATA_ACTDEFNODEID ON BPM_TKSIGN_DATA  (ACTINSTID,NODEID);
+CREATE INDEX IDX_BPMTKSIGNDATA_TASKID ON BPM_TKSIGN_DATA  (TASKID);
+--催办任务状态
+CREATE INDEX IDX_REMINDERSTATE_TASKUSERID ON BPM_TASK_REMINDERSTATE (TASKID,USERID);
+CREATE INDEX IDX_REMINDERSTATE_TASKID ON BPM_TASK_REMINDERSTATE (TASKID);
+--流程实例扩展
+CREATE INDEX IDX_PRORUN_INSTANCEID ON BPM_PRO_RUN (ACTINSTID);
+CREATE INDEX IDX_PROCESSRUN_CREATORID ON BPM_PRO_RUN (CREATORID);
+--流程实例扩展历史
+CREATE INDEX IDX_PRORUN_HIS_INSTANCEID ON BPM_PRO_RUN_HIS (ACTINSTID);
+CREATE INDEX IDX_PROCESSRUN_HIS_CREATORID ON BPM_PRO_RUN_HIS (CREATORID);
+--流程运行日志
+CREATE INDEX IDX_RUNLOG_USERID ON BPM_RUN_LOG (USERID);
+CREATE INDEX IDX_RUNLOG_RUNID ON BPM_RUN_LOG (RUNID);
+--任务交办 BPM_TASK_ASSIGNEE已删除
+--CREATE INDEX IDX_TASKASSIGNEE_USERID ON BPM_TASK_ASSIGNEE (USER_ID);
+--CREATE INDEX IDX_TASKASSIGNEE_ASSIGNEE ON BPM_TASK_ASSIGNEE (ASSIGNEE_ID);
+--邮件设定
+CREATE INDEX IDX_MAILUSERSETTING ON OUT_MAIL_USER_SETING (USERID);
+--邮件联系人
+CREATE INDEX IDX_MAILLINKMAN ON OUT_MAIL_LINKMAN (USERID);
+--邮件
+CREATE INDEX IDX_OUTMAIL_USERID ON OUT_MAIL (USERID);
+--发送消息(已存在)
+--CREATE INDEX IDX_MSGSEND_USERID ON SYS_MSG_SEND (USERID);
+--消息接收人
+CREATE INDEX IDX_MSGRECEIVER_MESSAGEID ON SYS_MSG_RECEIVER (MESSAGEID);
+CREATE INDEX IDX_MSGRECEIVER_RECEIVERID ON SYS_MSG_RECEIVER (RECEIVERID);
+--消息读取
+CREATE INDEX IDX_MSGREAD_RECEIVERID ON SYS_MSG_READ (RECEIVERID);
+CREATE INDEX IDX_MSGREAD_MESSAGEID ON SYS_MSG_READ (MESSAGEID);
+--消息回复
+CREATE INDEX IDX_MSG_REPLY_MESSAGEID ON SYS_MSG_REPLY (MESSAGEID);
+CREATE INDEX IDX_MSG_REPLY_REPLYID ON SYS_MSG_REPLY (REPLYID);
+
+--角色和资源的映射
+CREATE INDEX IDX_ROLERES_RESID ON SYS_ROLE_RES (RESID);
+CREATE INDEX IDX_ROLERES_ROLEID ON SYS_ROLE_RES (ROLEID);
+--资源
+CREATE INDEX IDX_SYSRES_SYSTEMID ON SYS_RES  (SYSTEMID);
+CREATE INDEX IDX_SYSRES_PARENTID ON SYS_RES  (PARENTID);
+CREATE INDEX IDX_RESURL_RESID ON SYS_RESURL  (RESID);
+--流程代理 SYS_USER_AGENT已删除
+--CREATE INDEX IDX_USERAGENT_AGENTUSERID ON SYS_USER_AGENT  (AGENTUSERID);
+--CREATE INDEX IDX_USERAGENT_TOUSERID ON SYS_USER_AGENT  (TOUSERID);
+--用户参数
+CREATE INDEX IDX_USERPARAM_USERID ON SYS_USER_PARAM  (USERID);
+CREATE INDEX IDX_USERPARAM_PARAMID ON SYS_USER_PARAM  (PARAMID);
+--下属
+CREATE INDEX IDX_USERUNDER_USERID ON SYS_USER_UNDER  (USERID);
+CREATE INDEX IDX_USERUNDER_UNDERUSERID ON SYS_USER_UNDER  (UNDERUSERID);
+--组织和角色的映射
+CREATE INDEX IDX_ORGROLE_ORGID ON SYS_ORG_ROLE  (ORGID);
+CREATE INDEX IDX_ORGROLE_ROLE ON SYS_ORG_ROLE  (ROLEID);
+--表单字段
+CREATE INDEX IDX_FORMFIELD_TABLEID ON BPM_FORM_FIELD  (TABLEID);
+--组织可授权角色
+CREATE INDEX IDX_ORGROLEMANAGE_ORGID ON SYS_ORG_ROLEMANAGE  (ORGID);
+CREATE INDEX IDX_ORGROLEMANAGE_ROLEID ON SYS_ORG_ROLEMANAGE  (ROLEID);
+--表单权限
+CREATE INDEX IDX_FORMRIGHTS_FORMDEFID ON BPM_FORM_RIGHTS  (FORMKEY);
+
+CREATE UNIQUE INDEX IDX_SYS_POS_CODE ON SYS_POS(POSCODE);
+
+CREATE UNIQUE INDEX IDX_SYS_JOB_CODE ON SYS_JOB(JOBCODE);
+
+CREATE UNIQUE INDEX IDX_SYS_PARAM_KEY ON SYS_PARAM(PARAMKEY);
+
+CREATE INDEX  NODEID_FLOWKEY_INDEX ON  BPM_NEWFLOW_TRIGGER (FLOWKEY, NODEID);
+
+go
+
+CREATE INDEX IDX_VIEW_ALIAS ON SYS_QUERY_VIEW (  SQL_ALIAS ASC,    ALIAS ASC);
+CREATE INDEX IDX_METAFIELD_SQLID ON SYS_QUERY_METAFIELD (   SQL_ID ASC);
+CREATE INDEX IDX_FIELDSETTING_VIEWID ON SYS_QUERY_FIELDSETTING (   VIEW_ID ASC);
+
+CREATE INDEX ID_HISTORYDATA_OBJID ON SYS_HISTORY_DATA (OBJ_ID ASC);
+
+CREATE INDEX GROUPID_INDEX ON SYS_READ_RECORD (GROUPID ASC);
+CREATE INDEX OBJECTID_INDEX ON SYS_READ_RECORD (OBJECTID ASC);
+CREATE UNIQUE INDEX  OBJECTID_USER_INDEX ON SYS_READ_RECORD (OBJECTID ASC, USERID ASC);
+
+CREATE UNIQUE INDEX  WEIXINID_UNIQUE_INDEX ON SYS_USER (WEIXINID ASC);
+CREATE INDEX MOBILEFORM_KEY ON BPM_MOBILE_FORM_DEF (
+FORM_KEY ASC);
+
+go

文件差異過大導致無法顯示
+ 1075 - 0
db/mssql/6_data_init.sql


+ 128 - 0
db/mssql/7.activiti10TO14.sql

@@ -0,0 +1,128 @@
+alter table ACT_RE_PROCDEF drop constraint ACT_UNIQ_PROCDEF;
+
+alter table ACT_RE_PROCDEF alter column KEY_ nvarchar(255) not null;
+
+alter table ACT_RE_PROCDEF alter column VERSION_ int not null;
+
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_,VERSION_);
+
+alter table ACT_RE_DEPLOYMENT add CATEGORY_ nvarchar(255);
+    
+alter table ACT_RE_PROCDEF
+    add DESCRIPTION_ nvarchar(4000);
+    
+update ACT_RU_TASK set SUSPENSION_STATE_ = 1; 
+
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCDEF 
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);
+
+create table ACT_RE_MODEL (
+    ID_ nvarchar(64) not null,
+    REV_ int,
+    NAME_ nvarchar(255),
+    KEY_ nvarchar(255),
+    CATEGORY_ nvarchar(255),
+    CREATE_TIME_ datetime,
+    LAST_UPDATE_TIME_ datetime,
+    VERSION_ int,
+    META_INFO_ nvarchar(4000),
+    DEPLOYMENT_ID_ nvarchar(64),
+    EDITOR_SOURCE_VALUE_ID_ NUMERIC(18,0),
+    EDITOR_SOURCE_EXTRA_VALUE_ID_ NUMERIC(18,0),
+    primary key (ID_)
+);
+
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_SOURCE 
+    foreign key (EDITOR_SOURCE_VALUE_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_SOURCE_EXTRA 
+    foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+    
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_DEPLOYMENT 
+    foreign key (DEPLOYMENT_ID_) 
+    references ACT_RE_DEPLOYMENT (ID_);   
+
+delete from ACT_GE_PROPERTY where NAME_ = 'historyLevel';
+
+alter table ACT_RU_JOB
+    add PROC_DEF_ID_ nvarchar(64);
+
+update ACT_GE_PROPERTY set VALUE_ = '5.14' where NAME_ = 'schema.version';
+
+--历史表
+--10 to 11
+create table ACT_HI_VARINST (
+    ID_ nvarchar(64) not null,
+    PROC_INST_ID_ nvarchar(64),
+    EXECUTION_ID_ nvarchar(64),
+    TASK_ID_ nvarchar(64),
+    NAME_ nvarchar(255) not null,
+    VAR_TYPE_ nvarchar(100),
+    REV_ int,
+    BYTEARRAY_ID_ nvarchar(64),
+    DOUBLE_ double precision,
+    LONG_ numeric(19,0),
+    TEXT_ nvarchar(4000),
+    TEXT2_ nvarchar(4000),
+    primary key (ID_)
+);
+
+create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
+create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
+  
+alter table ACT_HI_ACTINST
+	add TASK_ID_ nvarchar(64);
+
+alter table ACT_HI_ACTINST
+	add CALL_PROC_INST_ID_ nvarchar(64);	
+
+alter table ACT_HI_DETAIL
+	alter column PROC_INST_ID_ nvarchar(64) null;
+
+alter table ACT_HI_DETAIL
+	alter column EXECUTION_ID_ nvarchar(64) null;
+	
+create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
+
+--11 to 12
+alter table ACT_HI_TASKINST
+  add CLAIM_TIME_ datetime;
+
+alter table ACT_HI_TASKINST
+  add FORM_KEY_ nvarchar(255);
+  
+alter table ACT_RU_IDENTITYLINK
+  add PROC_INST_ID_ NUMERIC(18,0);
+  
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_IDL_PROCINST
+    foreign key (PROC_INST_ID_) 
+    references ACT_RU_EXECUTION (ID_);     
+  
+create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);  
+
+
+
+--12 to 13
+create table ACT_HI_IDENTITYLINK (
+    ID_ NUMERIC(18,0),
+    GROUP_ID_ NUMERIC(18,0),
+    TYPE_ nvarchar(255),
+    USER_ID_ NUMERIC(18,0),
+    TASK_ID_ NUMERIC(18,0),
+    PROC_INST_ID_ NUMERIC(18,0),
+    primary key (ID_)
+);
+
+create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
+create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

+ 59 - 0
db/mssql/8_activiti14TO15.sql

@@ -0,0 +1,59 @@
+-- 14To15 engine
+alter table ACT_RU_TASK 
+    add CATEGORY_ nvarchar(255); 
+
+alter table ACT_RE_DEPLOYMENT 
+    add TENANT_ID_ nvarchar(255) default '';  
+    
+alter table ACT_RE_PROCDEF 
+    add TENANT_ID_ nvarchar(255) default ''; 
+    
+alter table ACT_RU_EXECUTION 
+    add TENANT_ID_ nvarchar(255) default '';
+    
+alter table ACT_RU_TASK 
+    add TENANT_ID_ nvarchar(255) default '';      
+    
+alter table ACT_RU_JOB
+    add TENANT_ID_ nvarchar(255) default ''; 
+    
+alter table ACT_RE_MODEL
+    add TENANT_ID_ nvarchar(255) default ''; 
+    
+alter table ACT_RU_EVENT_SUBSCR
+    add TENANT_ID_ nvarchar(255) default ''; 
+    
+alter table ACT_RU_EVENT_SUBSCR
+   add PROC_DEF_ID_ nvarchar(64);            
+    
+alter table ACT_RE_PROCDEF
+    drop constraint ACT_UNIQ_PROCDEF;
+    
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_);  
+    
+-- 14To15 history
+alter table ACT_HI_TASKINST
+    add CATEGORY_ nvarchar(255); 
+
+alter table ACT_HI_VARINST
+    add CREATE_TIME_ datetime; 
+    
+alter table ACT_HI_VARINST
+    add LAST_UPDATED_TIME_ datetime; 
+    
+alter table ACT_HI_PROCINST
+    add TENANT_ID_ nvarchar(255) default ''; 
+       
+alter table ACT_HI_ACTINST
+    add TENANT_ID_ nvarchar(255) default ''; 
+    
+alter table ACT_HI_TASKINST
+    add TENANT_ID_ nvarchar(255) default '';       
+    
+alter table ACT_HI_ACTINST
+    alter column ASSIGNEE_ nvarchar(255);
+
+-- 15To15.1 engine
+update ACT_GE_PROPERTY set VALUE_ = '5.15.1' where NAME_ = 'schema.version';

文件差異過大導致無法顯示
+ 3571 - 0
db/mysql/1_table_create.sql


+ 249 - 0
db/mysql/2_activiti.sql

@@ -0,0 +1,249 @@
+create table ACT_GE_PROPERTY (
+    NAME_ varchar(64),
+    VALUE_ varchar(300),
+    REV_ int(11),
+    primary key (NAME_)
+);
+ 
+insert into ACT_GE_PROPERTY
+values ('schema.version', '5.15.1', 1);
+
+insert into ACT_GE_PROPERTY
+values ('schema.history', 'create(5.10)', 1);
+
+insert into ACT_GE_PROPERTY
+values ('next.dbid', '1', 1);
+
+create table ACT_GE_BYTEARRAY (
+    ID_ varchar(64),
+    REV_ int(11),
+    NAME_ varchar(255),
+    DEPLOYMENT_ID_ varchar(64),
+    BYTES_ BLOB,
+    GENERATED_ tinyint(4) DEFAULT NULL,
+    primary key (ID_)
+);
+
+create table ACT_RE_DEPLOYMENT (
+    ID_ varchar(64),
+    NAME_ varchar(255),
+    DEPLOY_TIME_ datetime,
+    primary key (ID_)
+);
+
+create table ACT_RU_EXECUTION (
+    ID_ varchar(64),
+    REV_ int(11),
+    PROC_INST_ID_ varchar(64),
+    BUSINESS_KEY_ varchar(255),
+    PARENT_ID_ varchar(64),
+    PROC_DEF_ID_ varchar(64),	
+    SUPER_EXEC_ varchar(64),
+    ACT_ID_ varchar(255),
+    IS_ACTIVE_ tinyint(4),
+    IS_CONCURRENT_ tinyint(4),
+    IS_SCOPE_ tinyint(4),
+    IS_EVENT_SCOPE_ tinyint(4),
+    SUSPENSION_STATE_ int(11),
+    CACHED_ENT_STATE_ int(11),
+    UNIQUE KEY ACT_UNIQ_RU_BUS_KEY (PROC_DEF_ID_,BUSINESS_KEY_),
+    primary key (ID_)
+);
+create table ACT_RU_JOB (
+    ID_ varchar(64) NOT NULL,
+    REV_ int(11),
+    TYPE_ varchar(255) NOT NULL,
+    LOCK_EXP_TIME_ datetime,
+    LOCK_OWNER_ varchar(255),
+    EXCLUSIVE_ bit(1),
+    EXECUTION_ID_ varchar(64),
+    PROCESS_INSTANCE_ID_ varchar(64),
+    RETRIES_ int(11),
+    EXCEPTION_STACK_ID_ varchar(64),
+    EXCEPTION_MSG_ varchar(4000),
+    DUEDATE_ datetime,
+    REPEAT_ varchar(255),
+    HANDLER_TYPE_ varchar(255),
+    HANDLER_CFG_ varchar(4000),
+    primary key (ID_)
+);
+
+create table ACT_RE_PROCDEF (
+    ID_ varchar(64),
+    REV_ int(11),
+    CATEGORY_ varchar(255),
+    NAME_ varchar(255),
+    KEY_ varchar(255),
+    VERSION_ int(11),
+    DEPLOYMENT_ID_ varchar(64),
+    RESOURCE_NAME_ varchar(4000),
+    DGRM_RESOURCE_NAME_ varchar(4000),
+    HAS_START_FORM_KEY_ tinyint(4),
+    SUSPENSION_STATE_ int(11),
+    primary key (ID_)
+);
+
+create table ACT_RU_TASK (
+    ID_ varchar(64),
+    REV_ int(11),
+    EXECUTION_ID_ varchar(64),
+    PROC_INST_ID_ varchar(64),
+    PROC_DEF_ID_ varchar(64),
+    NAME_ varchar(255),
+    PARENT_TASK_ID_ varchar(64),
+    DESCRIPTION_ varchar(4000),
+    TASK_DEF_KEY_ varchar(255),
+    OWNER_ varchar(64),
+    ASSIGNEE_ varchar(64),
+    DELEGATION_ varchar(64),
+    PRIORITY_ int(11),
+    CREATE_TIME_ datetime,
+    DUE_DATE_ datetime,
+    primary key (ID_)
+);
+
+create table ACT_RU_IDENTITYLINK (
+    ID_ varchar(64),
+    REV_ int(11),
+    GROUP_ID_ varchar(64),
+    TYPE_ varchar(255),
+    USER_ID_ varchar(64),
+    TASK_ID_ varchar(64),
+    PROC_DEF_ID_ varchar(64),
+    primary key (ID_)
+);
+
+create table ACT_RU_VARIABLE (
+    ID_ varchar(64) not null,
+    REV_ int(11),
+    TYPE_ varchar(255) not null,
+    NAME_ varchar(255) not null,
+    EXECUTION_ID_ varchar(64),
+    PROC_INST_ID_ varchar(64),
+    TASK_ID_ varchar(64),
+    BYTEARRAY_ID_ varchar(64),
+    DOUBLE_ double,
+    LONG_ bigint(20),
+    TEXT_ varchar(4000),
+    TEXT2_ varchar(4000),
+    primary key (ID_)
+);
+
+create table ACT_RU_EVENT_SUBSCR (
+    ID_ varchar(64) not null,
+    REV_ int(11),
+    EVENT_TYPE_ varchar(255) not null,
+    EVENT_NAME_ varchar(255),
+    EXECUTION_ID_ varchar(64),
+    PROC_INST_ID_ varchar(64),
+    ACTIVITY_ID_ varchar(64),
+    CONFIGURATION_ varchar(255),
+    CREATED_ datetime not null,
+    primary key (ID_)
+);
+
+  create table ACT_HI_PROCINST (
+    ID_ varchar(64) not null,
+    PROC_INST_ID_ varchar(64) not null,
+    BUSINESS_KEY_ varchar(255),
+    PROC_DEF_ID_ varchar(64) not null,
+    START_TIME_ datetime not null,
+    END_TIME_ datetime,
+    DURATION_ bigint(20),
+    START_USER_ID_ varchar(255),
+    START_ACT_ID_ varchar(255),
+    END_ACT_ID_ varchar(255),
+    SUPER_PROCESS_INSTANCE_ID_ varchar(64),
+    DELETE_REASON_ varchar(4000),
+   UNIQUE KEY PROC_INST_ID_ (PROC_INST_ID_),
+   primary key (ID_)
+);
+
+
+
+
+create table ACT_HI_ACTINST (
+    ID_ varchar(64) not null,
+    PROC_DEF_ID_ varchar(64) not null,
+    PROC_INST_ID_ varchar(64) not null,
+    EXECUTION_ID_ varchar(64) not null,
+    ACT_ID_ varchar(255) not null,
+    ACT_NAME_ varchar(255),
+    ACT_TYPE_ varchar(255) not null,
+    ASSIGNEE_ varchar(64),
+    START_TIME_ datetime not null,
+    END_TIME_ datetime,
+    ISSTART tinyint(1) default 0,
+    DURATION_ bigint(20),
+    FROMMOBILE	tinyint(1),
+    primary key (ID_)
+);
+
+create table ACT_HI_TASKINST (
+    ID_ varchar(64) not null,
+    PROC_DEF_ID_ varchar(64),
+    TASK_DEF_KEY_ varchar(255),
+    PROC_INST_ID_ varchar(64),
+    EXECUTION_ID_ varchar(64),
+    PARENT_TASK_ID_ varchar(64),
+    NAME_ varchar(255),
+    DESCRIPTION_ varchar(4000),
+    OWNER_ varchar(64),
+    ASSIGNEE_ varchar(64),
+    START_TIME_ datetime not null,
+    END_TIME_ datetime,
+    DURATION_ bigint(20),
+    DELETE_REASON_ varchar(4000),
+    PRIORITY_ int(11),
+    DUE_DATE_ datetime,
+    primary key (ID_)
+);
+
+create table ACT_HI_DETAIL (
+    ID_ varchar(64) not null,
+    TYPE_ varchar(255) not null,
+    PROC_INST_ID_ varchar(64) not null,
+    EXECUTION_ID_ varchar(64) not null,
+    TASK_ID_ varchar(64),
+    ACT_INST_ID_ varchar(64),
+    NAME_ varchar(255) not null,
+    VAR_TYPE_ varchar(64),
+    REV_ int(11),
+    TIME_ datetime not null,
+    BYTEARRAY_ID_ varchar(64),
+    DOUBLE_ double,
+    LONG_ bigint(20),
+    TEXT_ varchar(4000),
+    TEXT2_ varchar(4000),
+    primary key (ID_)
+);
+
+create table ACT_HI_COMMENT (
+    ID_ varchar(64) not null,
+    TYPE_ varchar(255),
+    TIME_ datetime not null,
+    USER_ID_ varchar(255),
+    TASK_ID_ varchar(64),
+    PROC_INST_ID_ varchar(64),
+    ACTION_ varchar(255),
+    MESSAGE_ varchar(4000),
+    FULL_MSG_ BLOB,
+    primary key (ID_)
+);
+
+create table ACT_HI_ATTACHMENT (
+    ID_ varchar(64) not null,
+    REV_ int(11),
+    USER_ID_ varchar(255),
+    NAME_ varchar(255),
+    DESCRIPTION_ varchar(4000),
+    TYPE_ varchar(255),
+    TASK_ID_ varchar(64),
+    PROC_INST_ID_ varchar(64),
+    URL_ varchar(4000),
+    CONTENT_ID_ varchar(64),
+    primary key (ID_)
+);
+
+commit;
+

+ 161 - 0
db/mysql/3_activiti_fix_up.sql

@@ -0,0 +1,161 @@
+-- ACT_GE_BYTEARRAY
+ALTER TABLE ACT_GE_BYTEARRAY MODIFY ID_ bigint;
+-- 流程任务 
+ALTER TABLE ACT_RU_TASK MODIFY ID_ bigint;
+ALTER TABLE ACT_RU_TASK MODIFY EXECUTION_ID_ bigint;
+ALTER TABLE ACT_RU_TASK MODIFY PROC_INST_ID_ bigint;
+ALTER TABLE ACT_RU_TASK MODIFY PARENT_TASK_ID_ bigint;
+ALTER TABLE ACT_RU_TASK MODIFY OWNER_ bigint;
+ALTER TABLE ACT_RU_TASK MODIFY ASSIGNEE_ bigint;
+
+-- 流程变量表
+ALTER TABLE ACT_RU_VARIABLE MODIFY ID_ bigint;
+ALTER TABLE ACT_RU_VARIABLE MODIFY EXECUTION_ID_ bigint;
+ALTER TABLE ACT_RU_VARIABLE MODIFY PROC_INST_ID_ bigint;
+ALTER TABLE ACT_RU_VARIABLE MODIFY TASK_ID_ bigint;
+ALTER TABLE ACT_RU_VARIABLE MODIFY BYTEARRAY_ID_ bigint;
+
+-- 流程任务候选人
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY ID_ bigint;
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY GROUP_ID_ bigint;
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY USER_ID_ bigint;
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY TASK_ID_ bigint;
+-- excution
+ALTER TABLE ACT_RU_EXECUTION MODIFY ID_ bigint;
+ALTER TABLE ACT_RU_EXECUTION MODIFY PROC_INST_ID_ bigint;
+ALTER TABLE ACT_RU_EXECUTION MODIFY PARENT_ID_ bigint;
+ALTER TABLE ACT_RU_EXECUTION MODIFY SUPER_EXEC_ bigint;
+ALTER TABLE ACT_RU_EVENT_SUBSCR MODIFY EXECUTION_ID_ bigint;
+ALTER TABLE ACT_RU_JOB MODIFY EXCEPTION_STACK_ID_ bigint;
+-- ACT_RE_DEPLOYMENT
+-- ALTER TABLE ACT_RE_DEPLOYMENT MODIFY ID_ bigint;
+-- 流程定义
+ALTER TABLE ACT_RE_PROCDEF MODIFY DEPLOYMENT_ID_ bigint;
+-- 历史任务实例
+ALTER TABLE ACT_HI_TASKINST MODIFY ID_ bigint;
+ALTER TABLE ACT_HI_TASKINST MODIFY EXECUTION_ID_ bigint;
+ALTER TABLE ACT_HI_TASKINST MODIFY PROC_INST_ID_ bigint;
+ALTER TABLE ACT_HI_TASKINST MODIFY PARENT_TASK_ID_ bigint;
+ALTER TABLE ACT_HI_TASKINST MODIFY OWNER_ bigint;
+ALTER TABLE ACT_HI_TASKINST MODIFY ASSIGNEE_ bigint;
+
+-- 历史流程实例 ACT_HI_PROCINST
+ALTER TABLE ACT_HI_PROCINST MODIFY ID_ bigint;
+ALTER TABLE ACT_HI_PROCINST MODIFY PROC_INST_ID_ bigint;
+ALTER TABLE ACT_HI_PROCINST MODIFY START_USER_ID_ bigint;
+ALTER TABLE ACT_HI_PROCINST MODIFY SUPER_PROCESS_INSTANCE_ID_ bigint;
+-- 历史活动节点实例
+ALTER TABLE ACT_HI_ACTINST MODIFY ID_ bigint;
+ALTER TABLE ACT_HI_ACTINST MODIFY PROC_INST_ID_ bigint;
+ALTER TABLE ACT_HI_ACTINST MODIFY ASSIGNEE_ bigint;
+ALTER TABLE ACT_HI_ACTINST MODIFY EXECUTION_ID_ bigint;
+
+
+
+create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
+create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
+create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
+create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
+create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
+
+
+create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
+alter table ACT_GE_BYTEARRAY
+    add constraint ACT_FK_BYTEARR_DEPL
+    foreign key (DEPLOYMENT_ID_) 
+    references ACT_RE_DEPLOYMENT (ID_);
+
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_,VERSION_);
+
+/*
+create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCINST
+    foreign key (PROC_INST_ID_) 
+    references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade;
+
+create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PARENT
+    foreign key (PARENT_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+*/
+create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_SUPER
+    foreign key (SUPER_EXEC_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_TSKASS_TASK
+    foreign key (TASK_ID_) 
+    references ACT_RU_TASK (ID_);
+
+create index ACT_IDX_ATHRZ_PROCEDEF  on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_ATHRZ_PROCEDEF
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);
+
+create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
+alter table ACT_RU_TASK
+    add constraint ACT_FK_TASK_EXE
+    foreign key (EXECUTION_ID_)
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
+alter table ACT_RU_TASK
+    add constraint ACT_FK_TASK_PROCINST
+    foreign key (PROC_INST_ID_)
+    references ACT_RU_EXECUTION (ID_);
+    
+-- create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
+alter table ACT_RU_TASK
+  add constraint ACT_FK_TASK_PROCDEF
+  foreign key (PROC_DEF_ID_)
+  references ACT_RE_PROCDEF (ID_);
+  
+create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
+alter table ACT_RU_VARIABLE 
+    add constraint ACT_FK_VAR_EXE
+    foreign key (EXECUTION_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
+alter table ACT_RU_VARIABLE
+    add constraint ACT_FK_VAR_PROCINST
+    foreign key (PROC_INST_ID_)
+    references ACT_RU_EXECUTION(ID_);
+
+create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
+alter table ACT_RU_VARIABLE 
+    add constraint ACT_FK_VAR_BYTEARRAY 
+    foreign key (BYTEARRAY_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+
+create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
+alter table ACT_RU_JOB 
+    add constraint ACT_FK_JOB_EXCEPTION
+    foreign key (EXCEPTION_STACK_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+    
+create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
+alter table ACT_RU_EVENT_SUBSCR
+    add constraint ACT_FK_EVENT_EXEC
+    foreign key (EXECUTION_ID_)
+    references ACT_RU_EXECUTION(ID_);
+
+
+create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
+create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
+-- create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
+-- create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
+create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
+create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
+create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
+create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
+create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);

+ 163 - 0
db/mysql/4_quartz.sql

@@ -0,0 +1,163 @@
+/* window下mysql都不区分大小写。
+ * linux下mysql默认是区分大小写的,运行此脚本可能出错。
+ * 设置Linux下Mysql表名不区分大小写
+ * etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务
+ */
+CREATE TABLE QRTZ_JOB_DETAILS(
+SCHED_NAME VARCHAR(120) NOT NULL,
+JOB_NAME VARCHAR(200) NOT NULL,
+JOB_GROUP VARCHAR(200) NOT NULL,
+DESCRIPTION VARCHAR(250) NULL,
+JOB_CLASS_NAME VARCHAR(250) NOT NULL,
+IS_DURABLE VARCHAR(1) NOT NULL,
+IS_NONCONCURRENT VARCHAR(1) NOT NULL,
+IS_UPDATE_DATA VARCHAR(1) NOT NULL,
+REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+JOB_DATA BLOB NULL,
+PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
+;
+
+CREATE TABLE QRTZ_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+JOB_NAME VARCHAR(200) NOT NULL,
+JOB_GROUP VARCHAR(200) NOT NULL,
+DESCRIPTION VARCHAR(250) NULL,
+NEXT_FIRE_TIME BIGINT(13) NULL,
+PREV_FIRE_TIME BIGINT(13) NULL,
+PRIORITY INTEGER NULL,
+TRIGGER_STATE VARCHAR(16) NOT NULL,
+TRIGGER_TYPE VARCHAR(8) NOT NULL,
+START_TIME BIGINT(13) NOT NULL,
+END_TIME BIGINT(13) NULL,
+CALENDAR_NAME VARCHAR(200) NULL,
+MISFIRE_INSTR SMALLINT(2) NULL,
+JOB_DATA BLOB NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP))
+;
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+REPEAT_COUNT BIGINT(7) NOT NULL,
+REPEAT_INTERVAL BIGINT(12) NOT NULL,
+TIMES_TRIGGERED BIGINT(10) NOT NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+;
+
+CREATE TABLE QRTZ_CRON_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+CRON_EXPRESSION VARCHAR(120) NOT NULL,
+TIME_ZONE_ID VARCHAR(80),
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+;
+
+CREATE TABLE QRTZ_SIMPROP_TRIGGERS
+  (          
+    SCHED_NAME VARCHAR(120) NOT NULL,
+    TRIGGER_NAME VARCHAR(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR(200) NOT NULL,
+    STR_PROP_1 VARCHAR(512) NULL,
+    STR_PROP_2 VARCHAR(512) NULL,
+    STR_PROP_3 VARCHAR(512) NULL,
+    INT_PROP_1 INT NULL,
+    INT_PROP_2 INT NULL,
+    LONG_PROP_1 BIGINT NULL,
+    LONG_PROP_2 BIGINT NULL,
+    DEC_PROP_1 NUMERIC(13,4) NULL,
+    DEC_PROP_2 NUMERIC(13,4) NULL,
+    BOOL_PROP_1 VARCHAR(1) NULL,
+    BOOL_PROP_2 VARCHAR(1) NULL,
+    PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
+    REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+;
+
+CREATE TABLE QRTZ_BLOB_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+BLOB_DATA BLOB NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+;
+
+CREATE TABLE QRTZ_CALENDARS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+CALENDAR_NAME VARCHAR(200) NOT NULL,
+CALENDAR BLOB NOT NULL,
+PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
+;
+
+CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
+;
+
+CREATE TABLE QRTZ_FIRED_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+ENTRY_ID VARCHAR(95) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+INSTANCE_NAME VARCHAR(200) NOT NULL,
+FIRED_TIME BIGINT(13) NOT NULL,
+SCHED_TIME BIGINT(13) NOT NULL,
+PRIORITY INTEGER NOT NULL,
+STATE VARCHAR(16) NOT NULL,
+JOB_NAME VARCHAR(200) NULL,
+JOB_GROUP VARCHAR(200) NULL,
+IS_NONCONCURRENT VARCHAR(1) NULL,
+REQUESTS_RECOVERY VARCHAR(1) NULL,
+PRIMARY KEY (SCHED_NAME,ENTRY_ID));
+
+CREATE TABLE QRTZ_SCHEDULER_STATE (
+SCHED_NAME VARCHAR(120) NOT NULL,
+INSTANCE_NAME VARCHAR(200) NOT NULL,
+LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
+CHECKIN_INTERVAL BIGINT(13) NOT NULL,
+PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
+;
+
+CREATE TABLE QRTZ_LOCKS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+LOCK_NAME VARCHAR(40) NOT NULL,
+PRIMARY KEY (SCHED_NAME,LOCK_NAME))
+;
+
+CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
+CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
+
+CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
+CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
+CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
+
+CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
+CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
+CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
+CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
+
+commit; 

+ 178 - 0
db/mysql/5_index_create.sql

@@ -0,0 +1,178 @@
+-- 流程状态
+CREATE INDEX IDX_BPMPROSTATUS_INSTNODEID ON BPM_PRO_STATUS (ACTINSTID,NODEID);
+-- 流程意见
+create index IDX_TASKOPINION_ACTINSTID on bpm_task_opinion(ACTINSTID);
+create index IDX_TASKOPINION_TASKID on bpm_task_opinion(TASKID);
+-- 流程堆栈
+CREATE INDEX IDX_BPMSTACKINST_depth ON BPM_EXE_STACK (actInstId,depth);
+CREATE INDEX IDX_BPMSTACK_PARENTID ON BPM_EXE_STACK (parentId);
+-- 表单运行时
+CREATE INDEX IDX_BPMFORMRUN_INSTANCENODEID ON BPM_FORM_RUN (ACTINSTANCEID,ACTNODEID);
+-- 会签数据
+CREATE INDEX IDX_BPMTKSIGNDATA_ACTDEFNODEID ON BPM_TKSIGN_DATA  (ACTINSTID,NODEID);
+CREATE INDEX IDX_BPMTKSIGNDATA_TASKID ON BPM_TKSIGN_DATA  (TASKID);
+-- 催办任务状态
+CREATE INDEX IDX_REMINDERSTATE_TASKUSERID ON BPM_TASK_REMINDERSTATE (TASKID,USERID);
+-- 流程实例扩展
+CREATE INDEX IDX_PRORUN_INSTANCEID ON BPM_PRO_RUN (ACTINSTID);
+CREATE INDEX IDX_PROCESSRUN_CREATORID ON BPM_PRO_RUN (CREATORID);
+-- 流程实例扩展历史
+CREATE INDEX IDX_PRORUN_HIS_INSTANCEID ON BPM_PRO_RUN_HIS (ACTINSTID);
+CREATE INDEX IDX_PROCESSRUN_HIS_CREATORID ON BPM_PRO_RUN_HIS (CREATORID);
+-- 流程运行日志
+CREATE INDEX IDX_RUNLOG_USERID ON BPM_RUN_LOG (USERID);
+CREATE INDEX IDX_RUNLOG_RUNID ON BPM_RUN_LOG (RUNID);
+-- 邮件设定
+CREATE INDEX IDX_MAILUSERSETTING ON OUT_MAIL_USER_SETING (USERID);
+-- 邮件联系人
+CREATE INDEX IDX_MAILLINKMAN ON OUT_MAIL_LINKMAN (USERID);
+-- 邮件
+CREATE INDEX IDX_OUTMAIL_USERID ON OUT_MAIL (USERID);
+-- 发送消息
+CREATE INDEX IDX_MSGSEND_USERID ON SYS_MSG_SEND (USERID);
+-- 消息接收人
+CREATE INDEX IDX_MSGRECEIVER_MESSAGEID ON SYS_MSG_RECEIVER (MESSAGEID);
+CREATE INDEX IDX_MSGRECEIVER_RECEIVERID ON SYS_MSG_RECEIVER (RECEIVERID);
+-- 消息读取
+CREATE INDEX IDX_MSGREAD_RECEIVERID ON SYS_MSG_READ (RECEIVERID);
+CREATE INDEX IDX_MSGREAD_MESSAGEID ON SYS_MSG_READ (MESSAGEID);
+-- 消息回复
+CREATE INDEX IDX_MSG_REPLY_MESSAGEID ON SYS_MSG_REPLY (MESSAGEID);
+CREATE INDEX IDX_MSG_REPLY_REPLYID ON SYS_MSG_REPLY (REPLYID);
+
+-- 角色和资源的映射
+CREATE INDEX IDX_ROLERES_RESID ON SYS_ROLE_RES (RESID);
+CREATE INDEX IDX_ROLERES_ROLEID ON SYS_ROLE_RES (ROLEID);
+-- 资源
+CREATE INDEX IDX_SYSRES_SYSTEMID ON SYS_RES  (SYSTEMID);
+CREATE INDEX IDX_SYSRES_PARENTID ON SYS_RES  (PARENTID);
+CREATE INDEX IDX_RESURL_RESID ON SYS_RESURL  (RESID);
+-- 用户参数
+CREATE INDEX IDX_USERPARAM_USERID ON SYS_USER_PARAM  (USERID);
+CREATE INDEX IDX_USERPARAM_PARAMID ON SYS_USER_PARAM  (PARAMID);
+-- 下属
+CREATE INDEX IDX_USERUNDER_USERID ON SYS_USER_UNDER  (USERID);
+CREATE INDEX IDX_USERUNDER_UNDERUSERID ON SYS_USER_UNDER  (UNDERUSERID);
+-- 组织
+create index idx_sysorg_ORGSUPID on SYS_ORG (ORGSUPID);
+-- 组织和角色的映射
+CREATE INDEX IDX_ORGROLE_ORGID ON SYS_ORG_ROLE  (ORGID);
+CREATE INDEX IDX_ORGROLE_ROLE ON SYS_ORG_ROLE  (ROLEID);
+-- 表单字段
+CREATE INDEX IDX_FORMFIELD_TABLEID ON BPM_FORM_FIELD  (TABLEID);
+-- 组织可授权角色
+CREATE INDEX IDX_ORGROLEMANAGE_ORGID ON SYS_ORG_ROLEMANAGE  (ORGID);
+CREATE INDEX IDX_ORGROLEMANAGE_ROLEID ON SYS_ORG_ROLEMANAGE  (ROLEID);
+-- 表单权限
+CREATE INDEX IDX_FORMRIGHTS_FORMDEFID ON BPM_FORM_RIGHTS  (FORMKEY);
+-- 代理
+create index IDX_AGENTCON_SETTINGID on BPM_AGENT_CONDITION (SETTINGID);
+create index IDX_AGENTDEF_SETTINGID on BPM_AGENT_DEF (SETTINGID);
+create index IDX_AGENTSETTING_AUTHID on BPM_AGENT_SETTING (AUTHID);
+create index IDX_AGENTSETTING_AGENTID ON BPM_AGENT_SETTING(AGENTID);
+
+-- 业务中间表
+create index IDX_BUSLINK_ORGID on BPM_BUS_LINK (BUS_ORG_ID);
+create index IDX_BUSLINK_PK on BPM_BUS_LINK (BUS_PK);
+create index IDX_BUSLINK_PKSTR on BPM_BUS_LINK (BUS_PKSTR);
+create index IDX_BUSLINK_STARTID on BPM_BUS_LINK (BUS_CREATOR_ID);
+-- 抄送转发
+create index IDX_PRO_CPTO_RUNID on BPM_PRO_CPTO (RUN_ID);
+create index IDX_PRO_CPTO_UID on BPM_PRO_CPTO (CC_UID);
+-- 转办代理
+CREATE INDEX IDX_TASKEXE_INSTID ON BPM_TASK_EXE (ACT_INST_ID );
+CREATE INDEX IDX_TASKEXE_RUNID ON BPM_TASK_EXE ( RUNID );
+-- 任务是否已读
+CREATE INDEX IDX_TASKREAD_INSTTASK ON BPM_TASK_READ (ACTINSTID , TASKID );
+CREATE INDEX IDX_TASKREAD_TASKUSER ON BPM_TASK_READ ( TASKID , USERID );
+-- 用户角色关联。
+CREATE INDEX IDX_USERROLE_ROLE ON SYS_USER_ROLE (ROLEID);
+CREATE INDEX IDX_USERROLE_USER ON SYS_USER_ROLE (userid);
+-- 流程流转
+create index idx_transto_taskid on BPM_PRO_TRANSTO (taskid);
+create index idx_transto_instid on BPM_PRO_TRANSTO (actInstId);
+-- 用户帐号
+create index idx_sysuser_account on SYS_USER (account);
+-- 任务通知人
+create index idx_commureceiver_opinionid on BPM_COMMU_RECEIVER(OPINIONID);
+create index idx_commureceiver_taskid on BPM_COMMU_RECEIVER(taskid);
+-- 流程定义
+create index idx_bpmdef_actdefid on BPM_DEFINITION( actDefId);
+create index idx_bpmdef_defkey on BPM_DEFINITION( actDefKey);
+-- 监控项目
+create index idx_mongroupitem_group on  BPM_MON_GROUPITEM(GROUPID);
+create index idx_mongroupitem_flowkey on  BPM_MON_GROUPITEM(flowkey);
+
+-- BPM_MON_ORGROLE
+create index idx_monorgrole_GROUPID on  BPM_MON_ORGROLE(GROUPID);
+create index idx_monorgrole_ROLEID on  BPM_MON_ORGROLE(ROLEID);
+create index idx_monorgrole_ORGID on  BPM_MON_ORGROLE(ORGID);
+-- BPM_NODE_BTN
+create index idx_nodebtn_defid on BPM_NODE_BTN(defId);
+-- BPM_NODE_SCRIPT
+create index idx_nodescript_defid on BPM_NODE_SCRIPT(ACTDEFID);
+-- 节点配置
+create index idx_nodeset_defid on BPM_NODE_SET (defid);
+-- 人员
+create index idx_nodeuser_conditionid on BPM_NODE_USER(CONDITIONID);
+-- 节点人员条件
+create index idx_usercondition_actdefid on BPM_USER_CONDITION(ACTDEFID);
+create index idx_usercondition_setid on BPM_USER_CONDITION(SETID);
+-- BPM_TASK_FORK
+create index idx_taskfork_actinstid on BPM_TASK_FORK(ACTINSTID);
+-- 印章权限
+create index idx_sealright_SEALID on SYS_SEAL_RIGHT(SEALID);
+create index idx_sealright_RIGHTID on SYS_SEAL_RIGHT(RIGHTID);
+-- 岗位和个人权限
+create index idx_userpos_userid on SYS_USER_POS (userid);
+create index idx_userpos_posid on SYS_USER_POS (posid);
+
+-- 工时设定
+create index idx_worktime_SETTINGID on SYS_WORKTIME(SETTINGID);
+
+-- SYS_ORG_PARAM
+create index idx_orgparam_orgid on SYS_ORG_PARAM(ORGID);
+create index idx_orgparam_PARAMID on SYS_ORG_PARAM(PARAMID);
+
+
+-- Drop indexes 
+-- drop index ACT_IDX_TASK_PROCDEF;
+-- drop index ACT_IDX_HI_ACT_INST_END;
+-- drop index ACT_IDX_HI_ACT_INST_START;
+CREATE INDEX IDX_ACTTASK_USERID ON ACT_RU_TASK(ASSIGNEE_);
+create index IDX_HIACTINST_ASSIGNEE on ACT_HI_ACTINST (assignee_);
+create index IDX_BPMDEF_KEY on BPM_DEFINITION (defkey);
+
+-- 国际化
+-- CREATE INDEX IDX_BPMFORMLANGUAGE_FORMID ON BPM_FORM_LANGUAGE (FORMID);
+-- create index IDX_SYSLANRES_RESID on SYS_LAN_RES (RES_ID);
+-- create index IDX_SYSLANRES_LANTYPE on SYS_LAN_RES (LAN_TYPE);
+
+create index IDX_ACTTASK_PARENTID on act_ru_task(PARENT_TASK_ID_);
+create index IDX_PROCESSRUN_HIS_PK on bpm_pro_run_his(businessKey);
+
+CREATE UNIQUE INDEX IDX_SYS_POS_CODE ON SYS_POS(POSCODE);
+
+CREATE UNIQUE INDEX IDX_SYS_JOB_CODE ON SYS_JOB(JOBCODE);
+
+CREATE UNIQUE INDEX IDX_SYS_PARAM_KEY ON SYS_PARAM(PARAMKEY);
+
+CREATE INDEX  NODEID_FLOWKEY_INDEX ON  BPM_NEWFLOW_TRIGGER (FLOWKEY, NODEID);
+
+
+
+CREATE INDEX IDX_VIEW_ALIAS ON SYS_QUERY_VIEW (  SQL_ALIAS ASC,    ALIAS ASC);
+CREATE INDEX IDX_METAFIELD_SQLID ON SYS_QUERY_METAFIELD (   SQL_ID ASC);
+CREATE INDEX IDX_FIELDSETTING_VIEWID ON SYS_QUERY_FIELDSETTING (   VIEW_ID ASC);
+CREATE INDEX ID_HISTORYDATA_OBJID ON SYS_HISTORY_DATA (OBJ_ID ASC);
+CREATE INDEX GROUPID_INDEX ON SYS_READ_RECORD (GROUPID ASC);
+CREATE INDEX OBJECTID_INDEX ON SYS_READ_RECORD (OBJECTID ASC);
+CREATE UNIQUE INDEX  OBJECTID_USER_INDEX ON SYS_READ_RECORD (OBJECTID ASC, USERID ASC);
+
+
+
+CREATE INDEX MOBILEFORM_KEY ON BPM_MOBILE_FORM_DEF
+(
+   FORM_KEY
+);
+

文件差異過大導致無法顯示
+ 1132 - 0
db/mysql/6_data_init.sql


+ 136 - 0
db/mysql/7.activiti10TO14.sql

@@ -0,0 +1,136 @@
+alter table ACT_RE_PROCDEF 
+    MODIFY KEY_ varchar(255) not null;
+
+alter table ACT_RE_PROCDEF 
+    MODIFY VERSION_ integer not null;
+    
+-- http://jira.codehaus.org/browse/ACT-1424    
+alter table ACT_RU_JOB 
+    MODIFY LOCK_EXP_TIME_ timestamp null;
+    
+alter table ACT_RE_DEPLOYMENT 
+    add CATEGORY_ varchar(255);
+    
+alter table ACT_RE_PROCDEF
+    add DESCRIPTION_ varchar(4000);
+    
+alter table ACT_RU_TASK
+    add SUSPENSION_STATE_ integer;
+    
+update ACT_RU_TASK set SUSPENSION_STATE_ = 1;     
+
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCDEF 
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);
+
+create table ACT_RE_MODEL (
+    ID_ varchar(64) not null,
+    REV_ integer,
+    NAME_ varchar(255),
+    KEY_ varchar(255),
+    CATEGORY_ varchar(255),
+    CREATE_TIME_ timestamp null,
+    LAST_UPDATE_TIME_ timestamp null,
+    VERSION_ integer,
+    META_INFO_ varchar(4000),
+    DEPLOYMENT_ID_ varchar(64),
+    EDITOR_SOURCE_VALUE_ID_ bigint,
+    EDITOR_SOURCE_EXTRA_VALUE_ID_ bigint,
+    primary key (ID_)
+) ;
+
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_SOURCE 
+    foreign key (EDITOR_SOURCE_VALUE_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_SOURCE_EXTRA 
+    foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+    
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_DEPLOYMENT 
+    foreign key (DEPLOYMENT_ID_) 
+    references ACT_RE_DEPLOYMENT (ID_);   
+
+delete from ACT_GE_PROPERTY where NAME_ = 'historyLevel';
+
+alter table ACT_RU_JOB
+    add PROC_DEF_ID_ varchar(64);
+
+update ACT_GE_PROPERTY set VALUE_ = '5.14' where NAME_ = 'schema.version';
+
+
+-- 历史表
+-- 10 to 11
+
+create table ACT_HI_VARINST (
+    ID_ varchar(64) not null,
+    PROC_INST_ID_ varchar(64),
+    EXECUTION_ID_ varchar(64),
+    TASK_ID_ varchar(64),
+    NAME_ varchar(200) not null,
+    VAR_TYPE_ varchar(100),
+    REV_ integer,
+    BYTEARRAY_ID_ varchar(64),
+    DOUBLE_ double,
+    LONG_ bigint,
+    TEXT_ varchar(4000),
+    TEXT2_ varchar(4000),
+    primary key (ID_)
+) ;
+
+create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
+create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
+
+alter table ACT_HI_ACTINST
+	add TASK_ID_ varchar(64);
+	
+alter table ACT_HI_ACTINST
+	add CALL_PROC_INST_ID_ varchar(64);
+
+alter table ACT_HI_DETAIL
+	MODIFY PROC_INST_ID_ varchar(64) null;
+
+alter table ACT_HI_DETAIL
+	MODIFY EXECUTION_ID_ varchar(64) null;
+	
+create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
+
+-- 11 to 12 
+
+alter table ACT_HI_TASKINST
+  add CLAIM_TIME_ datetime;
+
+alter table ACT_HI_TASKINST
+  add FORM_KEY_ varchar(255);
+  
+alter table ACT_RU_IDENTITYLINK
+  add PROC_INST_ID_ bigint;
+  
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_IDL_PROCINST
+    foreign key (PROC_INST_ID_) 
+    references ACT_RU_EXECUTION (ID_);     
+
+create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
+
+-- 12 to 13
+
+create table ACT_HI_IDENTITYLINK (
+    ID_ bigint,
+    GROUP_ID_ bigint,
+    TYPE_ varchar(255),
+    USER_ID_ bigint,
+    TASK_ID_ bigint,
+    PROC_INST_ID_ bigint,
+    primary key (ID_)
+) ;
+
+create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
+create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);
+
+commit;

+ 81 - 0
db/mysql/8_activiti14TO15.sql

@@ -0,0 +1,81 @@
+-- mysql55 
+-- 14To15 engine
+alter table ACT_RU_TASK 
+    add CATEGORY_ varchar(255);
+    
+alter table ACT_RU_EXECUTION drop foreign key ACT_FK_EXE_PROCDEF;  	
+
+alter table ACT_RU_EXECUTION drop index ACT_UNIQ_RU_BUS_KEY;  
+
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCDEF 
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);
+    
+alter table ACT_RE_DEPLOYMENT 
+    add TENANT_ID_ varchar(255) default ''; 
+    
+alter table ACT_RE_PROCDEF 
+    add TENANT_ID_ varchar(255) default '';     
+    
+alter table ACT_RU_EXECUTION
+    add TENANT_ID_ varchar(255) default '';    
+    
+alter table ACT_RU_TASK
+    add TENANT_ID_ varchar(255) default '';  
+    
+alter table ACT_RU_JOB
+    add TENANT_ID_ varchar(255) default '';   
+    
+alter table ACT_RE_MODEL
+    add TENANT_ID_ varchar(255) default '';  
+    
+alter table ACT_RU_EVENT_SUBSCR
+   add TENANT_ID_ varchar(255) default ''; 
+   
+alter table ACT_RU_EVENT_SUBSCR
+   add PROC_DEF_ID_ varchar(64);           
+    
+alter table ACT_RE_PROCDEF
+    drop index ACT_UNIQ_PROCDEF;
+    
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_);
+    
+-- 14To15 history
+alter table ACT_HI_TASKINST
+    add CATEGORY_ varchar(255);
+    
+-- alter table ACT_HI_PROCINST drop index ACT_UNIQ_HI_BUS_KEY;   
+
+alter table ACT_HI_VARINST
+    add CREATE_TIME_ datetime; 
+    
+alter table ACT_HI_VARINST
+    add LAST_UPDATED_TIME_ datetime; 
+    
+alter table ACT_HI_PROCINST
+    add TENANT_ID_ varchar(255) default ''; 
+       
+alter table ACT_HI_ACTINST
+    add TENANT_ID_ varchar(255) default ''; 
+    
+alter table ACT_HI_TASKINST
+    add TENANT_ID_ varchar(255) default '';
+    
+alter table ACT_HI_ACTINST
+    modify ASSIGNEE_ varchar(255);
+
+-- 15To15.1 engine
+update ACT_GE_PROPERTY set VALUE_ = '5.15.1' where NAME_ = 'schema.version';
+commit;
+  
+alter table ACT_RU_EXECUTION
+  add constraint ACT_FK_EXE_PARENT foreign key (PARENT_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+
+alter table ACT_RU_EXECUTION
+  add constraint ACT_FK_EXE_PROCINST foreign key (PROC_INST_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+

文件差異過大導致無法顯示
+ 3783 - 0
db/oracle/1_table_create.sql


+ 245 - 0
db/oracle/2_activiti.sql

@@ -0,0 +1,245 @@
+create table ACT_GE_PROPERTY (
+    NAME_ NVARCHAR2(64),
+    VALUE_ NVARCHAR2(300),
+    REV_ INTEGER,
+    primary key (NAME_)
+);
+
+insert into ACT_GE_PROPERTY
+values ('schema.version', '5.15.1', 1);
+
+insert into ACT_GE_PROPERTY
+values ('schema.history', 'create(5.10)', 1);
+
+insert into ACT_GE_PROPERTY
+values ('next.dbid', '1', 1);
+
+create table ACT_GE_BYTEARRAY (
+    ID_ NVARCHAR2(64),
+    REV_ INTEGER,
+    NAME_ NVARCHAR2(255),
+    DEPLOYMENT_ID_ NVARCHAR2(64),
+    BYTES_ BLOB,
+    GENERATED_ NUMBER(1,0) CHECK (GENERATED_ IN (1,0)),
+    primary key (ID_)
+);
+
+create table ACT_RE_DEPLOYMENT (
+    ID_ NVARCHAR2(64),
+    NAME_ NVARCHAR2(255),
+    DEPLOY_TIME_ TIMESTAMP(6),
+    primary key (ID_)
+);
+
+create table ACT_RU_EXECUTION (
+    ID_ NVARCHAR2(64),
+    REV_ INTEGER,
+    PROC_INST_ID_ NVARCHAR2(64),
+    BUSINESS_KEY_ NVARCHAR2(255),
+    PARENT_ID_ NVARCHAR2(64),
+    PROC_DEF_ID_ NVARCHAR2(64),
+    SUPER_EXEC_ NVARCHAR2(64),
+    ACT_ID_ NVARCHAR2(255),
+    IS_ACTIVE_ NUMBER(1,0) CHECK (IS_ACTIVE_ IN (1,0)),
+    IS_CONCURRENT_ NUMBER(1,0) CHECK (IS_CONCURRENT_ IN (1,0)),
+    IS_SCOPE_ NUMBER(1,0) CHECK (IS_SCOPE_ IN (1,0)),
+    IS_EVENT_SCOPE_ NUMBER(1,0) CHECK (IS_EVENT_SCOPE_ IN (1,0)),
+    SUSPENSION_STATE_ INTEGER,
+    CACHED_ENT_STATE_ INTEGER,
+    primary key (ID_)
+);
+
+create table ACT_RU_JOB (
+    ID_ NVARCHAR2(64) NOT NULL,
+    REV_ INTEGER,
+    TYPE_ NVARCHAR2(255) NOT NULL,
+    LOCK_EXP_TIME_ TIMESTAMP(6),
+    LOCK_OWNER_ NVARCHAR2(255),
+    EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
+    EXECUTION_ID_ NVARCHAR2(64),
+    PROCESS_INSTANCE_ID_ NVARCHAR2(64),
+    RETRIES_ INTEGER,
+    EXCEPTION_STACK_ID_ NVARCHAR2(64),
+    EXCEPTION_MSG_ NVARCHAR2(2000),
+    DUEDATE_ TIMESTAMP(6),
+    REPEAT_ NVARCHAR2(255),
+    HANDLER_TYPE_ NVARCHAR2(255),
+    HANDLER_CFG_ NVARCHAR2(2000),
+    primary key (ID_)
+);
+
+create table ACT_RE_PROCDEF (
+    ID_ NVARCHAR2(64),
+    REV_ INTEGER,
+    CATEGORY_ NVARCHAR2(255),
+    NAME_ NVARCHAR2(255),
+    KEY_ NVARCHAR2(255),
+    VERSION_ INTEGER,
+    DEPLOYMENT_ID_ NVARCHAR2(64),
+    RESOURCE_NAME_ NVARCHAR2(2000),
+    DGRM_RESOURCE_NAME_ varchar(4000),
+    HAS_START_FORM_KEY_ NUMBER(1,0) CHECK (HAS_START_FORM_KEY_ IN (1,0)),
+    SUSPENSION_STATE_ INTEGER,
+    primary key (ID_)
+);
+
+create table ACT_RU_TASK (
+    ID_ NVARCHAR2(64),
+    REV_ INTEGER,
+    EXECUTION_ID_ NVARCHAR2(64),
+    PROC_INST_ID_ NVARCHAR2(64),
+    PROC_DEF_ID_ NVARCHAR2(64),
+    NAME_ NVARCHAR2(255),
+    PARENT_TASK_ID_ NVARCHAR2(64),
+    DESCRIPTION_ NVARCHAR2(2000),
+    TASK_DEF_KEY_ NVARCHAR2(255),
+    OWNER_ NVARCHAR2(64),
+    ASSIGNEE_ NVARCHAR2(64),
+    DELEGATION_ NVARCHAR2(64),
+    PRIORITY_ INTEGER,
+    CREATE_TIME_ TIMESTAMP(6),
+    DUE_DATE_ TIMESTAMP(6),
+    primary key (ID_)
+);
+
+create table ACT_RU_IDENTITYLINK (
+    ID_ NVARCHAR2(64),
+    REV_ INTEGER,
+    GROUP_ID_ NVARCHAR2(64),
+    TYPE_ NVARCHAR2(255),
+    USER_ID_ NVARCHAR2(64),
+    TASK_ID_ NVARCHAR2(64),
+    PROC_DEF_ID_ NVARCHAR2(64),
+    primary key (ID_)
+);
+
+create table ACT_RU_VARIABLE (
+    ID_ NVARCHAR2(64) not null,
+    REV_ INTEGER,
+    TYPE_ NVARCHAR2(255) not null,
+    NAME_ NVARCHAR2(255) not null,
+    EXECUTION_ID_ NVARCHAR2(64),
+    PROC_INST_ID_ NVARCHAR2(64),
+    TASK_ID_ NVARCHAR2(64),
+    BYTEARRAY_ID_ NVARCHAR2(64),
+    DOUBLE_ NUMBER(*,10),
+    LONG_ NUMBER(19,0),
+    TEXT_ NVARCHAR2(2000),
+    TEXT2_ NVARCHAR2(2000),
+    primary key (ID_)
+);
+
+create table ACT_RU_EVENT_SUBSCR (
+    ID_ NVARCHAR2(64) not null,
+    REV_ integer,
+    EVENT_TYPE_ NVARCHAR2(255) not null,
+    EVENT_NAME_ NVARCHAR2(255),
+    EXECUTION_ID_ NVARCHAR2(64),
+    PROC_INST_ID_ NVARCHAR2(64),
+    ACTIVITY_ID_ NVARCHAR2(64),
+    CONFIGURATION_ NVARCHAR2(255),
+    CREATED_ TIMESTAMP(6) not null,
+    primary key (ID_)
+);
+
+  create table ACT_HI_PROCINST (
+    ID_ NVARCHAR2(64) not null,
+    PROC_INST_ID_ NVARCHAR2(64) not null,
+    BUSINESS_KEY_ NVARCHAR2(255),
+    PROC_DEF_ID_ NVARCHAR2(64) not null,
+    START_TIME_ TIMESTAMP(6) not null,
+    END_TIME_ TIMESTAMP(6),
+    DURATION_ NUMBER(19,0),
+    START_USER_ID_ NVARCHAR2(255),
+    START_ACT_ID_ NVARCHAR2(255),
+    END_ACT_ID_ NVARCHAR2(255),
+    SUPER_PROCESS_INSTANCE_ID_ NVARCHAR2(64),
+    DELETE_REASON_ NVARCHAR2(2000),
+    primary key (ID_),
+    unique (PROC_INST_ID_)
+);
+
+create table ACT_HI_ACTINST (
+    ID_ NVARCHAR2(64) not null,
+    PROC_DEF_ID_ NVARCHAR2(64) not null,
+    PROC_INST_ID_ NVARCHAR2(64) not null,
+    EXECUTION_ID_ NVARCHAR2(64) not null,
+    ACT_ID_ NVARCHAR2(255) not null,
+    ACT_NAME_ NVARCHAR2(255),
+    ACT_TYPE_ NVARCHAR2(255) not null,
+    ASSIGNEE_ NVARCHAR2(64),
+    START_TIME_ TIMESTAMP(6) not null,
+    END_TIME_ TIMESTAMP(6),
+    DURATION_ NUMBER(19,0),
+    ISSTART NUMBER(10) default 0,
+    FROMMOBILE	NUMBER(10),
+    primary key (ID_)
+);
+
+
+create table ACT_HI_TASKINST (
+    ID_ NVARCHAR2(64) not null,
+    PROC_DEF_ID_ NVARCHAR2(64),
+    TASK_DEF_KEY_ NVARCHAR2(255),
+    PROC_INST_ID_ NVARCHAR2(64),
+    EXECUTION_ID_ NVARCHAR2(64),
+    PARENT_TASK_ID_ NVARCHAR2(64),
+    NAME_ NVARCHAR2(255),
+    DESCRIPTION_ NVARCHAR2(2000),
+    OWNER_ NVARCHAR2(64),
+    ASSIGNEE_ NVARCHAR2(64),
+    START_TIME_ TIMESTAMP(6) not null,
+    END_TIME_ TIMESTAMP(6),
+    DURATION_ NUMBER(19,0),
+    DELETE_REASON_ NVARCHAR2(2000),
+    PRIORITY_ INTEGER,
+    DUE_DATE_ TIMESTAMP(6),
+    primary key (ID_)
+);
+
+create table ACT_HI_DETAIL (
+    ID_ varchar(64) not null,
+    TYPE_ NVARCHAR2(255) not null,
+    PROC_INST_ID_ NVARCHAR2(64) not null,
+    EXECUTION_ID_ NVARCHAR2(64) not null,
+    TASK_ID_ NVARCHAR2(64),
+    ACT_INST_ID_ NVARCHAR2(64),
+    NAME_ NVARCHAR2(255) not null,
+    VAR_TYPE_ NVARCHAR2(64),
+    REV_ INTEGER,
+    TIME_ TIMESTAMP(6) not null,
+    BYTEARRAY_ID_ NVARCHAR2(64),
+    DOUBLE_ NUMBER(*,10),
+    LONG_ NUMBER(19,0),
+    TEXT_ NVARCHAR2(2000),
+    TEXT2_ NVARCHAR2(2000),
+    primary key (ID_)
+);
+
+create table ACT_HI_COMMENT (
+    ID_ NVARCHAR2(64) not null,
+    TYPE_ NVARCHAR2(255),
+    TIME_ TIMESTAMP(6) not null,
+    USER_ID_ NVARCHAR2(255),
+    TASK_ID_ NVARCHAR2(64),
+    PROC_INST_ID_ NVARCHAR2(64),
+    ACTION_ NVARCHAR2(255),
+    MESSAGE_ NVARCHAR2(2000),
+    FULL_MSG_ BLOB,
+    primary key (ID_)
+);
+
+create table ACT_HI_ATTACHMENT (
+    ID_ NVARCHAR2(64) not null,
+    REV_ INTEGER,
+    USER_ID_ NVARCHAR2(255),
+    NAME_ NVARCHAR2(255),
+    DESCRIPTION_ NVARCHAR2(2000),
+    TYPE_ NVARCHAR2(255),
+    TASK_ID_ NVARCHAR2(64),
+    PROC_INST_ID_ NVARCHAR2(64),
+    URL_ NVARCHAR2(2000),
+    CONTENT_ID_ NVARCHAR2(64),
+    primary key (ID_)
+);
+commit;

+ 172 - 0
db/oracle/3_activiti_fix_up.sql

@@ -0,0 +1,172 @@
+--ACT_GE_BYTEARRAY
+ALTER TABLE ACT_GE_BYTEARRAY MODIFY ID_ NUMBER(18);
+--流程任务 
+ALTER TABLE ACT_RU_TASK MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_RU_TASK MODIFY EXECUTION_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_TASK MODIFY PROC_INST_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_TASK MODIFY PARENT_TASK_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_TASK MODIFY OWNER_ NUMBER(18);
+ALTER TABLE ACT_RU_TASK MODIFY ASSIGNEE_ NUMBER(18);
+
+--流程变量表
+ALTER TABLE ACT_RU_VARIABLE MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_RU_VARIABLE MODIFY EXECUTION_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_VARIABLE MODIFY PROC_INST_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_VARIABLE MODIFY TASK_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_VARIABLE MODIFY BYTEARRAY_ID_ NUMBER(18);
+
+--流程任务候选人
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY GROUP_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY USER_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_IDENTITYLINK MODIFY TASK_ID_ NUMBER(18);
+--excution
+ALTER TABLE ACT_RU_EXECUTION MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_RU_EXECUTION MODIFY PROC_INST_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_EXECUTION MODIFY PARENT_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_EXECUTION MODIFY SUPER_EXEC_ NUMBER(18);
+ALTER TABLE ACT_RU_EVENT_SUBSCR MODIFY EXECUTION_ID_ NUMBER(18);
+ALTER TABLE ACT_RU_JOB MODIFY EXCEPTION_STACK_ID_ NUMBER(18);
+--ACT_RE_DEPLOYMENT
+--ALTER TABLE ACT_RE_DEPLOYMENT MODIFY ID_ NUMBER(18);
+--流程定义
+ALTER TABLE ACT_RE_PROCDEF MODIFY DEPLOYMENT_ID_ NUMBER(18);
+--历史任务实例
+ALTER TABLE ACT_HI_TASKINST MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_HI_TASKINST MODIFY EXECUTION_ID_ NUMBER(18);
+ALTER TABLE ACT_HI_TASKINST MODIFY PROC_INST_ID_ NUMBER(18);
+ALTER TABLE ACT_HI_TASKINST MODIFY PARENT_TASK_ID_ NUMBER(18);
+ALTER TABLE ACT_HI_TASKINST MODIFY OWNER_ NUMBER(18);
+ALTER TABLE ACT_HI_TASKINST MODIFY ASSIGNEE_ NUMBER(18);
+
+--历史流程实例 ACT_HI_PROCINST
+ALTER TABLE ACT_HI_PROCINST MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_HI_PROCINST MODIFY PROC_INST_ID_ NUMBER(18);
+ALTER TABLE ACT_HI_PROCINST MODIFY START_USER_ID_ NUMBER(18);
+ALTER TABLE ACT_HI_PROCINST MODIFY SUPER_PROCESS_INSTANCE_ID_ NUMBER(18);
+--历史活动节点实例
+ALTER TABLE ACT_HI_ACTINST MODIFY ID_ NUMBER(18);
+ALTER TABLE ACT_HI_ACTINST MODIFY PROC_INST_ID_ NUMBER(18);
+ALTER TABLE ACT_HI_ACTINST MODIFY ASSIGNEE_ NUMBER(18);
+ALTER TABLE ACT_HI_ACTINST MODIFY EXECUTION_ID_ NUMBER(18);
+
+
+
+create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
+create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
+create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
+create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
+create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
+
+create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
+alter table ACT_GE_BYTEARRAY
+    add constraint ACT_FK_BYTEARR_DEPL
+    foreign key (DEPLOYMENT_ID_) 
+    references ACT_RE_DEPLOYMENT (ID_);
+
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_,VERSION_);
+    
+create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCINST
+    foreign key (PROC_INST_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PARENT
+    foreign key (PARENT_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_SUPER
+    foreign key (SUPER_EXEC_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_TSKASS_TASK
+    foreign key (TASK_ID_) 
+    references ACT_RU_TASK (ID_);
+
+create index ACT_IDX_ATHRZ_PROCEDEF  on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_ATHRZ_PROCEDEF
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);
+
+create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
+alter table ACT_RU_TASK
+    add constraint ACT_FK_TASK_EXE
+    foreign key (EXECUTION_ID_)
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
+alter table ACT_RU_TASK
+    add constraint ACT_FK_TASK_PROCINST
+    foreign key (PROC_INST_ID_)
+    references ACT_RU_EXECUTION (ID_);
+    
+create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
+alter table ACT_RU_TASK
+  add constraint ACT_FK_TASK_PROCDEF
+  foreign key (PROC_DEF_ID_)
+  references ACT_RE_PROCDEF (ID_);
+  
+create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
+alter table ACT_RU_VARIABLE 
+    add constraint ACT_FK_VAR_EXE
+    foreign key (EXECUTION_ID_) 
+    references ACT_RU_EXECUTION (ID_);
+
+create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
+alter table ACT_RU_VARIABLE
+    add constraint ACT_FK_VAR_PROCINST
+    foreign key (PROC_INST_ID_)
+    references ACT_RU_EXECUTION(ID_);
+
+create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
+alter table ACT_RU_VARIABLE 
+    add constraint ACT_FK_VAR_BYTEARRAY 
+    foreign key (BYTEARRAY_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+
+create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
+alter table ACT_RU_JOB 
+    add constraint ACT_FK_JOB_EXCEPTION
+    foreign key (EXCEPTION_STACK_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+    
+create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
+alter table ACT_RU_EVENT_SUBSCR
+    add constraint ACT_FK_EVENT_EXEC
+    foreign key (EXECUTION_ID_)
+    references ACT_RU_EXECUTION(ID_);
+    
+-- see http://stackoverflow.com/questions/675398/how-can-i-constrain-multiple-columns-to-prevent-duplicates-but-ignore-null-value
+create unique index ACT_UNIQ_RU_BUS_KEY on ACT_RU_EXECUTION
+   (case when BUSINESS_KEY_ is null then null else PROC_DEF_ID_ end,
+    case when BUSINESS_KEY_ is null then null else BUSINESS_KEY_ end);
+
+create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
+create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
+create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
+create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
+create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
+create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
+create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
+create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
+create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
+
+-- see http://stackoverflow.com/questions/675398/how-can-i-constrain-multiple-columns-to-prevent-duplicates-but-ignore-null-value
+create unique index ACT_UNIQ_HI_BUS_KEY on ACT_HI_PROCINST
+   (case when BUSINESS_KEY_ is null then null else PROC_DEF_ID_ end,
+    case when BUSINESS_KEY_ is null then null else BUSINESS_KEY_ end);
+    
+
+
+

+ 160 - 0
db/oracle/4_quartz.sql

@@ -0,0 +1,160 @@
+
+
+CREATE TABLE qrtz_job_details
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    JOB_NAME  VARCHAR2(200) NOT NULL,
+    JOB_GROUP VARCHAR2(200) NOT NULL,
+    DESCRIPTION VARCHAR2(250) NULL,
+    JOB_CLASS_NAME   VARCHAR2(250) NOT NULL, 
+    IS_DURABLE VARCHAR2(1) NOT NULL,
+    IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
+    IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
+    REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
+    JOB_DATA BLOB NULL,
+    CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+CREATE TABLE qrtz_triggers
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    TRIGGER_NAME VARCHAR2(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+    JOB_NAME  VARCHAR2(200) NOT NULL, 
+    JOB_GROUP VARCHAR2(200) NOT NULL,
+    DESCRIPTION VARCHAR2(250) NULL,
+    NEXT_FIRE_TIME NUMBER(13) NULL,
+    PREV_FIRE_TIME NUMBER(13) NULL,
+    PRIORITY NUMBER(13) NULL,
+    TRIGGER_STATE VARCHAR2(16) NOT NULL,
+    TRIGGER_TYPE VARCHAR2(8) NOT NULL,
+    START_TIME NUMBER(13) NOT NULL,
+    END_TIME NUMBER(13) NULL,
+    CALENDAR_NAME VARCHAR2(200) NULL,
+    MISFIRE_INSTR NUMBER(2) NULL,
+    JOB_DATA BLOB NULL,
+    CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) 
+      REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP) 
+);
+CREATE TABLE qrtz_simple_triggers
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    TRIGGER_NAME VARCHAR2(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+    REPEAT_COUNT NUMBER(7) NOT NULL,
+    REPEAT_INTERVAL NUMBER(12) NOT NULL,
+    TIMES_TRIGGERED NUMBER(10) NOT NULL,
+    CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
+	REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_cron_triggers
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    TRIGGER_NAME VARCHAR2(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+    CRON_EXPRESSION VARCHAR2(120) NOT NULL,
+    TIME_ZONE_ID VARCHAR2(80),
+    CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
+      REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_simprop_triggers
+  (          
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    TRIGGER_NAME VARCHAR2(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+    STR_PROP_1 VARCHAR2(512) NULL,
+    STR_PROP_2 VARCHAR2(512) NULL,
+    STR_PROP_3 VARCHAR2(512) NULL,
+    INT_PROP_1 NUMBER(10) NULL,
+    INT_PROP_2 NUMBER(10) NULL,
+    LONG_PROP_1 NUMBER(13) NULL,
+    LONG_PROP_2 NUMBER(13) NULL,
+    DEC_PROP_1 NUMERIC(13,4) NULL,
+    DEC_PROP_2 NUMERIC(13,4) NULL,
+    BOOL_PROP_1 VARCHAR2(1) NULL,
+    BOOL_PROP_2 VARCHAR2(1) NULL,
+    CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
+      REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_blob_triggers
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    TRIGGER_NAME VARCHAR2(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+    BLOB_DATA BLOB NULL,
+    CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+    CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
+        REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_calendars
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    CALENDAR_NAME  VARCHAR2(200) NOT NULL, 
+    CALENDAR BLOB NOT NULL,
+    CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
+);
+CREATE TABLE qrtz_paused_trigger_grps
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    TRIGGER_GROUP  VARCHAR2(200) NOT NULL, 
+    CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_fired_triggers 
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    ENTRY_ID VARCHAR2(95) NOT NULL,
+    TRIGGER_NAME VARCHAR2(200) NOT NULL,
+    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+    INSTANCE_NAME VARCHAR2(200) NOT NULL,
+    FIRED_TIME NUMBER(13) NOT NULL,
+    SCHED_TIME NUMBER(13) NOT NULL,
+    PRIORITY NUMBER(13) NOT NULL,
+    STATE VARCHAR2(16) NOT NULL,
+    JOB_NAME VARCHAR2(200) NULL,
+    JOB_GROUP VARCHAR2(200) NULL,
+    IS_NONCONCURRENT VARCHAR2(1) NULL,
+    REQUESTS_RECOVERY VARCHAR2(1) NULL,
+    CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
+);
+CREATE TABLE qrtz_scheduler_state 
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    INSTANCE_NAME VARCHAR2(200) NOT NULL,
+    LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
+    CHECKIN_INTERVAL NUMBER(13) NOT NULL,
+    CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
+);
+CREATE TABLE qrtz_locks
+  (
+    SCHED_NAME VARCHAR2(120) NOT NULL,
+    LOCK_NAME  VARCHAR2(40) NOT NULL, 
+    CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
+);
+
+create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
+
+create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
+create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
+create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
+create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
+create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
+
+create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
+create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
+create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
+
+

+ 179 - 0
db/oracle/5_index_create.sql

@@ -0,0 +1,179 @@
+-- 流程状态
+CREATE INDEX IDX_BPMPROSTATUS_ACTINSTID ON BPM_PRO_STATUS (ACTINSTID);
+-- 流程意见
+CREATE INDEX IDX_TASKOPTION_INSTANCE_USER ON BPM_TASK_OPINION (ACTINSTID,EXEUSERID);
+CREATE INDEX IDX_TASKOPTION_INSTANCE_INSTID ON BPM_TASK_OPINION (ACTINSTID);
+CREATE INDEX IDX_TASKOPTION_INSTANCE_TASK ON BPM_TASK_OPINION (TASKID);
+-- 流程堆栈
+CREATE INDEX IDX_BPMSTACKINST_DEPTH ON BPM_EXE_STACK (ACTINSTID);
+CREATE INDEX IDX_BPMSTACK_PARENTID ON BPM_EXE_STACK (PARENTID);
+-- 表单运行时
+CREATE INDEX IDX_BPMFORMRUN_INSTANCEID ON BPM_FORM_RUN (ACTINSTANCEID);
+CREATE INDEX IDX_BPMFORMRUN_INSTANCENODEID ON BPM_FORM_RUN (ACTINSTANCEID,ACTNODEID);
+-- 会签数据
+CREATE INDEX IDX_BPMTKSIGNDATA_ACTDEFNODEID ON BPM_TKSIGN_DATA  (ACTINSTID,NODEID);
+CREATE INDEX IDX_BPMTKSIGNDATA_TASKID ON BPM_TKSIGN_DATA  (TASKID);
+-- 催办任务状态
+CREATE INDEX IDX_REMINDERSTATE_TASKUSERID ON BPM_TASK_REMINDERSTATE (TASKID,USERID);
+CREATE INDEX IDX_REMINDERSTATE_TASKID ON BPM_TASK_REMINDERSTATE (TASKID);
+-- 流程实例扩展
+CREATE INDEX IDX_PRORUN_INSTANCEID ON BPM_PRO_RUN (ACTINSTID);
+CREATE INDEX IDX_PROCESSRUN_CREATORID ON BPM_PRO_RUN (CREATORID);
+--流程实例扩展历史
+CREATE INDEX IDX_PRORUN_HIS_INSTANCEID ON BPM_PRO_RUN_HIS (ACTINSTID);
+CREATE INDEX IDX_PROCESSRUN_HIS_CREATORID ON BPM_PRO_RUN_HIS (CREATORID);
+-- 流程运行日志
+CREATE INDEX IDX_RUNLOG_USERID ON BPM_RUN_LOG (USERID);
+CREATE INDEX IDX_RUNLOG_RUNID ON BPM_RUN_LOG (RUNID);
+-- 邮件设定
+CREATE INDEX IDX_MAILUSERSETTING ON OUT_MAIL_USER_SETING (USERID);
+-- 邮件联系人
+CREATE INDEX IDX_MAILLINKMAN ON OUT_MAIL_LINKMAN (USERID);
+-- 邮件
+CREATE INDEX IDX_OUTMAIL_USERID ON OUT_MAIL (USERID);
+-- 发送消息
+CREATE INDEX IDX_MSGSEND_USERID ON SYS_MSG_SEND (USERID);
+-- 消息接收人
+CREATE INDEX IDX_MSGRECEIVER_MESSAGEID ON SYS_MSG_RECEIVER (MESSAGEID);
+CREATE INDEX IDX_MSGRECEIVER_RECEIVERID ON SYS_MSG_RECEIVER (RECEIVERID);
+-- 消息读取
+CREATE INDEX IDX_MSGREAD_RECEIVERID ON SYS_MSG_READ (RECEIVERID);
+CREATE INDEX IDX_MSGREAD_MESSAGEID ON SYS_MSG_READ (MESSAGEID);
+-- 消息回复
+CREATE INDEX IDX_MSG_REPLY_MESSAGEID ON SYS_MSG_REPLY (MESSAGEID);
+CREATE INDEX IDX_MSG_REPLY_REPLYID ON SYS_MSG_REPLY (REPLYID);
+
+-- 角色和资源的映射
+CREATE INDEX IDX_ROLERES_RESID ON SYS_ROLE_RES (RESID);
+CREATE INDEX IDX_ROLERES_ROLEID ON SYS_ROLE_RES (ROLEID);
+-- 资源
+CREATE INDEX IDX_SYSRES_SYSTEMID ON SYS_RES  (SYSTEMID);
+CREATE INDEX IDX_SYSRES_PARENTID ON SYS_RES  (PARENTID);
+CREATE INDEX IDX_RESURL_RESID ON SYS_RESURL  (RESID);
+-- 用户参数
+CREATE INDEX IDX_USERPARAM_USERID ON SYS_USER_PARAM  (USERID);
+CREATE INDEX IDX_USERPARAM_PARAMID ON SYS_USER_PARAM  (PARAMID);
+-- 下属
+CREATE INDEX IDX_USERUNDER_USERID ON SYS_USER_UNDER  (USERID);
+CREATE INDEX IDX_USERUNDER_UNDERUSERID ON SYS_USER_UNDER  (UNDERUSERID);
+--组织
+CREATE INDEX IDX_SYSORG_ORGSUPID ON SYS_ORG (ORGSUPID);
+-- 组织和角色的映射
+CREATE INDEX IDX_ORGROLE_ORGID ON SYS_ORG_ROLE  (ORGID);
+CREATE INDEX IDX_ORGROLE_ROLE ON SYS_ORG_ROLE  (ROLEID);
+-- 表单字段
+CREATE INDEX IDX_FORMFIELD_TABLEID ON BPM_FORM_FIELD  (TABLEID);
+-- 组织可授权角色
+CREATE INDEX IDX_ORGROLEMANAGE_ORGID ON SYS_ORG_ROLEMANAGE  (ORGID);
+CREATE INDEX IDX_ORGROLEMANAGE_ROLEID ON SYS_ORG_ROLEMANAGE  (ROLEID);
+-- 表单权限
+CREATE INDEX IDX_FORMRIGHTS_FORMDEFID ON BPM_FORM_RIGHTS  (FORMKEY);
+--代理
+CREATE INDEX IDX_AGENTCON_SETTINGID ON BPM_AGENT_CONDITION (SETTINGID);
+CREATE INDEX IDX_AGENTDEF_SETTINGID ON BPM_AGENT_DEF (SETTINGID);
+CREATE INDEX IDX_AGENTSETTING_AUTHID ON BPM_AGENT_SETTING (AUTHID);
+CREATE INDEX IDX_AGENTSETTING_AGENTID ON BPM_AGENT_SETTING(AGENTID);
+
+--业务中间表
+CREATE INDEX IDX_BUSLINK_ORGID ON BPM_BUS_LINK (BUS_ORG_ID);
+CREATE INDEX IDX_BUSLINK_PK ON BPM_BUS_LINK (BUS_PK);
+CREATE INDEX IDX_BUSLINK_PKSTR ON BPM_BUS_LINK (BUS_PKSTR);
+CREATE INDEX IDX_BUSLINK_STARTID ON BPM_BUS_LINK (BUS_CREATOR_ID);
+--抄送转发
+CREATE INDEX IDX_PRO_CPTO_RUNID ON BPM_PRO_CPTO (RUN_ID);
+CREATE INDEX IDX_PRO_CPTO_UID ON BPM_PRO_CPTO (CC_UID);
+--转办代理
+CREATE INDEX IDX_TASKEXE_INSTID ON BPM_TASK_EXE (ACT_INST_ID );
+CREATE INDEX IDX_TASKEXE_RUNID ON BPM_TASK_EXE ( RUNID );
+--任务是否已读
+CREATE INDEX IDX_TASKREAD_INSTTASK ON BPM_TASK_READ (ACTINSTID , TASKID );
+CREATE INDEX IDX_TASKREAD_TASKUSER ON BPM_TASK_READ ( TASKID , USERID );
+--用户角色关联。
+CREATE INDEX IDX_USERROLE_ROLE ON SYS_USER_ROLE (ROLEID);
+CREATE INDEX IDX_USERROLE_USER ON SYS_USER_ROLE (USERID);
+--流程流转
+CREATE INDEX IDX_TRANSTO_TASKID ON BPM_PRO_TRANSTO (TASKID);
+CREATE INDEX IDX_TRANSTO_INSTID ON BPM_PRO_TRANSTO (ACTINSTID);
+--用户帐号
+CREATE INDEX IDX_SYSUSER_ACCOUNT ON SYS_USER (ACCOUNT);
+--任务通知人
+CREATE INDEX IDX_COMMURECEIVER_OPINIONID ON BPM_COMMU_RECEIVER(OPINIONID);
+CREATE INDEX IDX_COMMURECEIVER_TASKID ON BPM_COMMU_RECEIVER(TASKID);
+--流程定义
+CREATE INDEX IDX_BPMDEF_ACTDEFID ON BPM_DEFINITION( ACTDEFID);
+CREATE INDEX IDX_BPMDEF_DEFKEY ON BPM_DEFINITION( ACTDEFKEY);
+--监控项目
+CREATE INDEX IDX_MONGROUPITEM_GROUP ON  BPM_MON_GROUPITEM(GROUPID);
+CREATE INDEX IDX_MONGROUPITEM_FLOWKEY ON  BPM_MON_GROUPITEM(FLOWKEY);
+
+--BPM_MON_ORGROLE
+CREATE INDEX IDX_MONORGROLE_GROUPID ON  BPM_MON_ORGROLE(GROUPID);
+CREATE INDEX IDX_MONORGROLE_ROLEID ON  BPM_MON_ORGROLE(ROLEID);
+CREATE INDEX IDX_MONORGROLE_ORGID ON  BPM_MON_ORGROLE(ORGID);
+--BPM_NODE_BTN
+CREATE INDEX IDX_NODEBTN_DEFID ON BPM_NODE_BTN(DEFID);
+--BPM_NODE_SCRIPT
+CREATE INDEX IDX_NODESCRIPT_DEFID ON BPM_NODE_SCRIPT(ACTDEFID);
+--节点配置
+CREATE INDEX IDX_NODESET_DEFID ON BPM_NODE_SET (DEFID);
+--人员
+CREATE INDEX IDX_NODEUSER_CONDITIONID ON BPM_NODE_USER(CONDITIONID);
+--节点人员条件
+CREATE INDEX IDX_USERCONDITION_ACTDEFID ON BPM_USER_CONDITION(ACTDEFID);
+CREATE INDEX IDX_USERCONDITION_SETID ON BPM_USER_CONDITION(SETID);
+--BPM_TASK_FORK
+CREATE INDEX IDX_TASKFORK_ACTINSTID ON BPM_TASK_FORK(ACTINSTID);
+--印章权限
+CREATE INDEX IDX_SEALRIGHT_SEALID ON SYS_SEAL_RIGHT(SEALID);
+CREATE INDEX IDX_SEALRIGHT_RIGHTID ON SYS_SEAL_RIGHT(RIGHTID);
+--岗位和个人权限
+CREATE INDEX IDX_USERPOS_USERID ON SYS_USER_POS (USERID);
+CREATE INDEX IDX_USERPOS_POSID ON SYS_USER_POS (POSID);
+
+--工时设定
+CREATE INDEX IDX_WORKTIME_SETTINGID ON SYS_WORKTIME(SETTINGID);
+
+--SYS_ORG_PARAM
+CREATE INDEX IDX_ORGPARAM_ORGID ON SYS_ORG_PARAM(ORGID);
+CREATE INDEX IDX_ORGPARAM_PARAMID ON SYS_ORG_PARAM(PARAMID);
+
+-- DROP INDEXES 
+DROP INDEX ACT_IDX_TASK_PROCDEF;
+DROP INDEX ACT_IDX_HI_ACT_INST_END;
+DROP INDEX ACT_IDX_HI_ACT_INST_START;
+CREATE INDEX IDX_ACTTASK_USERID ON ACT_RU_TASK(ASSIGNEE_);
+CREATE INDEX IDX_HIACTINST_EXEID ON ACT_HI_ACTINST (EXECUTION_ID_);
+CREATE INDEX IDX_HIACTINST_ASSIGNEE ON ACT_HI_ACTINST (ASSIGNEE_);
+CREATE INDEX IDX_BPMDEF_KEY ON BPM_DEFINITION (DEFKEY);
+
+
+
+CREATE INDEX IDX_PROCESSRUN_BUSINESSKEY ON BPM_PRO_RUN (BUSINESSKEY);
+CREATE INDEX IDX_PROCESSRUN_HIS_BUSINESSKEY ON BPM_PRO_RUN_HIS (BUSINESSKEY);
+
+CREATE UNIQUE INDEX IDX_SYS_POS_CODE ON SYS_POS(POSCODE);
+
+CREATE UNIQUE INDEX IDX_SYS_JOB_CODE ON SYS_JOB(JOBCODE);
+
+CREATE UNIQUE INDEX IDX_SYS_PARAM_KEY ON SYS_PARAM(PARAMKEY);
+
+
+CREATE INDEX  NODEID_FLOWKEY_INDEX ON  BPM_NEWFLOW_TRIGGER (FLOWKEY, NODEID);
+
+
+
+CREATE INDEX IDX_VIEW_ALIAS ON SYS_QUERY_VIEW (  SQL_ALIAS ASC,    ALIAS ASC);
+CREATE INDEX IDX_METAFIELD_SQLID ON SYS_QUERY_METAFIELD (   SQL_ID ASC);
+CREATE INDEX IDX_FIELDSETTING_VIEWID ON SYS_QUERY_FIELDSETTING (   VIEW_ID ASC);
+
+CREATE INDEX ID_HISTORYDATA_OBJID ON SYS_HISTORY_DATA ( OBJ_ID ASC);
+
+
+CREATE INDEX GROUPID_INDEX ON SYS_READ_RECORD (GROUPID ASC);
+CREATE INDEX OBJECTID_INDEX ON SYS_READ_RECORD (OBJECTID ASC);
+CREATE UNIQUE INDEX  OBJECTID_USER_INDEX ON SYS_READ_RECORD (OBJECTID ASC, USERID ASC);
+
+
+CREATE INDEX MOBILEFORM_KEY ON BPM_MOBILE_FORM_DEF (
+   FORM_KEY ASC
+);

文件差異過大導致無法顯示
+ 1160 - 0
db/oracle/6_data_init.sql


+ 133 - 0
db/oracle/7.activiti10TO14.sql

@@ -0,0 +1,133 @@
+alter table ACT_RE_PROCDEF
+    modify KEY_ not null;
+
+alter table ACT_RE_PROCDEF
+    modify VERSION_ not null;
+    
+alter table ACT_RE_DEPLOYMENT 
+    add CATEGORY_ NVARCHAR2(255);
+    
+alter table ACT_RE_PROCDEF
+    add DESCRIPTION_ NVARCHAR2(2000);
+    
+alter table ACT_RU_TASK
+    add SUSPENSION_STATE_ INTEGER;
+    
+update ACT_RU_TASK set SUSPENSION_STATE_ = 1; 
+
+alter table ACT_RU_EXECUTION
+    add constraint ACT_FK_EXE_PROCDEF 
+    foreign key (PROC_DEF_ID_) 
+    references ACT_RE_PROCDEF (ID_);    
+
+create table ACT_RE_MODEL (
+    ID_ NVARCHAR2(64) not null,
+    REV_ INTEGER,
+    NAME_ NVARCHAR2(255),
+    KEY_ NVARCHAR2(255),
+    CATEGORY_ NVARCHAR2(255),
+    CREATE_TIME_ TIMESTAMP(6),
+    LAST_UPDATE_TIME_ TIMESTAMP(6),
+    VERSION_ INTEGER,
+    META_INFO_ NVARCHAR2(2000),
+    DEPLOYMENT_ID_ NVARCHAR2(64),
+    EDITOR_SOURCE_VALUE_ID_ NUMBER(18),
+    EDITOR_SOURCE_EXTRA_VALUE_ID_ NUMBER(18),
+    primary key (ID_)
+);
+
+create index ACT_IDX_MODEL_SOURCE on ACT_RE_MODEL(EDITOR_SOURCE_VALUE_ID_);
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_SOURCE 
+    foreign key (EDITOR_SOURCE_VALUE_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+
+create index ACT_IDX_MODEL_SOURCE_EXTRA on ACT_RE_MODEL(EDITOR_SOURCE_EXTRA_VALUE_ID_);
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_SOURCE_EXTRA 
+    foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_) 
+    references ACT_GE_BYTEARRAY (ID_);
+    
+create index ACT_IDX_MODEL_DEPLOYMENT on ACT_RE_MODEL(DEPLOYMENT_ID_);    
+alter table ACT_RE_MODEL 
+    add constraint ACT_FK_MODEL_DEPLOYMENT 
+    foreign key (DEPLOYMENT_ID_) 
+    references ACT_RE_DEPLOYMENT (ID_);        
+
+delete from ACT_GE_PROPERTY where NAME_ = 'historyLevel';
+
+alter table ACT_RU_JOB
+    add PROC_DEF_ID_ NVARCHAR2(64);
+
+update ACT_GE_PROPERTY set VALUE_ = '5.14' where NAME_ = 'schema.version';
+
+--流程历史修改
+create table ACT_HI_VARINST (
+    ID_ NVARCHAR2(64) not null,
+    PROC_INST_ID_ NVARCHAR2(64),
+    EXECUTION_ID_ NVARCHAR2(64),
+    TASK_ID_ NVARCHAR2(64),
+    NAME_ NVARCHAR2(255) not null,
+    VAR_TYPE_ NVARCHAR2(100),
+    REV_ INTEGER,
+    BYTEARRAY_ID_ NVARCHAR2(64),
+    DOUBLE_ NUMBER(*,10),
+    LONG_ NUMBER(19,0),
+    TEXT_ NVARCHAR2(2000),
+    TEXT2_ NVARCHAR2(2000),
+    primary key (ID_)
+);
+
+create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
+create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
+
+alter table ACT_HI_ACTINST
+add TASK_ID_ NVARCHAR2(64);
+
+alter table ACT_HI_ACTINST
+add CALL_PROC_INST_ID_ NVARCHAR2(64);
+
+alter table ACT_HI_DETAIL
+	modify PROC_INST_ID_ NVARCHAR2(64) null;
+
+alter table ACT_HI_DETAIL
+	modify EXECUTION_ID_ NVARCHAR2(64) null;
+	
+create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
+
+--11TO12
+alter table ACT_HI_TASKINST
+  add CLAIM_TIME_ TIMESTAMP(6);
+
+alter table ACT_HI_TASKINST
+  add FORM_KEY_ NVARCHAR2(255);
+  
+alter table ACT_RU_IDENTITYLINK
+  add PROC_INST_ID_ NUMBER(18);  
+  
+create index ACT_IDX_IDL_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
+alter table ACT_RU_IDENTITYLINK
+    add constraint ACT_FK_IDL_PROCINST
+    foreign key (PROC_INST_ID_) 
+    references ACT_RU_EXECUTION (ID_);     
+  
+create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);  
+
+--12TO13
+create table ACT_HI_IDENTITYLINK (
+    ID_ NUMBER(18),
+    GROUP_ID_ NUMBER(18),
+    TYPE_ NVARCHAR2(255),
+    USER_ID_ NUMBER(18),
+    TASK_ID_ NUMBER(18),
+    PROC_INST_ID_ NUMBER(18),
+    primary key (ID_)
+);
+
+create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
+create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
+create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);
+
+  
+
+

+ 122 - 0
db/oracle/8_activiti14TO15.sql

@@ -0,0 +1,122 @@
+-- 14TO15 engine
+alter table ACT_RU_TASK 
+    add CATEGORY_ NVARCHAR2(255);
+    
+drop index ACT_UNIQ_RU_BUS_KEY;  
+
+alter table ACT_RE_DEPLOYMENT 
+    add TENANT_ID_ NVARCHAR2(255) default '';  
+    
+alter table ACT_RE_PROCDEF 
+    add TENANT_ID_ NVARCHAR2(255) default ''; 
+    
+alter table ACT_RU_EXECUTION
+    add TENANT_ID_ NVARCHAR2(255) default '';  
+    
+alter table ACT_RU_TASK
+    add TENANT_ID_ NVARCHAR2(255) default '';
+    
+alter table ACT_RU_JOB
+    add TENANT_ID_ NVARCHAR2(255) default ''; 
+    
+alter table ACT_RE_MODEL
+    add TENANT_ID_ NVARCHAR2(255) default ''; 
+    
+alter table ACT_RU_EVENT_SUBSCR
+   add TENANT_ID_ NVARCHAR2(255) default '';  
+   
+alter table ACT_RU_EVENT_SUBSCR
+   add PROC_DEF_ID_ NVARCHAR2(64);   
+    
+alter table ACT_RE_PROCDEF
+    drop constraint ACT_UNIQ_PROCDEF;
+    
+alter table ACT_RE_PROCDEF
+    add constraint ACT_UNIQ_PROCDEF
+    unique (KEY_,VERSION_, TENANT_ID_);
+
+-- 14TO15 history   
+alter table ACT_HI_TASKINST
+    add CATEGORY_ NVARCHAR2(255);
+    
+drop index ACT_UNIQ_HI_BUS_KEY;    
+    
+alter table ACT_HI_VARINST
+    add CREATE_TIME_ TIMESTAMP(6); 
+    
+alter table ACT_HI_VARINST
+    add LAST_UPDATED_TIME_ TIMESTAMP(6);   
+    
+alter table ACT_HI_PROCINST
+    add TENANT_ID_ NVARCHAR2(255) default ''; 
+       
+alter table ACT_HI_ACTINST
+    add TENANT_ID_ NVARCHAR2(255) default ''; 
+    
+alter table ACT_HI_TASKINST
+    add TENANT_ID_ NVARCHAR2(255) default '';    
+    
+alter table ACT_HI_ACTINST
+    modify ASSIGNEE_ NVARCHAR2(255);
+    
+-- 14TO15.1 engine
+update ACT_GE_PROPERTY set VALUE_ = '5.15.1' where NAME_ = 'schema.version';
+
+commit;
+
+alter table ACT_RU_EXECUTION
+  drop constraint ACT_FK_EXE_PARENT;
+alter table ACT_RU_EXECUTION
+  add constraint ACT_FK_EXE_PARENT foreign key (PARENT_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+alter table ACT_RU_EXECUTION
+  drop constraint ACT_FK_EXE_PROCINST;
+alter table ACT_RU_EXECUTION
+  add constraint ACT_FK_EXE_PROCINST foreign key (PROC_INST_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+alter table ACT_RU_EXECUTION
+  drop constraint ACT_FK_EXE_SUPER;
+alter table ACT_RU_EXECUTION
+  add constraint ACT_FK_EXE_SUPER foreign key (SUPER_EXEC_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+  
+  
+  alter table ACT_RU_TASK
+  drop constraint ACT_FK_TASK_EXE;
+alter table ACT_RU_TASK
+  add constraint ACT_FK_TASK_EXE foreign key (EXECUTION_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+alter table ACT_RU_TASK
+  drop constraint ACT_FK_TASK_PROCINST;
+alter table ACT_RU_TASK
+  add constraint ACT_FK_TASK_PROCINST foreign key (PROC_INST_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+  
+  
+  alter table ACT_RU_VARIABLE
+  drop constraint ACT_FK_VAR_BYTEARRAY;
+alter table ACT_RU_VARIABLE
+  add constraint ACT_FK_VAR_BYTEARRAY foreign key (BYTEARRAY_ID_)
+  references ACT_GE_BYTEARRAY (ID_) on delete cascade;
+alter table ACT_RU_VARIABLE
+  drop constraint ACT_FK_VAR_EXE;
+alter table ACT_RU_VARIABLE
+  add constraint ACT_FK_VAR_EXE foreign key (EXECUTION_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+alter table ACT_RU_VARIABLE
+  drop constraint ACT_FK_VAR_PROCINST;
+alter table ACT_RU_VARIABLE
+  add constraint ACT_FK_VAR_PROCINST foreign key (PROC_INST_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+  
+  
+  alter table ACT_RU_IDENTITYLINK
+  drop constraint ACT_FK_IDL_PROCINST;
+alter table ACT_RU_IDENTITYLINK
+  add constraint ACT_FK_IDL_PROCINST foreign key (PROC_INST_ID_)
+  references ACT_RU_EXECUTION (ID_) on delete cascade;
+alter table ACT_RU_IDENTITYLINK
+  drop constraint ACT_FK_TSKASS_TASK;
+alter table ACT_RU_IDENTITYLINK
+  add constraint ACT_FK_TSKASS_TASK foreign key (TASK_ID_)
+  references ACT_RU_TASK (ID_) on delete cascade;

+ 187 - 0
db/oracle/9zap.sql

@@ -0,0 +1,187 @@
+CREATE TABLE SYS_QUESTIONNAIRE
+  (
+    ID             NUMBER(18)  NOT NULL,
+    TITLE          VARCHAR2(500),
+    HEAD_CONTENT   VARCHAR2(2000),
+    FOOT_CONTENT   VARCHAR2(2000),
+    MEMO           VARCHAR2(4000),
+    STATUS         NUMBER(18),
+    CREATOR_ID     NUMBER(18),
+    CREATOR_ORG_ID NUMBER(18),
+    CREATE_DATE DATE,
+    QN_TEMPLATE_EDIT VARCHAR2(500),
+    QN_TEMPLATE_GET  VARCHAR2(500),
+    PRIMARY KEY (ID) 
+  );
+  
+  
+  CREATE TABLE SYS_ANSWER
+  (
+    ID               NUMBER(18,0) NOT NULL,
+    QUESTIONNAIRE_ID NUMBER(18,0),
+    STATUS           NUMBER(18,0),
+    CREATOR_ID       NUMBER(18,0),
+    CREATOR_ORG_ID   NUMBER(18,0),
+    CREATE_DATE DATE,
+    PRIMARY KEY (ID)
+  );
+  
+  
+  
+  CREATE TABLE HY_VOTE
+  (
+    ID          NUMBER(18,0) NOT NULL,
+    TITLE       VARCHAR2(180),
+    CONTENT     VARCHAR2(1800),
+    IS_REQUIRED NUMBER(18),
+    IS_OPEN     NUMBER(18),
+    NUM         NUMBER(18),
+    EXPIRE_DATE DATE,
+    STATUS         NUMBER(18),
+    SCORE          NUMBER(18),
+    CREATOR_ID     NUMBER(18),
+    CREATOR_ORG_ID NUMBER(18),
+    CREATE_TIME DATE,
+    PRIMARY KEY (ID) 
+  );
+
+  
+  
+  
+  CREATE TABLE HY_VOTE_RESULT
+  (
+    ID             NUMBER(18) NOT NULL,
+    HY_VOTE_ID     NUMBER(18),
+    HY_VOTE_OBJ_ID NUMBER(18),
+    SCORE          NUMBER(18),
+    USER_ID        NUMBER(18),
+    ORG_ID         NUMBER(18),
+    VOTE_TIME DATE,
+    PRIMARY KEY (ID)
+  );
+  
+  
+  
+  CREATE TABLE SYS_JOB_PARAM
+  (
+    ID    NUMBER(18) NOT NULL,
+    JOBID NUMBER(18),
+    KEY   VARCHAR2(50),
+    VALUE VARCHAR2(50),
+    PRIMARY KEY (ID) 
+  );
+  
+  
+  /*==============================================================*/
+/* Table: SYS_PLAN_COMMENT                                      */
+/*==============================================================*/
+CREATE TABLE SYS_PLAN_COMMENT 
+(
+   ID                   INTEGER NOT NULL,
+   PLANID               INTEGER,
+   SUBMITID             INTEGER,
+   SUBMITOR             VARCHAR2(50),
+   DOC                  VARCHAR2(400),
+   COMMENTCONTENT       VARCHAR2(4000),
+   COMMENTGRADE         VARCHAR2(50),
+   CREATETIME           TIMESTAMP,
+   PRIMARY KEY (ID) 
+);
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.ID IS
+'主键ID';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.PLANID IS
+'日程ID';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.SUBMITID IS
+'评论人ID';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.SUBMITOR IS
+'评论人';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.DOC IS
+'相关文件';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.COMMENTCONTENT IS
+'评论内容';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.COMMENTGRADE IS
+'评论分数';
+
+COMMENT ON COLUMN SYS_PLAN_COMMENT.CREATETIME IS
+'提交时间';
+
+
+CREATE TABLE SYS_PLAN_SHARE 
+(
+   ID                 NUMBER(18,0)         NOT NULL,
+   USERID             NUMBER(18,0),
+   SHAREUSERID        NUMBER(18,0),
+   SHAREUSERNAME      VARCHAR2(50),
+   CONSTRAINT PK_SYS_PLAN_SHARE PRIMARY KEY (ID)
+);
+
+COMMENT ON COLUMN SYS_PLAN_SHARE."ID" IS
+'主键';
+
+COMMENT ON COLUMN SYS_PLAN_SHARE."USERID" IS
+'用户ID';
+
+COMMENT ON COLUMN SYS_PLAN_SHARE."SHAREUSERID" IS
+'下属用户ID';
+
+COMMENT ON COLUMN SYS_PLAN_SHARE."SHAREUSERNAME" IS
+'下属用户名';
+
+CREATE TABLE SYS_JIEJIARI 
+(
+   HO_ID                NUMBER(18,0)         NOT NULL,
+   HO_NAME              VARCHAR2(50),
+   HO_DATE              DATE,
+   HO_TYPE              NUMBER(18),
+   HO_MONTH             VARCHAR2(50),
+   HO_YEAR              VARCHAR2(50),
+   CONSTRAINT PK_SYS_JIEJIARI PRIMARY KEY (HO_ID)
+);
+
+COMMENT ON COLUMN SYS_JIEJIARI.HO_ID IS
+'主键ID';
+
+COMMENT ON COLUMN SYS_JIEJIARI.HO_NAME IS
+'名称';
+
+COMMENT ON COLUMN SYS_JIEJIARI.HO_DATE IS
+'日期';
+
+COMMENT ON COLUMN SYS_JIEJIARI.HO_TYPE IS
+'类型0:工作日  1:节假日';
+
+COMMENT ON COLUMN SYS_JIEJIARI.HO_MONTH IS
+'月份';
+
+COMMENT ON COLUMN SYS_JIEJIARI.HO_YEAR IS
+'年份';
+
+
+
+CREATE TABLE SYS_BULLETINS
+  (
+    ID            NUMBER(18,0) NOT NULL,
+    BULLENTINID   NUMBER(18,0),
+    PERSONNELID   NUMBER(18,0),
+    PERSONNELNAME VARCHAR2(50),
+    ISREAD       NUMBER(*,0),
+    PRIMARY KEY (ID) 
+  )
+ 
+COMMENT ON COLUMN SYS_BULLETINS.ID
+IS '主键ID';
+  COMMENT ON COLUMN SYS_BULLETINS.BULLENTINID
+IS '公告ID';
+  COMMENT ON COLUMN SYS_BULLETINS.PERSONNELID
+IS '人员ID';
+  COMMENT ON COLUMN SYS_BULLETINS.PERSONNELNAME
+IS '人员名称';
+  COMMENT ON COLUMN SYS_BULLETINS.ISREAD
+IS '是否已读';

文件差異過大導致無法顯示
+ 39676 - 0
db/pdm/BPMX_3.3_oracle_V3.pdm


+ 13 - 0
metadata/codegen/codegen.properties

@@ -0,0 +1,13 @@
+charset=UTF-8
+#代码生成器目前支持的数据库有如下几种,请根据相应的数据库进行选择。
+#orale 		com.hotent.cgm.db.impl.OracleHelper
+#mysql 		com.hotent.cgm.db.impl.MySqlHelper
+#h2			com.hotent.cgm.db.impl.H2Helper
+#sql2005	com.hotent.cgm.db.impl.Sql2005Helper
+#db2		com.hotent.cgm.db.impl.DB2Helper
+dbHelperClass=com.hotent.cgm.db.impl.OracleHelper
+url=jdbc:oracle:thin:@10.6.40.9:1521:orcl
+username=xtbg
+password=xtbg
+
+system=platform

+ 274 - 0
metadata/codegen/codegen.xsd

@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema id="codegen" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:element name="config">
+		<xs:complexType>
+			<xs:sequence>
+			
+				<!--变量 -->
+				<xs:element name="variables" maxOccurs="1">
+					<xs:complexType>
+						<xs:sequence>
+							<xs:element name="variable" maxOccurs="unbounded">
+								<xs:complexType>
+									<xs:attributeGroup ref="variableAttr"></xs:attributeGroup>
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+					</xs:complexType>
+				</xs:element>
+				<!--模板 -->
+				<xs:element name="templates" maxOccurs="1" minOccurs="1">
+					<xs:complexType>
+						<xs:sequence minOccurs="1" maxOccurs="unbounded">
+							<xs:element name="template">
+								<xs:complexType>
+									<xs:attributeGroup ref="templateAttr"></xs:attributeGroup>
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+						<xs:attribute name="basepath" type="xs:string">
+							<xs:annotation>
+								<xs:documentation>模板的基路径.</xs:documentation>
+							</xs:annotation>
+						</xs:attribute>
+					</xs:complexType>
+				</xs:element>
+				<!-- 生成文件模版 -->
+				<xs:element name="files" maxOccurs="1" minOccurs="0">
+					<xs:complexType>
+						<xs:sequence minOccurs="1" maxOccurs="unbounded">
+							<xs:element name="file">
+								<xs:complexType>
+									<xs:attributeGroup ref="fileAttr"></xs:attributeGroup>
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+						<xs:attribute name="baseDir" type="xs:string">
+							<xs:annotation>
+								<xs:documentation>生成文件的基路径.</xs:documentation>
+							</xs:annotation>
+						</xs:attribute>
+					</xs:complexType>
+				</xs:element>
+				
+				<!--表变量 -->
+				<xs:element name="table" minOccurs="0" maxOccurs="unbounded">
+					<xs:complexType>
+						<xs:sequence maxOccurs="unbounded" minOccurs="1">
+							<!--表级别变量 -->
+							<xs:element name="variable" minOccurs="0" maxOccurs="unbounded">
+								<xs:complexType>
+									<xs:attributeGroup ref="variableAttr"></xs:attributeGroup>
+								</xs:complexType>
+							</xs:element>
+							<xs:element name="subtable" minOccurs="0" maxOccurs="unbounded">
+								<xs:complexType>
+								<xs:sequence maxOccurs="unbounded" minOccurs="1">
+									<xs:element name="variable" minOccurs="0" maxOccurs="unbounded">
+										<xs:complexType>
+											<xs:attributeGroup ref="variableAttr"></xs:attributeGroup>
+										</xs:complexType>
+									</xs:element>
+								</xs:sequence>
+									<xs:attributeGroup ref="tableAttr"></xs:attributeGroup>
+								</xs:complexType>
+								
+							</xs:element>
+							
+						</xs:sequence>
+						<xs:attribute name="tableName" type="xs:string" use="required">
+							<xs:annotation>
+								<xs:documentation>数据库表名.</xs:documentation>
+							</xs:annotation>
+						</xs:attribute>
+					</xs:complexType>
+				</xs:element>
+				
+				<xs:element name="genAll" minOccurs="0" maxOccurs="1">
+					<xs:complexType>
+						<xs:sequence maxOccurs="unbounded" minOccurs="1">
+							<xs:element name="file">
+								<xs:annotation>
+									<xs:documentation>需要生成的文件</xs:documentation>
+								</xs:annotation>
+								<xs:complexType>
+									<xs:sequence>
+										<xs:element name="variable" minOccurs="0" maxOccurs="unbounded">
+											<xs:complexType>
+												<xs:attributeGroup ref="variableAttr"></xs:attributeGroup>
+											</xs:complexType>
+										</xs:element>
+									</xs:sequence>
+									<xs:attributeGroup ref="batFleAttr"></xs:attributeGroup>
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+						<xs:attribute name="tableNames" type="xs:string" use="optional">
+							<xs:annotation>
+								<xs:documentation>数据库表名,使用逗号分割.</xs:documentation>
+							</xs:annotation>
+						</xs:attribute>
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<!--模板属性 -->
+	<xs:attributeGroup name="templateAttr">
+
+		<xs:attribute name="id" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					模版ID
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+
+		<xs:attribute name="path" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					模板路径
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<!--变量属性 -->
+	<xs:attributeGroup name="variableAttr">
+		<xs:attribute name="name" use="required" type="xs:string">
+		</xs:attribute>
+		<xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
+	</xs:attributeGroup>
+	<!--文件属性-->
+	<xs:attributeGroup name="fileAttr">
+		<xs:attribute name="refTemplate" type="xs:string" use="required" >
+			<xs:annotation>
+				<xs:documentation>
+					引用的模板,引用模板的ID
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="filename" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					生成的文件名称.
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="dir" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					生成的文件存放的目录.
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		
+		<xs:attribute name="sub" type="xs:boolean" use="optional" default="false">
+			<xs:annotation>
+				<xs:documentation>
+					子表生成文件
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		
+		<xs:attribute name="override" type="xs:boolean" use="optional" default="false">
+			<xs:annotation>
+				<xs:documentation>
+					是否覆盖原有文件 默认为false
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		
+		<xs:attribute name="append" type="xs:boolean" use="optional">
+			<xs:annotation>
+					<xs:documentation>是否添加</xs:documentation>
+			</xs:annotation>
+			
+		</xs:attribute>
+		<xs:attribute name="insertTag" default="&lt;!--insertbefore--&gt;">
+			<xs:annotation>
+					<xs:documentation>标签功能,新增的内容插在之前</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="startTag" default="start{tabname}">
+			<xs:annotation>
+				<xs:documentation>起始标签</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="endTag" default="end{tabname}">
+			<xs:annotation>
+				<xs:documentation>结束标签</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+	
+	<xs:attributeGroup name="tableAttr">
+		<xs:attribute name="tablename" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					表名
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="foreignKey" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					外键
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+	</xs:attributeGroup>
+
+	<xs:attributeGroup name="batFleAttr">
+		<xs:attribute name="refTemplate" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					引用的模板,引用模板的ID
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="filename" type="xs:string" use="optional">
+			<xs:annotation>
+				<xs:documentation>
+					生成的文件名称.
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="extName" type="xs:string" use="optional">
+			<xs:annotation>
+				<xs:documentation>
+					文件扩展名 如: .htm
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="dir" type="xs:string" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					生成的文件存放的目录.
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		<xs:attribute name="genMode" type="GenModel" use="required">
+			<xs:annotation>
+				<xs:documentation>
+					产生一个文件/产生多个文件
+				</xs:documentation>
+			</xs:annotation>
+		</xs:attribute>
+		
+	</xs:attributeGroup>
+	<xs:simpleType name="GenModel">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="MultiFile">
+				<xs:annotation>
+					<xs:documentation>产生多个文件,这个时候需要填写扩展名属性</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+			<xs:enumeration value="SingleFile">
+				<xs:annotation>
+					<xs:documentation>产生一个文件,这个时候需要填写文件名称</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+</xs:schema>

+ 371 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/db/DaoHelper.html.svntmp

@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+DaoHelper
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="DaoHelper";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;上一个类&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/db/IDbHelper.html" title="com.hotent.cgm.db 中的接口"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/db/DaoHelper.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="DaoHelper.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.db</FONT>
+<BR>
+类 DaoHelper&lt;T&gt;</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.db.DaoHelper&lt;T&gt;</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>DaoHelper&lt;T&gt;</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+对jdbc进行封装实现数据库访问。<br>
+ 采用模版模式实现。
+<P>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html#DaoHelper(java.lang.String, java.lang.String, java.lang.String)">DaoHelper</A></B>(java.lang.String&nbsp;url,
+          java.lang.String&nbsp;username,
+          java.lang.String&nbsp;password)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传入数据库url,用户名和密码。</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html#queryForList(java.lang.String, com.hotent.cgm.db.MapCmd)">queryForList</A></B>(java.lang.String&nbsp;sql,
+             <A HREF="../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A>&gt;&nbsp;cmd)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询列表对象。</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html#queryForObject(java.lang.String, com.hotent.cgm.db.MapCmd)">queryForObject</A></B>(java.lang.String&nbsp;sql,
+               <A HREF="../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A>&gt;&nbsp;cmd)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询一个对象。</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html#setPwd(java.lang.String)">setPwd</A></B>(java.lang.String&nbsp;pwd)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html#setUrl(java.lang.String)">setUrl</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html#setUserName(java.lang.String)">setUserName</A></B>(java.lang.String&nbsp;userName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DaoHelper(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DaoHelper</H3>
+<PRE>
+public <B>DaoHelper</B>(java.lang.String&nbsp;url,
+                 java.lang.String&nbsp;username,
+                 java.lang.String&nbsp;password)</PRE>
+<DL>
+<DD>传入数据库url,用户名和密码。
+<P>
+<DL>
+<DT><B>参数:</B><DD><CODE>url</CODE> - <DD><CODE>username</CODE> - <DD><CODE>password</CODE> - </DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setUrl(java.lang.String)"><!-- --></A><H3>
+setUrl</H3>
+<PRE>
+public void <B>setUrl</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUserName(java.lang.String)"><!-- --></A><H3>
+setUserName</H3>
+<PRE>
+public void <B>setUserName</B>(java.lang.String&nbsp;userName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPwd(java.lang.String)"><!-- --></A><H3>
+setPwd</H3>
+<PRE>
+public void <B>setPwd</B>(java.lang.String&nbsp;pwd)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="queryForObject(java.lang.String, com.hotent.cgm.db.MapCmd)"><!-- --></A><H3>
+queryForObject</H3>
+<PRE>
+public <A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A> <B>queryForObject</B>(java.lang.String&nbsp;sql,
+                        <A HREF="../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A>&gt;&nbsp;cmd)
+                 throws com.hotent.cgm.exception.CodegenException</PRE>
+<DL>
+<DD>查询一个对象。<br/>
+ 使用方法:<br/>
+ <pre>
+   DaoHelper<String> dao=new DaoHelper<String>(this.url, this.username, this.password);
+                String sql=String.format(sqlTableComment, tableName);
+                String comment=dao.queryForObject(sql,new MapCmd<String>() {
+                        public String getObjecFromRs(ResultSet rs) throws SQLException {
+                                return rs.getString("comment");
+                        }
+                });
+</pre>
+<P>
+<DD><DL>
+<DT><B>类型参数:</B><DD><CODE>T</CODE> - <DT><B>参数:</B><DD><CODE>sql</CODE> - <DD><CODE>cmd</CODE> - 
+<DT><B>返回:</B><DD>
+<DT><B>抛出:</B>
+<DD><CODE>com.hotent.cgm.exception.CodegenException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="queryForList(java.lang.String, com.hotent.cgm.db.MapCmd)"><!-- --></A><H3>
+queryForList</H3>
+<PRE>
+public java.util.List&lt;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A>&gt; <B>queryForList</B>(java.lang.String&nbsp;sql,
+                                      <A HREF="../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="DaoHelper 中的类型参数">T</A>&gt;&nbsp;cmd)
+                               throws com.hotent.cgm.exception.CodegenException</PRE>
+<DL>
+<DD>查询列表对象。
+ 使用方法如下:
+ <pre>
+                DaoHelper<ColumnModel> dao=new DaoHelper<ColumnModel>(this.url, this.username, this.password);
+                String sql=String.format(sqlColumn,tableName);
+                List<ColumnModel> list=dao.queryForList(sql, new OracleMapCmd());
+</pre>
+<P>
+<DD><DL>
+<DT><B>参数:</B><DD><CODE>sql</CODE> - <DD><CODE>cmd</CODE> - 
+<DT><B>返回:</B><DD>
+<DT><B>抛出:</B>
+<DD><CODE>com.hotent.cgm.exception.CodegenException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;上一个类&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/db/IDbHelper.html" title="com.hotent.cgm.db 中的接口"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/db/DaoHelper.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="DaoHelper.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 271 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/db/impl/Sql2005MapCmd.html

@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+Sql2005MapCmd
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Sql2005MapCmd";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../com/hotent/cgm/db/impl/Sql2005Helper.html" title="com.hotent.cgm.db.impl 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;下一个类</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?com/hotent/cgm/db/impl/Sql2005MapCmd.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="Sql2005MapCmd.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.db.impl</FONT>
+<BR>
+类 Sql2005MapCmd</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.db.impl.Sql2005MapCmd</B>
+</PRE>
+<DL>
+<DT><B>所有已实现的接口:</B> <DD><A HREF="../../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../../com/hotent/cgm/model/ColumnModel.html" title="com.hotent.cgm.model 中的类">ColumnModel</A>&gt;</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>Sql2005MapCmd</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../../com/hotent/cgm/model/ColumnModel.html" title="com.hotent.cgm.model 中的类">ColumnModel</A>&gt;</DL>
+</PRE>
+
+<P>
+锟斤拷锟斤拷 锟斤拷锟斤拷锟絩s锟斤拷锟襟构斤拷columnmodel锟斤拷锟斤拷SQL2005实锟斤拷锟洁。
+<P>
+
+<P>
+<DL>
+<DT><B>作者:</B></DT>
+  <DD>hotent</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../com/hotent/cgm/db/impl/Sql2005MapCmd.html#Sql2005MapCmd()">Sql2005MapCmd</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../com/hotent/cgm/model/ColumnModel.html" title="com.hotent.cgm.model 中的类">ColumnModel</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../com/hotent/cgm/db/impl/Sql2005MapCmd.html#getObjecFromRs(java.sql.ResultSet)">getObjecFromRs</A></B>(java.sql.ResultSet&nbsp;rs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;根据ResultSet 记录集对象返回对象T 。</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Sql2005MapCmd()"><!-- --></A><H3>
+Sql2005MapCmd</H3>
+<PRE>
+public <B>Sql2005MapCmd</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObjecFromRs(java.sql.ResultSet)"><!-- --></A><H3>
+getObjecFromRs</H3>
+<PRE>
+public <A HREF="../../../../../com/hotent/cgm/model/ColumnModel.html" title="com.hotent.cgm.model 中的类">ColumnModel</A> <B>getObjecFromRs</B>(java.sql.ResultSet&nbsp;rs)
+                           throws java.sql.SQLException</PRE>
+<DL>
+<DD><B>从接口 <CODE><A HREF="../../../../../com/hotent/cgm/db/MapCmd.html#getObjecFromRs(java.sql.ResultSet)">MapCmd</A></CODE> 复制的描述</B></DD>
+<DD>根据ResultSet 记录集对象返回对象T 。
+<P>
+<DD><DL>
+<DT><B>指定者:</B><DD>接口 <CODE><A HREF="../../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd</A>&lt;<A HREF="../../../../../com/hotent/cgm/model/ColumnModel.html" title="com.hotent.cgm.model 中的类">ColumnModel</A>&gt;</CODE> 中的 <CODE><A HREF="../../../../../com/hotent/cgm/db/MapCmd.html#getObjecFromRs(java.sql.ResultSet)">getObjecFromRs</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>返回:</B><DD>
+<DT><B>抛出:</B>
+<DD><CODE>java.sql.SQLException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../com/hotent/cgm/db/impl/Sql2005Helper.html" title="com.hotent.cgm.db.impl 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;下一个类</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?com/hotent/cgm/db/impl/Sql2005MapCmd.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="Sql2005MapCmd.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 42 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/db/impl/package-frame.html

@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:49 CST 2013 -->
+<TITLE>
+com.hotent.cgm.db.impl
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../../com/hotent/cgm/db/impl/package-summary.html" target="classFrame">com.hotent.cgm.db.impl</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+类</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="MySqlHelper.html" title="com.hotent.cgm.db.impl 中的类" target="classFrame">MySqlHelper</A>
+<BR>
+<A HREF="MySqlMapCmd.html" title="com.hotent.cgm.db.impl 中的类" target="classFrame">MySqlMapCmd</A>
+<BR>
+<A HREF="OracleHelper.html" title="com.hotent.cgm.db.impl 中的类" target="classFrame">OracleHelper</A>
+<BR>
+<A HREF="OracleMapCmd.html" title="com.hotent.cgm.db.impl 中的类" target="classFrame">OracleMapCmd</A>
+<BR>
+<A HREF="Sql2005Helper.html" title="com.hotent.cgm.db.impl 中的类" target="classFrame">Sql2005Helper</A>
+<BR>
+<A HREF="Sql2005MapCmd.html" title="com.hotent.cgm.db.impl 中的类" target="classFrame">Sql2005MapCmd</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

+ 45 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/db/package-frame.html

@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:49 CST 2013 -->
+<TITLE>
+com.hotent.cgm.db
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../com/hotent/cgm/db/package-summary.html" target="classFrame">com.hotent.cgm.db</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+接口</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="IDbHelper.html" title="com.hotent.cgm.db 中的接口" target="classFrame"><I>IDbHelper</I></A>
+<BR>
+<A HREF="MapCmd.html" title="com.hotent.cgm.db 中的接口" target="classFrame"><I>MapCmd</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+类</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DaoHelper.html" title="com.hotent.cgm.db 中的类" target="classFrame">DaoHelper</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

+ 194 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/db/package-summary.html

@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:49 CST 2013 -->
+<TITLE>
+com.hotent.cgm.db
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="com.hotent.cgm.db";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>软件包</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">类</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;上一个软件包&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/db/impl/package-summary.html"><B>下一个软件包</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/db/package-summary.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+软件包 com.hotent.cgm.db
+</H2>
+
+代码生成访问数据库生成TableModel包。
+<P>
+<B>请参见:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>描述</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>接口摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../com/hotent/cgm/db/IDbHelper.html" title="com.hotent.cgm.db 中的接口">IDbHelper</A></B></TD>
+<TD>获取数据库所有表和表的TableMode接口类。</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../com/hotent/cgm/db/MapCmd.html" title="com.hotent.cgm.db 中的接口">MapCmd&lt;T&gt;</A></B></TD>
+<TD>ResultSet 对象映射接口,用户可以通过类或匿名类进行实现。</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>类摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../com/hotent/cgm/db/DaoHelper.html" title="com.hotent.cgm.db 中的类">DaoHelper&lt;T&gt;</A></B></TD>
+<TD>对jdbc进行封装实现数据库访问。</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+软件包 com.hotent.cgm.db 的描述
+</H2>
+
+<P>
+<p>
+代码生成访问数据库生成TableModel包。
+</p>
+<p>DaoHelper数据库访问类。</p>
+<p>MapCmd:Rs映射接口,用户可以扩展这个类。</p>
+<p>IDbHelper:从数据库获取 TableModel的接口类。用户可以扩展此接口实现自己的数据库类实现。</p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>软件包</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">类</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;上一个软件包&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/db/impl/package-summary.html"><B>下一个软件包</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/db/package-summary.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 603 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Files.File.html

@@ -0,0 +1,603 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+ConfigModel.Files.File
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="ConfigModel.Files.File";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Files.File.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Files.File.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.model</FONT>
+<BR>
+类 ConfigModel.Files.File</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.model.ConfigModel.Files.File</B>
+</PRE>
+<DL>
+<DT><B>包容类:</B><DD><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html" title="com.hotent.cgm.model 中的类">ConfigModel.Files</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ConfigModel.Files.File</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#ConfigModel.Files.File(java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String, java.lang.String)">ConfigModel.Files.File</A></B>(java.lang.String&nbsp;template,
+                       java.lang.String&nbsp;filename,
+                       java.lang.String&nbsp;dir,
+                       boolean&nbsp;sub,
+                       boolean&nbsp;override,
+                       boolean&nbsp;append,
+                       java.lang.String&nbsp;insertTag,
+                       java.lang.String&nbsp;startTag,
+                       java.lang.String&nbsp;endTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getAppend()">getAppend</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getDir()">getDir</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件放置的路径
+ 相对于baseDir</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getEndTag()">getEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getFilename()">getFilename</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;生成的文件名和table的basePath路径叠加。</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getInsertTag()">getInsertTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getStartTag()">getStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#getTemplate()">getTemplate</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;引用在template定义的ID</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#isOverride()">isOverride</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#isSub()">isSub</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setAppend(boolean)">setAppend</A></B>(boolean&nbsp;append)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setDir(java.lang.String)">setDir</A></B>(java.lang.String&nbsp;dir)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setEndTag(java.lang.String)">setEndTag</A></B>(java.lang.String&nbsp;endTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setFilename(java.lang.String)">setFilename</A></B>(java.lang.String&nbsp;filename)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setInsertTag(java.lang.String)">setInsertTag</A></B>(java.lang.String&nbsp;insertTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setOverride(boolean)">setOverride</A></B>(boolean&nbsp;sub)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setStartTag(java.lang.String)">setStartTag</A></B>(java.lang.String&nbsp;startTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setSub(boolean)">setSub</A></B>(boolean&nbsp;sub)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html#setTemplate(java.lang.String)">setTemplate</A></B>(java.lang.String&nbsp;template)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ConfigModel.Files.File(java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+ConfigModel.Files.File</H3>
+<PRE>
+public <B>ConfigModel.Files.File</B>(java.lang.String&nbsp;template,
+                              java.lang.String&nbsp;filename,
+                              java.lang.String&nbsp;dir,
+                              boolean&nbsp;sub,
+                              boolean&nbsp;override,
+                              boolean&nbsp;append,
+                              java.lang.String&nbsp;insertTag,
+                              java.lang.String&nbsp;startTag,
+                              java.lang.String&nbsp;endTag)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTemplate()"><!-- --></A><H3>
+getTemplate</H3>
+<PRE>
+public java.lang.String <B>getTemplate</B>()</PRE>
+<DL>
+<DD>引用在template定义的ID
+<P>
+<DD><DL>
+
+<DT><B>返回:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTemplate(java.lang.String)"><!-- --></A><H3>
+setTemplate</H3>
+<PRE>
+public void <B>setTemplate</B>(java.lang.String&nbsp;template)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSub()"><!-- --></A><H3>
+isSub</H3>
+<PRE>
+public boolean <B>isSub</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSub(boolean)"><!-- --></A><H3>
+setSub</H3>
+<PRE>
+public void <B>setSub</B>(boolean&nbsp;sub)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isOverride()"><!-- --></A><H3>
+isOverride</H3>
+<PRE>
+public boolean <B>isOverride</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOverride(boolean)"><!-- --></A><H3>
+setOverride</H3>
+<PRE>
+public void <B>setOverride</B>(boolean&nbsp;sub)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFilename()"><!-- --></A><H3>
+getFilename</H3>
+<PRE>
+public java.lang.String <B>getFilename</B>()</PRE>
+<DL>
+<DD>生成的文件名和table的basePath路径叠加。
+ basePath + dir + fileName
+<P>
+<DD><DL>
+
+<DT><B>返回:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFilename(java.lang.String)"><!-- --></A><H3>
+setFilename</H3>
+<PRE>
+public void <B>setFilename</B>(java.lang.String&nbsp;filename)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDir()"><!-- --></A><H3>
+getDir</H3>
+<PRE>
+public java.lang.String <B>getDir</B>()</PRE>
+<DL>
+<DD>文件放置的路径
+ 相对于baseDir
+<P>
+<DD><DL>
+<DT><B>参数:</B><DD><CODE>dir</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDir(java.lang.String)"><!-- --></A><H3>
+setDir</H3>
+<PRE>
+public void <B>setDir</B>(java.lang.String&nbsp;dir)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAppend()"><!-- --></A><H3>
+getAppend</H3>
+<PRE>
+public boolean <B>getAppend</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAppend(boolean)"><!-- --></A><H3>
+setAppend</H3>
+<PRE>
+public void <B>setAppend</B>(boolean&nbsp;append)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInsertTag()"><!-- --></A><H3>
+getInsertTag</H3>
+<PRE>
+public java.lang.String <B>getInsertTag</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInsertTag(java.lang.String)"><!-- --></A><H3>
+setInsertTag</H3>
+<PRE>
+public void <B>setInsertTag</B>(java.lang.String&nbsp;insertTag)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStartTag()"><!-- --></A><H3>
+getStartTag</H3>
+<PRE>
+public java.lang.String <B>getStartTag</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStartTag(java.lang.String)"><!-- --></A><H3>
+setStartTag</H3>
+<PRE>
+public void <B>setStartTag</B>(java.lang.String&nbsp;startTag)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEndTag()"><!-- --></A><H3>
+getEndTag</H3>
+<PRE>
+public java.lang.String <B>getEndTag</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEndTag(java.lang.String)"><!-- --></A><H3>
+setEndTag</H3>
+<PRE>
+public void <B>setEndTag</B>(java.lang.String&nbsp;endTag)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Files.File.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Files.File.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 371 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Files.html

@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+ConfigModel.Files
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="ConfigModel.Files";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Database.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Files.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Files.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;<A HREF="#nested_class_summary">嵌套</A>&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.model</FONT>
+<BR>
+类 ConfigModel.Files</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.model.ConfigModel.Files</B>
+</PRE>
+<DL>
+<DT><B>包容类:</B><DD><A HREF="../../../../com/hotent/cgm/model/ConfigModel.html" title="com.hotent.cgm.model 中的类">ConfigModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ConfigModel.Files</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+生成文件的模版
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>嵌套类摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.Files.File</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html#ConfigModel.Files()">ConfigModel.Files</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html#addFile(java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String, java.lang.String)">addFile</A></B>(java.lang.String&nbsp;template,
+        java.lang.String&nbsp;fileName,
+        java.lang.String&nbsp;dir,
+        boolean&nbsp;sub,
+        boolean&nbsp;override,
+        boolean&nbsp;append,
+        java.lang.String&nbsp;insertTag,
+        java.lang.String&nbsp;startTag,
+        java.lang.String&nbsp;endTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html#getBaseDir()">getBaseDir</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;基路径</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.Files.File</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html#getFiles()">getFiles</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;需要生成的文件</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html#setBaseDir(java.lang.String)">setBaseDir</A></B>(java.lang.String&nbsp;baseDir)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.html#setFiles(java.util.List)">setFiles</A></B>(java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.Files.File</A>&gt;&nbsp;file)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ConfigModel.Files()"><!-- --></A><H3>
+ConfigModel.Files</H3>
+<PRE>
+public <B>ConfigModel.Files</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getBaseDir()"><!-- --></A><H3>
+getBaseDir</H3>
+<PRE>
+public java.lang.String <B>getBaseDir</B>()</PRE>
+<DL>
+<DD>基路径
+<P>
+<DD><DL>
+
+<DT><B>返回:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBaseDir(java.lang.String)"><!-- --></A><H3>
+setBaseDir</H3>
+<PRE>
+public void <B>setBaseDir</B>(java.lang.String&nbsp;baseDir)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addFile(java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addFile</H3>
+<PRE>
+public void <B>addFile</B>(java.lang.String&nbsp;template,
+                    java.lang.String&nbsp;fileName,
+                    java.lang.String&nbsp;dir,
+                    boolean&nbsp;sub,
+                    boolean&nbsp;override,
+                    boolean&nbsp;append,
+                    java.lang.String&nbsp;insertTag,
+                    java.lang.String&nbsp;startTag,
+                    java.lang.String&nbsp;endTag)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFiles()"><!-- --></A><H3>
+getFiles</H3>
+<PRE>
+public java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.Files.File</A>&gt; <B>getFiles</B>()</PRE>
+<DL>
+<DD>需要生成的文件
+<P>
+<DD><DL>
+<DT><B>参数:</B><DD><CODE>file</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFiles(java.util.List)"><!-- --></A><H3>
+setFiles</H3>
+<PRE>
+public void <B>setFiles</B>(java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.Files.File</A>&gt;&nbsp;file)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Database.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Files.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Files.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;<A HREF="#nested_class_summary">嵌套</A>&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 327 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.GenAll.html

@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+ConfigModel.GenAll
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="ConfigModel.GenAll";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.GenAll.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.GenAll.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;<A HREF="#nested_class_summary">嵌套</A>&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.model</FONT>
+<BR>
+类 ConfigModel.GenAll</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.model.ConfigModel.GenAll</B>
+</PRE>
+<DL>
+<DT><B>包容类:</B><DD><A HREF="../../../../com/hotent/cgm/model/ConfigModel.html" title="com.hotent.cgm.model 中的类">ConfigModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ConfigModel.GenAll</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>嵌套类摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.GenAll.File</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html#ConfigModel.GenAll(java.lang.String)">ConfigModel.GenAll</A></B>(java.lang.String&nbsp;tableNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.GenAll.File</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html#getFile()">getFile</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html#getTableNames()">getTableNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html#setFile(java.util.List)">setFile</A></B>(java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.GenAll.File</A>&gt;&nbsp;file)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.html#setTableNames(java.lang.String)">setTableNames</A></B>(java.lang.String&nbsp;tableNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ConfigModel.GenAll(java.lang.String)"><!-- --></A><H3>
+ConfigModel.GenAll</H3>
+<PRE>
+public <B>ConfigModel.GenAll</B>(java.lang.String&nbsp;tableNames)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTableNames()"><!-- --></A><H3>
+getTableNames</H3>
+<PRE>
+public java.lang.String <B>getTableNames</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTableNames(java.lang.String)"><!-- --></A><H3>
+setTableNames</H3>
+<PRE>
+public void <B>setTableNames</B>(java.lang.String&nbsp;tableNames)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFile()"><!-- --></A><H3>
+getFile</H3>
+<PRE>
+public java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.GenAll.File</A>&gt; <B>getFile</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFile(java.util.List)"><!-- --></A><H3>
+setFile</H3>
+<PRE>
+public void <B>setFile</B>(java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类">ConfigModel.GenAll.File</A>&gt;&nbsp;file)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Files.File.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.GenAll.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.GenAll.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;<A HREF="#nested_class_summary">嵌套</A>&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 352 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Table.SubTable.html

@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+ConfigModel.Table.SubTable
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="ConfigModel.Table.SubTable";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Templates.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Table.SubTable.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Table.SubTable.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.model</FONT>
+<BR>
+类 ConfigModel.Table.SubTable</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.model.ConfigModel.Table.SubTable</B>
+</PRE>
+<DL>
+<DT><B>包容类:</B><DD><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html" title="com.hotent.cgm.model 中的类">ConfigModel.Table</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ConfigModel.Table.SubTable</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#ConfigModel.Table.SubTable(java.lang.String, java.lang.String, java.util.Map)">ConfigModel.Table.SubTable</A></B>(java.lang.String&nbsp;tableName,
+                           java.lang.String&nbsp;foreignKey,
+                           java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;vars)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#getForeignKey()">getForeignKey</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#getTableName()">getTableName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#getVars()">getVars</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#setForeignKey(java.lang.String)">setForeignKey</A></B>(java.lang.String&nbsp;foreignKey)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#setTableName(java.lang.String)">setTableName</A></B>(java.lang.String&nbsp;tableName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html#setVars(java.util.Map)">setVars</A></B>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;vars)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ConfigModel.Table.SubTable(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+ConfigModel.Table.SubTable</H3>
+<PRE>
+public <B>ConfigModel.Table.SubTable</B>(java.lang.String&nbsp;tableName,
+                                  java.lang.String&nbsp;foreignKey,
+                                  java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;vars)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTableName()"><!-- --></A><H3>
+getTableName</H3>
+<PRE>
+public java.lang.String <B>getTableName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTableName(java.lang.String)"><!-- --></A><H3>
+setTableName</H3>
+<PRE>
+public void <B>setTableName</B>(java.lang.String&nbsp;tableName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getForeignKey()"><!-- --></A><H3>
+getForeignKey</H3>
+<PRE>
+public java.lang.String <B>getForeignKey</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setForeignKey(java.lang.String)"><!-- --></A><H3>
+setForeignKey</H3>
+<PRE>
+public void <B>setForeignKey</B>(java.lang.String&nbsp;foreignKey)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVars()"><!-- --></A><H3>
+getVars</H3>
+<PRE>
+public java.util.Map&lt;java.lang.String,java.lang.String&gt; <B>getVars</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setVars(java.util.Map)"><!-- --></A><H3>
+setVars</H3>
+<PRE>
+public void <B>setVars</B>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;vars)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Templates.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Table.SubTable.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Table.SubTable.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;嵌套&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 402 - 0
metadata/codegen/doc/javadoc/com/hotent/cgm/model/ConfigModel.Table.html

@@ -0,0 +1,402 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_37) on Tue Jan 08 14:20:48 CST 2013 -->
+<TITLE>
+ConfigModel.Table
+</TITLE>
+
+<META NAME="date" CONTENT="2013-01-08">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="ConfigModel.Table";
+    }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Table.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Table.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;<A HREF="#nested_class_summary">嵌套</A>&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.hotent.cgm.model</FONT>
+<BR>
+类 ConfigModel.Table</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="继承者 "><B>com.hotent.cgm.model.ConfigModel.Table</B>
+</PRE>
+<DL>
+<DT><B>包容类:</B><DD><A HREF="../../../../com/hotent/cgm/model/ConfigModel.html" title="com.hotent.cgm.model 中的类">ConfigModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ConfigModel.Table</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>嵌套类摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类">ConfigModel.Table.SubTable</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>构造方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#ConfigModel.Table(java.lang.String)">ConfigModel.Table</A></B>(java.lang.String&nbsp;tableName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>方法摘要</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#addSubTable(java.lang.String, java.lang.String, java.util.Map)">addSubTable</A></B>(java.lang.String&nbsp;tableName,
+            java.lang.String&nbsp;foreignKey,
+            java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;vars)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类">ConfigModel.Table.SubTable</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#getSubtable()">getSubtable</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;子表列表</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#getTableName()">getTableName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表名</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#getVariable()">getVariable</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表对应的自定义变量。</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#setSubtable(java.util.List)">setSubtable</A></B>(java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类">ConfigModel.Table.SubTable</A>&gt;&nbsp;subtable)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#setTableName(java.lang.String)">setTableName</A></B>(java.lang.String&nbsp;tableName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.html#setVariable(java.util.Map)">setVariable</A></B>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;variable)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>从类 java.lang.Object 继承的方法</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>构造方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ConfigModel.Table(java.lang.String)"><!-- --></A><H3>
+ConfigModel.Table</H3>
+<PRE>
+public <B>ConfigModel.Table</B>(java.lang.String&nbsp;tableName)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>方法详细信息</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTableName()"><!-- --></A><H3>
+getTableName</H3>
+<PRE>
+public java.lang.String <B>getTableName</B>()</PRE>
+<DL>
+<DD>表名
+<P>
+<DD><DL>
+
+<DT><B>返回:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTableName(java.lang.String)"><!-- --></A><H3>
+setTableName</H3>
+<PRE>
+public void <B>setTableName</B>(java.lang.String&nbsp;tableName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addSubTable(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+addSubTable</H3>
+<PRE>
+public void <B>addSubTable</B>(java.lang.String&nbsp;tableName,
+                        java.lang.String&nbsp;foreignKey,
+                        java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;vars)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVariable()"><!-- --></A><H3>
+getVariable</H3>
+<PRE>
+public java.util.Map&lt;java.lang.String,java.lang.String&gt; <B>getVariable</B>()</PRE>
+<DL>
+<DD>表对应的自定义变量。
+ 自定义标量在模版中使用
+ 使用方法:
+ 如果在table 节点下定义了一个 basepath的变量
+ 在模版中如下使用。
+  ${table.variable.basepath}
+<P>
+<DD><DL>
+
+<DT><B>返回:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setVariable(java.util.Map)"><!-- --></A><H3>
+setVariable</H3>
+<PRE>
+public void <B>setVariable</B>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;variable)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSubtable()"><!-- --></A><H3>
+getSubtable</H3>
+<PRE>
+public java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类">ConfigModel.Table.SubTable</A>&gt; <B>getSubtable</B>()</PRE>
+<DL>
+<DD>子表列表
+<P>
+<DD><DL>
+
+<DT><B>返回:</B><DD></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSubtable(java.util.List)"><!-- --></A><H3>
+setSubtable</H3>
+<PRE>
+public void <B>setSubtable</B>(java.util.List&lt;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类">ConfigModel.Table.SubTable</A>&gt;&nbsp;subtable)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="跳过导航链接"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>类</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.GenAll.File.html" title="com.hotent.cgm.model 中的类"><B>上一个类</B></A>&nbsp;
+&nbsp;<A HREF="../../../../com/hotent/cgm/model/ConfigModel.Table.SubTable.html" title="com.hotent.cgm.model 中的类"><B>下一个类</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?com/hotent/cgm/model/ConfigModel.Table.html" target="_top"><B>框架</B></A>  &nbsp;
+&nbsp;<A HREF="ConfigModel.Table.html" target="_top"><B>无框架</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>所有类</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  摘要:&nbsp;<A HREF="#nested_class_summary">嵌套</A>&nbsp;|&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_summary">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_summary">方法</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+详细信息:&nbsp;字段&nbsp;|&nbsp;<A HREF="#constructor_detail">构造方法</A>&nbsp;|&nbsp;<A HREF="#method_detail">方法</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>

+ 39 - 0
metadata/codegen/doc/javadoc/index.html

@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Tue Jan 08 14:20:49 CST 2013-->
+<TITLE>
+生成的文档(无标题)
+</TITLE>
+<SCRIPT type="text/javascript">
+    targetPage = "" + window.location.search;
+    if (targetPage != "" && targetPage != "undefined")
+        targetPage = targetPage.substring(1);
+    if (targetPage.indexOf(":") != -1)
+        targetPage = "undefined";
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+</HEAD>
+<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
+<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()">
+<FRAME src="overview-frame.html" name="packageListFrame" title="所有软件包">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="所有类和接口(除了非静态嵌套类型)">
+</FRAMESET>
+<FRAME src="overview-summary.html" name="classFrame" title="软件包、类和接口描述" scrolling="yes">
+<NOFRAMES>
+<H2>
+框架警报</H2>
+
+<P>
+请使用框架功能查看此文档。如果看到此消息,则表明您使用的是不支持框架的 Web 客户机。
+<BR>
+链接到<A HREF="overview-summary.html">非框架版本。</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>

+ 29 - 0
metadata/codegen/doc/javadoc/stylesheet.css

@@ -0,0 +1,29 @@
+/* Javadoc 样式表 */
+
+/* 在此处定义颜色、字体和其他样式属性以覆盖默认值 */
+
+/* 页面背景颜色 */
+body { background-color: #FFFFFF; color:#000000 }
+
+/* 标题 */
+h1 { font-size: 145% }
+
+/* 表格颜色 */
+.TableHeadingColor     { background: #CCCCFF; color:#000000 } /* 深紫色 */
+.TableSubHeadingColor  { background: #EEEEFF; color:#000000 } /* 淡紫色 */
+.TableRowColor         { background: #FFFFFF; color:#000000 } /* 白色 */
+
+/* 左侧的框架列表中使用的字体 */
+.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+
+/* 导航栏字体和颜色 */
+.NavBarCell1    { background-color:#EEEEFF; color:#000000} /* 淡紫色 */
+.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* 深蓝色 */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+

二進制
metadata/codegen/doc/代码生成器使用方法.doc


二進制
metadata/codegen/refLib/codegen.jar


二進制
metadata/codegen/refLib/db2jcc-4.jar


二進制
metadata/codegen/refLib/dom4j-1.6.1.jar


二進制
metadata/codegen/refLib/mysql.jar


二進制
metadata/codegen/refLib/ojdbc6.jar


文件差異過大導致無法顯示
+ 931 - 0
metadata/codegen/template/dbdoc.xml


+ 82 - 0
metadata/codegen/template/detail.ftl

@@ -0,0 +1,82 @@
+<#import "function.ftl" as func>
+<#assign class=model.variables.class>
+<#assign tabcomment=model.tabComment>
+<#assign classVar=model.variables.classVar>
+<#assign system=vars.system>
+<#assign package=model.variables.package>
+<#assign commonList=model.commonList>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<#assign subtables=model.subTableList>
+<#assign flowRunId="">
+<#if model.variables.flowDefKey?exists>
+<#assign flowRunId=func.convertUnderLine(model.variables.flowRunId)>
+</#if>
+<%@page language="java" pageEncoding="UTF-8"%>
+<%@include file="/commons/include/html_doctype.html"%>
+
+<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<c:set var="ctx" value="<#noparse>${pageContext.request.contextPath}</#noparse>"/>
+<script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/scriptMgr.js"></script>
+<script type="text/javascript">
+	function afterOnload(){
+		var afterLoadJs=[
+		     			'<#noparse>${ctx}</#noparse>/js/hotent/formdata.js',
+		     			'<#noparse>${ctx}</#noparse>/js/hotent/subform.js'
+		 ];
+		ScriptMgr.load({
+			scripts : afterLoadJs
+		});
+	}
+</script>
+<table class="table-detail" cellpadding="0" cellspacing="0" border="0">
+	<#list commonList as col> 
+	<#assign colName=func.convertUnderLine(col.columnName)>
+	
+	<#if colName!=flowRunId >
+	<tr>
+		<th width="20%">${col.comment}:</th>
+		<#if col.colType=="java.util.Date">
+		<td>
+		<fmt:formatDate value="<#noparse>${</#noparse>${classVar}.${colName}}" pattern="yyyy-MM-dd"/>
+		</td>
+		<#else>
+		<td><#noparse>${</#noparse>${classVar}.${colName}}</td>
+		</#if>
+	</tr>
+	</#if>
+	</#list>
+</table>
+<#if subtables?exists && subtables?size != 0>
+<#list subtables as table>
+<#assign foreignKey=func.convertUnderLine(table.foreignKey) >
+<table class="table-grid table-list" cellpadding="1" cellspacing="1">
+	<tr>
+		<td colspan="${table.columnList?size-2}" style="text-align: center">${table.tableName } :${table.tabComment }</td>
+	</tr>
+	<tr>
+		<#list table.columnList as col>
+		<#assign colName=func.convertUnderLine(col.columnName?lower_case)>
+		<#if !(col.isPK) && colName?lower_case!=foreignKey?lower_case>							                              
+		<th>${col.comment}</th>
+		</#if>									
+		</#list>
+	</tr>	
+	<c:forEach items="<#noparse>${</#noparse>${table.variables.classVar}List}" var="${table.variables.classVar}Item" varStatus="status">
+		<tr>
+			<#list table.columnList as col>												
+			<#assign colName=func.convertUnderLine(col.columnName)>
+			<#if (col.isPK)>
+				<input type="hidden" id="${colName}" name="${colName}" value="<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}"  class="inputText"/>
+			<#elseif (col.colType=="java.util.Date")>
+				<td style="text-align: center"><fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}' pattern='yyyy-MM-dd'/></td>								
+			<#elseif colName?lower_case!=foreignKey?lower_case>
+				<td style="text-align: center"><#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}</td>								
+			</#if>
+			</#list>
+		</tr>
+	</c:forEach>
+</table>
+	</#list>
+	</#if>

+ 243 - 0
metadata/codegen/template/easyController.ftl

@@ -0,0 +1,243 @@
+<#import "function.ftl" as func>
+<#assign package=model.variables.package>
+<#assign class=model.variables.class>
+<#assign system=vars.system>
+<#assign comment=model.tabComment>
+<#assign subtables=model.subTableList>
+<#assign classVar=model.variables.classVar>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+package ${vars.packagePre}.${system}.controller.${package};
+
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+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 ${vars.packagePre}.platform.annotion.Action;
+import ${vars.packagePre}.core.page.PageList;
+import ${vars.packagePre}.core.util.BeanUtils;
+import ${vars.packagePre}.core.web.ResultMessage;
+import ${vars.packagePre}.core.web.controller.BaseController;
+import ${vars.packagePre}.core.web.query.QueryFilter;
+import ${vars.packagePre}.core.web.util.RequestUtil;
+import ${vars.packagePre}.core.api.util.ContextUtil;
+import ${vars.packagePre}.platform.model.system.SysUser;
+
+<#if func.supportFlow(model)>
+import ${vars.packagePre}.platform.model.bpm.ProcessRun;
+import ${vars.packagePre}.platform.service.bpm.ProcessRunService;
+import ${vars.packagePre}.core.bpm.BpmAspectUtil;
+</#if>
+
+import ${vars.packagePre}.${system}.model.${package}.${class};
+import ${vars.packagePre}.${system}.service.${package}.${class}Service;
+<#if func.isSubTableExist( subtables)>
+	<#list subtables as table>
+import ${vars.packagePre}.${system}.model.${table.variables.package}.${table.variables.class};
+	</#list>
+</#if>
+
+
+/**
+ *<pre>
+ * 对象功能:${comment} 控制器类
+ <#if vars.company?exists>
+ * 开发公司:${vars.company}
+ </#if>
+ <#if vars.developer?exists>
+ * 开发人员:${vars.developer}
+ </#if>
+ * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
+ *</pre>
+ */
+@Controller
+@RequestMapping("/${system}/${package}/${classVar}/")
+public class ${class}Controller extends BaseController
+{
+	@Resource
+	private ${class}Service ${classVar}Service;
+	<#--直接绑定工作流生成-->
+	<#if func.supportFlow(model)>
+	private final String flowKey = "${model.variables.flowKey}";	//绑定流程定义
+	@Resource
+	private ProcessRunService processRunService;
+	</#if>
+	
+	/**
+	 * 取得${comment}分页列表
+	 * @param request
+	 * @param response
+	 * @param page
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("getList")
+	@Action(description="查看${comment}分页列表")
+	@ResponseBody
+	public Object getList(HttpServletRequest request,HttpServletResponse response) throws Exception
+	{	
+		PageList list=(PageList)${classVar}Service.getAll(new QueryFilter(request,true));
+		return getMapByPageList(list);
+	}
+	
+	/**
+	 * 删除${comment}
+	 * @param request
+	 * @param response
+	 * @throws Exception
+	 */
+	@RequestMapping("del")
+	@Action(description="删除${comment}")
+	public void del(HttpServletRequest request, HttpServletResponse response) throws Exception
+	{
+		String preUrl= RequestUtil.getPrePage(request);
+		ResultMessage message=null;
+		try{
+			Long[] lAryId =RequestUtil.getLongAryByStr(request, "${pkVar}");
+			${classVar}Service.delByIds(lAryId);
+			message=new ResultMessage(ResultMessage.Success, "删除${comment}成功!");
+		}catch(Exception ex){
+			message=new ResultMessage(ResultMessage.Fail, "删除失败" + ex.getMessage());
+		}
+		addMessage(message, request);
+		response.sendRedirect(preUrl);
+	}
+	
+	
+	/**
+	 * 	编辑${comment}
+	 * @param request
+	 * @param response
+	 * @throws Exception
+	 */
+	@RequestMapping("edit")
+	@Action(description="编辑${comment}")
+	public ModelAndView edit(HttpServletRequest request) throws Exception
+	{
+		<#if func.supportFlow(model)>
+		Long taskId=RequestUtil.getLong(request,"taskId",0L);
+		Long runId=RequestUtil.getLong(request,"runId",0L);
+		</#if>
+		Long ${pkVar}=RequestUtil.getLong(request,"${pkVar}",0L);
+		String returnUrl=RequestUtil.getPrePage(request);
+		
+		${class} ${classVar}=${classVar}Service.getById(${pkVar});
+		
+		<#if func.isSubTableExist( subtables)>
+		<#list subtables as table>
+		    <#assign vars=table.variables>
+		List<${table.variables.class}> ${table.variables.classVar}List=${classVar}Service.get${vars.classVar?cap_first}List(${pkVar});
+		    </#list>
+		</#if>
+		
+		
+		ModelAndView mv=getAutoView();
+		mv.addObject("${classVar}",${classVar})
+		<#if func.isSubTableExist( subtables)>
+		     <#list subtables as table>
+							.addObject("${table.variables.classVar}List",${table.variables.classVar}List)
+		    </#list>
+		</#if>
+							.addObject("returnUrl",returnUrl)
+							<#if func.supportFlow(model)>
+							.addObject("flowKey",flowKey)
+							.addObject("taskId",taskId)
+							</#if>;
+		<#if func.supportFlow(model)>
+		//审批
+		if(taskId>0){
+			Map<String,Object> flowMap= BpmAspectUtil.getModelByTaskId(taskId);
+			mv.addAllObjects(flowMap);
+		}
+		//草稿的状态
+		else if(runId>0){
+			Map<String,Object> flowMap= BpmAspectUtil.getModelByRunId(runId);
+			mv.addAllObjects(flowMap);
+		}
+		</#if>
+		return mv;
+	}
+	
+	/**
+	 * 取得${comment}明细
+	 * @param request   
+	 * @param response
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("get")
+	@Action(description="查看${comment}明细")
+	public ModelAndView get(HttpServletRequest request, HttpServletResponse response) throws Exception
+	{
+		Long ${pkVar}=RequestUtil.getLong(request,"${pkVar}");
+		${class} ${classVar} = ${classVar}Service.getById(${pkVar});	
+		<#if func.supportFlow(model)>
+		ProcessRun processRun=processRunService.getByBusinessKey(id.toString());
+		</#if>
+		
+		ModelAndView mv= getAutoView().addObject("${classVar}",${classVar});
+		<#if func.isSubTableExist( subtables)>
+		<#list subtables as table>
+		    <#assign vars=table.variables>
+		List<${vars.class}> ${vars.classVar}List=${classVar}Service.get${vars.class}List(${pkVar});
+		mv.addObject("${vars.classVar}List",${vars.classVar}List);
+		    </#list>
+		</#if>
+		
+		
+		<#if func.supportFlow(model)>
+		if(processRun!=null){
+			mv.addObject("processRun",processRun);
+		}
+		</#if>
+		return mv;
+	}
+	
+	<#if func.supportFlow(model)>
+	
+	@RequestMapping("getMyTodoTaskJson")
+	@Action(description="查看我的${comment}任务分页列表")
+	@ResponseBody
+	public Map<String,Object> getMyTodoTaskJson(HttpServletRequest request,HttpServletResponse response) throws Exception
+	{	
+		SysUser sysUser=(SysUser)ContextUtil.getCurrentUser();
+		Long userId=sysUser.getUserId();
+		PageList list=(PageList) ${classVar}Service.getMyTodoTask(userId, new QueryFilter(request,true));
+		
+		return getMapByPageList(list);
+	}
+	
+	@RequestMapping("getMyDraftJson")
+	@Action(description="查看我的${comment}草稿")
+	@ResponseBody
+	public Map<String,Object> getMyDraftJson(HttpServletRequest request,HttpServletResponse response) throws Exception
+	{	
+		SysUser sysUser=(SysUser)ContextUtil.getCurrentUser();
+		Long userId=sysUser.getUserId();
+		PageList list=(PageList) ${classVar}Service.getMyDraft(userId, new QueryFilter(request,true));
+		
+		return getMapByPageList(list);
+	}
+	
+	@RequestMapping("getMyEndJson")
+	@Action(description="查看我结束的${comment}实例")
+	@ResponseBody
+	public Map<String,Object> getMyEndJson(HttpServletRequest request,HttpServletResponse response) throws Exception
+	{	
+		SysUser sysUser=(SysUser)ContextUtil.getCurrentUser();
+		Long userId=sysUser.getUserId();
+		PageList list=(PageList) ${classVar}Service.getMyEnd(userId, new QueryFilter(request,true));
+		return getMapByPageList(list);
+	}
+	
+	</#if>
+	
+}

+ 61 - 0
metadata/codegen/template/easyList.jsp

@@ -0,0 +1,61 @@
+<#import "function.ftl" as func>
+<#assign comment=model.tabComment>
+<#assign class=model.variables.class>
+<#assign package=model.variables.package>
+<#assign comment=model.tabComment>
+<#assign classVar=model.variables.classVar>
+<#assign system=vars.system>
+<#assign commonList=model.commonList>
+<#assign pkModel=model.pkModel>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>${comment }管理</title>
+<%@ include file="/commons/include/easyuiGet.jsp"%>
+<script type="text/javascript">
+function OperationRow(value, row, index) {
+	var editBtn = "<a href='edit.ht?${pkVar}="+row.${pkVar}+"'>编辑</a>";
+	var delBtn = "<a href='#' onclick=del('"+row.${pkVar}+"')>删除</a>";
+	var seperator = " | ";
+	return editBtn + seperator + delBtn ;
+}
+function del(id){
+	$.ajax({
+		url: '<#noparse>${ctx}</#noparse>/${system}/${package}/${classVar}/del.ht?${pkVar}='+id,
+		type: 'POST',
+		success: function(result){
+			$('#easyList').datagrid('reload'); 
+		}
+	});
+}
+
+function add(){
+	window.location.href='edit.ht';
+}
+</script>
+</head>
+
+<body class="pannel-common easyui-layout" >
+	<div id="tb" style="height:auto">
+		<a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="add()">新增</a>
+	</div>
+	
+	<table id="easyList" class="easyui-datagrid" title="${comment }列表"
+					data-options="cache:false,rownumbers:true,singleSelect:true,fit:true,fitColumns:true,pagination:true,method:'post',url:'getList.ht',toolbar:'#tb'">
+		<thead >
+			<tr>
+				<th data-options="field:'${pkVar}Id',checkbox:true,fixed:true"></th>
+				<#list model.commonList as col>
+				<#assign colName=func.convertUnderLine(col.columnName)>
+				<th data-options="field:'${colName}',width:70<#if (col.colType=="java.util.Date") >,formatter:dateFormater</#if>">${col.getComment()}</th>
+				</#list>
+				<th data-options="field:'operation',width:120,formatter:OperationRow,align:'center'">操作</th>
+			</tr>
+		</thead>
+	</table>
+	
+</body>
+</html>

+ 112 - 0
metadata/codegen/template/formController.ftl

@@ -0,0 +1,112 @@
+<#import "function.ftl" as func>
+<#assign package=model.variables.package>
+<#assign class=model.variables.class>
+<#assign system=vars.system>
+<#assign comment=model.tabComment>
+<#assign classVar=model.variables.classVar>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<#assign pkVarFistUp=pkVar?cap_first >
+
+
+<#assign subtables=model.subTableList>
+package ${vars.packagePre}.${system}.controller.${package};
+
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import ${vars.packagePre}.core.annotion.Action;
+import ${vars.packagePre}.core.util.UniqueIdUtil;
+import ${vars.packagePre}.core.web.ResultMessage;
+import ${vars.packagePre}.core.web.util.RequestUtil;
+import ${vars.packagePre}.core.web.controller.BaseFormController;
+import ${vars.packagePre}.${system}.model.${package}.${class};
+import ${vars.packagePre}.${system}.service.${package}.${class}Service;
+
+<#if func.isSubTableExist( subtables)>
+<#list subtables as table>
+import ${vars.packagePre}.${system}.model.${package}.${table.variables.class};
+</#list>
+</#if>
+/**
+ *<pre>
+ * 对象功能:${comment} 控制器类
+ <#if vars.company?exists>
+ * 开发公司:${vars.company}
+ </#if>
+ <#if vars.developer?exists>
+ * 开发人员:${vars.developer}
+ </#if>
+ * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
+ *</pre>
+ */
+@Controller
+@RequestMapping("/${system}/${package}/${classVar}/")
+public class ${class}FormController extends BaseFormController
+{
+	@Resource
+	private ${class}Service ${classVar}Service;
+	
+	/**
+	 * 添加或更新项目信息。
+	 * @param request
+	 * @param response
+	 * @param projectInfo 添加或更新的实体
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("save")
+	@Action(description="添加或更新项目信息")
+	public void save(HttpServletRequest request, HttpServletResponse response,${class} ${classVar}) throws Exception
+	{
+		String resultMsg=null;		
+		try{
+			if(${classVar}.get${pkVarFistUp}()==null||${classVar}.get${pkVarFistUp}()==0){
+				${classVar}Service.save(${classVar});
+				resultMsg=getText("添加","项目信息");
+			}else{
+				${classVar}Service.save(${classVar});
+				resultMsg=getText("更新","项目信息");
+			}
+			writeResultMessage(response.getWriter(),resultMsg,ResultMessage.Success);
+		}catch(Exception e){
+			writeResultMessage(response.getWriter(),resultMsg,ResultMessage.Fail);
+		}
+	}
+	
+	
+	/**
+	 * 在实体对象进行封装前,从对应源获取原实体
+	 * @param projectId
+	 * @param model
+	 * @return
+	 * @throws Exception
+	 */
+    @ModelAttribute
+    protected ${class} getObject(@RequestParam("${pkVar}") Long ${pkVar}) throws Exception {
+		logger.debug("enter ${class} getFormObject here....");
+		${class} ${classVar}=null;
+		if(${pkVar}!=null){
+			${classVar}=${classVar}Service.getById(${pkVar});
+		}else{
+			${classVar}= new ${class}();
+		}
+		return ${classVar};
+    }
+   
+}
+
+
+
+
+
+
+

+ 122 - 0
metadata/codegen/template/function.ftl

@@ -0,0 +1,122 @@
+<#--获取查询数据类型-->
+<#function getDataType colType start>
+<#if (colType=="long") > <#return "L">
+<#elseif (colType=="int")><#return "N">
+<#elseif (colType=="double")><#return "BD">
+<#elseif (colType=="Short")><#return "SN">
+<#elseif (colType=="Date" && start=="1")><#return "DL">
+<#elseif (colType=="Date" && start=="0")><#return "DG">
+<#else><#return "SL"></#if>
+</#function>
+
+<#--将字符串 user_id 转换为 类似userId-->
+<#function convertUnderLine field>
+<#assign rtn><#list field?split("_") as x><#if (x_index==0)><#if x?length==1>${x?upper_case}<#else>${x?lower_case}</#if><#else>${x?lower_case?cap_first}</#if></#list></#assign>
+ <#return rtn>
+</#function>
+
+
+<#function getPk model>
+<#assign rtn><#if (model.pkModel??) >${model.pkModel.columnName}<#else>"id"</#if></#assign>
+ <#return rtn>
+</#function>
+
+<#--获取主键类型-->
+<#function getPkType model>
+<#list model.columnList as col>
+<#if col.isPK>
+<#if (col.colType=="Integer")><#assign rtn>"Long"</#assign><#return rtn>
+<#else><#assign pkType=col.colType ></#if>
+</#if>
+</#list>
+<#assign rtn>${pkType}</#assign>
+<#return rtn>
+</#function>
+
+<#--获取外键类型 没有则返回Long-->
+<#function getFkType model>
+<#assign fk=model.foreignKey>
+<#list model.columnList as col>
+<#if (col.columnName?lower_case)==(fk?lower_case)>
+	<#if (col.colType=="Integer")><#assign rtn>Long</#assign><#return rtn><#else><#assign rtn>${col.colType}</#assign><#return rtn></#if>
+</#if>
+</#list>
+<#assign rtn>Long</#assign><#return rtn>
+</#function>
+
+<#function getPkVar model>
+<#assign pkModel=model.pkModel>
+<#assign rtn><#if (model.pkModel??) ><#noparse>${</#noparse>${model.pkModel.columnName}<#noparse>}</#noparse><#else>"id"</#if></#assign>
+ <#return rtn>
+</#function>
+
+
+<#function getJdbcType dataType>
+<#assign dbtype=dataType?lower_case>
+<#assign rtn>
+<#if  dbtype?ends_with("int") || (dbtype=="double") || (dbtype=="float") || (dbtype=="decimal") || dbtype?ends_with("number")||dbtype?starts_with("numeric") >
+NUMERIC
+<#elseif (dbtype?index_of("char")>-1)  >
+VARCHAR
+<#elseif (dbtype=="date") || (dbtype=="datetime") >
+DATE
+<#elseif (dbtype?index_of("timestamp")>-1)>
+TIMESTAMP
+<#elseif (dbtype?ends_with("text") || dbtype?ends_with("clob")) >
+CLOB
+</#if></#assign>
+ <#return rtn?trim>
+</#function>
+
+<#function isSubTableExist subtables>
+<#assign rtn=false>
+<#if subtables?exists && subtables?size!=0>
+	<#assign rtn=true>
+</#if>
+<#return rtn>
+</#function>
+
+<#function supportFlow model>
+	<#assign rtn=false>
+	<#if model.variables.flowKey?exists>
+		<#assign rtn=true>
+	</#if>
+	<#return rtn>
+</#function>
+
+<#function getComment table>
+	<#assign comment=table.tabComment>
+	<#if !comment?exists>
+		<#assign comment=table.tableName>
+	</#if>
+	<#return comment>
+</#function>
+<#-- 解释字段类型 -->
+<#function getColType type>
+	<#if (type=="Integer")>
+		<#return "Long">
+	<#elseif type=="java.util.Date"||type=="timestamp">
+		<#return "Date">
+	<#else> <#return type>
+	</#if>	
+</#function>
+
+<#function getJdbcDataType dataType>
+<#assign dbtype=dataType?lower_case>
+<#assign rtn>
+<#if  dbtype?ends_with("int") || (dbtype=="double") || (dbtype=="float") || (dbtype=="decimal") || dbtype?ends_with("number")||dbtype?starts_with("numeric") >
+FieldPool.DATATYPE_NUMBER
+<#elseif (dbtype?index_of("char")>-1)  >
+FieldPool.DATATYPE_VARCHAR
+<#elseif (dbtype=="date") || (dbtype=="datetime") >
+FieldPool.DATATYPE_DATE
+<#elseif (dbtype?index_of("timestamp")>-1)>
+FieldPool.DATATYPE_DATE
+<#elseif (dbtype?ends_with("text") || dbtype?ends_with("clob")) >
+FieldPool.DATATYPE_CLOB
+</#if></#assign>
+ <#return rtn?trim>
+</#function>
+
+
+

+ 35 - 0
metadata/codegen/template/mobiledetail.ftl

@@ -0,0 +1,35 @@
+
+<#assign className=model.variables.class>
+<#assign classVarName=model.variables.classVar>
+
+/**
+* ${className}Detail
+*/
+
+Ext.define('mobile.${className}Detail', {
+    extend: 'Ext.form.Panel',
+    
+    name: '${classVarName}Detail',
+
+    constructor: function (config) {
+    	
+    	config = config || {};
+    	
+    	this.taskId = config.taskId;
+    	
+    	Ext.apply(config,{
+    		title:'${className}',
+    		items: [
+    			{
+	    			xtype: 'fieldset',
+		    		items:[
+		    			
+		    		]
+	    		}
+    		]
+    	});
+    	
+    	this.callParent([config]);
+    }
+    
+});

+ 149 - 0
metadata/codegen/template/modify.ftl

@@ -0,0 +1,149 @@
+<#import "function.ftl" as func>
+<#assign class=model.variables.class>
+<#assign tabcomment=model.tabComment>
+<#assign classVar=model.variables.classVar>
+<#assign system=vars.system>
+<#assign package=model.variables.package>
+<#assign commonList=model.commonList>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<#assign subtables=model.subTableList>
+<#assign flowRunId="">
+<#if model.variables.flowDefKey?exists>
+<#assign flowRunId=func.convertUnderLine(model.variables.flowRunId)>
+</#if>
+<%@page language="java" pageEncoding="UTF-8"%>
+<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<c:set var="ctx" value="<#noparse>${pageContext.request.contextPath}</#noparse>"/>
+<script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/scriptMgr.js"></script>
+<script type="text/javascript">
+	function afterOnload(){
+		var afterLoadJs=[
+		     			'<#noparse>${ctx}</#noparse>/js/hotent/formdata.js',
+		     			'<#noparse>${ctx}</#noparse>/js/hotent/subform.js'
+		 ];
+		ScriptMgr.load({
+			scripts : afterLoadJs
+		});
+	}
+</script>
+
+<table class="table-detail" cellpadding="0" cellspacing="0" border="0" type="main">
+	<#list commonList as col>
+	<#assign colName=func.convertUnderLine(col.columnName)>
+	<#if colName!=flowRunId>
+	<#if (col.colType=="java.util.Date") >
+	<tr>
+		<th width="20%">${col.comment}: <#if (col.isNotNull) > <span class="required">*</span></#if></th>
+		<td><input type="text" id="${colName}" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${classVar}.${colName}}' pattern='yyyy-MM-dd'/>" class="inputText date" validate="{date:true<#if col.isNotNull>,required:true</#if>}" /></td>
+	</tr>
+	<#else>
+	<tr>
+		<th width="20%">${col.comment}: <#if (col.isNotNull) > <span class="required">*</span></#if></th>
+		<td><input type="text" id="${colName}" name="${colName}" value="<#noparse>${</#noparse>${classVar}.${colName}}"  class="inputText" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String'&& col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}"  /></td>
+	</tr>
+	</#if>
+	</#if>
+	</#list>
+</table>
+<#if subtables?exists && subtables?size != 0>
+<#list subtables as table>
+<#assign foreignKey=func.convertUnderLine(table.foreignKey) >
+<table class="table-grid table-list" cellpadding="1" cellspacing="1" id="${table.variables.classVar}" formtype="form" type="subtable">
+	<tr>
+		<td colspan="${table.columnList?size-1}">
+			<div class="group" align="left">
+	   			<a id="btnAdd" class="link add">添加</a>
+    		</div>
+    		<div align="center">
+			${table.tableName } : ${table.tabComment }
+    		</div>
+		</td>
+	</tr>
+	<tr>
+		<#list table.columnList as col>
+		<#assign colName=func.convertUnderLine(col.columnName?lower_case)>
+		<#if !(col.isPK)&& colName?lower_case!=(foreignKey)?lower_case>							                              
+		<th>${col.comment}</th>
+		</#if>									
+		</#list>
+	</tr>
+	<c:forEach items="<#noparse>${</#noparse>${table.variables.classVar}List}" var="${table.variables.classVar}Item" varStatus="status">
+	    <tr type="subdata">
+	        <#list table.columnList as col>												
+		    <#assign colName=func.convertUnderLine(col.columnName)>
+		    <#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
+		    <#if (col.colType=="java.util.Date")>
+			<td style="text-align: center" name="${colName}"><fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}' pattern='yyyy-MM-dd'/></td>								
+		    <#else >
+		    <td style="text-align: center" name="${colName}"><#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}</td>
+		    </#if>
+		  	</#if>
+		    </#list>
+		     <#list table.columnList as col>												
+		    <#assign colName=func.convertUnderLine(col.columnName)>
+		    <#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
+		    <#if (col.colType=="java.util.Date")>
+		    <input type="hidden" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}' pattern='yyyy-MM-dd'/>" class="inputText date"/>
+		    <#else >
+			<input type="hidden" name="${colName}" value="<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}"/>
+		    </#if>
+		  	</#if>
+		    </#list>
+	    </tr>
+	</c:forEach>
+	<tr type="append" style="display:none;">
+    <#list table.columnList as col>												
+    <#assign colName=func.convertUnderLine(col.columnName)>
+    <#assign foreignKey=func.convertUnderLine(table.foreignKey) >
+	<#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
+	<#if (col.colType=="java.util.Date")>
+		<td style="text-align: center" name="${colName}"></td>								
+    <#else >
+    	<td style="text-align: center" name="${colName}"></td>
+    </#if>
+  	</#if>
+    </#list>
+    	<#list table.columnList as col>												
+    <#assign colName=func.convertUnderLine(col.columnName)>
+    <#assign foreignKey=func.convertUnderLine(table.foreignKey) >
+	<#if ( !col.isPK && colName?lower_case!=foreignKey?lower_case)>
+	<#if (col.colType=="java.util.Date")>
+    	<input type="hidden" name="${colName}" value="" class="inputText date"/>
+    <#else >
+    	<input type="hidden" name="${colName}" value=""/>
+    </#if>
+  	</#if>
+    </#list>
+	</tr>
+</table>
+</#list>
+</#if>
+<input type="hidden" name="${pkVar}" value="<#noparse>${</#noparse>${classVar}.${pkVar}<#noparse>}</#noparse>" />
+<#if subtables?exists && subtables?size != 0>
+<#list subtables as table>
+<#assign foreignKey=func.convertUnderLine(table.foreignKey) >
+<form id="${table.variables.classVar}Form" style="display:none">
+	<table class="table-detail" cellpadding="0" cellspacing="0" border="0">
+		<#list table.columnList as col>	
+		<#assign colName=func.convertUnderLine(col.columnName)>
+		<#if !col.isPK && colName?lower_case!=foreignKey?lower_case>
+		<#if (col.colType=="java.util.Date")>
+		<tr>
+			<th width="20%">${col.comment}: <#if col.isNotNull> <span class="required">*</span></#if></th>
+			<td><input type="text" name="${colName}" value="" class="inputText date" validate="{date:true<#if col.isNotNull>,required:true</#if>}"/></td>
+		</tr>
+		
+		<#else>
+		<tr>
+			<th width="20%">${col.comment}: <#if col.isNotNull> <span class="required">*</span></#if></th>
+			<td><input type="text" name="${colName}" value=""  class="inputText" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String' && col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}"/></td>
+		</tr>
+		</#if>
+		</#if>
+		</#list>
+	</table>
+</form>
+</#list>
+</#if>

+ 101 - 0
metadata/codegen/template/modifyPage.ftl

@@ -0,0 +1,101 @@
+<#import "function.ftl" as func>
+<#assign class=model.variables.class>
+<#assign tabcomment=model.tabComment>
+<#assign classVar=model.variables.classVar>
+<#assign system=vars.system>
+<#assign package=model.variables.package>
+<#assign commonList=model.commonList>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<#assign subtables=model.subTableList>
+<#assign flowRunId="">
+<#if model.variables.flowDefKey?exists>
+<#assign flowRunId=func.convertUnderLine(model.variables.flowRunId)>
+</#if>
+<%@page language="java" pageEncoding="UTF-8"%>
+<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<c:set var="ctx" value="<#noparse>${pageContext.request.contextPath}</#noparse>"/>
+<script type="text/javascript" src="<#noparse>${ctx}</#noparse>/js/hotent/scriptMgr.js"></script>
+<script type="text/javascript">
+	function afterOnload(){
+		var afterLoadJs=[
+		     			'<#noparse>${ctx}</#noparse>/js/hotent/formdata.js',
+		     			'<#noparse>${ctx}</#noparse>/js/hotent/subform.js'
+		 ];
+		ScriptMgr.load({
+			scripts : afterLoadJs
+		});
+	}
+</script>
+
+<table class="table-detail" cellpadding="0" cellspacing="0" border="0" type="main">
+	<#list commonList as col>
+	<#assign colName=func.convertUnderLine(col.columnName)>
+	<#if (col.colType=="java.util.Date") >
+	<tr>
+		<th width="20%">${col.comment}: <#if (col.isNotNull) > <span class="required">*</span></#if></th>
+		<td><input type="text" id="${colName}" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${classVar}.${colName}}' pattern='yyyy-MM-dd'/>" validate="{<#if col.isNotNull>required:true<#else>required:false</#if>,date:true}" class="inputText date"/></td>
+	</tr>
+	<#else>
+	<tr>
+		<th width="20%">${col.comment}: <#if (col.isNotNull) > <span class="required">*</span></#if></th>
+		<td><input type="text" id="${colName}" name="${colName}" value="<#noparse>${</#noparse>${classVar}.${colName}}" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String' && col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}" class="inputText"/></td>
+	</tr>
+	</#if>
+	</#list>
+</table>
+<#if subtables?exists && subtables?size!=0>
+<#list subtables as table>
+<table class="table-grid table-list" cellpadding="1" cellspacing="1" type="subtable" formType="page" id="${table.variables.classVar}">
+	<tr>
+		<td colspan="${table.columnList?size-1}">
+			<div class="group" align="left">
+	   			<a id="btnAdd" class="link add">添加</a>
+    		</div>
+    		<div align="center">
+			<#if table.tabComment?exists>${table.tabComment}<#else>${table.tableName}</#if>
+    		</div>
+		</td>
+	</tr>
+	<tr>
+		<#list table.columnList as col>
+		<#assign colName=func.convertUnderLine(col.columnName?lower_case)>
+		<#assign foreignKey=func.convertUnderLine(table.foreignKey)>
+		<#if !(col.isPK)&& colName?lower_case!=foreignKey?lower_case>							                              
+		<th>${col.comment}</th>
+		</#if>									
+		</#list>
+	</tr>
+	<c:forEach items="<#noparse>${</#noparse>${table.variables.classVar}List}" var="${table.variables.classVar}Item" varStatus="status">
+	    <tr type="subdata">
+	        <#list table.columnList as col>												
+		    <#assign colName=func.convertUnderLine(col.columnName)>
+		    <#assign foreignKey=func.convertUnderLine(table.foreignKey)>
+		    <#if  !(col.isPK)&&colName?lower_case!=foreignKey?lower_case>
+		    <#if (col.colType=="java.util.Date")>
+			<td style="text-align: center"><input type="text" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName?lower_case}}' pattern='yyyy-MM-dd'/>" validate="{<#if col.isNotNull>required:true<#else>required:false</#if>,date:true}" class="inputText date"/></td>								
+		    <#else>
+		    <td style="text-align: center"><input type="text" name="${colName}" value="<#noparse>${</#noparse>${table.variables.classVar}Item.${colName}}" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String' && col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}" class="inputText"/></td>
+		    </#if>
+		    </#if>
+		    </#list>
+	    </tr>
+	</c:forEach>
+	<tr type="append" style="display:none;">
+        <#list table.columnList as col>												
+	    <#assign colName=func.convertUnderLine(col.columnName)>
+	    <#assign foreignKey=func.convertUnderLine(table.foreignKey)>
+	    <#if  !(col.isPK)&&colName?lower_case!=foreignKey?lower_case>
+	    <#if (col.colType=="java.util.Date")>
+		<td style="text-align: center"><input type="text" name="${colName}" value="<fmt:formatDate value='<#noparse>${</#noparse>${table.variables.classVar}Item.${colName?lower_case}}' pattern='yyyy-MM-dd'/>" validate="{<#if col.isNotNull>required:true<#else>required:false</#if>,date:true}" class="inputText date"/></td>								
+	    <#else>
+	    <td style="text-align: center"><input type="text" name="${colName}" value="" validate="{<#if col.isNotNull>required:true<#else>required:false</#if><#if col.colType=='String' && col.length<1000>,maxlength:${col.length}</#if><#if col.colType=='Integer'|| col.colType=='Long'||col.colType=='Float'>,number:true </#if>}" class="inputText"/></td>
+	    </#if>
+	    </#if>
+	    </#list>
+    </tr>
+</table>
+</#list>
+</#if>
+<input type="hidden" name="${pkVar}" value="<#noparse>${</#noparse>${classVar}.${pkVar}<#noparse>}</#noparse>" />

+ 61 - 0
metadata/codegen/template/myEasyDraftList.jsp

@@ -0,0 +1,61 @@
+<#import "function.ftl" as func>
+<#assign comment=model.tabComment>
+<#assign class=model.variables.class>
+<#assign package=model.variables.package>
+<#assign classVar=model.variables.classVar>
+<#assign system=vars.system>
+<#assign commonList=model.commonList>
+<#assign pkModel=model.pkModel>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>${comment }管理</title>
+<%@ include file="/commons/include/easyuiGet.jsp"%>
+<script type="text/javascript">
+function OperationRow(value, row, index) {
+	var editBtn = "<a href='edit.ht?${pkVar}="+row.${pkVar}+"&runId="+row.runId+"'>启动流程</a>";
+	var delBtn = "<a href='#' onclick=del('"+row.${pkVar}+"')>删除</a>";
+	
+	return editBtn +"|" + delBtn ;
+}
+
+function del(id){
+	$.ajax({
+		url: '<#noparse>${ctx}</#noparse>/${system}/${package}/${classVar}/del.ht?${pkVar}='+id,
+		type: 'POST',
+		success: function(result){
+			$('#easyList').datagrid('reload'); 
+		}
+	});
+}
+
+function add(){
+	window.location.href='edit.ht';
+}
+</script>
+</head>
+
+<body class="pannel-common easyui-layout" >
+	<div id="tb" style="height:auto">
+		<a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="add()">新增</a>
+	</div>
+	
+	<table id="easyList" class="easyui-datagrid" title="${comment }列表"
+					data-options="cache:false,rownumbers:true,singleSelect:true,fit:true,fitColumns:true,pagination:true,method:'post',url:'getMyDraftJson.ht',toolbar:'#tb'">
+		<thead >
+			<tr>
+				<th data-options="field:'${pkVar}Id',checkbox:true,fixed:true"></th>
+				<#list model.commonList as col>
+				<#assign colName=func.convertUnderLine(col.columnName)>
+				<th data-options="field:'${colName}',width:70<#if (col.colType=="java.util.Date") >,formatter:dateFormater</#if>">${col.getComment()}</th>
+				</#list>
+				<th data-options="field:'operation',width:120,formatter:OperationRow,align:'center'">操作</th>
+			</tr>
+		</thead>
+	</table>
+	
+</body>
+</html>

+ 47 - 0
metadata/codegen/template/myEasyEndList.jsp

@@ -0,0 +1,47 @@
+<#import "function.ftl" as func>
+<#assign comment=model.tabComment>
+<#assign class=model.variables.class>
+<#assign package=model.variables.package>
+<#assign comment=model.tabComment>
+<#assign classVar=model.variables.classVar>
+<#assign system=vars.system>
+<#assign commonList=model.commonList>
+<#assign pkModel=model.pkModel>
+<#assign pk=func.getPk(model) >
+<#assign pkVar=func.convertUnderLine(pk) >
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>${comment }管理</title>
+<%@ include file="/commons/include/easyuiGet.jsp"%>
+<script type="text/javascript">
+function OperationRow(value, row, index) {
+	var editBtn = "<a href='get.ht?${pkVar}="+row.${pkVar}+"&runId="+row.runId+"'>明细</a>";
+	return editBtn ;
+}
+
+</script>
+</head>
+
+<body class="pannel-common easyui-layout" >
+	<div id="tb" style="height:auto">
+		<a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="add()">新增</a>
+	</div>
+	
+	<table id="easyList" class="easyui-datagrid" title="${comment }列表"
+					data-options="cache:false,rownumbers:true,singleSelect:true,fit:true,fitColumns:true,pagination:true,method:'post',url:'getMyEndJson.ht',toolbar:'#tb'">
+		<thead >
+			<tr>
+				<th data-options="field:'${pkVar}Id',checkbox:true,fixed:true"></th>
+				<#list model.commonList as col>
+				<#assign colName=func.convertUnderLine(col.columnName)>
+				<th data-options="field:'${colName}',width:70<#if (col.colType=="java.util.Date") >,formatter:dateFormater</#if>">${col.getComment()}</th>
+				</#list>
+				<th data-options="field:'operation',width:120,formatter:OperationRow,align:'center'">操作</th>
+			</tr>
+		</thead>
+	</table>
+	
+</body>
+</html>

+ 83 - 0
resources/com/haiya/produce/maper/HyVotePrivilege.map.xml

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.haiya.produce.model.oa.HyVotePrivilege">
+	<resultMap id="HyVotePrivilege" type="com.haiya.produce.model.oa.HyVotePrivilege">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="score" column="SCORE" jdbcType="NUMERIC"/>
+		<result property="num" column="NUM" jdbcType="NUMERIC"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID,SCORE,NUM
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(score)"> AND SCORE  =#{score} </if>
+			<if test="@Ognl@isNotEmpty(num)"> AND NUM  =#{num} </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.haiya.produce.model.oa.HyVotePrivilege">
+		INSERT INTO HY_VOTE_PRIVILEGE
+		(ID,SCORE,NUM)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{score,jdbcType=NUMERIC}, #{num,jdbcType=NUMERIC} )
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM HY_VOTE_PRIVILEGE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.haiya.produce.model.oa.HyVotePrivilege">
+		UPDATE HY_VOTE_PRIVILEGE SET
+		SCORE=#{score,jdbcType=NUMERIC},
+		NUM=#{num,jdbcType=NUMERIC}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="HyVotePrivilege">
+		SELECT <include refid="columns"/>
+		FROM HY_VOTE_PRIVILEGE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="HyVotePrivilege">
+		SELECT <include refid="columns"/>
+		FROM HY_VOTE_PRIVILEGE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<select id="getAllForRight" resultMap="HyVotePrivilege">
+		SELECT <include refid="columns"/>
+		FROM HY_VOTE_PRIVILEGE WHERE ID IN (
+			select t.OBJECT_ID from (
+				<foreach collection="relationMap" index="key"  item="ent" separator="union">
+					select rig.OBJECT_ID from sys_obj_rights rig where rig.RIGHT_TYPE=#{key} and rig.OBJ_TYPE=#{objType} 
+					<if test="@Ognl@notEquals(key,'all') and @Ognl@isNotEmpty(ent)">
+							and rig.OWNER_ID in 
+							<foreach collection="ent"  item="id" separator="," open="(" close=")">
+								#{id}
+							</foreach>
+					</if>
+				</foreach>
+			) t 
+		)  
+		order by ID  desc
+	</select>
+	
+	
+	
+</mapper>

+ 120 - 0
resources/com/haiya/produce/maper/SysAnswer.map.xml

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.haiya.produce.model.oa.SysAnswer">
+	<resultMap id="SysAnswer" type="com.haiya.produce.model.oa.SysAnswer">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="questionnaireId" column="QUESTIONNAIRE_ID" jdbcType="NUMERIC"/>
+		<result property="status" column="STATUS" jdbcType="NUMERIC"/>
+		<result property="creatorId" column="CREATOR_ID" jdbcType="NUMERIC"/>
+		<result property="creatorOrgId" column="CREATOR_ORG_ID" jdbcType="NUMERIC"/>
+		<result property="createDate" column="CREATE_DATE" jdbcType="DATE"/>
+		
+		<result property="creator" column="CREATOR" jdbcType="VARCHAR"/>
+		<result property="creatorOrg" column="CREATOR_ORG" jdbcType="VARCHAR"/>
+		<result property="creatorCompanyId" column="CREATOR_COMPANY_ID" jdbcType="NUMERIC"/>
+		<result property="creatorCompany" column="CREATOR_COMPANY" jdbcType="VARCHAR"/>
+		<result property="questionnaireTitle" column="QUESTIONNAIRE_TITLE" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,QUESTIONNAIRE_ID,STATUS,CREATOR_ID,CREATOR_ORG_ID,CREATE_DATE
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(questionnaireTitle)"> AND QUESTIONNAIRE_TITLE  LIKE #{questionnaireTitle} </if>
+			<if test="@Ognl@isNotEmpty(createDate)"> AND CREATE_DATE  =#{createDate} </if>
+			<if test="@Ognl@isNotEmpty(begincreateDate)"> AND CREATE_DATE  >=#{begincreateDate,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endcreateDate)"> AND CREATE_DATE <![CDATA[ <=#{endcreateDate,jdbcType=DATE}]]> </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.haiya.produce.model.oa.SysAnswer">
+		INSERT INTO SYS_ANSWER
+		(ID,QUESTIONNAIRE_ID,STATUS,CREATOR_ID,CREATOR_ORG_ID,CREATE_DATE)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{questionnaireId,jdbcType=NUMERIC}, #{status,jdbcType=NUMERIC}, #{creatorId,jdbcType=NUMERIC}, #{creatorOrgId,jdbcType=NUMERIC}, #{createDate,jdbcType=DATE})
+	</insert>
+	
+	<update id="update" parameterType="com.haiya.produce.model.oa.SysAnswer">
+		UPDATE SYS_ANSWER SET
+		QUESTIONNAIRE_ID=#{questionnaireId,jdbcType=NUMERIC},
+		STATUS=#{status,jdbcType=NUMERIC},
+		CREATOR_ID=#{creatorId,jdbcType=NUMERIC},
+		CREATOR_ORG_ID=#{creatorOrgId,jdbcType=NUMERIC},
+		CREATE_DATE=#{createDate,jdbcType=DATE}
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<select id="getById" parameterType="java.lang.Long" resultMap="SysAnswer">
+		SELECT <include refid="columns"/>
+		FROM SYS_ANSWER
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="SysAnswer">
+		SELECT * FROM (
+			SELECT * FROM (
+				SELECT  NULL AS ID,QN.ID AS QUESTIONNAIRE_ID,1 AS STATUS,NULL AS CREATOR_ID,NULL AS CREATOR_ORG_ID,NULL AS CREATE_DATE,
+	       		NULL AS CREATOR,NULL AS CREATOR_ORG,NULL AS  CREATOR_COMPANY_ID,
+			   	NULL AS CREATOR_COMPANY,QN.TITLE AS QUESTIONNAIRE_TITLE  FROM SYS_QUESTIONNAIRE QN
+			   	WHERE QN.ID IN (
+				   	select t.OBJECT_ID from (
+						<foreach collection="relationMap" index="key"  item="ent" separator="union">
+							select rig.OBJECT_ID from sys_obj_rights rig where rig.RIGHT_TYPE=#{key} and rig.OBJ_TYPE=#{objType} 
+							<if test="@Ognl@notEquals(key,'all') and @Ognl@isNotEmpty(ent)">
+									and rig.OWNER_ID in 
+									<foreach collection="ent"  item="id" separator="," open="(" close=")">
+										#{id}
+									</foreach>
+							</if>
+						</foreach>
+					) t 
+			   	) AND QN.STATUS = 2 AND QN.ID NOT IN (SELECT QUESTIONNAIRE_ID  FROM SYS_ANSWER WHERE CREATOR_ID = #{userId})
+			   	ORDER BY QN.ID  DESC
+			)TEMP1
+			UNION ALL
+			SELECT * FROM (
+				SELECT A.ID,A.QUESTIONNAIRE_ID,A.STATUS,A.CREATOR_ID,A.CREATOR_ORG_ID,A.CREATE_DATE,
+		       		B.FULLNAME AS CREATOR,C.ORGNAME AS CREATOR_ORG,C.COMPANYID AS CREATOR_COMPANY_ID,
+				   	C.COMPANY AS CREATOR_COMPANY,D.TITLE AS QUESTIONNAIRE_TITLE
+				    FROM SYS_ANSWER  A
+				    LEFT JOIN SYS_USER B ON A.CREATOR_ID = B.USERID
+				    LEFT JOIN SYS_ORG C ON A.CREATOR_ORG_ID = C.ORGID
+				    LEFT JOIN SYS_QUESTIONNAIRE D ON A.QUESTIONNAIRE_ID = D.ID
+				    WHERE A.CREATOR_ID = #{userId} ORDER BY A.ID  DESC
+			)TEMP2
+		)TEMP
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+	</select>
+
+	<select id="getAllForManager" resultMap="SysAnswer">
+		SELECT * FROM (
+			SELECT A.ID,A.QUESTIONNAIRE_ID,A.STATUS,A.CREATOR_ID,A.CREATOR_ORG_ID,A.CREATE_DATE,
+	       		B.FULLNAME AS CREATOR,C.ORGNAME AS CREATOR_ORG,C.COMPANYID AS CREATOR_COMPANY_ID,
+			   	C.COMPANY AS CREATOR_COMPANY,D.TITLE AS QUESTIONNAIRE_TITLE
+			    FROM SYS_ANSWER  A
+			    LEFT JOIN SYS_USER B ON A.CREATOR_ID = B.USERID
+			    LEFT JOIN SYS_ORG C ON A.CREATOR_ORG_ID = C.ORGID
+			    LEFT JOIN SYS_QUESTIONNAIRE D ON A.QUESTIONNAIRE_ID = D.ID
+			 WHERE A.STATUS = 2
+		)TEMP
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		ORDER BY QUESTIONNAIRE_ID,CREATE_DATE DESC
+		</if>
+	</select>
+	
+	
+</mapper>

+ 36 - 0
resources/com/haiya/produce/maper/SysAnswerDetail.map.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.haiya.produce.model.oa.SysAnswerDetail">
+	<resultMap id="SysAnswerDetail" type="com.haiya.produce.model.oa.SysAnswerDetail">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="answerId" column="ANSWER_ID" jdbcType="NUMERIC"/>
+		<result property="questionId" column="QUESTION_ID" jdbcType="NUMERIC"/>
+		<result property="optionId" column="OPTION_ID" jdbcType="NUMERIC"/>
+		<result property="textResult" column="TEXT_RESULT" jdbcType="VARCHAR"/>
+	</resultMap>
+
+	<sql id="columns">
+		ID,ANSWER_ID,QUESTION_ID,OPTION_ID,TEXT_RESULT
+	</sql>
+
+	<insert id="add" parameterType="com.haiya.produce.model.oa.SysAnswerDetail">
+		INSERT INTO SYS_ANSWER_DETAIL
+		(ID,ANSWER_ID,QUESTION_ID,OPTION_ID,TEXT_RESULT)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{answerId,jdbcType=NUMERIC}, #{questionId,jdbcType=NUMERIC}, #{optionId,jdbcType=NUMERIC}, #{textResult,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delByMainId">
+	    DELETE FROM SYS_ANSWER_DETAIL
+	    WHERE
+	    ANSWER_ID=#{answerId}
+	</delete>    
+	
+	<select id="getSysAnswerDetailList" resultMap="SysAnswerDetail">
+	    SELECT <include refid="columns"/>
+	    FROM SYS_ANSWER_DETAIL 
+	    WHERE ANSWER_ID=#{answerId}
+	</select>
+	
+	
+</mapper>

+ 139 - 0
resources/com/haiya/produce/maper/SysQuestionnaire.map.xml

@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.haiya.produce.model.oa.SysQuestionnaire">
+	<resultMap id="SysQuestionnaire" type="com.haiya.produce.model.oa.SysQuestionnaire">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="title" column="TITLE" jdbcType="VARCHAR"/>
+		<result property="headContent" column="HEAD_CONTENT" jdbcType="VARCHAR"/>
+		<result property="footContent" column="FOOT_CONTENT" jdbcType="VARCHAR"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+		<result property="status" column="STATUS" jdbcType="NUMERIC"/>
+		<result property="creatorId" column="CREATOR_ID" jdbcType="NUMERIC"/>
+		<result property="creatorOrgId" column="CREATOR_ORG_ID" jdbcType="NUMERIC"/>
+		<result property="createDate" column="CREATE_DATE" jdbcType="DATE"/>
+		<result property="qnTemplateEdit" column="QN_TEMPLATE_EDIT" jdbcType="VARCHAR"/>
+		<result property="qnTemplateGet" column="QN_TEMPLATE_GET" jdbcType="VARCHAR"/>
+		
+		<result property="creator" column="CREATOR" jdbcType="VARCHAR"/>
+		<result property="creatorOrg" column="CREATOR_ORG" jdbcType="VARCHAR"/>
+		<result property="creatorCompanyId" column="CREATOR_COMPANY_ID" jdbcType="NUMERIC"/>
+		<result property="creatorCompany" column="CREATOR_COMPANY" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID,TITLE,HEAD_CONTENT,FOOT_CONTENT,MEMO,STATUS,CREATOR_ID,CREATOR_ORG_ID,CREATE_DATE,CREATOR,CREATOR_ORG,CREATOR_COMPANY_ID,CREATOR_COMPANY,QN_TEMPLATE_EDIT,QN_TEMPLATE_GET
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(title)"> AND TITLE  LIKE #{title}  </if>
+			<if test="@Ognl@isNotEmpty(headContent)"> AND CONTENT  LIKE #{headContent}  </if>
+			<if test="@Ognl@isNotEmpty(footContent)"> AND CONTENT  LIKE #{footContent}  </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+			<if test="@Ognl@isNotEmpty(status)"> AND STATUS  LIKE #{status}  </if>
+			<if test="@Ognl@isNotEmpty(creatorId)"> AND CREATOR_ID  =#{creatorId} </if>
+			<if test="@Ognl@isNotEmpty(creatorOrgId)"> AND CREATOR_ORG_ID  =#{creatorOrgId} </if>
+			<if test="@Ognl@isNotEmpty(createDate)"> AND CREATE_DATE  =#{createDate} </if>
+			<if test="@Ognl@isNotEmpty(begincreateDate)"> AND CREATE_DATE  >=#{begincreateDate,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endcreateDate)"> AND CREATE_DATE <![CDATA[ <=#{endcreateDate,jdbcType=DATE}]]> </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.haiya.produce.model.oa.SysQuestionnaire">
+		INSERT INTO SYS_QUESTIONNAIRE
+		(ID,TITLE,HEAD_CONTENT,FOOT_CONTENT,MEMO,STATUS,CREATOR_ID,CREATOR_ORG_ID,CREATE_DATE)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{title,jdbcType=VARCHAR}, #{headContent,jdbcType=VARCHAR}, #{footContent,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR}, #{status,jdbcType=NUMERIC}, #{creatorId,jdbcType=NUMERIC}, #{creatorOrgId,jdbcType=NUMERIC}, #{createDate,jdbcType=DATE})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM SYS_QUESTIONNAIRE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.haiya.produce.model.oa.SysQuestionnaire">
+		UPDATE SYS_QUESTIONNAIRE SET
+		TITLE=#{title,jdbcType=VARCHAR},
+		HEAD_CONTENT=#{headContent,jdbcType=VARCHAR},
+		FOOT_CONTENT=#{footContent,jdbcType=VARCHAR},
+		MEMO=#{memo,jdbcType=VARCHAR},
+		STATUS=#{status,jdbcType=NUMERIC},
+		CREATOR_ID=#{creatorId,jdbcType=NUMERIC},
+		CREATOR_ORG_ID=#{creatorOrgId,jdbcType=NUMERIC},
+		CREATE_DATE=#{createDate,jdbcType=DATE}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="SysQuestionnaire">
+		SELECT 
+		    A.ID,A.TITLE,A.HEAD_CONTENT,A.FOOT_CONTENT,A.MEMO,A.STATUS,A.CREATOR_ID,A.CREATOR_ORG_ID,A.CREATE_DATE,
+		    B.FULLNAME AS CREATOR,C.ORGNAME AS CREATOR_ORG,C.COMPANYID AS CREATOR_COMPANY_ID,C.COMPANY AS CREATOR_COMPANY
+		    FROM SYS_QUESTIONNAIRE A
+		    LEFT JOIN SYS_USER B ON A.CREATOR_ID = B.USERID
+		    LEFT JOIN SYS_ORG C ON A.CREATOR_ORG_ID = C.ORGID
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="SysQuestionnaire">
+		SELECT 
+		    A.ID,A.TITLE,A.HEAD_CONTENT,A.FOOT_CONTENT,A.MEMO,A.STATUS,A.CREATOR_ID,A.CREATOR_ORG_ID,A.CREATE_DATE,
+		    B.FULLNAME AS CREATOR,C.ORGNAME AS CREATOR_ORG,C.COMPANYID AS CREATOR_COMPANY_ID,
+		    C.COMPANY AS CREATOR_COMPANY
+		    FROM SYS_QUESTIONNAIRE A
+		    LEFT JOIN SYS_USER B ON A.CREATOR_ID = B.USERID
+		    LEFT JOIN SYS_ORG C ON A.CREATOR_ORG_ID = C.ORGID
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<update id="updateQnTemplate" parameterType="com.haiya.produce.model.oa.SysQuestionnaire">
+		UPDATE SYS_QUESTIONNAIRE SET
+		QN_TEMPLATE_EDIT=#{qnTemplateEdit,jdbcType=VARCHAR},
+		QN_TEMPLATE_GET=#{qnTemplateGet,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<select id="getQnTemplateEditById" resultType="java.lang.String">
+		SELECT QN_TEMPLATE_EDIT FROM SYS_QUESTIONNAIRE WHERE ID = #{id}
+	</select>
+
+	<select id="getQnTemplateGetById" resultType="java.lang.String">
+		SELECT QN_TEMPLATE_GET FROM SYS_QUESTIONNAIRE WHERE ID = #{id}
+	</select>
+	
+	<update id="updateStatus" >
+		UPDATE SYS_QUESTIONNAIRE SET
+		STATUS=#{status,jdbcType=NUMERIC}
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<select id="getMyQuestionnaireNum" resultType="java.lang.Integer">
+		SELECT COUNT(1) AS NUM FROM SYS_QUESTIONNAIRE QN
+			WHERE QN.ID IN (
+				select t.OBJECT_ID from (
+					<foreach collection="relationMap" index="key"  item="ent" separator="union">
+						select rig.OBJECT_ID from sys_obj_rights rig where rig.RIGHT_TYPE=#{key} and rig.OBJ_TYPE=#{objType} 
+						<if test="@Ognl@notEquals(key,'all') and @Ognl@isNotEmpty(ent)">
+								and rig.OWNER_ID in 
+								<foreach collection="ent"  item="id" separator="," open="(" close=")">
+									#{id}
+								</foreach>
+						</if>
+					</foreach>
+				) t 
+			) AND QN.STATUS = 2 AND QN.ID NOT IN (SELECT QUESTIONNAIRE_ID  FROM SYS_ANSWER WHERE CREATOR_ID = #{userId})
+	</select>
+	
+	
+</mapper>

+ 11 - 0
resources/com/hotent/core/bpm/graph/BPMN20EXT.xsd

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+targetNamespace="http://www.jee-soft.cn/BPMN20EXT" 
+xmlns:tns="http://www.jee-soft.cn/BPMN20EXT" 
+elementFormDefault="qualified">
+	<element name="order" type="int">
+		<annotation>
+			<documentation>Extension Element for task to indicate order sequence.</documentation>
+		</annotation>
+	</element>
+</schema>

二進制
resources/com/hotent/core/bpm/graph/image/call_activity.png


二進制
resources/com/hotent/core/bpm/graph/image/error_catch.png


二進制
resources/com/hotent/core/bpm/graph/image/timer.png


+ 48 - 0
resources/com/hotent/platform/button/button.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpm>
+	<buttons>
+		<!-- operatortype表示按钮的操作类型 ; script表示是否可添加脚本, 0不添加,1添加;  text为按钮名称 ; init表示是否默认初始化,0不初始化,1初始化  -->
+		<!-- type=0代表起始节点 -->
+		<button type="0" operatortype="1" script="1" init="1" text="启动流程" />
+		<button type="0" operatortype="2" script="0" init="1" text="流程图" />
+		<button type="0" operatortype="3" script="0" init="1" text="打印" />
+		<button type="0" operatortype="6" script="1" init="1" text="保存草稿" />
+		<button type="0" operatortype="19" script="0" init="1" text="在线拟文" />
+		<button type="0" operatortype="21" script="0" init="1" text="电子签章" />
+		<!-- 其他节点 -->
+		<!-- type=1代表第一个节点 -->
+		<button type="1" operatortype="1" script="1" init="1" text="提交" />
+		<button type="1" operatortype="8" script="1" init="1" text="保存表单" />
+		<button type="1" operatortype="9" script="0" init="1" text="流程图" />
+		<button type="1" operatortype="10" script="0" init="1" text="打印" />
+		<button type="1" operatortype="11" script="0" init="1" text="审批历史" />
+		<button type="1" operatortype="18" script="0" init="1" text="删除" />
+		<!-- 发起人节点才有 -->
+		<!-- type=2为会签专有按钮 -->
+		<button type="2" operatortype="3" script="1" init="0" text="弃权" />
+		<button type="2" operatortype="7" script="1" init="0" text="补签" />
+		<!-- type=3为普通节点专有按钮 -->
+		<button type="3" operatortype="17" script="1" init="0" text="加签" />
+		<!-- type=4代表普通按钮 -->
+		<button type="4" operatortype="1" script="1" init="1" text="同意" />
+		<button type="4" operatortype="2" script="1" init="0" text="反对" />
+		<button type="4" operatortype="4" script="1" init="1" text="驳回" />
+		<button type="4" operatortype="5" script="1" init="1" text="驳回到发起人" />
+		<button type="4" operatortype="6" script="1" init="1" text="转交代办" />
+		<button type="4" operatortype="8" script="1" init="1" text="保存表单" />
+		<button type="4" operatortype="9" script="0" init="1" text="流程图" />
+		<button type="4" operatortype="10" script="0" init="1" text="打印" />
+		<button type="4" operatortype="11" script="0" init="1" text="审批历史" />
+		<button type="4" operatortype="14" script="0" init="0" text="Web签章" />
+		<button type="4" operatortype="15" script="0" init="0" text="手写签章" />
+		<button type="4" operatortype="16" script="0" init="1" text="沟通" />
+		<button type="1" operatortype="18" script="0" init="0" text="删除" />
+		<button type="4" operatortype="20" script="0" init="1" text="正文审核" />
+		<button type="4" operatortype="22" script="0" init="1" text="正文编辑" />
+		<button type="4" operatortype="21" script="0" init="1" text="电子签章" />
+		<button type="4" operatortype="23" script="0" init="1" text="文件套红" />
+		<button type="4" operatortype="19" script="0" init="1" text="在线拟文" />
+		<button type="4" operatortype="24" script="0" init="1" text="历史正文" />
+		<!--发起人节点才有 -->
+	</buttons>
+</bpm>

+ 76 - 0
resources/com/hotent/platform/maper/AgentDef.map.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.bpm.AgentDef">
+	<resultMap id="AgentDef" type="com.hotent.platform.model.bpm.AgentDef">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="settingid" column="SETTINGID" jdbcType="NUMERIC"/>
+		<result property="flowkey" column="FLOWKEY" jdbcType="VARCHAR"/>
+		<result property="flowname" column="FLOWNAME" jdbcType="VARCHAR"/>
+	</resultMap>
+
+	<sql id="columns">
+		ID,SETTINGID,FLOWKEY,FLOWNAME
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(settingid)"> AND SETTINGID  =#{settingid} </if>
+			<if test="@Ognl@isNotEmpty(flowkey)"> AND FLOWKEY  LIKE #{flowkey}  </if>
+			<if test="@Ognl@isNotEmpty(flowname)"> AND FLOWNAME  LIKE #{flowname}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.bpm.AgentDef">
+		INSERT INTO BPM_AGENT_DEF
+		(ID,SETTINGID,FLOWKEY,FLOWNAME)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{settingid,jdbcType=NUMERIC}, #{flowkey,jdbcType=VARCHAR}, #{flowname,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_AGENT_DEF 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.bpm.AgentDef">
+		UPDATE BPM_AGENT_DEF SET
+		SETTINGID=#{settingid,jdbcType=NUMERIC},
+		FLOWKEY=#{flowkey,jdbcType=VARCHAR},
+		FLOWNAME=#{flowname,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<delete id="delByMainId">
+	    DELETE FROM BPM_AGENT_DEF
+	    WHERE
+	    settingid=#{settingid}
+	</delete>    
+	
+	<select id="getAgentDefList" resultMap="AgentDef">
+	    SELECT <include refid="columns"/>
+	    FROM BPM_AGENT_DEF 
+	    WHERE settingid=#{settingid}
+	</select>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AgentDef">
+		SELECT <include refid="columns"/>
+		FROM BPM_AGENT_DEF
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AgentDef">
+		SELECT <include refid="columns"/>
+		FROM BPM_AGENT_DEF   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+</mapper>

+ 184 - 0
resources/com/hotent/platform/maper/AgentSetting.map.xml

@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.bpm.AgentSetting">
+	<resultMap id="AgentSetting" type="com.hotent.platform.model.bpm.AgentSetting">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="authid" column="AUTHID" jdbcType="NUMERIC"/>
+		<result property="authname" column="AUTHNAME" jdbcType="VARCHAR"/>
+		<result property="createtime" column="CREATETIME" jdbcType="TIMESTAMP"/>
+		<result property="startdate" column="STARTDATE" jdbcType="DATE"/>
+		<result property="enddate" column="ENDDATE" jdbcType="DATE"/>
+		<result property="enabled" column="ENABLED" jdbcType="NUMERIC"/>
+		<result property="authtype" column="AUTHTYPE" jdbcType="NUMERIC"/>
+		<result property="agentid" column="AGENTID" jdbcType="NUMERIC"/>
+		<result property="agent" column="AGENT" jdbcType="VARCHAR"/>
+		<result property="flowkey" column="FLOWKEY" jdbcType="VARCHAR"/>
+		<result property="flowname" column="FLOWNAME" jdbcType="VARCHAR"/>
+	</resultMap>
+	<sql id="columns">
+		ID,AUTHID,AUTHNAME,CREATETIME,STARTDATE,ENDDATE,ENABLED,AUTHTYPE,AGENTID,AGENT,FLOWKEY,FLOWNAME
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(authid)"> AND AUTHID  =#{authid} </if>
+			<if test="@Ognl@isNotEmpty(authname)"> AND AUTHNAME  LIKE #{authname}  </if>
+			<if test="@Ognl@isNotEmpty(createtime)"> AND CREATETIME  LIKE #{createtime}  </if>
+			<if test="@Ognl@isNotEmpty(beginstartdate)"> AND STARTDATE  >=#{beginstartdate,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endstartdate)"> AND STARTDATE <![CDATA[ < #{endstartdate,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(beginenddate)"> AND ENDDATE  >=#{beginenddate,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endenddate)"> AND ENDDATE <![CDATA[ < #{endenddate,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(enabled)"> AND ENABLED  =#{enabled} </if>
+			<if test="@Ognl@isNotEmpty(authtype)"> AND AUTHTYPE  =#{authtype} </if>
+			<if test="@Ognl@isNotEmpty(agentid)"> AND AGENTID  =#{agentid} </if>
+			<if test="@Ognl@isNotEmpty(agent)"> AND AGENT  LIKE #{agent}  </if>
+			<if test="@Ognl@isNotEmpty(flowkey)"> AND FLOWKEY  LIKE #{flowkey}  </if>
+			<if test="@Ognl@isNotEmpty(flowname)"> AND FLOWNAME  LIKE #{flowname}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.bpm.AgentSetting">
+		INSERT INTO BPM_AGENT_SETTING
+		(ID,AUTHID,AUTHNAME,CREATETIME,STARTDATE,ENDDATE,ENABLED,AUTHTYPE,AGENTID,AGENT,FLOWKEY,FLOWNAME)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{authid,jdbcType=NUMERIC}, #{authname,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}, #{startdate,jdbcType=DATE}, #{enddate,jdbcType=DATE}, #{enabled,jdbcType=NUMERIC}, #{authtype,jdbcType=NUMERIC}, #{agentid,jdbcType=NUMERIC}, #{agent,jdbcType=VARCHAR}, #{flowkey,jdbcType=VARCHAR}, #{flowname,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_AGENT_SETTING 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.bpm.AgentSetting">
+		UPDATE BPM_AGENT_SETTING SET
+		AUTHID=#{authid,jdbcType=NUMERIC},
+		AUTHNAME=#{authname,jdbcType=VARCHAR},
+		CREATETIME=#{createtime,jdbcType=TIMESTAMP},
+		STARTDATE=#{startdate,jdbcType=DATE},
+		ENDDATE=#{enddate,jdbcType=DATE},
+		ENABLED=#{enabled,jdbcType=NUMERIC},
+		AUTHTYPE=#{authtype,jdbcType=NUMERIC},
+		AGENTID=#{agentid,jdbcType=NUMERIC},
+		AGENT=#{agent,jdbcType=VARCHAR},
+		FLOWKEY=#{flowkey,jdbcType=VARCHAR},
+		FLOWNAME=#{flowname,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AgentSetting">
+		SELECT <include refid="columns"/>
+		FROM BPM_AGENT_SETTING
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AgentSetting">
+		SELECT <include refid="columns"/>
+		FROM BPM_AGENT_SETTING   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<select id="getByFlowKey" resultMap="AgentSetting">
+		<![CDATA[
+		SELECT S.* FROM BPM_AGENT_SETTING S 
+		WHERE 
+		(
+			(	S.ID IN 
+	       		(
+	        	 SELECT SETTINGID FROM BPM_AGENT_DEF  DEF WHERE DEF.FLOWKEY = #{flowkey,jdbcType=VARCHAR}
+	       		)
+	       	)
+	       	OR 
+	       	(
+	       		S.FLOWKEY = #{flowkey,jdbcType=VARCHAR}
+	       	)
+	     ) 
+       	 AND 
+       	 (
+      	   (	
+            STARTDATE <= #{startDate,jdbcType=DATE}
+            AND 
+            ENDDATE >= #{startDate,jdbcType=DATE}
+     	   )
+      	  OR
+    	   (
+            STARTDATE >= #{startDate,jdbcType=DATE}
+             AND 
+             STARTDATE <=#{endDate,jdbcType=DATE}
+     	   )
+        )
+        ]]> 
+       	<if test="@Ognl@isNotEmpty(authid)"> AND S.AUTHID  =#{authid,jdbcType=NUMERIC} </if>
+       	<if test="@Ognl@isNotEmpty(authtype)"> AND S.AUTHTYPE  =#{authtype,jdbcType=NUMERIC} </if>
+       	<if test="@Ognl@isNotEmpty(enabled)"> AND S.ENABLED  =#{enabled,jdbcType=NUMERIC} </if>
+       	<if test="@Ognl@isNotEmpty(id)"> AND S.ID != #{id,jdbcType=NUMERIC}</if>
+	</select>
+	
+	<select id="getAgentByFilter" resultMap="AgentSetting">
+		<![CDATA[
+		SELECT S.* FROM BPM_AGENT_SETTING S 
+		WHERE   
+       	 (
+      	   (	
+            STARTDATE <= #{startDate,jdbcType=DATE}
+            AND 
+            ENDDATE >= #{startDate,jdbcType=DATE}
+     	   )
+      	  OR
+    	   (
+            STARTDATE >= #{startDate,jdbcType=DATE}
+             AND 
+             STARTDATE <=#{endDate,jdbcType=DATE}
+     	   )
+        )
+        ]]>
+        <if test="@Ognl@isNotEmpty(authtype)"> AND S.AUTHTYPE  =#{authtype,jdbcType=NUMERIC} </if>
+       	<if test="@Ognl@isNotEmpty(authid)"> AND S.AUTHID  =#{authid,jdbcType=NUMERIC} </if>
+       	<if test="@Ognl@isNotEmpty(enabled)"> AND S.ENABLED  =#{enabled,jdbcType=NUMERIC} </if>
+       	<if test="@Ognl@isNotEmpty(id)"> AND S.ID != #{id,jdbcType=NUMERIC}</if>
+	</select>
+	<select id="getValidByFlowAndAuthidAndDate" resultMap="AgentSetting">
+		<![CDATA[
+		SELECT S.* FROM BPM_AGENT_SETTING S 
+		WHERE
+		S.AUTHID = #{authid,jdbcType=NUMERIC} AND
+		S.ENABLED = 1 AND      
+       	 (
+            S.STARTDATE <= #{date,jdbcType=DATE}
+            AND 
+            S.ENDDATE >= #{date,jdbcType=DATE}
+      	
+        )
+        AND 
+        (
+        	S.AUTHTYPE=0
+        	or
+        	(	
+        		S.AUTHTYPE=1
+        		AND 
+        		S.ID IN 
+	       		(
+	        	 SELECT SETTINGID FROM BPM_AGENT_DEF  DEF WHERE DEF.FLOWKEY = #{flowkey,jdbcType=VARCHAR}
+	       		)
+        	)
+        	or
+        	(
+        		S.AUTHTYPE=2    		
+	       		AND
+		       	(
+		       		S.FLOWKEY = #{flowkey,jdbcType=VARCHAR}
+		       	)
+		    )
+        )
+        ]]>
+	</select>
+</mapper>

+ 71 - 0
resources/com/hotent/platform/maper/AssetCategory.map.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.assets.AssetCategory">
+	<resultMap id="AssetCategory" type="com.hotent.platform.model.assets.AssetCategory">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="FCategory" column="F_CATEGORY" jdbcType="VARCHAR"/>
+		<result property="FRemark" column="F_REMARK" jdbcType="VARCHAR"/>
+		<result property="FCategoryName" column="F_CATEGORY_NAME" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,F_CATEGORY,F_REMARK,F_CATEGORY_NAME
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(FCategory)"> AND F_CATEGORY  LIKE #{FCategory}  </if>
+			<if test="@Ognl@isNotEmpty(FRemark)"> AND F_REMARK  LIKE #{FRemark}  </if>
+			<if test="@Ognl@isNotEmpty(FCategoryName)"> AND F_CATEGORY_NAME  LIKE #{FCategoryName}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.assets.AssetCategory">
+		INSERT INTO W_ASSET_CATEGORY_MANAGEMENT
+		(ID,F_CATEGORY,F_REMARK,F_CATEGORY_NAME)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{FCategory,jdbcType=VARCHAR}, #{FRemark,jdbcType=VARCHAR}, #{FCategoryName,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM W_ASSET_CATEGORY_MANAGEMENT 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.assets.AssetCategory">
+		UPDATE W_ASSET_CATEGORY_MANAGEMENT SET
+		F_CATEGORY=#{FCategory,jdbcType=VARCHAR},
+		F_REMARK=#{FRemark,jdbcType=VARCHAR},
+		F_CATEGORY_NAME=#{FCategoryName,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AssetCategory">
+		SELECT <include refid="columns"/>
+		FROM W_ASSET_CATEGORY_MANAGEMENT
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AssetCategory">
+		SELECT <include refid="columns"/>
+		FROM W_ASSET_CATEGORY_MANAGEMENT   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<select id="selectSmallclass"  resultMap="AssetCategory">
+		SELECT ID,F_CATEGORY_NAME FROM W_ASSET_CATEGORY_MANAGEMENT WHERE F_CATEGORY=#{cateGory} 
+	</select>
+</mapper>

+ 166 - 0
resources/com/hotent/platform/maper/AssetsInformation.map.xml

@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hotent.platform.model.assets.AssetsInformation">
+	<resultMap id="AssetsInformation"
+		type="com.hotent.platform.model.assets.AssetsInformation">
+		<id property="id" column="ID" jdbcType="NUMERIC" />
+		<result property="FAssetNumber" column="F_ASSET_NUMBER" jdbcType="VARCHAR" />
+		<result property="FAssetBigclass" column="F_ASSET_BIGCLASS" jdbcType="VARCHAR" />
+		<result property="FAssetName" column="F_ASSET_NAME" jdbcType="VARCHAR" />
+		<result property="FAssetSmallclass" column="F_ASSET_SMALLCLASS" jdbcType="VARCHAR" />
+		<result property="FSource" column="F_SOURCE" jdbcType="VARCHAR" />
+		<result property="FSpecificationType" column="F_SPECIFICATION_TYPE" jdbcType="VARCHAR" />
+		<result property="FSupplier" column="F_SUPPLIER" jdbcType="VARCHAR" />
+		<result property="FDeptName" column="F_DEPT_NAME" jdbcType="VARCHAR" />
+		<result property="FPosition" column="F_POSITION" jdbcType="VARCHAR" />
+		<result property="FPurpose" column="F_PURPOSE" jdbcType="VARCHAR" />
+		<result property="FAssetsOriginal" column="F_ASSETS_ORIGINAL" jdbcType="NUMERIC" />
+		<result property="FDepreciationValue" column="F_DEPRECIATION_VALUE" jdbcType="NUMERIC" />
+		<result property="FAssetStatus" column="F_ASSET_STATUS" jdbcType="VARCHAR" />
+		<result property="FRegistrationTime" column="F_REGISTRATION_TIME" jdbcType="DATE" />
+		<result property="FCustodian" column="F_CUSTODIAN" jdbcType="VARCHAR" />
+		<result property="FUser" column="F_USER" jdbcType="VARCHAR" />
+		<result property="FAssetsRemarks" column="F_ASSETS_REMARKS" jdbcType="VARCHAR" />
+		<result property="FCategoryName" column="F_CATEGORY_NAME" jdbcType="VARCHAR" />
+		<result property="FDeptNameId" column="F_DEPT_NAME_ID" jdbcType="VARCHAR" />
+		<result property="FUnits" column="F_UNITS" jdbcType="VARCHAR" />
+		<result property="FTotalNumber" column="F_TOTAL_NUMBER" jdbcType="VARCHAR" />
+		<result property="FTotalMoney" column="F_TOTAL_MONEY" jdbcType="VARCHAR" />
+	</resultMap>
+
+
+
+	<sql id="columns">
+		ID,F_ASSET_NUMBER,F_ASSET_BIGCLASS,F_ASSET_NAME,F_ASSET_SMALLCLASS,F_SOURCE,F_SPECIFICATION_TYPE,F_SUPPLIER,F_DEPT_NAME,F_POSITION,F_PURPOSE,F_ASSETS_ORIGINAL,F_DEPRECIATION_VALUE,
+		F_ASSET_STATUS,F_REGISTRATION_TIME,F_CUSTODIAN,F_USER,F_ASSETS_REMARKS,F_DEPT_NAME_ID,F_UNITS
+	</sql>
+
+
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(FAssetBigclass)"> AND F_ASSET_BIGCLASS LIKE #{FAssetBigclass}  </if>
+			<if test="@Ognl@isNotEmpty(FAssetSmallclass)"> AND F_ASSET_SMALLCLASS LIKE #{FAssetSmallclass}  </if>
+			<if test="@Ognl@isNotEmpty(FAssetNumber)"> AND F_ASSET_NUMBER LIKE #{FAssetNumber} </if>
+			<if test="@Ognl@isNotEmpty(FAssetName)"> AND F_ASSET_NAME LIKE #{FAssetName}  </if>
+			<if test="@Ognl@isNotEmpty(FSpecificationType)"> AND F_SPECIFICATION_TYPE LIKE #{FSpecificationType}  </if>
+			<if test="@Ognl@isNotEmpty(FAssetStatus)"> AND F_ASSET_STATUS LIKE #{FAssetStatus}  </if>
+			<if test="@Ognl@isNotEmpty(beginFRegistrationTime)"> AND F_REGISTRATION_TIME
+				>=#{beginFRegistrationTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endFRegistrationTime)">
+				AND F_REGISTRATION_TIME <![CDATA[ <#{endFRegistrationTime,jdbcType=DATE}]]>
+			</if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.assets.AssetsInformation">
+		INSERT INTO
+		W_ASSET_INFORMATION_MANAGE
+		(
+		ID,F_ASSET_NUMBER,F_ASSET_BIGCLASS,F_ASSET_NAME,F_ASSET_SMALLCLASS,F_SOURCE,F_SPECIFICATION_TYPE,
+		F_SUPPLIER,F_DEPT_NAME,F_POSITION,F_PURPOSE,F_ASSETS_ORIGINAL,F_DEPRECIATION_VALUE,F_ASSET_STATUS,
+		F_REGISTRATION_TIME,F_CUSTODIAN,F_USER,F_ASSETS_REMARKS,F_DEPT_NAME_ID,F_UNITS
+		)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{FAssetNumber,jdbcType=VARCHAR},
+		#{FAssetBigclass,jdbcType=VARCHAR},
+		#{FAssetName,jdbcType=VARCHAR}, #{FAssetSmallclass,jdbcType=VARCHAR}, #{FSource,jdbcType=VARCHAR},
+		#{FSpecificationType,jdbcType=VARCHAR}, #{FSupplier,jdbcType=VARCHAR},
+		#{FDeptName,jdbcType=VARCHAR}, #{FPosition,jdbcType=VARCHAR},
+		#{FPurpose,jdbcType=VARCHAR},
+		#{FAssetsOriginal,jdbcType=NUMERIC}, #{FDepreciationValue,jdbcType=NUMERIC},
+		#{FAssetStatus,jdbcType=VARCHAR}, #{FRegistrationTime,jdbcType=DATE},
+		#{FCustodian,jdbcType=VARCHAR}, #{FUser,jdbcType=VARCHAR},
+		#{FAssetsRemarks,jdbcType=VARCHAR},
+		#{FDeptNameId,jdbcType=VARCHAR}, #{FUnits,jdbcType=VARCHAR})
+	</insert>
+
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM
+		W_ASSET_INFORMATION_MANAGE
+		WHERE
+		ID=#{id}
+	</delete>
+
+	<update id="update" parameterType="com.hotent.platform.model.assets.AssetsInformation">
+		UPDATE
+		W_ASSET_INFORMATION_MANAGE SET
+		F_ASSET_NUMBER=#{FAssetNumber,jdbcType=VARCHAR},
+		F_ASSET_BIGCLASS=#{FAssetBigclass,jdbcType=VARCHAR},
+		F_ASSET_NAME=#{FAssetName,jdbcType=VARCHAR},
+		F_ASSET_SMALLCLASS=#{FAssetSmallclass,jdbcType=VARCHAR},
+		F_SOURCE=#{FSource,jdbcType=VARCHAR},
+		F_SPECIFICATION_TYPE=#{FSpecificationType,jdbcType=VARCHAR},
+		F_SUPPLIER=#{FSupplier,jdbcType=VARCHAR},
+		F_DEPT_NAME=#{FDeptName,jdbcType=VARCHAR},
+		F_POSITION=#{FPosition,jdbcType=VARCHAR},
+		F_PURPOSE=#{FPurpose,jdbcType=VARCHAR},
+		F_ASSETS_ORIGINAL=#{FAssetsOriginal,jdbcType=NUMERIC},
+		F_DEPRECIATION_VALUE=#{FDepreciationValue,jdbcType=NUMERIC},
+		F_ASSET_STATUS=#{FAssetStatus,jdbcType=VARCHAR},
+		F_REGISTRATION_TIME=#{FRegistrationTime,jdbcType=DATE},
+		F_CUSTODIAN=#{FCustodian,jdbcType=VARCHAR},
+		F_USER=#{FUser,jdbcType=VARCHAR},
+		F_ASSETS_REMARKS=#{FAssetsRemarks,jdbcType=VARCHAR},
+		F_DEPT_NAME_ID=#{FDeptNameId,jdbcType=VARCHAR},
+		F_UNITS=#{FUnits,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+
+	<select id="getById" parameterType="java.lang.Long" resultMap="AssetsInformation">
+		SELECT
+		i.ID,i.F_ASSET_NUMBER,i.F_ASSET_BIGCLASS,i.F_ASSET_NAME,i.F_DEPT_NAME_ID,
+		i.F_ASSET_SMALLCLASS,i.F_SOURCE,i.F_SPECIFICATION_TYPE,i.F_UNITS,
+		i.F_SUPPLIER,i.F_DEPT_NAME,i.F_POSITION,i.F_PURPOSE,i.F_ASSETS_ORIGINAL,
+		i.F_DEPRECIATION_VALUE,i.F_ASSET_STATUS,i.F_REGISTRATION_TIME,i.F_CUSTODIAN,
+		i.F_USER,i.F_ASSETS_REMARKS,c.F_CATEGORY_NAME
+		FROM
+		W_ASSET_INFORMATION_MANAGE i
+		left join W_ASSET_CATEGORY_MANAGEMENT c on i.F_ASSET_SMALLCLASS = c.ID
+		WHERE i.ID=#{id}
+	</select>
+
+	<select id="getAll" resultMap="AssetsInformation">
+		SELECT
+		<include refid="columns" />
+		FROM W_ASSET_INFORMATION_MANAGE
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+			order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+			order by ID desc
+		</if>
+	</select>
+
+	<select id="selectByDeptId" resultMap="AssetsInformation">
+		SELECT
+		<include refid="columns" />
+		FROM W_ASSET_INFORMATION_MANAGE WHERE F_DEPT_NAME_ID=#{orgId}
+	</select>
+	
+	<select id="getInventoryAll" resultMap="AssetsInformation">
+		select	c.F_CATEGORY_NAME,count(*) F_TOTAL_NUMBER,sum(i.F_ASSETS_ORIGINAL) F_TOTAL_MONEY,
+				i.F_DEPT_NAME,i.F_UNITS,i.F_ASSET_BIGCLASS
+		from W_ASSET_INFORMATION_MANAGE i
+		left join W_ASSET_CATEGORY_MANAGEMENT c on i.F_ASSET_SMALLCLASS = c.ID
+		<include refid="dynamicWhere" />
+		GROUP BY i.F_ASSET_SMALLCLASS,i.F_DEPT_NAME,i.F_UNITS,i.F_ASSET_BIGCLASS,c.F_CATEGORY_NAME
+	</select>
+	
+ 	<select id="selectInventoryByDeptId" resultMap="AssetsInformation">
+		SELECT c.F_CATEGORY_NAME,count(*) F_TOTAL_NUMBER,sum(i.F_ASSETS_ORIGINAL) F_TOTAL_MONEY,
+			   i.F_DEPT_NAME,i.F_UNITS,i.F_ASSET_BIGCLASS
+		from W_ASSET_INFORMATION_MANAGE i
+		left join W_ASSET_CATEGORY_MANAGEMENT c on i.F_ASSET_SMALLCLASS = c.ID
+		WHERE i.F_DEPT_NAME_ID = #{orgId}
+		GROUP BY i.F_ASSET_SMALLCLASS,i.F_DEPT_NAME,i.F_UNITS,i.F_ASSET_BIGCLASS,c.F_CATEGORY_NAME
+	</select> 
+	
+	<select id="selectAssetNumber"  resultMap="AssetsInformation">
+		SELECT
+		<include refid="columns" />
+		FROM W_ASSET_INFORMATION_MANAGE WHERE F_ASSET_NUMBER=#{assetNumber}
+	</select>
+	
+</mapper>

+ 88 - 0
resources/com/hotent/platform/maper/AssetsMaintenance.map.xml

@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.assets.AssetsMaintenance">
+	<resultMap id="AssetsMaintenance" type="com.hotent.platform.model.assets.AssetsMaintenance">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="FAssetName" column="F_ASSET_NAME" jdbcType="VARCHAR"/>
+		<result property="FAssetNumber" column="F_ASSET_NUMBER" jdbcType="VARCHAR"/>
+		<result property="FDisposalPersonnel" column="F_DISPOSAL_PERSONNEL" jdbcType="VARCHAR"/>
+		<result property="FDisposalTime" column="F_DISPOSAL_TIME" jdbcType="DATE"/>
+		<result property="FMaintenanceCosts" column="F_MAINTENANCE_COSTS" jdbcType="NUMERIC"/>
+		<result property="FRepairCompany" column="F_REPAIR_COMPANY" jdbcType="VARCHAR"/>
+		<result property="FMaintenanceDetails" column="F_MAINTENANCE_DETAILS" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,F_ASSET_NAME,F_ASSET_NUMBER,F_DISPOSAL_PERSONNEL,F_DISPOSAL_TIME,F_MAINTENANCE_COSTS,F_REPAIR_COMPANY,F_MAINTENANCE_DETAILS
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(FAssetName)"> AND F_ASSET_NAME  LIKE #{FAssetName}  </if>
+			<if test="@Ognl@isNotEmpty(FAssetNumber)"> AND F_ASSET_NUMBER  LIKE #{FAssetNumber}  </if>
+			<if test="@Ognl@isNotEmpty(FDisposalPersonnel)"> AND F_DISPOSAL_PERSONNEL  LIKE #{FDisposalPersonnel}  </if>
+			<if test="@Ognl@isNotEmpty(FDisposalTime)"> AND F_DISPOSAL_TIME  =#{FDisposalTime} </if>
+			<if test="@Ognl@isNotEmpty(beginFDisposalTime)"> AND F_DISPOSAL_TIME <![CDATA[ >=#{beginFDisposalTime,jdbcType=DATE} ]]></if>
+			<if test="@Ognl@isNotEmpty(endFDisposalTime)"> AND F_DISPOSAL_TIME <![CDATA[ < #{endFDisposalTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(FMaintenanceCosts)"> AND F_MAINTENANCE_COSTS  =#{FMaintenanceCosts} </if>
+			<if test="@Ognl@isNotEmpty(FRepairCompany)"> AND F_REPAIR_COMPANY  LIKE #{FRepairCompany}  </if>
+			<if test="@Ognl@isNotEmpty(FMaintenanceDetails)"> AND F_MAINTENANCE_DETAILS  LIKE #{FMaintenanceDetails}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.assets.AssetsMaintenance">
+		INSERT INTO W_ASSET_MAINTENANCE_MANAGE
+		(ID,F_ASSET_NAME,F_ASSET_NUMBER,F_DISPOSAL_PERSONNEL,F_DISPOSAL_TIME,F_MAINTENANCE_COSTS,F_REPAIR_COMPANY,F_MAINTENANCE_DETAILS)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{FAssetName,jdbcType=VARCHAR}, #{FAssetNumber,jdbcType=VARCHAR}, #{FDisposalPersonnel,jdbcType=VARCHAR}, #{FDisposalTime,jdbcType=DATE}, #{FMaintenanceCosts,jdbcType=NUMERIC}, #{FRepairCompany,jdbcType=VARCHAR}, #{FMaintenanceDetails,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM W_ASSET_MAINTENANCE_MANAGE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.assets.AssetsMaintenance">
+		UPDATE W_ASSET_MAINTENANCE_MANAGE SET
+		F_ASSET_NAME=#{FAssetName,jdbcType=VARCHAR},
+		F_ASSET_NUMBER=#{FAssetNumber,jdbcType=VARCHAR},
+		F_DISPOSAL_PERSONNEL=#{FDisposalPersonnel,jdbcType=VARCHAR},
+		F_DISPOSAL_TIME=#{FDisposalTime,jdbcType=DATE},
+		F_MAINTENANCE_COSTS=#{FMaintenanceCosts,jdbcType=NUMERIC},
+		F_REPAIR_COMPANY=#{FRepairCompany,jdbcType=VARCHAR},
+		F_MAINTENANCE_DETAILS=#{FMaintenanceDetails,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AssetsMaintenance">
+		SELECT <include refid="columns"/>
+		FROM W_ASSET_MAINTENANCE_MANAGE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AssetsMaintenance">
+		SELECT <include refid="columns"/>
+		FROM W_ASSET_MAINTENANCE_MANAGE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<select id="selectAssetNumber"  resultMap="AssetsMaintenance">
+		SELECT
+		<include refid="columns" />
+		FROM W_ASSET_MAINTENANCE_MANAGE WHERE F_ASSET_NUMBER=#{assetNumber}
+	</select>
+	
+</mapper>

文件差異過大導致無法顯示
+ 242 - 0
resources/com/hotent/platform/maper/AtsAttenceCalculate.map.xml


+ 93 - 0
resources/com/hotent/platform/maper/AtsAttenceCycle.map.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsAttenceCycle">
+	<resultMap id="AtsAttenceCycle" type="com.hotent.platform.model.ats.AtsAttenceCycle">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="code" column="CODE" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="type" column="TYPE" jdbcType="VARCHAR"/>
+		<result property="year" column="YEAR" jdbcType="NUMERIC"/>
+		<result property="month" column="MONTH" jdbcType="NUMERIC"/>
+		<result property="startMonth" column="START_MONTH" jdbcType="NUMERIC"/>
+		<result property="startDay" column="START_DAY" jdbcType="NUMERIC"/>
+		<result property="endMonth" column="END_MONTH" jdbcType="NUMERIC"/>
+		<result property="endDay" column="END_DAY" jdbcType="NUMERIC"/>
+		<result property="isDefault" column="IS_DEFAULT" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CODE,NAME,TYPE,YEAR,MONTH,START_MONTH,START_DAY,END_MONTH,END_DAY,IS_DEFAULT,MEMO
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(code)"> AND CODE  LIKE #{code}  </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(type)"> AND TYPE  LIKE #{type}  </if>
+			<if test="@Ognl@isNotEmpty(year)"> AND YEAR  =#{year} </if>
+			<if test="@Ognl@isNotEmpty(month)"> AND MONTH  =#{month} </if>
+			<if test="@Ognl@isNotEmpty(startMonth)"> AND START_MONTH  =#{startMonth} </if>
+			<if test="@Ognl@isNotEmpty(startDay)"> AND START_DAY  =#{startDay} </if>
+			<if test="@Ognl@isNotEmpty(endMonth)"> AND END_MONTH  =#{endMonth} </if>
+			<if test="@Ognl@isNotEmpty(endDay)"> AND END_DAY  =#{endDay} </if>
+			<if test="@Ognl@isNotEmpty(isDefault)"> AND IS_DEFAULT  =#{isDefault} </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsAttenceCycle">
+		INSERT INTO ATS_ATTENCE_CYCLE
+		(ID,CODE,NAME,TYPE,YEAR,MONTH,START_MONTH,START_DAY,END_MONTH,END_DAY,IS_DEFAULT,MEMO)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{year,jdbcType=NUMERIC}, #{month,jdbcType=NUMERIC}, #{startMonth,jdbcType=NUMERIC}, #{startDay,jdbcType=NUMERIC}, #{endMonth,jdbcType=NUMERIC}, #{endDay,jdbcType=NUMERIC}, #{isDefault,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_ATTENCE_CYCLE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsAttenceCycle">
+		UPDATE ATS_ATTENCE_CYCLE SET
+		CODE=#{code,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		TYPE=#{type,jdbcType=VARCHAR},
+		YEAR=#{year,jdbcType=NUMERIC},
+		MONTH=#{month,jdbcType=NUMERIC},
+		START_MONTH=#{startMonth,jdbcType=NUMERIC},
+		START_DAY=#{startDay,jdbcType=NUMERIC},
+		END_MONTH=#{endMonth,jdbcType=NUMERIC},
+		END_DAY=#{endDay,jdbcType=NUMERIC},
+		IS_DEFAULT=#{isDefault,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsAttenceCycle">
+		SELECT <include refid="columns"/>
+		FROM ATS_ATTENCE_CYCLE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsAttenceCycle">
+		SELECT <include refid="columns"/>
+		FROM ATS_ATTENCE_CYCLE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	
+</mapper>

+ 98 - 0
resources/com/hotent/platform/maper/AtsAttenceCycleDetail.map.xml

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsAttenceCycleDetail">
+	<resultMap id="AtsAttenceCycleDetail" type="com.hotent.platform.model.ats.AtsAttenceCycleDetail">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="cycleId" column="CYCLE_ID" jdbcType="NUMERIC"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="startTime" column="START_TIME" jdbcType="DATE"/>
+		<result property="endTime" column="END_TIME" jdbcType="DATE"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CYCLE_ID,NAME,START_TIME,END_TIME,MEMO
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(cycleId)"> AND CYCLE_ID  =#{cycleId} </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(startTime)"> AND START_TIME  =#{startTime} </if>
+			<if test="@Ognl@isNotEmpty(beginstartTime)"> AND START_TIME  >=#{beginstartTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endstartTime)"> AND START_TIME <![CDATA[ <=#{endstartTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(endTime)"> AND END_TIME  =#{endTime} </if>
+			<if test="@Ognl@isNotEmpty(beginendTime)"> AND END_TIME  >=#{beginendTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endendTime)"> AND END_TIME <![CDATA[ <=#{endendTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsAttenceCycleDetail">
+		INSERT INTO ATS_ATTENCE_CYCLE_DETAIL
+		(ID,CYCLE_ID,NAME,START_TIME,END_TIME,MEMO)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{cycleId,jdbcType=NUMERIC}, #{name,jdbcType=VARCHAR}, #{startTime,jdbcType=DATE}, #{endTime,jdbcType=DATE}, #{memo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_ATTENCE_CYCLE_DETAIL 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsAttenceCycleDetail">
+		UPDATE ATS_ATTENCE_CYCLE_DETAIL SET
+		CYCLE_ID=#{cycleId,jdbcType=NUMERIC},
+		NAME=#{name,jdbcType=VARCHAR},
+		START_TIME=#{startTime,jdbcType=DATE},
+		END_TIME=#{endTime,jdbcType=DATE},
+		MEMO=#{memo,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsAttenceCycleDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_ATTENCE_CYCLE_DETAIL
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsAttenceCycleDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_ATTENCE_CYCLE_DETAIL   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<delete id="delByCycleId" parameterType="java.lang.Long">
+		DELETE FROM ATS_ATTENCE_CYCLE_DETAIL 
+		WHERE
+		CYCLE_ID=#{cycleId}
+	</delete>
+			    
+	<select id="getByCycleId" parameterType="java.lang.Long" resultMap="AtsAttenceCycleDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_ATTENCE_CYCLE_DETAIL
+		WHERE
+		CYCLE_ID=#{cycleId}
+	</select>
+	
+	<select id="getByCycleIdName"  parameterType="java.util.Map" resultMap="AtsAttenceCycleDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_ATTENCE_CYCLE_DETAIL
+		WHERE
+		CYCLE_ID=#{cycleId} AND NAME=#{name}
+	</select>
+	
+</mapper>

+ 75 - 0
resources/com/hotent/platform/maper/AtsBaseItem.map.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsBaseItem">
+	<resultMap id="AtsBaseItem" type="com.hotent.platform.model.ats.AtsBaseItem">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="code" column="CODE" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="url" column="URL" jdbcType="VARCHAR"/>
+		<result property="isSys" column="IS_SYS" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CODE,NAME,URL,IS_SYS,MEMO
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(code)"> AND CODE  LIKE #{code}  </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(url)"> AND URL  LIKE #{url}  </if>
+			<if test="@Ognl@isNotEmpty(isSys)"> AND IS_SYS  =#{isSys} </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsBaseItem">
+		INSERT INTO ATS_BASE_ITEM
+		(ID,CODE,NAME,URL,IS_SYS,MEMO)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, #{isSys,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_BASE_ITEM 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsBaseItem">
+		UPDATE ATS_BASE_ITEM SET
+		CODE=#{code,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		URL=#{url,jdbcType=VARCHAR},
+		IS_SYS=#{isSys,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsBaseItem">
+		SELECT <include refid="columns"/>
+		FROM ATS_BASE_ITEM
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsBaseItem">
+		SELECT <include refid="columns"/>
+		FROM ATS_BASE_ITEM   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by CODE ASC
+		</if>
+	</select>
+	
+	
+</mapper>

+ 75 - 0
resources/com/hotent/platform/maper/AtsCalendarTempl.map.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsCalendarTempl">
+	<resultMap id="AtsCalendarTempl" type="com.hotent.platform.model.ats.AtsCalendarTempl">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="code" column="CODE" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="isSys" column="IS_SYS" jdbcType="NUMERIC"/>
+		<result property="status" column="STATUS" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CODE,NAME,IS_SYS,STATUS,MEMO
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(code)"> AND CODE  LIKE #{code}  </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(isSys)"> AND IS_SYS  =#{isSys} </if>
+			<if test="@Ognl@isNotEmpty(status)"> AND STATUS  =#{status} </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsCalendarTempl">
+		INSERT INTO ATS_CALENDAR_TEMPL
+		(ID,CODE,NAME,IS_SYS,STATUS,MEMO)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{isSys,jdbcType=NUMERIC}, #{status,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_CALENDAR_TEMPL 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsCalendarTempl">
+		UPDATE ATS_CALENDAR_TEMPL SET
+		CODE=#{code,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		IS_SYS=#{isSys,jdbcType=NUMERIC},
+		STATUS=#{status,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsCalendarTempl">
+		SELECT <include refid="columns"/>
+		FROM ATS_CALENDAR_TEMPL
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsCalendarTempl">
+		SELECT <include refid="columns"/>
+		FROM ATS_CALENDAR_TEMPL   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by CODE  ASC
+		</if>
+	</select>
+	
+	
+</mapper>

+ 84 - 0
resources/com/hotent/platform/maper/AtsCalendarTemplDetail.map.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsCalendarTemplDetail">
+	<resultMap id="AtsCalendarTemplDetail" type="com.hotent.platform.model.ats.AtsCalendarTemplDetail">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="calendarId" column="CALENDAR_ID" jdbcType="NUMERIC"/>
+		<result property="week" column="WEEK" jdbcType="NUMERIC"/>
+		<result property="dayType" column="DAY_TYPE" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CALENDAR_ID,WEEK,DAY_TYPE,MEMO
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(calendarId)"> AND CALENDAR_ID  =#{calendarId} </if>
+			<if test="@Ognl@isNotEmpty(week)"> AND WEEK  =#{week} </if>
+			<if test="@Ognl@isNotEmpty(dayType)"> AND DAY_TYPE  =#{dayType} </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsCalendarTemplDetail">
+		INSERT INTO ATS_CALENDAR_TEMPL_DETAIL
+		(ID,CALENDAR_ID,WEEK,DAY_TYPE,MEMO)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{calendarId,jdbcType=NUMERIC}, #{week,jdbcType=NUMERIC}, #{dayType,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_CALENDAR_TEMPL_DETAIL 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsCalendarTemplDetail">
+		UPDATE ATS_CALENDAR_TEMPL_DETAIL SET
+		CALENDAR_ID=#{calendarId,jdbcType=NUMERIC},
+		WEEK=#{week,jdbcType=NUMERIC},
+		DAY_TYPE=#{dayType,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsCalendarTemplDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_CALENDAR_TEMPL_DETAIL
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsCalendarTemplDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_CALENDAR_TEMPL_DETAIL   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	<delete id="delByCalendarId" parameterType="java.lang.Long">
+		DELETE FROM ATS_CALENDAR_TEMPL_DETAIL 
+		WHERE
+		CALENDAR_ID=#{calendarId}
+	</delete>
+	
+	<select id="getByCalendarId" parameterType="java.lang.Long" resultMap="AtsCalendarTemplDetail">
+		SELECT <include refid="columns"/>
+		FROM ATS_CALENDAR_TEMPL_DETAIL
+		WHERE
+		CALENDAR_ID=#{calendarId}
+	</select>
+	
+	
+</mapper>

+ 85 - 0
resources/com/hotent/platform/maper/AtsHoliday.map.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsHoliday">
+	<resultMap id="AtsHoliday" type="com.hotent.platform.model.ats.AtsHoliday">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="userId" column="USER_ID" jdbcType="NUMERIC"/>
+		<result property="holidayType" column="HOLIDAY_TYPE" jdbcType="VARCHAR"/>
+		<result property="startTime" column="START_TIME" jdbcType="DATE"/>
+		<result property="endTime" column="END_TIME" jdbcType="DATE"/>
+		<result property="holidayTime" column="HOLIDAY_TIME" jdbcType="NUMERIC"/>
+		<result property="duration" column="DURATION" jdbcType="NUMERIC"/>
+		<result property="runId" column="RUN_ID" jdbcType="NUMERIC"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,USER_ID,HOLIDAY_TYPE,START_TIME,END_TIME,HOLIDAY_TIME,DURATION,RUN_ID
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(userId)"> AND USER_ID  =#{userId} </if>
+			<if test="@Ognl@isNotEmpty(holidayType)"> AND HOLIDAY_TYPE  LIKE #{holidayType}  </if>
+			<if test="@Ognl@isNotEmpty(startTime)"> AND START_TIME  =#{startTime} </if>
+			<if test="@Ognl@isNotEmpty(beginstartTime)"> AND START_TIME  >=#{beginstartTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endstartTime)"> AND START_TIME <![CDATA[ <=#{endstartTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(endTime)"> AND END_TIME  =#{endTime} </if>
+			<if test="@Ognl@isNotEmpty(beginendTime)"> AND END_TIME  >=#{beginendTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endendTime)"> AND END_TIME <![CDATA[ <=#{endendTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(holidayTime)"> AND HOLIDAY_TIME  =#{holidayTime} </if>
+			<if test="@Ognl@isNotEmpty(duration)"> AND DURATION  =#{duration} </if>
+			<if test="@Ognl@isNotEmpty(runId)"> AND RUN_ID  =#{runId} </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsHoliday">
+		INSERT INTO ATS_HOLIDAY
+		(ID,USER_ID,HOLIDAY_TYPE,START_TIME,END_TIME,HOLIDAY_TIME,DURATION,RUN_ID)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{userId,jdbcType=NUMERIC}, #{holidayType,jdbcType=VARCHAR}, #{startTime,jdbcType=DATE}, #{endTime,jdbcType=DATE}, #{holidayTime,jdbcType=NUMERIC}, #{duration,jdbcType=NUMERIC}, #{runId,jdbcType=NUMERIC})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_HOLIDAY 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsHoliday">
+		UPDATE ATS_HOLIDAY SET
+		USER_ID=#{userId,jdbcType=NUMERIC},
+		HOLIDAY_TYPE=#{holidayType,jdbcType=VARCHAR},
+		START_TIME=#{startTime,jdbcType=DATE},
+		END_TIME=#{endTime,jdbcType=DATE},
+		HOLIDAY_TIME=#{holidayTime,jdbcType=NUMERIC},
+		DURATION=#{duration,jdbcType=NUMERIC},
+		RUN_ID=#{runId,jdbcType=NUMERIC}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsHoliday">
+		SELECT <include refid="columns"/>
+		FROM ATS_HOLIDAY
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsHoliday">
+		SELECT <include refid="columns"/>
+		FROM ATS_HOLIDAY   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	
+</mapper>

+ 91 - 0
resources/com/hotent/platform/maper/AtsHolidayType.map.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsHolidayType">
+	<resultMap id="AtsHolidayType" type="com.hotent.platform.model.ats.AtsHolidayType">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="code" column="CODE" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="isSys" column="IS_SYS" jdbcType="NUMERIC"/>
+		<result property="status" column="STATUS" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+		<result property="abnormity" column="ABNORMITY" jdbcType="NUMERIC"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CODE,NAME,IS_SYS,STATUS,MEMO,ABNORMITY
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(code)"> AND CODE  LIKE #{code}  </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(isSys)"> AND IS_SYS  =#{isSys} </if>
+			<if test="@Ognl@isNotEmpty(status)"> AND STATUS  =#{status} </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsHolidayType">
+		INSERT INTO ATS_HOLIDAY_TYPE
+		(ID,CODE,NAME,IS_SYS,STATUS,MEMO,ATSHOLIDAYTYPE)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{isSys,jdbcType=NUMERIC}, #{status,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR},#{abnormity,jdbcType=NUMERIC})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_HOLIDAY_TYPE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsHolidayType">
+		UPDATE ATS_HOLIDAY_TYPE SET
+		CODE=#{code,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		IS_SYS=#{isSys,jdbcType=NUMERIC},
+		STATUS=#{status,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR},
+		ABNORMITY=#{abnormity,jdbcType=NUMERIC}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsHolidayType">
+		SELECT <include refid="columns"/>
+		FROM ATS_HOLIDAY_TYPE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsHolidayType">
+		SELECT <include refid="columns"/>
+		FROM ATS_HOLIDAY_TYPE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by CODE  ASC
+		</if>
+	</select>
+	
+	<select id="getByCode" parameterType="java.lang.String" resultMap="AtsHolidayType">
+		SELECT <include refid="columns"/>
+		FROM ATS_HOLIDAY_TYPE
+		WHERE
+		CODE=#{code}
+	</select>
+	
+	<select id="getByName" parameterType="java.lang.String" resultMap="AtsHolidayType">
+		SELECT <include refid="columns"/>
+		FROM ATS_HOLIDAY_TYPE
+		WHERE
+		NAME=#{name}
+	</select>
+	
+	
+</mapper>

+ 74 - 0
resources/com/hotent/platform/maper/AtsImportPlan.map.xml

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsImportPlan">
+	<resultMap id="AtsImportPlan" type="com.hotent.platform.model.ats.AtsImportPlan">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="code" column="CODE" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="separate" column="SEPARATE" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+		<result property="pushCardMap" column="PUSH_CARD_MAP" jdbcType="CLOB"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CODE,NAME,SEPARATE,MEMO,PUSH_CARD_MAP
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(code)"> AND CODE  LIKE #{code}  </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+			<if test="@Ognl@isNotEmpty(pushCardMap)"> AND PUSH_CARD_MAP  LIKE #{pushCardMap}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsImportPlan">
+		INSERT INTO ATS_IMPORT_PLAN
+		(<include refid="columns"/>)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},#{separate,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR}, #{pushCardMap,jdbcType=CLOB})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_IMPORT_PLAN 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsImportPlan">
+		UPDATE ATS_IMPORT_PLAN SET
+		CODE=#{code,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		SEPARATE=#{separate,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR},
+		PUSH_CARD_MAP=#{pushCardMap,jdbcType=CLOB}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsImportPlan">
+		SELECT <include refid="columns"/>
+		FROM ATS_IMPORT_PLAN
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsImportPlan">
+		SELECT <include refid="columns"/>
+		FROM ATS_IMPORT_PLAN   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	
+</mapper>

+ 85 - 0
resources/com/hotent/platform/maper/AtsOverTime.map.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsOverTime">
+	<resultMap id="AtsOverTime" type="com.hotent.platform.model.ats.AtsOverTime">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="userId" column="USER_ID" jdbcType="NUMERIC"/>
+		<result property="otType" column="OT_TYPE" jdbcType="VARCHAR"/>
+		<result property="startTime" column="START_TIME" jdbcType="DATE"/>
+		<result property="endTime" column="END_TIME" jdbcType="DATE"/>
+		<result property="otTime" column="OT_TIME" jdbcType="NUMERIC"/>
+		<result property="otCompens" column="OT_COMPENS" jdbcType="NUMERIC"/>
+		<result property="runId" column="RUN_ID" jdbcType="NUMERIC"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,USER_ID,OT_TYPE,START_TIME,END_TIME,OT_TIME,OT_COMPENS,RUN_ID
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(userId)"> AND USER_ID  =#{userId} </if>
+			<if test="@Ognl@isNotEmpty(otType)"> AND OT_TYPE  LIKE #{otType}  </if>
+			<if test="@Ognl@isNotEmpty(startTime)"> AND START_TIME  =#{startTime} </if>
+			<if test="@Ognl@isNotEmpty(beginstartTime)"> AND START_TIME  >=#{beginstartTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endstartTime)"> AND START_TIME <![CDATA[ <=#{endstartTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(endTime)"> AND END_TIME  =#{endTime} </if>
+			<if test="@Ognl@isNotEmpty(beginendTime)"> AND END_TIME  >=#{beginendTime,jdbcType=DATE} </if>
+			<if test="@Ognl@isNotEmpty(endendTime)"> AND END_TIME <![CDATA[ <=#{endendTime,jdbcType=DATE}]]> </if>
+			<if test="@Ognl@isNotEmpty(otTime)"> AND OT_TIME  =#{otTime} </if>
+			<if test="@Ognl@isNotEmpty(otCompens)"> AND OT_COMPENS  =#{otCompens} </if>
+			<if test="@Ognl@isNotEmpty(runId)"> AND RUN_ID  =#{runId} </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsOverTime">
+		INSERT INTO ATS_OVER_TIME
+		(ID,USER_ID,OT_TYPE,START_TIME,END_TIME,OT_TIME,OT_COMPENS,RUN_ID)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{userId,jdbcType=NUMERIC}, #{otType,jdbcType=VARCHAR}, #{startTime,jdbcType=DATE}, #{endTime,jdbcType=DATE}, #{otTime,jdbcType=NUMERIC}, #{otCompens,jdbcType=NUMERIC}, #{runId,jdbcType=NUMERIC})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_OVER_TIME 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsOverTime">
+		UPDATE ATS_OVER_TIME SET
+		USER_ID=#{userId,jdbcType=NUMERIC},
+		OT_TYPE=#{otType,jdbcType=VARCHAR},
+		START_TIME=#{startTime,jdbcType=DATE},
+		END_TIME=#{endTime,jdbcType=DATE},
+		OT_TIME=#{otTime,jdbcType=NUMERIC},
+		OT_COMPENS=#{otCompens,jdbcType=NUMERIC},
+		RUN_ID=#{runId,jdbcType=NUMERIC}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsOverTime">
+		SELECT <include refid="columns"/>
+		FROM ATS_OVER_TIME
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsOverTime">
+		SELECT <include refid="columns"/>
+		FROM ATS_OVER_TIME   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	
+</mapper>

+ 108 - 0
resources/com/hotent/platform/maper/AtsShiftInfo.map.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.ats.AtsShiftInfo">
+	<resultMap id="AtsShiftInfo" type="com.hotent.platform.model.ats.AtsShiftInfo">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="code" column="CODE" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<result property="status" column="STATUS" jdbcType="NUMERIC"/>
+		<result property="shiftType" column="SHIFT_TYPE" jdbcType="NUMERIC"/>
+		<result property="otCompens" column="OT_COMPENS" jdbcType="NUMERIC"/>
+		<result property="orgId" column="ORG_ID" jdbcType="NUMERIC"/>
+		<result property="cardRule" column="CARD_RULE" jdbcType="NUMERIC"/>
+		<result property="standardHour" column="STANDARD_HOUR" jdbcType="NUMERIC"/>
+		<result property="isDefault" column="IS_DEFAULT" jdbcType="NUMERIC"/>
+		<result property="memo" column="MEMO" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	
+
+	<sql id="columns">
+		ID,CODE,NAME,STATUS,SHIFT_TYPE,OT_COMPENS,ORG_ID,CARD_RULE,STANDARD_HOUR,IS_DEFAULT,MEMO
+	</sql>
+	
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(code)"> AND CODE  LIKE #{code}  </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(status)"> AND STATUS  =#{status} </if>
+			<if test="@Ognl@isNotEmpty(shiftType)"> AND SHIFT_TYPE  =#{shiftType} </if>
+			<if test="@Ognl@isNotEmpty(otCompens)"> AND OT_COMPENS  =#{otCompens} </if>
+			<if test="@Ognl@isNotEmpty(orgId)"> AND ORG_ID  =#{orgId} </if>
+			<if test="@Ognl@isNotEmpty(cardRule)"> AND CARD_RULE  =#{cardRule} </if>
+			<if test="@Ognl@isNotEmpty(standardHour)"> AND STANDARD_HOUR  =#{standardHour} </if>
+			<if test="@Ognl@isNotEmpty(isDefault)"> AND IS_DEFAULT  =#{isDefault} </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND MEMO  LIKE #{memo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.ats.AtsShiftInfo">
+		INSERT INTO ATS_SHIFT_INFO
+		(ID,CODE,NAME,STATUS,SHIFT_TYPE,OT_COMPENS,ORG_ID,CARD_RULE,STANDARD_HOUR,IS_DEFAULT,MEMO)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{status,jdbcType=NUMERIC}, #{shiftType,jdbcType=NUMERIC}, #{otCompens,jdbcType=NUMERIC}, #{orgId,jdbcType=NUMERIC}, #{cardRule,jdbcType=NUMERIC}, #{standardHour,jdbcType=NUMERIC}, #{isDefault,jdbcType=NUMERIC}, #{memo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM ATS_SHIFT_INFO 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.ats.AtsShiftInfo">
+		UPDATE ATS_SHIFT_INFO SET
+		CODE=#{code,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		STATUS=#{status,jdbcType=NUMERIC},
+		SHIFT_TYPE=#{shiftType,jdbcType=NUMERIC},
+		OT_COMPENS=#{otCompens,jdbcType=NUMERIC},
+		ORG_ID=#{orgId,jdbcType=NUMERIC},
+		CARD_RULE=#{cardRule,jdbcType=NUMERIC},
+		STANDARD_HOUR=#{standardHour,jdbcType=NUMERIC},
+		IS_DEFAULT=#{isDefault,jdbcType=NUMERIC},
+		MEMO=#{memo,jdbcType=VARCHAR}
+		WHERE
+		ID=#{id}
+	</update>
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="AtsShiftInfo">
+		SELECT <include refid="columns"/>
+		FROM ATS_SHIFT_INFO
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="AtsShiftInfo">
+		SELECT <include refid="columns"/>
+		FROM ATS_SHIFT_INFO   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<select id="getByShiftName" parameterType="java.lang.String" resultMap="AtsShiftInfo">
+		SELECT <include refid="columns"/>
+		FROM ATS_SHIFT_INFO
+		WHERE
+		NAME=#{name}
+	</select>
+	<select id="getByDefault"  resultMap="AtsShiftInfo">
+		SELECT  <include refid="columns"/>
+		FROM ATS_SHIFT_INFO
+		WHERE
+		IS_DEFAULT=1
+	</select>
+	<select id="isAliasExists" resultType="Integer">
+		SELECT count(1) as count FROM ATS_SHIFT_INFO WHERE name=#{name}
+		<if test="@Ognl@isNotEmpty(id)">
+			AND ID=#{id}
+		</if>
+	
+	</select>
+</mapper>

+ 172 - 0
resources/com/hotent/platform/maper/BpmDataTemplate.map.xml

@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.form.BpmDataTemplate">
+	<resultMap id="BpmDataTemplate" type="com.hotent.platform.model.form.BpmDataTemplate">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="tableId" column="TABLEID" jdbcType="NUMERIC"/>
+		<result property="formKey" column="FORMKEY" jdbcType="VARCHAR"/>
+		<result property="name" column="NAME" jdbcType="VARCHAR"/>
+		<!-- 
+		<result property="alias" column="ALIAS" jdbcType="VARCHAR"/>
+		 -->
+		<result property="style" column="STYLE" jdbcType="NUMERIC"/>
+		<result property="needPage" column="NEEDPAGE" jdbcType="NUMERIC"/>
+		<result property="pageSize" column="PAGESIZE" jdbcType="NUMERIC"/>
+		<result property="templateAlias" column="TEMPLATEALIAS" jdbcType="VARCHAR"/>
+		<result property="templateHtml" column="TEMPLATEHTML" jdbcType="CLOB"/>
+		<result property="displayField" column="DISPLAYFIELD" jdbcType="CLOB"/>
+		<result property="exportField" column="EXPORTFIELD" jdbcType="CLOB"/>
+		<result property="printField" column="PRINTFIELD" jdbcType="CLOB"/>
+		<result property="conditionField" column="CONDITIONFIELD" jdbcType="CLOB"/>
+		<result property="sortField" column="SORTFIELD" jdbcType="VARCHAR"/>
+		<result property="manageField" column="MANAGEFIELD" jdbcType="VARCHAR"/>
+		<result property="filterType" column="FILTERTYPE" jdbcType="NUMERIC"/>
+		<result property="filterField" column="FILTERFIELD" jdbcType="CLOB"/>
+		<result property="varField" column="VARFIELD" jdbcType="VARCHAR"/>
+		<result property="source" column="SOURCE" jdbcType="VARCHAR"/>
+		<result property="defId" column="DEFID" jdbcType="NUMERIC"/>
+		<result property="isQuery" column="ISQUERY" jdbcType="NUMERIC"/>
+		<result property="isFilter" column="ISFILTER" jdbcType="NUMERIC"/>
+	</resultMap>
+
+	<sql id="columns">
+		ID,TABLEID,FORMKEY,NAME,STYLE,NEEDPAGE,PAGESIZE,TEMPLATEALIAS,TEMPLATEHTML,DISPLAYFIELD,EXPORTFIELD,PRINTFIELD,CONDITIONFIELD,SORTFIELD,MANAGEFIELD,FILTERTYPE,FILTERFIELD,VARFIELD,SOURCE,DEFID,ISQUERY,ISFILTER
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(tableId)"> AND TABLEID  =#{tableId} </if>
+			<if test="@Ognl@isNotEmpty(formKey)"> AND FORMKEY  =#{formKey} </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND NAME  LIKE #{name}  </if>
+		
+			<if test="@Ognl@isNotEmpty(style)"> AND STYLE  =#{style} </if>
+			<if test="@Ognl@isNotEmpty(needPage)"> AND NEEDPAGE  =#{needPage} </if>
+			<if test="@Ognl@isNotEmpty(pageSize)"> AND PAGESIZE  =#{pageSize} </if>
+			<if test="@Ognl@isNotEmpty(templateAlias)"> AND TEMPLATEALIAS  =#{templateAlias} </if>
+			<if test="@Ognl@isNotEmpty(templateHtml)"> AND TEMPLATEHTML  LIKE #{templateHtml}  </if>
+			<if test="@Ognl@isNotEmpty(displayField)"> AND DISPLAYFIELD  LIKE #{displayField}  </if>
+			<if test="@Ognl@isNotEmpty(conditionfield)"> AND CONDITIONFIELD  LIKE #{conditionField}  </if>
+			<if test="@Ognl@isNotEmpty(sortField)"> AND SORTFIELD  LIKE #{sortField}  </if>
+			<if test="@Ognl@isNotEmpty(manageField)"> AND MANAGEFIELD  LIKE #{manageField}  </if>
+			<if test="@Ognl@isNotEmpty(filterType)"> AND FILTERTYPE  =#{filterType} </if>
+			<if test="@Ognl@isNotEmpty(filterField)"> AND FILTERFIELD  LIKE #{filterField}  </if>
+			<if test="@Ognl@isNotEmpty(varField)"> AND VARFIELD  LIKE #{varField}  </if>
+			<if test="@Ognl@isNotEmpty(source)"> AND SOURCE  =#{source} </if>
+			<if test="@Ognl@isNotEmpty(defId)"> AND DEFID  =#{defId} </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.form.BpmDataTemplate">
+		INSERT INTO BPM_DATA_TEMPLATE
+		(<include refid="columns"/>)
+		VALUES
+		(#{id,jdbcType=NUMERIC},
+		 #{tableId,jdbcType=NUMERIC},
+		 #{formKey,jdbcType=VARCHAR},
+		 #{name,jdbcType=VARCHAR},
+		 #{style,jdbcType=NUMERIC},
+		 #{needPage,jdbcType=NUMERIC},
+		 #{pageSize,jdbcType=NUMERIC},
+		 #{templateAlias,jdbcType=NUMERIC},
+		 #{templateHtml,jdbcType=CLOB},
+		 #{displayField,jdbcType=CLOB},
+		 #{exportField,jdbcType=CLOB},
+		 #{printField,jdbcType=CLOB},
+		 #{conditionField,jdbcType=CLOB},
+		 #{sortField,jdbcType=VARCHAR},
+		 #{manageField,jdbcType=CLOB},
+		 #{filterType,jdbcType=NUMERIC},
+		 #{filterField,jdbcType=CLOB},
+		 #{varField,jdbcType=CLOB},
+		 #{source,jdbcType=VARCHAR},
+		 #{defId,jdbcType=NUMERIC},
+		 #{isQuery,jdbcType=NUMERIC},
+		 #{isFilter,jdbcType=NUMERIC}
+		 )
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_DATA_TEMPLATE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.form.BpmDataTemplate">
+		UPDATE BPM_DATA_TEMPLATE SET
+		TABLEID=#{tableId,jdbcType=NUMERIC},
+		FORMKEY=#{formKey,jdbcType=VARCHAR},
+		NAME=#{name,jdbcType=VARCHAR},
+		STYLE=#{style,jdbcType=NUMERIC},
+		NEEDPAGE=#{needPage,jdbcType=NUMERIC},
+		PAGESIZE=#{pageSize,jdbcType=NUMERIC},
+		TEMPLATEALIAS=#{templateAlias,jdbcType=NUMERIC},
+		TEMPLATEHTML=#{templateHtml,jdbcType=CLOB},
+		DISPLAYFIELD=#{displayField,jdbcType=CLOB},
+		EXPORTFIELD=#{exportField,jdbcType=CLOB},
+		PRINTFIELD=#{printField,jdbcType=CLOB},
+		CONDITIONFIELD=#{conditionField,jdbcType=CLOB},
+		SORTFIELD=#{sortField,jdbcType=VARCHAR},
+		MANAGEFIELD=#{manageField,jdbcType=CLOB},
+		FILTERTYPE=#{filterType,jdbcType=NUMERIC},
+		FILTERFIELD=#{filterField,jdbcType=CLOB},
+		VARFIELD=#{varField,jdbcType=CLOB},
+		SOURCE=#{source,jdbcType=VARCHAR},
+		DEFID=#{defId,jdbcType=NUMERIC},
+		isQuery=#{isQuery,jdbcType=NUMERIC},
+		isFilter=#{isFilter,jdbcType=NUMERIC}
+		WHERE
+		ID=#{id}
+	</update>
+	
+	
+		    
+	<select id="getById" parameterType="java.lang.Long" resultMap="BpmDataTemplate">
+		SELECT <include refid="columns"/>
+		FROM BPM_DATA_TEMPLATE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="BpmDataTemplate">
+		SELECT <include refid="columns"/>
+		FROM BPM_DATA_TEMPLATE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<select id="getByFormKey" parameterType="java.lang.Long" resultMap="BpmDataTemplate">
+		SELECT <include refid="columns"/>
+		FROM BPM_DATA_TEMPLATE
+		WHERE
+		formKey=#{formKey}
+	</select>
+	
+	<delete id="delByFormKey" parameterType="java.lang.Long">
+		delete from BPM_DATA_TEMPLATE
+		WHERE
+		formKey=#{formKey}
+	</delete>
+	
+	<select id="getCountByFormKey" parameterType="java.lang.Long" resultType="java.lang.Integer">
+		select count(*) from BPM_DATA_TEMPLATE
+		WHERE
+		formKey=#{formKey}
+		<if test="id>0"> AND ID  !=#{id} </if>
+	</select>
+	
+	<select id="getByTableId" parameterType="java.lang.Long" resultMap="BpmDataTemplate">
+		select * from BPM_DATA_TEMPLATE
+		WHERE
+		TABLEID=#{tableId}
+	</select>
+	
+	
+	
+	
+</mapper>

+ 123 - 0
resources/com/hotent/platform/maper/BpmDefAct.map.xml

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.bpm.BpmDefAct">
+	<resultMap id="BpmDefAct" type="com.hotent.platform.model.bpm.BpmDefAct">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="authorizeId" column="AUTHORIZE_ID" jdbcType="NUMERIC"/>
+		<result property="defKey" column="DEF_KEY" jdbcType="VARCHAR"/>
+		<result property="defName" column="DEF_NAME" jdbcType="VARCHAR"/>
+		<result property="rightContent" column="RIGHT_CONTENT" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID,AUTHORIZE_ID,DEF_KEY,DEF_NAME,RIGHT_CONTENT
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND ID  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(authorizeId)"> AND AUTHORIZE_ID  =#{authorizeId} </if>
+			<if test="@Ognl@isNotEmpty(defKey)"> AND DEF_KEY  =#{defKey} </if>
+			<if test="@Ognl@isNotEmpty(defName)"> AND DEF_NAME LIKE #{defName}  </if>
+			<if test="@Ognl@isNotEmpty(rightContent)"> AND RIGHT_CONTENT  LIKE #{rightContent}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.bpm.BpmDefAct">
+		INSERT INTO BPM_DEF_ACT
+		(ID,AUTHORIZE_ID,DEF_KEY,DEF_NAME,RIGHT_CONTENT)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{authorizeId,jdbcType=NUMERIC}, #{defKey,jdbcType=VARCHAR}, #{defName,jdbcType=VARCHAR}, #{rightContent,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_DEF_ACT 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<delete id="delByMap" parameterType="java.util.Map" >
+		DELETE FROM BPM_DEF_ACT 
+		    <include refid="dynamicWhere" />
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.bpm.BpmDefAct">
+		UPDATE BPM_DEF_ACT SET
+		AUTHORIZE_ID=#{authorizeId,jdbcType=NUMERIC} , 
+		DEF_KEY=#{defKey,jdbcType=VARCHAR} , 
+		DEF_NAME=#{defName,jdbcType=VARCHAR} , 
+		RIGHT_CONTENT=#{rightContent,jdbcType=VARCHAR}  
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<select id="getById" parameterType="java.lang.Long" resultMap="BpmDefAct">
+		SELECT <include refid="columns"/>
+		FROM BPM_DEF_ACT
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="BpmDefAct">
+		SELECT <include refid="columns"/>
+		FROM BPM_DEF_ACT   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by id  desc
+		</if>
+	</select>
+	
+	<delete id="delByAuthorizeId" parameterType="java.lang.Long">
+		DELETE FROM BPM_DEF_ACT 
+			WHERE AUTHORIZE_ID=#{authorizeId}
+	</delete>
+	
+	<select id="getActRightByUserMap" resultMap="BpmDefAct"  parameterType="java.util.Map" >
+		
+		select b.ID,b.AUTHORIZE_ID,b.DEF_KEY,b.DEF_NAME,b.RIGHT_CONTENT from BPM_DEF_ACT b , BPM_DEF_AUTH_TYPE t where b.AUTHORIZE_ID=t.AUTHORIZE_ID  and t.AUTHORIZE_TYPE=#{authorizeType}  and b.AUTHORIZE_ID in (
+    
+	          select distinct a.ID from  BPM_DEF_AUTHORIZE a, (
+	                select u.AUTHORIZE_ID from BPM_DEF_USER u
+						 where  u.RIGHT_TYPE = #{all}
+					
+					<if test="@Ognl@isNotEmpty(userId)">
+					union
+					select u.AUTHORIZE_ID from BPM_DEF_USER u
+		 				 where  u.RIGHT_TYPE = #{user}  and u.OWNER_ID = #{userId}
+					</if>
+					
+					<if test="@Ognl@isNotEmpty(roleIds)">
+					union
+					select u.AUTHORIZE_ID from BPM_DEF_USER u
+		 				 where  u.RIGHT_TYPE = #{role}  and u.OWNER_ID in (${roleIds}) 
+					</if>
+					
+					<if test="@Ognl@isNotEmpty(orgIds)">
+					union
+					select u.AUTHORIZE_ID from BPM_DEF_USER u
+		 				 where  u.RIGHT_TYPE = #{org}  and u.OWNER_ID in (${orgIds}) 
+					</if>
+					
+					<if test="@Ognl@isNotEmpty(positionIds)">
+					union
+					select u.AUTHORIZE_ID from BPM_DEF_USER u
+		 				 where  u.RIGHT_TYPE = #{position}  and u.OWNER_ID in (${positionIds})  
+					</if>
+				
+					<if test="@Ognl@isNotEmpty(grantIds)">
+					union
+					select u.AUTHORIZE_ID from BPM_DEF_USER u
+		 				 where  u.RIGHT_TYPE = #{grant}  and u.OWNER_ID in (${grantIds}) 
+					</if>
+	          
+	          ) c  where  a.ID = c.AUTHORIZE_ID 
+	              
+	     )
+		
+	</select> 
+	
+
+</mapper>

+ 88 - 0
resources/com/hotent/platform/maper/BpmDefAuthorize.map.xml

@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.bpm.BpmDefAuthorize">
+	<resultMap id="BpmDefAuthorize" type="com.hotent.platform.model.bpm.BpmDefAuthorize">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="authorizeDesc" column="AUTHORIZE_DESC" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID,AUTHORIZE_DESC
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			
+			<if test="@Ognl@isNotEmpty(id)"> 
+				AND ID =#{id} 
+			</if>
+			<if test="@Ognl@isNotEmpty(authorizeType)"> 
+				AND ID in (SELECT AUTHORIZE_ID FROM BPM_DEF_AUTH_TYPE WHERE AUTHORIZE_TYPE = #{authorizeType} )
+			</if>
+			<if test="@Ognl@isNotEmpty(authorizeDesc)"> 
+			    AND AUTHORIZE_DESC LIKE #{authorizeDesc}  
+			</if>
+			<if test="@Ognl@isNotEmpty(ownerName)">
+			    <if test="@Ognl@isEmpty(defName)">
+			   		AND ID in (SELECT AUTHORIZE_ID FROM BPM_DEF_USER WHERE OWNER_NAME LIKE #{ownerName} )
+				</if>
+			</if>
+			<if test="@Ognl@isNotEmpty(defName)">
+			    <if test="@Ognl@isEmpty(ownerName)">
+				    AND ID in (SELECT AUTHORIZE_ID FROM BPM_DEF_ACT WHERE DEF_NAME LIKE #{defName} )
+				</if>
+			</if>
+			<if test="@Ognl@isNotEmpty(ownerName)">
+			    <if test="@Ognl@isNotEmpty(defName)">
+				    AND ID in (
+				                  SELECT U.AUTHORIZE_ID FROM BPM_DEF_USER U,BPM_DEF_ACT A 
+				                  		WHERE U.AUTHORIZE_ID=A.AUTHORIZE_ID AND U.OWNER_NAME LIKE #{ownerName} AND A.DEF_NAME LIKE #{defName}
+									         )
+				</if>
+			</if>
+			
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.bpm.BpmDefAuthorize">
+		INSERT INTO BPM_DEF_AUTHORIZE
+		(ID,AUTHORIZE_DESC)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{authorizeDesc,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_DEF_AUTHORIZE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.bpm.BpmDefAuthorize">
+		UPDATE BPM_DEF_AUTHORIZE SET 
+		 AUTHORIZE_DESC=#{authorizeDesc,jdbcType=VARCHAR}  
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<select id="getById" parameterType="java.lang.Long" resultMap="BpmDefAuthorize">
+		SELECT <include refid="columns"/>
+		FROM BPM_DEF_AUTHORIZE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="BpmDefAuthorize">
+		SELECT <include refid="columns"/>
+		FROM BPM_DEF_AUTHORIZE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by id  desc
+		</if>
+	</select>
+	
+	
+
+</mapper>

+ 99 - 0
resources/com/hotent/platform/maper/BpmDefAuthorizeType.map.xml

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.bpm.BpmDefAuthorizeType">
+	<resultMap id="BpmDefAuthorizeType" type="com.hotent.platform.model.bpm.BpmDefAuthorizeType">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="authorizeId" column="AUTHORIZE_ID" jdbcType="NUMERIC"/>
+		<result property="authorizeType" column="AUTHORIZE_TYPE" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID,AUTHORIZE_ID,AUTHORIZE_TYPE
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="id!=null"> AND ID  =#{id} </if>
+			<if test="authorizeId!=null"> AND AUTHORIZE_ID  =#{authorizeId} </if>
+			<if test="authorizeType!=null"> AND AUTHORIZE_TYPE  =#{authorizeType} </if>	
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.bpm.BpmDefAuthorizeType">
+		INSERT INTO BPM_DEF_AUTH_TYPE
+		(ID,AUTHORIZE_ID,AUTHORIZE_TYPE)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{authorizeId,jdbcType=NUMERIC}, #{authorizeType,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_DEF_AUTH_TYPE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+	<delete id="delByMap" parameterType="java.util.Map" >
+		DELETE FROM BPM_DEF_AUTH_TYPE 
+		    <include refid="dynamicWhere" />
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.bpm.BpmDefAuthorizeType">
+		UPDATE BPM_DEF_AUTH_TYPE SET
+		AUTHORIZE_ID=#{authorizeId,jdbcType=NUMERIC} , 
+		AUTHORIZE_TYPE=#{authorizeType,jdbcType=VARCHAR} 
+		WHERE
+		ID=#{id}
+	</update>
+	
+	<select id="getById" parameterType="java.lang.Long" resultMap="BpmDefAuthorizeType">
+		SELECT <include refid="columns"/>
+		FROM BPM_DEF_AUTH_TYPE
+		WHERE
+		ID=#{id}
+	</select>
+	
+	<select id="getAll" parameterType="java.util.Map" resultMap="BpmDefAuthorizeType">
+		SELECT <include refid="columns"/>
+		FROM BPM_DEF_AUTH_TYPE   
+		<include refid="dynamicWhere" />
+		<if test="orderField!=null">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="orderField!=null">
+		order by ID  desc
+		</if>
+	</select>
+	
+	<delete id="delByAuthorizeId" parameterType="java.lang.Long">
+		DELETE FROM BPM_DEF_AUTH_TYPE 
+			WHERE AUTHORIZE_ID=#{authorizeId}
+	</delete>
+	
+	<select id="get"   parameterType="java.lang.Long" resultMap="BpmDefAuthorizeType">
+		SELECT * FROM BPM_DEF_AUTH_TYPE 
+		WHERE 
+		ID=#{id}
+	</select>
+	
+	<select id="query" parameterType="java.util.Map" resultMap="BpmDefAuthorizeType">
+		SELECT * FROM BPM_DEF_AUTH_TYPE
+		<where>
+			<if test="whereSql!=null">
+				${whereSql}
+			</if>
+		</where>
+		<if test="orderBySql!=null">
+			ORDER BY ${orderBySql}
+		</if>
+		<if test="orderBySql==null">
+			ORDER BY id DESC
+		</if>
+	</select>
+	
+	<delete id="remove" parameterType="java.lang.Long">
+		DELETE FROM BPM_DEF_AUTH_TYPE 
+		WHERE
+		ID=#{id}
+	</delete>
+	
+</mapper>

+ 23 - 0
resources/com/hotent/platform/maper/BpmFormDataLog.map.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.form.BpmFormDataLog">
+	<resultMap id="BpmFormDataLog" type="com.hotent.platform.model.form.BpmFormDataLog">
+		<id property="id" column="ID" jdbcType="NUMERIC"/>
+		<result property="businessKey" column="BUSINESSKEY" jdbcType="VARCHAR"/>
+		<result property="formData" column="FORMDATA" jdbcType="VARCHAR"/>
+		<result property="actDefId" column="ACTDEFID" jdbcType="VARCHAR"/>
+		<result property="nodeId" column="NODEID" jdbcType="VARCHAR"/>
+		<result property="createBy" column="CREATEBY" jdbcType="NUMERIC"/>
+		<result property="createtime" column="CREATETIME" jdbcType="DATE"/>
+	</resultMap>
+	
+
+	<insert id="add" parameterType="com.hotent.platform.model.form.BpmFormDataLog">
+		INSERT INTO BPM_FORM_DATA_LOG
+		(ID,BUSINESSKEY,FORMDATA,ACTDEFID,NODEID,CREATEBY,CREATETIME)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{businessKey,jdbcType=VARCHAR}, #{formData,jdbcType=VARCHAR}, #{actDefId,jdbcType=VARCHAR}, #{nodeId,jdbcType=VARCHAR}, #{createBy,jdbcType=NUMERIC}, #{createtime,jdbcType=DATE})
+	</insert>
+	
+	
+</mapper>

+ 67 - 0
resources/com/hotent/platform/maper/BpmFormRule.map.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
+<mapper namespace="com.hotent.platform.model.form.BpmFormRule">
+	<resultMap id="BpmFormRule" type="com.hotent.platform.model.form.BpmFormRule">
+		<id property="id" column="id" jdbcType="NUMERIC"/>
+		<result property="name" column="name" jdbcType="VARCHAR"/>
+		<result property="rule" column="REGULATION" jdbcType="VARCHAR"/>
+		<result property="memo" column="memo" jdbcType="VARCHAR"/>
+		<result property="tipInfo" column="tipInfo" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	<sql id="columns">
+		id,name,REGULATION,memo,tipInfo
+	</sql>
+	
+	<sql id="dynamicWhere">
+		<where>
+			<if test="@Ognl@isNotEmpty(id)"> AND id  =#{id} </if>
+			<if test="@Ognl@isNotEmpty(name)"> AND name  LIKE #{name}  </if>
+			<if test="@Ognl@isNotEmpty(rule)"> AND REGULATION  LIKE #{rule}  </if>
+			<if test="@Ognl@isNotEmpty(memo)"> AND memo  LIKE #{memo}  </if>
+			<if test="@Ognl@isNotEmpty(tipInfo)"> AND tipInfo  LIKE #{tipInfo}  </if>
+		</where>
+	</sql>
+
+	<insert id="add" parameterType="com.hotent.platform.model.form.BpmFormRule">
+		INSERT INTO BPM_FORM_RULE
+		(<include refid="columns"/>)
+		VALUES
+		(#{id,jdbcType=NUMERIC}, #{name,jdbcType=VARCHAR}, #{rule,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR}, #{tipInfo,jdbcType=VARCHAR})
+	</insert>
+	
+	<delete id="delById" parameterType="java.lang.Long">
+		DELETE FROM BPM_FORM_RULE 
+		WHERE
+		id=#{id}
+	</delete>
+	
+	<update id="update" parameterType="com.hotent.platform.model.form.BpmFormRule">
+		UPDATE bpm_form_rule SET
+		name=#{name,jdbcType=VARCHAR} , 
+		REGULATION=#{rule,jdbcType=VARCHAR} , 
+		memo=#{memo,jdbcType=VARCHAR} , 
+		tipInfo=#{tipInfo,jdbcType=VARCHAR} 
+		WHERE
+		id=#{id}
+	</update>
+	
+	<select id="getById" parameterType="java.lang.Long" resultMap="BpmFormRule">
+		SELECT <include refid="columns"/>
+		FROM BPM_FORM_RULE
+		WHERE
+		id=#{id}
+	</select>
+	
+	<select id="getAll" resultMap="BpmFormRule">
+		SELECT <include refid="columns"/>
+		FROM BPM_FORM_RULE   
+		<include refid="dynamicWhere" />
+		<if test="@Ognl@isNotEmpty(orderField)">
+		order by ${orderField} ${orderSeq}
+		</if>
+		<if test="@Ognl@isEmpty(orderField)">
+		order by id  desc
+		</if>
+	</select>
+</mapper>

+ 0 - 0
resources/com/hotent/platform/maper/BpmFormRun.map.xml


部分文件因文件數量過多而無法顯示