huangxingxing 1 год назад
Родитель
Сommit
6db0e2ac8e
100 измененных файлов с 4096 добавлено и 120 удалено
  1. 8 1
      dbscript/init/generate/03-functionInit.sql
  2. 2 35
      definitionsrc/returncode/returncode-business.properties
  3. 2 35
      definitionsrc/returncode/returncode-business_zh_CN.properties
  4. 112 0
      generated/com/miniframe/generate/business/mdo/model/MDO0001BaseModel.java
  5. 112 0
      generated/com/miniframe/generate/business/mdo/model/MDO0002BaseModel.java
  6. 112 0
      generated/com/miniframe/generate/business/mdo/model/MDO0003BaseModel.java
  7. 112 0
      generated/com/miniframe/generate/business/mdo/model/MDO0004BaseModel.java
  8. 99 0
      generated/com/miniframe/generate/comm/httpmdoapater/MDO0001Client.java
  9. 99 0
      generated/com/miniframe/generate/comm/httpmdoapater/MDO0002Client.java
  10. 99 0
      generated/com/miniframe/generate/comm/httpmdoapater/MDO0003Client.java
  11. 99 0
      generated/com/miniframe/generate/comm/httpmdoapater/MDO0004Client.java
  12. 51 0
      generated/com/miniframe/generate/comm/mdo/A_MDO0001.java
  13. 90 0
      generated/com/miniframe/generate/comm/mdo/A_MDO0002.java
  14. 25 0
      generated/com/miniframe/generate/comm/mdo/A_MDO0003.java
  15. 51 0
      generated/com/miniframe/generate/comm/mdo/A_MDO0004.java
  16. 77 0
      generated/com/miniframe/generate/comm/mdo/A_MDOHEAD.java
  17. 39 0
      generated/com/miniframe/generate/comm/mdo/D_MDO0001.java
  18. 116 0
      generated/com/miniframe/generate/comm/mdo/D_MDO0001_ROWS_RECODE.java
  19. 12 0
      generated/com/miniframe/generate/comm/mdo/D_MDO0002.java
  20. 12 0
      generated/com/miniframe/generate/comm/mdo/D_MDO0003.java
  21. 12 0
      generated/com/miniframe/generate/comm/mdo/D_MDO0004.java
  22. 103 0
      generated/com/miniframe/generate/comm/mdo/D_MDOHEAD.java
  23. 15 0
      generated/validateform/a_mdo0001Form.xml
  24. 25 0
      generated/validateform/a_mdo0002Form.xml
  25. 12 0
      generated/validateform/a_mdo0003Form.xml
  26. 33 0
      generated/validateform/a_mdoheadForm.xml
  27. 22 0
      generated/validateform/d_mdo0001Form.xml
  28. 41 0
      generated/validateform/d_mdoheadForm.xml
  29. 4 0
      generated/validator/resources_a_mdo0001Form_validator.properties
  30. 4 0
      generated/validator/resources_a_mdo0001Form_validator_zh_CN.properties
  31. 7 0
      generated/validator/resources_a_mdo0002Form_validator.properties
  32. 7 0
      generated/validator/resources_a_mdo0002Form_validator_zh_CN.properties
  33. 2 0
      generated/validator/resources_a_mdo0003Form_validator.properties
  34. 2 0
      generated/validator/resources_a_mdo0003Form_validator_zh_CN.properties
  35. 4 0
      generated/validator/resources_a_mdo0004Form_validator.properties
  36. 4 0
      generated/validator/resources_a_mdo0004Form_validator_zh_CN.properties
  37. 9 0
      generated/validator/resources_a_mdoheadForm_validator.properties
  38. 9 0
      generated/validator/resources_a_mdoheadForm_validator_zh_CN.properties
  39. 2 0
      generated/validator/resources_d_mdo0001Form_validator.properties
  40. 2 0
      generated/validator/resources_d_mdo0001Form_validator_zh_CN.properties
  41. 9 0
      generated/validator/resources_d_mdo0001_rows_recodeForm_validator.properties
  42. 9 0
      generated/validator/resources_d_mdo0001_rows_recodeForm_validator_zh_CN.properties
  43. 1 0
      generated/validator/resources_d_mdo0002Form_validator.properties
  44. 1 0
      generated/validator/resources_d_mdo0002Form_validator_zh_CN.properties
  45. 1 0
      generated/validator/resources_d_mdo0003Form_validator.properties
  46. 1 0
      generated/validator/resources_d_mdo0003Form_validator_zh_CN.properties
  47. 1 0
      generated/validator/resources_d_mdo0004Form_validator.properties
  48. 1 0
      generated/validator/resources_d_mdo0004Form_validator_zh_CN.properties
  49. 12 0
      generated/validator/resources_d_mdoheadForm_validator.properties
  50. 12 0
      generated/validator/resources_d_mdoheadForm_validator_zh_CN.properties
  51. 224 0
      modelsrc/com/miniframe/model/mdo/MdoProject.java
  52. 801 0
      modelsrc/com/miniframe/model/mdo/MdoProjectSQLBuilder.java
  53. 10 0
      modelsrc/com/miniframe/model/mdo/dao/MdoProjectMapper.java
  54. 14 0
      modelsrc/com/miniframe/model/mdo/dbconfig/MapperConfig-mdo.xml
  55. 50 0
      modelsrc/com/miniframe/model/mdo/xml/MdoProjectMapper.xml
  56. 1 1
      modelsrc/com/miniframe/model/system/dbconfig/MapperConfig-system.xml
  57. 6 1
      pom.xml
  58. 2 0
      profiles/dev/application-dev.properties
  59. 32 0
      profiles/dev/springcfg/applicationContext-comm-httpmdoApater.xml
  60. 101 0
      src/main/java/com/miniframe/bisiness/mdo/MDO0001Service.java
  61. 94 0
      src/main/java/com/miniframe/bisiness/mdo/MDO0002Service.java
  62. 59 0
      src/main/java/com/miniframe/bisiness/mdo/MDO0003Service.java
  63. 81 0
      src/main/java/com/miniframe/bisiness/mdo/MDO0004Service.java
  64. 25 0
      src/main/java/com/miniframe/dbtransfer/MdoProjectDbTransfer.java
  65. 39 0
      src/test/java/com/miniframe/MD5Checksum.java
  66. 31 0
      src/test/java/com/miniframe/MdoTest.java
  67. 8 0
      src/test/java/com/miniframe/MqTest.java
  68. 37 0
      src/test/java/com/miniframe/comm/httpmdoapater/HttpmdoapaterUtil.java
  69. 44 0
      src/test/java/com/miniframe/comm/httpmdoapater/MDO0001Test.java
  70. 44 0
      src/test/java/com/miniframe/comm/httpmdoapater/MDO0002Test.java
  71. 44 0
      src/test/java/com/miniframe/comm/httpmdoapater/MDO0003Test.java
  72. 44 0
      src/test/java/com/miniframe/comm/httpmdoapater/MDO0004Test.java
  73. 1 1
      系统设计/实体Bean/build/build.xml
  74. 3 0
      系统设计/实体Bean/mdo(实体列表).csv
  75. 1 1
      系统设计/实体Bean/system(实体列表).csv
  76. 2 44
      系统设计/数据定义/返 回 码/business(业务系统).csv
  77. 8 0
      系统设计/系统模块/MDO(西工大系统).csv
  78. 1 1
      系统设计/系统模块/build/serviceTemplate.vm
  79. 4 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0001_A(工程查询).csv
  80. 11 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0001_D(工程查询).csv
  81. 7 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0002_A(工程添加修改).csv
  82. 2 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0002_D(工程添加修改).csv
  83. 2 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0003_A(工程删除).csv
  84. 2 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0003_D(工程删除).csv
  85. 4 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0004_A(根据模板添加工程).csv
  86. 2 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0004_D(根据模板添加工程).csv
  87. 53 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/build.xml
  88. 19 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/formMsgTemplate.vm
  89. 86 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/formTemplate.vm
  90. 174 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/javaTemplate.vm
  91. 143 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/xmlBodyTemplate.vm
  92. 6 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO01_A(数据查询接口样例).csv
  93. 3 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO01_D(数据查询接口样例).csv
  94. 3 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO02_A(数据提交接口样例).csv
  95. 1 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO02_D(数据提交接口样例).csv
  96. 3 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO04_A(数据删除接口样例).csv
  97. 1 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO04_D(数据删除接口样例).csv
  98. 6 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文头/MDOHEAD_A(系统服务).csv
  99. 8 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文头/MDOHEAD_D(系统服务).csv
  100. 53 0
      系统设计/通信设计/通讯报文/mdo(系统服务)/报文头/build/build.xml

+ 8 - 1
dbscript/init/generate/03-functionInit.sql

@@ -1,9 +1,16 @@
 -- 以下为生成的系统功能权限初始化文件,再次生成将覆盖
 DELETE FROM SYS_FUNCTION;
 -- 管理系统
+-- 西工大系统
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0001', '西工大系统','工程查询',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0002', '西工大系统','工程添加修改',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0003', '西工大系统','工程删除',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0004', '西工大系统','根据模板添加工程',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0005', '西工大系统','模版查询',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0006', '西工大系统','模版添加修改',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0007', '西工大系统','模版删除',true);
 -- 基础系统
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('SYSTEM', '基础系统','系统内部服务',true);
-INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('SYS0001', '基础系统','标准数据',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('A00000', '基础系统','获取图片验证码',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('A00001', '基础系统','获取短信验证码',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('A00002', '基础系统','登录',true);

+ 2 - 35
definitionsrc/returncode/returncode-business.properties

@@ -56,38 +56,5 @@ EB2000005 = \u53EA\u80FD\u4F20\u8F93\u5355\u4E2A\u6587\u4EF6\uFF01
 EB2000006 = \u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF01
 EB2000007 = \u6587\u4EF6\u8BFB\u53D6\u5931\u8D25\uFF01
 EB2000008 = \u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3000001 = \u8282\u70B9\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3000002 = \u4E8B\u6545\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3000003 = \u4E8B\u6545\u5DF2\u5B58\u5728\u8BE5\u8282\u70B9\u6570\u636E\uFF01
-EB3000004 = \u707E\u6E90\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3000005 = \u5DF2\u5B58\u5728\u540C\u6E90\u7684\u6570\u636E\uFF01
-EB3000006 = \u707E\u6E90\u68C0\u6D4B\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3100000 = \u5DF2\u5B58\u5728\u76F8\u540C\u6570\u636E\u7684\u8282\u70B9\uFF01
-EB3100001 = \u5DF2\u5B58\u5728\u76F8\u540C\u8D77\u59CB\u8282\u70B9\u7684\u5DF7\u9053\uFF01
-EB3100002 = \u4E0D\u5B58\u5728\u5BF9\u5E94\u5DF7\u9053\uFF01
-EB3100003 = \u5DF2\u5B58\u5728\u76F8\u540C\u4F4D\u7F6E\u7684\u76D1\u6D4B\u70B9\uFF01
-EB3100004 = \u76D1\u6D4B\u70B9\u4E0D\u5B58\u5728\uFF01
-EB3100005 = \u8BE5\u8282\u70B9\u8FB9\u754C\u4FE1\u606F\u5DF2\u5B58\u5728\uFF01
-EB3100006 = \u8FB9\u754C\u4FE1\u606F\u4E0D\u5B58\u5728\uFF01
-EB3100007 = \u8BE5\u5DF7\u9053\u540C\u4F4D\u7F6E\u5B58\u5728\u76F8\u540C\u4F20\u611F\u5668\uFF01
-EB3100008 = \u4F20\u611F\u5668\u4E0D\u5B58\u5728\uFF01
-EB3100010 = \u5B58\u5728\u76F8\u540C\u7684\u7269\u7406\u5C5E\u6027\uFF01
-EB3100011 = \u7269\u7406\u5C5E\u6027\u4E0D\u5B58\u5728\uFF01
-EB3100012 = \u4EFB\u52A1\u4E0D\u5B58\u5728\uFF01
-EB3100013 = \u7269\u7406\u5C5E\u6027\u4FE1\u606F\u7F3A\u5931\uFF01
-EB3100014 = \u7ED3\u679C\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3100015 = \u5DF7\u9053\u4E0D\u5B58\u5728\uFF01
-EB3100020 = \u51E0\u4F55\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3100021 = \u8FB9\u754C\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3100022 = \u74E6\u65AF\u707E\u6E90\u4E0D\u5B58\u5728\uFF01
-EB3100023 = \u74E6\u65AF\u7206\u70B8\u533A\u4E0D\u5B58\u5728\uFF01
-EB3100024 = \u74E6\u65AF\u79EF\u805A\u533A\u4E0D\u5B58\u5728\uFF01
-EB3100025 = \u8FB9\u754C\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF\uFF01
-EB3100026 = \u76D1\u6D4B\u70B9\u7ED3\u679C\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3100027 = \u6C42\u89E3\u672A\u5B8C\u6210\uFF01
-EB3100028 = \u62A5\u8B66\u4E0D\u5B58\u5728\uFF01
-EB3100029 = \u8DEF\u5F84\u4E0D\u5B58\u5728\uFF01
-EB3100030 = \u5B58\u5728\u76F8\u540C\u7F16\u7801\u7684\u8DEF\u5F84\uFF01
-EB3100031 = \u5B58\u5728\u8DEF\u5F84\u8282\u70B9\u4FE1\u606F\u4E0D\u80FD\u5220\u9664\uFF01
-EB3100032 = \u8DEF\u5F84\u5DF2\u5B58\u5728\u8BE5\u8282\u70B9\uFF01
-EB3100033 = \u8DEF\u5F84\u8282\u70B9\u4E0D\u5B58\u5728\uFF01
+MDO000001 = \u5DE5\u7A0B\u4E0D\u5B58\u5728\uFF01
+MDO000002 = \u6A21\u677F\u4E0D\u5B58\u5728\uFF01

+ 2 - 35
definitionsrc/returncode/returncode-business_zh_CN.properties

@@ -56,38 +56,5 @@ EB2000005 = \u53EA\u80FD\u4F20\u8F93\u5355\u4E2A\u6587\u4EF6\uFF01
 EB2000006 = \u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF01
 EB2000007 = \u6587\u4EF6\u8BFB\u53D6\u5931\u8D25\uFF01
 EB2000008 = \u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3000001 = \u8282\u70B9\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3000002 = \u4E8B\u6545\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3000003 = \u4E8B\u6545\u5DF2\u5B58\u5728\u8BE5\u8282\u70B9\u6570\u636E\uFF01
-EB3000004 = \u707E\u6E90\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3000005 = \u5DF2\u5B58\u5728\u540C\u6E90\u7684\u6570\u636E\uFF01
-EB3000006 = \u707E\u6E90\u68C0\u6D4B\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3100000 = \u5DF2\u5B58\u5728\u76F8\u540C\u6570\u636E\u7684\u8282\u70B9\uFF01
-EB3100001 = \u5DF2\u5B58\u5728\u76F8\u540C\u8D77\u59CB\u8282\u70B9\u7684\u5DF7\u9053\uFF01
-EB3100002 = \u4E0D\u5B58\u5728\u5BF9\u5E94\u5DF7\u9053\uFF01
-EB3100003 = \u5DF2\u5B58\u5728\u76F8\u540C\u4F4D\u7F6E\u7684\u76D1\u6D4B\u70B9\uFF01
-EB3100004 = \u76D1\u6D4B\u70B9\u4E0D\u5B58\u5728\uFF01
-EB3100005 = \u8BE5\u8282\u70B9\u8FB9\u754C\u4FE1\u606F\u5DF2\u5B58\u5728\uFF01
-EB3100006 = \u8FB9\u754C\u4FE1\u606F\u4E0D\u5B58\u5728\uFF01
-EB3100007 = \u8BE5\u5DF7\u9053\u540C\u4F4D\u7F6E\u5B58\u5728\u76F8\u540C\u4F20\u611F\u5668\uFF01
-EB3100008 = \u4F20\u611F\u5668\u4E0D\u5B58\u5728\uFF01
-EB3100010 = \u5B58\u5728\u76F8\u540C\u7684\u7269\u7406\u5C5E\u6027\uFF01
-EB3100011 = \u7269\u7406\u5C5E\u6027\u4E0D\u5B58\u5728\uFF01
-EB3100012 = \u4EFB\u52A1\u4E0D\u5B58\u5728\uFF01
-EB3100013 = \u7269\u7406\u5C5E\u6027\u4FE1\u606F\u7F3A\u5931\uFF01
-EB3100014 = \u7ED3\u679C\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3100015 = \u5DF7\u9053\u4E0D\u5B58\u5728\uFF01
-EB3100020 = \u51E0\u4F55\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3100021 = \u8FB9\u754C\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01
-EB3100022 = \u74E6\u65AF\u707E\u6E90\u4E0D\u5B58\u5728\uFF01
-EB3100023 = \u74E6\u65AF\u7206\u70B8\u533A\u4E0D\u5B58\u5728\uFF01
-EB3100024 = \u74E6\u65AF\u79EF\u805A\u533A\u4E0D\u5B58\u5728\uFF01
-EB3100025 = \u8FB9\u754C\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF\uFF01
-EB3100026 = \u76D1\u6D4B\u70B9\u7ED3\u679C\u6570\u636E\u4E0D\u5B58\u5728\uFF01
-EB3100027 = \u6C42\u89E3\u672A\u5B8C\u6210\uFF01
-EB3100028 = \u62A5\u8B66\u4E0D\u5B58\u5728\uFF01
-EB3100029 = \u8DEF\u5F84\u4E0D\u5B58\u5728\uFF01
-EB3100030 = \u5B58\u5728\u76F8\u540C\u7F16\u7801\u7684\u8DEF\u5F84\uFF01
-EB3100031 = \u5B58\u5728\u8DEF\u5F84\u8282\u70B9\u4FE1\u606F\u4E0D\u80FD\u5220\u9664\uFF01
-EB3100032 = \u8DEF\u5F84\u5DF2\u5B58\u5728\u8BE5\u8282\u70B9\uFF01
-EB3100033 = \u8DEF\u5F84\u8282\u70B9\u4E0D\u5B58\u5728\uFF01
+MDO000001 = \u5DE5\u7A0B\u4E0D\u5B58\u5728\uFF01
+MDO000002 = \u6A21\u677F\u4E0D\u5B58\u5728\uFF01

+ 112 - 0
generated/com/miniframe/generate/business/mdo/model/MDO0001BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.mdo.model;
+
+import java.util.Map;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import com.miniframe.core.BaseMapModel;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.core.ext.HttpMapFormater;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import com.miniframe.generate.global.AppGlobalVariableSysconfig;
+
+import com.miniframe.generate.comm.mdo.A_MDOHEAD;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+import com.miniframe.generate.comm.mdo.A_MDO0001;
+import com.miniframe.generate.comm.mdo.D_MDO0001;
+
+/**
+ * 系统服务,“工程查询”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class MDO0001BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_MDOHEAD a_mdohead;//上行头
+	D_MDOHEAD d_mdohead;//下行头
+	A_MDO0001 a_mdo0001;//上行体
+	D_MDO0001 d_mdo0001;//下行体
+
+	public MDO0001BaseModel(){
+		a_mdohead=new A_MDOHEAD();
+		d_mdohead=new D_MDOHEAD();
+		a_mdo0001=new A_MDO0001();
+		d_mdo0001=new D_MDO0001();
+	}
+
+	public void validater() throws Exception {
+		this.a_mdohead.validater();
+		this.a_mdo0001.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_MDOHEAD.class);
+		this.a_mdohead = UtilTools.map2Obj(headMap, A_MDOHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_MDO0001.class);
+		this.a_mdo0001 = UtilTools.map2Obj(bodyMap, A_MDO0001.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getTransCode())){
+			(this.d_mdohead).setTransCode((this.a_mdohead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getChannelNo())){
+			(this.d_mdohead).setChannelNo((this.a_mdohead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getUserId())){
+			(this.d_mdohead).setUserId((this.a_mdohead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_mdohead).getTransTime())){
+            (this.d_mdohead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_mdohead));
+		reMap.putAll(UtilTools.obj2Map(this.d_mdo0001));
+
+		return reMap;
+	}
+
+	public A_MDOHEAD getA_mdohead() {
+		return this.a_mdohead;
+	}
+
+	public void setA_mdohead(A_MDOHEAD a_mdohead) {
+		this.a_mdohead=a_mdohead;
+	}
+
+	public D_MDOHEAD getD_mdohead() {
+		return d_mdohead;
+	}
+
+	public void setD_mdohead(D_MDOHEAD d_mdohead) {
+		this.d_mdohead=d_mdohead;
+	}
+
+	public A_MDO0001 getA_mdo0001() {
+		return a_mdo0001;
+	}
+
+	public void setA_mdo0001(A_MDO0001 a_mdo0001) {
+		this.a_mdo0001=a_mdo0001;
+	}
+
+	public D_MDO0001 getD_mdo0001() {
+		return this.d_mdo0001;
+	}
+
+	public void setD_mdo0001(D_MDO0001 d_mdo0001) {
+		this.d_mdo0001=d_mdo0001;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 112 - 0
generated/com/miniframe/generate/business/mdo/model/MDO0002BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.mdo.model;
+
+import java.util.Map;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import com.miniframe.core.BaseMapModel;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.core.ext.HttpMapFormater;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import com.miniframe.generate.global.AppGlobalVariableSysconfig;
+
+import com.miniframe.generate.comm.mdo.A_MDOHEAD;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+import com.miniframe.generate.comm.mdo.A_MDO0002;
+import com.miniframe.generate.comm.mdo.D_MDO0002;
+
+/**
+ * 系统服务,“工程添加修改”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class MDO0002BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_MDOHEAD a_mdohead;//上行头
+	D_MDOHEAD d_mdohead;//下行头
+	A_MDO0002 a_mdo0002;//上行体
+	D_MDO0002 d_mdo0002;//下行体
+
+	public MDO0002BaseModel(){
+		a_mdohead=new A_MDOHEAD();
+		d_mdohead=new D_MDOHEAD();
+		a_mdo0002=new A_MDO0002();
+		d_mdo0002=new D_MDO0002();
+	}
+
+	public void validater() throws Exception {
+		this.a_mdohead.validater();
+		this.a_mdo0002.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_MDOHEAD.class);
+		this.a_mdohead = UtilTools.map2Obj(headMap, A_MDOHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_MDO0002.class);
+		this.a_mdo0002 = UtilTools.map2Obj(bodyMap, A_MDO0002.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getTransCode())){
+			(this.d_mdohead).setTransCode((this.a_mdohead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getChannelNo())){
+			(this.d_mdohead).setChannelNo((this.a_mdohead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getUserId())){
+			(this.d_mdohead).setUserId((this.a_mdohead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_mdohead).getTransTime())){
+            (this.d_mdohead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_mdohead));
+		reMap.putAll(UtilTools.obj2Map(this.d_mdo0002));
+
+		return reMap;
+	}
+
+	public A_MDOHEAD getA_mdohead() {
+		return this.a_mdohead;
+	}
+
+	public void setA_mdohead(A_MDOHEAD a_mdohead) {
+		this.a_mdohead=a_mdohead;
+	}
+
+	public D_MDOHEAD getD_mdohead() {
+		return d_mdohead;
+	}
+
+	public void setD_mdohead(D_MDOHEAD d_mdohead) {
+		this.d_mdohead=d_mdohead;
+	}
+
+	public A_MDO0002 getA_mdo0002() {
+		return a_mdo0002;
+	}
+
+	public void setA_mdo0002(A_MDO0002 a_mdo0002) {
+		this.a_mdo0002=a_mdo0002;
+	}
+
+	public D_MDO0002 getD_mdo0002() {
+		return this.d_mdo0002;
+	}
+
+	public void setD_mdo0002(D_MDO0002 d_mdo0002) {
+		this.d_mdo0002=d_mdo0002;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 112 - 0
generated/com/miniframe/generate/business/mdo/model/MDO0003BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.mdo.model;
+
+import java.util.Map;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import com.miniframe.core.BaseMapModel;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.core.ext.HttpMapFormater;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import com.miniframe.generate.global.AppGlobalVariableSysconfig;
+
+import com.miniframe.generate.comm.mdo.A_MDOHEAD;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+import com.miniframe.generate.comm.mdo.A_MDO0003;
+import com.miniframe.generate.comm.mdo.D_MDO0003;
+
+/**
+ * 系统服务,“工程删除”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class MDO0003BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_MDOHEAD a_mdohead;//上行头
+	D_MDOHEAD d_mdohead;//下行头
+	A_MDO0003 a_mdo0003;//上行体
+	D_MDO0003 d_mdo0003;//下行体
+
+	public MDO0003BaseModel(){
+		a_mdohead=new A_MDOHEAD();
+		d_mdohead=new D_MDOHEAD();
+		a_mdo0003=new A_MDO0003();
+		d_mdo0003=new D_MDO0003();
+	}
+
+	public void validater() throws Exception {
+		this.a_mdohead.validater();
+		this.a_mdo0003.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_MDOHEAD.class);
+		this.a_mdohead = UtilTools.map2Obj(headMap, A_MDOHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_MDO0003.class);
+		this.a_mdo0003 = UtilTools.map2Obj(bodyMap, A_MDO0003.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getTransCode())){
+			(this.d_mdohead).setTransCode((this.a_mdohead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getChannelNo())){
+			(this.d_mdohead).setChannelNo((this.a_mdohead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getUserId())){
+			(this.d_mdohead).setUserId((this.a_mdohead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_mdohead).getTransTime())){
+            (this.d_mdohead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_mdohead));
+		reMap.putAll(UtilTools.obj2Map(this.d_mdo0003));
+
+		return reMap;
+	}
+
+	public A_MDOHEAD getA_mdohead() {
+		return this.a_mdohead;
+	}
+
+	public void setA_mdohead(A_MDOHEAD a_mdohead) {
+		this.a_mdohead=a_mdohead;
+	}
+
+	public D_MDOHEAD getD_mdohead() {
+		return d_mdohead;
+	}
+
+	public void setD_mdohead(D_MDOHEAD d_mdohead) {
+		this.d_mdohead=d_mdohead;
+	}
+
+	public A_MDO0003 getA_mdo0003() {
+		return a_mdo0003;
+	}
+
+	public void setA_mdo0003(A_MDO0003 a_mdo0003) {
+		this.a_mdo0003=a_mdo0003;
+	}
+
+	public D_MDO0003 getD_mdo0003() {
+		return this.d_mdo0003;
+	}
+
+	public void setD_mdo0003(D_MDO0003 d_mdo0003) {
+		this.d_mdo0003=d_mdo0003;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 112 - 0
generated/com/miniframe/generate/business/mdo/model/MDO0004BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.mdo.model;
+
+import java.util.Map;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import com.miniframe.core.BaseMapModel;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.core.ext.HttpMapFormater;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import com.miniframe.generate.global.AppGlobalVariableSysconfig;
+
+import com.miniframe.generate.comm.mdo.A_MDOHEAD;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+import com.miniframe.generate.comm.mdo.A_MDO0004;
+import com.miniframe.generate.comm.mdo.D_MDO0004;
+
+/**
+ * 系统服务,“根据模板添加工程”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class MDO0004BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_MDOHEAD a_mdohead;//上行头
+	D_MDOHEAD d_mdohead;//下行头
+	A_MDO0004 a_mdo0004;//上行体
+	D_MDO0004 d_mdo0004;//下行体
+
+	public MDO0004BaseModel(){
+		a_mdohead=new A_MDOHEAD();
+		d_mdohead=new D_MDOHEAD();
+		a_mdo0004=new A_MDO0004();
+		d_mdo0004=new D_MDO0004();
+	}
+
+	public void validater() throws Exception {
+		this.a_mdohead.validater();
+		this.a_mdo0004.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_MDOHEAD.class);
+		this.a_mdohead = UtilTools.map2Obj(headMap, A_MDOHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_MDO0004.class);
+		this.a_mdo0004 = UtilTools.map2Obj(bodyMap, A_MDO0004.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getTransCode())){
+			(this.d_mdohead).setTransCode((this.a_mdohead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getChannelNo())){
+			(this.d_mdohead).setChannelNo((this.a_mdohead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getUserId())){
+			(this.d_mdohead).setUserId((this.a_mdohead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_mdohead).getTransTime())){
+            (this.d_mdohead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_mdohead));
+		reMap.putAll(UtilTools.obj2Map(this.d_mdo0004));
+
+		return reMap;
+	}
+
+	public A_MDOHEAD getA_mdohead() {
+		return this.a_mdohead;
+	}
+
+	public void setA_mdohead(A_MDOHEAD a_mdohead) {
+		this.a_mdohead=a_mdohead;
+	}
+
+	public D_MDOHEAD getD_mdohead() {
+		return d_mdohead;
+	}
+
+	public void setD_mdohead(D_MDOHEAD d_mdohead) {
+		this.d_mdohead=d_mdohead;
+	}
+
+	public A_MDO0004 getA_mdo0004() {
+		return a_mdo0004;
+	}
+
+	public void setA_mdo0004(A_MDO0004 a_mdo0004) {
+		this.a_mdo0004=a_mdo0004;
+	}
+
+	public D_MDO0004 getD_mdo0004() {
+		return this.d_mdo0004;
+	}
+
+	public void setD_mdo0004(D_MDO0004 d_mdo0004) {
+		this.d_mdo0004=d_mdo0004;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpmdoapater/MDO0001Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpmdoapater;
+
+import com.miniframe.spring.httpclient.MFHttpRespInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import com.miniframe.core.Transmitter;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.comm.mdo.D_MDO0001;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+
+import com.miniframe.generate.business.mdo.model.MDO0001BaseModel;
+
+public class MDO0001Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0001Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [系统服务->工程查询((MDO0001)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0001BaseModel execute(MDO0001BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0001BaseModel execute(MDO0001BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(MDO0001BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0001BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_mdohead().getTransCode())){
+			model.getA_mdohead().setTransCode("MDO0001");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdohead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdo0001()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpmdoApater = (Transmitter) UtilTools.getBean("httpmdoApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_MDOHEAD d_mdohead =  UtilTools.map2Obj(outMap, D_MDOHEAD.class);
+			D_MDO0001 d_mdo0001 =  UtilTools.map2Obj(outMap, D_MDO0001.class);
+			model.setD_mdohead(d_mdohead);
+			model.setD_mdo0001(d_mdo0001);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0001BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0001BaseModel execute(MDO0001BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpmdoapater/MDO0002Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpmdoapater;
+
+import com.miniframe.spring.httpclient.MFHttpRespInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import com.miniframe.core.Transmitter;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.comm.mdo.D_MDO0002;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+
+import com.miniframe.generate.business.mdo.model.MDO0002BaseModel;
+
+public class MDO0002Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0002Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [系统服务->工程添加修改((MDO0002)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0002BaseModel execute(MDO0002BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0002BaseModel execute(MDO0002BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(MDO0002BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0002BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_mdohead().getTransCode())){
+			model.getA_mdohead().setTransCode("MDO0002");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdohead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdo0002()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpmdoApater = (Transmitter) UtilTools.getBean("httpmdoApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_MDOHEAD d_mdohead =  UtilTools.map2Obj(outMap, D_MDOHEAD.class);
+			D_MDO0002 d_mdo0002 =  UtilTools.map2Obj(outMap, D_MDO0002.class);
+			model.setD_mdohead(d_mdohead);
+			model.setD_mdo0002(d_mdo0002);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0002BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0002BaseModel execute(MDO0002BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpmdoapater/MDO0003Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpmdoapater;
+
+import com.miniframe.spring.httpclient.MFHttpRespInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import com.miniframe.core.Transmitter;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.comm.mdo.D_MDO0003;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+
+import com.miniframe.generate.business.mdo.model.MDO0003BaseModel;
+
+public class MDO0003Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0003Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [系统服务->工程删除((MDO0003)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0003BaseModel execute(MDO0003BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0003BaseModel execute(MDO0003BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(MDO0003BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0003BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_mdohead().getTransCode())){
+			model.getA_mdohead().setTransCode("MDO0003");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdohead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdo0003()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpmdoApater = (Transmitter) UtilTools.getBean("httpmdoApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_MDOHEAD d_mdohead =  UtilTools.map2Obj(outMap, D_MDOHEAD.class);
+			D_MDO0003 d_mdo0003 =  UtilTools.map2Obj(outMap, D_MDO0003.class);
+			model.setD_mdohead(d_mdohead);
+			model.setD_mdo0003(d_mdo0003);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0003BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0003BaseModel execute(MDO0003BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpmdoapater/MDO0004Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpmdoapater;
+
+import com.miniframe.spring.httpclient.MFHttpRespInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import com.miniframe.core.Transmitter;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.comm.mdo.D_MDO0004;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+
+import com.miniframe.generate.business.mdo.model.MDO0004BaseModel;
+
+public class MDO0004Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0004Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [系统服务->根据模板添加工程((MDO0004)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0004BaseModel execute(MDO0004BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0004BaseModel execute(MDO0004BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(MDO0004BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0004BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_mdohead().getTransCode())){
+			model.getA_mdohead().setTransCode("MDO0004");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdohead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdo0004()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpmdoApater = (Transmitter) UtilTools.getBean("httpmdoApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_MDOHEAD d_mdohead =  UtilTools.map2Obj(outMap, D_MDOHEAD.class);
+			D_MDO0004 d_mdo0004 =  UtilTools.map2Obj(outMap, D_MDO0004.class);
+			model.setD_mdohead(d_mdohead);
+			model.setD_mdo0004(d_mdo0004);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0004BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0004BaseModel execute(MDO0004BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 51 - 0
generated/com/miniframe/generate/comm/mdo/A_MDO0001.java

@@ -0,0 +1,51 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 工程查询
+ */
+public class A_MDO0001 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	int count;//每页显示条数
+	/**
+	 *每页显示条数
+	 */
+	public void setCount(int count) {
+		this.count=count;
+	}
+	/**
+	 *每页显示条数
+	 */
+	public int getCount() {
+		return this.count;
+	}
+	int page;//当前页数
+	/**
+	 *当前页数
+	 */
+	public void setPage(int page) {
+		this.page=page;
+	}
+	/**
+	 *当前页数
+	 */
+	public int getPage() {
+		return this.page;
+	}
+	String searchtag;//查询条件
+	/**
+	 *查询条件
+	 */
+	public void setSearchtag(String searchtag) {
+		this.searchtag=searchtag;
+	}
+	/**
+	 *查询条件
+	 */
+	public String getSearchtag() {
+		return this.searchtag;
+	}
+}

+ 90 - 0
generated/com/miniframe/generate/comm/mdo/A_MDO0002.java

@@ -0,0 +1,90 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 工程添加修改
+ */
+public class A_MDO0002 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String pid;//UUID
+	/**
+	 *UUID
+	 */
+	public void setPid(String pid) {
+		this.pid=pid;
+	}
+	/**
+	 *UUID
+	 */
+	public String getPid() {
+		return this.pid;
+	}
+	String name;//名称
+	/**
+	 *名称
+	 */
+	public void setName(String name) {
+		this.name=name;
+	}
+	/**
+	 *名称
+	 */
+	public String getName() {
+		return this.name;
+	}
+	String remark;//描述
+	/**
+	 *描述
+	 */
+	public void setRemark(String remark) {
+		this.remark=remark;
+	}
+	/**
+	 *描述
+	 */
+	public String getRemark() {
+		return this.remark;
+	}
+	String image;//图片base64
+	/**
+	 *图片base64
+	 */
+	public void setImage(String image) {
+		this.image=image;
+	}
+	/**
+	 *图片base64
+	 */
+	public String getImage() {
+		return this.image;
+	}
+	String isshare;//
+	/**
+	 *
+	 */
+	public void setIsshare(String isshare) {
+		this.isshare=isshare;
+	}
+	/**
+	 *
+	 */
+	public String getIsshare() {
+		return this.isshare;
+	}
+	String flow;//流程图
+	/**
+	 *流程图
+	 */
+	public void setFlow(String flow) {
+		this.flow=flow;
+	}
+	/**
+	 *流程图
+	 */
+	public String getFlow() {
+		return this.flow;
+	}
+}

+ 25 - 0
generated/com/miniframe/generate/comm/mdo/A_MDO0003.java

@@ -0,0 +1,25 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 工程删除
+ */
+public class A_MDO0003 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String pid;//UUID
+	/**
+	 *UUID
+	 */
+	public void setPid(String pid) {
+		this.pid=pid;
+	}
+	/**
+	 *UUID
+	 */
+	public String getPid() {
+		return this.pid;
+	}
+}

+ 51 - 0
generated/com/miniframe/generate/comm/mdo/A_MDO0004.java

@@ -0,0 +1,51 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 根据模板添加工程
+ */
+public class A_MDO0004 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String mid;//模板id
+	/**
+	 *模板id
+	 */
+	public void setMid(String mid) {
+		this.mid=mid;
+	}
+	/**
+	 *模板id
+	 */
+	public String getMid() {
+		return this.mid;
+	}
+	String name;//名称
+	/**
+	 *名称
+	 */
+	public void setName(String name) {
+		this.name=name;
+	}
+	/**
+	 *名称
+	 */
+	public String getName() {
+		return this.name;
+	}
+	String remark;//描述
+	/**
+	 *描述
+	 */
+	public void setRemark(String remark) {
+		this.remark=remark;
+	}
+	/**
+	 *描述
+	 */
+	public String getRemark() {
+		return this.remark;
+	}
+}

+ 77 - 0
generated/com/miniframe/generate/comm/mdo/A_MDOHEAD.java

@@ -0,0 +1,77 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 系统服务
+ */
+public class A_MDOHEAD extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String transCode;//交易编码
+	/**
+	 *交易编码
+	 */
+	public void setTransCode(String transCode) {
+		this.transCode=transCode;
+	}
+	/**
+	 *交易编码
+	 */
+	public String getTransCode() {
+		return this.transCode;
+	}
+	String channelNo;//系统编号
+	/**
+	 *系统编号
+	 */
+	public void setChannelNo(String channelNo) {
+		this.channelNo=channelNo;
+	}
+	/**
+	 *系统编号
+	 */
+	public String getChannelNo() {
+		return this.channelNo;
+	}
+	String userId;//用户编码
+	/**
+	 *用户编码
+	 */
+	public void setUserId(String userId) {
+		this.userId=userId;
+	}
+	/**
+	 *用户编码
+	 */
+	public String getUserId() {
+		return this.userId;
+	}
+	String transTime;//交易时间
+	/**
+	 *交易时间
+	 */
+	public void setTransTime(String transTime) {
+		this.transTime=transTime;
+	}
+	/**
+	 *交易时间
+	 */
+	public String getTransTime() {
+		return this.transTime;
+	}
+	String clientToken;//系统令牌
+	/**
+	 *系统令牌
+	 */
+	public void setClientToken(String clientToken) {
+		this.clientToken=clientToken;
+	}
+	/**
+	 *系统令牌
+	 */
+	public String getClientToken() {
+		return this.clientToken;
+	}
+}

+ 39 - 0
generated/com/miniframe/generate/comm/mdo/D_MDO0001.java

@@ -0,0 +1,39 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+import java.util.*;
+/**
+ * 工程查询
+ */
+public class D_MDO0001 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	int total;//总数
+	/**
+	 *总数
+	 */
+	public void setTotal(int total) {
+		this.total=total;
+	}
+	/**
+	 *总数
+	 */
+	public int getTotal() {
+		return this.total;
+	}
+	List <D_MDO0001_ROWS_RECODE> rows;//数据
+	/**
+	 *数据
+	 */
+	public void setRows(List <D_MDO0001_ROWS_RECODE> rows) {
+		this.rows=rows;
+	}
+	/**
+	 *数据
+	 */
+	public List <D_MDO0001_ROWS_RECODE> getRows() {
+		return this.rows;
+	}
+}

+ 116 - 0
generated/com/miniframe/generate/comm/mdo/D_MDO0001_ROWS_RECODE.java

@@ -0,0 +1,116 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 工程查询->数据
+ */
+public class D_MDO0001_ROWS_RECODE extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String pid;//UUID
+	/**
+	 *UUID
+	 */
+	public void setPid(String pid) {
+		this.pid=pid;
+	}
+	/**
+	 *UUID
+	 */
+	public String getPid() {
+		return this.pid;
+	}
+	String name;//名称
+	/**
+	 *名称
+	 */
+	public void setName(String name) {
+		this.name=name;
+	}
+	/**
+	 *名称
+	 */
+	public String getName() {
+		return this.name;
+	}
+	String remark;//描述
+	/**
+	 *描述
+	 */
+	public void setRemark(String remark) {
+		this.remark=remark;
+	}
+	/**
+	 *描述
+	 */
+	public String getRemark() {
+		return this.remark;
+	}
+	String image;//图片base64
+	/**
+	 *图片base64
+	 */
+	public void setImage(String image) {
+		this.image=image;
+	}
+	/**
+	 *图片base64
+	 */
+	public String getImage() {
+		return this.image;
+	}
+	String createtime;//创建时间
+	/**
+	 *创建时间
+	 */
+	public void setCreatetime(String createtime) {
+		this.createtime=createtime;
+	}
+	/**
+	 *创建时间
+	 */
+	public String getCreatetime() {
+		return this.createtime;
+	}
+	String updatetime;//更新时间
+	/**
+	 *更新时间
+	 */
+	public void setUpdatetime(String updatetime) {
+		this.updatetime=updatetime;
+	}
+	/**
+	 *更新时间
+	 */
+	public String getUpdatetime() {
+		return this.updatetime;
+	}
+	String isshare;//
+	/**
+	 *
+	 */
+	public void setIsshare(String isshare) {
+		this.isshare=isshare;
+	}
+	/**
+	 *
+	 */
+	public String getIsshare() {
+		return this.isshare;
+	}
+	String flow;//流程图
+	/**
+	 *流程图
+	 */
+	public void setFlow(String flow) {
+		this.flow=flow;
+	}
+	/**
+	 *流程图
+	 */
+	public String getFlow() {
+		return this.flow;
+	}
+}

+ 12 - 0
generated/com/miniframe/generate/comm/mdo/D_MDO0002.java

@@ -0,0 +1,12 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 工程添加修改
+ */
+public class D_MDO0002 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+}

+ 12 - 0
generated/com/miniframe/generate/comm/mdo/D_MDO0003.java

@@ -0,0 +1,12 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 工程删除
+ */
+public class D_MDO0003 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+}

+ 12 - 0
generated/com/miniframe/generate/comm/mdo/D_MDO0004.java

@@ -0,0 +1,12 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 根据模板添加工程
+ */
+public class D_MDO0004 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+}

+ 103 - 0
generated/com/miniframe/generate/comm/mdo/D_MDOHEAD.java

@@ -0,0 +1,103 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 系统服务
+ */
+public class D_MDOHEAD extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String transCode;//交易编码
+	/**
+	 *交易编码
+	 */
+	public void setTransCode(String transCode) {
+		this.transCode=transCode;
+	}
+	/**
+	 *交易编码
+	 */
+	public String getTransCode() {
+		return this.transCode;
+	}
+	String channelNo;//系统编号
+	/**
+	 *系统编号
+	 */
+	public void setChannelNo(String channelNo) {
+		this.channelNo=channelNo;
+	}
+	/**
+	 *系统编号
+	 */
+	public String getChannelNo() {
+		return this.channelNo;
+	}
+	String userId;//用户编码
+	/**
+	 *用户编码
+	 */
+	public void setUserId(String userId) {
+		this.userId=userId;
+	}
+	/**
+	 *用户编码
+	 */
+	public String getUserId() {
+		return this.userId;
+	}
+	String transTime;//交易时间
+	/**
+	 *交易时间
+	 */
+	public void setTransTime(String transTime) {
+		this.transTime=transTime;
+	}
+	/**
+	 *交易时间
+	 */
+	public String getTransTime() {
+		return this.transTime;
+	}
+	String clientToken;//系统令牌
+	/**
+	 *系统令牌
+	 */
+	public void setClientToken(String clientToken) {
+		this.clientToken=clientToken;
+	}
+	/**
+	 *系统令牌
+	 */
+	public String getClientToken() {
+		return this.clientToken;
+	}
+	String returnCode;//返回码
+	/**
+	 *返回码
+	 */
+	public void setReturnCode(String returnCode) {
+		this.returnCode=returnCode;
+	}
+	/**
+	 *返回码
+	 */
+	public String getReturnCode() {
+		return this.returnCode;
+	}
+	String returnMsg;//返回信息
+	/**
+	 *返回信息
+	 */
+	public void setReturnMsg(String returnMsg) {
+		this.returnMsg=returnMsg;
+	}
+	/**
+	 *返回信息
+	 */
+	public String getReturnMsg() {
+		return this.returnMsg;
+	}
+}

+ 15 - 0
generated/validateform/a_mdo0001Form.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 工程查询Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="a_mdo0001Form">
+<field property="count" depends="required">
+    <arg0 key="a_mdo0001.count"/>
+</field>
+<field property="page" depends="required">
+    <arg0 key="a_mdo0001.page"/>
+</field>
+</form>
+</formset>
+</form-validation>

+ 25 - 0
generated/validateform/a_mdo0002Form.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 工程添加修改Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="a_mdo0002Form">
+<field property="name" depends="required,maxlength">
+    <arg0 key="a_mdo0002.name"/>
+    <arg1 name="maxlength" key="${var:maxlength}"/>
+    <var>
+      <var-name>maxlength</var-name>
+      <var-value>1024</var-value>
+    </var>
+</field>
+<field property="remark" depends="maxlength">
+    <arg0 key="a_mdo0002.remark"/>
+    <arg1 name="maxlength" key="${var:maxlength}"/>
+    <var>
+      <var-name>maxlength</var-name>
+      <var-value>2048</var-value>
+    </var>
+</field>
+</form>
+</formset>
+</form-validation>

+ 12 - 0
generated/validateform/a_mdo0003Form.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 工程删除Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="a_mdo0003Form">
+<field property="pid" depends="required">
+    <arg0 key="a_mdo0003.pid"/>
+</field>
+</form>
+</formset>
+</form-validation>

+ 33 - 0
generated/validateform/a_mdoheadForm.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 系统服务Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="a_mdoheadForm">
+<field property="transCode" depends="required,mask">
+    <arg0 key="a_mdohead.transCode"/>
+    <msg name="mask" key="a_mdohead.transCode.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_]+$</var-value>
+    </var>
+</field>
+<field property="channelNo" depends="mask">
+    <arg0 key="a_mdohead.channelNo"/>
+    <msg name="mask" key="a_mdohead.channelNo.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_]+$</var-value>
+    </var>
+</field>
+<field property="clientToken" depends="required,mask">
+    <arg0 key="a_mdohead.clientToken"/>
+    <msg name="mask" key="a_mdohead.clientToken.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_\.-]+$</var-value>
+    </var>
+</field>
+</form>
+</formset>
+</form-validation>

+ 22 - 0
generated/validateform/d_mdo0001Form.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 工程查询Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="d_mdo0001Form">
+<field property="total" depends="range">
+    <arg0 key="d_mdo0001.total"/>
+    <arg1 name="range" key="${var:max}"/>
+    <arg2 name="range" key="${var:min}"/>
+    <var>
+      <var-name>min</var-name>
+      <var-value>1</var-value>
+    </var>
+    <var>
+      <var-name>max</var-name>
+      <var-value>256</var-value>
+    </var>
+</field>
+</form>
+</formset>
+</form-validation>

+ 41 - 0
generated/validateform/d_mdoheadForm.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 系统服务Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="d_mdoheadForm">
+<field property="transCode" depends="mask">
+    <arg0 key="d_mdohead.transCode"/>
+    <msg name="mask" key="d_mdohead.transCode.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_]+$</var-value>
+    </var>
+</field>
+<field property="channelNo" depends="mask">
+    <arg0 key="d_mdohead.channelNo"/>
+    <msg name="mask" key="d_mdohead.channelNo.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_]+$</var-value>
+    </var>
+</field>
+<field property="clientToken" depends="mask">
+    <arg0 key="d_mdohead.clientToken"/>
+    <msg name="mask" key="d_mdohead.clientToken.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_]+$</var-value>
+    </var>
+</field>
+<field property="returnCode" depends="mask">
+    <arg0 key="d_mdohead.returnCode"/>
+    <msg name="mask" key="d_mdohead.returnCode.mask"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>^[a-zA-Z0-9_]+$</var-value>
+    </var>
+</field>
+</form>
+</formset>
+</form-validation>

+ 4 - 0
generated/validator/resources_a_mdo0001Form_validator.properties

@@ -0,0 +1,4 @@
+a_mdo0001.count = \u6BCF\u9875\u663E\u793A\u6761\u6570
+a_mdo0001.page = \u5F53\u524D\u9875\u6570
+a_mdo0001.searchtag = \u67E5\u8BE2\u6761\u4EF6
+a_mdo0001Form = true

+ 4 - 0
generated/validator/resources_a_mdo0001Form_validator_zh_CN.properties

@@ -0,0 +1,4 @@
+a_mdo0001.count = \u6BCF\u9875\u663E\u793A\u6761\u6570
+a_mdo0001.page = \u5F53\u524D\u9875\u6570
+a_mdo0001.searchtag = \u67E5\u8BE2\u6761\u4EF6
+a_mdo0001Form = true

+ 7 - 0
generated/validator/resources_a_mdo0002Form_validator.properties

@@ -0,0 +1,7 @@
+a_mdo0002.pid = UUID
+a_mdo0002.name = \u540D\u79F0
+a_mdo0002.remark = \u63CF\u8FF0
+a_mdo0002.image = \u56FE\u7247base64
+a_mdo0002.isshare = 
+a_mdo0002.flow = \u6D41\u7A0B\u56FE
+a_mdo0002Form = true

+ 7 - 0
generated/validator/resources_a_mdo0002Form_validator_zh_CN.properties

@@ -0,0 +1,7 @@
+a_mdo0002.pid = UUID
+a_mdo0002.name = \u540D\u79F0
+a_mdo0002.remark = \u63CF\u8FF0
+a_mdo0002.image = \u56FE\u7247base64
+a_mdo0002.isshare = 
+a_mdo0002.flow = \u6D41\u7A0B\u56FE
+a_mdo0002Form = true

+ 2 - 0
generated/validator/resources_a_mdo0003Form_validator.properties

@@ -0,0 +1,2 @@
+a_mdo0003.pid = UUID
+a_mdo0003Form = true

+ 2 - 0
generated/validator/resources_a_mdo0003Form_validator_zh_CN.properties

@@ -0,0 +1,2 @@
+a_mdo0003.pid = UUID
+a_mdo0003Form = true

+ 4 - 0
generated/validator/resources_a_mdo0004Form_validator.properties

@@ -0,0 +1,4 @@
+a_mdo0004.mid = \u6A21\u677Fid
+a_mdo0004.name = \u540D\u79F0
+a_mdo0004.remark = \u63CF\u8FF0
+a_mdo0004Form = true

+ 4 - 0
generated/validator/resources_a_mdo0004Form_validator_zh_CN.properties

@@ -0,0 +1,4 @@
+a_mdo0004.mid = \u6A21\u677Fid
+a_mdo0004.name = \u540D\u79F0
+a_mdo0004.remark = \u63CF\u8FF0
+a_mdo0004Form = true

+ 9 - 0
generated/validator/resources_a_mdoheadForm_validator.properties

@@ -0,0 +1,9 @@
+a_mdohead.transCode = \u4EA4\u6613\u7F16\u7801
+a_mdohead.transCode.mask = \u4EA4\u6613\u7F16\u7801:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+a_mdohead.channelNo = \u7CFB\u7EDF\u7F16\u53F7
+a_mdohead.channelNo.mask = \u7CFB\u7EDF\u7F16\u53F7:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+a_mdohead.userId = \u7528\u6237\u7F16\u7801
+a_mdohead.transTime = \u4EA4\u6613\u65F6\u95F4
+a_mdohead.clientToken = \u7CFB\u7EDF\u4EE4\u724C
+a_mdohead.clientToken.mask = \u7CFB\u7EDF\u4EE4\u724C:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u70B9\u3001\u4E2D\u5212\u7EBF\u548C\u4E0B\u5212\u7EBF]
+a_mdoheadForm = true

+ 9 - 0
generated/validator/resources_a_mdoheadForm_validator_zh_CN.properties

@@ -0,0 +1,9 @@
+a_mdohead.transCode = \u4EA4\u6613\u7F16\u7801
+a_mdohead.transCode.mask = \u4EA4\u6613\u7F16\u7801:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+a_mdohead.channelNo = \u7CFB\u7EDF\u7F16\u53F7
+a_mdohead.channelNo.mask = \u7CFB\u7EDF\u7F16\u53F7:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+a_mdohead.userId = \u7528\u6237\u7F16\u7801
+a_mdohead.transTime = \u4EA4\u6613\u65F6\u95F4
+a_mdohead.clientToken = \u7CFB\u7EDF\u4EE4\u724C
+a_mdohead.clientToken.mask = \u7CFB\u7EDF\u4EE4\u724C:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u70B9\u3001\u4E2D\u5212\u7EBF\u548C\u4E0B\u5212\u7EBF]
+a_mdoheadForm = true

+ 2 - 0
generated/validator/resources_d_mdo0001Form_validator.properties

@@ -0,0 +1,2 @@
+d_mdo0001.total = \u603B\u6570
+d_mdo0001Form = true

+ 2 - 0
generated/validator/resources_d_mdo0001Form_validator_zh_CN.properties

@@ -0,0 +1,2 @@
+d_mdo0001.total = \u603B\u6570
+d_mdo0001Form = true

+ 9 - 0
generated/validator/resources_d_mdo0001_rows_recodeForm_validator.properties

@@ -0,0 +1,9 @@
+d_mdo0001_rows_recode.pid = UUID
+d_mdo0001_rows_recode.name = \u540D\u79F0
+d_mdo0001_rows_recode.remark = \u63CF\u8FF0
+d_mdo0001_rows_recode.image = \u56FE\u7247base64
+d_mdo0001_rows_recode.createtime = \u521B\u5EFA\u65F6\u95F4
+d_mdo0001_rows_recode.updatetime = \u66F4\u65B0\u65F6\u95F4
+d_mdo0001_rows_recode.isshare = 
+d_mdo0001_rows_recode.flow = \u6D41\u7A0B\u56FE
+d_mdo0001_rows_recodeForm = true

+ 9 - 0
generated/validator/resources_d_mdo0001_rows_recodeForm_validator_zh_CN.properties

@@ -0,0 +1,9 @@
+d_mdo0001_rows_recode.pid = UUID
+d_mdo0001_rows_recode.name = \u540D\u79F0
+d_mdo0001_rows_recode.remark = \u63CF\u8FF0
+d_mdo0001_rows_recode.image = \u56FE\u7247base64
+d_mdo0001_rows_recode.createtime = \u521B\u5EFA\u65F6\u95F4
+d_mdo0001_rows_recode.updatetime = \u66F4\u65B0\u65F6\u95F4
+d_mdo0001_rows_recode.isshare = 
+d_mdo0001_rows_recode.flow = \u6D41\u7A0B\u56FE
+d_mdo0001_rows_recodeForm = true

+ 1 - 0
generated/validator/resources_d_mdo0002Form_validator.properties

@@ -0,0 +1 @@
+d_mdo0002Form = false

+ 1 - 0
generated/validator/resources_d_mdo0002Form_validator_zh_CN.properties

@@ -0,0 +1 @@
+d_mdo0002Form = false

+ 1 - 0
generated/validator/resources_d_mdo0003Form_validator.properties

@@ -0,0 +1 @@
+d_mdo0003Form = false

+ 1 - 0
generated/validator/resources_d_mdo0003Form_validator_zh_CN.properties

@@ -0,0 +1 @@
+d_mdo0003Form = false

+ 1 - 0
generated/validator/resources_d_mdo0004Form_validator.properties

@@ -0,0 +1 @@
+d_mdo0004Form = false

+ 1 - 0
generated/validator/resources_d_mdo0004Form_validator_zh_CN.properties

@@ -0,0 +1 @@
+d_mdo0004Form = false

+ 12 - 0
generated/validator/resources_d_mdoheadForm_validator.properties

@@ -0,0 +1,12 @@
+d_mdohead.transCode = \u4EA4\u6613\u7F16\u7801
+d_mdohead.transCode.mask = \u4EA4\u6613\u7F16\u7801:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.channelNo = \u7CFB\u7EDF\u7F16\u53F7
+d_mdohead.channelNo.mask = \u7CFB\u7EDF\u7F16\u53F7:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.userId = \u7528\u6237\u7F16\u7801
+d_mdohead.transTime = \u4EA4\u6613\u65F6\u95F4
+d_mdohead.clientToken = \u7CFB\u7EDF\u4EE4\u724C
+d_mdohead.clientToken.mask = \u7CFB\u7EDF\u4EE4\u724C:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.returnCode = \u8FD4\u56DE\u7801
+d_mdohead.returnCode.mask = \u8FD4\u56DE\u7801:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.returnMsg = \u8FD4\u56DE\u4FE1\u606F
+d_mdoheadForm = true

+ 12 - 0
generated/validator/resources_d_mdoheadForm_validator_zh_CN.properties

@@ -0,0 +1,12 @@
+d_mdohead.transCode = \u4EA4\u6613\u7F16\u7801
+d_mdohead.transCode.mask = \u4EA4\u6613\u7F16\u7801:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.channelNo = \u7CFB\u7EDF\u7F16\u53F7
+d_mdohead.channelNo.mask = \u7CFB\u7EDF\u7F16\u53F7:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.userId = \u7528\u6237\u7F16\u7801
+d_mdohead.transTime = \u4EA4\u6613\u65F6\u95F4
+d_mdohead.clientToken = \u7CFB\u7EDF\u4EE4\u724C
+d_mdohead.clientToken.mask = \u7CFB\u7EDF\u4EE4\u724C:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.returnCode = \u8FD4\u56DE\u7801
+d_mdohead.returnCode.mask = \u8FD4\u56DE\u7801:\u53D6\u503C\u8303\u56F4[\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF]
+d_mdohead.returnMsg = \u8FD4\u56DE\u4FE1\u606F
+d_mdoheadForm = true

+ 224 - 0
modelsrc/com/miniframe/model/mdo/MdoProject.java

@@ -0,0 +1,224 @@
+package com.miniframe.model.mdo;
+
+import com.miniframe.system.MiniserviceBaseModel;
+import java.io.Serializable;
+import java.util.Date;
+import javax.persistence.*;
+
+@Table(name = "mdo_project")
+public class MdoProject extends MiniserviceBaseModel implements Serializable {
+    /**
+     * 工程ID
+     */
+    @Id
+    private String id;
+
+    /**
+     * 用户编码
+     */
+    private String uid;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 描述
+     */
+    private String remark;
+
+    /**
+     * 图片base64
+     */
+    private String image;
+
+    /**
+     * 创建时间
+
+     */
+    @Column(name = "create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+
+     */
+    @Column(name = "update_time")
+    private Date updateTime;
+
+    private Short isshare;
+
+    /**
+     * 流程JSON
+     */
+    private String flow;
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 获取工程ID
+     *
+     * @return id - 工程ID
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * 设置工程ID
+     *
+     * @param id 工程ID
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * 获取用户编码
+     *
+     * @return uid - 用户编码
+     */
+    public String getUid() {
+        return uid;
+    }
+
+    /**
+     * 设置用户编码
+     *
+     * @param uid 用户编码
+     */
+    public void setUid(String uid) {
+        this.uid = uid == null ? null : uid.trim();
+    }
+
+    /**
+     * 获取名称
+     *
+     * @return name - 名称
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * 设置名称
+     *
+     * @param name 名称
+     */
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    /**
+     * 获取描述
+     *
+     * @return remark - 描述
+     */
+    public String getRemark() {
+        return remark;
+    }
+
+    /**
+     * 设置描述
+     *
+     * @param remark 描述
+     */
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    /**
+     * 获取图片base64
+     *
+     * @return image - 图片base64
+     */
+    public String getImage() {
+        return image;
+    }
+
+    /**
+     * 设置图片base64
+     *
+     * @param image 图片base64
+     */
+    public void setImage(String image) {
+        this.image = image == null ? null : image.trim();
+    }
+
+    /**
+     * 获取创建时间
+
+     *
+     * @return create_time - 创建时间
+
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 设置创建时间
+
+     *
+     * @param createTime 创建时间
+
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 获取更新时间
+
+     *
+     * @return update_time - 更新时间
+
+     */
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    /**
+     * 设置更新时间
+
+     *
+     * @param updateTime 更新时间
+
+     */
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    /**
+     * @return isshare
+     */
+    public Short getIsshare() {
+        return isshare;
+    }
+
+    /**
+     * @param isshare
+     */
+    public void setIsshare(Short isshare) {
+        this.isshare = isshare;
+    }
+
+    /**
+     * 获取流程JSON
+     *
+     * @return flow - 流程JSON
+     */
+    public String getFlow() {
+        return flow;
+    }
+
+    /**
+     * 设置流程JSON
+     *
+     * @param flow 流程JSON
+     */
+    public void setFlow(String flow) {
+        this.flow = flow == null ? null : flow.trim();
+    }
+}

+ 801 - 0
modelsrc/com/miniframe/model/mdo/MdoProjectSQLBuilder.java

@@ -0,0 +1,801 @@
+package com.miniframe.model.mdo;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MdoProjectSQLBuilder {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public MdoProjectSQLBuilder() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIsNull() {
+            addCriterion("uid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIsNotNull() {
+            addCriterion("uid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidEqualTo(String value) {
+            addCriterion("uid =", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotEqualTo(String value) {
+            addCriterion("uid <>", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThan(String value) {
+            addCriterion("uid >", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThanOrEqualTo(String value) {
+            addCriterion("uid >=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThan(String value) {
+            addCriterion("uid <", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThanOrEqualTo(String value) {
+            addCriterion("uid <=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLike(String value) {
+            addCriterion("uid like", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotLike(String value) {
+            addCriterion("uid not like", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIn(List<String> values) {
+            addCriterion("uid in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotIn(List<String> values) {
+            addCriterion("uid not in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidBetween(String value1, String value2) {
+            addCriterion("uid between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotBetween(String value1, String value2) {
+            addCriterion("uid not between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageIsNull() {
+            addCriterion("image is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageIsNotNull() {
+            addCriterion("image is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageEqualTo(String value) {
+            addCriterion("image =", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageNotEqualTo(String value) {
+            addCriterion("image <>", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageGreaterThan(String value) {
+            addCriterion("image >", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageGreaterThanOrEqualTo(String value) {
+            addCriterion("image >=", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageLessThan(String value) {
+            addCriterion("image <", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageLessThanOrEqualTo(String value) {
+            addCriterion("image <=", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageLike(String value) {
+            addCriterion("image like", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageNotLike(String value) {
+            addCriterion("image not like", value, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageIn(List<String> values) {
+            addCriterion("image in", values, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageNotIn(List<String> values) {
+            addCriterion("image not in", values, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageBetween(String value1, String value2) {
+            addCriterion("image between", value1, value2, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andImageNotBetween(String value1, String value2) {
+            addCriterion("image not between", value1, value2, "image");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNull() {
+            addCriterion("create_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNotNull() {
+            addCriterion("create_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeEqualTo(Date value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(Date value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(Date value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(Date value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<Date> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<Date> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(Date value1, Date value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareIsNull() {
+            addCriterion("isshare is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareIsNotNull() {
+            addCriterion("isshare is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareEqualTo(Short value) {
+            addCriterion("isshare =", value, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareNotEqualTo(Short value) {
+            addCriterion("isshare <>", value, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareGreaterThan(Short value) {
+            addCriterion("isshare >", value, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareGreaterThanOrEqualTo(Short value) {
+            addCriterion("isshare >=", value, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareLessThan(Short value) {
+            addCriterion("isshare <", value, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareLessThanOrEqualTo(Short value) {
+            addCriterion("isshare <=", value, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareIn(List<Short> values) {
+            addCriterion("isshare in", values, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareNotIn(List<Short> values) {
+            addCriterion("isshare not in", values, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareBetween(Short value1, Short value2) {
+            addCriterion("isshare between", value1, value2, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsshareNotBetween(Short value1, Short value2) {
+            addCriterion("isshare not between", value1, value2, "isshare");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowIsNull() {
+            addCriterion("flow is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowIsNotNull() {
+            addCriterion("flow is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowEqualTo(String value) {
+            addCriterion("flow =", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowNotEqualTo(String value) {
+            addCriterion("flow <>", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowGreaterThan(String value) {
+            addCriterion("flow >", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowGreaterThanOrEqualTo(String value) {
+            addCriterion("flow >=", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowLessThan(String value) {
+            addCriterion("flow <", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowLessThanOrEqualTo(String value) {
+            addCriterion("flow <=", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowLike(String value) {
+            addCriterion("flow like", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowNotLike(String value) {
+            addCriterion("flow not like", value, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowIn(List<String> values) {
+            addCriterion("flow in", values, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowNotIn(List<String> values) {
+            addCriterion("flow not in", values, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowBetween(String value1, String value2) {
+            addCriterion("flow between", value1, value2, "flow");
+            return (Criteria) this;
+        }
+
+        public Criteria andFlowNotBetween(String value1, String value2) {
+            addCriterion("flow not between", value1, value2, "flow");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 10 - 0
modelsrc/com/miniframe/model/mdo/dao/MdoProjectMapper.java

@@ -0,0 +1,10 @@
+package com.miniframe.model.mdo.dao;
+
+import com.miniframe.model.mdo.MdoProject;
+import com.miniframe.model.mdo.MdoProjectSQLBuilder;
+import com.miniframe.spring.db.MFBaseMapper;
+import com.miniframe.system.MiniserviceBaseDao;
+
+public interface MdoProjectMapper extends MiniserviceBaseDao, MFBaseMapper<MdoProject> {
+    long countByExample(MdoProjectSQLBuilder example);
+}

+ 14 - 0
modelsrc/com/miniframe/model/mdo/dbconfig/MapperConfig-mdo.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
+<configuration>
+  <!--
+    This file is generated by MyBatis Generator.
+    This file is the shell of a Mapper Config file - in many cases you will need to add
+      to this file before it is usable by MyBatis.
+    This file was generated on Thu Sep 05 10:48:21 CST 2024.
+  -->
+  <mappers>
+    <mapper resource="com/miniframe/model/mdo/xml/MdoProjectMapper.xml" />
+    <mapper resource="com/miniframe/model/mdo/xml/MdoModMapper.xml" />
+  </mappers>
+</configuration>

+ 50 - 0
modelsrc/com/miniframe/model/mdo/xml/MdoProjectMapper.xml

@@ -0,0 +1,50 @@
+<?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.miniframe.model.mdo.dao.MdoProjectMapper">
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <select id="countByExample" parameterType="com.miniframe.model.mdo.MdoProjectSQLBuilder" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    select count(*) from mdo_project
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <cache>
+    <!--
+      WARNING - @mbg.generated
+    -->
+  </cache>
+</mapper>

+ 1 - 1
modelsrc/com/miniframe/model/system/dbconfig/MapperConfig-system.xml

@@ -5,7 +5,7 @@
     This file is generated by MyBatis Generator.
     This file is the shell of a Mapper Config file - in many cases you will need to add
       to this file before it is usable by MyBatis.
-    This file was generated on Thu Jun 13 10:20:35 CST 2024.
+    This file was generated on Thu Sep 05 10:48:22 CST 2024.
   -->
   <mappers>
     <mapper resource="com/miniframe/model/system/xml/SysAppcodeMapper.xml" />

+ 6 - 1
pom.xml

@@ -58,7 +58,6 @@
         </dependency>
 
 
-
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-openfeign</artifactId>
@@ -163,6 +162,12 @@
         </dependency>
 
 
+        <!--3D库 obj 转gltf -->
+        <dependency>
+            <groupId>de.javagl</groupId>
+            <artifactId>jgltf-obj</artifactId>
+            <version>2.0.4</version>
+        </dependency>
 
 
         <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core -->

+ 2 - 0
profiles/dev/application-dev.properties

@@ -74,6 +74,7 @@ spring.redis.lettuce.pool.max-active=30
 # \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u9ED8\u8BA4-1,\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
 spring.redis.lettuce.pool.max-wait=15000
 # \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5(\u9ED8\u8BA4\u4E3A8\uFF09
+
 spring.redis.lettuce.pool.max-idle=20
 # \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\uFF08\u9ED8\u8BA4\u4E3A0)
 spring.redis.lettuce.pool.min-idle=5
@@ -98,6 +99,7 @@ spring.mail.username=1358659014@qq.com
 spring.mail.password=kncbcslnakviijhh
 spring.mail.port=465
 spring.mail.default-encoding=utf-8
+
 #\u8BBE\u7F6E\u4E3ASSL\u534F\u8BAE
 spring.mail.properties.mail.smtp.auth=true
 spring.mail.properties.mail.smtp.starttls.enable=true

+ 32 - 0
profiles/dev/springcfg/applicationContext-comm-httpmdoApater.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
+	   xmlns:tx="http://www.springframework.org/schema/tx"
+	   xsi:schemaLocation="
+	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
+	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
+
+	<!-- mdo适配器 -->
+	<bean id="httpmdoApater" class="com.miniframe.httpclient.HttpTransmitter">
+		<!-- 交易码转化为URI -->
+		<property name="code2uri" value="false"/>	
+		<!-- 通讯类型 -->
+		<property name="transType" value="json"/>	
+		<!-- 交易码的key -->
+		<property name="transCode" value="transCode"/>	
+		<!-- 客户端http头传送内容 -->
+		<property name="clienthttpHead" value="x-auth-token,x-auth-user"/>					
+		<!-- 服务器端http返回头传送内容 -->
+		<property name="serverhttpHead" value=""/>		
+		<!-- 连接主机IP -->
+		<property name="host" value="127.0.0.1"/>		
+		<!-- 连接主机port -->
+		<property name="port" value="8080"/>
+		<!-- 请求URI -->
+		<property name="uri" value="/TransServlet"/>
+		<!-- 通讯服务实现类 -->
+		<property name="clientTransmeter" ref="httpAsyncClient"/>		
+	</bean>
+
+</beans>

+ 101 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0001Service.java

@@ -0,0 +1,101 @@
+package com.miniframe.bisiness.mdo;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.business.mdo.model.MDO0001BaseModel;
+import com.miniframe.generate.comm.mdo.D_MDO0001_ROWS_RECODE;
+import com.miniframe.model.mdo.MdoProject;
+import com.miniframe.model.mdo.MdoProjectSQLBuilder;
+import com.miniframe.model.mdo.dao.MdoProjectMapper;
+import com.miniframe.tools.XIDateTimeUtils;
+import com.miniframe.tools.XIUtils;
+import tk.mybatis.mapper.util.StringUtil;
+
+/**
+ * 西工大系统,“工程查询”逻辑处理(重新生成不覆盖)。
+ */
+public class MDO0001Service extends MDO0001BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 西工大系统,“工程查询”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+		//每页显示条数
+		Integer size = this.getA_mdo0001().getCount();
+		//当前页数
+		Integer page = this.getA_mdo0001().getPage();
+		//查询条件
+		String searchtag = this.getA_mdo0001().getSearchtag();
+		String uid = this.getA_mdohead().getUserId();
+		if (StringUtil.isEmpty(uid)) {
+			throw new BusinessException("");
+		}
+
+		MdoProjectMapper pdao = UtilTools.getBean(MdoProjectMapper.class);
+		MdoProjectSQLBuilder sb = new MdoProjectSQLBuilder();
+		MdoProjectSQLBuilder.Criteria sc = sb.createCriteria();
+		sc.andUidEqualTo(uid);
+		int total = pdao.selectCountByExample(sb);
+
+		sb.setOrderByClause("create_time desc");
+		XIUtils.pageSet(page, size);
+
+		List<MdoProject> list = pdao.selectByExample(sb);
+		List<D_MDO0001_ROWS_RECODE> rows = new ArrayList<>();
+		for (MdoProject p : list) {
+			D_MDO0001_ROWS_RECODE row = new D_MDO0001_ROWS_RECODE();
+			row.setCreatetime(XIDateTimeUtils.getStrFromDate(p.getCreateTime()));
+			row.setUpdatetime(XIDateTimeUtils.getStrFromDate(p.getUpdateTime()));
+			row.setName(p.getName());
+			row.setFlow(p.getFlow());
+			row.setPid(p.getId());
+			row.setImage(p.getImage());
+			row.setIsshare(p.getIsshare().toString());
+			row.setRemark(p.getRemark());
+			rows.add(row);
+		}
+
+		this.getD_mdo0001().setRows(rows);
+		this.getD_mdo0001().setTotal(total);
+
+	}
+
+
+
+
+
+	/**
+	 * 西工大系统,“工程查询”业务前处理
+ 	 */
+	public void preTransFlow() throws Exception
+	{
+		this.validater();
+	}
+	
+	/**
+	 * 西工大系统,“工程查询”业务后处理
+ 	 */
+	public void afterTransFlow() throws Exception {
+	
+	}
+	
+	/**
+	 * 西工大系统,“工程查询”逻辑入口处理方法
+ 	 */
+ 	@SuppressWarnings("rawtypes")
+	@Override
+	public Map execute(Map vars) throws Exception {
+		this.setTransMap(vars);
+		preTransFlow();// 执行业务开始的规则检查和校验
+		transExecute();// 执行核心业务段
+		afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
+		return this.getTransMap();
+	}
+
+}

+ 94 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0002Service.java

@@ -0,0 +1,94 @@
+package com.miniframe.bisiness.mdo;
+
+import java.util.Date;
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.business.mdo.model.MDO0002BaseModel;
+import com.miniframe.model.mdo.MdoProject;
+import com.miniframe.model.mdo.dao.MdoProjectMapper;
+import com.miniframe.tools.XIDateTimeUtils;
+import com.miniframe.tools.XiJsonUtil;
+import tk.mybatis.mapper.util.StringUtil;
+
+/**
+ * 西工大系统,“工程添加修改”逻辑处理(重新生成不覆盖)。
+ */
+public class MDO0002Service extends MDO0002BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 西工大系统,“工程添加修改”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+		String pid = this.getA_mdo0002().getPid();
+		String name =this.getA_mdo0002().getName();
+		String remark =this.getA_mdo0002().getRemark();
+		String isshare =this.getA_mdo0002().getIsshare();
+		String image =this.getA_mdo0002().getImage();
+		String flow =this.getA_mdo0002().getFlow();
+		String uid=this.getA_mdohead().getUserId();
+		Date nowDate =XIDateTimeUtils.getNowDate();
+		MdoProjectMapper proDao =UtilTools.getBean(MdoProjectMapper.class);
+		if(StringUtil.isEmpty(pid)){//添加
+			pid = UtilTools.getUUid();
+			MdoProject pro =new MdoProject();
+			pro.setId(pid);
+			pro.setUid(uid);
+			pro.setCreateTime(nowDate);
+			pro.setUpdateTime(nowDate);
+			pro.setFlow(flow);
+			pro.setImage(image);
+			pro.setIsshare(Short.valueOf(isshare));
+			pro.setName(name);
+			pro.setRemark(remark);
+			proDao.insert(pro);
+		}else{//修改
+			MdoProject pro = proDao.selectByPrimaryKey(pid);
+			if(pro==null){
+				throw  new BusinessException("MDO000001");
+			}
+			pro.setId(pid);
+			pro.setUid(uid);
+			pro.setUpdateTime(nowDate);
+			pro.setFlow(flow);
+			pro.setImage(image);
+			pro.setIsshare(Short.valueOf(isshare));
+			pro.setName(name);
+			pro.setRemark(remark);
+			proDao.updateByPrimaryKey(pro);
+		}
+
+
+	}
+	
+	/**
+	 * 西工大系统,“工程添加修改”业务前处理
+ 	 */
+	public void preTransFlow() throws Exception {
+		this.validater();
+	}
+	
+	/**
+	 * 西工大系统,“工程添加修改”业务后处理
+ 	 */
+	public void afterTransFlow() throws Exception {
+	
+	}
+	
+	/**
+	 * 西工大系统,“工程添加修改”逻辑入口处理方法
+ 	 */
+ 	@SuppressWarnings("rawtypes")
+	@Override
+	public Map execute(Map vars) throws Exception {
+		this.setTransMap(vars);
+		preTransFlow();// 执行业务开始的规则检查和校验
+		transExecute();// 执行核心业务段
+		afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
+		return this.getTransMap();
+	}
+
+}

+ 59 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0003Service.java

@@ -0,0 +1,59 @@
+package com.miniframe.bisiness.mdo;
+
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.business.mdo.model.MDO0003BaseModel;
+import com.miniframe.model.mdo.MdoProject;
+import com.miniframe.model.mdo.dao.MdoProjectMapper;
+
+/**
+ * 西工大系统,“工程删除”逻辑处理(重新生成不覆盖)。
+ */
+public class MDO0003Service extends MDO0003BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 西工大系统,“工程删除”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+		String pid = this.getA_mdo0003().getPid();
+		MdoProjectMapper proDao = UtilTools.getBean(MdoProjectMapper.class);
+		MdoProject pro = proDao.selectByPrimaryKey(pid);
+		if(pro==null){
+			throw  new BusinessException("MDO000001");
+		}
+		proDao.deleteByPrimaryKey(pid);
+
+	}
+	
+	/**
+	 * 西工大系统,“工程删除”业务前处理
+ 	 */
+	public void preTransFlow() throws Exception {
+		this.validater();
+	}
+	
+	/**
+	 * 西工大系统,“工程删除”业务后处理
+ 	 */
+	public void afterTransFlow() throws Exception {
+	
+	}
+	
+	/**
+	 * 西工大系统,“工程删除”逻辑入口处理方法
+ 	 */
+ 	@SuppressWarnings("rawtypes")
+	@Override
+	public Map execute(Map vars) throws Exception {
+		this.setTransMap(vars);
+		preTransFlow();// 执行业务开始的规则检查和校验
+		transExecute();// 执行核心业务段
+		afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
+		return this.getTransMap();
+	}
+
+}

+ 81 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0004Service.java

@@ -0,0 +1,81 @@
+package com.miniframe.bisiness.mdo;
+
+import java.util.Date;
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.business.mdo.model.MDO0004BaseModel;
+import com.miniframe.model.mdo.MdoMod;
+import com.miniframe.model.mdo.MdoProject;
+import com.miniframe.model.mdo.dao.MdoModMapper;
+import com.miniframe.model.mdo.dao.MdoProjectMapper;
+import com.miniframe.tools.XIDateTimeUtils;
+
+import javax.rmi.CORBA.Util;
+
+/**
+ * 西工大系统,“根据模板添加工程”逻辑处理(重新生成不覆盖)。
+ */
+public class MDO0004Service extends MDO0004BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 西工大系统,“根据模板添加工程”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+		String mid =this.getA_mdo0004().getMid();
+		String name= this.getA_mdo0004().getName();
+		String remark =this.getA_mdo0004().getRemark();
+		String uid =this.getA_mdohead().getUserId();
+
+		MdoModMapper modDao = UtilTools.getBean(MdoModMapper.class);
+		MdoMod mod =modDao.selectByPrimaryKey(mid);
+		if(mod ==null){
+			throw new BusinessException("");
+		}
+		MdoProjectMapper proDao =UtilTools.getBean(MdoProjectMapper.class);
+		MdoProject pro =new MdoProject();
+		Date nowDate = XIDateTimeUtils.getNowDate();
+		pro.setId(UtilTools.getUUid());
+		pro.setName(name);
+		pro.setRemark(remark);
+		pro.setIsshare(mod.getIsshare());
+		pro.setImage(mod.getImage());
+		pro.setFlow(mod.getFlow());
+		pro.setUid(uid);
+		pro.setCreateTime(nowDate);
+		pro.setUpdateTime(nowDate);
+		proDao.insert(pro);
+	
+	}
+	
+	/**
+	 * 西工大系统,“根据模板添加工程”业务前处理
+ 	 */
+	public void preTransFlow() throws Exception {
+		this.validater();
+	}
+	
+	/**
+	 * 西工大系统,“根据模板添加工程”业务后处理
+ 	 */
+	public void afterTransFlow() throws Exception {
+	
+	}
+	
+	/**
+	 * 西工大系统,“根据模板添加工程”逻辑入口处理方法
+ 	 */
+ 	@SuppressWarnings("rawtypes")
+	@Override
+	public Map execute(Map vars) throws Exception {
+		this.setTransMap(vars);
+		preTransFlow();// 执行业务开始的规则检查和校验
+		transExecute();// 执行核心业务段
+		afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
+		return this.getTransMap();
+	}
+
+}

+ 25 - 0
src/main/java/com/miniframe/dbtransfer/MdoProjectDbTransfer.java

@@ -0,0 +1,25 @@
+package com.miniframe.dbtransfer;
+
+import com.miniframe.core.DbTransfer;
+import com.miniframe.model.mdo.MdoProject;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+
+
+/**
+ * 实体列表,“MDO_PROJECT”数据库数据转化逻辑处理(重新生成不覆盖)。
+ */
+public class MdoProjectDbTransfer extends DbTransfer implements Serializable {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+
+	@Override
+	public List transfer(final List l,Map map) throws Exception{
+		List<MdoProject> list=l;
+		return list;
+	};
+
+}

+ 39 - 0
src/test/java/com/miniframe/MD5Checksum.java

@@ -0,0 +1,39 @@
+package com.miniframe;
+
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.security.MessageDigest;
+
+public class MD5Checksum {
+
+    public static String getMD5Checksum(String filePath) throws Exception {
+        InputStream fis = new FileInputStream(filePath);
+        byte[] buffer = new byte[1024];
+        MessageDigest complete = MessageDigest.getInstance("MD5");
+        int numRead;
+
+        do {
+            numRead = fis.read(buffer);
+            if (numRead > 0) {
+                complete.update(buffer, 0, numRead);
+            }
+        } while (numRead != -1);
+
+        fis.close();
+        byte[] b = complete.digest();
+
+        String result = "";
+        for (int i = 0; i < b.length; i++) {
+            result += Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1);
+        }
+        return result;
+    }
+
+    public static void main(String[] args) {
+        try {
+            System.out.println(getMD5Checksum("E:\\zgjx\\IMG-dAqk-img-n39nnvd597xr-sys-qcow2-1722929078797"));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 31 - 0
src/test/java/com/miniframe/MdoTest.java

@@ -0,0 +1,31 @@
+package com.miniframe;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.google.gson.JsonObject;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.mdo.MdoProject;
+import com.miniframe.model.mdo.dao.MdoProjectMapper;
+import com.miniframe.model.system.SysUser;
+import com.miniframe.tools.XIDateTimeUtils;
+import com.miniframe.tools.XiJsonUtil;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest(classes = Application.class)
+public class MdoTest {
+    @Autowired
+    MdoProjectMapper mapper ;
+
+    @Test
+    void saveProject() throws JsonProcessingException {
+        MdoProject p = new MdoProject();
+        p.setId(UtilTools.getUUid());
+        p.setCreateTime(XIDateTimeUtils.getNowDate());
+        SysUser user = new SysUser();
+        user.setId(UtilTools.getUUid());
+        user.setNickname("css");
+        p.setFlow(XiJsonUtil.objectToJson(user));
+        mapper.insert(p);
+    }
+}

Разница между файлами не показана из-за своего большого размера
+ 8 - 0
src/test/java/com/miniframe/MqTest.java


+ 37 - 0
src/test/java/com/miniframe/comm/httpmdoapater/HttpmdoapaterUtil.java

@@ -0,0 +1,37 @@
+package com.miniframe.comm.httpmdoapater;
+
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.UUID;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.global.AppGlobalVariableSysconfig;
+import com.miniframe.generate.comm.mdo.A_MDOHEAD;
+
+public class HttpmdoapaterUtil {
+
+	////////////////////////////////////////////////系统加载基础处理项//////////////////////////////////////////////////
+    //static {
+    //	UtilTools.systemInit();
+	//}
+	////////////////////////////////////////////////系统加载基础处理项//////////////////////////////////////////////////
+	
+	/**
+	 * 用户编码
+	 */
+	private static String userId ="administrator";
+	
+	/*
+	 * 初始化系统 
+	 */
+	public static A_MDOHEAD getA_mdohead(String transCode) {
+		A_MDOHEAD a_mdohead = new A_MDOHEAD();
+		// -----------以下为头赋值事例,项目需要根据情况调整-------------
+		a_mdohead.setTransCode(transCode);
+		a_mdohead.setChannelNo(UtilTools.getBaseCode());
+		a_mdohead.setClientToken(UUID.randomUUID().toString().replace("-",""));
+		a_mdohead.setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+		a_mdohead.setUserId(userId);
+		// ------------------------------------------------------------		
+		return a_mdohead;
+	}
+}

+ 44 - 0
src/test/java/com/miniframe/comm/httpmdoapater/MDO0001Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpmdoapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpmdoapater.HttpmdoapaterUtil;
+import com.miniframe.generate.comm.mdo.A_MDO0001;
+import com.miniframe.generate.comm.httpmdoapater.MDO0001Client;
+import com.miniframe.generate.business.mdo.model.MDO0001BaseModel;
+
+public class MDO0001Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0001Test.class);
+
+	/**
+	 * 工程查询,获取报文体
+	 * @return
+	 */
+	public static A_MDO0001 getA_mdo0001() {
+		A_MDO0001 a_mdo0001 = new A_MDO0001();
+
+		// ----------以下增加【工程查询】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_mdo0001;
+	}
+	
+	/**
+	 * 运行客户端测试,工程查询
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		MDO0001BaseModel model = new MDO0001BaseModel();
+		model.setA_mdohead(HttpmdoapaterUtil.getA_mdohead("MDO0001"));
+		model.setA_mdo0001(MDO0001Test.getA_mdo0001());
+		MDO0001Client client = new MDO0001Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 44 - 0
src/test/java/com/miniframe/comm/httpmdoapater/MDO0002Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpmdoapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpmdoapater.HttpmdoapaterUtil;
+import com.miniframe.generate.comm.mdo.A_MDO0002;
+import com.miniframe.generate.comm.httpmdoapater.MDO0002Client;
+import com.miniframe.generate.business.mdo.model.MDO0002BaseModel;
+
+public class MDO0002Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0002Test.class);
+
+	/**
+	 * 工程添加修改,获取报文体
+	 * @return
+	 */
+	public static A_MDO0002 getA_mdo0002() {
+		A_MDO0002 a_mdo0002 = new A_MDO0002();
+
+		// ----------以下增加【工程添加修改】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_mdo0002;
+	}
+	
+	/**
+	 * 运行客户端测试,工程添加修改
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		MDO0002BaseModel model = new MDO0002BaseModel();
+		model.setA_mdohead(HttpmdoapaterUtil.getA_mdohead("MDO0002"));
+		model.setA_mdo0002(MDO0002Test.getA_mdo0002());
+		MDO0002Client client = new MDO0002Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 44 - 0
src/test/java/com/miniframe/comm/httpmdoapater/MDO0003Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpmdoapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpmdoapater.HttpmdoapaterUtil;
+import com.miniframe.generate.comm.mdo.A_MDO0003;
+import com.miniframe.generate.comm.httpmdoapater.MDO0003Client;
+import com.miniframe.generate.business.mdo.model.MDO0003BaseModel;
+
+public class MDO0003Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0003Test.class);
+
+	/**
+	 * 工程删除,获取报文体
+	 * @return
+	 */
+	public static A_MDO0003 getA_mdo0003() {
+		A_MDO0003 a_mdo0003 = new A_MDO0003();
+
+		// ----------以下增加【工程删除】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_mdo0003;
+	}
+	
+	/**
+	 * 运行客户端测试,工程删除
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		MDO0003BaseModel model = new MDO0003BaseModel();
+		model.setA_mdohead(HttpmdoapaterUtil.getA_mdohead("MDO0003"));
+		model.setA_mdo0003(MDO0003Test.getA_mdo0003());
+		MDO0003Client client = new MDO0003Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 44 - 0
src/test/java/com/miniframe/comm/httpmdoapater/MDO0004Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpmdoapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpmdoapater.HttpmdoapaterUtil;
+import com.miniframe.generate.comm.mdo.A_MDO0004;
+import com.miniframe.generate.comm.httpmdoapater.MDO0004Client;
+import com.miniframe.generate.business.mdo.model.MDO0004BaseModel;
+
+public class MDO0004Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0004Test.class);
+
+	/**
+	 * 根据模板添加工程,获取报文体
+	 * @return
+	 */
+	public static A_MDO0004 getA_mdo0004() {
+		A_MDO0004 a_mdo0004 = new A_MDO0004();
+
+		// ----------以下增加【根据模板添加工程】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_mdo0004;
+	}
+	
+	/**
+	 * 运行客户端测试,根据模板添加工程
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		MDO0004BaseModel model = new MDO0004BaseModel();
+		model.setA_mdohead(HttpmdoapaterUtil.getA_mdohead("MDO0004"));
+		model.setA_mdo0004(MDO0004Test.getA_mdo0004());
+		MDO0004Client client = new MDO0004Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 1 - 1
系统设计/实体Bean/build/build.xml

@@ -49,7 +49,7 @@
 				value="${basedir}/../../lib/postgresql-42.2.4.jar" />
 			<sysproperty key="driverClass" value="org.postgresql.Driver" />
 			<sysproperty key="connectionURL"
-				value="jdbc:postgresql://192.168.0.131:5432/aipopt" />
+				value="jdbc:postgresql://192.168.0.131:5432/airopt" />
 			<sysproperty key="userId" value="postgres" />
 			<sysproperty key="password" value="postgres" />
 			<sysproperty key="schema" value="public" />

+ 3 - 0
系统设计/实体Bean/mdo(实体列表).csv

@@ -0,0 +1,3 @@
+序号,表/试图名称,逻辑名称,是否缓存,备注信息
+1,MDO_PROJECT,工程表,FALSE,
+2,MDO_MOD,模版库,FALSE,

+ 1 - 1
系统设计/实体Bean/system(实体列表).csv

@@ -10,4 +10,4 @@
 9,SYS_VERSION,APP版本记录表,FALSE,
 10,USER_LOGIN,登录记录表,FALSE,
 11,USER_CERTIFICATION,认证表,FALSE,
-12,BISINESS_NUMBER,业务数据编号,FALSE,
+12,BISINESS_NUMBER,业务数据编号,FALSE,

+ 2 - 44
系统设计/数据定义/返 回 码/business(业务系统).csv

@@ -61,47 +61,5 @@
 2000007,EB2000007,文件读取失败!,
 2000008,EB2000008,文件不存在!,
 
-3000001,EB3000001,节点数据不存在!,
-3000002,EB3000002,事故数据不存在!,
-3000003,EB3000003,事故已存在该节点数据!,
-3000004,EB3000004,灾源数据不存在!,
-3000005,EB3000005,已存在同源的数据!,
-3000006,EB3000006,灾源检测数据不存在!,
-
-3100000,EB3100000,已存在相同数据的节点!,
-3100001,EB3100001,已存在相同起始节点的巷道!,
-3100002,EB3100002,不存在对应巷道!,
-3100003,EB3100003,已存在相同位置的监测点!,
-3100004,EB3100004,监测点不存在!,
-
-3100005,EB3100005,该节点边界信息已存在!,
-3100006,EB3100006,边界信息不存在!,
-
-3100007,EB3100007,该巷道同位置存在相同传感器!,
-3100008,EB3100008,传感器不存在!,
-
-3100010,EB3100010,存在相同的物理属性!,
-3100011,EB3100011,物理属性不存在!,
-3100012,EB3100012,任务不存在!,
-3100013,EB3100013,物理属性信息缺失!,
-3100014,EB3100014,结果文件不存在!,
-3100015,EB3100015,巷道不存在!,
-
-3100020,EB3100020,几何文件不存在!,
-3100021,EB3100021,边界文件不存在!,
-3100022,EB3100022,瓦斯灾源不存在!,
-3100023,EB3100023,瓦斯爆炸区不存在!,
-3100024,EB3100024,瓦斯积聚区不存在!,
-
-3100025,EB3100025,边界文件格式错误!,
-3100026,EB3100026,监测点结果数据不存在!,
-
-3100027,EB3100027,求解未完成!,
-3100028,EB3100028,报警不存在!,
-
-3100029,EB3100029,路径不存在!,
-3100030,EB3100030,存在相同编码的路径!,
-3100031,EB3100031,存在路径节点信息不能删除!,
-
-3100032,EB3100032,路径已存在该节点!,
-3100033,EB3100033,路径节点不存在!,
+3000001,MDO000001,工程不存在!,
+3000002,MDO000002,模板不存在!,

+ 8 - 0
系统设计/系统模块/MDO(西工大系统).csv

@@ -0,0 +1,8 @@
+序号,交易编码,交易名称,属性,实现类,交易描述
+100001,MDO0001,工程查询,service,
+100002,MDO0002,工程添加修改,service,
+100003,MDO0003,工程删除,service,
+100004,MDO0004,根据模板添加工程,service,
+100005,MDO0005,模版查询,service,
+100006,MDO0006,模版添加修改,service,
+100007,MDO0007,模版删除,service,

+ 1 - 1
系统设计/系统模块/build/serviceTemplate.vm

@@ -2,7 +2,7 @@ package com.miniframe.bisiness.$tools.toLower($!map.get("code"));
 
 import java.util.Map;
 import com.miniframe.core.ExecProcessFlow;
-#set ( $package = "system.model."+$tools.toUpper($!map.get("交易编码"))+"BaseModel")
+#set ( $package = $tools.toLower($!map.get("code"))+".model."+$tools.toUpper($!map.get("交易编码"))+"BaseModel")
 import com.miniframe.generate.business.$package;
 
 /**

+ 4 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0001_A(工程查询).csv

@@ -0,0 +1,4 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,count,每页显示条数,int,5,,是,,,,,,,,
+2,page,当前页数,int,1,,是,,,,,,,,
+3,searchtag,查询条件,string,,,,,,,,,,,

+ 11 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0001_D(工程查询).csv

@@ -0,0 +1,11 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,total,总数,int,,,,1,256,,,,,,
+2,rows,数据,list,,,,0,,,,,,,
+2.1,pid,UUID,string,,,,,,,,,,,
+2.2,name,名称,string,,,,,,,,,,,
+2.3,remark,描述,string,,,,,,,,,,,
+2.4,image,图片base64,string,,,,,,,,,,,
+2.5,createtime,创建时间,string,,,,,,,,,,,
+2.6,updatetime,更新时间,string,,,,,,,,,,,
+2.7,isshare,,string,,,,,,,,,,,
+2.8,flow,流程图,string,,,,,,,,,,,

+ 7 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0002_A(工程添加修改).csv

@@ -0,0 +1,7 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,pid,UUID,string,,,,,,,,,,,
+2,name,名称,string,,,是,,1024,,,,,,
+3,remark,描述,string,,,,,2048,,,,,,
+4,image,图片base64,string,,,,,,,,,,,
+5,isshare,,string,,,,,,,,,,,
+6,flow,流程图,string,,,,,,,,,,,

+ 2 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0002_D(工程添加修改).csv

@@ -0,0 +1,2 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+

+ 2 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0003_A(工程删除).csv

@@ -0,0 +1,2 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,pid,UUID,string,,,是,,,,,,,,

+ 2 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0003_D(工程删除).csv

@@ -0,0 +1,2 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+

+ 4 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0004_A(根据模板添加工程).csv

@@ -0,0 +1,4 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,mid,模板id,string,,,是,,,,,,,,
+2,name,名称,string,,,是,,1024,,,,,,
+3,remark,描述,string,,,,,2048,,,,,,

+ 2 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0004_D(根据模板添加工程).csv

@@ -0,0 +1,2 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+

+ 53 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/build.xml

@@ -0,0 +1,53 @@
+<project basedir="." default="build" name="MDO报文体生成">
+
+	<path id="project.classpath">
+		<fileset dir="${basedir}/../../../../../lib">
+			<include name="**/*.jar" />
+		</fileset>
+	</path>
+
+	<target name="build" description="生成代码">
+
+		<java fork="true" failonerror="yes"
+			classname="com.miniframe.designer.engine.JsonCommTransEngine">
+
+			<!-- 系统编号 -->
+			<sysproperty key="baseCode" value="service" />
+
+			<!-- 数据目录 -->
+			<sysproperty key="dataDir" value="${basedir}/../" />
+
+			<!-- 验证规则目录 -->
+			<sysproperty key="ruleDir" value="${basedir}/../../../../../数据验证/验证规则/" />
+
+			<!-- 标准数据目录 -->
+			<sysproperty key="appcodeDir" value="${basedir}/../../../../../数据定义/标准数据/" />
+
+			<!-- java生成模板 -->
+			<sysproperty key="javaTemplate" value="${basedir}/javaTemplate.vm" />
+			<!-- java生成目录 -->
+			<sysproperty key="javaDir"
+				value="${basedir}/../../../../../../generated/com/miniframe/generate/comm/" />
+
+			<!-- form生成模板 -->
+			<sysproperty key="formTemplate" value="${basedir}/formTemplate.vm" />
+			<!-- form生成目录 -->
+			<sysproperty key="formDir"
+				value="${basedir}/../../../../../../generated/validateform/" />
+
+			<!-- 资源生成模板 -->
+			<sysproperty key="formMsgTemplate" value="${basedir}/formMsgTemplate.vm" />
+			<!-- 资源生成目录 -->
+			<sysproperty key="formMsgDir"
+				value="${basedir}/../../../../../../generated/validator/" />
+
+			<sysproperty key="encoding" value="UTF-8" />
+			<sysproperty key="file.encoding" value="UTF-8" />
+			<classpath refid="project.classpath" />
+
+		</java>
+
+		<delete file="${basedir}/velocity.log" />
+	</target>
+
+</project>

+ 19 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/formMsgTemplate.vm

@@ -0,0 +1,19 @@
+#foreach( $element in $!map.get("list"))
+#if($tools.isNumber($!element.get("数据类型")))
+#set($itemCode=$tools.toLower($map.get("code"))+"."+$element.get("英文名称"))
+$itemCode = $tools.str2Unicode($element.get("中文名称"))
+#if($tools.isNotNullAndBlank($!element.get("验证规则")))
+#set($itemMask=$tools.toLower($map.get("code"))+"."+$element.get("英文名称")+".mask")
+#set($itemHelp=$element.get("中文名称")+":"+$element.get("提示信息"))
+$itemMask = $tools.str2Unicode($itemHelp)
+#end
+#else
+#set($itemCode=$tools.toLower($map.get("code"))+"."+$element.get("英文名称"))
+$itemCode = $tools.str2Unicode($element.get("中文名称"))
+#if($tools.isNotNullAndBlank($!element.get("验证规则")))
+#set($itemMask=$tools.toLower($map.get("code"))+"."+$element.get("英文名称")+".mask")
+#set($itemHelp=$element.get("中文名称")+":"+$element.get("提示信息"))
+$itemMask = $tools.str2Unicode($itemHelp)
+#end
+#end
+#end

+ 86 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/formTemplate.vm

@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- $map.get("name")Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="$tools.toLower($map.get("code"))Form">
+#foreach( $element in $!map.get("list"))
+#if($tools.isNumber($!element.get("数据类型")))
+#set($fieldDepends=$tools.getNumberDepends($!element.get("非空/引用"),$!element.get("最小(长度/值)"),$!element.get("最大(长度/值)"),$!element.get("验证规则"),$!element.get("标准数据ID")))
+#if($tools.isNotNullAndBlank($!fieldDepends))
+<field property="$element.get("英文名称")" depends="$tools.getNumberDepends($!element.get("非空/引用"),$!element.get("最小(长度/值)"),$!element.get("最大(长度/值)"),$!element.get("验证规则"),$!element.get("标准数据ID"))">
+#set($temp1=$tools.toLower($map.get("code"))+"."+$element.get("英文名称"))
+    <arg0 key="$temp1"/>
+#if($tools.isNotNullAndBlank($!element.get("最小(长度/值)")) and $tools.isNotNullAndBlank($!element.get("最大(长度/值)")))
+#set($temp2="$"+"{var:max}")
+#set($temp3="$"+"{var:min}")
+    <arg1 name="range" key="$temp2"/>
+    <arg2 name="range" key="$temp3"/>
+    <var>
+      <var-name>min</var-name>
+      <var-value>$!element.get("最小(长度/值)")</var-value>
+    </var>
+    <var>
+      <var-name>max</var-name>
+      <var-value>$!element.get("最大(长度/值)")</var-value>
+    </var>
+#end
+#if($tools.isNotNullAndBlank($!element.get("验证规则")))
+#set($temp4=$tools.toLower($map.get("code"))+"."+$element.get("英文名称")+".mask")
+    <msg name="mask" key="$temp4"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>$!element.get("正则表达式")</var-value>
+    </var>
+#end
+#if($tools.isNotNullAndBlank($!element.get("标准数据ID"))) 
+    <var>
+      <var-name>datacriterion</var-name>
+      <var-value>$!element.get("标准数据ID")</var-value>
+    </var>
+#end
+</field>
+#end
+#else
+#set($fieldDepends=$tools.getStringDepends($!element.get("非空/引用"),$!element.get("最小(长度/值)"),$!element.get("最大(长度/值)"),$!element.get("验证规则"),$!element.get("标准数据ID")))
+#if($tools.isNotNullAndBlank($!fieldDepends))
+<field property="$element.get("英文名称")" depends="$tools.getStringDepends($!element.get("非空/引用"),$!element.get("最小(长度/值)"),$!element.get("最大(长度/值)"),$!element.get("验证规则"),$!element.get("标准数据ID"))">
+#set($temp1=$tools.toLower($map.get("code"))+"."+$element.get("英文名称"))
+    <arg0 key="$temp1"/>
+#if($tools.isNotNullAndBlank($!element.get("最小(长度/值)")))
+#set($temp2="$"+"{var:minlength}")    
+    <arg1 name="minlength" key="$temp2"/>
+    <var>
+      <var-name>minlength</var-name>
+      <var-value>$!element.get("最小(长度/值)")</var-value>
+    </var>
+#end
+#if($tools.isNotNullAndBlank($!element.get("最大(长度/值)")))
+#set($temp3="$"+"{var:maxlength}")   
+    <arg1 name="maxlength" key="$temp3"/>
+    <var>
+      <var-name>maxlength</var-name>
+      <var-value>$!element.get("最大(长度/值)")</var-value>
+    </var>
+#end
+#if($tools.isNotNullAndBlank($!element.get("验证规则")))
+#set($temp4=$tools.toLower($map.get("code"))+"."+$element.get("英文名称")+".mask")
+    <msg name="mask" key="$temp4"/>
+    <var>
+      <var-name>mask</var-name>
+      <var-value>$!element.get("正则表达式")</var-value>
+    </var>
+#end
+#if($tools.isNotNullAndBlank($!element.get("标准数据ID"))) 
+    <var>
+      <var-name>datacriterion</var-name>
+      <var-value>$!element.get("标准数据ID")</var-value>
+    </var>
+#end
+</field>
+#end
+#end
+#end
+</form>
+</formset>
+</form-validation>

+ 174 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/javaTemplate.vm

@@ -0,0 +1,174 @@
+##初始化类的包
+#if($tools.isNotNullAndBlank($!map.get("sortCode")))
+/**
+ * $!map.get("sortName")
+ */
+package com.miniframe.generate.comm.$!map.get("sortCode");
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+#if ($tools.importUtil($!map))
+import java.util.*;
+#end
+#if ($tools.importMath($!map))
+import java.math.*;
+#end
+/**
+ * $!map.get("name")
+ */
+#set($className=$!map.get("code"))
+public class $tools.getClassName($className) extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+#foreach($param in ${map.keySet()})
+#set($itemType=$map.get($param).get("数据类型"))
+#set($itemCode=$map.get($param).get("英文名称"))
+#set($itemName=$map.get($param).get("中文名称"))
+#set($childCode=$map.get($param).get("code"))
+##迭代
+##byte
+#if($tools.equals("bytes",$itemType))
+	byte[] $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(byte[] $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public byte[] get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end	
+##string
+#if($tools.equals("string",$itemType))
+	String $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(String $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public String get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end	
+##date
+#if($tools.equals("date",$itemType))
+	Date $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(Date $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public Date get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end
+##decimal
+#if($tools.equals("decimal",$itemType))
+	BigDecimal $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(BigDecimal $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public BigDecimal get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end
+##double
+#if($tools.equals("double",$itemType))
+	double $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(double $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public double get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end
+##int
+#if($tools.equals("int",$itemType))
+	int $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(int $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public int get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end
+##long
+#if($tools.equals("long",$itemType))
+	long $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(long $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public long get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end
+##List
+#if($tools.equals("list",$itemType))
+	List <$tools.getClassName($childCode)> $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)(List <$tools.getClassName($childCode)> $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public List <$tools.getClassName($childCode)> get$tools.capName($itemCode)() {
+		return this.$itemCode;
+	}
+#end
+##Map
+#if($tools.equals("map",$itemType))
+	$tools.getClassName($childCode) $itemCode;//$itemName
+	/**
+	 *$itemName
+	 */
+	public void set$tools.capName($itemCode)($tools.getClassName($childCode) $itemCode) {
+		this.$itemCode=$itemCode;
+	}
+	/**
+	 *$itemName
+	 */
+	public $tools.getClassName($childCode) get$tools.capName($itemCode)() {
+		return $itemCode;
+	}
+#end
+###
+#end
+}
+#end

+ 143 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/build/xmlBodyTemplate.vm

@@ -0,0 +1,143 @@
+#if($tools.isNotNullAndBlank($!map.get("sortCode")))
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xMessage SYSTEM "../framecomm.dtd">
+<!--  $!map.get("name") -->
+<xMap tag="body" >
+#end
+##变量定义段
+#set ($tmp0='"')
+#foreach($param in ${map.keySet()})
+#set($itemType=$map.get($param).get("数据类型"))
+#set($itemCode=$map.get($param).get("英文名称"))
+#set($itemName=$map.get($param).get("中文名称"))
+#set($itemTag=$map.get($param).get("TAG标签"))
+#set($itemDefault=$map.get($param).get("默认值"))
+#set($itemFormat=$map.get($param).get("格式化"))
+#set($itemNotNull=$map.get($param).get("非空/引用"))
+#set($xmlStyle=$map.get($param).get("XML样式"))
+#set($xmlMapping=$map.get($param).get("映射/子标签"))
+#set($itemCdata=$map.get($param).get("CDATA"))
+#set($itemReferred=$map.get($param).get("REFERRED"))
+##以下为字符输出段
+#if($tools.isNullAndBlank($itemTag))
+#set($itemTag=$itemCode)
+#end
+##
+#if($tools.toBool($itemReferred))
+#set($referredStr="referred="+$tmp0+"true"+$tmp0)
+#else
+#set($referredStr="")
+#end
+##
+#if($tools.isNotNullAndBlank($itemNotNull))
+#set($countNameStr="countName="+$tmp0+"$itemNotNull"+$tmp0)
+#else
+#set($countNameStr="")
+#end
+##
+#if($tools.isNotNullAndBlank($itemCdata))
+#set($itemCdataStr="cdata="+$tmp0+"$itemCdata"+$tmp0)
+#else
+#set($itemCdataStr="")
+#end
+##
+#if($tools.isNotNullAndBlank($xmlMapping))
+#set($xmlMappingStr="mapping="+$tmp0+"$xmlMapping"+$tmp0)
+#else
+#set($xmlMappingStr="")
+#end
+##
+#if($tools.isNotNullAndBlank($xmlStyle))
+#set($xmlStyleStr="xmlStyle="+$tmp0+"$xmlStyle"+$tmp0)
+#else
+#set($xmlStyleStr="")
+#end
+##
+#if($tools.isNotNullAndBlank($itemDefault))
+#set($itemDefaultStr="default="+$tmp0+"$itemDefault"+$tmp0)
+#else
+#set($itemDefaultStr="default="+$tmp0+$tmp0)
+#end
+##
+#if($tools.isNotNullAndBlank($itemFormat))
+#set($itemFormatStr="pattern="+$tmp0+"$itemFormat"+$tmp0)
+#else
+#set($itemFormatStr="")
+#end
+##
+#if($tools.toBool($itemNotNull))
+#set($optionalStr="optional="+$tmp0+"flase"+$tmp0)
+#else
+#set($optionalStr="optional="+$tmp0+"true"+$tmp0)
+#end
+##迭代输出
+##
+#if($tools.equals("bytes",$itemType))	
+		<!-- $itemName -->
+#if($tools.isNullAndBlank($itemFormat))
+		<xString name="$itemCode" tag="$itemTag" $optionalStr $xmlMappingStr $itemCdataStr />
+#else
+#if($tools.equals("hex",$itemFormat))	
+		<xString name="$itemCode" tag="$itemTag" $optionalStr $xmlMappingStr $itemCdataStr encoding="hex" />
+#elseif($tools.equals("base64",$itemFormat))
+		<xString name="$itemCode" tag="$itemTag" $optionalStr $xmlMappingStr $itemCdataStr encoding="base64" />
+#else
+		<xString name="$itemCode" tag="$itemTag" $optionalStr $xmlMappingStr $itemCdataStr />
+#end
+#end
+#end
+##
+#if($tools.equals("date",$itemType))	
+		<!-- $itemName -->
+		<xDate name="$itemCode" tag="$itemTag" $itemFormatStr $optionalStr $xmlStyleStr $xmlMappingStr $itemCdataStr/>
+#end
+##
+#if($tools.equals("decimal",$itemType))	
+		<!-- $itemName -->
+		<xDecimal name="$itemCode" tag="$itemTag" default="0" $itemFormatStr $optionalStr $xmlStyleStr $xmlMappingStr $itemCdataStr/>
+#end
+##
+#if($tools.equals("double",$itemType))	
+		<!-- $itemName -->
+		<xDouble name="$itemCode" tag="$itemTag" default="0" $itemFormatStr $optionalStr $xmlStyleStr $xmlMappingStr $itemCdataStr/>
+#end
+##
+#if($tools.equals("int",$itemType))	
+		<!-- $itemName -->
+		<xInteger name="$itemCode" tag="$itemTag" default="0" $itemFormatStr $optionalStr $xmlStyleStr $xmlMappingStr $itemCdataStr $referredStr/>		
+#end
+##
+#if($tools.equals("long",$itemType))	
+		<!-- $itemName -->
+		<xLong name="$itemCode" tag="$itemTag" default="0" $itemFormatStr $optionalStr $xmlStyleStr $xmlMappingStr $itemCdataStr $referredStr/>
+#end
+##
+#if($tools.equals("string",$itemType))	
+		<!-- $itemName -->
+		<xString name="$itemCode" tag="$itemTag" $itemDefaultStr $optionalStr $xmlStyleStr $xmlMappingStr $itemCdataStr/>
+#end
+##
+#if($tools.equals("list",$itemType))
+		<!-- $itemName -->
+		<xList name="$itemCode" tag="$itemTag" $countNameStr>
+#if($tools.isNullAndBlank($xmlMapping))
+		<xMap name="map" tag="map" xmlStyle=".none">
+#else
+		<xMap name="map" tag="$xmlMapping">
+#end
+$engine.xmlEncode($map.get($param))
+		</xMap>
+		</xList>
+#end
+##
+#if($tools.equals("map",$itemType))	
+		<!-- $itemName -->
+		<xMap name="$itemCode" tag="$itemTag">
+$engine.xmlEncode($map.get($param))
+		</xMap>
+#end
+##
+#end
+#if($tools.isNotNullAndBlank($!map.get("sortCode")))
+</xMap>
+#end

+ 6 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO01_A(数据查询接口样例).csv

@@ -0,0 +1,6 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,page,第几页,int,,,,,,,,,,,
+2,rows,页行数,int,,,,,,,,,,,
+3,proNames,属性字段(多个,分割),string,,,,,,,,,,,
+4,orderBy,排序字段(多个,分割),string,,,,,,,,,,,
+5,record,条件列表,list,,,,,,,,,,,

+ 3 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO01_D(数据查询接口样例).csv

@@ -0,0 +1,3 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,total,总行数,int,,,,,,,,,,,
+2,rows,返回内容行,list,,,,,,,,,,,

+ 3 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO02_A(数据提交接口样例).csv

@@ -0,0 +1,3 @@
+"序号","英文名称","中文名称","数据类型","默认值","格式化","非空/引用","最小(长度/值)","最大(长度/值)","验证规则","标准数据ID","XML样式","TAG标签","映射/子标签","CDATA"
+"1","proNames","属性字段(多个,分割)","string","","","","","","","","","","",""
+"2","record","条件列表","list","","","","","","","","","","",""

+ 1 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO02_D(数据提交接口样例).csv

@@ -0,0 +1 @@
+"序号","英文名称","中文名称","数据类型","默认值","格式化","非空/引用","最小(长度/值)","最大(长度/值)","验证规则","标准数据ID","XML样式","TAG标签","映射/子标签","CDATA"

+ 3 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO04_A(数据删除接口样例).csv

@@ -0,0 +1,3 @@
+"序号","英文名称","中文名称","数据类型","默认值","格式化","非空/引用","最小(长度/值)","最大(长度/值)","验证规则","标准数据ID","XML样式","TAG标签","映射/子标签","CDATA"
+"1","proNames","属性字段(多个,分割)","string","","","","","","","","","","",""
+"2","record","条件列表","list","","","","","","","","","","",""

+ 1 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/crud/SYSAPPCO04_D(数据删除接口样例).csv

@@ -0,0 +1 @@
+"序号","英文名称","中文名称","数据类型","默认值","格式化","非空/引用","最小(长度/值)","最大(长度/值)","验证规则","标准数据ID","XML样式","TAG标签","映射/子标签","CDATA"

+ 6 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文头/MDOHEAD_A(系统服务).csv

@@ -0,0 +1,6 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,transCode,交易编码,string,,,是,,,vBaseId,,,,,,,,,,,,
+2,channelNo,系统编号,string,,,,,,vBaseId,,,,,,,,,,,,
+3,userId,用户编码,string,,,,,,,,,,,,,,,,,,
+4,transTime,交易时间,string,,,,,,,,,,,,,,,,,,
+5,clientToken,系统令牌,string,,,是,,,vBaseIdExt,,,,,,,,,,,,

+ 8 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文头/MDOHEAD_D(系统服务).csv

@@ -0,0 +1,8 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,transCode,交易编码,string,,,,,,vBaseId,,,,,,,,,,,,
+2,channelNo,系统编号,string,,,,,,vBaseId,,,,,,,,,,,,
+3,userId,用户编码,string,,,,,,,,,,,,,,,,,,
+4,transTime,交易时间,string,,,,,,,,,,,,,,,,,,
+5,clientToken,系统令牌,string,,,,,,vBaseId,,,,,,,,,,,,
+6,returnCode,返回码,string,,,,,,vBaseId,,,,,,,,,,,,
+7,returnMsg,返回信息,string,,,,,,,,,,,,,,,,,,

+ 53 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文头/build/build.xml

@@ -0,0 +1,53 @@
+<project basedir="." default="build" name="MDO报文头生成">
+
+	<path id="project.classpath">
+		<fileset dir="${basedir}/../../../../../lib">
+			<include name="**/*.jar" />
+		</fileset>
+	</path>
+
+	<target name="build" description="生成代码">
+
+		<java fork="true" failonerror="yes"
+			classname="com.miniframe.designer.engine.JsonCommTransEngine">
+
+			<!-- 系统编号 -->
+			<sysproperty key="baseCode" value="service" />
+
+			<!-- 数据目录 -->
+			<sysproperty key="dataDir" value="${basedir}/../" />
+
+			<!-- 验证规则目录 -->
+			<sysproperty key="ruleDir" value="${basedir}/../../../../../数据验证/验证规则/" />
+
+			<!-- 标准数据目录 -->
+			<sysproperty key="appcodeDir" value="${basedir}/../../../../../数据定义/标准数据/" />
+
+			<!-- java生成模板 -->
+			<sysproperty key="javaTemplate" value="${basedir}/javaTemplate.vm" />
+			<!-- java生成目录 -->
+			<sysproperty key="javaDir"
+				value="${basedir}/../../../../../../generated/com/miniframe/generate/comm/" />
+
+			<!-- form生成模板 -->
+			<sysproperty key="formTemplate" value="${basedir}/formTemplate.vm" />
+			<!-- form生成目录 -->
+			<sysproperty key="formDir"
+				value="${basedir}/../../../../../../generated/validateform/" />
+
+			<!-- 资源生成模板 -->
+			<sysproperty key="formMsgTemplate" value="${basedir}/formMsgTemplate.vm" />
+			<!-- 资源生成目录 -->
+			<sysproperty key="formMsgDir"
+				value="${basedir}/../../../../../../generated/validator/" />
+
+			<sysproperty key="encoding" value="UTF-8" />
+			<sysproperty key="file.encoding" value="UTF-8" />
+			<classpath refid="project.classpath" />
+
+		</java>
+
+		<delete file="${basedir}/velocity.log" />
+	</target>
+
+</project>

Некоторые файлы не были показаны из-за большого количества измененных файлов