From f87ce86307056f63f79312178037cc8714eb2b13 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 29 九月 2026 14:17:52 +0800
Subject: [PATCH] feat(docs): 添加档案管理模块业务流程文档

---
 docs/project-business/data/roles.json                                                                                                 |    4 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/ArchiveNoRedisDAO.java                                   |   41 
 yudao-module-research/pom.xml                                                                                                         |    7 
 yudao-server/pom.xml                                                                                                                  |    7 
 yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/ResearchApplicationController.java  |    8 
 docs/sql/_archive_bpm_export.sql                                                                                                      |   16 
 yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/vo/ResearchApplicationRespVO.java   |    6 
 docs/sql/config_export_all_20260928.sql.bak                                                                                           | 11650 ++++++++++++++++++++++
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementServiceImpl.java         |   63 
 docs/sql/_merge_archive.js                                                                                                            |  294 
 docs/project-business/data/flows.json                                                                                                 |   14 
 yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java                             |    4 
 docs/project-business/README.md                                                                                                       |   13 
 docs/sql/_ums_membership_approve.bpmn                                                                                                 |  107 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentSaveReqVO.java         |   66 
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/FinanceReimbursementStatusEnum.java                          |   13 
 yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationServiceImpl.java          |   60 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/document/ArchiveDocumentMapper.java                      |  111 
 docs/project-business/mermaid/14-research-flow.mmd                                                                                    |   56 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSourceTypeEnum.java                                   |   35 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentService.java                       |  117 
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/FinanceReimbursementController.java |    7 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveBorrowStatusEnum.java                                 |   36 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowReturnReqVO.java           |   18 
 yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/enums/ErrorCodeConstants.java                                    |    2 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCategoryStatusEnum.java                               |   33 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowPageReqVO.java             |   41 
 docs/project-business/data/modules.json                                                                                               |   11 
 docs/sql/_merge_research.js                                                                                                           |  235 
 pom.xml                                                                                                                               |    3 
 yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApi.java                           |   44 
 docs/sql/ums_module.sql                                                                                                               |  215 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategorySaveReqVO.java         |   42 
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementService.java             |    8 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatValueVO.java                   |   19 
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/dal/dataobject/member/UmsMemberDO.java                                     |    3 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowService.java                           |   96 
 docs/sql/archive_borrow_approve.bpmn                                                                                                  |  107 
 docs/project-business/data/business.json                                                                                              |   23 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCarrierTypeEnum.java                                  |   34 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentRespVO.java            |  121 
 yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationService.java              |    8 
 yudao-module-archive/pom.xml                                                                                                          |   75 
 docs/archive_module_integration.md                                                                                                    |  389 
 docs/sql/config_export_all_20260928.sql                                                                                               | 11838 ++++++++++++++++++++++
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/UmsMemberController.java                           |    8 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentServiceImpl.java                   |  269 
 docs/project-business/mermaid/10-business-object.mmd                                                                                  |    5 
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/enums/ErrorCodeConstants.java                                              |    2 
 docs/sql/archive_module.sql                                                                                                           |  273 
 yudao-module-archive-api/pom.xml                                                                                                      |   33 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/listener/ArchiveBorrowStatusListener.java           |   51 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/ArchiveStatController.java                   |   33 
 docs/project-business/mermaid/08-module-relation.mmd                                                                                  |    6 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/framework/web/config/ArchiveWebConfiguration.java                  |   16 
 docs/sql/research_module.sql                                                                                                          |  249 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ErrorCodeConstants.java                                      |   53 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowRespVO.java                |   88 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentPageReqVO.java         |   49 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/document/ArchiveDocumentDO.java                     |   89 
 docs/project-business/index.html                                                                                                      |  165 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryServiceImpl.java                   |  194 
 docs/sql/finance_reimbursement_approve.bpmn                                                                                           |  107 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/DictTypeConstants.java                                       |   28 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/ArchiveCategoryController.java           |  112 
 yudao-module-finance/pom.xml                                                                                                          |    7 
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberService.java                                       |    8 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/borrow/ArchiveBorrowDO.java                         |   90 
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberServiceImpl.java                                   |   69 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/category/ArchiveCategoryMapper.java                      |   51 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatService.java                               |   19 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApiImpl.java                           |   64 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatServiceImpl.java                           |   60 
 docs/招标技术文档.md                                                                                                                        | 1071 ++
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveDocumentStatusEnum.java                               |   33 
 docs/research_fund_finance_integration.md                                                                                             |  158 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryRespVO.java            |   46 
 docs/sql/research_fund_finance_migration.sql                                                                                          |   73 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/borrow/ArchiveBorrowMapper.java                          |   84 
 yudao-module-ums/pom.xml                                                                                                              |    7 
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/ErrorCodeConstants.java                                      |    3 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/category/ArchiveCategoryDO.java                     |   51 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowServiceImpl.java                       |  351 
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/vo/FinanceReimbursementRespVO.java  |    6 
 docs/project-business/mermaid/09-data-flow.mmd                                                                                        |   21 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryService.java                       |   69 
 docs/project-business/mermaid/15-archive-flow.mmd                                                                                     |   49 
 docs/sql/_patch_0929.js                                                                                                               |  165 
 docs/sql/_finance_bpm_export.sql                                                                                                      |   21 
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/vo/UmsMemberRespVO.java                            |    6 
 docs/sql/archive_module_migration.sql                                                                                                 |   41 
 yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/dal/dataobject/reimbursement/FinanceReimbursementDO.java           |    3 
 docs/project-business/mermaid/13-ums-membership-flow.mmd                                                                              |   29 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryListReqVO.java         |   16 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/RedisKeyConstants.java                                   |   12 
 yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentRespDTO.java                   |   52 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatCategoryVO.java                |   19 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/ArchiveDocumentController.java           |  157 
 docs/sql/_check_merge.js                                                                                                              |   58 
 yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentCreateReqDTO.java              |   54 
 yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/dal/dataobject/application/ResearchApplicationDO.java            |    3 
 docs/finance_reimbursement_frontend_integration.md                                                                                    |  334 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatRespVO.java                    |   36 
 docs/project-business/mermaid/01-business-mindmap.mmd                                                                                 |   10 
 docs/project-business/data/objects.json                                                                                               |    9 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/ArchiveBorrowController.java               |  151 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSecretLevelEnum.java                                  |   34 
 docs/sql/research_topic_approve.bpmn                                                                                                  |  139 
 yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowSaveReqVO.java             |   53 
 docs/sql/_research_bpm_export.sql                                                                                                     |   16 
 110 files changed, 31,691 insertions(+), 47 deletions(-)

diff --git a/docs/archive_module_integration.md b/docs/archive_module_integration.md
new file mode 100644
index 0000000..5fbc418
--- /dev/null
+++ b/docs/archive_module_integration.md
@@ -0,0 +1,389 @@
+# 妗f绠$悊妯″潡 - 鍓嶇鑱旇皟鏂规
+
+> 妯″潡锛歚yudao-module-archive`锛堜富妯″潡锛�+ `yudao-module-archive-api`锛堣法妯″潡褰掓。 RPC锛�
+> 鍚庣鎺ュ彛鍓嶇紑锛歚/archive/category`銆乣/archive/document`銆乣/archive/borrow`銆乣/archive/stat`
+> 闄勪欢鍏宠仈锛歚recordType = archive_document`锛宍application = file`
+> 鏉冮檺鐐瑰墠缂�锛歚archive:category:*`銆乣archive:document:*`銆乣archive:borrow:*`銆乣archive:stat:query`
+
+## 涓�銆佹秹鍙婇〉闈紙鍓嶇鏂囦欢娓呭崟锛�
+
+| 鏂囦欢 | 璇存槑 |
+|------|------|
+| `src/packages/constants/src/dict-enum.ts` | 鏂板 `ARCHIVE_DICT`锛�6 涓瓧鍏哥被鍨嬶級骞跺睍寮�杩� `DICT_TYPE` |
+| `src/api/archive/category/index.ts` | 妗f鍒嗙被 API |
+| `src/api/archive/document/index.ts` | 妗f API |
+| `src/api/archive/borrow/index.ts` | 鍊熼槄鍗� API |
+| `src/api/archive/stat/index.ts` | 妗f缁熻 API |
+| `src/views/archive/category/index.vue` | 鍒嗙被鏍戣〃椤碉紙宸︽爲鍙宠〃褰㈡�侊紝`treeConfig` 灞曞紑锛� |
+| `src/views/archive/category/data.ts` | 鍒嗙被琛ㄥ崟 + 鎼滅储琛ㄥ崟 + 琛ㄦ牸鍒� |
+| `src/views/archive/category/modules/form.vue` | 鍒嗙被鏂板/缂栬緫寮圭獥锛堝惈銆屾柊澧炰笅绾с�嶏級 |
+| `src/views/archive/document/index.vue` | 妗f鍒楄〃椤碉紙妫�绱� + 瀵煎嚭 + 闄勪欢鏍囪锛� |
+| `src/views/archive/document/data.ts` | 妗f琛ㄥ崟 + 鎼滅储琛ㄥ崟 + 琛ㄦ牸鍒� |
+| `src/views/archive/document/modules/form.vue` | 妗f鏂板/缂栬緫/璇︽儏寮圭獥锛堝疄浣撲綅缃洓瀛楁 + 鐢靛瓙闄勪欢涓婁紶锛� |
+| `src/views/archive/borrow/index.vue` | 鍊熼槄鍒楄〃椤碉紙閫炬湡 Tag銆佹彁浜ゅ鎵广�佸綊杩樼櫥璁帮級 |
+| `src/views/archive/borrow/data.ts` | 鍊熼槄琛ㄥ崟 + 鎼滅储琛ㄥ崟 + 琛ㄦ牸鍒� + `BorrowStatus` 甯搁噺 |
+| `src/views/archive/borrow/modules/form.vue` | 鍊熼槄鐧昏/缂栬緫/璇︽儏寮圭獥 |
+| `src/views/archive/borrow/modules/process-select-modal.vue` | 閫夋嫨瀹℃壒娴佺▼寮圭獥 |
+| `src/views/archive/borrow/modules/return-form.vue` | 褰掕繕鐧昏寮圭獥 |
+| `src/views/archive/borrow/detail/approve/index.vue` | **BPM 瀹℃壒璇︽儏椤�**锛岃矾寰勫繀椤讳笌 `bpm_process_definition_info.form_custom_view_path` 瀹屽叏涓�鑷� |
+| `src/views/archive/stat/index.vue` | 妗f缁熻椤碉紙4 鍗$墖 + 3 鍥捐〃锛� |
+| `src/views/archive/stat/data.ts` | 鍗$墖瀹氫箟 + 楗煎浘/鏌卞浘 option 鏋勯�� |
+
+> 瀛楀吀鏋氫妇蹇呴』鐧昏鍒� `dict-enum.ts`锛屽惁鍒� `DICT_TYPE.ARCHIVE_*` 鍙栦笉鍒板�硷紝鍒楄〃鍒椾笌琛ㄥ崟涓嬫媺浼氱┖鐧姐��
+
+**鑿滃崟宸查厤缃畬鎴�**锛屾湰椤圭洰涓哄姩鎬佽矾鐢憋紝鍓嶇鏃犻渶鎵嬪伐鍔犺矾鐢辨枃浠讹細
+
+| 鑿滃崟 | id | 璺緞 | 缁勪欢 | 鏉冮檺鏍囪瘑 |
+|------|----|------|------|----------|
+| 妗f绠$悊锛堥《绾х洰褰� `parent_id=0`锛宍path=/archive`锛� | 1075600 | `/archive` | 鈥� | 鈥� |
+| 妗f鍒嗙被 | 1075601 | `category` | `archive/category/index` | `archive:category:query` |
+| 妗f绠$悊 | 1075602 | `document` | `archive/document/index` | `archive:document:query` |
+| 鍊熼槄鐧昏 | 1075603 | `borrow` | `archive/borrow/index` | `archive:borrow:query` |
+| 妗f缁熻 | 1075604 | `stat` | `archive/stat/index` | `archive:stat:query` |
+
+鎸夐挳鏉冮檺锛歚archive:category:create/update/delete`銆乣archive:document:create/update/delete/export/sensitive`銆乣archive:borrow:create/update/delete/submit/return`銆乣archive:stat:query`銆�
+
+> 鈿� **鎺堟潈鏄撻敊鐐�**锛氳繖浜涜彍鍗曚笌鏉冮檺鐐�**鏈巿浜堜换浣曡鑹�**锛屽洜姝ゅ彧鏈夎秴绾х鐞嗗憳锛坄super_admin`锛屼唬鐮佺洿杩斿叏閮ㄨ彍鍗曪級鑳界湅鍒帮紱鏅�氳鑹查渶鍦ㄣ�岀郴缁熺鐞� 鈫� 瑙掕壊銆嶅嬀閫夋巿鏉冦��
+> 鈿� **鏁忔劅鏉冮檺**锛歚archive:document:sensitive`锛堣彍鍗� 1075625銆屼繚瀵嗘。妗堟煡鐪嬨�嶏級鍐冲畾鑳藉惁鐪嬪埌瀵嗙骇=淇濆瘑鐨勬。妗堛��**鏈巿鏉冩椂鍚庣浼氬己鍒惰繃婊�**锛屼笉鏄墠绔殣钘忋��
+
+**瀛楀吀宸查厤缃畬鎴�**锛屽墠绔洿鎺ョ敤 `getDictOptions` / `DictTag` 鍙栧�硷紝鏃犻渶鑷缓鏋氫妇锛�
+
+| 瀛楀吀绫诲瀷 | 鍚嶇О | 鍙栧�� |
+|----------|------|------|
+| `archive_category_status` | 妗f鍒嗙被鐘舵�� | 0 鍚敤 / 1 鍋滅敤 |
+| `archive_document_status` | 妗f鐘舵�� | 10 鍦ㄥ簱 / 20 鍊熷嚭涓� |
+| `archive_secret_level` | 妗f瀵嗙骇 | 1 鍏紑 / 2 鍐呴儴 / 3 淇濆瘑 |
+| `archive_carrier_type` | 妗f杞戒綋 | 1 鐢靛瓙 / 2 瀹炰綋 / 3 鐢靛瓙+瀹炰綋 |
+| `archive_source_type` | 妗f鏉ユ簮 | 1 鎵嬪伐褰曞叆 / 2 璇鹃褰掓。 / 3 浼氬憳褰掓。 / 4 璐㈠姟褰掓。 |
+| `archive_borrow_status` | 妗f鍊熼槄鐘舵�� | 0 鑽夌 / 15 瀹℃壒涓� / 20 鍊熷嚭涓� / 30 宸插綊杩� / 35 宸查┏鍥� |
+
+---
+
+## 浜屻�佷笟鍔℃祦绋嬩笌鏁版嵁甯﹀叆
+
+### 2.1 妗f鐧昏锛堟墜宸ワ級
+
+```
+閫夋嫨妗f鍒嗙被锛堟爲褰笅鎷夛紝榛樿甯﹀嚭璇ュ垎绫荤殑 default_secret_level锛�
+        鈹�
+        鈹溾攢鈹� 妗f鏍囬銆佸瘑绾с�佽浇浣撱�佸綊妗f棩鏈燂紙蹇呭~锛�
+        鈹溾攢鈹� 瀹炰綋浣嶇疆锛氫功鏋跺彿 / 灞傚彿 / 鍒楀彿 / 鍐屽彿锛堟。妗堢洅鍙凤級/ 瀛樻斁浣嶇疆鎻忚堪
+        鈹斺攢鈹� 鐢靛瓙鏂囦欢锛氳蛋 /system/storage-blob/upload 鎷� blobId锛岄殢 create/update 涓�璧锋彁浜�
+                    鈹�
+                 淇濆瓨锛坈reate锛�
+                    鈻�
+        鍚庣鐢熸垚妗f缂栧彿 DA+yyyyMMdd+6浣嶆祦姘达紝钀藉簱骞� bindAttachments
+                    鈹�
+                鍒楄〃鍙绱紙鏍囬/鍏抽敭璇�/鏉ユ簮鍗曞彿/鍒嗙被/瀵嗙骇/杞戒綋/鐘舵��/褰掓。鏃ユ湡鍖洪棿锛�
+```
+
+- **闄勪欢瀛楁**锛氳〃鍗曞瓧娈靛悕 `blobIds`锛坣umber[]锛夈��**鍏ㄩ噺鏇挎崲璇箟** 鈥斺�� 娓呯┖鍏ㄩ儴闄勪欢鏃跺繀椤绘樉寮忎紶 `[]`锛屼紶 `null` 瑙嗕负銆屼笉鍔ㄩ檮浠躲�嶃��
+- **鎵撳紑缂栬緫/璇︽儏鏃�**锛氶渶鎶� `attachmentList` 鏄犲皠鎴愪笂浼犵粍浠跺彲璇嗗埆鐨勫璞★紙`uid`/`name`/`url`/`status`/`id`锛夛紝鎻愪氦鏃舵寜 `valueKey: 'id'` 鎻愬彇涓� blobId銆�
+- **鍙瀛楁**锛歚no`锛堟。妗堢紪鍙凤級銆乣status`锛堟。妗堢姸鎬侊級銆乣sourceType` / `sourceNo`锛堟潵婧愶級銆乣archivistName`锛堝綊妗d汉锛夌敱鍚庣缁存姢锛岃〃鍗曞彧灞曠ず涓嶅洖浼犮��
+
+### 2.2 鍊熼槄闂幆
+
+```
+鐧昏鍊熼槄锛堥�夋嫨鍦ㄥ簱妗f + 鍊熼槄浜� + 鍊熼槄鏃ユ湡 + 褰掕繕鏈熼檺锛�
+        鈹�
+     淇濆瓨锛堣崏绋� 0锛�
+        鈹�
+     鎻愪氦瀹℃壒锛堝厛璋� approve-process-list 鎷挎祦绋� key锛屽啀 submit锛�
+        鈻�
+     瀹℃壒涓� 15 鈹�鈹�[BPM 閫氳繃]鈹�鈹�鈻� 鍊熷嚭涓� 20 鈹�鈹�[褰掕繕鐧昏]鈹�鈹�鈻� 宸插綊杩� 30
+        鈹�                          鈹�
+        鈹�                    锛堝悓鏃舵妸妗f缃负銆屽�熷嚭涓�嶏級
+        鈹�
+        鈹斺攢鈹�[BPM 椹冲洖]鈹�鈹�鈻� 宸查┏鍥� 35 鈹�鈹�锛堟敼鍚庡彲閲嶆柊鎻愪氦锛�
+```
+
+**鍏抽敭甯﹀叆瑙勫垯**锛�
+
+1. **鍊熼槄鐧昏鏃�**锛氶�変腑鐨勬。妗堜細浠� `no + title` 褰㈠紡灞曠ず锛涙彁浜ゆ椂鍙紶 `documentId`锛屾。妗堢紪鍙蜂笌鏍囬鐢卞悗绔揩鐓у埌鍊熼槄鍗曪紙`documentNo` / `documentTitle`锛夈��
+2. **鎻愪氦瀹℃壒鏃�**锛�**娴佺▼ key 蹇呴』鏉ヨ嚜鍚庣 `approve-process-list`锛岀姝㈠墠绔啓姝�**銆傚垪琛ㄤ负绌烘椂搴旀彁绀恒�屾殏鏃犲彲鐢ㄥ鎵规祦绋嬶紝璇峰厛鍒� BPM 娴佺▼璁捐鍣ㄥ彂甯冩。妗堝�熼槄瀹℃壒娴佺▼銆嶃��
+3. **褰掕繕鐧昏鏃�**锛氬彧浼� `id` + `returnRemark`銆傚綊杩樻垚鍔熷悗妗f鑷姩鍥炲埌銆屽湪搴撱�嶏紝鍊熼槄鍗曞彉銆屽凡褰掕繕銆嶅苟鍐欏叆 `returnTime` / `returnConfirmUserName`銆�
+
+### 2.3 閫炬湡鎻愰啋锛堝疄鏃惰绠楋紝涓嶈惤搴撱�佷笉鍙戦�氱煡锛�
+
+- 鍚庣鍦� `page` / `overdue-page` 杩斿洖鏃跺疄鏃惰绠楋細`overdue = (status == 20 && returnDeadline < 浠婂ぉ)`锛宍overdueDays = 浠婂ぉ - returnDeadline`銆�
+- 鍓嶇**涓嶉渶瑕�**鑷璁$畻锛岀洿鎺ョ敤 `row.overdue` / `row.overdueDays` 娓叉煋绾㈣壊 Tag銆�
+- `overdueOnly` 涓嶆槸鏌ヨ鍙傛暟锛岃�屾槸鐙珛鎺ュ彛 `GET /archive/borrow/overdue-page`锛涘墠绔敤銆屽彧鐪嬮�炬湡銆嶆寜閽垏鎹㈣皟鐢ㄧ殑鎺ュ彛鍗冲彲銆�
+
+### 2.4 涓夋柟褰掓。鑱斿姩锛堟湰妯″潡鐨勫閮ㄥ叆鍙o級
+
+| 鏉ユ簮妯″潡 | 鎺ュ彛 | 鏉冮檺鐐� | 瑙﹀彂鍓嶆彁 |
+|----------|------|--------|----------|
+| 璇鹃 | `POST /research/application/archive?id` | `research:application:archive` | 鐢虫姤鍗� `status=20 宸茬珛椤筦 涓旀湭褰掓。 |
+| 浼氬憳 | `POST /ums/member/archive?id` | `ums:member:archive` | 浼氬憳 `status=1 姝e父` 涓旀湭褰掓。 |
+| 璐㈠姟 | `POST /finance/reimbursement/archive?id` | `finance:reimbursement:archive`锛堟棦鏈夛級 | 鎶ラ攢鍗� `status=20 宸查�氳繃` 涓旀湭褰掓。 |
+
+- 涓変釜鎺ュ彛**鍧囪繑鍥炵敓鎴愮殑妗f缂栧彿**锛坄CommonResult<String>`锛屽 `DA20260929000001`锛夛紝鍓嶇 toast 鐩存帴鎻愮ず銆屽綊妗f垚鍔燂紝宸茬敓鎴愭。妗� XXX銆嶃��
+- 涓夋柟鍒楄〃椤电殑鍝嶅簲浣撴柊澧炰袱涓瓧娈电敤浜庢帶鍒舵寜閽樉闅愪笌銆屽凡褰掓。銆嶆爣璁帮細
+  | 瀛楁 | 绫诲瀷 | 璇存槑 |
+  |------|------|------|
+  | `archiveDocumentId` | number | 褰掓。鐢熸垚鐨勬。妗� ID锛堥潪绌哄嵆宸插綊妗o級 |
+  | `archived` | boolean | 鏄惁宸插綊妗� |
+- 鐢熸垚鐨勬。妗堬細`sourceType` 涓� 2 璇鹃 / 3 浼氬憳 / 4 璐㈠姟锛宍sourceNo` 鍙栨潵婧愬崟鍙凤紙绔嬮」缂栧彿 / 浼氬憳缂栧彿 / 鎶ラ攢鍗曞彿锛夛紝鍒嗙被鍥哄畾鍙� `research` / `member` / `finance`銆�
+- **璐㈠姟褰掓。榛樿瀵嗙骇涓恒�屼繚瀵嗐��**锛堝垎绫� `finance` 鐨� `default_secret_level=3`锛夛紝鍥犳璐㈠姟妗f鍦ㄦ棤 `archive:document:sensitive` 鏉冮檺鏃�**鍦ㄦ。妗堝垪琛ㄩ噷鐪嬩笉鍒�**銆�
+- **閲嶅褰掓。浼氭姤閿�**锛屾彁绀轰腑甯︽潵婧愬崟鍙蜂笌宸茬敓鎴愮殑妗f缂栧彿锛涘墠绔簲鍦ㄥ綊妗f垚鍔熷悗鍒锋柊鍒楄〃锛坄archiveDocumentId` 闈炵┖鍚庢寜閽嚜鍔ㄩ殣钘忥級銆�
+- **璐㈠姟褰掓。鏄彔鍔犺涔�**锛氭棦鏈夐�昏緫鎶婃姤閿�鍗� 20鈫�40 骞跺啓 `archiveTime`锛屾湰娆″湪姝ゅ熀纭�涓婅拷鍔犵敓鎴愭。妗堬紝涓よ�呭悓浜嬪姟銆�
+
+---
+
+## 涓夈�丄PI
+
+### 3.1 妗f鍒嗙被 `/archive/category`
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 | 璇存槑 |
+|------|------|------|------|
+| POST | `/archive/category/create` | `archive:category:create` | 鏂板鍒嗙被 |
+| PUT | `/archive/category/update` | `archive:category:update` | 淇敼鍒嗙被 |
+| DELETE | `/archive/category/delete?id` | `archive:category:delete` | 鍒犻櫎锛堟湁瀛愬垎绫�/鏈夋。妗堟椂鎷掔粷锛� |
+| GET | `/archive/category/get?id` | `archive:category:query` | 鍒嗙被璇︽儏 |
+| GET | `/archive/category/list` | `archive:category:query` | 鍒嗙被鍒楄〃锛�**骞抽摵**锛屼緵鏍戣〃 `transform` 鐢級 |
+| GET | `/archive/category/tree` | `archive:category:query` | 鍒嗙被鏍戯紙渚涘乏鏍戜笌涓嬫媺鐢級 |
+
+**`/list` 璇锋眰鍙傛暟锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `name` | String | 鍚� | 鍒嗙被鍚嶇О锛屾ā绯婂尮閰� |
+| `status` | Integer | 鍚� | 鐘舵�侊細0 鍚敤 / 1 鍋滅敤 |
+
+**鏂板/淇敼璇锋眰浣擄細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `id` | Long | 淇敼蹇呭~ | 缂栧彿 |
+| `parentId` | Long | 鏄� | 鐖跺垎绫� ID锛�0=椤剁骇 |
+| `name` | String | 鏄� | 鍒嗙被鍚嶇О |
+| `code` | String | 鏄� | 鍒嗙被缂栫爜锛屽敮涓�锛坢ember/research/finance 绛夛紝褰掓。鑱斿姩鎸夋鏌ユ壘锛� |
+| `sort` | Integer | 鍚� | 鏄剧ず鎺掑簭 |
+| `description` | String | 鍚� | 鍒嗙被璇存槑 |
+| `defaultSecretLevel` | Integer | 鏄� | 榛樿瀵嗙骇锛�1/2/3锛� |
+| `status` | Integer | 鍚� | 鐘舵�侊紙0 鍚敤 / 1 鍋滅敤锛� |
+| `remark` | String | 鍚� | 澶囨敞 |
+
+**鍝嶅簲瀛楁锛�** `id`銆乣parentId`銆乣name`銆乣code`銆乣sort`銆乣description`銆乣defaultSecretLevel`銆乣status`銆乣remark`銆乣createTime`銆乣children`锛堟爲褰㈡帴鍙f墠杩斿洖锛夈��
+
+**鏍戣〃鎺ュ叆瑕佺偣**锛歚/list` 杩斿洖**骞抽摵**鏁扮粍锛屽墠绔� VXE 琛ㄦ牸鐢� `treeConfig: { parentField: 'parentId', rowField: 'id', transform: true, expandAll: true, reserve: true }` 鑷杞爲锛宍pagerConfig.enabled = false`锛屽悕绉板垪鍔� `treeNode: true`銆�
+
+### 3.2 妗f `/archive/document`
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 | 璇存槑 |
+|------|------|------|------|
+| POST | `/archive/document/create` | `archive:document:create` | 鏂板妗f |
+| PUT | `/archive/document/update` | `archive:document:update` | 淇敼锛堝�熷嚭涓嫆缁濓級 |
+| DELETE | `/archive/document/delete?id` | `archive:document:delete` | 鍒犻櫎锛堝�熷嚭涓�/瀛樺湪鏈綊杩樺�熼槄鍗曟嫆缁濓級 |
+| GET | `/archive/document/get?id` | `archive:document:query` | 璇︽儏锛堜繚瀵嗘。妗堥渶 `archive:document:sensitive`锛� |
+| GET | `/archive/document/page` | `archive:document:query` | 鍒嗛〉锛堟棤鏁忔劅鏉冮檺鏃惰嚜鍔ㄨ繃婊や繚瀵嗘。妗堬級 |
+| GET | `/archive/document/export-excel` | `archive:document:export` | 瀵煎嚭 Excel锛堝悓涓婅繃婊わ級 |
+
+**`/page` 璇锋眰鍙傛暟锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `pageNo` / `pageSize` | Integer | 鏄� | 鍒嗛〉 |
+| `no` | String | 鍚� | 妗f缂栧彿锛屾ā绯婂尮閰� |
+| `title` | String | 鍚� | 妗f鏍囬锛屾ā绯婂尮閰� |
+| `categoryId` | Long | 鍚� | 妗f鍒嗙被 ID |
+| `secretLevel` | Integer | 鍚� | 瀵嗙骇 |
+| `carrierType` | Integer | 鍚� | 杞戒綋 |
+| `sourceType` | Integer | 鍚� | 鏉ユ簮绫诲瀷 |
+| `sourceNo` | String | 鍚� | 鏉ユ簮鍗曞彿锛屾ā绯婂尮閰� |
+| `tags` | String | 鍚� | 鍏抽敭璇嶏紝妯$硦鍖归厤 tags 瀛楁 |
+| `status` | Integer | 鍚� | 妗f鐘舵�� |
+| `archiveDate` | LocalDate[] | 鍚� | 褰掓。鏃ユ湡鍖洪棿锛�**鏍煎紡 `yyyy-MM-dd`**锛圧angePicker 蹇呴』璁� `valueFormat: 'YYYY-MM-DD'`锛屼笉鑳藉甫鏃跺垎绉掞級 |
+
+**鏂板/淇敼璇锋眰浣擄紙SaveReqVO 鍙帴鍙椾互涓嬪瓧娈碉級锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `id` | Long | 淇敼蹇呭~ | 缂栧彿 |
+| `title` | String | 鏄� | 妗f鏍囬 |
+| `categoryId` | Long | 鏄� | 妗f鍒嗙被 ID |
+| `secretLevel` | Integer | 鏄� | 瀵嗙骇 |
+| `carrierType` | Integer | 鏄� | 杞戒綋 |
+| `shelfNo` / `layerNo` / `columnNo` / `boxNo` | String | 鍚� | 瀹炰綋浣嶇疆鍥涘瓧娈� |
+| `storePlace` | String | 鍚� | 瀛樻斁浣嶇疆鎻忚堪 |
+| `archiveDate` | String(`yyyy-MM-dd`) | 鏄� | 褰掓。鏃ユ湡 |
+| `summary` | String | 鍚� | 鎽樿 |
+| `tags` | String | 鍚� | 鍏抽敭璇嶏紝鑻辨枃閫楀彿鍒嗛殧 |
+| `remark` | String | 鍚� | 澶囨敞 |
+| `blobIds` | Long[] | 鍚� | 闄勪欢 ID 鍏ㄩ噺鍒楄〃锛�**娓呯┖椤讳紶 `[]`** |
+
+**鍝嶅簲鏂板/鍙瀛楁锛�** `no`銆乣categoryName`銆乣sourceType`銆乣sourceNo`銆乣sourceId`銆乣sourceTitle`銆乣archivistUserId`銆乣archivistName`銆乣status`銆乣attachmentList`銆乣hasAttachment`銆�
+
+> 鈿� `no` / `status` / `source*` / `archivist*` **涓嶈鍦ㄦ彁浜や綋閲屽洖浼�**锛堝悗绔� SaveReqVO 涓嶆帴鏀讹紝鍥炰紶鏃犳剰涔変笖浼氳蹇界暐锛夈��
+
+### 3.3 鍊熼槄 `/archive/borrow`
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 | 璇存槑 |
+|------|------|------|------|
+| POST | `/archive/borrow/create` | `archive:borrow:create` | 鐧昏鍊熼槄锛堣崏绋匡級 |
+| PUT | `/archive/borrow/update` | `archive:borrow:update` | 淇敼锛堜粎鑽夌/宸查┏鍥烇級 |
+| DELETE | `/archive/borrow/delete?id` | `archive:borrow:delete` | 鍒犻櫎锛堜粎鑽夌锛� |
+| GET | `/archive/borrow/get?id` | `archive:borrow:query` | 璇︽儏 |
+| GET | `/archive/borrow/page` | `archive:borrow:query` | 鍒嗛〉 |
+| GET | `/archive/borrow/overdue-page` | `archive:borrow:query` | **閫炬湡鏈繕**鍒嗛〉锛堝�熷嚭涓� 涓� 褰掕繕鏈熼檺宸茶繃锛� |
+| POST | `/archive/borrow/submit?id&processDefinitionKey` | `archive:borrow:submit` | 鎻愪氦瀹℃壒 |
+| GET | `/archive/borrow/approve-process-list` | `archive:borrow:query` | 瀹℃壒娴佺▼瀹氫箟鍒楄〃锛坄{ id, key, name }`锛� |
+| POST | `/archive/borrow/return` | `archive:borrow:return` | 褰掕繕鐧昏 |
+
+**`/page` 涓� `/overdue-page` 璇锋眰鍙傛暟锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `pageNo` / `pageSize` | Integer | 鏄� | 鍒嗛〉 |
+| `no` | String | 鍚� | 鍊熼槄鍗曞彿锛屾ā绯婂尮閰� |
+| `documentNo` | String | 鍚� | 妗f缂栧彿锛屾ā绯婂尮閰� |
+| `documentTitle` | String | 鍚� | 妗f鏍囬锛屾ā绯婂尮閰� |
+| `borrowerName` | String | 鍚� | 鍊熼槄浜哄鍚嶏紝妯$硦鍖归厤 |
+| `status` | Integer | 鍚� | 鐘舵�� |
+| `borrowDate` | LocalDate[] | 鍚� | 鍊熼槄鏃ユ湡鍖洪棿锛宍yyyy-MM-dd` |
+| `returnDeadline` | LocalDate[] | 鍚� | 褰掕繕鏈熼檺鍖洪棿锛宍yyyy-MM-dd` |
+
+**鏂板/淇敼璇锋眰浣擄細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `id` | Long | 淇敼蹇呭~ | 缂栧彿 |
+| `documentId` | Long | 鏄� | 妗f ID锛堥』涓�**鍦ㄥ簱**妗f锛� |
+| `borrowerUserId` | Long | 鍚� | 鍊熼槄浜虹敤鎴� ID |
+| `borrowerName` | String | 鏄� | 鍊熼槄浜哄鍚� |
+| `borrowerDept` | String | 鍚� | 鍊熼槄浜洪儴闂� |
+| `borrowerPhone` | String | 鍚� | 鑱旂郴鐢佃瘽 |
+| `borrowDate` | String(`yyyy-MM-dd`) | 鏄� | 鍊熼槄鏃ユ湡 |
+| `borrowPurpose` | String | 鍚� | 鍊熼槄鐩殑 |
+| `returnDeadline` | String(`yyyy-MM-dd`) | 鏄� | 褰掕繕鏈熼檺锛堜笉寰楁棭浜庡�熼槄鏃ユ湡锛� |
+| `remark` | String | 鍚� | 澶囨敞 |
+
+**褰掕繕鐧昏璇锋眰浣擄細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| `id` | Long | 鏄� | 鍊熼槄鍗曠紪鍙� |
+| `returnRemark` | String | 鍚� | 褰掕繕澶囨敞 |
+
+**鍝嶅簲鏂板鍙瀛楁锛�** `no`銆乣documentNo`銆乣documentTitle`銆乣approveTime`銆乣returnTime`銆乣returnConfirmUserId`銆乣returnConfirmUserName`銆乣rejectReason`銆乣rejectTime`銆乣overdue`銆乣overdueDays`銆乣processInstanceId`銆�
+
+**鍝嶅簲绀轰緥锛�**
+
+```json
+{
+  "code": 0,
+  "data": {
+    "list": [
+      {
+        "id": 1,
+        "no": "JY20260929000001",
+        "documentId": 1,
+        "documentNo": "DA20260929000001",
+        "documentTitle": "2026骞村害瀛︿細宸ヤ綔鎬荤粨",
+        "borrowerName": "寮犱笁",
+        "borrowerDept": "绉樹功澶�",
+        "borrowDate": "2026-09-20",
+        "returnDeadline": "2026-10-05",
+        "status": 20,
+        "approveTime": "2026-09-20 10:12:33",
+        "overdue": false,
+        "overdueDays": 0
+      }
+    ],
+    "total": 1
+  },
+  "msg": ""
+}
+```
+
+### 3.4 缁熻 `/archive/stat`
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 | 璇存槑 |
+|------|------|------|------|
+| GET | `/archive/stat/overview` | `archive:stat:query` | 缁熻鎬昏锛堝瓨閲� + 娴佽浆 + 涓夌粍鍒嗗竷锛� |
+
+**鍝嶅簲瀛楁锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| `totalCount` | Long | 妗f鎬绘暟 |
+| `inStockCount` | Long | 鍦ㄥ簱妗f鏁� |
+| `borrowedCount` | Long | 鍊熷嚭涓�**妗f**鏁� |
+| `borrowingCount` | Long | 鍊熷嚭涓�**鍊熼槄鍗�**鏁� |
+| `overdueCount` | Long | 閫炬湡鏈繕鍊熼槄鍗曟暟 |
+| `byCategory` | Array | 鍒嗙被鍒嗗竷锛屽厓绱� `{ categoryId, name, total }` |
+| `bySecretLevel` | Array | 瀵嗙骇鍒嗗竷锛屽厓绱� `{ value, name, total }` |
+| `byCarrierType` | Array | 杞戒綋鍒嗗竷锛屽厓绱� `{ value, name, total }` |
+
+> `bySecretLevel` / `byCarrierType` 鐨� `name` 宸茬敱鍚庣杞垚瀛楀吀鏍囩锛屽墠绔�**鐩存帴褰撳浘渚嬪悕鐢�**锛屾棤闇�鍐嶆煡瀛楀吀銆�
+
+### 3.5 璺ㄦā鍧楀綊妗o紙鏈ā鍧楀澶栵級
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 | 杩斿洖 |
+|------|------|------|------|
+| POST | `/research/application/archive?id` | `research:application:archive` | `CommonResult<String>`锛堟。妗堢紪鍙凤級 |
+| POST | `/ums/member/archive?id` | `ums:member:archive` | `CommonResult<String>`锛堟。妗堢紪鍙凤級 |
+| POST | `/finance/reimbursement/archive?id` | `finance:reimbursement:archive` | `CommonResult<String>`锛堟。妗堢紪鍙凤級 |
+
+**鍝嶅簲绀轰緥锛�**
+
+```json
+{ "code": 0, "data": "DA20260929000001", "msg": "" }
+```
+
+---
+
+## 鍥涖�佸瓧娈靛睍绀鸿鍒�
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 瑙勫垯 |
+|------|----------|------|
+| `no` | 妗f鍒楄〃銆佽鎯� | 鍚庣鐢熸垚锛屽彧璇� |
+| `title` | 鍒楄〃銆佽鎯呫�佽〃鍗� | 鍒楄〃鍙ā绯婃悳绱� |
+| `categoryName` | 鍒楄〃 | 鍚庣 join 鍒嗙被鍐椾綑锛屽垪琛ㄧ洿鎺ュ睍绀哄悕绉拌�岄潪 ID |
+| `secretLevel` | 鍒楄〃銆佽〃鍗� | `CellDict` 鍙� `archive_secret_level`锛�**淇濆瘑妗f鏃犳潈闄愭椂鏍规湰涓嶈繑鍥�** |
+| `carrierType` | 鍒楄〃銆佽〃鍗� | `CellDict` 鍙� `archive_carrier_type` |
+| `sourceType` | 鍒楄〃 | `CellDict` 鍙� `archive_source_type` |
+| `sourceNo` | 鍒楄〃銆佽鎯� | 鏉ユ簮鍗曞彿锛堢珛椤圭紪鍙�/浼氬憳缂栧彿/鎶ラ攢鍗曞彿锛� |
+| `storePlace` + 鍥涗綅缃瓧娈� | 鍒楄〃銆佽鎯� | 瀹炰綋浣嶇疆锛涚數瀛愯浇浣撴椂鍙负绌� |
+| `archiveDate` | 鍒楄〃銆佽鎯呫�佽〃鍗� | `yyyy-MM-dd` |
+| `status`锛堟。妗堬級 | 鍒楄〃銆佽〃鍗曪紙鍙锛� | `CellDict` 鍙� `archive_document_status` |
+| `hasAttachment` | 鍒楄〃 | 鐢� slot 娓叉煋銆屾湁 / 鏃犮�峊ag |
+| `overdue` / `overdueDays` | 鍊熼槄鍒楄〃銆佸�熼槄璇︽儏 | 鐢� slot 娓叉煋锛岄�炬湡鏃剁孩鑹� Tag銆岄�炬湡 N 澶┿�� |
+| `status`锛堝�熼槄锛� | 鍊熼槄鍒楄〃銆佸鎵硅鎯� | `CellDict` 鍙� `archive_borrow_status` |
+| `documentNo` / `documentTitle` | 鍊熼槄鍒楄〃 | 褰掓。鏃剁殑蹇収锛屾。妗堟敼鍚嶄笉褰卞搷鍘嗗彶鍊熼槄鍗� |
+| `approveTime` / `returnTime` | 鍊熼槄鍒楄〃 | `formatDateTime` 鏍煎紡鍖� |
+| `archiveDocumentId` | 璇鹃 / 浼氬憳 / 璐㈠姟鍒楄〃 | 闈炵┖鍗虫樉绀恒�屽凡褰掓。銆嶏紝骞堕殣钘忋�屽綊妗c�嶆寜閽� |
+
+---
+
+## 浜斻�佷笟鍔¤鍒欒鏄�
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 鍒犻櫎鍒嗙被 | 鏈夊瓙鍒嗙被鎴栨湁妗f鏃舵嫆缁濓紝鎻愮ず涓洖鏄惧垎绫诲悕涓庡叿浣撳師鍥� |
+| 淇敼鍒嗙被鐖剁骇 | 涓嶈兘鎶婂垎绫昏涓鸿嚜韬垨鍏跺瓙鍒嗙被 |
+| 淇敼妗f | 妗f澶勪簬銆屽�熷嚭涓�嶆椂鎷掔粷淇敼 |
+| 鍒犻櫎妗f | 妗f澶勪簬銆屽�熷嚭涓�嶆垨瀛樺湪鏈綊杩樺�熼槄鍗曟椂鎷掔粷 |
+| 鍒犻櫎鍊熼槄鍗� | 浠呫�岃崏绋裤�嶅彲鍒犻櫎 |
+| 鎻愪氦鍊熼槄瀹℃壒 | 浠呫�岃崏绋裤�嶃�屽凡椹冲洖銆嶅彲鎻愪氦锛涙彁浜ゅ墠鏍¢獙鍚屾。妗堟棤銆屽鎵逛腑/鍊熷嚭涓�嶅�熼槄鍗� |
+| 褰掕繕鏈熼檺 | 涓嶅緱鏃╀簬鍊熼槄鏃ユ湡 |
+| 瀹℃壒閫氳繃 | 鍊熼槄鍗� 鈫� 鍊熷嚭涓苟鍐� `approveTime`锛�**鍚屾椂**鎶婃。妗堢疆涓恒�屽�熷嚭涓�� |
+| 瀹℃壒椹冲洖 | 鍊熼槄鍗� 鈫� 宸查┏鍥炲苟鍐� `rejectReason` / `rejectTime`锛屾敼鍚庡彲閲嶆柊鎻愪氦 |
+| 褰掕繕鐧昏 | 浠呫�屽�熷嚭涓�嶅彲鐧昏锛涙垚鍔熷悗妗f鍥炲埌銆屽湪搴撱�� |
+| 閫炬湡 | 瀹炴椂璁$畻锛屼笉钀藉簱銆佷笉鍙戠珯鍐呬俊銆佷笉寤哄畾鏃朵换鍔★紱浠呭垪琛� Tag 涓庛�屽彧鐪嬮�炬湡銆嶆帴鍙d綋鐜� |
+| 鏁忔劅妗f | 鏃� `archive:document:sensitive` 鏃讹紝`/page`銆乣/get`銆乣/export-excel` 涓変釜鍏ュ彛鍧囪繃婊�/鎷掔粷 |
+| 褰掓。骞傜瓑 | 鍚屼竴鏉ユ簮鍗曟嵁閲嶅褰掓。浼氭姤閿欙紝鎻愮ず涓甫鏉ユ簮鍗曞彿涓庡凡鐢熸垚妗f缂栧彿 |
+| 璐㈠姟褰掓。 | 鎶ラ攢鍗� 20鈫�40锛堟棦鏈夛級**骞�**鐢熸垚銆屼繚瀵嗐�嶆。妗堬紙鏈鏂板锛夛紝鍚屼簨鍔� |
+
+---
+
+## 鍏�佹敞鎰忎簨椤�
+
+1. **闄勪欢涓�寰嬭蛋 system 妯″潡**锛歚POST /system/storage-blob/upload` 鈫� 鎷� `blobId`锛涜〃鍗曞瓧娈电敤鍏ㄥ眬 `FileUpload` 缁勪欢缁戝畾 `blobIds`銆�**绂佹**鍦ㄦ。妗堣〃鍔� `file_url` 鍒椼�佺姝㈡柊澧炰笂浼犳帴鍙c�佺姝㈢敤 infra 鐨� `FileApi`銆�
+2. **`blobIds` 鏄叏閲忔浛鎹㈣涔�**锛氱紪杈戞椂鑻ユ竻绌轰簡鍏ㄩ儴闄勪欢锛屽繀椤绘彁浜� `[]`锛涙彁浜� `null` 鍚庣浼氳涓恒�屼笉鍔ㄩ檮浠躲�嶃�傛墦寮�缂栬緫寮圭獥鏃跺簲鎶� `attachmentList` 鏄犲皠鎴� `{ uid, name, url, status: 'done', id }` 鏁扮粍銆�
+3. **鏃ユ湡鍖洪棿涓�寰� `valueFormat: 'YYYY-MM-DD'`**锛氬悗绔� `LocalDate[]` 鍙帴鍙� `yyyy-MM-dd`锛屽甫鏃跺垎绉掍細瑙f瀽澶辫触銆�
+4. **娴佺▼ key 涓嶅啓姝�**锛氭彁浜ゅ�熼槄瀹℃壒鍓嶅繀椤诲厛璋� `approve-process-list`锛涜繑鍥炵┖鏁扮粍鏃舵彁绀虹敤鎴峰厛鍘� BPM 鍙戝竷娴佺▼銆�
+5. **瀹℃壒璇︽儏椤佃矾寰勬槸纭害瀹�**锛歚src/views/archive/borrow/detail/approve/index.vue` 蹇呴』涓� `bpm_process_definition_info.form_custom_view_path` 涓�鑷达紝涓旂粍浠堕渶鎺ュ彈 `props: { id: string }`锛圔PM 瀹℃壒涓績閫氳繃 `businessKey` 浼犲叆鍊熼槄鍗� ID锛夈�傛敼鍔ㄨ矾寰勪細瀵艰嚧寰呭姙瀹℃壒椤垫墦涓嶅紑銆�
+6. **妗f銆屽�熷嚭涓�嶆槸骞跺彂鏁忔劅鐨�**锛氬鎵归�氳繃鏃朵細鏉′欢鏇存柊妗f鐘舵�侊紝鑻ユ。妗堝凡琚彟涓�鏉″�熼槄鍗曞崰鐢ㄤ細杩斿洖涓氬姟寮傚父锛涘墠绔彁绀虹敤鎴峰埛鏂板悗閲嶈瘯鍗冲彲锛屼笉瑕侀潤榛樺拷鐣ャ��
+7. **涓嶈鍦ㄥ綊妗f寜閽噷鍒ゆ柇 `archived` 涔嬪鐨勫瓧娈�**锛氭寜閽樉闅愭潯浠跺缓璁敤 `status === 宸查�氳繃/宸茬珛椤�/姝e父 && !archiveDocumentId`锛屽綊妗f垚鍔熷悗鍒锋柊鍒楄〃鍗冲彲鑷姩闅愯棌銆�
+8. **瓒呯涓庢櫘閫氳鑹茬殑鍙鎬у樊寮�**锛氳彍鍗曚笌鏉冮檺鐐归粯璁ゅ彧瀵硅秴绠″彲瑙侊紝鏅�氳鑹查渶鍏堝湪銆岀郴缁熺鐞� 鈫� 瑙掕壊銆嶆巿鏉冿紝鍚﹀垯鏁村潡 `/archive` 鑿滃崟涓嶅嚭鐜般��
diff --git a/docs/finance_reimbursement_frontend_integration.md b/docs/finance_reimbursement_frontend_integration.md
new file mode 100644
index 0000000..a9ed49d
--- /dev/null
+++ b/docs/finance_reimbursement_frontend_integration.md
@@ -0,0 +1,334 @@
+# 璐㈠姟-鍙戠エ鎶ラ攢 - 鍓嶇鑱旇皟鏂规
+
+> 妯″潡锛歚yudao-module-finance`锛堢嫭绔嬫ā鍧楋紝涓嶄笌鍏朵粬涓氬姟妯″潡鍏宠仈锛�
+> 鍚庣鎺ュ彛鍓嶇紑锛歚/finance/reimbursement`
+> 闄勪欢鍏宠仈锛歚recordType = finance_reimbursement`锛宍application = file`
+
+## 娑夊強椤甸潰
+
+鍓嶇 `finance` 鐩綍宸叉寜鏈」鐩害瀹氬缓濂斤紝鍏� 8 涓枃浠讹紙鍚瓧鍏告灇涓炬敞鍐岋級锛�
+
+| 鏂囦欢 | 璇存槑 |
+|------|------|
+| `src/packages/constants/src/dict-enum.ts` | 鏂板 `FINANCE_DICT`锛坄FINANCE_REIMBURSEMENT_STATUS` / `FINANCE_EXPENSE_TYPE`锛夛紝骞跺姞鍏� `DICT_TYPE` 姹囨�诲鍑� |
+| `src/api/finance/reimbursement/index.ts` | 鎶ラ攢鍗� API 灏佽 |
+| `src/views/finance/reimbursement/index.vue` | 鎶ラ攢鍗曞垪琛ㄩ〉锛堣彍鍗曟寚鍚戞缁勪欢锛� |
+| `src/views/finance/reimbursement/data.ts` | 琛ㄥ崟鎺掑竷 + 琛ㄦ牸鍒楀畾涔� + 鐘舵�佸父閲� `ReimbursementStatus` |
+| `src/views/finance/reimbursement/modules/form.vue` | 鏂板缓/缂栬緫/璇︽儏寮圭獥锛堜富琛ㄥ瓧娈� + 鍙戠エ涓婁紶锛� |
+| `src/views/finance/reimbursement/modules/item-form.vue` | 鎶ラ攢鏄庣粏琛岀紪杈戯紙鍙鍒犺锛岄噾棰濇眹鎬诲洖濉富琛級 |
+| `src/views/finance/reimbursement/modules/process-select-modal.vue` | 閫夋嫨瀹℃壒娴佺▼寮圭獥 |
+| `src/views/finance/reimbursement/detail/approve/index.vue` | 瀹℃壒璇︽儏椤碉紙BPM 瀹℃壒涓績鍔ㄦ�佸姞杞界敤锛� |
+
+> 瀛楀吀鏋氫妇蹇呴』鐧昏鍒� `dict-enum.ts`锛屽惁鍒� `DICT_TYPE.FINANCE_*` 鍙栦笉鍒板�硷紝鍒楄〃涓庤〃鍗曚笅鎷変細绌虹櫧銆�
+
+**鑿滃崟宸查厤缃畬鎴�**锛屾棤闇�鍓嶇鎵嬪伐鍔犺矾鐢憋紙鏈」鐩负鍔ㄦ�佽矾鐢憋級锛�
+
+| 鑿滃崟 | id | 璺緞 | 缁勪欢 | 璇存槑 |
+|------|----|------|------|------|
+| 璐㈠姟鎶ラ攢 | 1075425 | `/finance` | 鈥� | **椤剁骇鐩綍**锛坄parent_id=0`锛宻ort=75锛屾帓鍦ㄣ�屽敭鍚庣鐞嗐�嶄笌銆屽熀纭�璁炬柦銆嶄箣闂达級 |
+| 鎶ラ攢鍗� | 1075417 | `reimbursement` | `finance/reimbursement/index` | 鎸傚湪銆岃储鍔℃姤閿�銆嶄笅 |
+
+> 鎶ラ攢鍗曚负**鐙珛妯″潡**锛屽洜姝ゅ埢鎰�**涓嶆寕鍦� ERP 绯荤粺 鈫� 璐㈠姟绠$悊**涓嬶紙閭i噷鏄粯娆惧崟/鏀舵鍗�/缁撶畻璐︽埛锛屽睘 ERP 涓氬姟锛夛紝鑰屾槸鏂板缓椤剁骇鐩綍銆岃储鍔℃姤閿�銆嶈嚜鎴愪竴鏉¢摼璺��
+>
+> 鈿� **鑿滃崟浣嶇疆鏄撻敊鐐�**锛氭姤閿�鍗曟槸**椤剁骇鑿滃崟鐨勪簩绾ч」** 鈥斺�� 渚ц竟鏍忓睍寮� **銆岃储鍔℃姤閿�銆�** 鍗冲彲鐪嬪埌锛涢潰鍖呭睉鏄剧ず涓� `璐㈠姟鎶ラ攢 > 鎶ラ攢鍗昤锛屾渶缁堣矾鐢� `/finance/reimbursement`锛�**娉ㄦ剰涓嶆槸** `/erp/finance/reimbursement`锛夈�侲RP 绯荤粺涓嬬殑銆岃储鍔$鐞嗐�嶉噷**娌℃湁**鎶ラ攢鍗曘��
+>
+> 鈿� **鎺堟潈鏄撻敊鐐�**锛歚system_role_menu` 涓� 1075425 涓� 1075417 **鍧囨湭鎺堜簣浠讳綍瑙掕壊**锛屽洜姝�**鍙湁瓒呯骇绠$悊鍛�**锛坄super_admin`锛屼唬鐮佺洿杩斿叏閮ㄨ彍鍗曪級鑳界湅鍒帮紱鏅�氳鑹茬櫥褰曠湅涓嶅埌锛岄渶瑕佸湪銆岀郴缁熺鐞� 鈫� 瑙掕壊銆嶉噷鍕鹃�夋巿鏉冦��
+>
+> 鑿滃崟**姣忔杩涘叆搴旂敤閮戒細閲嶆柊鎷夊彇**锛坄accessStore` 鐨� `persist.pick` 鍙惈 token/accessCodes锛屼笉鍚� `accessMenus`锛夛紝鎵�浠ヤ笉瀛樺湪銆岄渶瑕佹竻缂撳瓨鎵嶇湅寰楀埌銆嶇殑闂锛涚湅涓嶅埌鍙彲鑳芥槸**浣嶇疆娌″睍寮�**鎴�**璐﹀彿瑙掕壊鏈巿鏉�**銆�
+
+**瀛楀吀宸查厤缃畬鎴�**锛屽墠绔洿鎺ョ敤 `getDictOptions` / `DictTag` 鍙栧�硷紝鏃犻渶鑷缓鏋氫妇锛�
+
+| 瀛楀吀绫诲瀷 | 鍚嶇О | 鍙栧�� |
+|----------|------|------|
+| `finance_reimbursement_status` | 鎶ラ攢鐘舵�� | 0 鑽夌 / 15 瀹℃壒涓� / 20 宸查�氳繃 / 35 宸查┏鍥� / 40 宸插綊妗� |
+| `finance_expense_type` | 璐圭敤绫诲瀷 | 1 宸梾 / 2 鍔炲叕 / 3 鎷涘緟 / 4 浜ら�� / 5 鍏朵粬 |
+
+**鎸夐挳鏉冮檺鏍囪瘑**锛堝凡钀� `system_menu`锛屽墠绔敤 `v-access:code` 鎴� `AccessControl` 鎺у埗鏄鹃殣锛夛細
+
+`finance:reimbursement:query`銆乣:create`銆乣:update`銆乣:delete`銆乣:export`銆乣:update-status`銆乣:archive`
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+```
+鏂板缓鎶ラ攢鍗曪紙濉富琛� + 鏄庣粏琛� + 涓婁紶鍙戠エ锛�
+        鈹�
+        鈹溾攢鈹� 涓昏〃瀛楁锛氭姤閿�鏍囬銆佹姤閿�鎬婚噾棰濄�佺敵璇锋棩鏈熴�佸娉�
+        鈹斺攢鈹� 鏄庣粏琛岋紙1..n锛夛細璐圭敤绫诲瀷銆佸彂绁ㄥ彿鐮併�佸彂绁ㄩ噾棰濄�佸彂绁ㄦ棩鏈熴�佸紑绁ㄦ柟銆佽垂鐢ㄨ鏄�
+                    鈹�
+                淇濆瓨锛坈reate锛�
+                    鈹�  鈫� 闄勪欢锛氬厛涓婁紶鎷� blobId锛屽啀鎶婂叏閮� blobId 鏀捐繘鏈璇锋眰浣撲竴璧锋彁浜�
+                    鈻�
+              status = 0 鑽夌
+                    鈹�
+              銆愭彁浜ゅ鎵广�戦�夋祦绋� 鈫� 鐢熸垚 BPM 瀹炰緥
+                    鈻�
+              status = 15 瀹℃壒涓�  鈫愨攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+                    鈹�                            鈹�
+         鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹粹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�                 鈹�
+    瀹℃壒閫氳繃                 瀹℃壒椹冲洖              鈹�
+         鈻�                      鈻�                鈹�
+   status = 20 宸查�氳繃      status = 35 宸查┏鍥� 鈹�鈹�鈹� 閲嶆柊鎻愪氦
+         鈹�
+    銆愬綊妗c��
+         鈻�
+   status = 40 宸插綊妗o紙缁堟�侊級
+```
+
+**鏁版嵁甯﹀叆瑕佺偣**
+
+1. **鏄庣粏琛屼笉鍗曠嫭璋冪敤鎺ュ彛**锛氭槑缁嗛殢涓昏〃鐨� `create` / `update` 涓�娆℃�ф彁浜わ紙`items` 鏁扮粍锛夛紝鍚庣鎸夈�屽厛鍒犲悗澧炪�嶅叏閲忚鐩栥�傚墠绔笉闇�瑕侀�愯璋冩帴鍙c��
+2. **鍙戠エ闄勪欢涓ゆ璧�**锛堜笉寰楀湪涓氬姟琛ㄥ瓨鏂囦欢鍦板潃锛夛細
+   1. 鍏堣皟 `/system/storage-blob/upload` 鎷垮埌 `blobId`锛�
+   2. 淇濆瓨鎶ラ攢鍗曟椂鎶�**璇ュ崟褰撳墠鍏ㄩ儴** `blobId` 鏀捐繘 `blobIds` 涓�璧锋彁浜わ紝鐢卞悗绔粺涓�缁戝畾鍒� `recordType=finance_reimbursement` + `recordId=鎶ラ攢鍗昳d`銆�
+3. **涓昏〃銆屾姤閿�鎬婚噾棰濄�嶅缓璁墠绔嚜鍔ㄦ眹鎬�**锛氬悗绔笉鏍¢獙 `totalAmount` 涓� `items[].invoiceAmount` 涔嬪拰鏄惁鐩哥瓑锛岀洿鎺ュ叆搴撱�傝嫢瑕佷繚璇佷竴鑷达紝璇峰墠绔湪 `items` 鍙樺寲鏃舵妸 `invoiceAmount` 姹傚拰鍥炲~ `totalAmount`锛堢敤鎴蜂粛鍙墜鏀癸級銆�
+4. **瀹℃壒娴佺▼ key 鏉ヨ嚜 `approve-process-list`**锛氬墠绔笉寰楀啓姝绘祦绋� key锛屽繀椤诲疄鏃跺彇鍒楄〃鍚庣敱鐢ㄦ埛閫夋嫨锛堝悗绔湪鎻愪氦鏃朵細鎸夋墍閫� key 鍒涘缓娴佺▼瀹炰緥锛夈��
+5. **瀹℃壒璇︽儏椤佃烦杞�**锛欱PM 瀹℃壒涓績甯� `processInstanceId` 璺宠浆锛屽墠绔簲浠庤鎯呮帴鍙� `get` 鍙栧埌 `processInstanceId` 鍚庢嫾鎺ヨ鎯呴〉璺敱銆�
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 | 鏉冮檺鏍囪瘑 |
+|------|------|------|----------|
+| POST | `/finance/reimbursement/create` | 鍒涘缓鎶ラ攢鍗� | `finance:reimbursement:create` |
+| PUT | `/finance/reimbursement/update` | 淇敼鎶ラ攢鍗� | `finance:reimbursement:update` |
+| DELETE | `/finance/reimbursement/delete` | 鍒犻櫎鎶ラ攢鍗� | `finance:reimbursement:delete` |
+| GET | `/finance/reimbursement/get` | 鏌ヨ鎶ラ攢鍗曡鎯� | `finance:reimbursement:query` |
+| GET | `/finance/reimbursement/page` | 鍒嗛〉鏌ヨ鎶ラ攢鍗� | `finance:reimbursement:query` |
+| GET | `/finance/reimbursement/export-excel` | 瀵煎嚭 Excel | `finance:reimbursement:export` |
+| POST | `/finance/reimbursement/submit` | 鎻愪氦瀹℃壒 | `finance:reimbursement:update-status` |
+| POST | `/finance/reimbursement/archive` | 褰掓。 | `finance:reimbursement:archive` |
+| GET | `/finance/reimbursement/approve-process-list` | 鑾峰彇鍙敤瀹℃壒娴佺▼鍒楄〃 | `finance:reimbursement:query` |
+
+### POST /finance/reimbursement/create
+
+**璇锋眰鍙傛暟**锛圝SON body锛夛細
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| no | String | 鍚� | 鎶ラ攢鍗曞彿锛屾渶闀� 36銆�**鐣欑┖锛堝惈鍙~绌烘牸锛夊垯鐢卞悗绔嚜鍔ㄧ敓鎴�**锛涘~浜嗗垯鎸夎嚜瀹氫箟鍗曞彿鏍¢獙鍚庤惤搴� |
+| title | String | 鏄� | 鎶ラ攢鏍囬锛屾渶闀� 200 |
+| totalAmount | BigDecimal | 鏄� | 鎶ラ攢鎬婚噾棰� |
+| applyDate | String | 鏄� | 鐢宠鏃ユ湡锛屾牸寮� `yyyy-MM-dd` |
+| remark | String | 鍚� | 澶囨敞锛屾渶闀� 500 |
+| blobIds | Long[] | 鍚� | 鍙戠エ闄勪欢鐨� blobId 鍒楄〃锛堝彲涓虹┖鏁扮粍琛ㄧず鏃犲彂绁級 |
+| items | Object[] | 鏄� | 鎶ラ攢鏄庣粏锛岃嚦灏� 1 琛� |
+
+**鑷畾涔夊崟鍙疯鍒欙紙`no`锛�**锛�
+
+| 杈撳叆 | 鍚庣琛屼负 |
+|------|----------|
+| 涓嶄紶 / `null` / 绌轰覆 / 绾┖鏍硷紙鍚叏瑙掔┖鏍� `銆�`銆佸埗琛ㄧ锛� | 瑙嗕负銆屾湭濉�嶏紝鐢辩郴缁熸寜 `BX` + `yyyyMMdd` + 6 浣嶆祦姘寸敓鎴� |
+| 鏈夊�� | 鍘绘帀棣栧熬绌烘牸鍚庝綔涓鸿嚜瀹氫箟鍗曞彿锛�**涓棿**鍚┖鏍� / 鍒惰〃绗� / 鍏ㄨ绌烘牸鍒欐姤閿� |
+| 鏈夊�间絾涓庡叾浠栨姤閿�鍗曢噸澶� | 鎶ラ敊 `鎶ラ攢鍗曞彿({})宸茶鍏朵粬鎶ラ攢鍗曚娇鐢紝璇锋洿鎹㈠叾浠栧崟鍙凤紝鎴栨竻绌鸿瀛楁鐢辩郴缁熻嚜鍔ㄧ敓鎴恅 |
+| 鏈夊�间笖涓棿鏈夌┖鏍� | 鎶ラ敊 `鎶ラ攢鍗曞彿({})涓棿涓嶈兘鍖呭惈绌烘牸锛岃鍘绘帀绌烘牸鍚庨噸鏂拌緭鍏ワ紝鎴栨竻绌鸿瀛楁鐢辩郴缁熻嚜鍔ㄧ敓鎴恅 |
+| 闀垮害 > 36 | 鏍¢獙澶辫触 `鎶ラ攢鍗曞彿闀垮害涓嶈兘瓒呰繃 36 涓瓧绗 |
+
+> 鍓嶇鍦ㄦ彁浜ゅ墠寤鸿鍏� `trim()`锛屾妸绾┖鏍艰涓虹┖涓插啀鎻愪氦锛岄伩鍏嶇敤鎴疯浠ヤ负濉簡鍗曞彿銆�
+
+`items` 鍏冪礌锛�
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| expenseType | Integer | 鏄� | 璐圭敤绫诲瀷锛屽彇瀛楀吀 `finance_expense_type` |
+| invoiceNo | String | 鍚� | 鍙戠エ鍙风爜锛屾渶闀� 64 |
+| invoiceAmount | BigDecimal | 鏄� | 鍙戠エ閲戦 |
+| invoiceDate | String | 鍚� | 鍙戠エ鏃ユ湡锛屾牸寮� `yyyy-MM-dd` |
+| drawer | String | 鍚� | 寮�绁ㄦ柟锛屾渶闀� 200 |
+| description | String | 鍚� | 璐圭敤璇存槑锛屾渶闀� 500 |
+
+**鍝嶅簲**锛歚data` 涓烘柊寤烘姤閿�鍗曠殑 `id`锛圠ong锛夈��
+
+### PUT /finance/reimbursement/update
+
+璇锋眰鍙傛暟涓� `create` 鐩稿悓锛岄澶�**蹇呭~** `id`锛圠ong锛夈�備粎 `status=0 鑽夌` 鎴� `status=35 宸查┏鍥瀈 鍙敼銆�
+
+**`no` 鍦ㄤ慨鏀规椂鐨勮涔変笌鏂板涓嶅悓**锛�
+
+| 杈撳叆 | 鍚庣琛屼负 |
+|------|----------|
+| 涓嶄紶 / `null` / 绌轰覆 / 绾┖鏍� | **淇濇寔鍘熷崟鍙蜂笉鍙�**锛堜笉浼氶噸鏂扮敓鎴愶級 |
+| 涓庡綋鍓嶅崟鍙风浉鍚� | 瑙嗕负涓嶅彉鏇� |
+| 鏈夊�间笖涓庡綋鍓嶄笉鍚� | 鏍¢獙鏍煎紡涓庡敮涓�鎬у悗瑕嗙洊涓烘柊鍗曞彿 |
+
+> 鍓嶇缂栬緫鎬佸簲鍥炴樉鍘熷崟鍙凤紱鑻ョ敤鎴锋竻绌鸿杈撳叆妗嗭紝鎻愪氦鏃朵紶绌轰覆鍗宠〃绀恒�屼笉鏀瑰崟鍙枫�嶏紝涓嶄細琚郴缁熼噸鏂扮敓鎴愩��
+
+**鍝嶅簲**锛歚data = true`銆�
+
+### DELETE /finance/reimbursement/delete
+
+| 鍙傛暟 | 浣嶇疆 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|------|
+| id | query | Long | 鏄� | 鎶ラ攢鍗� id |
+
+浠� `status=0 鑽夌` 鍙垹銆傚垹闄ゆ椂浼氬悓鏃舵竻鐞嗘槑缁嗐�佸彂绁ㄩ檮浠躲��
+
+### GET /finance/reimbursement/get
+
+| 鍙傛暟 | 浣嶇疆 | 绫诲瀷 | 蹇呭~ |
+|------|------|------|------|
+| id | query | Long | 鏄� |
+
+**鍝嶅簲瀛楁**锛�
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| id | Long | 鎶ラ攢鍗� id |
+| no | String | 鎶ラ攢鍗曞彿銆傚彲鑳芥槸鍚庣鐢熸垚鐨� `BX` + `yyyyMMdd` + 6 浣嶆祦姘达紙濡� `BX20260928000001`锛夛紝涔熷彲鑳芥槸鐢ㄦ埛鑷畾涔夌殑鍗曞彿 |
+| title | String | 鎶ラ攢鏍囬 |
+| totalAmount | BigDecimal | 鎶ラ攢鎬婚噾棰� |
+| status | Integer | 鐘舵�侊紝鍙栧瓧鍏� `finance_reimbursement_status` |
+| applicantId | Long | 鐢宠浜� id |
+| applicantName | String | 鐢宠浜哄鍚嶏紙鍚庣宸茶В鏋愭樀绉帮紝鍓嶇涓嶇敤鍐嶆煡锛� |
+| applyDate | String | 鐢宠鏃ユ湡 `yyyy-MM-dd` |
+| processInstanceId | String | BPM 娴佺▼瀹炰緥 id锛屾湭鎻愪氦鏃朵负 `null` |
+| archiveTime | String | 褰掓。鏃堕棿 `yyyy-MM-dd HH:mm:ss`锛屾湭褰掓。涓� `null` |
+| remark | String | 澶囨敞 |
+| creator | String | 鍒涘缓浜� id锛堝瓧绗︿覆褰㈠紡锛� |
+| creatorName | String | 鍒涘缓浜哄鍚嶏紙鍚庣宸茶В鏋愶級 |
+| createTime | String | 鍒涘缓鏃堕棿 |
+| updateTime | String | 鏇存柊鏃堕棿 |
+| items | Object[] | 鎶ラ攢鏄庣粏鍒楄〃 |
+| attachmentList | Object[] | 鍙戠エ闄勪欢鍒楄〃 |
+| hasAttachment | Boolean | 鏄惁鏈夊彂绁ㄩ檮浠� |
+
+`items` 鍏冪礌锛歚id`銆乣reimbursementId`銆乣expenseType`銆乣invoiceNo`銆乣invoiceAmount`銆乣invoiceDate`銆乣drawer`銆乣description`銆�
+
+`attachmentList` 鍏冪礌锛歚id`锛坆lobId锛夈�乣url`锛堟枃浠跺湴鍧�锛夈�乣previewURL`锛堥瑙堝湴鍧�锛夈�乣name`锛堟枃浠跺悕锛夈�乣downloadURL`锛堜笅杞藉湴鍧�锛夈�乣application`銆乣storageAttachmentId`锛堥檮浠跺叧鑱� id锛夈��
+
+### GET /finance/reimbursement/page
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| pageNo | Integer | 鏄� | 椤电爜锛屼粠 1 寮�濮� |
+| pageSize | Integer | 鏄� | 姣忛〉鏉℃暟 |
+| no | String | 鍚� | 鎶ラ攢鍗曞彿锛屾ā绯婂尮閰� |
+| title | String | 鍚� | 鎶ラ攢鏍囬锛屾ā绯婂尮閰� |
+| status | Integer | 鍚� | 鐘舵�侊紝绮剧‘鍖归厤 |
+| applicantId | Long | 鍚� | 鐢宠浜� id |
+| applyDate | String[] | 鍚� | 鐢宠鏃ユ湡鍖洪棿 |
+
+**鏃ユ湡鍖洪棿浼犲弬锛堟槗閿欑偣锛�**锛氬悗绔瓧娈垫槸鏁扮粍锛岄渶鎸変笅闈㈠舰寮忎紶涓や釜鍊硷紝鏍煎紡 **`yyyy-MM-dd`锛堜笉鍚椂鍒嗙锛�**锛�
+
+- `applyDate[0]=2026-09-01&applyDate[1]=2026-09-30`
+
+**鍝嶅簲**锛歚data.list` 涓鸿鎯呭瓧娈电殑鏁扮粍锛堝惈 `items`銆乣attachmentList`锛夛紝`data.total` 涓烘�绘暟銆�
+
+### GET /finance/reimbursement/export-excel
+
+鏌ヨ鍙傛暟鍚� `page`锛屾棤鍒嗛〉闄愬埗锛堝拷鐣� `pageSize`锛夈�傚搷搴斾负鏂囦欢娴侊紝鍓嶇鎸� `blob` 澶勭悊鍗冲彲銆�
+
+瀵煎嚭鍒椾负锛氭姤閿�鍗曞彿銆佹姤閿�鏍囬銆佹姤閿�鎬婚噾棰濄�佺姸鎬侊紙鑷姩杞腑鏂囷級銆佺敵璇蜂汉銆佺敵璇锋棩鏈熴�佸綊妗f椂闂淬�佸娉ㄣ�佸垱寤烘椂闂淬�佹槸鍚︿笂浼犲彂绁ㄣ��
+
+### POST /finance/reimbursement/submit
+
+| 鍙傛暟 | 浣嶇疆 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|------|
+| id | query | Long | 鏄� | 鎶ラ攢鍗� id |
+| processDefinitionKey | query | String | 鏄� | 娴佺▼瀹氫箟 key锛屽彇鑷� `approve-process-list` |
+
+娉ㄦ剰锛氬弬鏁板湪 **query string**锛岃姹備綋涓虹┖銆�
+
+**鍝嶅簲**锛歚data = true`銆傛垚鍔熷悗鎶ラ攢鍗� `status` 鍙樹负 `15 瀹℃壒涓璥锛宍processInstanceId` 琚洖鍐欍��
+
+### POST /finance/reimbursement/archive
+
+| 鍙傛暟 | 浣嶇疆 | 绫诲瀷 | 蹇呭~ |
+|------|------|------|------|
+| id | query | Long | 鏄� |
+
+**鍝嶅簲**锛歚data = true`銆傛垚鍔熷悗 `status=40 宸插綊妗銆乣archiveTime` 琚啓鍏ャ��
+
+### GET /finance/reimbursement/approve-process-list
+
+鏃犺姹傚弬鏁般��
+
+**鍝嶅簲**锛歚data` 涓烘暟缁勶紝鍏冪礌褰㈠锛�
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| id | String | 娴佺▼瀹氫箟 id |
+| key | String | 娴佺▼瀹氫箟 key锛屾彁浜ゅ鎵规椂鍥炰紶姝ゅ�� |
+| name | String | 娴佺▼鍚嶇О |
+
+鑻ヨ繑鍥炵┖鏁扮粍锛岃鏄庛�屾姤閿�瀹℃壒銆嶅垎绫讳笅**灏氭棤宸插彂甯冪殑娴佺▼瀹氫箟**锛屾鏃跺繀椤荤鐢ㄣ�屾彁浜ゅ鎵广�嶆寜閽苟鎻愮ず鐢ㄦ埛鍏堝埌 BPM 娴佺▼璁捐鍣ㄥ彂甯冩祦绋嬨��
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| 鎶ラ攢鍗曞彿 `no` | 鍒楄〃銆佽鎯呫�佺紪杈戣〃鍗� | 鍙紪杈戯紙閫夊~锛夈�傛柊澧炴椂鐣欑┖鐢辩郴缁熺敓鎴愶紱缂栬緫鏃剁暀绌鸿〃绀轰笉鏀瑰崟鍙� |
+| 鎶ラ攢鏍囬 `title` | 鍒楄〃锛堝彲鐐瑰紑璇︽儏锛夈�佺紪杈戣〃鍗� | 蹇呭~ |
+| 鐘舵�� `status` | 鍒楄〃銆佽鎯� | 鐢� `DictTag` 娓叉煋瀛楀吀 `finance_reimbursement_status`锛屽彇鍚庣杩斿洖鐨勯鑹� |
+| 鎶ラ攢鎬婚噾棰� `totalAmount` | 鍒楄〃锛堝彸瀵归綈锛夈�佽鎯� | 蹇呭~锛屽缓璁敱鏄庣粏姹囨�诲洖濉� |
+| 鐢宠浜� `applicantName` | 鍒楄〃銆佽鎯� | 鍙锛屽悗绔凡瑙f瀽濮撳悕 |
+| 鐢宠鏃ユ湡 `applyDate` | 鍒楄〃銆佺紪杈戣〃鍗� | 蹇呭~锛屾棩鏈熼�夋嫨鍣紙涓嶅甫鏃堕棿锛� |
+| 鍒涘缓浜� `creatorName` / 鍒涘缓鏃堕棿 `createTime` | 鍒楄〃銆佽鎯� | 鍙 |
+| 褰掓。鏃堕棿 `archiveTime` | 璇︽儏 | 鍙锛屾湭褰掓。鏄剧ず `-` |
+| 澶囨敞 `remark` | 璇︽儏銆佺紪杈戣〃鍗� | 閫夊~ |
+| 鏄庣粏琛� `items` | 缂栬緫琛ㄥ崟锛堝瓙琛ㄦ牸锛夈�佽鎯� | 鍒楄〃椤靛彲涓嶅睍绀猴紝璇︽儏椤靛彲鎶樺彔灞曞紑 |
+| 鏄庣粏.璐圭敤绫诲瀷 `expenseType` | 鏄庣粏琛ㄦ牸 | 鐢ㄥ瓧鍏� `finance_expense_type` 娓叉煋 |
+| 鏄庣粏.鍙戠エ閲戦 `invoiceAmount` | 鏄庣粏琛ㄦ牸锛堝彸瀵归綈锛� | 蹇呭~ |
+| 鍙戠エ闄勪欢 `attachmentList` | 缂栬緫琛ㄥ崟銆佽鎯� | 鍙鍒楄〃 + 棰勮/涓嬭浇锛涚紪杈戞�佸厑璁稿鍒狅紙瑙併�屾敞鎰忎簨椤广�嶏級 |
+| 鏄惁鏈夊彂绁� `hasAttachment` | 鍒楄〃 | 鍙睍绀轰负銆屾湁/鏃犮�嶆爣绛撅紝鏂逛究璐㈠姟鎵崟 |
+
+## 涓氬姟瑙勫垯璇存槑
+
+### 鐘舵�佷笌鍙敤鎿嶄綔鐭╅樀
+
+| 鐘舵�� | 缂栬緫 | 鍒犻櫎 | 鎻愪氦瀹℃壒 | 褰掓。 | 璇存槑 |
+|------|:----:|:----:|:--------:|:----:|------|
+| 0 鑽夌 | 鉁� | 鉁� | 鉁� | 鉂� | 鍞竴鍙垹闄ょ殑鐘舵�� |
+| 15 瀹℃壒涓� | 鉂� | 鉂� | 鉂� | 鉂� | 鍏ㄩ儴鍙锛岀瓑寰呭鎵圭粨鏋� |
+| 20 宸查�氳繃 | 鉂� | 鉂� | 鉂� | 鉁� | 浠呭彲褰掓。 |
+| 35 宸查┏鍥� | 鉁� | 鉂� | 鉁� | 鉂� | 鍙敼鍙戠エ鍚庨噸鏂版彁浜わ紱**涓嶅彲鍒犻櫎** |
+| 40 宸插綊妗� | 鉂� | 鉂� | 鉂� | 鉂� | 缁堟�侊紝鍏ㄩ儴鍙 |
+
+### 鏍¢獙瑙勫垯锛堝悗绔凡瀹炵幇锛屽墠绔簲鍋氬悓姝ュ墠缃牎楠屼互鎻愬崌浣撻獙锛�
+
+| 鍦烘櫙 | 瑙勫垯 | 鍚庣杩斿洖鐨勬彁绀� |
+|------|------|----------------|
+| 鍒涘缓/淇敼鏃� `items` 涓虹┖ | 鑷冲皯 1 琛屾槑缁� | `鎶ラ攢鏄庣粏涓嶈兘涓虹┖` |
+| 鍒涘缓/淇敼鏃� `title` / `totalAmount` / `applyDate` 涓虹┖ | 蹇呭~ | `鎶ラ攢鏍囬涓嶈兘涓虹┖` / `鎶ラ攢鎬婚噾棰濅笉鑳戒负绌篳 / `鐢宠鏃ユ湡涓嶈兘涓虹┖` |
+| 鑷畾涔夊崟鍙蜂笌鍏朵粬鎶ラ攢鍗曢噸澶� | 鎷掔粷 | `鎶ラ攢鍗曞彿({})宸茶鍏朵粬鎶ラ攢鍗曚娇鐢紝璇锋洿鎹㈠叾浠栧崟鍙凤紝鎴栨竻绌鸿瀛楁鐢辩郴缁熻嚜鍔ㄧ敓鎴恅 |
+| 鑷畾涔夊崟鍙蜂腑闂村惈绌烘牸/鍒惰〃绗�/鍏ㄨ绌烘牸 | 鎷掔粷 | `鎶ラ攢鍗曞彿({})涓棿涓嶈兘鍖呭惈绌烘牸锛岃鍘绘帀绌烘牸鍚庨噸鏂拌緭鍏ワ紝鎴栨竻绌鸿瀛楁鐢辩郴缁熻嚜鍔ㄧ敓鎴恅 |
+| 鑷畾涔夊崟鍙烽暱搴� > 36 | 鎷掔粷 | `鎶ラ攢鍗曞彿闀垮害涓嶈兘瓒呰繃 36 涓瓧绗 |
+| 闈炶崏绋�/闈炲凡椹冲洖鐘舵�佽皟 `update` | 鎷掔粷 | `鎶ラ攢鍗�({})涓嶆槸鑽夌鎴栧凡椹冲洖鐘舵�侊紝鏃犳硶淇敼锛屽彧鏈夎崏绋垮拰宸查┏鍥炵殑鎶ラ攢鍗曞彲浠ョ紪杈慲 |
+| 闈炶崏绋跨姸鎬佽皟 `delete` | 鎷掔粷 | `鎶ラ攢鍗�({})涓嶆槸鑽夌鐘舵�侊紝鏃犳硶鍒犻櫎` |
+| 闈炶崏绋�/闈炲凡椹冲洖璋� `submit` | 鎷掔粷 | `鎻愪氦瀹℃壒澶辫触锛屽彧鏈夎崏绋挎垨宸查┏鍥炵姸鎬佺殑鎶ラ攢鍗曟墠鑳芥彁浜 |
+| 鎻愪氦鏃舵棤鏄庣粏 | 鎷掔粷 | `鎻愪氦瀹℃壒澶辫触锛屾姤閿�鍗曟病鏈夋槑缁嗚锛屾棤娉曟彁浜 |
+| 闈炲凡閫氳繃璋� `archive` | 鎷掔粷 | `褰掓。澶辫触锛屽彧鏈夊凡閫氳繃鐘舵�佺殑鎶ラ攢鍗曟墠鑳藉綊妗 |
+| 鎶ラ攢鍗曚笉瀛樺湪 | 鎷掔粷 | `鎶ラ攢鍗曚笉瀛樺湪` |
+
+### 瀹℃壒缁撴灉濡備綍鍥炲啓鐘舵�侊紙鍓嶇涓嶇敤绠★紝浠呬綔浜嗚В锛�
+
+BPM 瀹℃壒娴佸畬鎴愬悗锛屽悗绔洃鍚櫒鎸夌粨鏋滆嚜鍔ㄦ敼鐘舵�侊細
+- 瀹℃壒閫氳繃 鈫� `20 宸查�氳繃`
+- 瀹℃壒椹冲洖 鈫� `35 宸查┏鍥瀈
+- 瀹℃壒鍙栨秷 鈫� 閫�鍥� `0 鑽夌`
+
+鍓嶇鍙渶鍦ㄥ鎵归�氳繃鍚庨噸鏂版媺鍒楄〃/璇︽儏鍗冲彲鐪嬪埌鏂扮姸鎬併��
+
+## 娉ㄦ剰浜嬮」
+
+1. **闄勪欢鏇存柊鏄叏閲忔浛鎹紝涓嶆槸澧為噺**锛堟渶瀹规槗韪╃殑鍧戯級锛歚update` 鎺ュ彛鐨� `blobIds` 璇箟鏄�岃鎶ラ攢鍗曚繚瀛樺悗搴旀寔鏈夌殑**鍏ㄩ儴**闄勪欢銆嶃�傚洜姝ょ紪杈戞�佸繀椤绘妸**宸叉湁闄勪欢鐨� blobId 涓庢柊澧為檮浠剁殑 blobId 鍚堝苟鎴愪竴涓暟缁�**涓�璧锋彁浜わ紱鍙紶鏂板鐨勯偅鍑犱釜锛屼細鎶婂師鏈夊彂绁ㄥ叏閮ㄥ垹鎺夈�備紶绌烘暟缁� `[]` 琛ㄧず娓呯┖鍏ㄩ儴闄勪欢锛涗笉浼狅紙`null`锛夎〃绀轰笉鍔ㄩ檮浠躲��
+
+2. **涓婁紶涓庝繚瀛樺垎绂�**锛氫笂浼犺蛋 `/system/storage-blob/upload` 鎷� `blobId`锛屼繚瀛樿蛋 `create` / `update` 鎻愪氦 `blobIds`銆傜姝㈣皟鐢� `/infra/file/upload`銆乣/infra/file/presigned-url`锛屼篃绂佹鍦ㄤ笟鍔¤〃/琛ㄥ崟閲屽瓨 `fileUrl` 涔嬬被鐨勬枃浠跺湴鍧�瀛楁銆�
+
+3. **鍒犻櫎鏃堕檮浠朵細涓�骞舵竻鐞�**锛堝悗绔凡澶勭悊锛夛紝鍓嶇涓嶉渶瑕侀澶栬皟闄勪欢鍒犻櫎鎺ュ彛銆備絾瑕佹敞鎰忥細**涓婁紶鍚庢湭淇濆瓨灏卞叧闂脊绐�**鐨勫鍎挎枃浠朵笉浼氳鑷姩娓呯悊锛屽缓璁墠绔湪鍏抽棴鏃舵彁绀猴紝鎴栧鐢ㄥ悓涓�鎵� `blobId` 涓嬫淇濆瓨銆�
+
+4. **`submit` 鐨勫弬鏁板湪 query锛岃姹備綋涓虹┖**銆傝嫢鎸� JSON body 浼犱細鍙栦笉鍒� `id` 涓� `processDefinitionKey`銆�
+
+5. **瀹℃壒娴佺▼ key 涓ョ鍐欐**锛氬繀椤诲厛璋� `approve-process-list`锛屾妸杩斿洖鐨� `name`+`key` 娓叉煋鎴愪笅鎷夛紙鍙弬鑰� ERP 浠樻鍗曠殑 `process-select-modal`锛夈�傚垪琛ㄤ负绌烘椂绂佺敤鎻愪氦鎸夐挳銆�
+
+6. **銆屽凡椹冲洖銆嶅彲缂栬緫锛屼絾涓嶅彲鍒犻櫎**锛氬悗绔� `update` 鏀捐 `status=0 鑽夌` 涓� `status=35 宸查┏鍥瀈锛沗delete` 浠嶅彧鏀捐鑽夌銆傚洜姝ょ紪杈戞寜閽湪 0/35 鏄剧ず锛屽垹闄ゆ寜閽彧鍦� 0 鏄剧ず銆�
+
+7. **`totalAmount` 涓庢槑缁嗘眹鎬讳笉鑱斿姩鏍¢獙**锛氬悗绔笉鍋氫竴鑷存�ф牎楠岋紝鎬婚噾棰濈敱鍓嶇璐熻矗鍥炲~涓庡睍绀猴紝鐢ㄦ埛鍙墜鏀广�傝嫢瑕佹眰寮轰竴鑷达紝闇�鍚庣琛ユ牎楠岃鍒欍��
+
+8. **鏃ユ湡鍖洪棿绛涢�変紶鍙傛牸寮忔槸 `yyyy-MM-dd`**锛堝 `applyDate[0]=2026-09-01`锛夛紝**涓嶈甯︽椂鍒嗙**锛屽惁鍒欏悗绔В鏋愬け璐ユ姤 400銆傛敞鎰忓垪琛ㄦ棩鏈熷尯闂撮�夋嫨鍣ㄥ繀椤绘樉寮忚缃� `valueFormat: 'YYYY-MM-DD'`锛岄」鐩�氱敤鐨� `getRangePickerDefaultProps()` 榛樿鏄� `YYYY-MM-DD HH:mm:ss`锛岀洿鎺ョ敤浼氳俯杩欎釜鍧戙��
+
+9. **鍒楄〃椤佃涓嶈榛樿灞曞紑 `items` 涓� `attachmentList`**锛氬垎椤垫帴鍙e姣忚閮戒細鏌ユ槑缁嗗拰闄勪欢锛岃鏁板鏃跺紑閿�杈冨ぇ锛涘缓璁垪琛ㄥ彧灞曠ず涓昏〃瀛楁锛堝惈 `hasAttachment`锛夛紝鏄庣粏涓庨檮浠舵斁鍒拌鎯呴〉鎸夐渶鍔犺浇銆�
+
+10. **鎶ラ攢鍗曞彿鍙嚜瀹氫箟锛岀暀绌哄垯鐢卞悗绔敓鎴�**锛氳〃鍗曢噷淇濈暀銆屾姤閿�鍗曞彿銆嶈緭鍏ユ锛屽崰浣嶆彁绀哄啓銆岀暀绌哄垯鐢辩郴缁熻嚜鍔ㄧ敓鎴愩�嶃�傛彁浜ゅ墠璇� `trim()`锛岀函绌烘牸瑕佸綋浣滄湭濉彁浜わ紙鍚庣涔熶細鍐� trim 涓�娆″厹搴曪級銆傜敓鎴愯鍒欎负 Redis 搴忓垪 `BX` + `yyyyMMdd` + 6 浣嶆祦姘达紙姣忔棩閲嶇疆锛夈��**涓嶈鍦ㄧ紪杈戞�佺敤绌轰覆瑕嗙洊宸叉湁鍗曞彿**鈥斺�斿悗绔妸绌哄�艰В閲婁负銆屼繚鎸佷笉鍙樸�嶏紝涓嶄細閲嶆柊鐢熸垚銆�
+
+11. **鏄庣粏琛屾彁浜ゆ椂涓嶈甯� `id`**锛氬悗绔繚瀛樻槑缁嗘槸銆屽厛鍒犲悗澧炪�嶅叏閲忚鐩栵紝鑰屾槑缁嗗垹闄ゆ槸**杞垹闄�**锛岃嫢鍥炰紶浜嗗師琛� `id`锛岄噸鏂版彃鍏ユ椂浼氫笌宸茶蒋鍒犵殑琛屼富閿啿绐併�傚墠绔彁浜ゅ墠蹇呴』鍓ユ帀姣忚鐨� `id` 涓� `reimbursementId`锛屽彧淇濈暀 `expenseType`銆乣invoiceNo`銆乣invoiceAmount`銆乣invoiceDate`銆乣drawer`銆乣description`銆�
+
+12. **瀹℃壒璇︽儏椤电敱 BPM 娴佺▼璁捐鍣ㄦ寕杞�**锛欱PM 瀹℃壒涓績閫氳繃娴佺▼瀹氫箟鐨� `formCustomViewPath` 鍔ㄦ�佸姞杞戒笟鍔¤鎯呴〉锛坄registerComponent` 鎸夎矾寰勫尮閰嶏級锛屽洜姝� BPM 娴佺▼璁捐鍣ㄩ噷蹇呴』鎶娿�岃嚜瀹氫箟琛ㄥ崟璺緞銆嶉厤缃负 `/finance/reimbursement/detail/approve/index.vue`锛屽惁鍒欏鎵逛腑蹇冮噷鐪嬩笉鍒版姤閿�鍗曞唴瀹广��
diff --git a/docs/project-business/README.md b/docs/project-business/README.md
index f9b19a7..e133ada 100644
--- a/docs/project-business/README.md
+++ b/docs/project-business/README.md
@@ -8,19 +8,19 @@
 - **涓氬姟瀹氫綅**锛氱鏁e埗閫犲伐鍘備骇渚涢攢浜鸿储鐗╀竴浣撳寲锛氳鐩栥�庨攢鍞帴鍗� 鈫� 閲囪喘/鐢熶骇 鈫� 璐ㄦ 鈫� 浠撳偍 鈫� 鍙戣揣 鈫� 鍥炴 鈫� 鍞悗銆忓叏閾捐矾闂幆
 - **鎶�鏈簳搴�**锛歽udao锛坮uoyi-vue-pro锛変簩寮�锛孲pring Boot + MyBatis + Flowable + Redis + MySQL 8.4 + Milvus + 閫氫箟鍗冮棶锛涘墠绔� mom-pro2-before锛圴ue3锛�
 - **鏍稿績涓荤嚎**锛欳RM 鍚堝悓 鈫� ERP 閿�鍞鍗� 鈫� MES 涓昏鍒�/宸ュ崟/鎶ュ伐 鈫� 璐ㄦ涓庝粨鍌� 鈫� 閿�鍞嚭搴� 鈫� 寮�绁ㄥ洖娆� 鈫� 鍞悗闂幆
-- **鐙珛妯″潡**锛氳储鍔℃姤閿�锛坄yudao-module-finance`锛屾姤閿�鍗�/鏄庣粏/鍙戠エ闄勪欢/瀹℃壒/褰掓。锛屽澶栨彁渚� `yudao-module-finance-api` 渚涗粬妯″潡寤哄崟锛変笌浼氬憳绠$悊锛坄yudao-module-ums`锛屽叆浼氱敵璇�/绉樹功澶勪笌鐞嗕簨浼氫袱绾у鎵�/浼氬憳/閫氳褰曪級鍚勮嚜鎴愪竴鏉¢摼璺紙UMS 渚嬪锛氬鎵归�氳繃浼氱粡 AdminUserApi 鍒涘缓绯荤粺鐧诲綍璐﹀彿锛夛紱璇鹃绠$悊锛坄yudao-module-research`锛岃棰樻寚鍗�/鍦ㄧ嚎鐢虫姤/涓撳璇勫/涓夌骇绔嬮」瀹℃壒/绔嬮」閫氱煡/缁忚垂鎷ㄤ粯锛変负鍙︿竴鏉$嫭绔嬬鐮斾富绾匡紝鍚戝鍙� `ums_member` 浣滀负鐢虫姤浜恒�佸啓 `system_notice` 绔嬮」鍏憡锛�**骞跺凡瀵规帴璐㈠姟**锛氱粡璐规嫧浠� 1:1 鑷姩鐢熸垚璐㈠姟鎶ラ攢鍗曞苟鎻愪氦瀹℃壒锛屽鎵圭粨鏋滅粡 BPM 鐩戝惉鍣ㄥ洖鍐欒棰樹晶鎷ㄦ鍙拌处
+- **鐙珛妯″潡**锛氳储鍔℃姤閿�锛坄yudao-module-finance`锛屾姤閿�鍗�/鏄庣粏/鍙戠エ闄勪欢/瀹℃壒/褰掓。锛屽澶栨彁渚� `yudao-module-finance-api` 渚涗粬妯″潡寤哄崟锛変笌浼氬憳绠$悊锛坄yudao-module-ums`锛屽叆浼氱敵璇�/绉樹功澶勪笌鐞嗕簨浼氫袱绾у鎵�/浼氬憳/閫氳褰曪級鍚勮嚜鎴愪竴鏉¢摼璺紙UMS 渚嬪锛氬鎵归�氳繃浼氱粡 AdminUserApi 鍒涘缓绯荤粺鐧诲綍璐﹀彿锛夛紱璇鹃绠$悊锛坄yudao-module-research`锛岃棰樻寚鍗�/鍦ㄧ嚎鐢虫姤/涓撳璇勫/涓夌骇绔嬮」瀹℃壒/绔嬮」閫氱煡/缁忚垂鎷ㄤ粯锛変负鍙︿竴鏉$嫭绔嬬鐮斾富绾匡紝鍚戝鍙� `ums_member` 浣滀负鐢虫姤浜恒�佸啓 `system_notice` 绔嬮」鍏憡锛�**骞跺凡瀵规帴璐㈠姟**锛氱粡璐规嫧浠� 1:1 鑷姩鐢熸垚璐㈠姟鎶ラ攢鍗曞苟鎻愪氦瀹℃壒锛屽鎵圭粨鏋滅粡 BPM 鐩戝惉鍣ㄥ洖鍐欒棰樹晶鎷ㄦ鍙拌处锛涙。妗堢鐞嗭紙`yudao-module-archive`锛屽垎绫讳功鏋�/妗f鐧昏涓庢绱�/鍊熼槄涓ょ骇瀹℃壒/褰掕繕闂幆/閫炬湡瀹炴椂鎻愰啋/缁熻锛変负绗洓鏉$嫭绔嬩富绾匡紝**瀵瑰鎻愪緵 `yudao-module-archive-api` 渚涜棰樸�佷細鍛樸�佽储鍔′笁鏂瑰悜鍏跺綊妗�**锛堝垪琛ㄩ〉鎵嬪姩銆屽綊妗c�嶆寜閽紝褰掓。涓嶅洖鍐欐潵婧愪笟鍔$姸鎬侊級锛岃嚜韬涓夋柟**鏃犲弽鍚戜緷璧�**
 
 ## 2. 鐩綍缁撴瀯
 
 ```text
 docs/project-business/
 鈹溾攢鈹� index.html      # 鍙鍖栭〉闈細鍙屽嚮鐩存帴鎵撳紑锛坒ile:// 鍗冲彲锛屾棤闇�浠讳綍鏈嶅姟锛�
-鈹溾攢鈹� mermaid/        # 14 寮� Mermaid 涓氬姟鍥撅紙鏉冨▉婧愶紝鏀硅繖閲岋級
+鈹溾攢鈹� mermaid/        # 15 寮� Mermaid 涓氬姟鍥撅紙鏉冨▉婧愶紝鏀硅繖閲岋級
 鈹溾攢鈹� data/           # 涓氬姟鏁版嵁锛堟潈濞佹簮锛屾敼杩欓噷锛�
 鈹�   鈹溾攢鈹� business.json  # 椤圭洰鍏冧俊鎭�/涓氬姟鍗侀棶/AI鑳藉姏/寰呯‘璁や簨椤�
-鈹�   鈹溾攢鈹� modules.json   # 16 涓笟鍔℃ā鍧楀畾涔�
+鈹�   鈹溾攢鈹� modules.json   # 17 涓笟鍔℃ā鍧楀畾涔�
 鈹�   鈹溾攢鈹� objects.json   # 鏍稿績涓氬姟瀵硅薄锛堜綔鐢�/涓婃父/涓嬫父/琛ㄥ悕锛�
-鈹�   鈹溾攢鈹� flows.json     # 9 鏉℃祦绋嬶紙鎽樿+姝ラ+瑙掕壊锛�
+鈹�   鈹溾攢鈹� flows.json     # 10 鏉℃祦绋嬶紙鎽樿+姝ラ+瑙掕壊锛�
 鈹�   鈹斺攢鈹� roles.json     # 瑙掕壊鏉冮檺
 鈹斺攢鈹� README.md
 ```
@@ -49,6 +49,7 @@
 | 12-finance-flow | 璐㈠姟鎶ラ攢锛堢嫭绔嬫ā鍧楋級锛氭姤閿�鍗�+鏄庣粏+鍙戠エ闄勪欢 鈫� 鎻愪氦 BPM 瀹℃壒 鈫� 閫氳繃/椹冲洖 鈫� 褰掓。缁堟�侊紱鍗曟嵁鏉ユ簮鍚墜宸ユ柊寤轰笌銆岃棰樼粡璐规嫧浠樿嚜鍔ㄧ敓鎴愩�嶄袱绫� |
 | 13-ums-membership-flow | 浼氬憳鍏ヤ細锛堢嫭绔嬫ā鍧楋級锛氬叆浼氱敵璇� + 鏉愭枡闄勪欢 鈫� 鎻愪氦 BPM 涓ょ骇瀹℃壒锛堢涔﹀鍒濆鈫掔悊浜嬩細瀹¤锛夆啋 閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 鈫� 浼氬憳鍒楄〃/閫氳褰曟绱� |
 | 14-research-flow | 璇鹃绠$悊锛堢嫭绔嬫ā鍧楋級锛氭寚鍗楀彂甯�(閲嶇偣/涓�鑸�)鈫掑湪绾跨敵鎶�(閫変細鍛樺甫鍑虹敵鎶ヤ汉)鈫掍笓瀹惰瘎鍒嗘槑缁嗗姞鏉冩帓鍚嶁啋BPM 涓夌骇瀹℃壒(绉樹功澶勫舰寮忓鏌モ啋涓撳璇勫鈫掑浼氱珛椤瑰鎵�)鈫掔珛椤圭紪鍙蜂笌鍏憡鈫掔粡璐规嫧浠橈紙鍑瘉蹇呭~鈫�1:1 鑷姩鐢熸垚骞舵彁浜よ储鍔℃姤閿�鍗曗啋璐㈠姟瀹℃牳/璐㈠姟涓荤涓ょ骇瀹℃壒鈫掔粨鏋滅粡鐩戝惉鍣ㄥ洖鍐欏彴璐︼細閫氳繃宸叉嫧浠�/椹冲洖宸查┏鍥炲彲閲嶅彂/鎾ゅ洖鍥炲緟鎷ㄤ粯锛墊
+| 15-archive-flow | 妗f绠$悊锛堢嫭绔嬫ā鍧楋級锛氬垎绫讳功鏋�(鏍戝舰路榛樿瀵嗙骇鈫掓柊澧炴。妗堣嚜鍔ㄥ甫鍑�)鈫掓。妗堢櫥璁�(瀵嗙骇涓夋。/杞戒綋涓夊瀷/瀹炰綋浣嶇疆鍥涘瓧娈�/鐢靛瓙闄勪欢/DA 缂栧彿)鈫掍笁鏂瑰綊妗h仈鍔�(璇鹃宸茬珛椤�/浼氬憳姝e父/璐㈠姟宸查�氳繃 鍚勫垪琛ㄦ墜鍔ㄣ�屽綊妗c�嶁啋缁� `archive-api` 鐢熸垚妗f骞跺洖鍐� `archive_document_id`)鈫掑�熼槄鐧昏(浠呫�屽湪搴撱�嶅彲閫壜峰悓妗f涓嶅緱鏈夊湪閫斿�熼槄鍗�)鈫払PM 涓ょ骇瀹℃壒(妗f绠$悊鍛樺鏍糕啋鍒嗙棰嗗瀹℃壒路閫氳繃鍚庢。妗堟潯浠舵洿鏂颁负鍊熷嚭涓�)鈫掑綊杩樼櫥璁�(鍥炲湪搴�)鈫掗�炬湡瀹炴椂璁$畻(涓嶅缓瀹氭椂浠诲姟)鈫掑瓨閲忔祦杞粺璁� |
 
 鍥句腑鐘舵�佹暟瀛楀潎涓烘簮鐮佹灇涓剧湡瀹炲�硷紙濡傚伐鍗� 0鑽夌/1宸茬‘璁�/2瀹屾垚/3鍙栨秷锛汦RP 瀹℃壒 15瀹℃壒涓�/20宸插鏍革級銆�
 
@@ -69,8 +70,8 @@
 - 鏈洰褰曠敱椤圭洰鎶�鑳� **project-business-analysis** 绠$悊锛坄.claude/skills/project-business-analysis/`锛夛紝骞舵湁瑙勫垯 `.claude/rules/business-visualization-maintenance.md` 寮哄埗锛氫笟鍔℃ā鍧�/娴佺▼/鐘舵��/瀵硅薄/瑙掕壊/AI 鍙樻洿鍚庨渶鍚屾缁存姢鏈洰褰曘��
 - 澧為噺缁存姢锛氭敼瀵瑰簲鐨� `mermaid/*.mmd` + `data/*.json` 鈫� 杩愯涓婇潰鐨� sync 鑴氭湰 鈫� 娴忚鍣ㄩ獙璇佸彈褰卞搷鍥俱��
 - 鍏ㄩ噺閲嶅仛锛堝亸宸繃澶ф椂锛夛細瀵� Claude 璇淬�岄噸鏂扮敓鎴愪笟鍔″叏鏅�嶏紝鎶�鑳戒細閲嶆柊璧拌婧愮爜骞舵寜鐢熸垚妯″紡閲嶅缓銆�
-- 鐢熸垚鍩虹嚎锛歞ev_business @ 87bf4a99锛�2026-09-10锛�2026-09-28 澧為噺琛ュ厖璐㈠姟鎶ラ攢妯″潡锛坄yudao-module-finance`锛夈�佷細鍛樼鐞嗘ā鍧楋紙`yudao-module-ums`锛変笌璇鹃绠$悊妯″潡锛坄yudao-module-research`锛屼竴鏈熼」 1~5锛涗簩鏈熺粨椤归獙鏀朵笌鎴愭灉褰掓。灏氭湭鍋氾紝鍥句腑宸叉爣娉ㄦ湭瑕嗙洊鑼冨洿锛夛紱**2026-09-29 澧為噺**锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� `yudao-module-finance-api`锛坄FinanceReimbursementApi` 鏈湴 Bean 璋冪敤锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ锛夛紝鐧昏鎷ㄦ鏃� 1:1 鑷姩鐢熸垚 `finance_reimbursement`锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭級骞惰嚜鍔ㄦ彁浜� `finance_reimbursement_approve` 涓ょ骇瀹℃壒锛屾柊澧炵 15 涓笟鍔$洃鍚櫒 `ResearchFundStatusListener` 鎸夊鎵圭粨鏋滃洖鍐欒棰樻嫧娆惧彴璐︼紙閫氳繃 20 / 椹冲洖 30 / 鎾ゅ洖 0锛夛紝褰卞搷鍥� 08 / 09 / 10 / 14 涓� data 鍏ㄩ儴鍥涗唤 json銆�
+- 鐢熸垚鍩虹嚎锛歞ev_business @ 87bf4a99锛�2026-09-10锛�2026-09-28 澧為噺琛ュ厖璐㈠姟鎶ラ攢妯″潡锛坄yudao-module-finance`锛夈�佷細鍛樼鐞嗘ā鍧楋紙`yudao-module-ums`锛変笌璇鹃绠$悊妯″潡锛坄yudao-module-research`锛屼竴鏈熼」 1~5锛涗簩鏈熺粨椤归獙鏀朵笌鎴愭灉褰掓。灏氭湭鍋氾紝鍥句腑宸叉爣娉ㄦ湭瑕嗙洊鑼冨洿锛夛紱**2026-09-29 澧為噺**锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� `yudao-module-finance-api`锛坄FinanceReimbursementApi` 鏈湴 Bean 璋冪敤锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ锛夛紝鐧昏鎷ㄦ鏃� 1:1 鑷姩鐢熸垚 `finance_reimbursement`锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭級骞惰嚜鍔ㄦ彁浜� `finance_reimbursement_approve` 涓ょ骇瀹℃壒锛屾柊澧炵 15 涓笟鍔$洃鍚櫒 `ResearchFundStatusListener` 鎸夊鎵圭粨鏋滃洖鍐欒棰樻嫧娆惧彴璐︼紙閫氳繃 20 / 椹冲洖 30 / 鎾ゅ洖 0锛夛紝褰卞搷鍥� 08 / 09 / 10 / 14 涓� data 鍏ㄩ儴鍥涗唤 json锛�**2026-09-29 鍐嶅閲�**锛氭柊澧炴。妗堢鐞嗙嫭绔嬫ā鍧� `yudao-module-archive` + `yudao-module-archive-api`锛坄ArchiveDocumentApi`锛歚archiveBySource` 骞傜瓑褰掓。 / `isArchived` / `getBySource`锛夛紝3 寮犺〃 `archive_category`/`archive_document`/`archive_borrow`銆�6 涓瓧鍏革紙82000~82005锛夈�乣bpm_category(8003)` + 鎵嬪啓 `archive_borrow_approve.bpmn`锛堝凡鍦� mom-jssm 閮ㄧ讲涓虹増鏈� 1锛宖orm_type=20锛屽垱寤鸿矾寰� `/archive/borrow/index`銆佹煡鐪嬭矾寰� `/archive/borrow/detail/approve/index.vue`锛夈�佽彍鍗� 1075600~1075699锛涙柊澧炰笟鍔$洃鍚櫒 `ArchiveBorrowStatusListener`锛屽叏搴撲笟鍔$姸鎬佺洃鍚櫒璁℃暟淇涓� **24 涓�** `*StatusListener`锛�14 涓户鎵� `BpmProcessInstanceStatusEventListener`锛夛紱涓夋柟褰掓。鍥炲啓 `archive_document_id` 鍒� `research_application`/`ums_member`/`finance_reimbursement`锛屽叏搴撹〃鏁� 427鈫�430锛涙柊澧炲浘 **15-archive-flow**锛屽閲忎慨璁㈠浘 01 / 08 / 09 / 10 涓� data 鍏ㄩ儴浜斾唤 json锛堟柊澧� `arc` 妯″潡銆�3 涓笟鍔″璞°�乣archive` 娴佺▼銆�4 涓笟鍔¤鑹诧級銆�
 
 ## 7. 宸茬煡寰呯‘璁や笟鍔�
 
-瑙� `data/business.json` 鐨� `pendingConfirm`锛堥〉闈€�屽緟纭浜嬮」銆嶆爮锛夛紝瑕佺偣锛氫粨搴撶被鍨�/鍚堟牸浠撴敼閫犳湭钀藉湴銆丠RM 浜ゆ帴 expandUserIds 灏氭湭琚笟鍔℃煡璇㈡帴鍏ャ�佸洖娆句笌鏀舵鍗曟湭璧� BPM銆佽储鍔″嬀绋藉洖鍐欐柟娉曚负绌恒�丯CR 澶勭疆涓嶅洖鍐欐簮鍗曘�佽储鍔℃姤閿�鐨� BPM 娴佺▼瀹氫箟鏈彂甯冧笌鏅�氳鑹叉湭鎺堣彍鍗曘�佷細鍛樼鐞嗙殑 BPM 娴佺▼鏈彂甯冧笖缂哄鎵硅嚜瀹氫箟琛ㄥ崟椤点�佽嚜鍔ㄥ缓璐﹀彿鐢ㄦ墜鏈哄彿浣滃垵濮嬪瘑鐮佸瓨鍦ㄥ急鍙d护椋庨櫓銆佽棰樼鐞嗙殑璇勫垎鏉冮噸涓庨�氳繃闃堝�间负鍗犱綅瑙勫垯寰呭浼氱‘璁ゃ�佽棰樼粡璐规嫧浠樿櫧宸插鎺ヨ储鍔℃姤閿�浣嗗彴璐︿笌鎶ラ攢鍗曚负杞叧鑱旓紙璐㈠姟渚у垹鍗曚細鐣欐偓绌� `reimbursement_id`锛夈�佹柊寤虹殑璐㈠姟鎶ラ攢瀹℃壒娴佺▼鑺傜偣瀹℃壒浜洪渶涓婄嚎鍓嶅湪 BPM 璁捐鍣ㄦ寜瀹為檯缁勭粐璋冩暣銆佺敵鎶ュ崟涓庝細鍛樹负杞叧鑱斿彲鑳芥偓绌虹瓑銆�
+瑙� `data/business.json` 鐨� `pendingConfirm`锛堥〉闈€�屽緟纭浜嬮」銆嶆爮锛夛紝瑕佺偣锛氫粨搴撶被鍨�/鍚堟牸浠撴敼閫犳湭钀藉湴銆丠RM 浜ゆ帴 expandUserIds 灏氭湭琚笟鍔℃煡璇㈡帴鍏ャ�佸洖娆句笌鏀舵鍗曟湭璧� BPM銆佽储鍔″嬀绋藉洖鍐欐柟娉曚负绌恒�丯CR 澶勭疆涓嶅洖鍐欐簮鍗曘�佽储鍔℃姤閿�鐨� BPM 娴佺▼瀹氫箟鏈彂甯冧笌鏅�氳鑹叉湭鎺堣彍鍗曘�佷細鍛樼鐞嗙殑 BPM 娴佺▼鏈彂甯冧笖缂哄鎵硅嚜瀹氫箟琛ㄥ崟椤点�佽嚜鍔ㄥ缓璐﹀彿鐢ㄦ墜鏈哄彿浣滃垵濮嬪瘑鐮佸瓨鍦ㄥ急鍙d护椋庨櫓銆佽棰樼鐞嗙殑璇勫垎鏉冮噸涓庨�氳繃闃堝�间负鍗犱綅瑙勫垯寰呭浼氱‘璁ゃ�佽棰樼粡璐规嫧浠樿櫧宸插鎺ヨ储鍔℃姤閿�浣嗗彴璐︿笌鎶ラ攢鍗曚负杞叧鑱旓紙璐㈠姟渚у垹鍗曚細鐣欐偓绌� `reimbursement_id`锛夈�佹柊寤虹殑璐㈠姟鎶ラ攢瀹℃壒娴佺▼鑺傜偣瀹℃壒浜洪渶涓婄嚎鍓嶅湪 BPM 璁捐鍣ㄦ寜瀹為檯缁勭粐璋冩暣銆佺敵鎶ュ崟涓庝細鍛樹负杞叧鑱斿彲鑳芥偓绌猴紱妗f绠$悊鐨� BPM 閮ㄧ讲浜х墿涓烘墜宸ュ鍑洪渶涓ュ畧銆屽厛閮ㄧ讲鍐嶅鍑哄啀鍚堝苟銆嶉『搴忋�佽彍鍗曚笌鏉冮檺浠呭湪鍚勫綊妗h剼鏈腑鏅�氳鑹叉湭鎺堟潈銆佹。妗堜笌鏉ユ簮鍗曟嵁锛堣棰樼敵鎶ヤ功/浼氬憳/鎶ラ攢鍗曪級涓鸿蒋鍏宠仈鏉ユ簮鍒犲崟鍚庝細鐣欐偓绌哄揩鐓с�併�屾枃涔︽。妗堛�嶇瓑鏃犳潵婧愭ā鍧椾粎鎵嬪伐褰曞叆涓斿悎鍚屾。妗堟湭绾冲叆鑷姩褰掓。銆侀�炬湡浠呮煡璇㈡椂瀹炴椂璁$畻涓嶅缓瀹氭椂浠诲姟涓嶅彂绔欏唴淇°�併�屽悓涓�妗f浠呬竴鏉℃湭褰掕繕鍊熼槄鍗曘�嶇敱搴旂敤灞傛牎楠� + 鏉′欢鏇存柊鍏卞悓淇濊瘉銆佺粺璁′负 `GROUP BY` 鑱氬悎杩囦竾鍚庨渶鏀归�犮�佷笁鏂规潵婧愯〃鍚勫姞鍙┖鍒� `archive_document_id` 灞炶法妯″潡鏀硅〃闇�纭鍙樻洿绐楀彛绛夈��
diff --git a/docs/project-business/data/business.json b/docs/project-business/data/business.json
index 5b475da..0227475 100644
--- a/docs/project-business/data/business.json
+++ b/docs/project-business/data/business.json
@@ -9,6 +9,7 @@
       "FIN锛堝彂绁ㄦ姤閿�锛岀嫭绔嬫ā鍧楋級",
       "UMS锛堝浼氫細鍛橈紝鐙珛妯″潡锛�",
       "RES锛堢鐮旇棰橈紝鐙珛妯″潡锛�",
+      "ARC锛堟。妗堢鐞嗭紝鐙珛妯″潡锛�",
       "CRM锛堝鎴峰叧绯伙級",
       "SRM锛堜緵搴斿晢鍏崇郴锛�",
       "HRM锛堜汉鍔涜祫婧愶級",
@@ -20,14 +21,14 @@
     "businessPositioning": "璁╁伐鍘傜殑璁㈠崟銆佺墿鏂欍�佺敓浜с�佸簱瀛樸�佽川閲忋�佷汉鍛樸�佽祫閲戝湪涓�涓郴缁熷唴闂幆娴佽浆锛岀鐞嗗眰鍙�氳繃 BI 澶у睆鎺屾彙鍏ㄥ眬銆�",
     "coreChain": "CRM 鍟嗘満/鍚堝悓 鈫� ERP 閿�鍞鍗� 鈫� MES 涓荤敓浜ц鍒�/宸ュ崟/鎶ュ伐 鈫� MES 璐ㄦ涓庝粨鍌� 鈫� 閿�鍞嚭搴撳彂璐� 鈫� 寮�绁ㄥ洖娆� 鈫� 鍞悗闂幆",
     "techBase": "Spring Boot + MyBatis + Flowable + Redis + Quartz/RocketMQ/Kafka + Milvus 鍚戦噺搴� + 閫氫箟鍗冮棶",
-    "database": "MySQL 8.4锛岃繍琛屽簱 mom-jssm 鍏� 427 寮犺〃锛堝惈 system_*銆乥pm_*銆乤ct_* 搴曞骇琛ㄤ笌 mes_*/erp_*/crm_*/srm_*/hrm_*/mdm_*/ai_*/finance_*/ums_*/research_* 涓氬姟琛級锛屽绉熸埛宸插叧闂�",
+    "database": "MySQL 8.4锛岃繍琛屽簱 mom-jssm 鍏� 430 寮犺〃锛堝惈 system_*銆乥pm_*銆乤ct_* 搴曞骇琛ㄤ笌 mes_*/erp_*/crm_*/srm_*/hrm_*/mdm_*/ai_*/finance_*/ums_*/research_*/archive_* 涓氬姟琛級锛屽绉熸埛宸插叧闂�",
     "frontend": "mom-pro2-before锛圴ue3 绠$悊鍚庡彴锛屽悓浠撳簱瀛樻斁锛屽彧璇诲弬鑰冿級"
   },
   "stats": {
-    "businessModules": 16,
-    "coreObjects": 56,
-    "documentFlows": 9,
-    "approvalListeners": 15,
+    "businessModules": 17,
+    "coreObjects": 59,
+    "documentFlows": 10,
+    "approvalListeners": 24,
     "aiCapabilities": 8,
     "wmBillTypes": 15
   },
@@ -158,8 +159,16 @@
     "璇鹃绠$悊锛氱粡璐规嫧浠樺彴璐︾殑銆屽凡鎷ㄤ粯(20)銆嶇瓑浠蜂簬鎶ラ攢鍗曘�屽凡閫氳繃(20)銆嶏紝涓嶅惈鍑虹撼瀹為檯浠樻鍔ㄤ綔锛涜嫢鏃ュ悗闇�瑕佺嫭绔嬬殑銆屽凡浠樻銆嶇姸鎬侊紝闇�鍙﹀鐘舵�佷笌瀹℃壒鑺傜偣銆愪簩鏈熷彲鎵╁睍銆�",
     "璇鹃绠$悊锛氱敵鎶ュ崟涓� ums_member 鏄蒋鍏宠仈锛堟棤澶栭敭锛夛紝浼氬憳琚垹闄ゅ悗鐢虫姤鍗曚細鐣欎笅鎮┖ memberId锛涙垚鍛樺垪琛ㄩ渶瀹归敊灞曠ず銆屼細鍛樺凡鍒犻櫎銆嶃�愬緟纭鏄惁鍔犲閿垨鍒犻櫎淇濇姢銆�",
     "璇鹃绠$悊锛欱PM 娴佺▼ research_topic_approve 涓夎妭鐐归粯璁ゅ鎵逛汉涓恒�岃鑹�=瓒呯骇绠$悊鍛�(1) + 渚濇瀹℃壒銆嶏紝璇� dev 搴撹秴绾х鐞嗗憳瑙掕壊涓嬫湁 4 涓敤鎴凤紙admin/寮犲/椹姵/椹礊锛夛紝姣忎釜鑺傜偣闇� 4 浜轰細绛炬墠鎺ㄨ繘锛涘叏鏂板畨瑁呭簱璇ヨ鑹蹭粎 admin 涓�浜恒�佹祦绋嬪彲寮�绠卞嵆鐢ㄣ�俤ev 搴撻渶鍑忓皯瓒呯骇绠$悊鍛樼敤鎴锋垨鏀瑰湪 BPM 璁捐鍣ㄤ腑涓烘瘡鑺傜偣鎸囧畾瀹℃壒浜恒�愮幆澧冮厤缃」锛岄潪浠g爜缂洪櫡銆�",
-    "璇鹃绠$悊锛氱珛椤归�氱煡澶嶇敤 system_notice 绯荤粺鍏憡锛屼笉鏂板 system_notify_template銆佷笉鍙戠珯鍐呬俊锛涘闇�鐭俊/绔欏唴淇″畾鍚戦�氱煡闇�鍙﹁閰嶇疆銆愬緟纭閫氱煡娓犻亾銆�"
+    "璇鹃绠$悊锛氱珛椤归�氱煡澶嶇敤 system_notice 绯荤粺鍏憡锛屼笉鏂板 system_notify_template銆佷笉鍙戠珯鍐呬俊锛涘闇�鐭俊/绔欏唴淇″畾鍚戦�氱煡闇�鍙﹁閰嶇疆銆愬緟纭閫氱煡娓犻亾銆�",
+    "妗f绠$悊锛氭。妗堝�熼槄 BPM 娴佺▼ archive_borrow_approve 涓烘墜宸ュ鍑洪儴缃蹭骇鐗╋紙_archive_bpm_export.sql 鍐� act_*/bpm 琛ㄧ殑 UUID 涓庢椂闂存埑鍙兘鍦ㄩ儴缃叉椂鐢熸垚锛屾棤娉曢鍐欙級锛屽繀椤诲厛鍦� BPM 妯″瀷閮ㄧ讲鍐嶅鍑哄啀鍚堝苟杩� config_export_all 闃舵涓�锛涢『搴忛敊浼氬鑷存柊搴撳垵濮嬪寲鏃惰娴佺▼缂哄け銆愰儴缃查『搴忕‖绾︽潫锛屽凡鍦ㄦ枃浠跺ご涓� README 鍙岄噸鏍囨敞銆�",
+    "妗f绠$悊锛氳彍鍗� 1075600~1075699 涓庡悇 archive:* 鏉冮檺鐐逛粎鍦ㄥ綊妗h剼鏈腑锛屾櫘閫氳鑹叉湭閰� system_role_menu锛岄潪瓒呯鐧诲綍鐪嬩笉鍒般�屾。妗堢鐞嗐�嶇洰褰曘�愬緟纭鏄惁琛ユ巿鏉冿紝涓庤储鍔℃姤閿�/浼氬憳绠$悊鍚岀被闂銆�",
+    "妗f绠$悊锛氭。妗堜笌鏉ユ簮鍗曟嵁锛堣棰樼敵鎶ヤ功/浼氬憳/鎶ラ攢鍗曪級涓鸿蒋鍏宠仈锛屾潵婧愬崟鎹鍒犻櫎鍚庢。妗堢殑 source_id/source_no 浼氭垚涓烘偓绌哄揩鐓э紱妗f鏈韩涓嶉殢鏉ユ簮鍗曟嵁鍒犻櫎鑰屽垹闄ゃ�愬緟纭鏄惁闇�瑕佸垹闄や繚鎶ゆ垨澶栭敭銆�",
+    "妗f绠$悊锛氶渶姹備腑鐨勩�屽浼氭枃浠躲�佷細璁邯瑕併�佽皟鐮旀姤鍛娿�佸鏈鏂囥�佸悎鍚屽崗璁�嶇瓑鐢靛瓙鏂囨。鐢便�屾枃涔︽。妗堛�嶅垎绫绘壙杞斤紝绯荤粺鍐呮棤瀵瑰簲鏉ユ簮妯″潡锛屼粎鏀寔鎵嬪伐褰曞叆骞舵寕鐢靛瓙闄勪欢锛涘悎鍚屾。妗堟湭绾冲叆鑷姩褰掓。锛堢敤鎴锋槑纭帓闄わ級銆愬凡纭鐨勮竟鐣屻��",
+    "妗f绠$悊锛氶�炬湡鎻愰啋鎸夌敤鎴峰喅绛栦粎鏌ヨ鏃跺疄鏃惰绠楋紙涓嶅缓 infra_job銆佷笉鍙戠珯鍐呬俊锛夛紝鍊熼槄鍒楄〃銆岄�炬湡銆嶅垪涓� /overdue-page 鐙珛鍏ュ彛鍛堢幇锛涜嫢鏃ュ悗闇�瑕佸埌鏈熶富鍔ㄦ帹閫侊紝闇�鍙﹀姞瀹氭椂浠诲姟涓庨�氱煡娓犻亾銆愮敤鎴峰凡纭鐨勭畝鍖栵紝浜屾湡鍙墿灞曘��",
+    "妗f绠$悊锛氥�屽悓涓�妗f浠呭厑璁镐竴鏉℃湭褰掕繕鍊熼槄鍗曘�嶇敱搴旂敤灞� submit 鏍¢獙 + 瀹℃壒閫氳繃鏃舵潯浠舵洿鏂帮紙UPDATE ... WHERE status=10锛夊叡鍚屼繚璇侊紝MySQL 鏃犳硶瀵广�岄儴鍒嗙姸鎬佸敮涓�銆嶅缓绾︽潫锛涙牎楠屼笌鏇存柊涔嬮棿鐨勭悊璁虹獥鍙e凡鏀舵暃涓哄彲鎰熺煡鐨勫啿绐佹姤閿欙紙妗f宸茶鍗犵敤锛夎�岄潪鑴忔暟鎹�愬凡鎺ュ彈鐨勯闄┿��",
+    "妗f绠$悊锛氭。妗堢粺璁℃寜鍒嗙被/瀵嗙骇/杞戒綋涓夌粍 GROUP BY 鑱氬悎锛堟棤 N+1锛夛紝褰撳墠閲忕骇鍙帴鍙楋紱妗f杩囦竾鍚庨渶鏀逛负缂撳瓨鎴栫墿鍖栫粺璁¤〃銆愭湰鏈熶笉鍋氥��",
+    "妗f绠$悊锛氳法妯″潡鏀硅〃鈥斺�攔esearch_application / ums_member / finance_reimbursement 鍚勬柊澧炲彲绌哄垪 archive_document_id锛坅rchive_module_migration.sql 鐢� information_schema 瀹堝崼淇濊瘉骞傜瓑锛夛紝闇�涓庝笁鏂规ā鍧楃‘璁ゅ彉鏇寸獥鍙c�愯法妯″潡鏀硅〃锛屾棤鐮村潖鎬с��"
   ],
   "generatedAt": "2026-09-29",
-  "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛夛紱2026-09-28 澧為噺琛ュ厖 yudao-module-finance 鐙珛璐㈠姟鎶ラ攢妯″潡锛堟姤閿�鍗� + 鏄庣粏 + 鍙戠エ闄勪欢 + BPM 瀹℃壒 + 褰掓。锛変笌 yudao-module-ums 鐙珛浼氬憳绠$悊妯″潡锛堝叆浼氱敵璇� + BPM 涓ょ骇瀹℃壒 + 瀹℃壒閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 + 浼氬憳鍒楄〃/閫氳褰曪級锛�2026-09-28 澧為噺锛欱PM 娴佺▼瀹氫箟 ums_membership_approve锛堝叆浼氬鎵癸級宸插湪 mom-jssm 閮ㄧ讲骞跺苟鍏� config_export_all 闃舵涓�锛堝垎绫� ums_membership_approve锛岀涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁紝涓よ妭鐐瑰鎵逛汉鍧囦负銆岃鑹层�嶇瓥鐣ャ�佽鑹�=瓒呯骇绠$悊鍛�(1) 鍏滃簳锛岃〃鍗曠被鍨�=鑷畾涔夎〃鍗曪紝鏌ョ湅璺緞 /ums/application/detail/approve/index.vue锛夛紱鍚屾椂淇 mom-jssm 鐢� CREATE TABLE ... LIKE 鍏嬮殕瀵艰嚧鐨� 47 涓寚鍚� ruoyi-vue-pro 鐨� act_*/flw_* 璺ㄥ簱澶栭敭锛堥噸寤轰负鎸囧悜 mom-jssm 鑷韩锛屽鍎胯棰勬涓� 0锛夛紱2026-09-28 澧為噺锛氭柊澧� yudao-module-research 鐙珛绉戠爺璇鹃妯″潡涓�鏈燂紙璇鹃鎸囧崡鍙戝竷 + 鍦ㄧ嚎鐢虫姤 + 涓撳璇勫鏄庣粏 + BPM 涓夌骇绔嬮」瀹℃壒 + 绔嬮」閫氱煡鍏憡 + 缁忚垂鎷ㄤ粯璁板綍锛�4 寮� research_* 琛� / 5 涓瓧鍏� / bpm_category id=8002 / 娴佺▼ research_topic_approve / 鑿滃崟 1075510~1075553锛夛紝骞跺苟鍏� config_export_all_20260928 闃舵涓�锛涚敵鎶ヤ汉鍙� ums_member锛堣蒋鍏宠仈锛夈�佺珛椤归�氱煡澶嶇敤 system_notice 鍏憡銆佹嫧娆惧嚟璇佽蛋 system 闄勪欢涓績 recordType=research_fund_record锛�2026-09-29 澧為噺锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� yudao-module-finance-api锛團inanceReimbursementApi锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ鍥涙柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤闇� Feign锛夛紝璇鹃渚х櫥璁版嫧娆炬椂 1:1 鑷姩鐢熸垚 finance_reimbursement锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬 5銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽鏄�=銆岃棰樸�斿悕銆曠 N 鏈熸嫧娆俱�嶏級骞剁珛鍗虫彁浜� BPM锛屽洖鍐� reimbursement_id/reimbursement_no銆佸彴璐︾疆銆屾姤閿�瀹℃壒涓�(15)銆嶏紱鍑瘉鏀逛负鐧昏鏃跺繀濉苟鍙岀粦锛坮esearch_fund_record + finance_reimbursement锛夛紱鏂板 ResearchFundStatusListener锛堢 15 涓笟鍔$洃鍚櫒锛屼笌 finance 鑷繁鐨� FinanceReimbursementStatusListener 璁㈤槄鍚屼竴娴佺▼ key 骞惰瑙﹀彂锛夋寜瀹℃壒缁撴灉鍥炲啓鍙拌处锛氶�氳繃鈫掑凡鎷ㄤ粯(20)銆侀┏鍥炩啋宸查┏鍥�(30)+椹冲洖鍘熷洜/鏃堕棿銆佸彇娑堟祦绋嬧啋閫�鍥炲緟鎷ㄤ粯(0)鍙敼鍚庡彲閲嶆柊鍙戣捣锛堝彂璧蜂汉鎾ゅ洖鍙妸瀹炰緥閫�鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屼笉瑙﹀彂鍥炲啓锛屽彴璐︿繚鎸� 15锛夛紱鏂伴�� 2 鑺傜偣 BPMN docs/sql/finance_reimbursement_approve.bpmn锛堣储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛宑ategory id=216 宸插瓨鍦級锛�2026-09-29 宸插湪 mom-jssm 閮ㄧ讲涓虹増鏈� 1锛坒orm_type=20銆佽嚜瀹氫箟琛ㄥ崟鍒涘缓璺緞 /finance/reimbursement/index銆佹煡鐪嬭矾寰� /finance/reimbursement/detail/approve/index.vue锛夊苟骞跺叆 config_export_all_20260929 闃舵涓�锛屼袱绾у鎵瑰叏閫氳繃/椹冲洖/鍙栨秷涓夋潯鍥炲啓閾捐矾鍧囧凡绔埌绔獙璇�"
+  "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛夛紱2026-09-28 澧為噺琛ュ厖 yudao-module-finance 鐙珛璐㈠姟鎶ラ攢妯″潡锛堟姤閿�鍗� + 鏄庣粏 + 鍙戠エ闄勪欢 + BPM 瀹℃壒 + 褰掓。锛変笌 yudao-module-ums 鐙珛浼氬憳绠$悊妯″潡锛堝叆浼氱敵璇� + BPM 涓ょ骇瀹℃壒 + 瀹℃壒閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 + 浼氬憳鍒楄〃/閫氳褰曪級锛�2026-09-28 澧為噺锛欱PM 娴佺▼瀹氫箟 ums_membership_approve锛堝叆浼氬鎵癸級宸插湪 mom-jssm 閮ㄧ讲骞跺苟鍏� config_export_all 闃舵涓�锛堝垎绫� ums_membership_approve锛岀涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁紝涓よ妭鐐瑰鎵逛汉鍧囦负銆岃鑹层�嶇瓥鐣ャ�佽鑹�=瓒呯骇绠$悊鍛�(1) 鍏滃簳锛岃〃鍗曠被鍨�=鑷畾涔夎〃鍗曪紝鏌ョ湅璺緞 /ums/application/detail/approve/index.vue锛夛紱鍚屾椂淇 mom-jssm 鐢� CREATE TABLE ... LIKE 鍏嬮殕瀵艰嚧鐨� 47 涓寚鍚� ruoyi-vue-pro 鐨� act_*/flw_* 璺ㄥ簱澶栭敭锛堥噸寤轰负鎸囧悜 mom-jssm 鑷韩锛屽鍎胯棰勬涓� 0锛夛紱2026-09-28 澧為噺锛氭柊澧� yudao-module-research 鐙珛绉戠爺璇鹃妯″潡涓�鏈燂紙璇鹃鎸囧崡鍙戝竷 + 鍦ㄧ嚎鐢虫姤 + 涓撳璇勫鏄庣粏 + BPM 涓夌骇绔嬮」瀹℃壒 + 绔嬮」閫氱煡鍏憡 + 缁忚垂鎷ㄤ粯璁板綍锛�4 寮� research_* 琛� / 5 涓瓧鍏� / bpm_category id=8002 / 娴佺▼ research_topic_approve / 鑿滃崟 1075510~1075553锛夛紝骞跺苟鍏� config_export_all_20260928 闃舵涓�锛涚敵鎶ヤ汉鍙� ums_member锛堣蒋鍏宠仈锛夈�佺珛椤归�氱煡澶嶇敤 system_notice 鍏憡銆佹嫧娆惧嚟璇佽蛋 system 闄勪欢涓績 recordType=research_fund_record锛�2026-09-29 澧為噺锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� yudao-module-finance-api锛團inanceReimbursementApi锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ鍥涙柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤闇� Feign锛夛紝璇鹃渚х櫥璁版嫧娆炬椂 1:1 鑷姩鐢熸垚 finance_reimbursement锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬 5銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽鏄�=銆岃棰樸�斿悕銆曠 N 鏈熸嫧娆俱�嶏級骞剁珛鍗虫彁浜� BPM锛屽洖鍐� reimbursement_id/reimbursement_no銆佸彴璐︾疆銆屾姤閿�瀹℃壒涓�(15)銆嶏紱鍑瘉鏀逛负鐧昏鏃跺繀濉苟鍙岀粦锛坮esearch_fund_record + finance_reimbursement锛夛紱鏂板 ResearchFundStatusListener锛堢 15 涓笟鍔$洃鍚櫒锛屼笌 finance 鑷繁鐨� FinanceReimbursementStatusListener 璁㈤槄鍚屼竴娴佺▼ key 骞惰瑙﹀彂锛夋寜瀹℃壒缁撴灉鍥炲啓鍙拌处锛氶�氳繃鈫掑凡鎷ㄤ粯(20)銆侀┏鍥炩啋宸查┏鍥�(30)+椹冲洖鍘熷洜/鏃堕棿銆佸彇娑堟祦绋嬧啋閫�鍥炲緟鎷ㄤ粯(0)鍙敼鍚庡彲閲嶆柊鍙戣捣锛堝彂璧蜂汉鎾ゅ洖鍙妸瀹炰緥閫�鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屼笉瑙﹀彂鍥炲啓锛屽彴璐︿繚鎸� 15锛夛紱鏂伴�� 2 鑺傜偣 BPMN docs/sql/finance_reimbursement_approve.bpmn锛堣储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛宑ategory id=216 宸插瓨鍦級锛�2026-09-29 宸插湪 mom-jssm 閮ㄧ讲涓虹増鏈� 1锛坒orm_type=20銆佽嚜瀹氫箟琛ㄥ崟鍒涘缓璺緞 /finance/reimbursement/index銆佹煡鐪嬭矾寰� /finance/reimbursement/detail/approve/index.vue锛夊苟骞跺叆 config_export_all_20260929 闃舵涓�锛屼袱绾у鎵瑰叏閫氳繃/椹冲洖/鍙栨秷涓夋潯鍥炲啓閾捐矾鍧囧凡绔埌绔獙璇侊紱2026-09-29 澧為噺锛氭柊澧� yudao-module-archive 鐙珛妗f绠$悊妯″潡 + yudao-module-archive-api锛圓rchiveDocumentApi锛歛rchiveBySource 鎸� sourceType+sourceId 骞傜瓑褰掓。 / isArchived / getBySource 涓夋柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤 Feign锛夛紝瑕嗙洊涔︽灦鍒嗙被锛坅rchive_category 鏍戝舰銆乧ode 鍞竴銆乨efaultSecretLevel 榛樿瀵嗙骇銆�6 鏉″垵濮嬪垎绫伙細浼氬憳/璇鹃/浼氳/璐㈠姟/鏂囦功/鍏氬缓锛岃储鍔¢粯璁ゅ瘑绾�=淇濆瘑 3锛夈�佹。妗堢鐞嗭紙archive_document锛欴A+yyyyMMdd+6 浣嶆祦姘寸紪鍙枫�佸瘑绾т笁妗� 1 鍏紑 2 鍐呴儴 3 淇濆瘑銆佽浇浣撲笁鍨� 1 鐢靛瓙 2 瀹炰綋 3 鐢靛瓙+瀹炰綋銆佸疄浣撲綅缃洓瀛楁 shelfNo/layerNo/columnNo/boxNo + storePlace銆佹潵婧愬洓绫� sourceType 1 鎵嬪伐 2 璇鹃 3 浼氬憳 4 璐㈠姟甯� sourceNo/sourceId/sourceTitle 鍐椾綑蹇収銆佺姸鎬� 10 鍦ㄥ簱 20 鍊熷嚭涓�佺數瀛愰檮浠惰蛋 system 闄勪欢涓績 recordType=archive_document銆乤rchiveBySource 骞傜瓑鐭矾 + 涓夋柟琛� archive_document_id 鍥炲啓浣滀负宸插綊妗g‖鏍囪锛岄噸澶嶅綊妗g敱鏉ユ簮渚ч敊璇爜鎷︽埅涓� archive 渚� DOCUMENT_DUPLICATE_SOURCE 鍏滃簳锛夈�佸�熼槄鐧昏涓庡鎵癸紙archive_borrow锛欽Y+鍚岀骇娴佹按缂栧彿銆佸�熼槄浜轰俊鎭�/鍊熼槄鐩殑/褰掕繕鏈熼檺銆佺姸鎬� 0 鑽夌 15 瀹℃壒涓� 20 鍊熷嚭涓� 30 宸插綊杩� 35 宸查┏鍥烇紝浠� 0/35 鍙敼鍙噸鎻愩�佷粎 0 鍙垹銆佷粎 20 鍙櫥璁板綊杩橈紱submit 鍓嶆牎楠屽悓妗f涓嶅緱宸叉湁 15/20 鍦ㄩ�斿�熼槄锛屽厛瑙f瀽娴佺▼鍐嶅缓鍗曟潨缁濆鍎胯崏绋匡紱BPM 娴佺▼ archive_borrow_approve 涓ょ骇锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛涚洃鍚櫒 ArchiveBorrowStatusListener 鎸� businessKey 鍥炲啓 20+approveTime / 35+椹冲洖鍘熷洜鏃堕棿 / 閫�鍥� 0锛屽鎵归�氳繃鏃舵潯浠舵洿鏂版。妗� SET status=20 WHERE status=10锛�0 琛屽垯鎶ユ。妗堝凡琚崰鐢ㄥ苟鍥炴粴锛夈�佸綊杩樼櫥璁帮紙鏉′欢鏇存柊 20鈫�30 + returnTime/褰掕繕纭浜猴紝鍐嶆妸妗f鏉′欢鏇存柊鍥� 10锛屽舰鎴愰棴鐜級銆侀�炬湡瀹炴椂璁$畻锛坥verdue=status==20 涓� returnDeadline<浠婂ぉ锛屼笉寤� infra_job 涓嶅彂绔欏唴淇★紝鍒楄〃銆岄�炬湡銆嶅垪 + /archive/borrow/overdue-page 鐙珛鍏ュ彛锛夈�佹。妗堢粺璁★紙4 鍗$墖锛氭�绘暟/鍦ㄥ簱/鍊熷嚭/閫炬湡 + 鍒嗙被/瀵嗙骇/杞戒綋涓夌粍 GROUP BY 鑱氬悎锛屾棤 N+1锛夛紱鏁忔劅妗f鐢ㄥ瘑绾у瓧娈� + 鐙珛鏉冮檺鐐� archive:document:sensitive锛�/get 瓒婃潈鎶� DOCUMENT_SENSITIVE_NO_PERMISSION銆�/page 涓� /export-excel 寮哄埗杩囨护 secret_level<>3锛岀粺涓�璧� applySecretLevelFilter / validateSecretLevelVisible 涓ょ鏈夋柟娉曪紱鏂板 3 寮犺〃 archive_category/archive_document/archive_borrow銆�6 涓瓧鍏革紙82000~82005锛夈�乥pm_category id=8003 + 鎵嬪啓 docs/sql/archive_borrow_approve.bpmn锛坈ategory=archive_borrow_approve銆乫orm_type=20銆佸垱寤鸿矾寰� /archive/borrow/index銆佹煡鐪嬭矾寰� /archive/borrow/detail/approve/index.vue锛夊凡鍦� mom-jssm 閮ㄧ讲涓虹増鏈� 1銆佽彍鍗� 1075600~1075699锛涗笁鏂瑰綊妗h仈鍔ㄤ负鍒楄〃椤垫墜鍔ㄣ�屽綊妗c�嶆寜閽紙闈炰簨浠堕┍鍔紝褰掓。涓嶅洖鍐欐潵婧愪笟鍔$姸鎬侊級锛氳棰� research_application status=20 宸茬珛椤� 鈫� sourceType=2 瀵嗙骇 2 鍐呴儴 sourceNo=绔嬮」缂栧彿锛涗細鍛� ums_member status=1 姝e父 鈫� sourceType=3锛涜储鍔� finance_reimbursement status=20 鈫� sourceType=4 瀵嗙骇 3 淇濆瘑锛屼笌鏃㈡湁 20鈫�40 + archiveTime 鍚屼簨鍔″彔鍔狅紱涓夊紶鏉ユ簮琛ㄥ悇鏂板鍙┖鍒� archive_document_id锛坅rchive_module_migration.sql 鐢� information_schema 瀹堝崼淇濊瘉骞傜瓑锛夈�傚叏搴撹〃鏁� 427鈫�430锛涗笟鍔$姸鎬佺洃鍚櫒瀹為檯璁℃暟淇涓� 24 涓� *StatusListener锛�14 涓户鎵� BpmProcessInstanceStatusEventListener锛夈�傛湰妯″潡涓嶅弽鍚戜緷璧� ums/finance/research锛屼粎鎻愪緵 -api 瀛愭ā鍧楃敱涓夋柟鎵嬪姩璋冪敤锛涗緷璧栨柟鍚� research/ums/finance 鈫� archive-api锛屾棤鐜�傛湰娆″悓姝ユ洿鏂扮殑涓氬姟鍙鍖栦骇鐗╋細鏂板 mermaid/15-archive-flow.mmd锛屽閲忎慨璁� 01-business-mindmap / 08-module-relation / 09-data-flow / 10-business-object锛屼互鍙� data/modules.json锛堟柊澧� arc 妯″潡銆乥pm 鐩戝惉鍣ㄨ鏁� 15鈫�24锛夈�乷bjects.json锛堟柊澧炴。妗堝垎绫�/妗f/鍊熼槄鍗� 3 瀵硅薄 + 璇鹃鐢虫姤涔�/浼氬憳/鎶ラ攢鍗曞悇琛� archive_document_id锛夈�乫lows.json锛堟柊澧� archive 娴佺▼ 9 姝ワ級銆乺oles.json锛堟柊澧炴。妗堢鐞嗗憳/鍊熼槄浜�/鍊熼槄瀹℃壒浜�/褰掓。缁忓姙浜� 4 瑙掕壊锛夈�乥usiness.json"
 }
diff --git a/docs/project-business/data/flows.json b/docs/project-business/data/flows.json
index 12c1369..f3ce9c9 100644
--- a/docs/project-business/data/flows.json
+++ b/docs/project-business/data/flows.json
@@ -82,7 +82,19 @@
        {"stage": "涓撳璇勫", "action": "鐢虫姤鍗曞浜庡鎵逛腑(15)鏃跺綍鍏ヤ笓瀹惰瘎鍒嗘槑缁嗭紙涓�浣嶄笓瀹朵竴琛岋細濮撳悕/鍗曚綅/鑱岀О + 閫夐浠峰��0.3/鐮旂┒鏂规0.3/鍥㈤槦鍩虹0.2/棰勬湡鎴愭灉0.2 鍥涢」鍒嗗�� + 缁撹 + 鎰忚锛夛紱鍚庣姣忔澧炲垹鏀瑰悗閲嶇畻 compositeScore 鍔犳潈鍚堣銆佹寜鍔犳潈鍒嗛檷搴忛噸鎺� ranking锛屽苟鍥炲啓涓诲崟 reviewAvgScore锛堝叏閮ㄤ笓瀹跺潎鍒嗭級涓� reviewPass锛堝潎鍒嗚揪鏍囦笖澶氭暟缁撹涓烘帹鑽愮珛椤癸級锛涙槑缁嗗叏閮ㄥ垹闄ゆ椂姹囨�诲�兼竻绌轰负鏈眹鎬伙紱鍥涢」鍒嗗�煎潎鍦� 0~100 涔嬪鏃舵彁绀烘寚鍑哄叿浣撶淮搴︿笌瀹為檯鍊�", "roles": ["璇勫涓撳", "瀛︿細绉樹功澶�", "璇鹃绠$悊鍛�"]},
        {"stage": "绔嬮」瀹℃壒", "action": "BPM 娴佺▼ research_topic_approve 椤哄簭璧颁笁鑺傜偣锛氱涔﹀褰㈠紡瀹℃煡 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒銆傚鎵规柟娉曚笌瀹℃壒浜哄湪娴佺▼瀹氫箟鍐呴厤缃紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪 BPM 娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣锛涘鎵逛腑蹇冨唴鐨勮嚜瀹氫箟琛ㄥ崟鍙鍥炴樉鐢虫姤鍗� + 璇勫鏄庣粏 + 鎷ㄤ粯璁板綍銆傞�氳繃鈫�20 宸茬珛椤广�侀┏鍥炩啋35 宸查┏鍥炪�佸彇娑堚啋閫�鍥� 0 鑽夌", "roles": ["瀛︿細绉樹功澶勶紙褰㈠紡瀹℃煡锛�", "璇勫涓撳锛堣瘎瀹¤妭鐐癸級", "瀛︿細鐞嗕簨浼氾紙绔嬮」瀹℃壒锛�"]},
        {"stage": "绔嬮」涓庨�氱煡", "action": "鐩戝惉鍣� ResearchApplicationStatusListener 鍏堝洖鍐欏鎵圭姸鎬侊紝瀹℃壒閫氳繃鍚庡啀璋� approveApplication锛氱敓鎴愮珛椤圭紪鍙� LX+yyyyMMdd+6浣嶆祦姘� 涓� approveTime锛堝凡鏈夌紪鍙峰垯骞傜瓑璺宠繃锛夈�傜偣銆屽彂甯冪珛椤归�氱煡銆嶇敓鎴� system_notice 鍏憡锛堟爣棰樸�庡叧浜庡叕甯冪珛椤硅棰樼殑閫氱煡銆忥紝姝f枃鍚棰樺悕/绔嬮」缂栧彿/绫诲埆/鐢虫姤浜�/鍗曚綅/璧勫姪閲戦锛夛紝鍐欏洖 noticeId 闃查噸澶嶁�斺�旈噸澶嶇偣鍑绘寜宸插彂甯冩嫤鎴苟鍛婄煡涓婃鍙戝竷鏃堕棿", "roles": ["璇鹃绠$悊鍛�", "瀛︿細绉樹功澶�"]},
-       {"stage": "缁忚垂鎷ㄤ粯", "action": "浠呫�屽凡绔嬮」(20)銆嶇殑鐢虫姤鍗曞彲鐧昏鎷ㄦ璁板綍锛堟壒娆″悕绉�/鎷ㄤ粯閲戦/鎷ㄤ粯鏃ユ湡/鏀舵鍗曚綅/澶囨敞/鍑瘉闄勪欢锛夛紝鍑瘉蹇呭~銆傜櫥璁版椂涓�鏉¢緳瀹屾垚锛氣憼 璇鹃渚ц惤 research_fund_record 鍙拌处锛堝厛缃緟鎷ㄤ粯锛夆憽 鍚屼竴鎵� blob 鍙岀粦鍒拌棰樺彴璐︿笌璐㈠姟鎶ラ攢鍗� 鈶� 缁� yudao-module-finance-api 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 鎶ラ攢鍗曪紙1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽垂鐢ㄨ鏄�=銆岃棰樸�旇棰樺悕銆曠N鏈�/绗琋娆$粡璐规嫧娆俱�嶏級鈶� 绔嬪嵆鎻愪氦 BPM 鎶ラ攢瀹℃壒 鈶� 鍙拌处鍥炲啓鎶ラ攢鍗曞彿骞剁疆銆屾姤閿�瀹℃壒涓�(15)銆嶃�傞噾棰濇牎楠岋細宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭璇ュ崟鐢宠缁忚垂锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊笺�傜姸鎬佺敱绯荤粺椹卞姩锛�0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紱鍙湁銆屽緟鎷ㄤ粯銆嶅彲鍒狅紙鍒犻櫎鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗曪級锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢锛堝凡椹冲洖鏀瑰悗娓呯┖椹冲洖鍘熷洜涓庢椂闂达級锛涘彇娑堟祦绋嬪垯閫�鍥炪�屽緟鎷ㄤ粯(0)銆嶏紙鍙戣捣浜烘挙鍥炲彧鎶婂疄渚嬮��鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屽彴璐︿繚鎸併�屾姤閿�瀹℃壒涓�(15)銆嶏紝闇�閲嶆柊鎻愪氦鍚庢墠缁х画璧板鎵癸級銆傝储鍔″鎵瑰垎绫讳笅娌℃湁宸插彂甯冩祦绋嬫椂鐩存帴鎶ラ敊涓斾笉寤哄崟锛屼笉鐣欏鍎胯崏绋挎姤閿�鍗�", "roles": ["瀛︿細璐㈠姟", "璇鹃绠$悊鍛�", "璐㈠姟瀹℃牳浜�", "璐㈠姟涓荤"]}]},
+     {"stage": "缁忚垂鎷ㄤ粯", "action": "浠呫�屽凡绔嬮」(20)銆嶇殑鐢虫姤鍗曞彲鐧昏鎷ㄦ璁板綍锛堟壒娆″悕绉�/鎷ㄤ粯閲戦/鎷ㄤ粯鏃ユ湡/鏀舵鍗曚綅/澶囨敞/鍑瘉闄勪欢锛夛紝鍑瘉蹇呭~銆傜櫥璁版椂涓�鏉¢緳瀹屾垚锛氣憼 璇鹃渚ц惤 research_fund_record 鍙拌处锛堝厛缃緟鎷ㄤ粯锛夆憽 鍚屼竴鎵� blob 鍙岀粦鍒拌棰樺彴璐︿笌璐㈠姟鎶ラ攢鍗� 鈶� 缁� yudao-module-finance-api 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 鎶ラ攢鍗曪紙1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽垂鐢ㄨ鏄�=銆岃棰樸�旇棰樺悕銆曠N鏈�/绗琋娆$粡璐规嫧娆俱�嶏級鈶� 绔嬪嵆鎻愪氦 BPM 鎶ラ攢瀹℃壒 鈶� 鍙拌处鍥炲啓鎶ラ攢鍗曞彿骞剁疆銆屾姤閿�瀹℃壒涓�(15)銆嶃�傞噾棰濇牎楠岋細宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭璇ュ崟鐢宠缁忚垂锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊笺�傜姸鎬佺敱绯荤粺椹卞姩锛�0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紱鍙湁銆屽緟鎷ㄤ粯銆嶅彲鍒狅紙鍒犻櫎鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗曪級锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢锛堝凡椹冲洖鏀瑰悗娓呯┖椹冲洖鍘熷洜涓庢椂闂达級锛涘彇娑堟祦绋嬪垯閫�鍥炪�屽緟鎷ㄤ粯(0)銆嶏紙鍙戣捣浜烘挙鍥炲彧鎶婂疄渚嬮��鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屽彴璐︿繚鎸併�屾姤閿�瀹℃壒涓�(15)銆嶏紝闇�閲嶆柊鎻愪氦鍚庢墠缁х画璧板鎵癸級銆傝储鍔″鎵瑰垎绫讳笅娌℃湁宸插彂甯冩祦绋嬫椂鐩存帴鎶ラ敊涓斾笉寤哄崟锛屼笉鐣欏鍎胯崏绋挎姤閿�鍗�", "roles": ["瀛︿細璐㈠姟", "璇鹃绠$悊鍛�", "璐㈠姟瀹℃牳浜�", "璐㈠姟涓荤"]}]},
+    {"id": "archive", "name": "妗f绠$悊娴佺▼", "mermaid": "mermaid/15-archive-flow.mmd", "color": "#7fb3d5",
+     "summary": "鐙珛妗f妯″潡锛坹udao-module-archive锛夛細涔︽灦鍒嗙被锛堝垎灞傚垎鍒楋級瑙勬暣 鈫� 妗f鐧昏锛堢數瀛愰檮浠� + 瀹炰綋浣嶇疆鍥涘瓧娈碉紝瀵嗙骇涓夋。锛夆啋 鍊熼槄鐧昏璧� BPM 涓ょ骇瀹℃壒锛堟。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛夆啋 瀹℃壒閫氳繃妗f杞�屽�熷嚭涓�嶁啋 褰掕繕鐧昏鍥炪�屽湪搴撱�嶅舰鎴愭祦杞棴鐜� 鈫� 閫炬湡鏈繕鏌ヨ鏃跺疄鏃惰绠楀苟鍦ㄥ垪琛ㄦ爣绾� 鈫� 瀛橀噺涓庢祦杞粺璁★紙鎬绘暟/鍦ㄥ簱/鍊熷嚭涓�/閫炬湡 + 鍒嗙被路瀵嗙骇路杞戒綋涓夌粍鍒嗗竷锛夈�傚悓鏃舵帴鏀惰棰橈紙宸茬珛椤癸級銆佷細鍛橈紙姝e父锛夈�佽储鍔★紙宸查�氳繃锛変笁鏂圭殑銆屽綊妗c�嶈仈鍔紝缁忔柊寤虹殑 yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐欐潵婧愯〃 archive_document_id銆備細璁�/鍏氬缓妗f绯荤粺鍐呮棤鏉ユ簮妯″潡锛屼粎鎵嬪伐褰曞叆銆�",
+     "steps": [
+       {"stage": "寤哄垎绫�", "action": "鏂板缓鍒嗙被鍙寕鐖跺垎绫诲舰鎴愬垎绫绘爲锛堢紪鐮� code 鍏ㄥ眬鍞竴锛夛紝璁炬帓搴忋�佽鏄庛�侀粯璁ゅ瘑绾т笌鍚敤鐘舵�侊紱6 鏉″垵濮嬪垎绫伙細浼氬憳妗f/璇鹃妗f/浼氳妗f/璐㈠姟妗f锛堥粯璁ゅ瘑绾�=淇濆瘑 3锛�/鏂囦功妗f/鍏氬缓妗f銆傛湁瀛愬垎绫绘垨璇ュ垎绫讳笅宸叉湁妗f鏃剁姝㈠垹闄わ紱鐖跺垎绫讳笉鑳借涓鸿嚜韬垨鍏跺瓙鍒嗙被", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "鐧昏妗f", "action": "濉爣棰樸�佸垎绫汇�佸瘑绾э紙1鍏紑/2鍐呴儴/3淇濆瘑锛夈�佽浇浣擄紙1鐢靛瓙/2瀹炰綋/3鐢靛瓙+瀹炰綋锛夈�佸綊妗f棩鏈熴�佹憳瑕併�佸叧閿瘝锛涢�夌數瀛愬垯涓婁紶闄勪欢锛堣蛋 system 闄勪欢涓績锛宺ecordType=archive_document锛屽厛 /system/storage-blob/upload 鍙� blobId 鍐嶉殢淇濆瓨璇锋眰鐨� blobIds 鎻愪氦锛屽叏閲忔浛鎹㈣涔夛級锛岄�夊疄浣撳垯濉功鏋跺彿/灞傚彿/鍒楀彿/鍐屽彿妗f鐩掍笌瀛樻斁浣嶇疆鎻忚堪锛涘悗绔敓鎴愭。妗堢紪鍙� DA+yyyyMMdd+6浣嶆祦姘达紙Redis 姣忔棩閲嶇疆锛夛紝鐘舵�併�屽湪搴�(10)銆�", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "妫�绱�", "action": "鎸夋。妗堢紪鍙�/鏍囬/鍏抽敭璇� tags/鏉ユ簮鍗曞彿/鍒嗙被/瀵嗙骇/杞戒綋/鐘舵��/褰掓。鏃ユ湡鍖洪棿澶氭潯浠舵绱紝鏀寔 Excel 瀵煎嚭銆傚瘑绾�=淇濆瘑(3) 鐨勬。妗堬細褰撳墠鐢ㄦ埛鏃� archive:document:sensitive 鏃跺垪琛ㄤ笌瀵煎嚭寮哄埗杩囨护鎺夈�佺洿杩炶鎯呮帴鍙f姤鏃犳潈闄愰敊璇�", "roles": ["妗f绠$悊鍛�", "鍏ㄥ憳鍙煡鍏紑妗�"]},
+       {"stage": "涓夋柟褰掓。", "action": "璇鹃鐢虫姤涔︼紙浠呭凡绔嬮」 20锛夈�佷細鍛橈紙浠呮甯� 1锛夈�佽储鍔℃姤閿�鍗曪紙浠呭凡閫氳繃 20锛夌殑鍒楄〃椤靛悇鏈変竴涓�屽綊妗c�嶆寜閽紝缁� yudao-module-archive-api 鐨� archiveBySource 鎸夈�屾潵婧愮被鍨� + 鏉ユ簮鍗曟嵁 ID銆嶅箓绛夌敓鎴愭。妗堬紙鏉ユ簮鍗曞彿/鏍囬浣滀负蹇収瀛樺叆妗f锛屾簮鍗曢檮浠朵竴骞跺甫鍏ユ。妗堬紱璐㈠姟妗f瀵嗙骇鍥哄畾涓恒�屼繚瀵嗐�嶏級锛屽苟鍥炲啓鏉ユ簮琛� archive_document_id 浣滀负宸插綊妗g‖鏍囪锛涢噸澶嶇偣鍑荤敱鏉ユ簮渚ф嫤鎴苟鎻愮ず宸茬敓鎴愮殑妗f缂栧彿銆傝储鍔′晶銆屽綊妗c�嶄笌鍏舵棦鏈� 20鈫�40 鐘舵�佹帹杩涘湪鍚屼竴浜嬪姟鍐呭彔鍔犳墽琛�", "roles": ["璇鹃绠$悊鍛�", "浼氬憳绠$悊鍛�", "璐㈠姟"]},
+       {"stage": "鍊熼槄鐧昏", "action": "閫夋。妗堬紙浠呫�屽湪搴�(10)銆嶅彲閫夛級銆佸~鍊熼槄浜�/閮ㄩ棬/鑱旂郴鐢佃瘽銆佸�熼槄鏃ユ湡銆佸�熼槄鐩殑銆佸綊杩樻湡闄愶紱鐢熸垚鍊熼槄鍗曞彿 JY+yyyyMMdd+6浣嶆祦姘达紝鐘舵�併�岃崏绋�(0)銆嶃�傛彁浜ゅ墠鏍¢獙鍚屼竴妗f涓嶅緱瀛樺湪銆屽鎵逛腑(15)銆嶆垨銆屽�熷嚭涓�(20)銆嶇殑鍊熼槄鍗曪紝鍛戒腑鏃舵寜宸插瓨鍦ㄧ殑鍊熼槄鍗曞彿绮剧‘鎶ラ敊锛泂ubmit 鍏堣В鏋愭祦绋嬪垪琛紙鏃犲凡鍙戝竷娴佺▼鐩存帴鎶ラ敊銆佷笉鐣欏鍎胯崏绋匡級鍐嶅缓鍗曪紝鍥炲啓 processInstanceId 骞剁疆銆屽鎵逛腑(15)銆�", "roles": ["鍊熼槄浜�", "妗f绠$悊鍛�"]},
+       {"stage": "鍊熼槄瀹℃壒", "action": "BPM 娴佺▼ archive_borrow_approve 涓ょ骇椤哄簭瀹℃壒锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛堝鎵规柟娉曚笌瀹℃壒浜哄湪娴佺▼瀹氫箟鍐呴厤缃紝鍓嶇鍙�夋祦绋嬩笉鍐欐 key锛涘鎵逛腑蹇冪粡鑷畾涔夎〃鍗曟煡鐪嬭矾寰� /archive/borrow/detail/approve/index.vue 鍙鍥炴樉鍊熼槄鍗曚笌妗f淇℃伅锛夈�傚鎵归�氳繃鐢� ArchiveBorrowStatusListener 缃�屽�熷嚭涓�(20)銆嶅苟鍥炲啓 approveTime锛屽悓鏃舵潯浠舵洿鏂版。妗堢姸鎬佷负銆屽�熷嚭涓�嶏紙褰卞搷 0 琛岃鏄庢。妗堝凡琚叾瀹冩祦绋嬪崰鐢� 鈫� 鎶ラ敊骞跺洖婊氾紝淇濊瘉鍚屼竴妗f涓嶄細琚袱鏉℃祦绋嬪悓鏃跺�熷嚭锛夛紱椹冲洖缃�屽凡椹冲洖(35)銆嶅苟鍥炲啓椹冲洖鍘熷洜涓庢椂闂达紝淇敼鍚庡彲閲嶆柊鎻愪氦锛涘彇娑堟祦绋嬮��鍥炪�岃崏绋�(0)銆�", "roles": ["妗f绠$悊鍛橈紙瀹℃牳锛�", "鍒嗙棰嗗锛堝鎵癸級"]},
+       {"stage": "褰掕繕鐧昏", "action": "浠呫�屽�熷嚭涓�(20)銆嶅彲鐧昏褰掕繕锛氬~褰掕繕澶囨敞 鈫� 鏉′欢鏇存柊鍊熼槄鍗曠姸鎬佸埌銆屽凡褰掕繕(30)銆嶅苟鍥炲啓 returnTime 涓庡綊杩樼‘璁や汉锛屽悓鏃舵潯浠舵洿鏂版。妗堝洖銆屽湪搴�(10)銆嶏紝褰㈡垚瀹屾暣娴佽浆闂幆锛涙洿鏂� 0 琛岃鏄庣姸鎬佸凡鍙樺寲锛屾姤鏄庣‘閿欒", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "閫炬湡鎻愰啋", "action": "涓嶅缓瀹氭椂浠诲姟銆佷笉鍙戠珯鍐呬俊锛氶�炬湡浠呭湪鏌ヨ鏃跺疄鏃惰绠楋紙鐘舵��=鍊熷嚭涓� 涓� 褰掕繕鏈熼檺鏃╀簬浠婂ぉ锛岄�炬湡澶╂暟=浠婂ぉ鈭掑綊杩樻湡闄愶級锛屽�熼槄鍒楄〃鐨勩�岄�炬湡銆嶅垪娓叉煋绾㈣壊銆岄�炬湡 N 澶┿�嶆爣绛撅紱鍙︽彁渚� /archive/borrow/overdue-page 鐙珛鍏ュ彛锛屽垪琛ㄩ〉鏈夈�屽彧鐪嬮�炬湡銆嶅垏鎹㈠湪 /page 涓� /overdue-page 涔嬮棿鍒囨崲鏁版嵁婧�", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "妗f缁熻", "action": "缁熻椤靛睍绀烘。妗堟�绘暟銆佸湪搴撴暟銆佸�熷嚭涓暟銆侀�炬湡鏈繕鏁板洓寮犲崱鐗囷紝浠ュ強鎸夊垎绫诲垎甯冿紙楗煎浘锛夈�佹寜瀵嗙骇鍒嗗竷锛堟煴鍥撅級銆佹寜杞戒綋鍒嗗竷锛堥ゼ鍥撅級涓夌粍鍒嗗竷锛屾暟鎹潵鑷� /archive/stat/overview 鐨勫崟娆¤仛鍚堟煡璇�", "roles": ["妗f绠$悊鍛�", "绠$悊灞�"]}]},
     {"id": "ai", "name": "AI 涓氬姟娴佺▼", "mermaid": "mermaid/11-ai-business-flow.mmd", "color": "#56c8d8",
      "summary": "缁熶竴妯″紡锛氫笟鍔′晶鏀堕泦涓婁笅鏂�(蹇呰鏃惰皟 MDM/SRM/CRM API 鍙栧悕绉�)鈫掔粍瑁� Prompt鈫抍hat/chatWithImage鈫掕В鏋� JSON鈫掑墠绔濉垨寤鸿锛涙棤 Function Calling锛汻AG 鐭ヨ瘑搴撳凡寤烘垚浣嗘殏鏃犱笟鍔℃秷璐广��",
      "steps": [
diff --git a/docs/project-business/data/modules.json b/docs/project-business/data/modules.json
index da70ea7..d12eed8 100644
--- a/docs/project-business/data/modules.json
+++ b/docs/project-business/data/modules.json
@@ -113,10 +113,19 @@
      "upstream": ["浼氬憳绠$悊(ums_member 鍙栫敵鎶ヤ汉濮撳悕/鍗曚綅/鑱岀О/鐢佃瘽)", "BPM(娴佺▼瀹氫箟 research_topic_approve / finance_reimbursement_approve)"],
      "downstream": ["system(system_notice 绔嬮」閫氱煡鍏憡)", "system(闄勪欢涓績)", "璐㈠姟(缁忚垂鎷ㄤ粯鐢熸垚 finance_reimbursement 鎶ラ攢鍗暵峰凡瀵规帴)"],
      "coreTables": ["research_guideline", "research_application", "research_topic_review", "research_fund_record"]},
+    {"key": "arc", "name": "妗f绠$悊锛堢嫭绔嬶級", "color": "#7fb3d5", "tag": "ARC", "flow": "archive",
+     "positioning": "瀛︿細/鍗忎細鍨嬪疄浣撲笌鐢靛瓙妗f鍏ㄧ敓鍛藉懆鏈燂細鍒嗙被涔︽灦瑙勬暣 鈫� 妗f鐧昏涓庢绱� 鈫� 鍊熼槄瀹℃壒 鈫� 褰掕繕闂幆 鈫� 瀛橀噺涓庢祦杞粺璁★紝骞舵帴鏀惰棰�/浼氬憳/璐㈠姟涓夋柟鐨勫綊妗h仈鍔�",
+     "problem": "璇鹃鏉愭枡銆佷細鍛樻潗鏂欍�佽储鍔″嚟璇佹暎钀藉悇妯″潡鏃犲褰掗泦锛涚焊璐ㄦ。妗堝瓨鏀句綅缃潬绾夸笅鍙拌处锛屽�熼槄涓庡綊杩樻棤鐣欑棔銆侀�炬湡鏃犱汉绠★紱璐㈠姟绛夋晱鎰熸。妗堟棤瀵嗙骇绠℃帶",
+     "features": ["妗f鍒嗙被鏍�(涔︽灦路鍒嗗眰鍒嗗垪)锛氫細鍛�/璇鹃/浼氳/璐㈠姟/鏂囦功/鍏氬缓 6 鏉″垵濮嬪垎绫宦风紪鐮佸敮涓�路鏀寔鐖跺瓙灞傜骇", "鍒嗙被榛樿瀵嗙骇(璐㈠姟鍒嗙被=淇濆瘑)路鍒嗙被鏈夊瓙鍒嗙被鎴栦笅鏈夋。妗堢鍒�", "妗f涓昏〃锛氱數瀛愰檮浠� + 瀹炰綋浣嶇疆鍥涘瓧娈�(涔︽灦鍙�/灞傚彿/鍒楀彿/鍐屽彿妗f鐩�)+瀛樻斁浣嶇疆鎻忚堪", "妗f缂栧彿 DA+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)路鍊熼槄鍗曞彿 JY+鍚屾棩娴佹按", "瀵嗙骇涓夋。 鍏紑1/鍐呴儴2/淇濆瘑3 + 鐙珛鏉冮檺鐐� archive:document:sensitive(鏃犳潈闄愭椂鍒楄〃涓庡鍑哄己鍒惰繃婊ゃ�佽鎯呮姤閿�)", "杞戒綋涓夊瀷 鐢靛瓙1/瀹炰綋2/鐢靛瓙+瀹炰綋3", "鏉ユ簮鍥涚被 鎵嬪伐1/璇鹃2/浼氬憳3/璐㈠姟4(璁板綍鏉ユ簮鍗曞彿/ID/鏍囬蹇収渚夸簬妫�绱�)", "鍏ㄥ瓧娈垫绱細鏍囬/鍏抽敭璇� tags/鏉ユ簮鍗曞彿/鍒嗙被/瀵嗙骇/杞戒綋/鐘舵��/褰掓。鏃ユ湡鍖洪棿 + Excel 瀵煎嚭", "鍊熼槄鐧昏(鍊熼槄浜�/閮ㄩ棬/鐢佃瘽/鏃ユ湡/鐩殑/褰掕繕鏈熼檺)+BPM 涓ょ骇瀹℃壒(妗f绠$悊鍛樺鏍糕啋鍒嗙棰嗗瀹℃壒)路娴佺▼ key=archive_borrow_approve", "褰掕繕鐧昏锛氬疄鏃舵洿鏂版。妗堢姸鎬佸洖銆屽湪搴撱�嶏紝褰㈡垚瀹屾暣娴佽浆闂幆", "閫炬湡鏈繕浠呮煡璇㈡椂瀹炴椂璁$畻(overdueDays)路鍒楄〃绾㈣壊銆岄�炬湡 N 澶┿�峊ag + /overdue-page 鐙珛鍏ュ彛 + 銆屽彧鐪嬮�炬湡銆嶅垏鎹⒙蜂笉寤� infra_job 涓嶅彂绔欏唴淇�", "妗f缁熻锛氭�绘暟/鍦ㄥ簱/鍊熷嚭涓�/閫炬湡鏈繕 + 鎸夊垎绫�/瀵嗙骇/杞戒綋涓夌粍鍒嗗竷(4 鍗$墖 + 3 鍥捐〃)", "瀵瑰鎻愪緵 yudao-module-archive-api(ArchiveDocumentApi锛歛rchiveBySource 骞傜瓑/ isArchived / getBySource)渚涜棰樎蜂細鍛樎疯储鍔′笁鏂规墜鍔ㄥ綊妗�", "闄勪欢璧� system 闄勪欢涓績(recordType=archive_document / archive_borrow)"],
+     "objects": ["妗f鍒嗙被", "妗f", "鍊熼槄鍗�"],
+     "roles": ["妗f绠$悊鍛�", "鍒嗙棰嗗(鍊熼槄瀹℃壒)", "鍊熼槄浜�", "褰掓。缁忓姙浜�(璇鹃/浼氬憳/璐㈠姟)"],
+     "upstream": ["璇鹃绠$悊(宸茬珛椤圭敵鎶ヤ功路archiveApplication)", "浼氬憳绠$悊(姝e父浼氬憳路archiveMember)", "璐㈠姟鎶ラ攢(宸查�氳繃鎶ラ攢鍗暵锋棦鏈� archive 鍙犲姞)", "BPM(娴佺▼瀹氫箟 archive_borrow_approve)"],
+     "downstream": ["system(闄勪欢涓績 storage_attachment)", "鏉ユ簮琛ㄥ洖鍐� archive_document_id"],
+     "coreTables": ["archive_category", "archive_document", "archive_borrow"]},
     {"key": "bpm", "name": "鍗忓悓瀹℃壒", "color": "#e6a23c", "tag": "BPM", "flow": null,
      "positioning": "鍏ㄧ郴缁熷崟鎹鎵逛腑鏋紙Flowable锛�",
      "problem": "澶氭ā鍧楀崟鎹渶瑕佺伒娲诲彲閰嶇殑澶氱骇瀹℃壒",
-     "features": ["BPMN+閽夐拤椋庢牸鍙岃璁″櫒", "娴佺▼瀹氫箟閮ㄧ讲", "瀹℃壒浜嬩欢缁熶竴鍥炶皟(BpmProcessInstanceStatusEvent)", "15涓笟鍔$洃鍚櫒(鍚屼竴娴佺▼ key 鍏佽澶氫釜鐩戝惉鍣ㄥ苟琛屄峰悇鑷寜 key 杩囨护)", "琛ㄥ崟路鐢ㄦ埛缁劼锋妱閫伮峰姞绛�"],
+     "features": ["BPMN+閽夐拤椋庢牸鍙岃璁″櫒", "娴佺▼瀹氫箟閮ㄧ讲", "瀹℃壒浜嬩欢缁熶竴鍥炶皟(BpmProcessInstanceStatusEvent)", "24涓笟鍔$姸鎬佺洃鍚櫒(*StatusListener路鍚屼竴娴佺▼ key 鍏佽澶氫釜鐩戝惉鍣ㄥ苟琛屄峰悇鑷寜 key 杩囨护路妗f鍊熼槄 ArchiveBorrowStatusListener 涓庤储鍔�/璇鹃鐩戝惉鍣ㄨ闃呬笉鍚� key 浜掍笉骞叉壈)", "琛ㄥ崟路鐢ㄦ埛缁劼锋妱閫伮峰姞绛�"],
      "objects": ["娴佺▼妯″瀷", "娴佺▼瀹炰緥", "瀹℃壒浠诲姟"],
      "roles": ["瀹℃壒浜�(鎸夋祦绋嬮厤缃�)", "娴佺▼绠$悊鍛�"],
      "upstream": ["鍚勪笟鍔℃彁浜ゅ鎵�"], "downstream": ["鍥炶皟鏇存柊鍚勪笟鍔″崟鎹姸鎬�"],
diff --git a/docs/project-business/data/objects.json b/docs/project-business/data/objects.json
index 5eb72ff..f3b2b54 100644
--- a/docs/project-business/data/objects.json
+++ b/docs/project-business/data/objects.json
@@ -48,13 +48,16 @@
     {"name": "鎺掔彮璁″垝", "module": "璁惧", "table": "mes_cal_plan", "doc": "鐝粍脳鐝脳鏃ユ湡鎺掔彮锛屼緵鐢熶骇涓庤�冨嫟寮曠敤", "upstream": [], "downstream": ["鐢熶骇浠诲姟", "鑰冨嫟"], "keywords": "鎺掔彮 鐝粍 鐝 鏃ュ巻"},
     {"name": "鎶ュ憡妯℃澘", "module": "璐ㄦ鎶ュ憡", "table": "qc_report_template", "doc": "鏅鸿兘璐ㄦ鎶ュ憡妯℃澘锛屽惎鐢�0/鍋滅敤1锛涚敾甯冨唴瀹瑰瓨鍦� qc_report_template_version锛堣崏绋�0/宸插彂甯�1/宸插仠鐢�2锛屽凡鍙戝竷涓嶅彲瑕嗙洊锛夛紝currentVersion 鎸囧悜褰撳墠宸插彂甯冪増鏈紱婧愭枃浠剁粡 AI 瀵煎叆璇嗗埆鎴愯崏绋垮悗鐢变汉宸ョ‘璁ゆ墠鎴愪负鐗堟湰锛涘悓涓�妯℃澘閲嶅瀵煎叆鎸夈�愭浛鎹€�戝鐞嗏�斺�斿厛鍒犳棫闄勪欢锛堣繛甯� blob 琛屼笌纾佺洏鏂囦欢锛夊啀缁戞柊鐨勶紝涓嶇暀瀛ゅ効鏂囦欢锛涘垹闄ゆā鏉夸細杩炲甫娓呴檮浠�", "upstream": ["浜哄伐璁捐(GrapesJS 璁捐鍣�)", "AI 瀵煎叆鑽夌(qc-report/ai-import/draft)"], "downstream": ["妯℃澘鐗堟湰", "鎶ュ憡瀹炰緥"], "keywords": "鎶ュ憡妯℃澘 璐ㄦ鎶ュ憡 template 璁捐鍣� 鐗堟湰 AI瀵煎叆 璇嗗埆 鑽夌 婧愭枃浠舵浛鎹�"},
     {"name": "鎶ュ憡瀹炰緥", "module": "璐ㄦ鎶ュ憡", "table": "qc_report_instance", "doc": "鍑轰欢浜х墿锛岀紪鍙� QR+yyyyMMdd+4浣嶆祦姘存寜澶╃嫭绔嬩笖涓氬姟鍞竴锛屽彲鏄惧紡鎸囧畾瑕嗙洊锛堟敞鎰� uk_report_no 涓嶅尯鍒嗚蒋鍒犻櫎锛屽垹鎺夌殑鍙蜂笉鍥炴敹锛夛紱涓ゆ潯鍑轰欢鍏ュ彛锛氶�氱敤 generate锛堣皟鐢ㄦ柟鑷甫 context锛変笌 generate-from-qc锛堟暟鎹粠 MES 璐ㄦ鍗曞彇锛屾潈闄愮爜 qc-report:instance:generate 宸插叆 system_menu id=1075416锛屼簲閬撴牎楠屾寜涓氬姟浼樺厛绾у彧鎶ョ涓�澶勶細105_000 绫诲瀷闈炴硶 / 105_001 鍗曟嵁涓嶅瓨鍦� / 105_002 鏈畬鎴� / 105_003 鏈垽瀹� / 105_005 妯℃澘绫诲瀷涓嶇 / 105_006 鏃犲彲鐢ㄦ楠岄」锛涘洓寮犺川妫�鍗曞垪琛ㄧ殑琛屾搷浣溿�屽嚭鎶ュ憡銆嶄粎鍦� status=宸插畬鎴愭椂鍙锛屽脊绐楀彧鍒� reportType 涓�鑷淬�佹ā鏉垮惎鐢ㄣ�佷笖 currentVersion 鎸囧悜鐨勭増鏈凡鍙戝竷鐨勬ā鏉匡紙鍚庣 /qc-report/template/selectable 鍒ゅ畾鈥斺�斿仠鐢ㄧ増鏈笉娓呯┖ currentVersion锛屽墠绔嬁鍒嗛〉缁撴灉鑷繁鎺ㄥ浼氭紡锛夛紝缁撴灉灏卞湴灞曠ず骞惰烦鏈〉鍒楄〃锛夛紱鍐荤粨 data_snapshot锛堝垽瀹氬悗鏁版嵁锛屽惈鍚庣绠楀ソ鐨� PASS/FAIL 涓庡悎鏍肩巼锛変笌 render_html锛況egenerate 鍙噸娓叉帓鐗堛�佹暟鎹笌缂栧彿涓嶅彉锛沚usiness_id/business_type 瀛� MES 琛ㄥ悕锛坢es_qc_iqc 绛夛級涓庡崟鎹� ID锛屽彲鍙嶆煡銆佷竴鍗曞彲鍑哄浠斤紱鎶ュ憡澶村彟甯﹀崟鎹師鍒ゅ畾 qcResult(鏁�)/qcResultText(涓枃锛屽悎鏍�/鐗归噰/涓嶅悎鏍奸��璐�/涓嶅悎鏍兼姤搴�)锛屼笌寮曟搸涓夋�佸垽瀹氬苟瀛樹簰涓嶈鐩栵紱鍝嶅簲甯� undecidableCount=蹇収涓� result 涓虹┖涓茬殑椤规暟涓� warnings锛堝垎缁勬爣棰樿烦杩�/鎸囨爣宸插垹/鏈綍瀹炴祴鍊�/鏍峰搧瓒�3锛夛紝涓よ�呴兘涓嶈惤搴撱�佷簨鍚庣湅涓嶅埌", "upstream": ["鎶ュ憡妯℃澘鐗堟湰", "璐ㄦ鍗曚笂涓嬫枃(閫氱敤 generate 鐢辫皟鐢ㄦ柟浼犲叆)", "MES 璐ㄦ鍗� IQC/IPQC/OQC/RQC(generate-from-qc 缁� MesQcReportApi 鍙栨暟)"], "downstream": ["鍓嶇瀹炰緥椤� /qc/report-instance(鍒楄〃路iframe棰勮路蹇収椤电路瀵煎嚭PDF)", "PDF褰掓。(system_storage_attachment recordType=qc_report_instance)"], "keywords": "鎶ュ憡瀹炰緥 鍑轰欢 QR缂栧彿 蹇収 澶嶇幇 regenerate PDF褰掓。 鎶ュ憡瀹炰緥椤� 瀵煎嚭PDF generate-from-qc 璐ㄦ鍗曞嚭鎶ュ憡 鍑烘姤鍛婂脊绐� qcResult undecidableCount warnings 寰呭垽瀹� 鍙嶆煡 涓氬姟鍗曟嵁绛涢��"},
-    {"name": "鎶ラ攢鍗�", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement", "doc": "鍗曞彿鍙嚜瀹氫箟(涓棿涓嶅厑璁哥┖鏍硷紝涓庡凡鏈夊崟鍙烽噸澶嶅垯鎶ラ敊)锛涙柊澧炴椂鐣欑┖鎴栫函绌烘牸鐢辩郴缁熺敓鎴� BX+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屼慨鏀规椂鐣欑┖琛ㄧず淇濇寔涓嶅彉銆俿tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥�/40宸插綊妗o紱浠呰崏绋垮彲鍒犮�佽崏绋夸笌宸查┏鍥炲彲鏀广�佷粎宸查�氳繃鍙綊妗o紱鎻愪氦鍚庣敱 BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓鐘舵��(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑 processInstanceId 琚洖鍐欍�傛潵婧愪袱鏉★細鈶� 璐㈠姟妯″潡椤甸潰浜哄伐濉姤 鈶¤棰樼鐞嗐�岀粡璐规嫧浠樸�嶇粡 FinanceReimbursementApi(yudao-module-finance-api)鑷姩寤哄崟骞剁珛鍗虫彁浜�(1:1銆侀噾棰濅竴鑷淬�佺郴缁熷浐瀹� 1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬)鈥斺�斿悗鑰呯殑瀹℃壒缁撴灉鐢辫棰樹晶 ResearchFundStatusListener 璁㈤槄鍚屼竴娴佺▼鍥炲啓鎷ㄦ鍙拌处锛屾姤閿�鍗曟湰韬笉鍥炲啓浠讳綍澶栭儴鍗曟嵁", "upstream": ["璇鹃绠$悊(缁忚垂鎷ㄤ粯路缁� FinanceReimbursementApi 鑷姩寤哄崟)", "浜哄伐濉姤"], "downstream": ["鎶ラ攢鏄庣粏", "鍙戠エ闄勪欢(storage_attachment路recordType=finance_reimbursement)", "璇鹃鎷ㄦ鍙拌处(浠呯粡 BPM 浜嬩欢鍥炲啓鐘舵��)"], "keywords": "鎶ラ攢鍗� 鎶ラ攢 鍙戠エ reimbursement BX 褰掓。 璐㈠姟 璐圭敤 鑷畾涔夊崟鍙� 璇鹃缁忚垂鎷ㄤ粯 鑷姩寤哄崟 FinanceReimbursementApi"},
+    {"name": "鎶ラ攢鍗�", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement", "doc": "鍗曞彿鍙嚜瀹氫箟(涓棿涓嶅厑璁哥┖鏍硷紝涓庡凡鏈夊崟鍙烽噸澶嶅垯鎶ラ敊)锛涙柊澧炴椂鐣欑┖鎴栫函绌烘牸鐢辩郴缁熺敓鎴� BX+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屼慨鏀规椂鐣欑┖琛ㄧず淇濇寔涓嶅彉銆俿tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥�/40宸插綊妗o紱浠呰崏绋垮彲鍒犮�佽崏绋夸笌宸查┏鍥炲彲鏀广�佷粎宸查�氳繃鍙綊妗o紱鎻愪氦鍚庣敱 BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓鐘舵��(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑 processInstanceId 琚洖鍐欍�傛潵婧愪袱鏉★細鈶� 璐㈠姟妯″潡椤甸潰浜哄伐濉姤 鈶¤棰樼鐞嗐�岀粡璐规嫧浠樸�嶇粡 FinanceReimbursementApi(yudao-module-finance-api)鑷姩寤哄崟骞剁珛鍗虫彁浜�(1:1銆侀噾棰濅竴鑷淬�佺郴缁熷浐瀹� 1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬)鈥斺�斿悗鑰呯殑瀹℃壒缁撴灉鐢辫棰樹晶 ResearchFundStatusListener 璁㈤槄鍚屼竴娴佺▼鍥炲啓鎷ㄦ鍙拌处锛屾姤閿�鍗曟湰韬笉鍥炲啓浠讳綍澶栭儴鍗曟嵁锛沘rchive_document_id 闈炵┖琛ㄧず宸插綊妗�", "upstream": ["璇鹃绠$悊(缁忚垂鎷ㄤ粯路缁� FinanceReimbursementApi 鑷姩寤哄崟)", "浜哄伐濉姤"], "downstream": ["鎶ラ攢鏄庣粏", "鍙戠エ闄勪欢(storage_attachment路recordType=finance_reimbursement)", "璇鹃鎷ㄦ鍙拌处(浠呯粡 BPM 浜嬩欢鍥炲啓鐘舵��)", "妗f绠$悊(鏃㈡湁褰掓。鍔ㄤ綔鍚屼簨鍔″彔鍔犅风敓鎴愩�屼繚瀵� 3銆嶇骇璐㈠姟妗f骞跺洖鍐� archive_document_id)"], "keywords": "鎶ラ攢鍗� 鎶ラ攢 鍙戠エ reimbursement BX 褰掓。 璐㈠姟 璐圭敤 鑷畾涔夊崟鍙� 璇鹃缁忚垂鎷ㄤ粯 鑷姩寤哄崟 FinanceReimbursementApi 璐㈠姟妗f 淇濆瘑 archive_document_id"},
     {"name": "鎶ラ攢鏄庣粏", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement_item", "doc": "鎶ラ攢鍗曠殑璐圭敤琛岋細璐圭敤绫诲瀷(1宸梾/2鍔炲叕/3鎷涘緟/4浜ら��/5鍏朵粬)銆佸彂绁ㄥ彿鐮併�佸彂绁ㄩ噾棰濄�佸彂绁ㄦ棩鏈熴�佸紑绁ㄦ柟銆佽垂鐢ㄨ鏄庯紱闅忎富琛ㄤ竴娆℃�ф彁浜�(鍏堝垹鍚庡鍏ㄩ噺瑕嗙洊)锛屾彁浜ゆ椂蹇呴』鍓ユ帀琛� id 涓� reimbursementId 鈥斺�� 鏄庣粏鍒犻櫎鏄蒋鍒狅紝鍥炰紶鍘� id 浼氫笌宸茶蒋鍒犺涓婚敭鍐茬獊", "upstream": ["鎶ラ攢鍗�"], "downstream": [], "keywords": "鎶ラ攢鏄庣粏 璐圭敤鏄庣粏 璐圭敤绫诲瀷 鍙戠エ閲戦 item 鏄庣粏琛� 宸梾"},
     {"name": "鍏ヤ細鐢宠鍗�", "module": "浼氬憳绠$悊", "table": "ums_application", "doc": "鍗曞彿 SQ+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屽悗绔敓鎴愪笉鍙嚜瀹氫箟锛沵emberType 1涓汉/2鍗曚綅鍐冲畾瀛楁鍒嗗弶(涓汉鐢� workUnit/title锛屽崟浣嶇敤 legalPerson/organizationCode)锛沵emberGrade 鎸夌被鍨嬪彇涓嶅悓瀛楀吀锛泂tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛涙彁浜ゅ悗鐢� BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑鍥炲啓 processInstanceId锛涘鎵归�氳繃瑙﹀彂鑷姩寤轰細鍛樹笌绯荤粺璐﹀彿銆傜嫭绔嬫ā鍧楋紝涓嶄笌鍏跺畠涓氬姟妯″潡浜х敓鍗曟嵁鍏宠仈", "upstream": ["浜哄伐濉姤(鐢宠浜�)", "璇佹槑鏉愭枡闄勪欢(storage_attachment路recordType=ums_application)"], "downstream": ["浼氬憳(瀹℃壒閫氳繃鑷姩鍒涘缓)", "BPM 娴佺▼瀹炰緥(ums_membership_approve 鍒嗙被)"], "keywords": "鍏ヤ細鐢宠 鍏ヤ細 浼氬憳鐢宠 application SQ 绉樹功澶� 鐞嗕簨浼� 瀹℃壒 浼氬憳绫诲瀷 涓汉 鍗曚綅 娉曞畾浠h〃浜� 鐮旂┒鏂瑰悜 鐢宠绛夌骇"},
-    {"name": "浼氬憳", "module": "浼氬憳绠$悊", "table": "ums_member", "doc": "鍗曞彿 HY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛涗袱涓潵婧愶細鈶犲叆浼氱敵璇峰鎵归�氳繃鑷姩鍒涘缓(鍥炲~ applicationId 涓� userName/绯荤粺璐﹀彿) 鈶′細鍛樺垪琛ㄦ墜宸ユ柊澧炪�俿tatus: 1姝e父/0鏆傚仠锛沵emberGrade 鎸� memberType 鍙栧搴斿瓧鍏革紝鏍¢獙瑙勫垯鏄崟浣嶄細鍛�(type=2)涓嶅彲閫夈�庣悊浜嬮暱銆�(grade=5)銆傝嚜鍔ㄥ缓妗f椂鍏ヤ細鏃ユ湡=褰撳ぉ銆佷笉鎼繍 contactUser/unitIntro/expireDate(鐢宠鍗曟棤瀵瑰簲瀛楁)锛涜嚜鍔ㄥ缓鐨勭郴缁熻处鍙风敤鎴峰悕涓鸿仈绯荤數璇濅笖鍒濆瀵嗙爜鍚屼负鑱旂郴鐢佃瘽锛岄儴闂ㄥ浐瀹氫负銆屽浼氫細鍛樸�嶏紱鎵嬫満鍙烽噸澶嶄細鏄庣‘鎶ラ敊涓旀暣鍗曚簨鍔″洖婊�", "upstream": ["鍏ヤ細鐢宠鍗�(瀹℃壒閫氳繃)", "浜哄伐鏂板", "闄勪欢(storage_attachment路recordType=ums_member)"], "downstream": ["浼氬憳閫氳褰�(鎸� regionCode/industry 妫�绱�)", "system_users(鐧诲綍璐﹀彿)"], "keywords": "浼氬憳 member HY 浼氬憳缂栧彿 浼氬憳绛夌骇 浼氬憳绫诲瀷 閫氳褰� 鍦板尯 琛屼笟 鍏ヤ細鏃ユ湡 鏈夋晥鏈�"},
+    {"name": "浼氬憳", "module": "浼氬憳绠$悊", "table": "ums_member", "doc": "鍗曞彿 HY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛涗袱涓潵婧愶細鈶犲叆浼氱敵璇峰鎵归�氳繃鑷姩鍒涘缓(鍥炲~ applicationId 涓� userName/绯荤粺璐﹀彿) 鈶′細鍛樺垪琛ㄦ墜宸ユ柊澧炪�俿tatus: 1姝e父/0鏆傚仠锛沵emberGrade 鎸� memberType 鍙栧搴斿瓧鍏革紝鏍¢獙瑙勫垯鏄崟浣嶄細鍛�(type=2)涓嶅彲閫夈�庣悊浜嬮暱銆�(grade=5)銆傝嚜鍔ㄥ缓妗f椂鍏ヤ細鏃ユ湡=褰撳ぉ銆佷笉鎼繍 contactUser/unitIntro/expireDate(鐢宠鍗曟棤瀵瑰簲瀛楁)锛涜嚜鍔ㄥ缓鐨勭郴缁熻处鍙风敤鎴峰悕涓鸿仈绯荤數璇濅笖鍒濆瀵嗙爜鍚屼负鑱旂郴鐢佃瘽锛岄儴闂ㄥ浐瀹氫负銆屽浼氫細鍛樸�嶏紱鎵嬫満鍙烽噸澶嶄細鏄庣‘鎶ラ敊涓旀暣鍗曚簨鍔″洖婊氾紱archive_document_id 闈炵┖琛ㄧず宸插綊妗o紙褰掓。鍚庡垪琛ㄩ〉闅愯棌銆屽綊妗c�嶆寜閽級", "upstream": ["鍏ヤ細鐢宠鍗�(瀹℃壒閫氳繃)", "浜哄伐鏂板", "闄勪欢(storage_attachment路recordType=ums_member)"], "downstream": ["浼氬憳閫氳褰�(鎸� regionCode/industry 妫�绱�)", "妗f绠$悊(鎵嬪姩銆屽綊妗c�嵚蜂粎姝e父鐘舵�佸彲褰掓。路缁� yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id)", "system_users(鐧诲綍璐﹀彿)"], "keywords": "浼氬憳 member HY 浼氬憳缂栧彿 浼氬憳绛夌骇 浼氬憳绫诲瀷 閫氳褰� 鍦板尯 琛屼笟 鍏ヤ細鏃ユ湡 鏈夋晥鏈� 褰掓。 archive_document_id"},
     {"name": "璇鹃鎸囧崡", "module": "璇鹃绠$悊", "table": "research_guideline", "doc": "鎸囧崡缂栧彿 GL+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沜ategory 1閲嶇偣璇鹃/2涓�鑸棰橈紱publishStatus 0鑽夌/20宸插彂甯�/30宸叉埅姝紝浠呰崏绋垮彲鏀瑰彲鍒狅紝publish 鍙戝竷鍥炲啓 publishTime锛宑lose 鎴缃� 30锛涘凡浜х敓鐢虫姤鍗�(applicationMapper.selectCountByGuidelineId 澶т簬 0)鐨勬寚鍗楃姝㈠垹闄ゅ苟鍦ㄦ彁绀轰腑鎶ュ嚭璇ユ寚鍗椾笅宸叉湁澶氬皯寮犵敵鎶ュ崟锛涙鏂� content 涓洪暱鏂囨湰锛涢檮浠� recordType=research_guideline", "upstream": ["浜哄伐缁存姢(瀛︿細绉樹功澶�)", "鎸囧崡闄勪欢(storage_attachment路recordType=research_guideline)"], "downstream": ["璇鹃鐢虫姤涔�(鐢虫姤鏃跺紩鐢ㄤ笖蹇呴』宸插彂甯冨苟鍦ㄧ敵鎶ユ湡鍐�)"], "keywords": "璇鹃鎸囧崡 鎸囧崡 鍙戝竷 鎴 閲嶇偣璇鹃 涓�鑸棰� GL 鎸囧崡缂栧彿 鐢虫姤鏈� 鐢虫姤璧锋"},
-    {"name": "璇鹃鐢虫姤涔�", "module": "璇鹃绠$悊", "table": "research_application", "doc": "鐢虫姤缂栧彿 SB+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沢uidelineId 鍏宠仈鎸囧崡銆乵emberId 鍏宠仈 ums_member(杞叧鑱旀棤澶栭敭锛屼細鍛樺垹闄ゅ悗浼氱暀涓嬫偓绌� memberId 闇�瀹归敊鏄剧ず)锛沘pplicantName/workUnit/jobTitle/contactPhone/contactEmail 鐢遍�変細鍛樿嚜鍔ㄥ甫鍑哄彲鎵嬫敼锛沜ategory 鍐椾綑鑷寚鍗椾笖涓嶄俊浠诲墠绔紶鍊硷紱budgetAmount 鐢宠缁忚垂涓烘嫧浠樹笂闄愶紱status: 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛泂ubmit 鍓嶉�愭潯鏍¢獙銆屾寚鍗楀凡鍙戝竷銆嶄笌銆岀幇鍦ㄥ湪鐢虫姤鏈熷唴銆嶏紝浠讳竴涓嶆弧瓒冲嵆鎷掔粷骞舵寜缁村害缁欏嚭鎸囧崡鍚嶄笌瀹為檯鍊硷紱瀹℃壒閫氳繃鐢辩洃鍚櫒鐢熸垚绔嬮」缂栧彿 researchNo(LX+鍚屾棩娴佹按)涓� approveTime(宸叉湁缂栧彿骞傜瓑璺宠繃)锛況eviewAvgScore/reviewPass 涓鸿瘎瀹℃眹鎬诲洖鍐欏�硷紝鏄庣粏鍒犵┖鏃舵竻鎴愭湭姹囨�伙紱noticeId 璁板綍宸插彂甯冪殑绔嬮」閫氱煡鍏憡锛岄噸澶嶅彂甯冭鎷︽埅", "upstream": ["璇鹃鎸囧崡(蹇呴』宸插彂甯冧笖鍦ㄧ敵鎶ユ湡鍐�)", "浼氬憳(ums_member路甯﹀嚭鐢虫姤浜轰俊鎭�)", "鐢虫姤闄勪欢(storage_attachment路recordType=research_application)"], "downstream": ["涓撳璇勫鏄庣粏", "缁忚垂鎷ㄤ粯璁板綍", "绔嬮」閫氱煡(system_notice 鍏憡)", "BPM 娴佺▼瀹炰緥(research_topic_approve 鍒嗙被)", "闄勪欢涓績"], "keywords": "璇鹃鐢虫姤 鐢虫姤涔� 鐢虫姤鍗� SB 鐢虫姤缂栧彿 绔嬮」 绔嬮」缂栧彿 LX 鐢宠缁忚垂 鐢虫姤涔︽鏂� 璇鹃缁勬垚鍛� 涓撳璇勫 璇勫姹囨�� 绔嬮」閫氱煡 鍙戝竷閫氱煡 鎻愪氦瀹℃壒 椹冲洖 閲嶆彁"},
+    {"name": "璇鹃鐢虫姤涔�", "module": "璇鹃绠$悊", "table": "research_application", "doc": "鐢虫姤缂栧彿 SB+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沢uidelineId 鍏宠仈鎸囧崡銆乵emberId 鍏宠仈 ums_member(杞叧鑱旀棤澶栭敭锛屼細鍛樺垹闄ゅ悗浼氱暀涓嬫偓绌� memberId 闇�瀹归敊鏄剧ず)锛沘pplicantName/workUnit/jobTitle/contactPhone/contactEmail 鐢遍�変細鍛樿嚜鍔ㄥ甫鍑哄彲鎵嬫敼锛沜ategory 鍐椾綑鑷寚鍗椾笖涓嶄俊浠诲墠绔紶鍊硷紱budgetAmount 鐢宠缁忚垂涓烘嫧浠樹笂闄愶紱status: 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛泂ubmit 鍓嶉�愭潯鏍¢獙銆屾寚鍗楀凡鍙戝竷銆嶄笌銆岀幇鍦ㄥ湪鐢虫姤鏈熷唴銆嶏紝浠讳竴涓嶆弧瓒冲嵆鎷掔粷骞舵寜缁村害缁欏嚭鎸囧崡鍚嶄笌瀹為檯鍊硷紱瀹℃壒閫氳繃鐢辩洃鍚櫒鐢熸垚绔嬮」缂栧彿 researchNo(LX+鍚屾棩娴佹按)涓� approveTime(宸叉湁缂栧彿骞傜瓑璺宠繃)锛況eviewAvgScore/reviewPass 涓鸿瘎瀹℃眹鎬诲洖鍐欏�硷紝鏄庣粏鍒犵┖鏃舵竻鎴愭湭姹囨�伙紱noticeId 璁板綍宸插彂甯冪殑绔嬮」閫氱煡鍏憡锛岄噸澶嶅彂甯冭鎷︽埅锛沘rchive_document_id 闈炵┖琛ㄧず宸插綊妗o紙褰掓。鍚庡垪琛ㄩ〉闅愯棌銆屽綊妗c�嶆寜閽級", "upstream": ["璇鹃鎸囧崡(蹇呴』宸插彂甯冧笖鍦ㄧ敵鎶ユ湡鍐�)", "浼氬憳(ums_member路甯﹀嚭鐢虫姤浜轰俊鎭�)", "鐢虫姤闄勪欢(storage_attachment路recordType=research_application)"], "downstream": ["涓撳璇勫鏄庣粏", "缁忚垂鎷ㄤ粯璁板綍", "绔嬮」閫氱煡(system_notice 鍏憡)", "BPM 娴佺▼瀹炰緥(research_topic_approve 鍒嗙被)", "妗f绠$悊(鎵嬪姩銆屽綊妗c�嵚蜂粎宸茬珛椤瑰彲褰掓。路缁� yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id)", "闄勪欢涓績"], "keywords": "璇鹃鐢虫姤 鐢虫姤涔� 鐢虫姤鍗� SB 鐢虫姤缂栧彿 绔嬮」 绔嬮」缂栧彿 LX 鐢宠缁忚垂 鐢虫姤涔︽鏂� 璇鹃缁勬垚鍛� 涓撳璇勫 璇勫姹囨�� 绔嬮」閫氱煡 鍙戝竷閫氱煡 鎻愪氦瀹℃壒 椹冲洖 閲嶆彁 褰掓。 archive_document_id"},
     {"name": "涓撳璇勫鏄庣粏", "module": "璇鹃绠$悊", "table": "research_topic_review", "doc": "涓�浣嶄笓瀹朵竴琛岀殑涓�涓诲琛屽瓙琛細evaluatorName/evaluatorUnit/evaluatorTitle + topicScore 閫夐浠峰�间笌鎰忎箟(鏉冮噸0.3) + planScore 鐮旂┒鏂规鍙鎬�(0.3) + teamScore 鍥㈤槦涓庣爺绌跺熀纭�(0.2) + resultScore 棰勬湡鎴愭灉涓庢晥鐩�(0.2) + conclusion 1鎺ㄨ崘绔嬮」/2涓嶆帹鑽愮珛椤� + opinion 璇勫鎰忚 + reviewTime銆俢ompositeScore 鐢卞悗绔� weightedScore 璁$畻銆乺anking 鐢卞悗绔寜鍔犳潈鍒嗛檷搴忛噸鎺掞紝鍧囦笉鎺ュ彈鍓嶇浼犲�硷紱姣忔澧炲垹鏀瑰悗璋� recalculate 鍥炲啓涓诲崟 reviewAvgScore(鍏ㄩ儴涓撳鍔犳潈鍒嗗潎鍊悸蜂繚鐣�2浣�)涓� reviewPass(鍧囧垎杈炬爣 涓� 澶氭暟缁撹涓烘帹鑽愮珛椤规椂涓� 1)锛涘洓椤瑰垎鍊艰秴鍑� 0~100 鏃舵彁绀烘寚鍑哄叿浣撶淮搴︿笌瀹為檯鍊硷紱浠呭湪鐢虫姤鍗� status=15 瀹℃壒涓彲澧炲垹鏀�", "upstream": ["璇鹃鐢虫姤涔�(浠呭鎵逛腑鍙啓)"], "downstream": ["璇鹃鐢虫姤涔�(鍥炲啓 reviewAvgScore/reviewPass)"], "keywords": "涓撳璇勫 璇勫鏄庣粏 璇勫垎 鍔犳潈 鏉冮噸 鎺掑悕 ranking compositeScore 鎺ㄨ崘绔嬮」 璇勫鎰忚 鍧囧垎"},
+    {"name": "妗f鍒嗙被", "module": "妗f绠$悊", "table": "archive_category", "doc": "鏍戝舰涔︽灦鍒嗙被(parentId路0=椤剁骇)锛屾壙杞姐�屽垎灞傚垎鍒椼�嶈鏁达細6 鏉″垵濮嬪垎绫� 浼氬憳妗f member / 璇鹃妗f research / 浼氳妗f meeting / 璐㈠姟妗f finance / 鏂囦功妗f document / 鍏氬缓妗f party锛沜ode 鍏ㄥ眬鍞竴 uk_code锛沝efaultSecretLevel 涓鸿鍒嗙被涓嬫。妗堢殑榛樿瀵嗙骇(1鍏紑/2鍐呴儴/3淇濆瘑锛岃储鍔″垎绫�=3)锛泂tatus 0鍚敤/1鍋滅敤銆備粎鍙敼鍙垹锛屾湁瀛愬垎绫荤鍒犮�佽鍒嗙被涓嬫湁妗f绂佸垹銆佺埗鍒嗙被涓嶈兘璁句负鑷韩鎴栧叾瀛愬垎绫汇�備細璁�/鍏氬缓妗f绯荤粺鍐呮棤鏉ユ簮妯″潡锛屼粎鏀寔鎵嬪伐褰曞叆妗f", "upstream": ["浜哄伐缁存姢(妗f绠$悊鍛�)"], "downstream": ["妗f(鏂板鏃跺甫鍑洪粯璁ゅ瘑绾�)"], "keywords": "妗f鍒嗙被 涔︽灦 鍒嗗眰鍒嗗垪 浼氬憳妗f 璇鹃妗f 浼氳妗f 璐㈠姟妗f 鏂囦功妗f 鍏氬缓妗f category 榛樿瀵嗙骇"},
+    {"name": "妗f", "module": "妗f绠$悊", "table": "archive_document", "doc": "妗f涓昏〃锛岀紪鍙� DA+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)銆傜數瀛愪笌瀹炰綋鍏煎叿锛氱數瀛愯蛋 system 闄勪欢涓績 recordType=archive_document(琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃)銆佸疄浣撹 shelfNo 涔︽灦鍙�/layerNo 灞傚彿/columnNo 鍒楀彿/boxNo 鍐屽彿妗f鐩� + storePlace 瀛樻斁浣嶇疆鎻忚堪銆俢arrierType 1鐢靛瓙/2瀹炰綋/3鐢靛瓙+瀹炰綋锛泂ecretLevel 1鍏紑/2鍐呴儴/3淇濆瘑(涓� 3 涓斿綋鍓嶇敤鎴锋棤 archive:document:sensitive 鏃惰鎯呮姤閿欍�佸垪琛ㄤ笌瀵煎嚭寮哄埗杩囨护)锛泂ourceType 1鎵嬪伐/2璇鹃/3浼氬憳/4璐㈠姟 + sourceNo/sourceId/sourceTitle 璁板綍鏉ユ簮蹇収浠ヤ究妫�绱紱status 10鍦ㄥ簱/20鍊熷嚭涓�(鍊熷嚭涓鏀广�佸瓨鍦ㄦ湭褰掕繕鍊熼槄鍗曟椂绂佸垹)銆傛潵婧愪负 2/3/4 鐨勬。妗堢敱涓夋柟鍒楄〃椤点�屽綊妗c�嶆寜閽粡 ArchiveDocumentApi.archiveBySource 鐢熸垚(骞傜瓑)锛屽苟鍥炲啓鏉ユ簮琛� archive_document_id", "upstream": ["妗f鍒嗙被", "妗f鐧昏(浜哄伐)", "璇鹃褰掓。(宸茬珛椤圭敵鎶ヤ功)", "浼氬憳褰掓。(姝e父浼氬憳)", "璐㈠姟褰掓。(宸查�氳繃鎶ラ攢鍗�)"], "downstream": ["鍊熼槄鍗�", "闄勪欢涓績(recordType=archive_document)", "鏉ユ簮琛� archive_document_id 鍥炲啓"], "keywords": "妗f 鏂囨。 document DA 妗f缂栧彿 瀵嗙骇 淇濆瘑 鍏紑 鍐呴儴 鏁忔劅妗f 杞戒綋 鐢靛瓙 瀹炰綋 涔︽灦鍙� 灞傚彿 鍒楀彿 鍐屽彿 妗f鐩� 褰掓。鏃ユ湡 鍦ㄥ簱 鍊熷嚭涓� 妫�绱� 鍏抽敭璇� tags 鏉ユ簮鍗曞彿 褰掓。鑱斿姩"},
+    {"name": "鍊熼槄鍗�", "module": "妗f绠$悊", "table": "archive_borrow", "doc": "鍊熼槄涓庡綊杩樺悎涓�锛岀紪鍙� JY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)銆傝褰曞�熼槄浜�/閮ㄩ棬/鐢佃瘽銆佸�熼槄鏃ユ湡銆佸�熼槄鐩殑銆佸綊杩樻湡闄�(returnDeadline路閫炬湡瀹炴椂璁$畻鍩哄噯)锛沝ocumentNo/documentTitle 涓烘。妗堝揩鐓с�俿tatus 0鑽夌/15瀹℃壒涓�/20鍊熷嚭涓�/30宸插綊杩�/35宸查┏鍥烇細浠� 0 涓� 35 鍙敼鍙噸鎻愩�佷粎 0 鍙垹銆佷粎 20 鍙櫥璁板綊杩樸�俿ubmit 鍓嶆牎楠屽悓涓�妗f涓嶅緱宸叉湁 15/20 鐨勫�熼槄鍗�(鍛戒腑鎶ュ凡鍊熺敤骞跺甫妗f鍚嶄笌宸插瓨鍦ㄥ�熼槄鍗曞彿)锛涙祦绋� key archive_borrow_approve 涓ょ骇(妗f绠$悊鍛樺鏍糕啋鍒嗙棰嗗瀹℃壒)锛屽墠绔笉鍐欐 key銆傚鎵归�氳繃鐢� ArchiveBorrowStatusListener 鍥炲啓 20+approveTime 骞舵潯浠舵洿鏂版。妗� SET status=20 WHERE status=10(褰卞搷 0 琛屾姤妗f宸茶鍗犵敤骞跺洖婊�)锛涘綊杩樼櫥璁版潯浠舵洿鏂� 20鈫�30 骞跺洖鍐� returnTime/褰掕繕纭浜恒�傞�炬湡涓嶈惤搴擄紝鏌ヨ鏃跺疄鏃剁畻 overdueDays 骞跺湪鍒楄〃娓叉煋绾㈣壊銆岄�炬湡 N 澶┿�嶏紝鍙︽湁 /overdue-page 鐙珛鍏ュ彛", "upstream": ["妗f(浠� 鍦ㄥ簱 10 鍙��)", "BPM(娴佺▼ archive_borrow_approve)", "浜哄伐鐧昏"], "downstream": ["妗f(鐘舵�� 20 鍊熷嚭涓� / 褰掕繕鍥� 10 鍦ㄥ簱)"], "keywords": "鍊熼槄 鍊熼槄鍗� 鍊熼槄鐧昏 褰掕繕 褰掕繕鐧昏 閫炬湡 閫炬湡鏈繕 鍊熼槄浜� 鍊熼槄鐩殑 褰掕繕鏈熼檺 JY 鍊熼槄鍗曞彿 妗f绠$悊鍛樺鏍� 鍒嗙棰嗗瀹℃壒 娴佽浆闂幆"},
     {"name": "缁忚垂鎷ㄤ粯璁板綍", "module": "璇鹃绠$悊", "table": "research_fund_record", "doc": "涓�涓诲琛岀殑鎷ㄦ鍙拌处锛歜atchName 鎵规鍚嶇О/amount 鎷ㄤ粯閲戦/payDate 鎷ㄤ粯鏃ユ湡/payee 鏀舵鍗曚綅/remark锛屽嚟璇侀檮浠惰蛋 system 闄勪欢涓績 recordType=research_fund_record(琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃)銆俿tatus: 0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紝鐢辩郴缁熶笌 BPM 椹卞姩锛屾柊澧�/淇敼鎺ュ彛宸茬Щ闄� status 鍏ュ弬(闃蹭吉閫犮�屽凡鎷ㄤ粯銆�)銆傜櫥璁板嵆涓�鏉¢緳锛氳惤鍙拌处 鈫� 鍚屼竴鎵� blob 鍙岀粦 鈫� 缁� FinanceReimbursementApi 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 骞剁珛鍗虫彁浜� BPM 鈫� 鍥炲啓 reimbursement_id/reimbursement_no 骞剁疆 15锛涘鎵圭粨鏋滅敱鐩戝惉鍣ㄥ洖鍐欙細閫氳繃鈫�20銆侀┏鍥炩啋30(+reject_reason/reject_time)銆佸彇娑堟祦绋嬧啋閫�鍥� 0锛堝彂璧蜂汉鎾ゅ洖鍙��鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛岀姸鎬佷笉鍙橈級銆備粎鐢虫姤鍗� status=20 宸茬珛椤瑰彲鐧昏锛涘嚟璇佸繀濉紱閲戦鏍¢獙锛氬凡鐧昏閲戦(璇ュ崟鍏ㄩ儴璁板綍姹傚拰) + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗� budgetAmount锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊硷紱浠呫�屽緟鎷ㄤ粯銆嶅彲鍒�(鑱斿姩鍒犻櫎璐㈠姟渚ц崏绋挎姤閿�鍗曪紝闈炶崏绋垮垯鎷掔粷)锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢(宸查┏鍥炴敼鍚庢竻绌� reject_reason/reject_time)锛岀紪杈戞椂鎶婃湰琛岄噾棰濆姞鍥炲彲鐢ㄤ綑棰濆睍绀洪伩鍏嶈瑙c�備笌鎶ラ攢鍗曚负杞叧鑱�(鏃犲閿�)锛岃储鍔′晶鐩存帴鍒犲崟浼氱暀涓嬫偓绌� reimbursement_id锛屾鏃朵慨鏀规姤銆屾姤閿�鍗曞凡涓嶅瓨鍦紝璇峰垹闄ゆ湰鏉¤褰曞悗閲嶆柊鐧昏銆�", "upstream": ["璇鹃鐢虫姤涔�(蹇呴』宸茬珛椤�)", "璐㈠姟鎶ラ攢鍗�(1:1 鑷姩鐢熸垚路杞叧鑱� reimbursement_id)"], "downstream": ["鎷ㄤ粯鍑瘉(storage_attachment路recordType=research_fund_record)", "璐㈠姟鎶ラ攢鍗�(鐢熸垚骞舵彁浜ゅ嚭璐β峰鎵圭粨鏋滃洖鍐欐湰鍙拌处)"], "keywords": "缁忚垂鎷ㄤ粯 鎷ㄦ 鎷ㄤ粯璁板綍 鎵规 鎷ㄤ粯閲戦 鍑瘉 寰呮嫧浠� 鎶ラ攢瀹℃壒涓� 宸叉嫧浠� 宸查┏鍥� 椹冲洖鍘熷洜 璐㈠姟鎶ラ攢鍗曞彿 reimbursement_id 鏀舵鍗曚綅 璧勫姪閲戦 棰勭畻 瓒呴 閲嶆柊鍙戣捣鎶ラ攢"}
   ]
 }
diff --git a/docs/project-business/data/roles.json b/docs/project-business/data/roles.json
index cef46d3..98ad5bb 100644
--- a/docs/project-business/data/roles.json
+++ b/docs/project-business/data/roles.json
@@ -23,6 +23,10 @@
     {"role": "鍏ヤ細鐢宠浜�/浼氬憳绠$悊鍛�", "modules": ["UMS"], "operations": ["濉姤涓庝慨鏀瑰叆浼氱敵璇�(涓汉/鍗曚綅)", "涓婁紶璇佹槑鏉愭枡闄勪欢", "鎻愪氦 BPM 瀹℃壒", "浼氬憳鍒楄〃缁存姢涓庝細鍛橀�氳褰曟绱�"], "data": ["ums_application", "ums_member"], "scope": "鏉冮檺鐮� ums:application:create/update/delete/submit 路 ums:member:create/update/delete/query 路 ums:member:directory锛涙棤鏁版嵁鏉冮檺闅旂(鍏ㄥ憳鍙煡閫氳褰曪紝缁存姢绫绘寜閽彟鍑潈闄愮爜)"},
     {"role": "绉樹功澶�/鐞嗕簨浼�(瀹℃壒浜�)", "modules": ["UMS", "BPM"], "operations": ["鍏ヤ細鐢宠涓ょ骇瀹℃壒锛氱涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁�"], "data": ["ums_application(鐘舵�佸洖鍐�)", "bpm_task"], "scope": "瀹℃壒浜虹敱 BPM 娴佺▼瀹氫箟閰嶇疆锛屽悗绔笉鍐欐锛涢�氳繃鍚庣郴缁熻嚜鍔ㄥ缓浼氬憳涓庣櫥褰曡处鍙�"},
     {"role": "璇鹃鐢虫姤浜�/璇鹃绠$悊鍛�", "modules": ["RES"], "operations": ["璇鹃鎸囧崡鍙戝竷涓庢埅姝�(璇鹃绠$悊鍛�)", "鏂板缓涓庝慨鏀硅棰樼敵鎶ヤ功(閫変細鍛樺甫鍑虹敵鎶ヤ汉淇℃伅銆佷笂浼犵敵鎶ラ檮浠�)", "鎻愪氦 BPM 瀹℃壒銆侀┏鍥炲悗淇敼閲嶆彁", "姣忔湀/姣忔壒娆$櫥璁扮粡璐规嫧浠樿褰曚笌鍑瘉", "鍙戝竷绔嬮」閫氱煡"], "data": ["research_guideline", "research_application", "research_topic_review", "research_fund_record"], "scope": "鏉冮檺鐮� research:guideline:create/update/delete/publish 路 research:application:create/update/delete/submit/notice 路 research:review:create/update/delete 路 research:fund:create/update/delete锛涙棤鏁版嵁鏉冮檺闅旂(鍒楄〃涓嶆寜鐢宠浜鸿繃婊�)锛屾寜閽嚟鏉冮檺鐮佹帶鍒�"},
+    {"role": "妗f绠$悊鍛�", "modules": ["ARC"], "operations": ["妗f鍒嗙被(涔︽灦)缁存姢锛氬垎灞傚缓绫汇�佽榛樿瀵嗙骇銆佸惎鐢ㄥ仠鐢�", "妗f鐧昏涓庡鏉′欢妫�绱�/瀵煎嚭锛堢數瀛愰檮浠� + 瀹炰綋浣嶇疆鍥涘瓧娈点�佸瘑绾т笁妗o級", "鍊熼槄鐧昏銆佹彁浜ゅ鎵�", "褰掕繕鐧昏涓庡綊杩樺娉�", "鏌ョ湅妗f缁熻锛堝瓨閲忎笌娴佽浆锛�"], "data": ["archive_category", "archive_document", "archive_borrow"], "scope": "鏉冮檺鐮� archive:category:create/update/delete/query 路 archive:document:create/update/delete/query/export 路 archive:borrow:create/update/delete/query/submit/return 路 archive:stat:query锛涘瘑绾�=淇濆瘑(3) 鐨勬。妗堝彟闇� archive:document:sensitive 鎵嶈兘鏌ョ湅锛屾棤璇ユ潈闄愭椂鍒楄〃涓庡鍑哄己鍒惰繃婊わ紱鏃犳暟鎹潈闄愰殧绂�(鍒楄〃涓嶆寜浜鸿繃婊�)锛屾寜閽嚟鏉冮檺鐮佹帶鍒�"},
+    {"role": "鍊熼槄浜�", "modules": ["ARC"], "operations": ["鐧昏鍊熼槄鍗曪紙閫夊湪搴撴。妗堛�佸~鍊熼槄浜轰俊鎭�/鍊熼槄鏃ユ湡/鍊熼槄鐩殑/褰掕繕鏈熼檺锛�", "鎻愪氦 BPM 鍊熼槄瀹℃壒", "鏌ョ湅鍊熼槄杩涘害锛堣烦 BPM 娴佺▼瀹炰緥璇︽儏锛�"], "data": ["archive_borrow", "archive_document(浠� 鍦ㄥ簱 10 鍙��)"], "scope": "鏉冮檺鐮� archive:borrow:create/query/submit锛涗粎鑽夌(0)涓庡凡椹冲洖(35)鍙敼鍙噸鎻愩�佷粎鑽夌鍙垹锛涘悓涓�妗f涓嶅緱鍚屾椂瀛樺湪瀹℃壒涓�(15)鎴栧�熷嚭涓�(20)鐨勫�熼槄鍗�"},
+    {"role": "妗f绠$悊鍛�/鍒嗙棰嗗(鍊熼槄瀹℃壒浜�)", "modules": ["ARC", "BPM"], "operations": ["鍊熼槄瀹℃壒涓ょ骇锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒", "鍦ㄥ鎵逛腑蹇冮�氳繃鑷畾涔夎〃鍗曞彧璇绘煡鐪嬪�熼槄鍗曚笌妗f淇℃伅"], "data": ["archive_borrow(鐘舵�佸洖鍐�)", "archive_document(鐘舵�侀殢瀹℃壒缁撴灉鏉′欢鏇存柊)", "bpm_task"], "scope": "瀹℃壒浜轰笌瀹℃壒鏂规硶鍦� BPM 娴佺▼瀹氫箟 archive_borrow_approve 鍐呴厤缃�(榛樿渚濇瀹℃壒路瑙掕壊鍏滃簳)锛屽悗绔笉鍐欐瀹℃壒浜猴紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪娴佺▼璁捐鍣ㄦ寜瀹為檯缁勭粐璋冩暣"},
+    {"role": "褰掓。缁忓姙浜�(璇鹃/浼氬憳/璐㈠姟)", "modules": ["ARC", "RES", "UMS", "FIN"], "operations": ["鍦ㄨ棰樼敵鎶ヤ功鍒楄〃瀵广�屽凡绔嬮」銆嶅崟鎹偣銆屽綊妗c��", "鍦ㄤ細鍛樺垪琛ㄥ銆屾甯搞�嶄細鍛樼偣銆屽綊妗c��", "鍦ㄦ姤閿�鍗曞垪琛ㄥ銆屽凡閫氳繃銆嶅崟鎹偣銆屽綊妗c��(涓庡叾鏃㈡湁 20鈫�40 褰掓。鍚屼簨鍔″彔鍔�)"], "data": ["archive_document(鐢熸垚)", "research_application / ums_member / finance_reimbursement(鍥炲啓 archive_document_id)"], "scope": "鏉冮檺鐮� research:application:archive 路 ums:member:archive 路 finance:reimbursement:archive锛涜皟鐢� yudao-module-archive-api 鐨� archiveBySource 骞傜瓑鐢熸垚妗f锛岄噸澶嶇偣鍑荤敱鏉ユ簮渚ф寜閿欒鐮佹嫤鎴苟缁欏嚭宸茬敓鎴愭。妗堢紪鍙�"},
     {"role": "璇勫涓撳/瀛︿細绉樹功澶劼风悊浜嬩細(璇鹃瀹℃壒浜�)", "modules": ["RES", "BPM"], "operations": ["鍦ㄥ鎵逛腑(15)褰曞叆鏈汉鐨勪笓瀹惰瘎鍒嗘槑缁�(鍥涢」鍒嗗�� + 缁撹 + 鎰忚)", "绉樹功澶勫舰寮忓鏌� 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒 涓夎妭鐐归『搴忓鎵�", "鍦ㄥ鎵逛腑蹇冮�氳繃鑷畾涔夎〃鍗曞彧璇绘煡鐪嬬敵鎶ヤ功姝f枃銆佽瘎瀹℃槑缁嗕笌鎷ㄤ粯璁板綍"], "data": ["research_topic_review", "research_application(鐘舵�佸洖鍐�)", "bpm_task"], "scope": "璇勫垎褰曞叆瑕佹眰鐢虫姤鍗曞浜庡鎵逛腑(15)路鐢辫棰樼鐞嗗憳鎴栦笓瀹朵緷鎹� research:review:* 鏉冮檺鐮佹墽琛岋紱瀹℃壒浜轰笌瀹℃壒鏂规硶鍦� BPM 娴佺▼瀹氫箟 research_topic_approve 鍐呴厤缃�(榛樿渚濇瀹℃壒路瑙掕壊鍏滃簳)锛屽悗绔笉鍐欐瀹℃壒浜猴紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣"}
   ]
 }
diff --git a/docs/project-business/index.html b/docs/project-business/index.html
index 741b1a8..a46b01c 100644
--- a/docs/project-business/index.html
+++ b/docs/project-business/index.html
@@ -10,7 +10,7 @@
   --line:#24344f; --text:#dbe4f0; --muted:#8fa1b8;
   --c-base:#8a94a6; --c-sale:#4f9cff; --c-sup:#c9a86a; --c-erp:#5fc79e;
   --c-prod:#e0b34f; --c-wm:#7e6bd6; --c-qc:#e06c6c; --c-dv:#59a8b8;
-  --c-as:#c78bd6; --c-hrm:#9db85a; --c-bpm:#e6a23c; --c-ai:#56c8d8; --c-fin:#3ec9a7; --c-ums:#d6955c; --c-res:#e070a8;
+  --c-as:#c78bd6; --c-hrm:#9db85a; --c-bpm:#e6a23c; --c-ai:#56c8d8; --c-fin:#3ec9a7; --c-ums:#d6955c; --c-res:#e070a8; --c-arch:#7fb3d5;
 }
 *{box-sizing:border-box;margin:0;padding:0}
 html,body{height:100%}
@@ -114,6 +114,7 @@
   <a data-t="flow-finance"><span class="dot" style="background:var(--c-fin)"></span>璐㈠姟鎶ラ攢娴佺▼</a>
   <a data-t="flow-ums"><span class="dot" style="background:var(--c-ums)"></span>浼氬憳鍏ヤ細娴佺▼</a>
   <a data-t="flow-research"><span class="dot" style="background:var(--c-res)"></span>璇鹃绠$悊娴佺▼</a>
+  <a data-t="flow-archive"><span class="dot" style="background:var(--c-arch)"></span>妗f绠$悊娴佺▼</a>
   <div class="group">缁撴瀯涓庢暟鎹�</div>
   <a data-t="relation"><span class="dot" style="background:var(--c-bpm)"></span>绯荤粺鍏崇郴</a>
   <a data-t="dataflow"><span class="dot" style="background:var(--c-fin)"></span>鏁版嵁娴�</a>
@@ -143,6 +144,7 @@
 <section class="page" id="flow-finance"></section>
 <section class="page" id="flow-ums"></section>
 <section class="page" id="flow-research"></section>
+<section class="page" id="flow-archive"></section>
 <section class="page" id="relation">
   <h2 class="pt">绯荤粺鍏崇郴</h2>
   <p class="desc">妯″潡涔嬮棿鐨勮皟鐢ㄤ笌鏁版嵁渚濊禆锛氬疄绾�=鍗曟嵁/鏁版嵁娴佸悜锛岃櫄绾�=瀹℃壒鍥炶皟涓庤緟鍔╄兘鍔涖��</p>
@@ -195,6 +197,7 @@
       "FIN锛堝彂绁ㄦ姤閿�锛岀嫭绔嬫ā鍧楋級",
       "UMS锛堝浼氫細鍛橈紝鐙珛妯″潡锛�",
       "RES锛堢鐮旇棰橈紝鐙珛妯″潡锛�",
+      "ARC锛堟。妗堢鐞嗭紝鐙珛妯″潡锛�",
       "CRM锛堝鎴峰叧绯伙級",
       "SRM锛堜緵搴斿晢鍏崇郴锛�",
       "HRM锛堜汉鍔涜祫婧愶級",
@@ -206,14 +209,14 @@
     "businessPositioning": "璁╁伐鍘傜殑璁㈠崟銆佺墿鏂欍�佺敓浜с�佸簱瀛樸�佽川閲忋�佷汉鍛樸�佽祫閲戝湪涓�涓郴缁熷唴闂幆娴佽浆锛岀鐞嗗眰鍙�氳繃 BI 澶у睆鎺屾彙鍏ㄥ眬銆�",
     "coreChain": "CRM 鍟嗘満/鍚堝悓 鈫� ERP 閿�鍞鍗� 鈫� MES 涓荤敓浜ц鍒�/宸ュ崟/鎶ュ伐 鈫� MES 璐ㄦ涓庝粨鍌� 鈫� 閿�鍞嚭搴撳彂璐� 鈫� 寮�绁ㄥ洖娆� 鈫� 鍞悗闂幆",
     "techBase": "Spring Boot + MyBatis + Flowable + Redis + Quartz/RocketMQ/Kafka + Milvus 鍚戦噺搴� + 閫氫箟鍗冮棶",
-    "database": "MySQL 8.4锛岃繍琛屽簱 mom-jssm 鍏� 427 寮犺〃锛堝惈 system_*銆乥pm_*銆乤ct_* 搴曞骇琛ㄤ笌 mes_*/erp_*/crm_*/srm_*/hrm_*/mdm_*/ai_*/finance_*/ums_*/research_* 涓氬姟琛級锛屽绉熸埛宸插叧闂�",
+    "database": "MySQL 8.4锛岃繍琛屽簱 mom-jssm 鍏� 430 寮犺〃锛堝惈 system_*銆乥pm_*銆乤ct_* 搴曞骇琛ㄤ笌 mes_*/erp_*/crm_*/srm_*/hrm_*/mdm_*/ai_*/finance_*/ums_*/research_*/archive_* 涓氬姟琛級锛屽绉熸埛宸插叧闂�",
     "frontend": "mom-pro2-before锛圴ue3 绠$悊鍚庡彴锛屽悓浠撳簱瀛樻斁锛屽彧璇诲弬鑰冿級"
   },
   "stats": {
-    "businessModules": 16,
-    "coreObjects": 56,
-    "documentFlows": 9,
-    "approvalListeners": 15,
+    "businessModules": 17,
+    "coreObjects": 59,
+    "documentFlows": 10,
+    "approvalListeners": 24,
     "aiCapabilities": 8,
     "wmBillTypes": 15
   },
@@ -344,10 +347,18 @@
     "璇鹃绠$悊锛氱粡璐规嫧浠樺彴璐︾殑銆屽凡鎷ㄤ粯(20)銆嶇瓑浠蜂簬鎶ラ攢鍗曘�屽凡閫氳繃(20)銆嶏紝涓嶅惈鍑虹撼瀹為檯浠樻鍔ㄤ綔锛涜嫢鏃ュ悗闇�瑕佺嫭绔嬬殑銆屽凡浠樻銆嶇姸鎬侊紝闇�鍙﹀鐘舵�佷笌瀹℃壒鑺傜偣銆愪簩鏈熷彲鎵╁睍銆�",
     "璇鹃绠$悊锛氱敵鎶ュ崟涓� ums_member 鏄蒋鍏宠仈锛堟棤澶栭敭锛夛紝浼氬憳琚垹闄ゅ悗鐢虫姤鍗曚細鐣欎笅鎮┖ memberId锛涙垚鍛樺垪琛ㄩ渶瀹归敊灞曠ず銆屼細鍛樺凡鍒犻櫎銆嶃�愬緟纭鏄惁鍔犲閿垨鍒犻櫎淇濇姢銆�",
     "璇鹃绠$悊锛欱PM 娴佺▼ research_topic_approve 涓夎妭鐐归粯璁ゅ鎵逛汉涓恒�岃鑹�=瓒呯骇绠$悊鍛�(1) + 渚濇瀹℃壒銆嶏紝璇� dev 搴撹秴绾х鐞嗗憳瑙掕壊涓嬫湁 4 涓敤鎴凤紙admin/寮犲/椹姵/椹礊锛夛紝姣忎釜鑺傜偣闇� 4 浜轰細绛炬墠鎺ㄨ繘锛涘叏鏂板畨瑁呭簱璇ヨ鑹蹭粎 admin 涓�浜恒�佹祦绋嬪彲寮�绠卞嵆鐢ㄣ�俤ev 搴撻渶鍑忓皯瓒呯骇绠$悊鍛樼敤鎴锋垨鏀瑰湪 BPM 璁捐鍣ㄤ腑涓烘瘡鑺傜偣鎸囧畾瀹℃壒浜恒�愮幆澧冮厤缃」锛岄潪浠g爜缂洪櫡銆�",
-    "璇鹃绠$悊锛氱珛椤归�氱煡澶嶇敤 system_notice 绯荤粺鍏憡锛屼笉鏂板 system_notify_template銆佷笉鍙戠珯鍐呬俊锛涘闇�鐭俊/绔欏唴淇″畾鍚戦�氱煡闇�鍙﹁閰嶇疆銆愬緟纭閫氱煡娓犻亾銆�"
+    "璇鹃绠$悊锛氱珛椤归�氱煡澶嶇敤 system_notice 绯荤粺鍏憡锛屼笉鏂板 system_notify_template銆佷笉鍙戠珯鍐呬俊锛涘闇�鐭俊/绔欏唴淇″畾鍚戦�氱煡闇�鍙﹁閰嶇疆銆愬緟纭閫氱煡娓犻亾銆�",
+    "妗f绠$悊锛氭。妗堝�熼槄 BPM 娴佺▼ archive_borrow_approve 涓烘墜宸ュ鍑洪儴缃蹭骇鐗╋紙_archive_bpm_export.sql 鍐� act_*/bpm 琛ㄧ殑 UUID 涓庢椂闂存埑鍙兘鍦ㄩ儴缃叉椂鐢熸垚锛屾棤娉曢鍐欙級锛屽繀椤诲厛鍦� BPM 妯″瀷閮ㄧ讲鍐嶅鍑哄啀鍚堝苟杩� config_export_all 闃舵涓�锛涢『搴忛敊浼氬鑷存柊搴撳垵濮嬪寲鏃惰娴佺▼缂哄け銆愰儴缃查『搴忕‖绾︽潫锛屽凡鍦ㄦ枃浠跺ご涓� README 鍙岄噸鏍囨敞銆�",
+    "妗f绠$悊锛氳彍鍗� 1075600~1075699 涓庡悇 archive:* 鏉冮檺鐐逛粎鍦ㄥ綊妗h剼鏈腑锛屾櫘閫氳鑹叉湭閰� system_role_menu锛岄潪瓒呯鐧诲綍鐪嬩笉鍒般�屾。妗堢鐞嗐�嶇洰褰曘�愬緟纭鏄惁琛ユ巿鏉冿紝涓庤储鍔℃姤閿�/浼氬憳绠$悊鍚岀被闂銆�",
+    "妗f绠$悊锛氭。妗堜笌鏉ユ簮鍗曟嵁锛堣棰樼敵鎶ヤ功/浼氬憳/鎶ラ攢鍗曪級涓鸿蒋鍏宠仈锛屾潵婧愬崟鎹鍒犻櫎鍚庢。妗堢殑 source_id/source_no 浼氭垚涓烘偓绌哄揩鐓э紱妗f鏈韩涓嶉殢鏉ユ簮鍗曟嵁鍒犻櫎鑰屽垹闄ゃ�愬緟纭鏄惁闇�瑕佸垹闄や繚鎶ゆ垨澶栭敭銆�",
+    "妗f绠$悊锛氶渶姹備腑鐨勩�屽浼氭枃浠躲�佷細璁邯瑕併�佽皟鐮旀姤鍛娿�佸鏈鏂囥�佸悎鍚屽崗璁�嶇瓑鐢靛瓙鏂囨。鐢便�屾枃涔︽。妗堛�嶅垎绫绘壙杞斤紝绯荤粺鍐呮棤瀵瑰簲鏉ユ簮妯″潡锛屼粎鏀寔鎵嬪伐褰曞叆骞舵寕鐢靛瓙闄勪欢锛涘悎鍚屾。妗堟湭绾冲叆鑷姩褰掓。锛堢敤鎴锋槑纭帓闄わ級銆愬凡纭鐨勮竟鐣屻��",
+    "妗f绠$悊锛氶�炬湡鎻愰啋鎸夌敤鎴峰喅绛栦粎鏌ヨ鏃跺疄鏃惰绠楋紙涓嶅缓 infra_job銆佷笉鍙戠珯鍐呬俊锛夛紝鍊熼槄鍒楄〃銆岄�炬湡銆嶅垪涓� /overdue-page 鐙珛鍏ュ彛鍛堢幇锛涜嫢鏃ュ悗闇�瑕佸埌鏈熶富鍔ㄦ帹閫侊紝闇�鍙﹀姞瀹氭椂浠诲姟涓庨�氱煡娓犻亾銆愮敤鎴峰凡纭鐨勭畝鍖栵紝浜屾湡鍙墿灞曘��",
+    "妗f绠$悊锛氥�屽悓涓�妗f浠呭厑璁镐竴鏉℃湭褰掕繕鍊熼槄鍗曘�嶇敱搴旂敤灞� submit 鏍¢獙 + 瀹℃壒閫氳繃鏃舵潯浠舵洿鏂帮紙UPDATE ... WHERE status=10锛夊叡鍚屼繚璇侊紝MySQL 鏃犳硶瀵广�岄儴鍒嗙姸鎬佸敮涓�銆嶅缓绾︽潫锛涙牎楠屼笌鏇存柊涔嬮棿鐨勭悊璁虹獥鍙e凡鏀舵暃涓哄彲鎰熺煡鐨勫啿绐佹姤閿欙紙妗f宸茶鍗犵敤锛夎�岄潪鑴忔暟鎹�愬凡鎺ュ彈鐨勯闄┿��",
+    "妗f绠$悊锛氭。妗堢粺璁℃寜鍒嗙被/瀵嗙骇/杞戒綋涓夌粍 GROUP BY 鑱氬悎锛堟棤 N+1锛夛紝褰撳墠閲忕骇鍙帴鍙楋紱妗f杩囦竾鍚庨渶鏀逛负缂撳瓨鎴栫墿鍖栫粺璁¤〃銆愭湰鏈熶笉鍋氥��",
+    "妗f绠$悊锛氳法妯″潡鏀硅〃鈥斺�攔esearch_application / ums_member / finance_reimbursement 鍚勬柊澧炲彲绌哄垪 archive_document_id锛坅rchive_module_migration.sql 鐢� information_schema 瀹堝崼淇濊瘉骞傜瓑锛夛紝闇�涓庝笁鏂规ā鍧楃‘璁ゅ彉鏇寸獥鍙c�愯法妯″潡鏀硅〃锛屾棤鐮村潖鎬с��"
   ],
   "generatedAt": "2026-09-29",
-  "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛夛紱2026-09-28 澧為噺琛ュ厖 yudao-module-finance 鐙珛璐㈠姟鎶ラ攢妯″潡锛堟姤閿�鍗� + 鏄庣粏 + 鍙戠エ闄勪欢 + BPM 瀹℃壒 + 褰掓。锛変笌 yudao-module-ums 鐙珛浼氬憳绠$悊妯″潡锛堝叆浼氱敵璇� + BPM 涓ょ骇瀹℃壒 + 瀹℃壒閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 + 浼氬憳鍒楄〃/閫氳褰曪級锛�2026-09-28 澧為噺锛欱PM 娴佺▼瀹氫箟 ums_membership_approve锛堝叆浼氬鎵癸級宸插湪 mom-jssm 閮ㄧ讲骞跺苟鍏� config_export_all 闃舵涓�锛堝垎绫� ums_membership_approve锛岀涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁紝涓よ妭鐐瑰鎵逛汉鍧囦负銆岃鑹层�嶇瓥鐣ャ�佽鑹�=瓒呯骇绠$悊鍛�(1) 鍏滃簳锛岃〃鍗曠被鍨�=鑷畾涔夎〃鍗曪紝鏌ョ湅璺緞 /ums/application/detail/approve/index.vue锛夛紱鍚屾椂淇 mom-jssm 鐢� CREATE TABLE ... LIKE 鍏嬮殕瀵艰嚧鐨� 47 涓寚鍚� ruoyi-vue-pro 鐨� act_*/flw_* 璺ㄥ簱澶栭敭锛堥噸寤轰负鎸囧悜 mom-jssm 鑷韩锛屽鍎胯棰勬涓� 0锛夛紱2026-09-28 澧為噺锛氭柊澧� yudao-module-research 鐙珛绉戠爺璇鹃妯″潡涓�鏈燂紙璇鹃鎸囧崡鍙戝竷 + 鍦ㄧ嚎鐢虫姤 + 涓撳璇勫鏄庣粏 + BPM 涓夌骇绔嬮」瀹℃壒 + 绔嬮」閫氱煡鍏憡 + 缁忚垂鎷ㄤ粯璁板綍锛�4 寮� research_* 琛� / 5 涓瓧鍏� / bpm_category id=8002 / 娴佺▼ research_topic_approve / 鑿滃崟 1075510~1075553锛夛紝骞跺苟鍏� config_export_all_20260928 闃舵涓�锛涚敵鎶ヤ汉鍙� ums_member锛堣蒋鍏宠仈锛夈�佺珛椤归�氱煡澶嶇敤 system_notice 鍏憡銆佹嫧娆惧嚟璇佽蛋 system 闄勪欢涓績 recordType=research_fund_record锛�2026-09-29 澧為噺锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� yudao-module-finance-api锛團inanceReimbursementApi锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ鍥涙柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤闇� Feign锛夛紝璇鹃渚х櫥璁版嫧娆炬椂 1:1 鑷姩鐢熸垚 finance_reimbursement锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬 5銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽鏄�=銆岃棰樸�斿悕銆曠 N 鏈熸嫧娆俱�嶏級骞剁珛鍗虫彁浜� BPM锛屽洖鍐� reimbursement_id/reimbursement_no銆佸彴璐︾疆銆屾姤閿�瀹℃壒涓�(15)銆嶏紱鍑瘉鏀逛负鐧昏鏃跺繀濉苟鍙岀粦锛坮esearch_fund_record + finance_reimbursement锛夛紱鏂板 ResearchFundStatusListener锛堢 15 涓笟鍔$洃鍚櫒锛屼笌 finance 鑷繁鐨� FinanceReimbursementStatusListener 璁㈤槄鍚屼竴娴佺▼ key 骞惰瑙﹀彂锛夋寜瀹℃壒缁撴灉鍥炲啓鍙拌处锛氶�氳繃鈫掑凡鎷ㄤ粯(20)銆侀┏鍥炩啋宸查┏鍥�(30)+椹冲洖鍘熷洜/鏃堕棿銆佸彇娑堟祦绋嬧啋閫�鍥炲緟鎷ㄤ粯(0)鍙敼鍚庡彲閲嶆柊鍙戣捣锛堝彂璧蜂汉鎾ゅ洖鍙妸瀹炰緥閫�鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屼笉瑙﹀彂鍥炲啓锛屽彴璐︿繚鎸� 15锛夛紱鏂伴�� 2 鑺傜偣 BPMN docs/sql/finance_reimbursement_approve.bpmn锛堣储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛宑ategory id=216 宸插瓨鍦級锛�2026-09-29 宸插湪 mom-jssm 閮ㄧ讲涓虹増鏈� 1锛坒orm_type=20銆佽嚜瀹氫箟琛ㄥ崟鍒涘缓璺緞 /finance/reimbursement/index銆佹煡鐪嬭矾寰� /finance/reimbursement/detail/approve/index.vue锛夊苟骞跺叆 config_export_all_20260929 闃舵涓�锛屼袱绾у鎵瑰叏閫氳繃/椹冲洖/鍙栨秷涓夋潯鍥炲啓閾捐矾鍧囧凡绔埌绔獙璇�"
+  "analysisBasis": "鍩轰簬 dev_business 鍒嗘敮 87bf4a99 婧愮爜锛�6 缁勫苟琛屾簮鐮佽蛋璇伙紙MES 鐢熶骇璐ㄩ噺 / MES 浠撳偍 / ERP / CRM+SRM / 鍞悗+HRM / AI+BI+MDM+BPM+搴曞骇锛夛紱2026-09-28 澧為噺琛ュ厖 yudao-module-finance 鐙珛璐㈠姟鎶ラ攢妯″潡锛堟姤閿�鍗� + 鏄庣粏 + 鍙戠エ闄勪欢 + BPM 瀹℃壒 + 褰掓。锛変笌 yudao-module-ums 鐙珛浼氬憳绠$悊妯″潡锛堝叆浼氱敵璇� + BPM 涓ょ骇瀹℃壒 + 瀹℃壒閫氳繃鑷姩寤轰細鍛樹笌鐧诲綍璐﹀彿 + 浼氬憳鍒楄〃/閫氳褰曪級锛�2026-09-28 澧為噺锛欱PM 娴佺▼瀹氫箟 ums_membership_approve锛堝叆浼氬鎵癸級宸插湪 mom-jssm 閮ㄧ讲骞跺苟鍏� config_export_all 闃舵涓�锛堝垎绫� ums_membership_approve锛岀涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁紝涓よ妭鐐瑰鎵逛汉鍧囦负銆岃鑹层�嶇瓥鐣ャ�佽鑹�=瓒呯骇绠$悊鍛�(1) 鍏滃簳锛岃〃鍗曠被鍨�=鑷畾涔夎〃鍗曪紝鏌ョ湅璺緞 /ums/application/detail/approve/index.vue锛夛紱鍚屾椂淇 mom-jssm 鐢� CREATE TABLE ... LIKE 鍏嬮殕瀵艰嚧鐨� 47 涓寚鍚� ruoyi-vue-pro 鐨� act_*/flw_* 璺ㄥ簱澶栭敭锛堥噸寤轰负鎸囧悜 mom-jssm 鑷韩锛屽鍎胯棰勬涓� 0锛夛紱2026-09-28 澧為噺锛氭柊澧� yudao-module-research 鐙珛绉戠爺璇鹃妯″潡涓�鏈燂紙璇鹃鎸囧崡鍙戝竷 + 鍦ㄧ嚎鐢虫姤 + 涓撳璇勫鏄庣粏 + BPM 涓夌骇绔嬮」瀹℃壒 + 绔嬮」閫氱煡鍏憡 + 缁忚垂鎷ㄤ粯璁板綍锛�4 寮� research_* 琛� / 5 涓瓧鍏� / bpm_category id=8002 / 娴佺▼ research_topic_approve / 鑿滃崟 1075510~1075553锛夛紝骞跺苟鍏� config_export_all_20260928 闃舵涓�锛涚敵鎶ヤ汉鍙� ums_member锛堣蒋鍏宠仈锛夈�佺珛椤归�氱煡澶嶇敤 system_notice 鍏憡銆佹嫧娆惧嚟璇佽蛋 system 闄勪欢涓績 recordType=research_fund_record锛�2026-09-29 澧為噺锛氳棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�鈥斺�旀柊寤� yudao-module-finance-api锛團inanceReimbursementApi锛氬缓鍗�+鎻愪氦/鏀瑰崟+閲嶆彁/鍒犻櫎/鏌ヨ鍥涙柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤闇� Feign锛夛紝璇鹃渚х櫥璁版嫧娆炬椂 1:1 鑷姩鐢熸垚 finance_reimbursement锛堢郴缁熺敓鎴� 1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬 5銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽鏄�=銆岃棰樸�斿悕銆曠 N 鏈熸嫧娆俱�嶏級骞剁珛鍗虫彁浜� BPM锛屽洖鍐� reimbursement_id/reimbursement_no銆佸彴璐︾疆銆屾姤閿�瀹℃壒涓�(15)銆嶏紱鍑瘉鏀逛负鐧昏鏃跺繀濉苟鍙岀粦锛坮esearch_fund_record + finance_reimbursement锛夛紱鏂板 ResearchFundStatusListener锛堢 15 涓笟鍔$洃鍚櫒锛屼笌 finance 鑷繁鐨� FinanceReimbursementStatusListener 璁㈤槄鍚屼竴娴佺▼ key 骞惰瑙﹀彂锛夋寜瀹℃壒缁撴灉鍥炲啓鍙拌处锛氶�氳繃鈫掑凡鎷ㄤ粯(20)銆侀┏鍥炩啋宸查┏鍥�(30)+椹冲洖鍘熷洜/鏃堕棿銆佸彇娑堟祦绋嬧啋閫�鍥炲緟鎷ㄤ粯(0)鍙敼鍚庡彲閲嶆柊鍙戣捣锛堝彂璧蜂汉鎾ゅ洖鍙妸瀹炰緥閫�鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屼笉瑙﹀彂鍥炲啓锛屽彴璐︿繚鎸� 15锛夛紱鏂伴�� 2 鑺傜偣 BPMN docs/sql/finance_reimbursement_approve.bpmn锛堣储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛宑ategory id=216 宸插瓨鍦級锛�2026-09-29 宸插湪 mom-jssm 閮ㄧ讲涓虹増鏈� 1锛坒orm_type=20銆佽嚜瀹氫箟琛ㄥ崟鍒涘缓璺緞 /finance/reimbursement/index銆佹煡鐪嬭矾寰� /finance/reimbursement/detail/approve/index.vue锛夊苟骞跺叆 config_export_all_20260929 闃舵涓�锛屼袱绾у鎵瑰叏閫氳繃/椹冲洖/鍙栨秷涓夋潯鍥炲啓閾捐矾鍧囧凡绔埌绔獙璇侊紱2026-09-29 澧為噺锛氭柊澧� yudao-module-archive 鐙珛妗f绠$悊妯″潡 + yudao-module-archive-api锛圓rchiveDocumentApi锛歛rchiveBySource 鎸� sourceType+sourceId 骞傜瓑褰掓。 / isArchived / getBySource 涓夋柟娉曪紝鏈湴 Spring Bean 璋冪敤锛屾棤 Feign锛夛紝瑕嗙洊涔︽灦鍒嗙被锛坅rchive_category 鏍戝舰銆乧ode 鍞竴銆乨efaultSecretLevel 榛樿瀵嗙骇銆�6 鏉″垵濮嬪垎绫伙細浼氬憳/璇鹃/浼氳/璐㈠姟/鏂囦功/鍏氬缓锛岃储鍔¢粯璁ゅ瘑绾�=淇濆瘑 3锛夈�佹。妗堢鐞嗭紙archive_document锛欴A+yyyyMMdd+6 浣嶆祦姘寸紪鍙枫�佸瘑绾т笁妗� 1 鍏紑 2 鍐呴儴 3 淇濆瘑銆佽浇浣撲笁鍨� 1 鐢靛瓙 2 瀹炰綋 3 鐢靛瓙+瀹炰綋銆佸疄浣撲綅缃洓瀛楁 shelfNo/layerNo/columnNo/boxNo + storePlace銆佹潵婧愬洓绫� sourceType 1 鎵嬪伐 2 璇鹃 3 浼氬憳 4 璐㈠姟甯� sourceNo/sourceId/sourceTitle 鍐椾綑蹇収銆佺姸鎬� 10 鍦ㄥ簱 20 鍊熷嚭涓�佺數瀛愰檮浠惰蛋 system 闄勪欢涓績 recordType=archive_document銆乤rchiveBySource 骞傜瓑鐭矾 + 涓夋柟琛� archive_document_id 鍥炲啓浣滀负宸插綊妗g‖鏍囪锛岄噸澶嶅綊妗g敱鏉ユ簮渚ч敊璇爜鎷︽埅涓� archive 渚� DOCUMENT_DUPLICATE_SOURCE 鍏滃簳锛夈�佸�熼槄鐧昏涓庡鎵癸紙archive_borrow锛欽Y+鍚岀骇娴佹按缂栧彿銆佸�熼槄浜轰俊鎭�/鍊熼槄鐩殑/褰掕繕鏈熼檺銆佺姸鎬� 0 鑽夌 15 瀹℃壒涓� 20 鍊熷嚭涓� 30 宸插綊杩� 35 宸查┏鍥烇紝浠� 0/35 鍙敼鍙噸鎻愩�佷粎 0 鍙垹銆佷粎 20 鍙櫥璁板綊杩橈紱submit 鍓嶆牎楠屽悓妗f涓嶅緱宸叉湁 15/20 鍦ㄩ�斿�熼槄锛屽厛瑙f瀽娴佺▼鍐嶅缓鍗曟潨缁濆鍎胯崏绋匡紱BPM 娴佺▼ archive_borrow_approve 涓ょ骇锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛涚洃鍚櫒 ArchiveBorrowStatusListener 鎸� businessKey 鍥炲啓 20+approveTime / 35+椹冲洖鍘熷洜鏃堕棿 / 閫�鍥� 0锛屽鎵归�氳繃鏃舵潯浠舵洿鏂版。妗� SET status=20 WHERE status=10锛�0 琛屽垯鎶ユ。妗堝凡琚崰鐢ㄥ苟鍥炴粴锛夈�佸綊杩樼櫥璁帮紙鏉′欢鏇存柊 20鈫�30 + returnTime/褰掕繕纭浜猴紝鍐嶆妸妗f鏉′欢鏇存柊鍥� 10锛屽舰鎴愰棴鐜級銆侀�炬湡瀹炴椂璁$畻锛坥verdue=status==20 涓� returnDeadline<浠婂ぉ锛屼笉寤� infra_job 涓嶅彂绔欏唴淇★紝鍒楄〃銆岄�炬湡銆嶅垪 + /archive/borrow/overdue-page 鐙珛鍏ュ彛锛夈�佹。妗堢粺璁★紙4 鍗$墖锛氭�绘暟/鍦ㄥ簱/鍊熷嚭/閫炬湡 + 鍒嗙被/瀵嗙骇/杞戒綋涓夌粍 GROUP BY 鑱氬悎锛屾棤 N+1锛夛紱鏁忔劅妗f鐢ㄥ瘑绾у瓧娈� + 鐙珛鏉冮檺鐐� archive:document:sensitive锛�/get 瓒婃潈鎶� DOCUMENT_SENSITIVE_NO_PERMISSION銆�/page 涓� /export-excel 寮哄埗杩囨护 secret_level<>3锛岀粺涓�璧� applySecretLevelFilter / validateSecretLevelVisible 涓ょ鏈夋柟娉曪紱鏂板 3 寮犺〃 archive_category/archive_document/archive_borrow銆�6 涓瓧鍏革紙82000~82005锛夈�乥pm_category id=8003 + 鎵嬪啓 docs/sql/archive_borrow_approve.bpmn锛坈ategory=archive_borrow_approve銆乫orm_type=20銆佸垱寤鸿矾寰� /archive/borrow/index銆佹煡鐪嬭矾寰� /archive/borrow/detail/approve/index.vue锛夊凡鍦� mom-jssm 閮ㄧ讲涓虹増鏈� 1銆佽彍鍗� 1075600~1075699锛涗笁鏂瑰綊妗h仈鍔ㄤ负鍒楄〃椤垫墜鍔ㄣ�屽綊妗c�嶆寜閽紙闈炰簨浠堕┍鍔紝褰掓。涓嶅洖鍐欐潵婧愪笟鍔$姸鎬侊級锛氳棰� research_application status=20 宸茬珛椤� 鈫� sourceType=2 瀵嗙骇 2 鍐呴儴 sourceNo=绔嬮」缂栧彿锛涗細鍛� ums_member status=1 姝e父 鈫� sourceType=3锛涜储鍔� finance_reimbursement status=20 鈫� sourceType=4 瀵嗙骇 3 淇濆瘑锛屼笌鏃㈡湁 20鈫�40 + archiveTime 鍚屼簨鍔″彔鍔狅紱涓夊紶鏉ユ簮琛ㄥ悇鏂板鍙┖鍒� archive_document_id锛坅rchive_module_migration.sql 鐢� information_schema 瀹堝崼淇濊瘉骞傜瓑锛夈�傚叏搴撹〃鏁� 427鈫�430锛涗笟鍔$姸鎬佺洃鍚櫒瀹為檯璁℃暟淇涓� 24 涓� *StatusListener锛�14 涓户鎵� BpmProcessInstanceStatusEventListener锛夈�傛湰妯″潡涓嶅弽鍚戜緷璧� ums/finance/research锛屼粎鎻愪緵 -api 瀛愭ā鍧楃敱涓夋柟鎵嬪姩璋冪敤锛涗緷璧栨柟鍚� research/ums/finance 鈫� archive-api锛屾棤鐜�傛湰娆″悓姝ユ洿鏂扮殑涓氬姟鍙鍖栦骇鐗╋細鏂板 mermaid/15-archive-flow.mmd锛屽閲忎慨璁� 01-business-mindmap / 08-module-relation / 09-data-flow / 10-business-object锛屼互鍙� data/modules.json锛堟柊澧� arc 妯″潡銆乥pm 鐩戝惉鍣ㄨ鏁� 15鈫�24锛夈�乷bjects.json锛堟柊澧炴。妗堝垎绫�/妗f/鍊熼槄鍗� 3 瀵硅薄 + 璇鹃鐢虫姤涔�/浼氬憳/鎶ラ攢鍗曞悇琛� archive_document_id锛夈�乫lows.json锛堟柊澧� archive 娴佺▼ 9 姝ワ級銆乺oles.json锛堟柊澧炴。妗堢鐞嗗憳/鍊熼槄浜�/鍊熼槄瀹℃壒浜�/褰掓。缁忓姙浜� 4 瑙掕壊锛夈�乥usiness.json"
 }</script>
 <script type="application/json" id="data-modules">{
   "modules": [
@@ -464,10 +475,19 @@
      "upstream": ["浼氬憳绠$悊(ums_member 鍙栫敵鎶ヤ汉濮撳悕/鍗曚綅/鑱岀О/鐢佃瘽)", "BPM(娴佺▼瀹氫箟 research_topic_approve / finance_reimbursement_approve)"],
      "downstream": ["system(system_notice 绔嬮」閫氱煡鍏憡)", "system(闄勪欢涓績)", "璐㈠姟(缁忚垂鎷ㄤ粯鐢熸垚 finance_reimbursement 鎶ラ攢鍗暵峰凡瀵规帴)"],
      "coreTables": ["research_guideline", "research_application", "research_topic_review", "research_fund_record"]},
+    {"key": "arc", "name": "妗f绠$悊锛堢嫭绔嬶級", "color": "#7fb3d5", "tag": "ARC", "flow": "archive",
+     "positioning": "瀛︿細/鍗忎細鍨嬪疄浣撲笌鐢靛瓙妗f鍏ㄧ敓鍛藉懆鏈燂細鍒嗙被涔︽灦瑙勬暣 鈫� 妗f鐧昏涓庢绱� 鈫� 鍊熼槄瀹℃壒 鈫� 褰掕繕闂幆 鈫� 瀛橀噺涓庢祦杞粺璁★紝骞舵帴鏀惰棰�/浼氬憳/璐㈠姟涓夋柟鐨勫綊妗h仈鍔�",
+     "problem": "璇鹃鏉愭枡銆佷細鍛樻潗鏂欍�佽储鍔″嚟璇佹暎钀藉悇妯″潡鏃犲褰掗泦锛涚焊璐ㄦ。妗堝瓨鏀句綅缃潬绾夸笅鍙拌处锛屽�熼槄涓庡綊杩樻棤鐣欑棔銆侀�炬湡鏃犱汉绠★紱璐㈠姟绛夋晱鎰熸。妗堟棤瀵嗙骇绠℃帶",
+     "features": ["妗f鍒嗙被鏍�(涔︽灦路鍒嗗眰鍒嗗垪)锛氫細鍛�/璇鹃/浼氳/璐㈠姟/鏂囦功/鍏氬缓 6 鏉″垵濮嬪垎绫宦风紪鐮佸敮涓�路鏀寔鐖跺瓙灞傜骇", "鍒嗙被榛樿瀵嗙骇(璐㈠姟鍒嗙被=淇濆瘑)路鍒嗙被鏈夊瓙鍒嗙被鎴栦笅鏈夋。妗堢鍒�", "妗f涓昏〃锛氱數瀛愰檮浠� + 瀹炰綋浣嶇疆鍥涘瓧娈�(涔︽灦鍙�/灞傚彿/鍒楀彿/鍐屽彿妗f鐩�)+瀛樻斁浣嶇疆鎻忚堪", "妗f缂栧彿 DA+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)路鍊熼槄鍗曞彿 JY+鍚屾棩娴佹按", "瀵嗙骇涓夋。 鍏紑1/鍐呴儴2/淇濆瘑3 + 鐙珛鏉冮檺鐐� archive:document:sensitive(鏃犳潈闄愭椂鍒楄〃涓庡鍑哄己鍒惰繃婊ゃ�佽鎯呮姤閿�)", "杞戒綋涓夊瀷 鐢靛瓙1/瀹炰綋2/鐢靛瓙+瀹炰綋3", "鏉ユ簮鍥涚被 鎵嬪伐1/璇鹃2/浼氬憳3/璐㈠姟4(璁板綍鏉ユ簮鍗曞彿/ID/鏍囬蹇収渚夸簬妫�绱�)", "鍏ㄥ瓧娈垫绱細鏍囬/鍏抽敭璇� tags/鏉ユ簮鍗曞彿/鍒嗙被/瀵嗙骇/杞戒綋/鐘舵��/褰掓。鏃ユ湡鍖洪棿 + Excel 瀵煎嚭", "鍊熼槄鐧昏(鍊熼槄浜�/閮ㄩ棬/鐢佃瘽/鏃ユ湡/鐩殑/褰掕繕鏈熼檺)+BPM 涓ょ骇瀹℃壒(妗f绠$悊鍛樺鏍糕啋鍒嗙棰嗗瀹℃壒)路娴佺▼ key=archive_borrow_approve", "褰掕繕鐧昏锛氬疄鏃舵洿鏂版。妗堢姸鎬佸洖銆屽湪搴撱�嶏紝褰㈡垚瀹屾暣娴佽浆闂幆", "閫炬湡鏈繕浠呮煡璇㈡椂瀹炴椂璁$畻(overdueDays)路鍒楄〃绾㈣壊銆岄�炬湡 N 澶┿�峊ag + /overdue-page 鐙珛鍏ュ彛 + 銆屽彧鐪嬮�炬湡銆嶅垏鎹⒙蜂笉寤� infra_job 涓嶅彂绔欏唴淇�", "妗f缁熻锛氭�绘暟/鍦ㄥ簱/鍊熷嚭涓�/閫炬湡鏈繕 + 鎸夊垎绫�/瀵嗙骇/杞戒綋涓夌粍鍒嗗竷(4 鍗$墖 + 3 鍥捐〃)", "瀵瑰鎻愪緵 yudao-module-archive-api(ArchiveDocumentApi锛歛rchiveBySource 骞傜瓑/ isArchived / getBySource)渚涜棰樎蜂細鍛樎疯储鍔′笁鏂规墜鍔ㄥ綊妗�", "闄勪欢璧� system 闄勪欢涓績(recordType=archive_document / archive_borrow)"],
+     "objects": ["妗f鍒嗙被", "妗f", "鍊熼槄鍗�"],
+     "roles": ["妗f绠$悊鍛�", "鍒嗙棰嗗(鍊熼槄瀹℃壒)", "鍊熼槄浜�", "褰掓。缁忓姙浜�(璇鹃/浼氬憳/璐㈠姟)"],
+     "upstream": ["璇鹃绠$悊(宸茬珛椤圭敵鎶ヤ功路archiveApplication)", "浼氬憳绠$悊(姝e父浼氬憳路archiveMember)", "璐㈠姟鎶ラ攢(宸查�氳繃鎶ラ攢鍗暵锋棦鏈� archive 鍙犲姞)", "BPM(娴佺▼瀹氫箟 archive_borrow_approve)"],
+     "downstream": ["system(闄勪欢涓績 storage_attachment)", "鏉ユ簮琛ㄥ洖鍐� archive_document_id"],
+     "coreTables": ["archive_category", "archive_document", "archive_borrow"]},
     {"key": "bpm", "name": "鍗忓悓瀹℃壒", "color": "#e6a23c", "tag": "BPM", "flow": null,
      "positioning": "鍏ㄧ郴缁熷崟鎹鎵逛腑鏋紙Flowable锛�",
      "problem": "澶氭ā鍧楀崟鎹渶瑕佺伒娲诲彲閰嶇殑澶氱骇瀹℃壒",
-     "features": ["BPMN+閽夐拤椋庢牸鍙岃璁″櫒", "娴佺▼瀹氫箟閮ㄧ讲", "瀹℃壒浜嬩欢缁熶竴鍥炶皟(BpmProcessInstanceStatusEvent)", "15涓笟鍔$洃鍚櫒(鍚屼竴娴佺▼ key 鍏佽澶氫釜鐩戝惉鍣ㄥ苟琛屄峰悇鑷寜 key 杩囨护)", "琛ㄥ崟路鐢ㄦ埛缁劼锋妱閫伮峰姞绛�"],
+     "features": ["BPMN+閽夐拤椋庢牸鍙岃璁″櫒", "娴佺▼瀹氫箟閮ㄧ讲", "瀹℃壒浜嬩欢缁熶竴鍥炶皟(BpmProcessInstanceStatusEvent)", "24涓笟鍔$姸鎬佺洃鍚櫒(*StatusListener路鍚屼竴娴佺▼ key 鍏佽澶氫釜鐩戝惉鍣ㄥ苟琛屄峰悇鑷寜 key 杩囨护路妗f鍊熼槄 ArchiveBorrowStatusListener 涓庤储鍔�/璇鹃鐩戝惉鍣ㄨ闃呬笉鍚� key 浜掍笉骞叉壈)", "琛ㄥ崟路鐢ㄦ埛缁劼锋妱閫伮峰姞绛�"],
      "objects": ["娴佺▼妯″瀷", "娴佺▼瀹炰緥", "瀹℃壒浠诲姟"],
      "roles": ["瀹℃壒浜�(鎸夋祦绋嬮厤缃�)", "娴佺▼绠$悊鍛�"],
      "upstream": ["鍚勪笟鍔℃彁浜ゅ鎵�"], "downstream": ["鍥炶皟鏇存柊鍚勪笟鍔″崟鎹姸鎬�"],
@@ -537,13 +557,16 @@
     {"name": "鎺掔彮璁″垝", "module": "璁惧", "table": "mes_cal_plan", "doc": "鐝粍脳鐝脳鏃ユ湡鎺掔彮锛屼緵鐢熶骇涓庤�冨嫟寮曠敤", "upstream": [], "downstream": ["鐢熶骇浠诲姟", "鑰冨嫟"], "keywords": "鎺掔彮 鐝粍 鐝 鏃ュ巻"},
     {"name": "鎶ュ憡妯℃澘", "module": "璐ㄦ鎶ュ憡", "table": "qc_report_template", "doc": "鏅鸿兘璐ㄦ鎶ュ憡妯℃澘锛屽惎鐢�0/鍋滅敤1锛涚敾甯冨唴瀹瑰瓨鍦� qc_report_template_version锛堣崏绋�0/宸插彂甯�1/宸插仠鐢�2锛屽凡鍙戝竷涓嶅彲瑕嗙洊锛夛紝currentVersion 鎸囧悜褰撳墠宸插彂甯冪増鏈紱婧愭枃浠剁粡 AI 瀵煎叆璇嗗埆鎴愯崏绋垮悗鐢变汉宸ョ‘璁ゆ墠鎴愪负鐗堟湰锛涘悓涓�妯℃澘閲嶅瀵煎叆鎸夈�愭浛鎹€�戝鐞嗏�斺�斿厛鍒犳棫闄勪欢锛堣繛甯� blob 琛屼笌纾佺洏鏂囦欢锛夊啀缁戞柊鐨勶紝涓嶇暀瀛ゅ効鏂囦欢锛涘垹闄ゆā鏉夸細杩炲甫娓呴檮浠�", "upstream": ["浜哄伐璁捐(GrapesJS 璁捐鍣�)", "AI 瀵煎叆鑽夌(qc-report/ai-import/draft)"], "downstream": ["妯℃澘鐗堟湰", "鎶ュ憡瀹炰緥"], "keywords": "鎶ュ憡妯℃澘 璐ㄦ鎶ュ憡 template 璁捐鍣� 鐗堟湰 AI瀵煎叆 璇嗗埆 鑽夌 婧愭枃浠舵浛鎹�"},
     {"name": "鎶ュ憡瀹炰緥", "module": "璐ㄦ鎶ュ憡", "table": "qc_report_instance", "doc": "鍑轰欢浜х墿锛岀紪鍙� QR+yyyyMMdd+4浣嶆祦姘存寜澶╃嫭绔嬩笖涓氬姟鍞竴锛屽彲鏄惧紡鎸囧畾瑕嗙洊锛堟敞鎰� uk_report_no 涓嶅尯鍒嗚蒋鍒犻櫎锛屽垹鎺夌殑鍙蜂笉鍥炴敹锛夛紱涓ゆ潯鍑轰欢鍏ュ彛锛氶�氱敤 generate锛堣皟鐢ㄦ柟鑷甫 context锛変笌 generate-from-qc锛堟暟鎹粠 MES 璐ㄦ鍗曞彇锛屾潈闄愮爜 qc-report:instance:generate 宸插叆 system_menu id=1075416锛屼簲閬撴牎楠屾寜涓氬姟浼樺厛绾у彧鎶ョ涓�澶勶細105_000 绫诲瀷闈炴硶 / 105_001 鍗曟嵁涓嶅瓨鍦� / 105_002 鏈畬鎴� / 105_003 鏈垽瀹� / 105_005 妯℃澘绫诲瀷涓嶇 / 105_006 鏃犲彲鐢ㄦ楠岄」锛涘洓寮犺川妫�鍗曞垪琛ㄧ殑琛屾搷浣溿�屽嚭鎶ュ憡銆嶄粎鍦� status=宸插畬鎴愭椂鍙锛屽脊绐楀彧鍒� reportType 涓�鑷淬�佹ā鏉垮惎鐢ㄣ�佷笖 currentVersion 鎸囧悜鐨勭増鏈凡鍙戝竷鐨勬ā鏉匡紙鍚庣 /qc-report/template/selectable 鍒ゅ畾鈥斺�斿仠鐢ㄧ増鏈笉娓呯┖ currentVersion锛屽墠绔嬁鍒嗛〉缁撴灉鑷繁鎺ㄥ浼氭紡锛夛紝缁撴灉灏卞湴灞曠ず骞惰烦鏈〉鍒楄〃锛夛紱鍐荤粨 data_snapshot锛堝垽瀹氬悗鏁版嵁锛屽惈鍚庣绠楀ソ鐨� PASS/FAIL 涓庡悎鏍肩巼锛変笌 render_html锛況egenerate 鍙噸娓叉帓鐗堛�佹暟鎹笌缂栧彿涓嶅彉锛沚usiness_id/business_type 瀛� MES 琛ㄥ悕锛坢es_qc_iqc 绛夛級涓庡崟鎹� ID锛屽彲鍙嶆煡銆佷竴鍗曞彲鍑哄浠斤紱鎶ュ憡澶村彟甯﹀崟鎹師鍒ゅ畾 qcResult(鏁�)/qcResultText(涓枃锛屽悎鏍�/鐗归噰/涓嶅悎鏍奸��璐�/涓嶅悎鏍兼姤搴�)锛屼笌寮曟搸涓夋�佸垽瀹氬苟瀛樹簰涓嶈鐩栵紱鍝嶅簲甯� undecidableCount=蹇収涓� result 涓虹┖涓茬殑椤规暟涓� warnings锛堝垎缁勬爣棰樿烦杩�/鎸囨爣宸插垹/鏈綍瀹炴祴鍊�/鏍峰搧瓒�3锛夛紝涓よ�呴兘涓嶈惤搴撱�佷簨鍚庣湅涓嶅埌", "upstream": ["鎶ュ憡妯℃澘鐗堟湰", "璐ㄦ鍗曚笂涓嬫枃(閫氱敤 generate 鐢辫皟鐢ㄦ柟浼犲叆)", "MES 璐ㄦ鍗� IQC/IPQC/OQC/RQC(generate-from-qc 缁� MesQcReportApi 鍙栨暟)"], "downstream": ["鍓嶇瀹炰緥椤� /qc/report-instance(鍒楄〃路iframe棰勮路蹇収椤电路瀵煎嚭PDF)", "PDF褰掓。(system_storage_attachment recordType=qc_report_instance)"], "keywords": "鎶ュ憡瀹炰緥 鍑轰欢 QR缂栧彿 蹇収 澶嶇幇 regenerate PDF褰掓。 鎶ュ憡瀹炰緥椤� 瀵煎嚭PDF generate-from-qc 璐ㄦ鍗曞嚭鎶ュ憡 鍑烘姤鍛婂脊绐� qcResult undecidableCount warnings 寰呭垽瀹� 鍙嶆煡 涓氬姟鍗曟嵁绛涢��"},
-    {"name": "鎶ラ攢鍗�", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement", "doc": "鍗曞彿鍙嚜瀹氫箟(涓棿涓嶅厑璁哥┖鏍硷紝涓庡凡鏈夊崟鍙烽噸澶嶅垯鎶ラ敊)锛涙柊澧炴椂鐣欑┖鎴栫函绌烘牸鐢辩郴缁熺敓鎴� BX+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屼慨鏀规椂鐣欑┖琛ㄧず淇濇寔涓嶅彉銆俿tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥�/40宸插綊妗o紱浠呰崏绋垮彲鍒犮�佽崏绋夸笌宸查┏鍥炲彲鏀广�佷粎宸查�氳繃鍙綊妗o紱鎻愪氦鍚庣敱 BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓鐘舵��(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑 processInstanceId 琚洖鍐欍�傛潵婧愪袱鏉★細鈶� 璐㈠姟妯″潡椤甸潰浜哄伐濉姤 鈶¤棰樼鐞嗐�岀粡璐规嫧浠樸�嶇粡 FinanceReimbursementApi(yudao-module-finance-api)鑷姩寤哄崟骞剁珛鍗虫彁浜�(1:1銆侀噾棰濅竴鑷淬�佺郴缁熷浐瀹� 1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬)鈥斺�斿悗鑰呯殑瀹℃壒缁撴灉鐢辫棰樹晶 ResearchFundStatusListener 璁㈤槄鍚屼竴娴佺▼鍥炲啓鎷ㄦ鍙拌处锛屾姤閿�鍗曟湰韬笉鍥炲啓浠讳綍澶栭儴鍗曟嵁", "upstream": ["璇鹃绠$悊(缁忚垂鎷ㄤ粯路缁� FinanceReimbursementApi 鑷姩寤哄崟)", "浜哄伐濉姤"], "downstream": ["鎶ラ攢鏄庣粏", "鍙戠エ闄勪欢(storage_attachment路recordType=finance_reimbursement)", "璇鹃鎷ㄦ鍙拌处(浠呯粡 BPM 浜嬩欢鍥炲啓鐘舵��)"], "keywords": "鎶ラ攢鍗� 鎶ラ攢 鍙戠エ reimbursement BX 褰掓。 璐㈠姟 璐圭敤 鑷畾涔夊崟鍙� 璇鹃缁忚垂鎷ㄤ粯 鑷姩寤哄崟 FinanceReimbursementApi"},
+    {"name": "鎶ラ攢鍗�", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement", "doc": "鍗曞彿鍙嚜瀹氫箟(涓棿涓嶅厑璁哥┖鏍硷紝涓庡凡鏈夊崟鍙烽噸澶嶅垯鎶ラ敊)锛涙柊澧炴椂鐣欑┖鎴栫函绌烘牸鐢辩郴缁熺敓鎴� BX+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屼慨鏀规椂鐣欑┖琛ㄧず淇濇寔涓嶅彉銆俿tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥�/40宸插綊妗o紱浠呰崏绋垮彲鍒犮�佽崏绋夸笌宸查┏鍥炲彲鏀广�佷粎宸查�氳繃鍙綊妗o紱鎻愪氦鍚庣敱 BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓鐘舵��(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑 processInstanceId 琚洖鍐欍�傛潵婧愪袱鏉★細鈶� 璐㈠姟妯″潡椤甸潰浜哄伐濉姤 鈶¤棰樼鐞嗐�岀粡璐规嫧浠樸�嶇粡 FinanceReimbursementApi(yudao-module-finance-api)鑷姩寤哄崟骞剁珛鍗虫彁浜�(1:1銆侀噾棰濅竴鑷淬�佺郴缁熷浐瀹� 1 琛屾槑缁喡疯垂鐢ㄧ被鍨�=鍏朵粬)鈥斺�斿悗鑰呯殑瀹℃壒缁撴灉鐢辫棰樹晶 ResearchFundStatusListener 璁㈤槄鍚屼竴娴佺▼鍥炲啓鎷ㄦ鍙拌处锛屾姤閿�鍗曟湰韬笉鍥炲啓浠讳綍澶栭儴鍗曟嵁锛沘rchive_document_id 闈炵┖琛ㄧず宸插綊妗�", "upstream": ["璇鹃绠$悊(缁忚垂鎷ㄤ粯路缁� FinanceReimbursementApi 鑷姩寤哄崟)", "浜哄伐濉姤"], "downstream": ["鎶ラ攢鏄庣粏", "鍙戠エ闄勪欢(storage_attachment路recordType=finance_reimbursement)", "璇鹃鎷ㄦ鍙拌处(浠呯粡 BPM 浜嬩欢鍥炲啓鐘舵��)", "妗f绠$悊(鏃㈡湁褰掓。鍔ㄤ綔鍚屼簨鍔″彔鍔犅风敓鎴愩�屼繚瀵� 3銆嶇骇璐㈠姟妗f骞跺洖鍐� archive_document_id)"], "keywords": "鎶ラ攢鍗� 鎶ラ攢 鍙戠エ reimbursement BX 褰掓。 璐㈠姟 璐圭敤 鑷畾涔夊崟鍙� 璇鹃缁忚垂鎷ㄤ粯 鑷姩寤哄崟 FinanceReimbursementApi 璐㈠姟妗f 淇濆瘑 archive_document_id"},
     {"name": "鎶ラ攢鏄庣粏", "module": "璐㈠姟鎶ラ攢", "table": "finance_reimbursement_item", "doc": "鎶ラ攢鍗曠殑璐圭敤琛岋細璐圭敤绫诲瀷(1宸梾/2鍔炲叕/3鎷涘緟/4浜ら��/5鍏朵粬)銆佸彂绁ㄥ彿鐮併�佸彂绁ㄩ噾棰濄�佸彂绁ㄦ棩鏈熴�佸紑绁ㄦ柟銆佽垂鐢ㄨ鏄庯紱闅忎富琛ㄤ竴娆℃�ф彁浜�(鍏堝垹鍚庡鍏ㄩ噺瑕嗙洊)锛屾彁浜ゆ椂蹇呴』鍓ユ帀琛� id 涓� reimbursementId 鈥斺�� 鏄庣粏鍒犻櫎鏄蒋鍒狅紝鍥炰紶鍘� id 浼氫笌宸茶蒋鍒犺涓婚敭鍐茬獊", "upstream": ["鎶ラ攢鍗�"], "downstream": [], "keywords": "鎶ラ攢鏄庣粏 璐圭敤鏄庣粏 璐圭敤绫诲瀷 鍙戠エ閲戦 item 鏄庣粏琛� 宸梾"},
     {"name": "鍏ヤ細鐢宠鍗�", "module": "浼氬憳绠$悊", "table": "ums_application", "doc": "鍗曞彿 SQ+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛屽悗绔敓鎴愪笉鍙嚜瀹氫箟锛沵emberType 1涓汉/2鍗曚綅鍐冲畾瀛楁鍒嗗弶(涓汉鐢� workUnit/title锛屽崟浣嶇敤 legalPerson/organizationCode)锛沵emberGrade 鎸夌被鍨嬪彇涓嶅悓瀛楀吀锛泂tatus: 0鑽夌/15瀹℃壒涓�/20宸查�氳繃/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛涙彁浜ゅ悗鐢� BPM 鐩戝惉鍣ㄦ寜缁撴灉鍥炲啓(鍙栨秷閫�鍥炶崏绋�)锛屽鎵逛腑鍥炲啓 processInstanceId锛涘鎵归�氳繃瑙﹀彂鑷姩寤轰細鍛樹笌绯荤粺璐﹀彿銆傜嫭绔嬫ā鍧楋紝涓嶄笌鍏跺畠涓氬姟妯″潡浜х敓鍗曟嵁鍏宠仈", "upstream": ["浜哄伐濉姤(鐢宠浜�)", "璇佹槑鏉愭枡闄勪欢(storage_attachment路recordType=ums_application)"], "downstream": ["浼氬憳(瀹℃壒閫氳繃鑷姩鍒涘缓)", "BPM 娴佺▼瀹炰緥(ums_membership_approve 鍒嗙被)"], "keywords": "鍏ヤ細鐢宠 鍏ヤ細 浼氬憳鐢宠 application SQ 绉樹功澶� 鐞嗕簨浼� 瀹℃壒 浼氬憳绫诲瀷 涓汉 鍗曚綅 娉曞畾浠h〃浜� 鐮旂┒鏂瑰悜 鐢宠绛夌骇"},
-    {"name": "浼氬憳", "module": "浼氬憳绠$悊", "table": "ums_member", "doc": "鍗曞彿 HY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛涗袱涓潵婧愶細鈶犲叆浼氱敵璇峰鎵归�氳繃鑷姩鍒涘缓(鍥炲~ applicationId 涓� userName/绯荤粺璐﹀彿) 鈶′細鍛樺垪琛ㄦ墜宸ユ柊澧炪�俿tatus: 1姝e父/0鏆傚仠锛沵emberGrade 鎸� memberType 鍙栧搴斿瓧鍏革紝鏍¢獙瑙勫垯鏄崟浣嶄細鍛�(type=2)涓嶅彲閫夈�庣悊浜嬮暱銆�(grade=5)銆傝嚜鍔ㄥ缓妗f椂鍏ヤ細鏃ユ湡=褰撳ぉ銆佷笉鎼繍 contactUser/unitIntro/expireDate(鐢宠鍗曟棤瀵瑰簲瀛楁)锛涜嚜鍔ㄥ缓鐨勭郴缁熻处鍙风敤鎴峰悕涓鸿仈绯荤數璇濅笖鍒濆瀵嗙爜鍚屼负鑱旂郴鐢佃瘽锛岄儴闂ㄥ浐瀹氫负銆屽浼氫細鍛樸�嶏紱鎵嬫満鍙烽噸澶嶄細鏄庣‘鎶ラ敊涓旀暣鍗曚簨鍔″洖婊�", "upstream": ["鍏ヤ細鐢宠鍗�(瀹℃壒閫氳繃)", "浜哄伐鏂板", "闄勪欢(storage_attachment路recordType=ums_member)"], "downstream": ["浼氬憳閫氳褰�(鎸� regionCode/industry 妫�绱�)", "system_users(鐧诲綍璐﹀彿)"], "keywords": "浼氬憳 member HY 浼氬憳缂栧彿 浼氬憳绛夌骇 浼氬憳绫诲瀷 閫氳褰� 鍦板尯 琛屼笟 鍏ヤ細鏃ユ湡 鏈夋晥鏈�"},
+    {"name": "浼氬憳", "module": "浼氬憳绠$悊", "table": "ums_member", "doc": "鍗曞彿 HY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛涗袱涓潵婧愶細鈶犲叆浼氱敵璇峰鎵归�氳繃鑷姩鍒涘缓(鍥炲~ applicationId 涓� userName/绯荤粺璐﹀彿) 鈶′細鍛樺垪琛ㄦ墜宸ユ柊澧炪�俿tatus: 1姝e父/0鏆傚仠锛沵emberGrade 鎸� memberType 鍙栧搴斿瓧鍏革紝鏍¢獙瑙勫垯鏄崟浣嶄細鍛�(type=2)涓嶅彲閫夈�庣悊浜嬮暱銆�(grade=5)銆傝嚜鍔ㄥ缓妗f椂鍏ヤ細鏃ユ湡=褰撳ぉ銆佷笉鎼繍 contactUser/unitIntro/expireDate(鐢宠鍗曟棤瀵瑰簲瀛楁)锛涜嚜鍔ㄥ缓鐨勭郴缁熻处鍙风敤鎴峰悕涓鸿仈绯荤數璇濅笖鍒濆瀵嗙爜鍚屼负鑱旂郴鐢佃瘽锛岄儴闂ㄥ浐瀹氫负銆屽浼氫細鍛樸�嶏紱鎵嬫満鍙烽噸澶嶄細鏄庣‘鎶ラ敊涓旀暣鍗曚簨鍔″洖婊氾紱archive_document_id 闈炵┖琛ㄧず宸插綊妗o紙褰掓。鍚庡垪琛ㄩ〉闅愯棌銆屽綊妗c�嶆寜閽級", "upstream": ["鍏ヤ細鐢宠鍗�(瀹℃壒閫氳繃)", "浜哄伐鏂板", "闄勪欢(storage_attachment路recordType=ums_member)"], "downstream": ["浼氬憳閫氳褰�(鎸� regionCode/industry 妫�绱�)", "妗f绠$悊(鎵嬪姩銆屽綊妗c�嵚蜂粎姝e父鐘舵�佸彲褰掓。路缁� yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id)", "system_users(鐧诲綍璐﹀彿)"], "keywords": "浼氬憳 member HY 浼氬憳缂栧彿 浼氬憳绛夌骇 浼氬憳绫诲瀷 閫氳褰� 鍦板尯 琛屼笟 鍏ヤ細鏃ユ湡 鏈夋晥鏈� 褰掓。 archive_document_id"},
     {"name": "璇鹃鎸囧崡", "module": "璇鹃绠$悊", "table": "research_guideline", "doc": "鎸囧崡缂栧彿 GL+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沜ategory 1閲嶇偣璇鹃/2涓�鑸棰橈紱publishStatus 0鑽夌/20宸插彂甯�/30宸叉埅姝紝浠呰崏绋垮彲鏀瑰彲鍒狅紝publish 鍙戝竷鍥炲啓 publishTime锛宑lose 鎴缃� 30锛涘凡浜х敓鐢虫姤鍗�(applicationMapper.selectCountByGuidelineId 澶т簬 0)鐨勬寚鍗楃姝㈠垹闄ゅ苟鍦ㄦ彁绀轰腑鎶ュ嚭璇ユ寚鍗椾笅宸叉湁澶氬皯寮犵敵鎶ュ崟锛涙鏂� content 涓洪暱鏂囨湰锛涢檮浠� recordType=research_guideline", "upstream": ["浜哄伐缁存姢(瀛︿細绉樹功澶�)", "鎸囧崡闄勪欢(storage_attachment路recordType=research_guideline)"], "downstream": ["璇鹃鐢虫姤涔�(鐢虫姤鏃跺紩鐢ㄤ笖蹇呴』宸插彂甯冨苟鍦ㄧ敵鎶ユ湡鍐�)"], "keywords": "璇鹃鎸囧崡 鎸囧崡 鍙戝竷 鎴 閲嶇偣璇鹃 涓�鑸棰� GL 鎸囧崡缂栧彿 鐢虫姤鏈� 鐢虫姤璧锋"},
-    {"name": "璇鹃鐢虫姤涔�", "module": "璇鹃绠$悊", "table": "research_application", "doc": "鐢虫姤缂栧彿 SB+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沢uidelineId 鍏宠仈鎸囧崡銆乵emberId 鍏宠仈 ums_member(杞叧鑱旀棤澶栭敭锛屼細鍛樺垹闄ゅ悗浼氱暀涓嬫偓绌� memberId 闇�瀹归敊鏄剧ず)锛沘pplicantName/workUnit/jobTitle/contactPhone/contactEmail 鐢遍�変細鍛樿嚜鍔ㄥ甫鍑哄彲鎵嬫敼锛沜ategory 鍐椾綑鑷寚鍗椾笖涓嶄俊浠诲墠绔紶鍊硷紱budgetAmount 鐢宠缁忚垂涓烘嫧浠樹笂闄愶紱status: 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛泂ubmit 鍓嶉�愭潯鏍¢獙銆屾寚鍗楀凡鍙戝竷銆嶄笌銆岀幇鍦ㄥ湪鐢虫姤鏈熷唴銆嶏紝浠讳竴涓嶆弧瓒冲嵆鎷掔粷骞舵寜缁村害缁欏嚭鎸囧崡鍚嶄笌瀹為檯鍊硷紱瀹℃壒閫氳繃鐢辩洃鍚櫒鐢熸垚绔嬮」缂栧彿 researchNo(LX+鍚屾棩娴佹按)涓� approveTime(宸叉湁缂栧彿骞傜瓑璺宠繃)锛況eviewAvgScore/reviewPass 涓鸿瘎瀹℃眹鎬诲洖鍐欏�硷紝鏄庣粏鍒犵┖鏃舵竻鎴愭湭姹囨�伙紱noticeId 璁板綍宸插彂甯冪殑绔嬮」閫氱煡鍏憡锛岄噸澶嶅彂甯冭鎷︽埅", "upstream": ["璇鹃鎸囧崡(蹇呴』宸插彂甯冧笖鍦ㄧ敵鎶ユ湡鍐�)", "浼氬憳(ums_member路甯﹀嚭鐢虫姤浜轰俊鎭�)", "鐢虫姤闄勪欢(storage_attachment路recordType=research_application)"], "downstream": ["涓撳璇勫鏄庣粏", "缁忚垂鎷ㄤ粯璁板綍", "绔嬮」閫氱煡(system_notice 鍏憡)", "BPM 娴佺▼瀹炰緥(research_topic_approve 鍒嗙被)", "闄勪欢涓績"], "keywords": "璇鹃鐢虫姤 鐢虫姤涔� 鐢虫姤鍗� SB 鐢虫姤缂栧彿 绔嬮」 绔嬮」缂栧彿 LX 鐢宠缁忚垂 鐢虫姤涔︽鏂� 璇鹃缁勬垚鍛� 涓撳璇勫 璇勫姹囨�� 绔嬮」閫氱煡 鍙戝竷閫氱煡 鎻愪氦瀹℃壒 椹冲洖 閲嶆彁"},
+    {"name": "璇鹃鐢虫姤涔�", "module": "璇鹃绠$悊", "table": "research_application", "doc": "鐢虫姤缂栧彿 SB+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)锛沢uidelineId 鍏宠仈鎸囧崡銆乵emberId 鍏宠仈 ums_member(杞叧鑱旀棤澶栭敭锛屼細鍛樺垹闄ゅ悗浼氱暀涓嬫偓绌� memberId 闇�瀹归敊鏄剧ず)锛沘pplicantName/workUnit/jobTitle/contactPhone/contactEmail 鐢遍�変細鍛樿嚜鍔ㄥ甫鍑哄彲鎵嬫敼锛沜ategory 鍐椾綑鑷寚鍗椾笖涓嶄俊浠诲墠绔紶鍊硷紱budgetAmount 鐢宠缁忚垂涓烘嫧浠樹笂闄愶紱status: 0鑽夌/15瀹℃壒涓�/20宸茬珛椤�/35宸查┏鍥炪�備粎鑽夌鍙垹(杩炲甫娓呴檮浠�)銆佽崏绋夸笌宸查┏鍥炲彲鏀瑰彲閲嶆彁锛泂ubmit 鍓嶉�愭潯鏍¢獙銆屾寚鍗楀凡鍙戝竷銆嶄笌銆岀幇鍦ㄥ湪鐢虫姤鏈熷唴銆嶏紝浠讳竴涓嶆弧瓒冲嵆鎷掔粷骞舵寜缁村害缁欏嚭鎸囧崡鍚嶄笌瀹為檯鍊硷紱瀹℃壒閫氳繃鐢辩洃鍚櫒鐢熸垚绔嬮」缂栧彿 researchNo(LX+鍚屾棩娴佹按)涓� approveTime(宸叉湁缂栧彿骞傜瓑璺宠繃)锛況eviewAvgScore/reviewPass 涓鸿瘎瀹℃眹鎬诲洖鍐欏�硷紝鏄庣粏鍒犵┖鏃舵竻鎴愭湭姹囨�伙紱noticeId 璁板綍宸插彂甯冪殑绔嬮」閫氱煡鍏憡锛岄噸澶嶅彂甯冭鎷︽埅锛沘rchive_document_id 闈炵┖琛ㄧず宸插綊妗o紙褰掓。鍚庡垪琛ㄩ〉闅愯棌銆屽綊妗c�嶆寜閽級", "upstream": ["璇鹃鎸囧崡(蹇呴』宸插彂甯冧笖鍦ㄧ敵鎶ユ湡鍐�)", "浼氬憳(ums_member路甯﹀嚭鐢虫姤浜轰俊鎭�)", "鐢虫姤闄勪欢(storage_attachment路recordType=research_application)"], "downstream": ["涓撳璇勫鏄庣粏", "缁忚垂鎷ㄤ粯璁板綍", "绔嬮」閫氱煡(system_notice 鍏憡)", "BPM 娴佺▼瀹炰緥(research_topic_approve 鍒嗙被)", "妗f绠$悊(鎵嬪姩銆屽綊妗c�嵚蜂粎宸茬珛椤瑰彲褰掓。路缁� yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id)", "闄勪欢涓績"], "keywords": "璇鹃鐢虫姤 鐢虫姤涔� 鐢虫姤鍗� SB 鐢虫姤缂栧彿 绔嬮」 绔嬮」缂栧彿 LX 鐢宠缁忚垂 鐢虫姤涔︽鏂� 璇鹃缁勬垚鍛� 涓撳璇勫 璇勫姹囨�� 绔嬮」閫氱煡 鍙戝竷閫氱煡 鎻愪氦瀹℃壒 椹冲洖 閲嶆彁 褰掓。 archive_document_id"},
     {"name": "涓撳璇勫鏄庣粏", "module": "璇鹃绠$悊", "table": "research_topic_review", "doc": "涓�浣嶄笓瀹朵竴琛岀殑涓�涓诲琛屽瓙琛細evaluatorName/evaluatorUnit/evaluatorTitle + topicScore 閫夐浠峰�间笌鎰忎箟(鏉冮噸0.3) + planScore 鐮旂┒鏂规鍙鎬�(0.3) + teamScore 鍥㈤槦涓庣爺绌跺熀纭�(0.2) + resultScore 棰勬湡鎴愭灉涓庢晥鐩�(0.2) + conclusion 1鎺ㄨ崘绔嬮」/2涓嶆帹鑽愮珛椤� + opinion 璇勫鎰忚 + reviewTime銆俢ompositeScore 鐢卞悗绔� weightedScore 璁$畻銆乺anking 鐢卞悗绔寜鍔犳潈鍒嗛檷搴忛噸鎺掞紝鍧囦笉鎺ュ彈鍓嶇浼犲�硷紱姣忔澧炲垹鏀瑰悗璋� recalculate 鍥炲啓涓诲崟 reviewAvgScore(鍏ㄩ儴涓撳鍔犳潈鍒嗗潎鍊悸蜂繚鐣�2浣�)涓� reviewPass(鍧囧垎杈炬爣 涓� 澶氭暟缁撹涓烘帹鑽愮珛椤规椂涓� 1)锛涘洓椤瑰垎鍊艰秴鍑� 0~100 鏃舵彁绀烘寚鍑哄叿浣撶淮搴︿笌瀹為檯鍊硷紱浠呭湪鐢虫姤鍗� status=15 瀹℃壒涓彲澧炲垹鏀�", "upstream": ["璇鹃鐢虫姤涔�(浠呭鎵逛腑鍙啓)"], "downstream": ["璇鹃鐢虫姤涔�(鍥炲啓 reviewAvgScore/reviewPass)"], "keywords": "涓撳璇勫 璇勫鏄庣粏 璇勫垎 鍔犳潈 鏉冮噸 鎺掑悕 ranking compositeScore 鎺ㄨ崘绔嬮」 璇勫鎰忚 鍧囧垎"},
+    {"name": "妗f鍒嗙被", "module": "妗f绠$悊", "table": "archive_category", "doc": "鏍戝舰涔︽灦鍒嗙被(parentId路0=椤剁骇)锛屾壙杞姐�屽垎灞傚垎鍒椼�嶈鏁达細6 鏉″垵濮嬪垎绫� 浼氬憳妗f member / 璇鹃妗f research / 浼氳妗f meeting / 璐㈠姟妗f finance / 鏂囦功妗f document / 鍏氬缓妗f party锛沜ode 鍏ㄥ眬鍞竴 uk_code锛沝efaultSecretLevel 涓鸿鍒嗙被涓嬫。妗堢殑榛樿瀵嗙骇(1鍏紑/2鍐呴儴/3淇濆瘑锛岃储鍔″垎绫�=3)锛泂tatus 0鍚敤/1鍋滅敤銆備粎鍙敼鍙垹锛屾湁瀛愬垎绫荤鍒犮�佽鍒嗙被涓嬫湁妗f绂佸垹銆佺埗鍒嗙被涓嶈兘璁句负鑷韩鎴栧叾瀛愬垎绫汇�備細璁�/鍏氬缓妗f绯荤粺鍐呮棤鏉ユ簮妯″潡锛屼粎鏀寔鎵嬪伐褰曞叆妗f", "upstream": ["浜哄伐缁存姢(妗f绠$悊鍛�)"], "downstream": ["妗f(鏂板鏃跺甫鍑洪粯璁ゅ瘑绾�)"], "keywords": "妗f鍒嗙被 涔︽灦 鍒嗗眰鍒嗗垪 浼氬憳妗f 璇鹃妗f 浼氳妗f 璐㈠姟妗f 鏂囦功妗f 鍏氬缓妗f category 榛樿瀵嗙骇"},
+    {"name": "妗f", "module": "妗f绠$悊", "table": "archive_document", "doc": "妗f涓昏〃锛岀紪鍙� DA+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)銆傜數瀛愪笌瀹炰綋鍏煎叿锛氱數瀛愯蛋 system 闄勪欢涓績 recordType=archive_document(琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃)銆佸疄浣撹 shelfNo 涔︽灦鍙�/layerNo 灞傚彿/columnNo 鍒楀彿/boxNo 鍐屽彿妗f鐩� + storePlace 瀛樻斁浣嶇疆鎻忚堪銆俢arrierType 1鐢靛瓙/2瀹炰綋/3鐢靛瓙+瀹炰綋锛泂ecretLevel 1鍏紑/2鍐呴儴/3淇濆瘑(涓� 3 涓斿綋鍓嶇敤鎴锋棤 archive:document:sensitive 鏃惰鎯呮姤閿欍�佸垪琛ㄤ笌瀵煎嚭寮哄埗杩囨护)锛泂ourceType 1鎵嬪伐/2璇鹃/3浼氬憳/4璐㈠姟 + sourceNo/sourceId/sourceTitle 璁板綍鏉ユ簮蹇収浠ヤ究妫�绱紱status 10鍦ㄥ簱/20鍊熷嚭涓�(鍊熷嚭涓鏀广�佸瓨鍦ㄦ湭褰掕繕鍊熼槄鍗曟椂绂佸垹)銆傛潵婧愪负 2/3/4 鐨勬。妗堢敱涓夋柟鍒楄〃椤点�屽綊妗c�嶆寜閽粡 ArchiveDocumentApi.archiveBySource 鐢熸垚(骞傜瓑)锛屽苟鍥炲啓鏉ユ簮琛� archive_document_id", "upstream": ["妗f鍒嗙被", "妗f鐧昏(浜哄伐)", "璇鹃褰掓。(宸茬珛椤圭敵鎶ヤ功)", "浼氬憳褰掓。(姝e父浼氬憳)", "璐㈠姟褰掓。(宸查�氳繃鎶ラ攢鍗�)"], "downstream": ["鍊熼槄鍗�", "闄勪欢涓績(recordType=archive_document)", "鏉ユ簮琛� archive_document_id 鍥炲啓"], "keywords": "妗f 鏂囨。 document DA 妗f缂栧彿 瀵嗙骇 淇濆瘑 鍏紑 鍐呴儴 鏁忔劅妗f 杞戒綋 鐢靛瓙 瀹炰綋 涔︽灦鍙� 灞傚彿 鍒楀彿 鍐屽彿 妗f鐩� 褰掓。鏃ユ湡 鍦ㄥ簱 鍊熷嚭涓� 妫�绱� 鍏抽敭璇� tags 鏉ユ簮鍗曞彿 褰掓。鑱斿姩"},
+    {"name": "鍊熼槄鍗�", "module": "妗f绠$悊", "table": "archive_borrow", "doc": "鍊熼槄涓庡綊杩樺悎涓�锛岀紪鍙� JY+yyyyMMdd+6浣嶆祦姘�(Redis 姣忔棩閲嶇疆)銆傝褰曞�熼槄浜�/閮ㄩ棬/鐢佃瘽銆佸�熼槄鏃ユ湡銆佸�熼槄鐩殑銆佸綊杩樻湡闄�(returnDeadline路閫炬湡瀹炴椂璁$畻鍩哄噯)锛沝ocumentNo/documentTitle 涓烘。妗堝揩鐓с�俿tatus 0鑽夌/15瀹℃壒涓�/20鍊熷嚭涓�/30宸插綊杩�/35宸查┏鍥烇細浠� 0 涓� 35 鍙敼鍙噸鎻愩�佷粎 0 鍙垹銆佷粎 20 鍙櫥璁板綊杩樸�俿ubmit 鍓嶆牎楠屽悓涓�妗f涓嶅緱宸叉湁 15/20 鐨勫�熼槄鍗�(鍛戒腑鎶ュ凡鍊熺敤骞跺甫妗f鍚嶄笌宸插瓨鍦ㄥ�熼槄鍗曞彿)锛涙祦绋� key archive_borrow_approve 涓ょ骇(妗f绠$悊鍛樺鏍糕啋鍒嗙棰嗗瀹℃壒)锛屽墠绔笉鍐欐 key銆傚鎵归�氳繃鐢� ArchiveBorrowStatusListener 鍥炲啓 20+approveTime 骞舵潯浠舵洿鏂版。妗� SET status=20 WHERE status=10(褰卞搷 0 琛屾姤妗f宸茶鍗犵敤骞跺洖婊�)锛涘綊杩樼櫥璁版潯浠舵洿鏂� 20鈫�30 骞跺洖鍐� returnTime/褰掕繕纭浜恒�傞�炬湡涓嶈惤搴擄紝鏌ヨ鏃跺疄鏃剁畻 overdueDays 骞跺湪鍒楄〃娓叉煋绾㈣壊銆岄�炬湡 N 澶┿�嶏紝鍙︽湁 /overdue-page 鐙珛鍏ュ彛", "upstream": ["妗f(浠� 鍦ㄥ簱 10 鍙��)", "BPM(娴佺▼ archive_borrow_approve)", "浜哄伐鐧昏"], "downstream": ["妗f(鐘舵�� 20 鍊熷嚭涓� / 褰掕繕鍥� 10 鍦ㄥ簱)"], "keywords": "鍊熼槄 鍊熼槄鍗� 鍊熼槄鐧昏 褰掕繕 褰掕繕鐧昏 閫炬湡 閫炬湡鏈繕 鍊熼槄浜� 鍊熼槄鐩殑 褰掕繕鏈熼檺 JY 鍊熼槄鍗曞彿 妗f绠$悊鍛樺鏍� 鍒嗙棰嗗瀹℃壒 娴佽浆闂幆"},
     {"name": "缁忚垂鎷ㄤ粯璁板綍", "module": "璇鹃绠$悊", "table": "research_fund_record", "doc": "涓�涓诲琛岀殑鎷ㄦ鍙拌处锛歜atchName 鎵规鍚嶇О/amount 鎷ㄤ粯閲戦/payDate 鎷ㄤ粯鏃ユ湡/payee 鏀舵鍗曚綅/remark锛屽嚟璇侀檮浠惰蛋 system 闄勪欢涓績 recordType=research_fund_record(琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃)銆俿tatus: 0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紝鐢辩郴缁熶笌 BPM 椹卞姩锛屾柊澧�/淇敼鎺ュ彛宸茬Щ闄� status 鍏ュ弬(闃蹭吉閫犮�屽凡鎷ㄤ粯銆�)銆傜櫥璁板嵆涓�鏉¢緳锛氳惤鍙拌处 鈫� 鍚屼竴鎵� blob 鍙岀粦 鈫� 缁� FinanceReimbursementApi 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 骞剁珛鍗虫彁浜� BPM 鈫� 鍥炲啓 reimbursement_id/reimbursement_no 骞剁疆 15锛涘鎵圭粨鏋滅敱鐩戝惉鍣ㄥ洖鍐欙細閫氳繃鈫�20銆侀┏鍥炩啋30(+reject_reason/reject_time)銆佸彇娑堟祦绋嬧啋閫�鍥� 0锛堝彂璧蜂汉鎾ゅ洖鍙��鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛岀姸鎬佷笉鍙橈級銆備粎鐢虫姤鍗� status=20 宸茬珛椤瑰彲鐧昏锛涘嚟璇佸繀濉紱閲戦鏍¢獙锛氬凡鐧昏閲戦(璇ュ崟鍏ㄩ儴璁板綍姹傚拰) + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗� budgetAmount锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊硷紱浠呫�屽緟鎷ㄤ粯銆嶅彲鍒�(鑱斿姩鍒犻櫎璐㈠姟渚ц崏绋挎姤閿�鍗曪紝闈炶崏绋垮垯鎷掔粷)锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢(宸查┏鍥炴敼鍚庢竻绌� reject_reason/reject_time)锛岀紪杈戞椂鎶婃湰琛岄噾棰濆姞鍥炲彲鐢ㄤ綑棰濆睍绀洪伩鍏嶈瑙c�備笌鎶ラ攢鍗曚负杞叧鑱�(鏃犲閿�)锛岃储鍔′晶鐩存帴鍒犲崟浼氱暀涓嬫偓绌� reimbursement_id锛屾鏃朵慨鏀规姤銆屾姤閿�鍗曞凡涓嶅瓨鍦紝璇峰垹闄ゆ湰鏉¤褰曞悗閲嶆柊鐧昏銆�", "upstream": ["璇鹃鐢虫姤涔�(蹇呴』宸茬珛椤�)", "璐㈠姟鎶ラ攢鍗�(1:1 鑷姩鐢熸垚路杞叧鑱� reimbursement_id)"], "downstream": ["鎷ㄤ粯鍑瘉(storage_attachment路recordType=research_fund_record)", "璐㈠姟鎶ラ攢鍗�(鐢熸垚骞舵彁浜ゅ嚭璐β峰鎵圭粨鏋滃洖鍐欐湰鍙拌处)"], "keywords": "缁忚垂鎷ㄤ粯 鎷ㄦ 鎷ㄤ粯璁板綍 鎵规 鎷ㄤ粯閲戦 鍑瘉 寰呮嫧浠� 鎶ラ攢瀹℃壒涓� 宸叉嫧浠� 宸查┏鍥� 椹冲洖鍘熷洜 璐㈠姟鎶ラ攢鍗曞彿 reimbursement_id 鏀舵鍗曚綅 璧勫姪閲戦 棰勭畻 瓒呴 閲嶆柊鍙戣捣鎶ラ攢"}
   ]
 }</script>
@@ -631,7 +654,19 @@
        {"stage": "涓撳璇勫", "action": "鐢虫姤鍗曞浜庡鎵逛腑(15)鏃跺綍鍏ヤ笓瀹惰瘎鍒嗘槑缁嗭紙涓�浣嶄笓瀹朵竴琛岋細濮撳悕/鍗曚綅/鑱岀О + 閫夐浠峰��0.3/鐮旂┒鏂规0.3/鍥㈤槦鍩虹0.2/棰勬湡鎴愭灉0.2 鍥涢」鍒嗗�� + 缁撹 + 鎰忚锛夛紱鍚庣姣忔澧炲垹鏀瑰悗閲嶇畻 compositeScore 鍔犳潈鍚堣銆佹寜鍔犳潈鍒嗛檷搴忛噸鎺� ranking锛屽苟鍥炲啓涓诲崟 reviewAvgScore锛堝叏閮ㄤ笓瀹跺潎鍒嗭級涓� reviewPass锛堝潎鍒嗚揪鏍囦笖澶氭暟缁撹涓烘帹鑽愮珛椤癸級锛涙槑缁嗗叏閮ㄥ垹闄ゆ椂姹囨�诲�兼竻绌轰负鏈眹鎬伙紱鍥涢」鍒嗗�煎潎鍦� 0~100 涔嬪鏃舵彁绀烘寚鍑哄叿浣撶淮搴︿笌瀹為檯鍊�", "roles": ["璇勫涓撳", "瀛︿細绉樹功澶�", "璇鹃绠$悊鍛�"]},
        {"stage": "绔嬮」瀹℃壒", "action": "BPM 娴佺▼ research_topic_approve 椤哄簭璧颁笁鑺傜偣锛氱涔﹀褰㈠紡瀹℃煡 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒銆傚鎵规柟娉曚笌瀹℃壒浜哄湪娴佺▼瀹氫箟鍐呴厤缃紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪 BPM 娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣锛涘鎵逛腑蹇冨唴鐨勮嚜瀹氫箟琛ㄥ崟鍙鍥炴樉鐢虫姤鍗� + 璇勫鏄庣粏 + 鎷ㄤ粯璁板綍銆傞�氳繃鈫�20 宸茬珛椤广�侀┏鍥炩啋35 宸查┏鍥炪�佸彇娑堚啋閫�鍥� 0 鑽夌", "roles": ["瀛︿細绉樹功澶勶紙褰㈠紡瀹℃煡锛�", "璇勫涓撳锛堣瘎瀹¤妭鐐癸級", "瀛︿細鐞嗕簨浼氾紙绔嬮」瀹℃壒锛�"]},
        {"stage": "绔嬮」涓庨�氱煡", "action": "鐩戝惉鍣� ResearchApplicationStatusListener 鍏堝洖鍐欏鎵圭姸鎬侊紝瀹℃壒閫氳繃鍚庡啀璋� approveApplication锛氱敓鎴愮珛椤圭紪鍙� LX+yyyyMMdd+6浣嶆祦姘� 涓� approveTime锛堝凡鏈夌紪鍙峰垯骞傜瓑璺宠繃锛夈�傜偣銆屽彂甯冪珛椤归�氱煡銆嶇敓鎴� system_notice 鍏憡锛堟爣棰樸�庡叧浜庡叕甯冪珛椤硅棰樼殑閫氱煡銆忥紝姝f枃鍚棰樺悕/绔嬮」缂栧彿/绫诲埆/鐢虫姤浜�/鍗曚綅/璧勫姪閲戦锛夛紝鍐欏洖 noticeId 闃查噸澶嶁�斺�旈噸澶嶇偣鍑绘寜宸插彂甯冩嫤鎴苟鍛婄煡涓婃鍙戝竷鏃堕棿", "roles": ["璇鹃绠$悊鍛�", "瀛︿細绉樹功澶�"]},
-       {"stage": "缁忚垂鎷ㄤ粯", "action": "浠呫�屽凡绔嬮」(20)銆嶇殑鐢虫姤鍗曞彲鐧昏鎷ㄦ璁板綍锛堟壒娆″悕绉�/鎷ㄤ粯閲戦/鎷ㄤ粯鏃ユ湡/鏀舵鍗曚綅/澶囨敞/鍑瘉闄勪欢锛夛紝鍑瘉蹇呭~銆傜櫥璁版椂涓�鏉¢緳瀹屾垚锛氣憼 璇鹃渚ц惤 research_fund_record 鍙拌处锛堝厛缃緟鎷ㄤ粯锛夆憽 鍚屼竴鎵� blob 鍙岀粦鍒拌棰樺彴璐︿笌璐㈠姟鎶ラ攢鍗� 鈶� 缁� yudao-module-finance-api 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 鎶ラ攢鍗曪紙1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽垂鐢ㄨ鏄�=銆岃棰樸�旇棰樺悕銆曠N鏈�/绗琋娆$粡璐规嫧娆俱�嶏級鈶� 绔嬪嵆鎻愪氦 BPM 鎶ラ攢瀹℃壒 鈶� 鍙拌处鍥炲啓鎶ラ攢鍗曞彿骞剁疆銆屾姤閿�瀹℃壒涓�(15)銆嶃�傞噾棰濇牎楠岋細宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭璇ュ崟鐢宠缁忚垂锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊笺�傜姸鎬佺敱绯荤粺椹卞姩锛�0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紱鍙湁銆屽緟鎷ㄤ粯銆嶅彲鍒狅紙鍒犻櫎鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗曪級锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢锛堝凡椹冲洖鏀瑰悗娓呯┖椹冲洖鍘熷洜涓庢椂闂达級锛涘彇娑堟祦绋嬪垯閫�鍥炪�屽緟鎷ㄤ粯(0)銆嶏紙鍙戣捣浜烘挙鍥炲彧鎶婂疄渚嬮��鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屽彴璐︿繚鎸併�屾姤閿�瀹℃壒涓�(15)銆嶏紝闇�閲嶆柊鎻愪氦鍚庢墠缁х画璧板鎵癸級銆傝储鍔″鎵瑰垎绫讳笅娌℃湁宸插彂甯冩祦绋嬫椂鐩存帴鎶ラ敊涓斾笉寤哄崟锛屼笉鐣欏鍎胯崏绋挎姤閿�鍗�", "roles": ["瀛︿細璐㈠姟", "璇鹃绠$悊鍛�", "璐㈠姟瀹℃牳浜�", "璐㈠姟涓荤"]}]},
+     {"stage": "缁忚垂鎷ㄤ粯", "action": "浠呫�屽凡绔嬮」(20)銆嶇殑鐢虫姤鍗曞彲鐧昏鎷ㄦ璁板綍锛堟壒娆″悕绉�/鎷ㄤ粯閲戦/鎷ㄤ粯鏃ユ湡/鏀舵鍗曚綅/澶囨敞/鍑瘉闄勪欢锛夛紝鍑瘉蹇呭~銆傜櫥璁版椂涓�鏉¢緳瀹屾垚锛氣憼 璇鹃渚ц惤 research_fund_record 鍙拌处锛堝厛缃緟鎷ㄤ粯锛夆憽 鍚屼竴鎵� blob 鍙岀粦鍒拌棰樺彴璐︿笌璐㈠姟鎶ラ攢鍗� 鈶� 缁� yudao-module-finance-api 鑷姩鐢熸垚 1:1 鐨� finance_reimbursement 鎶ラ攢鍗曪紙1 琛屾槑缁嗭細璐圭敤绫诲瀷=鍏朵粬銆佸彂绁ㄩ噾棰�=鎷ㄤ粯閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽垂鐢ㄨ鏄�=銆岃棰樸�旇棰樺悕銆曠N鏈�/绗琋娆$粡璐规嫧娆俱�嶏級鈶� 绔嬪嵆鎻愪氦 BPM 鎶ラ攢瀹℃壒 鈶� 鍙拌处鍥炲啓鎶ラ攢鍗曞彿骞剁疆銆屾姤閿�瀹℃壒涓�(15)銆嶃�傞噾棰濇牎楠岋細宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭璇ュ崟鐢宠缁忚垂锛岃秴鍑烘椂鎻愮ず鎶ュ嚭鏈銆佸凡鐧昏銆佸悎璁°�侀绠楀洓椤规暟鍊笺�傜姸鎬佺敱绯荤粺椹卞姩锛�0寰呮嫧浠�/15鎶ラ攢瀹℃壒涓�/20宸叉嫧浠�/30宸查┏鍥烇紱鍙湁銆屽緟鎷ㄤ粯銆嶅彲鍒狅紙鍒犻櫎鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗曪級锛屻�屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀瑰苟閲嶆柊鍙戣捣鎶ラ攢锛堝凡椹冲洖鏀瑰悗娓呯┖椹冲洖鍘熷洜涓庢椂闂达級锛涘彇娑堟祦绋嬪垯閫�鍥炪�屽緟鎷ㄤ粯(0)銆嶏紙鍙戣捣浜烘挙鍥炲彧鎶婂疄渚嬮��鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屽彴璐︿繚鎸併�屾姤閿�瀹℃壒涓�(15)銆嶏紝闇�閲嶆柊鎻愪氦鍚庢墠缁х画璧板鎵癸級銆傝储鍔″鎵瑰垎绫讳笅娌℃湁宸插彂甯冩祦绋嬫椂鐩存帴鎶ラ敊涓斾笉寤哄崟锛屼笉鐣欏鍎胯崏绋挎姤閿�鍗�", "roles": ["瀛︿細璐㈠姟", "璇鹃绠$悊鍛�", "璐㈠姟瀹℃牳浜�", "璐㈠姟涓荤"]}]},
+    {"id": "archive", "name": "妗f绠$悊娴佺▼", "mermaid": "mermaid/15-archive-flow.mmd", "color": "#7fb3d5",
+     "summary": "鐙珛妗f妯″潡锛坹udao-module-archive锛夛細涔︽灦鍒嗙被锛堝垎灞傚垎鍒楋級瑙勬暣 鈫� 妗f鐧昏锛堢數瀛愰檮浠� + 瀹炰綋浣嶇疆鍥涘瓧娈碉紝瀵嗙骇涓夋。锛夆啋 鍊熼槄鐧昏璧� BPM 涓ょ骇瀹℃壒锛堟。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛夆啋 瀹℃壒閫氳繃妗f杞�屽�熷嚭涓�嶁啋 褰掕繕鐧昏鍥炪�屽湪搴撱�嶅舰鎴愭祦杞棴鐜� 鈫� 閫炬湡鏈繕鏌ヨ鏃跺疄鏃惰绠楀苟鍦ㄥ垪琛ㄦ爣绾� 鈫� 瀛橀噺涓庢祦杞粺璁★紙鎬绘暟/鍦ㄥ簱/鍊熷嚭涓�/閫炬湡 + 鍒嗙被路瀵嗙骇路杞戒綋涓夌粍鍒嗗竷锛夈�傚悓鏃舵帴鏀惰棰橈紙宸茬珛椤癸級銆佷細鍛橈紙姝e父锛夈�佽储鍔★紙宸查�氳繃锛変笁鏂圭殑銆屽綊妗c�嶈仈鍔紝缁忔柊寤虹殑 yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐欐潵婧愯〃 archive_document_id銆備細璁�/鍏氬缓妗f绯荤粺鍐呮棤鏉ユ簮妯″潡锛屼粎鎵嬪伐褰曞叆銆�",
+     "steps": [
+       {"stage": "寤哄垎绫�", "action": "鏂板缓鍒嗙被鍙寕鐖跺垎绫诲舰鎴愬垎绫绘爲锛堢紪鐮� code 鍏ㄥ眬鍞竴锛夛紝璁炬帓搴忋�佽鏄庛�侀粯璁ゅ瘑绾т笌鍚敤鐘舵�侊紱6 鏉″垵濮嬪垎绫伙細浼氬憳妗f/璇鹃妗f/浼氳妗f/璐㈠姟妗f锛堥粯璁ゅ瘑绾�=淇濆瘑 3锛�/鏂囦功妗f/鍏氬缓妗f銆傛湁瀛愬垎绫绘垨璇ュ垎绫讳笅宸叉湁妗f鏃剁姝㈠垹闄わ紱鐖跺垎绫讳笉鑳借涓鸿嚜韬垨鍏跺瓙鍒嗙被", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "鐧昏妗f", "action": "濉爣棰樸�佸垎绫汇�佸瘑绾э紙1鍏紑/2鍐呴儴/3淇濆瘑锛夈�佽浇浣擄紙1鐢靛瓙/2瀹炰綋/3鐢靛瓙+瀹炰綋锛夈�佸綊妗f棩鏈熴�佹憳瑕併�佸叧閿瘝锛涢�夌數瀛愬垯涓婁紶闄勪欢锛堣蛋 system 闄勪欢涓績锛宺ecordType=archive_document锛屽厛 /system/storage-blob/upload 鍙� blobId 鍐嶉殢淇濆瓨璇锋眰鐨� blobIds 鎻愪氦锛屽叏閲忔浛鎹㈣涔夛級锛岄�夊疄浣撳垯濉功鏋跺彿/灞傚彿/鍒楀彿/鍐屽彿妗f鐩掍笌瀛樻斁浣嶇疆鎻忚堪锛涘悗绔敓鎴愭。妗堢紪鍙� DA+yyyyMMdd+6浣嶆祦姘达紙Redis 姣忔棩閲嶇疆锛夛紝鐘舵�併�屽湪搴�(10)銆�", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "妫�绱�", "action": "鎸夋。妗堢紪鍙�/鏍囬/鍏抽敭璇� tags/鏉ユ簮鍗曞彿/鍒嗙被/瀵嗙骇/杞戒綋/鐘舵��/褰掓。鏃ユ湡鍖洪棿澶氭潯浠舵绱紝鏀寔 Excel 瀵煎嚭銆傚瘑绾�=淇濆瘑(3) 鐨勬。妗堬細褰撳墠鐢ㄦ埛鏃� archive:document:sensitive 鏃跺垪琛ㄤ笌瀵煎嚭寮哄埗杩囨护鎺夈�佺洿杩炶鎯呮帴鍙f姤鏃犳潈闄愰敊璇�", "roles": ["妗f绠$悊鍛�", "鍏ㄥ憳鍙煡鍏紑妗�"]},
+       {"stage": "涓夋柟褰掓。", "action": "璇鹃鐢虫姤涔︼紙浠呭凡绔嬮」 20锛夈�佷細鍛橈紙浠呮甯� 1锛夈�佽储鍔℃姤閿�鍗曪紙浠呭凡閫氳繃 20锛夌殑鍒楄〃椤靛悇鏈変竴涓�屽綊妗c�嶆寜閽紝缁� yudao-module-archive-api 鐨� archiveBySource 鎸夈�屾潵婧愮被鍨� + 鏉ユ簮鍗曟嵁 ID銆嶅箓绛夌敓鎴愭。妗堬紙鏉ユ簮鍗曞彿/鏍囬浣滀负蹇収瀛樺叆妗f锛屾簮鍗曢檮浠朵竴骞跺甫鍏ユ。妗堬紱璐㈠姟妗f瀵嗙骇鍥哄畾涓恒�屼繚瀵嗐�嶏級锛屽苟鍥炲啓鏉ユ簮琛� archive_document_id 浣滀负宸插綊妗g‖鏍囪锛涢噸澶嶇偣鍑荤敱鏉ユ簮渚ф嫤鎴苟鎻愮ず宸茬敓鎴愮殑妗f缂栧彿銆傝储鍔′晶銆屽綊妗c�嶄笌鍏舵棦鏈� 20鈫�40 鐘舵�佹帹杩涘湪鍚屼竴浜嬪姟鍐呭彔鍔犳墽琛�", "roles": ["璇鹃绠$悊鍛�", "浼氬憳绠$悊鍛�", "璐㈠姟"]},
+       {"stage": "鍊熼槄鐧昏", "action": "閫夋。妗堬紙浠呫�屽湪搴�(10)銆嶅彲閫夛級銆佸~鍊熼槄浜�/閮ㄩ棬/鑱旂郴鐢佃瘽銆佸�熼槄鏃ユ湡銆佸�熼槄鐩殑銆佸綊杩樻湡闄愶紱鐢熸垚鍊熼槄鍗曞彿 JY+yyyyMMdd+6浣嶆祦姘达紝鐘舵�併�岃崏绋�(0)銆嶃�傛彁浜ゅ墠鏍¢獙鍚屼竴妗f涓嶅緱瀛樺湪銆屽鎵逛腑(15)銆嶆垨銆屽�熷嚭涓�(20)銆嶇殑鍊熼槄鍗曪紝鍛戒腑鏃舵寜宸插瓨鍦ㄧ殑鍊熼槄鍗曞彿绮剧‘鎶ラ敊锛泂ubmit 鍏堣В鏋愭祦绋嬪垪琛紙鏃犲凡鍙戝竷娴佺▼鐩存帴鎶ラ敊銆佷笉鐣欏鍎胯崏绋匡級鍐嶅缓鍗曪紝鍥炲啓 processInstanceId 骞剁疆銆屽鎵逛腑(15)銆�", "roles": ["鍊熼槄浜�", "妗f绠$悊鍛�"]},
+       {"stage": "鍊熼槄瀹℃壒", "action": "BPM 娴佺▼ archive_borrow_approve 涓ょ骇椤哄簭瀹℃壒锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛堝鎵规柟娉曚笌瀹℃壒浜哄湪娴佺▼瀹氫箟鍐呴厤缃紝鍓嶇鍙�夋祦绋嬩笉鍐欐 key锛涘鎵逛腑蹇冪粡鑷畾涔夎〃鍗曟煡鐪嬭矾寰� /archive/borrow/detail/approve/index.vue 鍙鍥炴樉鍊熼槄鍗曚笌妗f淇℃伅锛夈�傚鎵归�氳繃鐢� ArchiveBorrowStatusListener 缃�屽�熷嚭涓�(20)銆嶅苟鍥炲啓 approveTime锛屽悓鏃舵潯浠舵洿鏂版。妗堢姸鎬佷负銆屽�熷嚭涓�嶏紙褰卞搷 0 琛岃鏄庢。妗堝凡琚叾瀹冩祦绋嬪崰鐢� 鈫� 鎶ラ敊骞跺洖婊氾紝淇濊瘉鍚屼竴妗f涓嶄細琚袱鏉℃祦绋嬪悓鏃跺�熷嚭锛夛紱椹冲洖缃�屽凡椹冲洖(35)銆嶅苟鍥炲啓椹冲洖鍘熷洜涓庢椂闂达紝淇敼鍚庡彲閲嶆柊鎻愪氦锛涘彇娑堟祦绋嬮��鍥炪�岃崏绋�(0)銆�", "roles": ["妗f绠$悊鍛橈紙瀹℃牳锛�", "鍒嗙棰嗗锛堝鎵癸級"]},
+       {"stage": "褰掕繕鐧昏", "action": "浠呫�屽�熷嚭涓�(20)銆嶅彲鐧昏褰掕繕锛氬~褰掕繕澶囨敞 鈫� 鏉′欢鏇存柊鍊熼槄鍗曠姸鎬佸埌銆屽凡褰掕繕(30)銆嶅苟鍥炲啓 returnTime 涓庡綊杩樼‘璁や汉锛屽悓鏃舵潯浠舵洿鏂版。妗堝洖銆屽湪搴�(10)銆嶏紝褰㈡垚瀹屾暣娴佽浆闂幆锛涙洿鏂� 0 琛岃鏄庣姸鎬佸凡鍙樺寲锛屾姤鏄庣‘閿欒", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "閫炬湡鎻愰啋", "action": "涓嶅缓瀹氭椂浠诲姟銆佷笉鍙戠珯鍐呬俊锛氶�炬湡浠呭湪鏌ヨ鏃跺疄鏃惰绠楋紙鐘舵��=鍊熷嚭涓� 涓� 褰掕繕鏈熼檺鏃╀簬浠婂ぉ锛岄�炬湡澶╂暟=浠婂ぉ鈭掑綊杩樻湡闄愶級锛屽�熼槄鍒楄〃鐨勩�岄�炬湡銆嶅垪娓叉煋绾㈣壊銆岄�炬湡 N 澶┿�嶆爣绛撅紱鍙︽彁渚� /archive/borrow/overdue-page 鐙珛鍏ュ彛锛屽垪琛ㄩ〉鏈夈�屽彧鐪嬮�炬湡銆嶅垏鎹㈠湪 /page 涓� /overdue-page 涔嬮棿鍒囨崲鏁版嵁婧�", "roles": ["妗f绠$悊鍛�"]},
+       {"stage": "妗f缁熻", "action": "缁熻椤靛睍绀烘。妗堟�绘暟銆佸湪搴撴暟銆佸�熷嚭涓暟銆侀�炬湡鏈繕鏁板洓寮犲崱鐗囷紝浠ュ強鎸夊垎绫诲垎甯冿紙楗煎浘锛夈�佹寜瀵嗙骇鍒嗗竷锛堟煴鍥撅級銆佹寜杞戒綋鍒嗗竷锛堥ゼ鍥撅級涓夌粍鍒嗗竷锛屾暟鎹潵鑷� /archive/stat/overview 鐨勫崟娆¤仛鍚堟煡璇�", "roles": ["妗f绠$悊鍛�", "绠$悊灞�"]}]},
     {"id": "ai", "name": "AI 涓氬姟娴佺▼", "mermaid": "mermaid/11-ai-business-flow.mmd", "color": "#56c8d8",
      "summary": "缁熶竴妯″紡锛氫笟鍔′晶鏀堕泦涓婁笅鏂�(蹇呰鏃惰皟 MDM/SRM/CRM API 鍙栧悕绉�)鈫掔粍瑁� Prompt鈫抍hat/chatWithImage鈫掕В鏋� JSON鈫掑墠绔濉垨寤鸿锛涙棤 Function Calling锛汻AG 鐭ヨ瘑搴撳凡寤烘垚浣嗘殏鏃犱笟鍔℃秷璐广��",
      "steps": [
@@ -667,6 +702,10 @@
     {"role": "鍏ヤ細鐢宠浜�/浼氬憳绠$悊鍛�", "modules": ["UMS"], "operations": ["濉姤涓庝慨鏀瑰叆浼氱敵璇�(涓汉/鍗曚綅)", "涓婁紶璇佹槑鏉愭枡闄勪欢", "鎻愪氦 BPM 瀹℃壒", "浼氬憳鍒楄〃缁存姢涓庝細鍛橀�氳褰曟绱�"], "data": ["ums_application", "ums_member"], "scope": "鏉冮檺鐮� ums:application:create/update/delete/submit 路 ums:member:create/update/delete/query 路 ums:member:directory锛涙棤鏁版嵁鏉冮檺闅旂(鍏ㄥ憳鍙煡閫氳褰曪紝缁存姢绫绘寜閽彟鍑潈闄愮爜)"},
     {"role": "绉樹功澶�/鐞嗕簨浼�(瀹℃壒浜�)", "modules": ["UMS", "BPM"], "operations": ["鍏ヤ細鐢宠涓ょ骇瀹℃壒锛氱涔﹀鍒濆 鈫� 鐞嗕簨浼氬璁�"], "data": ["ums_application(鐘舵�佸洖鍐�)", "bpm_task"], "scope": "瀹℃壒浜虹敱 BPM 娴佺▼瀹氫箟閰嶇疆锛屽悗绔笉鍐欐锛涢�氳繃鍚庣郴缁熻嚜鍔ㄥ缓浼氬憳涓庣櫥褰曡处鍙�"},
     {"role": "璇鹃鐢虫姤浜�/璇鹃绠$悊鍛�", "modules": ["RES"], "operations": ["璇鹃鎸囧崡鍙戝竷涓庢埅姝�(璇鹃绠$悊鍛�)", "鏂板缓涓庝慨鏀硅棰樼敵鎶ヤ功(閫変細鍛樺甫鍑虹敵鎶ヤ汉淇℃伅銆佷笂浼犵敵鎶ラ檮浠�)", "鎻愪氦 BPM 瀹℃壒銆侀┏鍥炲悗淇敼閲嶆彁", "姣忔湀/姣忔壒娆$櫥璁扮粡璐规嫧浠樿褰曚笌鍑瘉", "鍙戝竷绔嬮」閫氱煡"], "data": ["research_guideline", "research_application", "research_topic_review", "research_fund_record"], "scope": "鏉冮檺鐮� research:guideline:create/update/delete/publish 路 research:application:create/update/delete/submit/notice 路 research:review:create/update/delete 路 research:fund:create/update/delete锛涙棤鏁版嵁鏉冮檺闅旂(鍒楄〃涓嶆寜鐢宠浜鸿繃婊�)锛屾寜閽嚟鏉冮檺鐮佹帶鍒�"},
+    {"role": "妗f绠$悊鍛�", "modules": ["ARC"], "operations": ["妗f鍒嗙被(涔︽灦)缁存姢锛氬垎灞傚缓绫汇�佽榛樿瀵嗙骇銆佸惎鐢ㄥ仠鐢�", "妗f鐧昏涓庡鏉′欢妫�绱�/瀵煎嚭锛堢數瀛愰檮浠� + 瀹炰綋浣嶇疆鍥涘瓧娈点�佸瘑绾т笁妗o級", "鍊熼槄鐧昏銆佹彁浜ゅ鎵�", "褰掕繕鐧昏涓庡綊杩樺娉�", "鏌ョ湅妗f缁熻锛堝瓨閲忎笌娴佽浆锛�"], "data": ["archive_category", "archive_document", "archive_borrow"], "scope": "鏉冮檺鐮� archive:category:create/update/delete/query 路 archive:document:create/update/delete/query/export 路 archive:borrow:create/update/delete/query/submit/return 路 archive:stat:query锛涘瘑绾�=淇濆瘑(3) 鐨勬。妗堝彟闇� archive:document:sensitive 鎵嶈兘鏌ョ湅锛屾棤璇ユ潈闄愭椂鍒楄〃涓庡鍑哄己鍒惰繃婊わ紱鏃犳暟鎹潈闄愰殧绂�(鍒楄〃涓嶆寜浜鸿繃婊�)锛屾寜閽嚟鏉冮檺鐮佹帶鍒�"},
+    {"role": "鍊熼槄浜�", "modules": ["ARC"], "operations": ["鐧昏鍊熼槄鍗曪紙閫夊湪搴撴。妗堛�佸~鍊熼槄浜轰俊鎭�/鍊熼槄鏃ユ湡/鍊熼槄鐩殑/褰掕繕鏈熼檺锛�", "鎻愪氦 BPM 鍊熼槄瀹℃壒", "鏌ョ湅鍊熼槄杩涘害锛堣烦 BPM 娴佺▼瀹炰緥璇︽儏锛�"], "data": ["archive_borrow", "archive_document(浠� 鍦ㄥ簱 10 鍙��)"], "scope": "鏉冮檺鐮� archive:borrow:create/query/submit锛涗粎鑽夌(0)涓庡凡椹冲洖(35)鍙敼鍙噸鎻愩�佷粎鑽夌鍙垹锛涘悓涓�妗f涓嶅緱鍚屾椂瀛樺湪瀹℃壒涓�(15)鎴栧�熷嚭涓�(20)鐨勫�熼槄鍗�"},
+    {"role": "妗f绠$悊鍛�/鍒嗙棰嗗(鍊熼槄瀹℃壒浜�)", "modules": ["ARC", "BPM"], "operations": ["鍊熼槄瀹℃壒涓ょ骇锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒", "鍦ㄥ鎵逛腑蹇冮�氳繃鑷畾涔夎〃鍗曞彧璇绘煡鐪嬪�熼槄鍗曚笌妗f淇℃伅"], "data": ["archive_borrow(鐘舵�佸洖鍐�)", "archive_document(鐘舵�侀殢瀹℃壒缁撴灉鏉′欢鏇存柊)", "bpm_task"], "scope": "瀹℃壒浜轰笌瀹℃壒鏂规硶鍦� BPM 娴佺▼瀹氫箟 archive_borrow_approve 鍐呴厤缃�(榛樿渚濇瀹℃壒路瑙掕壊鍏滃簳)锛屽悗绔笉鍐欐瀹℃壒浜猴紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪娴佺▼璁捐鍣ㄦ寜瀹為檯缁勭粐璋冩暣"},
+    {"role": "褰掓。缁忓姙浜�(璇鹃/浼氬憳/璐㈠姟)", "modules": ["ARC", "RES", "UMS", "FIN"], "operations": ["鍦ㄨ棰樼敵鎶ヤ功鍒楄〃瀵广�屽凡绔嬮」銆嶅崟鎹偣銆屽綊妗c��", "鍦ㄤ細鍛樺垪琛ㄥ銆屾甯搞�嶄細鍛樼偣銆屽綊妗c��", "鍦ㄦ姤閿�鍗曞垪琛ㄥ銆屽凡閫氳繃銆嶅崟鎹偣銆屽綊妗c��(涓庡叾鏃㈡湁 20鈫�40 褰掓。鍚屼簨鍔″彔鍔�)"], "data": ["archive_document(鐢熸垚)", "research_application / ums_member / finance_reimbursement(鍥炲啓 archive_document_id)"], "scope": "鏉冮檺鐮� research:application:archive 路 ums:member:archive 路 finance:reimbursement:archive锛涜皟鐢� yudao-module-archive-api 鐨� archiveBySource 骞傜瓑鐢熸垚妗f锛岄噸澶嶇偣鍑荤敱鏉ユ簮渚ф寜閿欒鐮佹嫤鎴苟缁欏嚭宸茬敓鎴愭。妗堢紪鍙�"},
     {"role": "璇勫涓撳/瀛︿細绉樹功澶劼风悊浜嬩細(璇鹃瀹℃壒浜�)", "modules": ["RES", "BPM"], "operations": ["鍦ㄥ鎵逛腑(15)褰曞叆鏈汉鐨勪笓瀹惰瘎鍒嗘槑缁�(鍥涢」鍒嗗�� + 缁撹 + 鎰忚)", "绉樹功澶勫舰寮忓鏌� 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒 涓夎妭鐐归『搴忓鎵�", "鍦ㄥ鎵逛腑蹇冮�氳繃鑷畾涔夎〃鍗曞彧璇绘煡鐪嬬敵鎶ヤ功姝f枃銆佽瘎瀹℃槑缁嗕笌鎷ㄤ粯璁板綍"], "data": ["research_topic_review", "research_application(鐘舵�佸洖鍐�)", "bpm_task"], "scope": "璇勫垎褰曞叆瑕佹眰鐢虫姤鍗曞浜庡鎵逛腑(15)路鐢辫棰樼鐞嗗憳鎴栦笓瀹朵緷鎹� research:review:* 鏉冮檺鐮佹墽琛岋紱瀹℃壒浜轰笌瀹℃壒鏂规硶鍦� BPM 娴佺▼瀹氫箟 research_topic_approve 鍐呴厤缃�(榛樿渚濇瀹℃壒路瑙掕壊鍏滃簳)锛屽悗绔笉鍐欐瀹℃壒浜猴紝閮ㄧ讲鍚庣敱绠$悊鍛樺湪娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣"}
   ]
 }</script>
@@ -725,6 +764,16 @@
       绉樹功澶勭悊浜嬩細涓夌骇瀹℃壒
       绔嬮」缂栧彿涓庣珛椤归�氱煡鍏憡
       缁忚垂鎷ㄤ粯璁板綍涓庡嚟璇�
+    妗f绠$悊 ARCHIVE 鐙珛
+      妗f鍒嗙被涔︽灦鍒嗗眰鍒嗗垪
+      妗f鏂囨。闆嗕腑瀛樺偍涓庢绱�
+      鐢靛瓙闄勪欢涓庡疄浣撲綅缃吋鍏�
+      瀵嗙骇绠℃帶涓庢晱鎰熸潈闄�
+      鍊熼槄鐧昏涓庝袱绾у鎵�
+      褰掕繕鐧昏涓庢祦杞棴鐜�
+      閫炬湡鏈繕瀹炴椂鎻愰啋
+      妗f瀛橀噺涓庢祦杞粺璁�
+      璇鹃浼氬憳璐㈠姟涓夋柟褰掓。鑱斿姩
     鐢熶骇绠$悊 MES
       涓荤敓浜ц鍒� MPS
       鐢熶骇宸ュ崟
@@ -1041,6 +1090,12 @@
   RES -->|绔嬮」閫氱煡鍐� system_notice 鍏憡| SYS
   RES -->|缁忚垂鎷ㄤ粯 1:1 鑷姩鐢熸垚 finance_reimbursement 鎶ラ攢鍗曞苟鎻愪氦瀹℃壒路璧版柊寤虹殑 yudao-module-finance-api| FIN
   FIN -.->|鎶ラ攢瀹℃壒缁撴灉缁� BPM 浜嬩欢鍥炶皟 ResearchFundStatusListener 鍥炲啓璇鹃鎷ㄦ鍙拌处| RES
+  ARC[妗f绠$悊 鐙珛妯″潡 yudao-module-archive 鍒嗙被 妗f 鍊熼槄 褰掕繕 缁熻] -.->|澶嶇敤 BPM 涓ょ骇瀹℃壒涓庣姸鎬佸洖璋兟锋祦绋� key=archive_borrow_approve| BPM
+  ARC -.->|妗f鐢靛瓙闄勪欢璧伴檮浠朵腑蹇� recordType=archive_document / archive_borrow| STG
+  RES -->|宸茬珛椤圭敵鎶ュ崟褰掓。路缁� yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id| ARC
+  UMS -->|姝e父鐘舵�佷細鍛樺綊妗B风粡 yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id| ARC
+  FIN -->|宸查�氳繃鎶ラ攢鍗曞綊妗B峰悓浜嬪姟鍙犲姞鐢熸垚銆屼繚瀵嗐�嶆。妗堝苟鍥炲啓 archive_document_id| ARC
+  ARC -.->|涓嶅弽鍚戜緷璧� ums / finance / research路浠呮彁渚� -api 瀛愭ā鍧楃敱涓夋柟鎵嬪姩璋冨綊妗 RES
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="09-data-flow">
 flowchart LR
@@ -1149,6 +1204,27 @@
   RBM -->|"鎶ラ攢鍗曡繘鍏ュ悓涓�鏉� BPM 娴佺▼ finance_reimbursement_approve(璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒)路businessKey=鎶ラ攢鍗� ID"| RBS
   RBS -.->|"BPM 鐩戝惉鍣� ResearchFundStatusListener 鍥炲啓璇鹃鍙拌处 閫氳繃20 椹冲洖30(+椹冲洖鍘熷洜/鏃堕棿) 鎾ゅ洖0"| RFR
   RESNOTE[涓�鏈熷凡瀵规帴璐㈠姟路璇鹃鍙拌处涓烘嫧娆惧彴璐β锋姤閿�鍗曚负璐㈠姟鍑鸿处鍑瘉路涓よ竟浠� reimbursement_id 杞叧鑱旀棤澶栭敭路璐㈠姟渚х洿鎺ュ垹鍗曚細鐣欎笅鎮┖ ID 鐢变笟鍔℃姤閿欏厹搴昡 -.-> RFR
+  subgraph S7 [鐙珛妗f绠$悊 archive]
+    ACD[妗f鍒嗙被 archive_category 鏍戝舰] --> ADO[妗f archive_document]
+    ADO --> ABR[鍊熼槄鍗� archive_borrow]
+    ADO --> AST[妗f鐘舵�� 10鍦ㄥ簱 20鍊熷嚭涓璢
+    ABR --> ABS[鍊熼槄鐘舵�� 0鑽夌 15瀹℃壒涓� 20鍊熷嚭涓� 30宸插綊杩� 35宸查┏鍥瀅
+  end
+  ACD -->|"鏂板缓妗f鎸夊垎绫诲甫鍑� default_secret_level 榛樿瀵嗙骇路璐㈠姟鍒嗙被=3 淇濆瘑"| ADO
+  ADO -.->|"鐢靛瓙闄勪欢 recordType=archive_document路琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃"| PDFARCH
+  ADO -->|"妗f缂栧彿 DA + yyyyMMdd + 6浣嶆祦姘�(Redis路姣忔棩閲嶇疆)路鍊熼槄鍗曞彿 JY + 鍚屾棩娴佹按"| ADO
+  RAP -->|"鎵嬪姩銆屽綊妗c�嶇粡 yudao-module-archive-api.archiveBySource(sourceType=2路瀵嗙骇 2鍐呴儴路sourceNo=绔嬮」缂栧彿路blobIds=鐢虫姤涔﹂檮浠�)路骞傜瓑"| ADO
+  UMSM -->|"鎵嬪姩銆屽綊妗c��(sourceType=3路瀵嗙骇 2鍐呴儴路sourceNo=浼氬憳缂栧彿路blobIds=浼氬憳鏉愭枡)"| ADO
+  RBM -->|"鏃㈡湁 archive 褰掓。鍚屼簨鍔″彔鍔� archiveBySource(sourceType=4路瀵嗙骇 3淇濆瘑路sourceNo=鎶ラ攢鍗曞彿路blobIds=鍙戠エ闄勪欢)路鎶ラ攢鍗� 20鈫�40 涓庣敓鎴愭。妗堜袱琛ㄥ苟鍐�"| ADO
+  ADO -->|"鍥炲啓鏉ユ簮琛� archive_document_id 浣滀负宸插綊妗g‖鏍囪路鏉ユ簮渚ч噸澶嶇偣褰掓。鎸夊叾閿欒鐮佹嫤鎴苟缁欏嚭宸茬敓鎴愭。妗堢紪鍙�"| RAP
+  ADO -->|"鍥炲啓 archive_document_id"| RBM
+  ABR -->|"submit 鍓嶆牎楠�: 鍚屼竴妗f涓嶅緱宸叉湁 瀹℃壒涓� 15 鎴� 鍊熷嚭涓� 20 鐨勫�熼槄鍗暵峰懡涓姤宸插�熺敤(甯︽。妗堝悕涓庡凡瀛樺湪鍊熼槄鍗曞彿)"| ABS
+  ABS -.->|"BPM 鐩戝惉鍣� ArchiveBorrowStatusListener 鍥炲啓 閫氳繃20 椹冲洖35 鍙栨秷閫�鍥�0"| ABR
+  ABS -->|"涓氬姟鍔ㄤ綔: 褰掕繕鐧昏 浠呮斁琛� 20 鍊熷嚭涓� 鈫� 30 宸插綊杩樎峰洖鍐� returnTime 涓庡綊杩樼‘璁や汉"| ABR
+  ABR -->|"瀹℃壒閫氳繃鏉′欢鏇存柊 archive_document SET status=20 WHERE status=10路褰掕繕鏉′欢鏇存柊鍥� 10路褰卞搷 0 琛屽嵆鎶ュ啿绐佸苟鍥炴粴"| AST
+  ABR -.->|"閫炬湡涓嶈惤搴撀锋煡璇㈡椂瀹炴椂璁$畻 status=20 涓� return_deadline 鏃╀簬浠婂ぉ路overdue-page 涓虹嫭绔嬪叆鍙i潪鏌ヨ鍙傛暟"| ABS
+  ADO -.->|"瀵嗙骇=3 淇濆瘑 涓旀棤 archive:document:sensitive 鏃堵疯鎯呮姤閿櫬峰垪琛ㄤ笌瀵煎嚭寮哄埗杩囨护 secret_level 涓嶇瓑浜� 3"| SEC3[鏉冮檺鐐� archive:document:sensitive]
+  ARCNOTE[鐙珛妯″潡路涓夋柟褰掓。涓哄垪琛ㄩ〉鎵嬪姩鎸夐挳鑰岄潪浜嬩欢椹卞姩路褰掓。鍙敓鎴愭。妗堜笉鍥炲啓鏉ユ簮鍗曟嵁涓氬姟鐘舵��(璐㈠姟渚� 20鈫�40 鏄棦鏈夐�昏緫路鏈ā鍧椾粎鍙犲姞)] -.-> ADO
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="10-business-object">
 erDiagram
@@ -1196,6 +1272,11 @@
   research_application ||--o{ research_fund_record : "缁忚垂鎷ㄤ粯璁板綍"
   research_fund_record ||--|| finance_reimbursement : "1:1 鐢熸垚鍑鸿处鎶ラ攢鍗�(杞叧鑱� reimbursement_id)"
   ums_member ||--o{ research_application : "鐢虫姤浜�(杞叧鑱旀棤澶栭敭)"
+  archive_category ||--o{ archive_document : "鍒嗙被褰掓。(鏍戝舰涔︽灦)"
+  archive_document ||--o{ archive_borrow : "鍊熼槄鐧昏"
+  research_application ||--o| archive_document : "宸茬珛椤瑰綊妗�(archive_document_id)"
+  ums_member ||--o| archive_document : "姝e父浼氬憳褰掓。(archive_document_id)"
+  finance_reimbursement ||--o| archive_document : "宸查�氳繃鎶ラ攢褰掓。(archive_document_id)"
 </pre>
 <pre style="display:none" class="mmd-src" data-mmd="11-ai-business-flow">
 flowchart TD
@@ -1351,6 +1432,58 @@
   BOUND["鐙珛妯″潡 yudao-module-research路瀵� ums_member 涓鸿蒋鍏宠仈(鏃犲閿�)路瀵硅储鍔℃ā鍧楄蛋 -api 瀛愭ā鍧楁湰鍦拌皟鐢蜂粎澶嶇敤 BPM 瀹℃壒銆乻ystem 鍏憡涓庨檮浠朵腑蹇�"] --- K1
 </pre>
 
+<pre style="display:none" class="mmd-src" data-mmd="15-archive-flow">
+flowchart TD
+  subgraph P1 [妗f鍒嗙被路涔︽灦绠$悊 archive_category]
+    C1[鏂板缓鍒嗙被路鍙�夌埗鍒嗙被褰㈡垚鍒嗙被鏍慮 --> C2["濉� 鍒嗙被鍚嶇О 路 缂栫爜 code 路 鎺掑簭 路 鍒嗙被璇存槑 路 榛樿瀵嗙骇 路 鐘舵��"]
+    C2 --> C3["缂栫爜鍏ㄥ眬鍞竴 uk_code 路 鐘舵�� 0鍚敤 1鍋滅敤 路 榛樿瀵嗙骇 1鍏紑 2鍐呴儴 3淇濆瘑"]
+    C3 --> C4["鍒濆 6 鏉″垎绫�: 浼氬憳妗f member 路 璇鹃妗f research 路 浼氳妗f meeting 路 璐㈠姟妗f finance(榛樿瀵嗙骇=淇濆瘑 3) 路 鏂囦功妗f document 路 鍏氬缓妗f party"]
+    C4 --> C5["鍙敼鍙垹 路 鏈夊瓙鍒嗙被绂佸垹 路 璇ュ垎绫讳笅鏈夋。妗堢鍒� 路 鐖跺垎绫讳笉鑳芥槸鑷韩鎴栧叾瀛愬垎绫� 路 鍋滅敤鍒嗙被涓嶈兘鏂板妗f"]
+  end
+  subgraph P2 [妗f绠$悊 archive_document]
+    D1["鏂板缓妗f: 鏍囬 路 鍒嗙被 路 瀵嗙骇 路 杞戒綋(1鐢靛瓙 2瀹炰綋 3鐢靛瓙+瀹炰綋) 路 褰掓。鏃ユ湡 路 鎽樿 路 鍏抽敭璇� tags"] --> D2["瀹炰綋浣嶇疆鍥涘瓧娈�: 涔︽灦鍙� shelfNo 路 灞傚彿 layerNo 路 鍒楀彿 columnNo 路 鍐屽彿妗f鐩� boxNo 路 瀛樻斁浣嶇疆鎻忚堪 storePlace"]
+    D2 --> D3["鐢靛瓙闄勪欢璧� system 闄勪欢涓績 路 recordType=archive_document 路 琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃 路 blobIds 涓哄叏閲忔浛鎹㈣涔�"]
+    D3 --> D4["妗f缂栧彿 DA + yyyyMMdd + 6浣嶆祦姘� (Redis路姣忔棩閲嶇疆)"]
+    D4 --> D5["鐘舵�� 10 鍦ㄥ簱 路 鍙敼鍙垹"]
+    D5 -->|"鍊熼槄瀹℃壒閫氳繃"| D6["鐘舵�� 20 鍊熷嚭涓� 路 绂佹敼 路 瀛樺湪鏈綊杩樺�熼槄鍗曟椂绂佸垹"]
+    D6 -->|"褰掕繕鐧昏"| D5
+  end
+  subgraph P3 [涓夋柟褰掓。鑱斿姩路鍒楄〃椤垫墜鍔ㄣ�屽綊妗c�嶆寜閽啋yudao-module-archive-api]
+    AD["ArchiveDocumentApi.archiveBySource 骞傜瓑: 鍏堟寜 source_type + source_id 鏌� 路 鍛戒腑鐩存帴杩斿洖鏃㈡湁妗f ID"]
+    AD2["鎸� categoryCode 鍙栧垎绫�(member / research / finance) 路 鍒嗙被涓嶅瓨鍦ㄦ姤 DOCUMENT_SOURCE_CATEGORY_NOT_EXISTS"]
+    AD3["鐢熸垚 DA 缂栧彿 + 钀藉簱 + bindAttachments(recordType=archive_document)"]
+    AD4["鍥炲啓鏉ユ簮琛� archive_document_id 浣滀负宸插綊妗g‖鏍囪 路 鏉ユ簮渚ч噸澶嶅綊妗f寜鍏惰嚜韬敊璇爜鎷︽埅骞剁粰鍑哄凡鐢熸垚妗f缂栧彿(archive 渚� DOCUMENT_DUPLICATE_SOURCE 涓哄厹搴�)"]
+    R1["璇鹃鐢虫姤涔� research_application 路 浠� status=20 宸茬珛椤� 路 鏉冮檺 research:application:archive"] -->|"sourceType=2 路 瀵嗙骇 2鍐呴儴 路 sourceNo=绔嬮」缂栧彿 路 blobIds=鐢虫姤涔﹂檮浠�"| AD
+    M1["浼氬憳 ums_member 路 浠� status=1 姝e父 路 鏉冮檺 ums:member:archive"] -->|"sourceType=3 路 瀵嗙骇 2鍐呴儴 路 sourceNo=浼氬憳缂栧彿"| AD
+    F1["璐㈠姟鎶ラ攢鍗� finance_reimbursement 路 浠� status=20 宸查�氳繃 路 鏉冮檺 finance:reimbursement:archive"] -->|"sourceType=4 路 瀵嗙骇 3淇濆瘑 路 sourceNo=鎶ラ攢鍗曞彿 路 blobIds=鍙戠エ闄勪欢 路 涓庢棦鏈� 20鈫�40 褰掓。鍚屼簨鍔″彔鍔�"| AD
+    AD --> AD2
+    AD2 --> AD3
+    AD3 --> AD4
+  end
+  AD3 -->|"褰掓。缁撴灉: 鏂版。妗堢洿鎺ヨ惤涓� 鍦ㄥ簱 10"| D5
+  subgraph P4 [鍊熼槄鐧昏涓庡鎵� archive_borrow]
+    B1["鐧昏鍊熼槄: 閫夋。妗�(浠� 鍦ㄥ簱 10 鍙��) 路 鍊熼槄浜� 路 閮ㄩ棬 路 鑱旂郴鐢佃瘽 路 鍊熼槄鏃ユ湡 路 鍊熼槄鐩殑 路 褰掕繕鏈熼檺"] --> B2["鍊熼槄鍗曞彿 JY + yyyyMMdd + 6浣嶆祦姘� (Redis路姣忔棩閲嶇疆) 路 鐘舵�� 0 鑽夌"]
+    B2 --> B3["submit 鍓嶆牎楠�: 鍚屼竴妗f涓嶅緱瀛樺湪 瀹℃壒涓� 15 鎴� 鍊熷嚭涓� 20 鐨勫�熼槄鍗� 路 鍛戒腑鎶� 宸插�熺敤(甯︽。妗堝悕涓庡凡瀛樺湪鍊熼槄鍗曞彿)"]
+    B3 --> B4["submit 浼� id 涓� processDefinitionKey (query 鍙傛暟) 路 鍏堣В鏋愭祦绋嬪垪琛ㄥ啀寤哄崟(鏃犲凡鍙戝竷娴佺▼鍒欑洿鎺ユ姤閿櫬蜂笉鐣欏鍎胯崏绋�) 路 鐘舵�� 15 瀹℃壒涓� 路 鍥炲啓 processInstanceId"]
+    B4 --> B5["BPM 娴佺▼ archive_borrow_approve 涓ょ骇: 妗f绠$悊鍛樺鏍� 鈫� 鍒嗙棰嗗瀹℃壒"]
+  end
+  B5 -->|"瀹℃壒閫氳繃"| B6["鐘舵�� 20 鍊熷嚭涓� 路 鍥炲啓 approveTime 路 鏉′欢鏇存柊妗f SET status=20 WHERE status=10(褰卞搷 0 琛屽垯鎶� 妗f宸茶鍗犵敤 骞跺洖婊�)"]
+  B5 -->|"瀹℃壒椹冲洖"| B7["鐘舵�� 35 宸查┏鍥� 路 鍥炲啓椹冲洖鍘熷洜涓庢椂闂� 路 淇敼鍚庡彲閲嶆柊 submit"]
+  B5 -->|"鍙栨秷娴佺▼"| B2
+  B6 -->|"褰掕繕鐧昏 return 路 鏉′欢鏇存柊 status=20 鈫� 30"| B8["鐘舵�� 30 宸插綊杩� 路 鍥炲啓 returnTime 涓庡綊杩樼‘璁や汉 路 褰掕繕澶囨敞"]
+  B8 -->|"鏉′欢鏇存柊妗f SET status=10 WHERE status=20"| D5
+  B6 -->|"浠� 0 鑽夌 涓� 35 宸查┏鍥� 鍙敼鍙噸鎻� 路 浠� 0 鑽夌 鍙垹"| B2
+  B6 -->|"浠� 20 鍊熷嚭涓� 鍙櫥璁板綊杩�"| B8
+  OV["閫炬湡涓嶈惤搴撀锋煡璇㈡椂瀹炴椂璁$畻: status=20 涓� return_deadline 鏃╀簬浠婂ぉ 路 overdueDays = 浠婂ぉ 鍑� 褰掕繕鏈熼檺"] -.-> B6
+  OVP["GET /archive/borrow/overdue-page 鐙珛鍏ュ彛(闈炴煡璇㈠弬鏁�) 路 鍒楄〃銆岄�炬湡銆嶅垪娓叉煋绾㈣壊銆岄�炬湡 N 澶┿�� 路 涓嶅缓 infra_job 涓嶅彂绔欏唴淇� 路 鍒楄〃椤靛彟鏈夈�屽彧鐪嬮�炬湡銆嶅垏鎹�"] -.-> OV
+  ST["妗f缁熻 GET /archive/stat/overview: 妗f鎬绘暟 路 鍦ㄥ簱鏁� 路 鍊熷嚭涓暟 路 閫炬湡鏈繕鏁� + 鎸夊垎绫�/鎸夊瘑绾�/鎸夎浇浣� 涓夌粍鍒嗗竷"] -.-> D5
+  SEC["鏁忔劅妗f绠℃帶: 瀵嗙骇=3 淇濆瘑 涓斿綋鍓嶇敤鎴锋棤 archive:document:sensitive 鏃� 路 璇︽儏鎺ュ彛鐩存帴鎶ラ敊 路 鍒楄〃涓庡鍑哄己鍒惰繃婊� secret_level 涓嶇瓑浜� 3"] -.-> D1
+  ATT["闄勪欢 recordType = archive_document / archive_borrow"] -.-> D3
+  ROL["瀹℃壒涓績鐪嬪崟: 娴佺▼瀹氫箟琛ㄥ崟绫诲瀷=鑷畾涔夎〃鍗� 路 鍒涘缓璺緞 /archive/borrow/index 路 鏌ョ湅璺緞 /archive/borrow/detail/approve/index.vue 路 鎸� businessKey 鍥炴樉鍊熼槄鍗�"] -.-> B5
+  LIS["鐩戝惉鍣� ArchiveBorrowStatusListener(娴佺▼ key=archive_borrow_approve 路 businessKey=鍊熼槄鍗� ID): 閫氳繃鈫�20 鍊熷嚭涓� + approveTime 骞舵潯浠舵洿鏂版。妗� 鈫� 20 路 椹冲洖鈫�35 + 鍘熷洜涓庢椂闂� 路 鍙栨秷鈫掗��鍥� 0 路 涓� finance/research 鐩戝惉鍣ㄨ闃呬笉鍚� key 浜掍笉骞叉壈"] -.-> B5
+  BOUND["鐙珛妯″潡 yudao-module-archive(鍚� -api 瀛愭ā鍧�)路渚濊禆 system/bpm路涓嶅弽鍚戜緷璧� ums/finance/research(閬垮厤寰幆渚濊禆)路涓夋柟浠呬緷璧� archive-api 鎵嬪姩璋冨綊妗�"] --- D1
+</pre>
+
 <script type="module">
 const DATA = {};
 async function loadJson(key){
@@ -1369,7 +1502,7 @@
 const mmdSrc = {};
 document.querySelectorAll('pre.mmd-src').forEach(p=>{ mmdSrc[p.dataset.mmd]=p.textContent.trim(); });
 
-const flowColor = {sales:'var(--c-sale)',purchase:'var(--c-erp)',production:'var(--c-prod)',quality:'var(--c-qc)',warehouse:'var(--c-wm)',aftersales:'var(--c-as)',finance:'var(--c-fin)',ums:'var(--c-ums)',research:'var(--c-res)',ai:'var(--c-ai)'};
+const flowColor = {sales:'var(--c-sale)',purchase:'var(--c-erp)',production:'var(--c-prod)',quality:'var(--c-qc)',warehouse:'var(--c-wm)',aftersales:'var(--c-as)',finance:'var(--c-fin)',ums:'var(--c-ums)',research:'var(--c-res)',archive:'var(--c-arch)',ai:'var(--c-ai)'};
 
 async function boot(){
   DATA.business = await loadJson('business');
@@ -1406,8 +1539,8 @@
   </div>
   <h3 class="sec">涓氬姟妯″潡</h3>
   <div class="grid cards">`;
-  const targets = {crm:'flow-sales',erp:'flow-purchase',pro:'flow-production',wm:'flow-warehouse',qc:'flow-quality',aftersales:'flow-aftersales',fin:'flow-finance',ums:'flow-ums',res:'flow-research',ai:'ai',srm:'flow-purchase',mdm:'objects',dv:'objects',hrm:'objects',bpm:'relation'};
-  const accs = {mdm:'var(--c-base)',crm:'var(--c-sale)',srm:'var(--c-sup)',erp:'var(--c-erp)',fin:'var(--c-fin)',ums:'var(--c-ums)',res:'var(--c-res)',pro:'var(--c-prod)',wm:'var(--c-wm)',qc:'var(--c-qc)',dv:'var(--c-dv)',aftersales:'var(--c-as)',hrm:'var(--c-hrm)',bpm:'var(--c-bpm)',ai:'var(--c-ai)'};
+  const targets = {crm:'flow-sales',erp:'flow-purchase',pro:'flow-production',wm:'flow-warehouse',qc:'flow-quality',aftersales:'flow-aftersales',fin:'flow-finance',ums:'flow-ums',res:'flow-research',arc:'flow-archive',ai:'ai',srm:'flow-purchase',mdm:'objects',dv:'objects',hrm:'objects',bpm:'relation'};
+  const accs = {mdm:'var(--c-base)',crm:'var(--c-sale)',srm:'var(--c-sup)',erp:'var(--c-erp)',fin:'var(--c-fin)',ums:'var(--c-ums)',res:'var(--c-res)',arc:'var(--c-arch)',pro:'var(--c-prod)',wm:'var(--c-wm)',qc:'var(--c-qc)',dv:'var(--c-dv)',aftersales:'var(--c-as)',hrm:'var(--c-hrm)',bpm:'var(--c-bpm)',ai:'var(--c-ai)'};
   DATA.modules.modules.forEach(m=>{
     html += `<div class="card" style="--acc:${accs[m.key]||'#2c5cff'}" data-goto="${targets[m.key]||'panorama'}">
       <h3>${esc(m.name)}<span class="tag">${esc(m.tag)}</span></h3>
diff --git a/docs/project-business/mermaid/01-business-mindmap.mmd b/docs/project-business/mermaid/01-business-mindmap.mmd
index 43ccf36..b9b12ba 100644
--- a/docs/project-business/mermaid/01-business-mindmap.mmd
+++ b/docs/project-business/mermaid/01-business-mindmap.mmd
@@ -52,6 +52,16 @@
       绉樹功澶勭悊浜嬩細涓夌骇瀹℃壒
       绔嬮」缂栧彿涓庣珛椤归�氱煡鍏憡
       缁忚垂鎷ㄤ粯璁板綍涓庡嚟璇�
+    妗f绠$悊 ARCHIVE 鐙珛
+      妗f鍒嗙被涔︽灦鍒嗗眰鍒嗗垪
+      妗f鏂囨。闆嗕腑瀛樺偍涓庢绱�
+      鐢靛瓙闄勪欢涓庡疄浣撲綅缃吋鍏�
+      瀵嗙骇绠℃帶涓庢晱鎰熸潈闄�
+      鍊熼槄鐧昏涓庝袱绾у鎵�
+      褰掕繕鐧昏涓庢祦杞棴鐜�
+      閫炬湡鏈繕瀹炴椂鎻愰啋
+      妗f瀛橀噺涓庢祦杞粺璁�
+      璇鹃浼氬憳璐㈠姟涓夋柟褰掓。鑱斿姩
     鐢熶骇绠$悊 MES
       涓荤敓浜ц鍒� MPS
       鐢熶骇宸ュ崟
diff --git a/docs/project-business/mermaid/08-module-relation.mmd b/docs/project-business/mermaid/08-module-relation.mmd
index 1a7bd80..56c4b38 100644
--- a/docs/project-business/mermaid/08-module-relation.mmd
+++ b/docs/project-business/mermaid/08-module-relation.mmd
@@ -41,3 +41,9 @@
   RES -->|绔嬮」閫氱煡鍐� system_notice 鍏憡| SYS
   RES -->|缁忚垂鎷ㄤ粯 1:1 鑷姩鐢熸垚 finance_reimbursement 鎶ラ攢鍗曞苟鎻愪氦瀹℃壒路璧版柊寤虹殑 yudao-module-finance-api| FIN
   FIN -.->|鎶ラ攢瀹℃壒缁撴灉缁� BPM 浜嬩欢鍥炶皟 ResearchFundStatusListener 鍥炲啓璇鹃鎷ㄦ鍙拌处| RES
+  ARC[妗f绠$悊 鐙珛妯″潡 yudao-module-archive 鍒嗙被 妗f 鍊熼槄 褰掕繕 缁熻] -.->|澶嶇敤 BPM 涓ょ骇瀹℃壒涓庣姸鎬佸洖璋兟锋祦绋� key=archive_borrow_approve| BPM
+  ARC -.->|妗f鐢靛瓙闄勪欢璧伴檮浠朵腑蹇� recordType=archive_document / archive_borrow| STG
+  RES -->|宸茬珛椤圭敵鎶ュ崟褰掓。路缁� yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id| ARC
+  UMS -->|姝e父鐘舵�佷細鍛樺綊妗B风粡 yudao-module-archive-api 鐢熸垚妗f骞跺洖鍐� archive_document_id| ARC
+  FIN -->|宸查�氳繃鎶ラ攢鍗曞綊妗B峰悓浜嬪姟鍙犲姞鐢熸垚銆屼繚瀵嗐�嶆。妗堝苟鍥炲啓 archive_document_id| ARC
+  ARC -.->|涓嶅弽鍚戜緷璧� ums / finance / research路浠呮彁渚� -api 瀛愭ā鍧楃敱涓夋柟鎵嬪姩璋冨綊妗 RES
diff --git a/docs/project-business/mermaid/09-data-flow.mmd b/docs/project-business/mermaid/09-data-flow.mmd
index 2f78f75..c2f1301 100644
--- a/docs/project-business/mermaid/09-data-flow.mmd
+++ b/docs/project-business/mermaid/09-data-flow.mmd
@@ -104,3 +104,24 @@
   RBM -->|"鎶ラ攢鍗曡繘鍏ュ悓涓�鏉� BPM 娴佺▼ finance_reimbursement_approve(璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒)路businessKey=鎶ラ攢鍗� ID"| RBS
   RBS -.->|"BPM 鐩戝惉鍣� ResearchFundStatusListener 鍥炲啓璇鹃鍙拌处 閫氳繃20 椹冲洖30(+椹冲洖鍘熷洜/鏃堕棿) 鎾ゅ洖0"| RFR
   RESNOTE[涓�鏈熷凡瀵规帴璐㈠姟路璇鹃鍙拌处涓烘嫧娆惧彴璐β锋姤閿�鍗曚负璐㈠姟鍑鸿处鍑瘉路涓よ竟浠� reimbursement_id 杞叧鑱旀棤澶栭敭路璐㈠姟渚х洿鎺ュ垹鍗曚細鐣欎笅鎮┖ ID 鐢变笟鍔℃姤閿欏厹搴昡 -.-> RFR
+  subgraph S7 [鐙珛妗f绠$悊 archive]
+    ACD[妗f鍒嗙被 archive_category 鏍戝舰] --> ADO[妗f archive_document]
+    ADO --> ABR[鍊熼槄鍗� archive_borrow]
+    ADO --> AST[妗f鐘舵�� 10鍦ㄥ簱 20鍊熷嚭涓璢
+    ABR --> ABS[鍊熼槄鐘舵�� 0鑽夌 15瀹℃壒涓� 20鍊熷嚭涓� 30宸插綊杩� 35宸查┏鍥瀅
+  end
+  ACD -->|"鏂板缓妗f鎸夊垎绫诲甫鍑� default_secret_level 榛樿瀵嗙骇路璐㈠姟鍒嗙被=3 淇濆瘑"| ADO
+  ADO -.->|"鐢靛瓙闄勪欢 recordType=archive_document路琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃"| PDFARCH
+  ADO -->|"妗f缂栧彿 DA + yyyyMMdd + 6浣嶆祦姘�(Redis路姣忔棩閲嶇疆)路鍊熼槄鍗曞彿 JY + 鍚屾棩娴佹按"| ADO
+  RAP -->|"鎵嬪姩銆屽綊妗c�嶇粡 yudao-module-archive-api.archiveBySource(sourceType=2路瀵嗙骇 2鍐呴儴路sourceNo=绔嬮」缂栧彿路blobIds=鐢虫姤涔﹂檮浠�)路骞傜瓑"| ADO
+  UMSM -->|"鎵嬪姩銆屽綊妗c��(sourceType=3路瀵嗙骇 2鍐呴儴路sourceNo=浼氬憳缂栧彿路blobIds=浼氬憳鏉愭枡)"| ADO
+  RBM -->|"鏃㈡湁 archive 褰掓。鍚屼簨鍔″彔鍔� archiveBySource(sourceType=4路瀵嗙骇 3淇濆瘑路sourceNo=鎶ラ攢鍗曞彿路blobIds=鍙戠エ闄勪欢)路鎶ラ攢鍗� 20鈫�40 涓庣敓鎴愭。妗堜袱琛ㄥ苟鍐�"| ADO
+  ADO -->|"鍥炲啓鏉ユ簮琛� archive_document_id 浣滀负宸插綊妗g‖鏍囪路鏉ユ簮渚ч噸澶嶇偣褰掓。鎸夊叾閿欒鐮佹嫤鎴苟缁欏嚭宸茬敓鎴愭。妗堢紪鍙�"| RAP
+  ADO -->|"鍥炲啓 archive_document_id"| RBM
+  ABR -->|"submit 鍓嶆牎楠�: 鍚屼竴妗f涓嶅緱宸叉湁 瀹℃壒涓� 15 鎴� 鍊熷嚭涓� 20 鐨勫�熼槄鍗暵峰懡涓姤宸插�熺敤(甯︽。妗堝悕涓庡凡瀛樺湪鍊熼槄鍗曞彿)"| ABS
+  ABS -.->|"BPM 鐩戝惉鍣� ArchiveBorrowStatusListener 鍥炲啓 閫氳繃20 椹冲洖35 鍙栨秷閫�鍥�0"| ABR
+  ABS -->|"涓氬姟鍔ㄤ綔: 褰掕繕鐧昏 浠呮斁琛� 20 鍊熷嚭涓� 鈫� 30 宸插綊杩樎峰洖鍐� returnTime 涓庡綊杩樼‘璁や汉"| ABR
+  ABR -->|"瀹℃壒閫氳繃鏉′欢鏇存柊 archive_document SET status=20 WHERE status=10路褰掕繕鏉′欢鏇存柊鍥� 10路褰卞搷 0 琛屽嵆鎶ュ啿绐佸苟鍥炴粴"| AST
+  ABR -.->|"閫炬湡涓嶈惤搴撀锋煡璇㈡椂瀹炴椂璁$畻 status=20 涓� return_deadline 鏃╀簬浠婂ぉ路overdue-page 涓虹嫭绔嬪叆鍙i潪鏌ヨ鍙傛暟"| ABS
+  ADO -.->|"瀵嗙骇=3 淇濆瘑 涓旀棤 archive:document:sensitive 鏃堵疯鎯呮姤閿櫬峰垪琛ㄤ笌瀵煎嚭寮哄埗杩囨护 secret_level 涓嶇瓑浜� 3"| SEC3[鏉冮檺鐐� archive:document:sensitive]
+  ARCNOTE[鐙珛妯″潡路涓夋柟褰掓。涓哄垪琛ㄩ〉鎵嬪姩鎸夐挳鑰岄潪浜嬩欢椹卞姩路褰掓。鍙敓鎴愭。妗堜笉鍥炲啓鏉ユ簮鍗曟嵁涓氬姟鐘舵��(璐㈠姟渚� 20鈫�40 鏄棦鏈夐�昏緫路鏈ā鍧椾粎鍙犲姞)] -.-> ADO
diff --git a/docs/project-business/mermaid/10-business-object.mmd b/docs/project-business/mermaid/10-business-object.mmd
index 6d73908..2b7c283 100644
--- a/docs/project-business/mermaid/10-business-object.mmd
+++ b/docs/project-business/mermaid/10-business-object.mmd
@@ -43,3 +43,8 @@
   research_application ||--o{ research_fund_record : "缁忚垂鎷ㄤ粯璁板綍"
   research_fund_record ||--|| finance_reimbursement : "1:1 鐢熸垚鍑鸿处鎶ラ攢鍗�(杞叧鑱� reimbursement_id)"
   ums_member ||--o{ research_application : "鐢虫姤浜�(杞叧鑱旀棤澶栭敭)"
+  archive_category ||--o{ archive_document : "鍒嗙被褰掓。(鏍戝舰涔︽灦)"
+  archive_document ||--o{ archive_borrow : "鍊熼槄鐧昏"
+  research_application ||--o| archive_document : "宸茬珛椤瑰綊妗�(archive_document_id)"
+  ums_member ||--o| archive_document : "姝e父浼氬憳褰掓。(archive_document_id)"
+  finance_reimbursement ||--o| archive_document : "宸查�氳繃鎶ラ攢褰掓。(archive_document_id)"
diff --git a/docs/project-business/mermaid/13-ums-membership-flow.mmd b/docs/project-business/mermaid/13-ums-membership-flow.mmd
new file mode 100644
index 0000000..4ec25f7
--- /dev/null
+++ b/docs/project-business/mermaid/13-ums-membership-flow.mmd
@@ -0,0 +1,29 @@
+flowchart TD
+  A1[濉姤鍏ヤ細鐢宠路閫変細鍛樼被鍨� 1涓汉 / 2鍗曚綅] --> A2[涓汉鍒嗘敮: 濮撳悕 鑱旂郴鐢佃瘽 閭 宸ヤ綔鍗曚綅 鑱岀О 鐮旂┒鏂瑰悜 琛屼笟 鍦板尯]
+  A1 --> A3[鍗曚綅鍒嗘敮: 鍗曚綅鍚嶇О 娉曞畾浠h〃浜� 缁熶竴绀句細淇$敤浠g爜 鐮旂┒鏂瑰悜 琛屼笟 鍦板尯]
+  A2 --> A4[閫夌敵璇风瓑绾锋寜浼氬憳绫诲瀷鍒囨崲瀛楀吀 ums_personal_grade / ums_unit_grade]
+  A3 --> A4
+  A4 --> A5[璇佹槑鏉愭枡闄勪欢: 鍏堜紶 system storage-blob upload 鍙� blobId]
+  A5 --> S1[淇濆瓨 create路闄勪欢鎸夎鍗曞叏閮� blobIds 缁戝畾]
+  S1 --> G1["鐢宠缂栧彿 SQ + yyyyMMdd + 6浣嶆祦姘�(Redis路姣忔棩閲嶇疆)路鍚庣鐢熸垚涓嶅彲鏀�"]
+  G1 --> K1[鑽夌 0]
+  K1 -->|update 淇敼鐢宠| K1
+  K1 -->|submit 閫夊鎵规祦绋� processDefinitionKey| K2[瀹℃壒涓� 15路鍥炲啓 processInstanceId]
+  K2 -->|BPM 瀹℃壒閫氳繃| K3[宸查�氳繃 20]
+  K2 -->|BPM 瀹℃壒椹冲洖| K4[宸查┏鍥� 35]
+  K2 -->|BPM 瀹℃壒鍙栨秷| K1
+  K4 -->|淇敼鍚庨噸鏂� submit| K2
+  K3 --> M1["瀹℃壒閫氳繃閽╁瓙: 鑷姩鍒涘缓浼氬憳 ums_member (鍐呴儴鍏堟煡鐘舵�佺‘涓哄凡閫氳繃鎵嶆墽琛�)"]
+  M1 --> M2["浼氬憳缂栧彿 HY + yyyyMMdd + 6浣嶆祦姘�(Redis)"]
+  M2 --> M3["鍒涘缓绯荤粺鐧诲綍璐﹀彿 AdminUserApi.createUser路鐢ㄦ埛鍚嶄笌鍒濆瀵嗙爜=鑱旂郴鐢佃瘽路鏄电О=鐢宠浜哄鍚嵚烽儴闂�=瀛︿細浼氬憳"]
+  M3 --> M4[浼氬憳钀藉簱路鍏ヤ細鏃ユ湡=褰撳ぉ路鐘舵�� 1姝e父路鏉ユ簮鐢宠鍗� applicationId 鍥炲~]
+  M4 --> D2[浼氬憳鍒楄〃路鍙墜宸� create / update / delete]
+  D2 --> V1["绛夌骇绫诲瀷鏍¢獙: 鍗曚綅浼氬憳(memberType=2) 涓嶅彲閫夈�庣悊浜嬮暱銆�(memberGrade=5) 鐩存帴鎷掔粷"]
+  M4 --> D1[浼氬憳閫氳褰暵峰彧璇宦锋寜鍦板尯 regionCode 涓庤涓� industry 妫�绱
+  ATT1["闄勪欢 recordType = ums_application"] -.-> K1
+  ATT2["闄勪欢 recordType = ums_member"] -.-> M4
+  RES1["浠呰崏绋� 0 鍙� delete路杩炲甫娓呯悊闄勪欢"] -.-> K1
+  RES2["浠呰崏绋� 0 涓庡凡椹冲洖 35 鍙� update路鍏朵綑鐘舵�佸彧璇�"] -.-> K4
+  ROL["瀹℃壒閾�: BPM 娴佺▼瀹氫箟 ums_membership_approve(褰掑睘鍒嗙被 ums_membership_approve) 绉樹功澶勫垵瀹� 鈫� 鐞嗕簨浼氬璁蜂袱鑺傜偣瀹℃壒浜�=瑙掕壊绛栫暐(瓒呯瑙掕壊鍏滃簳)路鍚庣鎸夊垎绫诲疄鏃跺彇娴佺▼銆佷笉鍐欐 key"] -.-> K2
+  F1["瀹℃壒涓績鐪嬪崟: 娴佺▼瀹氫箟琛ㄥ崟绫诲瀷=鑷畾涔夎〃鍗暵锋煡鐪嬭矾寰� /ums/application/detail/approve/index.vue路鎸� businessKey 鍥炴樉鐢宠鍗�"] -.-> K2
+  N1["鐙珛妯″潡路涓嶄笌鍏朵粬涓氬姟妯″潡浜х敓鍗曟嵁鍏宠仈路浠呭鐢� BPM 瀹℃壒涓� system 闄勪欢涓績"] --- K1
diff --git a/docs/project-business/mermaid/14-research-flow.mmd b/docs/project-business/mermaid/14-research-flow.mmd
new file mode 100644
index 0000000..8fdc4b8
--- /dev/null
+++ b/docs/project-business/mermaid/14-research-flow.mmd
@@ -0,0 +1,56 @@
+flowchart TD
+  subgraph P1 [璇鹃鎸囧崡鍙戝竷]
+    G0[鏂板缓鎸囧崡路閫夌被鍒� 1閲嶇偣璇鹃 / 2涓�鑸棰榏 --> G1[濉寚鍗楀悕绉� 鐢虫姤璧锋鏃堕棿 鎸囧崡姝f枃 闄勪欢]
+    G1 --> G2["鎸囧崡缂栧彿 GL + yyyyMMdd + 6浣嶆祦姘�(Redis路姣忔棩閲嶇疆)"]
+    G2 --> G3[鑽夌 0路浠呰崏绋垮彲鏀瑰彲鍒燷
+    G3 -->|宸蹭骇鐢熺敵鎶ュ崟鍒欑姝㈠垹闄 G3B["鎻愮ず璇ユ寚鍗椾笅宸叉湁 N 寮犵敵鎶ュ崟路闇�鍏堝鐞嗙敵鎶ュ崟"]
+    G3 -->|publish 鍙戝竷| G4["宸插彂甯� 20路鍥炲啓 publishTime"]
+    G4 -->|close 鎴| G5[宸叉埅姝� 30]
+  end
+  G4 -->|"鎸囧崡宸插彂甯冩墠鍙綔涓虹敵鎶ュ墠鎻�"| A1
+  subgraph P2 [鍦ㄧ嚎鐢虫姤]
+    A1[閫夋寚鍗椔疯姹傚凡鍙戝竷 涓斿湪鐢虫姤鏈熷唴] --> A2[閫変細鍛� ums_member 鑷姩甯﹀嚭 濮撳悕 宸ヤ綔鍗曚綅 鑱岀О 鐢佃瘽 閭]
+    A2 --> A3[濉棰樺悕绉� 璇鹃缁勬垚鍛� 鐢宠缁忚垂 鐢虫姤涔︽鏂� 鐢虫姤闄勪欢]
+    A3 --> A4["鐢虫姤缂栧彿 SB + yyyyMMdd + 6浣嶆祦姘绰风被鍒啑浣欒嚜鎸囧崡涓嶄俊浠诲墠绔紶鍊�"]
+    A4 --> K1[鑽夌 0]
+  end
+  K1 -->|update 淇敼路浠呰崏绋� 0 涓庡凡椹冲洖 35 鏀捐| K1
+  K1 -->|delete 鍒犻櫎路浠呰崏绋� 0 鏀捐路杩炲甫娓呯悊闄勪欢| K1
+  K1 -->|submit 閫夊鎵规祦绋� processDefinitionKey| K2["瀹℃壒涓� 15路鍥炲啓 processInstanceId"]
+  K1 -->|"submit 鍓嶉�愭潯鏍¢獙: 鈶� 鎸囧崡蹇呴』宸插彂甯� 鈶� 褰撳墠鏃堕棿蹇呴』鍦ㄧ敵鎶ヨ捣姝㈡湡鍐�"| KERR["浠讳竴涓嶆弧瓒冲嵆鎷掔粷鎻愪氦路鎻愮ず甯︽寚鍗楀悕涓庡疄闄呯姸鎬佹垨璧锋鏃堕棿"]
+  K2 -->|"浠呭鎵逛腑鍙鍒犳敼涓撳璇勫垎"| RK[涓撳璇勫鏄庣粏 research_topic_review路涓�浣嶄笓瀹朵竴琛宂
+  RK -->|"鍚庣閫愯閲嶇畻 compositeScore = 閫夐0.3 + 鏂规0.3 + 鍥㈤槦0.2 + 鎴愭灉0.2"| RC[鎸夊姞鏉冨垎闄嶅簭閲嶆帓鍚嶆 ranking]
+  RC -->|"鍥炲啓涓诲崟: reviewAvgScore=鍏ㄩ儴涓撳鍧囧垎 路 reviewPass=鍧囧垎杈炬爣 涓� 澶氭暟缁撹涓烘帹鑽愮珛椤�"| SUM[鐢虫姤鍗曡瘎瀹℃眹鎬宦峰垹闄ゆ渶鍚庝竴鏉℃槑缁嗘椂娓呯┖姹囨�籡
+  SUM -->|"绉樹功澶勬眹鎬荤敵鎶ヤ功涓庤瘎瀹$粨鏋�"| K3
+  K2 --> K3
+  subgraph P3 [绔嬮」瀹℃壒 BPM research_topic_approve]
+    K3["涓夎妭鐐归『搴徛峰鎵规柟娉曚笌瀹℃壒浜哄湪娴佺▼瀹氫箟鍐呴厤缃�"] --> KA[Activity_secretariat_review 绉樹功澶勫舰寮忓鏌
+    KA -->|閫氳繃| KB[Activity_expert_review 涓撳璇勫]
+    KB -->|閫氳繃| KC[Activity_council_approve 瀛︿細绔嬮」瀹℃壒]
+  end
+  KC -->|BPM 瀹℃壒閫氳繃| K4["宸茬珛椤� 20路鐩戝惉鍣ㄧ敓鎴� 绔嬮」缂栧彿 LX + yyyyMMdd + 6浣嶆祦姘� 涓� approveTime路宸叉湁缂栧彿鍒欏箓绛夎烦杩�"]
+  KC -->|BPM 瀹℃壒椹冲洖| K5[宸查┏鍥� 35]
+  KC -->|BPM 瀹℃壒鍙栨秷| K1
+  KA -->|椹冲洖| K5
+  K5 -->|淇敼鍚庨噸鏂� submit| K2
+  K4 -->|publishNotice 鍙戝竷绔嬮」閫氱煡| N1["system_notice 鍏憡路鏍囬銆庡叧浜庡叕甯冪珛椤硅棰樼殑閫氱煡銆徛锋鏂囧惈璇鹃鍚� 绔嬮」缂栧彿 绫诲埆 鐢虫姤浜� 鍗曚綅 璧勫姪閲戦路鍥炲啓 noticeId路閲嶅鍙戝竷琚嫤鎴�"]
+  K4 -->|鐧昏鎷ㄦ璁板綍 research_fund_record| F1[濉壒娆″悕绉� 鎷ㄤ粯閲戦 鎷ㄤ粯鏃ユ湡 鏀舵鍗曚綅 澶囨敞路鍑瘉闄勪欢蹇呭~]
+  F1 -->|"閲戦鏍¢獙: 宸茬櫥璁伴噾棰� + 鏈閲戦 涓嶅緱瓒呭嚭鐢虫姤鍗曠敵璇风粡璐孤疯秴鍑烘椂鎶ュ嚭鏈 宸茬櫥璁� 鍚堣 棰勭畻鍥涢」鏁板��"| FGEN["鑷姩鐢熸垚 1:1 璐㈠姟鎶ラ攢鍗� finance_reimbursement(1 琛屾槑缁�: 璐圭敤绫诲瀷=鍏朵粬 鍙戠エ閲戦=鎷ㄤ粯閲戦 鍙戠エ鏃ユ湡=鎷ㄤ粯鏃ユ湡 璐圭敤璇存槑=璇鹃鍚�+鎵规)路闄勫悓涓�鎵瑰嚟璇伮风珛鍗虫彁浜� BPM路鍥炲啓鎶ラ攢鍗曞彿"]
+  FGEN -->|鍥炲啓鍙拌处鐘舵�亅 F3[鎶ラ攢瀹℃壒涓� 15]
+  F3 -->|"璐㈠姟瀹℃牳 Activity_finance_review"| FAPP[璐㈠姟涓荤瀹℃壒 Activity_finance_approve]
+  FAPP -->|BPM 瀹℃壒閫氳繃| F4[宸叉嫧浠� 20]
+  FAPP -->|BPM 瀹℃壒椹冲洖| F5["宸查┏鍥� 30路鍥炲啓椹冲洖鍘熷洜涓庨┏鍥炴椂闂�"]
+  F5 -->|"淇敼閲戦鎴栧嚟璇佸悗閲嶆柊鍙戣捣鎶ラ攢"| F3
+  FAPP -->|"鍙戣捣浜�/绠$悊鍛樺彇娑堟祦绋�"| F2["寰呮嫧浠� 0路鍙紪杈戝彲鍒犻櫎"]
+  F2 -->|"浠呭緟鎷ㄤ粯 0 鍙敼鍙垹路鍒犻櫎鏃惰仈鍔ㄦ竻鐞嗚储鍔′晶鑽夌鎶ラ攢鍗�"| F2
+  F2 -->|"淇敼鍚庨噸鏂板彂璧锋姤閿�"| F3
+  ATT1["闄勪欢 recordType = research_guideline"] -.-> G3
+  ATT2["闄勪欢 recordType = research_application"] -.-> K1
+  ATT3["闄勪欢 recordType = research_fund_record路鍚屼竴鎵� blob 鍙岀粦 finance_reimbursement(鎸� recordType+recordId 闅旂浜掍笉褰卞搷)"] -.-> F1
+  ROL["瀹℃壒涓績鐪嬪崟: 娴佺▼瀹氫箟琛ㄥ崟绫诲瀷=鑷畾涔夎〃鍗暵峰垱寤鸿矾寰� /research/application/index 路 鏌ョ湅璺緞 /research/application/detail/approve/index.vue路鎸� businessKey 鍥炴樉鐢虫姤鍗�"] -.-> K3
+  ROL2["瀹℃壒浜哄彇鍊�: 涓夎妭鐐瑰湪娴佺▼瀹氫箟鍐呴厤濂藉鎵规柟娉�(渚濇瀹℃壒)涓庡鎵逛汉绛栫暐路閮ㄧ讲鍚庣敱绠$悊鍛樺湪 BPM 娴佺▼璁捐鍣ㄦ寜瀛︿細瀹為檯缁勭粐璋冩暣路鎻愪氦鏃跺墠绔彧璁╅�夋祦绋嬩笉閫夊鎵逛汉"] -.-> K3
+  LIS2["鐩戝惉鍣� ResearchFundStatusListener(娴佺▼ key=finance_reimbursement_approve路businessKey=鎶ラ攢鍗� ID): 閫氳繃鈫掑彴璐﹀凡鎷ㄤ粯 20路椹冲洖鈫掑凡椹冲洖 30+鍘熷洜涓庢椂闂绰峰彇娑堟祦绋嬧啋閫�鍥炲緟鎷ㄤ粯 0(鍙戣捣浜烘挙鍥炰粎閫�鍥炲彂璧疯妭鐐广�佹祦绋嬫湭缁撴潫锛屼笉瑙﹀彂鍥炲啓)路涓� finance 鑷繁鐨勭洃鍚櫒璁㈤槄鍚屼竴 key 骞惰瑙﹀彂"] -.-> F3
+  FINAPI["璺ㄦā鍧楄蛋鏂板缓鐨� yudao-module-finance-api(FinanceReimbursementApi路鏈湴 Bean 闈� HTTP): 鏃犲凡鍙戝竷鎶ラ攢瀹℃壒娴佺▼鏃跺厛瑙f瀽鍗虫姤閿櫬蜂笉寤哄崟路閬垮厤鐣欎笅瀛ゅ効鑽夌鎶ラ攢鍗�"] -.-> FGEN
+  RES1["涓�鏈熷凡瀵规帴璐㈠姟: 鎷ㄦ蹇呴』璧� finance_reimbursement 鎶ラ攢鍗曞嚭璐β疯棰樹晶鍙拌处=鎷ㄦ鍙拌处路璐㈠姟鎶ラ攢鍗�=鍑鸿处鍑瘉路涓よ竟浠� reimbursement_id 杞叧鑱�(鏃犲閿�)路璐㈠姟瀹℃壒缁撴灉鑷姩鍥炲啓鏈彴璐�"] -.-> F1
+  RES2["浜屾湡鑼冨洿(鏈浘鏈鐩�): 缁撻」楠屾敹 缁撻」璇佷功 鎴愭灉褰掓。鐭ヨ瘑搴� 閲囩撼鎯呭喌涓庣ぞ浼氭晥鐩婃爣娉�"] -.-> K4
+  BOUND["鐙珛妯″潡 yudao-module-research路瀵� ums_member 涓鸿蒋鍏宠仈(鏃犲閿�)路瀵硅储鍔℃ā鍧楄蛋 -api 瀛愭ā鍧楁湰鍦拌皟鐢蜂粎澶嶇敤 BPM 瀹℃壒銆乻ystem 鍏憡涓庨檮浠朵腑蹇�"] --- K1
diff --git a/docs/project-business/mermaid/15-archive-flow.mmd b/docs/project-business/mermaid/15-archive-flow.mmd
new file mode 100644
index 0000000..058baa0
--- /dev/null
+++ b/docs/project-business/mermaid/15-archive-flow.mmd
@@ -0,0 +1,49 @@
+flowchart TD
+  subgraph P1 [妗f鍒嗙被路涔︽灦绠$悊 archive_category]
+    C1[鏂板缓鍒嗙被路鍙�夌埗鍒嗙被褰㈡垚鍒嗙被鏍慮 --> C2["濉� 鍒嗙被鍚嶇О 路 缂栫爜 code 路 鎺掑簭 路 鍒嗙被璇存槑 路 榛樿瀵嗙骇 路 鐘舵��"]
+    C2 --> C3["缂栫爜鍏ㄥ眬鍞竴 uk_code 路 鐘舵�� 0鍚敤 1鍋滅敤 路 榛樿瀵嗙骇 1鍏紑 2鍐呴儴 3淇濆瘑"]
+    C3 --> C4["鍒濆 6 鏉″垎绫�: 浼氬憳妗f member 路 璇鹃妗f research 路 浼氳妗f meeting 路 璐㈠姟妗f finance(榛樿瀵嗙骇=淇濆瘑 3) 路 鏂囦功妗f document 路 鍏氬缓妗f party"]
+    C4 --> C5["鍙敼鍙垹 路 鏈夊瓙鍒嗙被绂佸垹 路 璇ュ垎绫讳笅鏈夋。妗堢鍒� 路 鐖跺垎绫讳笉鑳芥槸鑷韩鎴栧叾瀛愬垎绫� 路 鍋滅敤鍒嗙被涓嶈兘鏂板妗f"]
+  end
+  subgraph P2 [妗f绠$悊 archive_document]
+    D1["鏂板缓妗f: 鏍囬 路 鍒嗙被 路 瀵嗙骇 路 杞戒綋(1鐢靛瓙 2瀹炰綋 3鐢靛瓙+瀹炰綋) 路 褰掓。鏃ユ湡 路 鎽樿 路 鍏抽敭璇� tags"] --> D2["瀹炰綋浣嶇疆鍥涘瓧娈�: 涔︽灦鍙� shelfNo 路 灞傚彿 layerNo 路 鍒楀彿 columnNo 路 鍐屽彿妗f鐩� boxNo 路 瀛樻斁浣嶇疆鎻忚堪 storePlace"]
+    D2 --> D3["鐢靛瓙闄勪欢璧� system 闄勪欢涓績 路 recordType=archive_document 路 琛ㄥ唴涓嶅瓨鏂囦欢鍦板潃 路 blobIds 涓哄叏閲忔浛鎹㈣涔�"]
+    D3 --> D4["妗f缂栧彿 DA + yyyyMMdd + 6浣嶆祦姘� (Redis路姣忔棩閲嶇疆)"]
+    D4 --> D5["鐘舵�� 10 鍦ㄥ簱 路 鍙敼鍙垹"]
+    D5 -->|"鍊熼槄瀹℃壒閫氳繃"| D6["鐘舵�� 20 鍊熷嚭涓� 路 绂佹敼 路 瀛樺湪鏈綊杩樺�熼槄鍗曟椂绂佸垹"]
+    D6 -->|"褰掕繕鐧昏"| D5
+  end
+  subgraph P3 [涓夋柟褰掓。鑱斿姩路鍒楄〃椤垫墜鍔ㄣ�屽綊妗c�嶆寜閽啋yudao-module-archive-api]
+    AD["ArchiveDocumentApi.archiveBySource 骞傜瓑: 鍏堟寜 source_type + source_id 鏌� 路 鍛戒腑鐩存帴杩斿洖鏃㈡湁妗f ID"]
+    AD2["鎸� categoryCode 鍙栧垎绫�(member / research / finance) 路 鍒嗙被涓嶅瓨鍦ㄦ姤 DOCUMENT_SOURCE_CATEGORY_NOT_EXISTS"]
+    AD3["鐢熸垚 DA 缂栧彿 + 钀藉簱 + bindAttachments(recordType=archive_document)"]
+    AD4["鍥炲啓鏉ユ簮琛� archive_document_id 浣滀负宸插綊妗g‖鏍囪 路 鏉ユ簮渚ч噸澶嶅綊妗f寜鍏惰嚜韬敊璇爜鎷︽埅骞剁粰鍑哄凡鐢熸垚妗f缂栧彿(archive 渚� DOCUMENT_DUPLICATE_SOURCE 涓哄厹搴�)"]
+    R1["璇鹃鐢虫姤涔� research_application 路 浠� status=20 宸茬珛椤� 路 鏉冮檺 research:application:archive"] -->|"sourceType=2 路 瀵嗙骇 2鍐呴儴 路 sourceNo=绔嬮」缂栧彿 路 blobIds=鐢虫姤涔﹂檮浠�"| AD
+    M1["浼氬憳 ums_member 路 浠� status=1 姝e父 路 鏉冮檺 ums:member:archive"] -->|"sourceType=3 路 瀵嗙骇 2鍐呴儴 路 sourceNo=浼氬憳缂栧彿"| AD
+    F1["璐㈠姟鎶ラ攢鍗� finance_reimbursement 路 浠� status=20 宸查�氳繃 路 鏉冮檺 finance:reimbursement:archive"] -->|"sourceType=4 路 瀵嗙骇 3淇濆瘑 路 sourceNo=鎶ラ攢鍗曞彿 路 blobIds=鍙戠エ闄勪欢 路 涓庢棦鏈� 20鈫�40 褰掓。鍚屼簨鍔″彔鍔�"| AD
+    AD --> AD2
+    AD2 --> AD3
+    AD3 --> AD4
+  end
+  AD3 -->|"褰掓。缁撴灉: 鏂版。妗堢洿鎺ヨ惤涓� 鍦ㄥ簱 10"| D5
+  subgraph P4 [鍊熼槄鐧昏涓庡鎵� archive_borrow]
+    B1["鐧昏鍊熼槄: 閫夋。妗�(浠� 鍦ㄥ簱 10 鍙��) 路 鍊熼槄浜� 路 閮ㄩ棬 路 鑱旂郴鐢佃瘽 路 鍊熼槄鏃ユ湡 路 鍊熼槄鐩殑 路 褰掕繕鏈熼檺"] --> B2["鍊熼槄鍗曞彿 JY + yyyyMMdd + 6浣嶆祦姘� (Redis路姣忔棩閲嶇疆) 路 鐘舵�� 0 鑽夌"]
+    B2 --> B3["submit 鍓嶆牎楠�: 鍚屼竴妗f涓嶅緱瀛樺湪 瀹℃壒涓� 15 鎴� 鍊熷嚭涓� 20 鐨勫�熼槄鍗� 路 鍛戒腑鎶� 宸插�熺敤(甯︽。妗堝悕涓庡凡瀛樺湪鍊熼槄鍗曞彿)"]
+    B3 --> B4["submit 浼� id 涓� processDefinitionKey (query 鍙傛暟) 路 鍏堣В鏋愭祦绋嬪垪琛ㄥ啀寤哄崟(鏃犲凡鍙戝竷娴佺▼鍒欑洿鎺ユ姤閿櫬蜂笉鐣欏鍎胯崏绋�) 路 鐘舵�� 15 瀹℃壒涓� 路 鍥炲啓 processInstanceId"]
+    B4 --> B5["BPM 娴佺▼ archive_borrow_approve 涓ょ骇: 妗f绠$悊鍛樺鏍� 鈫� 鍒嗙棰嗗瀹℃壒"]
+  end
+  B5 -->|"瀹℃壒閫氳繃"| B6["鐘舵�� 20 鍊熷嚭涓� 路 鍥炲啓 approveTime 路 鏉′欢鏇存柊妗f SET status=20 WHERE status=10(褰卞搷 0 琛屽垯鎶� 妗f宸茶鍗犵敤 骞跺洖婊�)"]
+  B5 -->|"瀹℃壒椹冲洖"| B7["鐘舵�� 35 宸查┏鍥� 路 鍥炲啓椹冲洖鍘熷洜涓庢椂闂� 路 淇敼鍚庡彲閲嶆柊 submit"]
+  B5 -->|"鍙栨秷娴佺▼"| B2
+  B6 -->|"褰掕繕鐧昏 return 路 鏉′欢鏇存柊 status=20 鈫� 30"| B8["鐘舵�� 30 宸插綊杩� 路 鍥炲啓 returnTime 涓庡綊杩樼‘璁や汉 路 褰掕繕澶囨敞"]
+  B8 -->|"鏉′欢鏇存柊妗f SET status=10 WHERE status=20"| D5
+  B6 -->|"浠� 0 鑽夌 涓� 35 宸查┏鍥� 鍙敼鍙噸鎻� 路 浠� 0 鑽夌 鍙垹"| B2
+  B6 -->|"浠� 20 鍊熷嚭涓� 鍙櫥璁板綊杩�"| B8
+  OV["閫炬湡涓嶈惤搴撀锋煡璇㈡椂瀹炴椂璁$畻: status=20 涓� return_deadline 鏃╀簬浠婂ぉ 路 overdueDays = 浠婂ぉ 鍑� 褰掕繕鏈熼檺"] -.-> B6
+  OVP["GET /archive/borrow/overdue-page 鐙珛鍏ュ彛(闈炴煡璇㈠弬鏁�) 路 鍒楄〃銆岄�炬湡銆嶅垪娓叉煋绾㈣壊銆岄�炬湡 N 澶┿�� 路 涓嶅缓 infra_job 涓嶅彂绔欏唴淇� 路 鍒楄〃椤靛彟鏈夈�屽彧鐪嬮�炬湡銆嶅垏鎹�"] -.-> OV
+  ST["妗f缁熻 GET /archive/stat/overview: 妗f鎬绘暟 路 鍦ㄥ簱鏁� 路 鍊熷嚭涓暟 路 閫炬湡鏈繕鏁� + 鎸夊垎绫�/鎸夊瘑绾�/鎸夎浇浣� 涓夌粍鍒嗗竷"] -.-> D5
+  SEC["鏁忔劅妗f绠℃帶: 瀵嗙骇=3 淇濆瘑 涓斿綋鍓嶇敤鎴锋棤 archive:document:sensitive 鏃� 路 璇︽儏鎺ュ彛鐩存帴鎶ラ敊 路 鍒楄〃涓庡鍑哄己鍒惰繃婊� secret_level 涓嶇瓑浜� 3"] -.-> D1
+  ATT["闄勪欢 recordType = archive_document / archive_borrow"] -.-> D3
+  ROL["瀹℃壒涓績鐪嬪崟: 娴佺▼瀹氫箟琛ㄥ崟绫诲瀷=鑷畾涔夎〃鍗� 路 鍒涘缓璺緞 /archive/borrow/index 路 鏌ョ湅璺緞 /archive/borrow/detail/approve/index.vue 路 鎸� businessKey 鍥炴樉鍊熼槄鍗�"] -.-> B5
+  LIS["鐩戝惉鍣� ArchiveBorrowStatusListener(娴佺▼ key=archive_borrow_approve 路 businessKey=鍊熼槄鍗� ID): 閫氳繃鈫�20 鍊熷嚭涓� + approveTime 骞舵潯浠舵洿鏂版。妗� 鈫� 20 路 椹冲洖鈫�35 + 鍘熷洜涓庢椂闂� 路 鍙栨秷鈫掗��鍥� 0 路 涓� finance/research 鐩戝惉鍣ㄨ闃呬笉鍚� key 浜掍笉骞叉壈"] -.-> B5
+  BOUND["鐙珛妯″潡 yudao-module-archive(鍚� -api 瀛愭ā鍧�)路渚濊禆 system/bpm路涓嶅弽鍚戜緷璧� ums/finance/research(閬垮厤寰幆渚濊禆)路涓夋柟浠呬緷璧� archive-api 鎵嬪姩璋冨綊妗�"] --- D1
diff --git a/docs/research_fund_finance_integration.md b/docs/research_fund_finance_integration.md
new file mode 100644
index 0000000..d78620c
--- /dev/null
+++ b/docs/research_fund_finance_integration.md
@@ -0,0 +1,158 @@
+# 璇鹃缁忚垂鎷ㄤ粯瀵规帴璐㈠姟鎶ラ攢 - 鍓嶇鑱旇皟鏂规
+
+> 娑夊強妯″潡锛歚yudao-module-research`锛堣棰樼鐞嗭級鈫� `yudao-module-finance`锛堣储鍔℃姤閿�锛夛紝璺ㄦā鍧楅�氳繃鏂板缓鐨� `yudao-module-finance-api` 鏈湴 Bean 璋冪敤銆�
+> 鍚庣鎺ュ彛鍓嶇紑锛歚/research/fund-record`
+> 闄勪欢鍏宠仈锛氳棰樹晶 `recordType = research_fund_record`锛岃储鍔′晶 `recordType = finance_reimbursement`锛宍application = file`锛堝悓涓�鎵� blob 鍙岀粦锛屼簰涓嶅奖鍝嶏級
+
+## 娑夊強椤甸潰
+
+| 鏂囦欢 | 璇存槑 |
+|------|------|
+| `src/api/research/fund/index.ts` | `FundRecord` 绫诲瀷琛� 4 涓瓧娈碉紱`createFundRecord` / `updateFundRecord` 娉ㄩ噴鏇存柊 |
+| `src/views/research/application/data.ts` | `FundStatus` 鏂板 `APPROVING: 15`銆乣REJECTED: 30`锛沗useFundColumns` 鏂板銆岃储鍔℃姤閿�鍗曞彿銆嶃�岄┏鍥炲師鍥犮�嶄袱鍒� |
+| `src/views/research/application/modules/fund-form.vue` | 绉婚櫎銆屾嫧浠樼姸鎬併�嶄笅鎷夛紙鐘舵�佹敼涓虹郴缁熼┍鍔級锛涖�屾嫧浠樺嚟璇併�嶆敼蹇呭~锛涚紪杈戝凡椹冲洖璁板綍鏃跺睍绀洪┏鍥炲師鍥� |
+| `src/views/research/application/modules/fund-panel.vue` | 缂栬緫/鍒犻櫎鎸夐挳鏀逛负浠呫�屽緟鎷ㄤ粯銆嶅彲瑙侊紱銆屽凡椹冲洖銆嶈鏂板銆岄噸鏂板彂璧锋姤閿�銆嶆寜閽紱鎸夌姸鎬佽ˉ椤堕儴鎻愮ず |
+| `src/views/research/application/detail/approve/index.vue` | **鏃犻渶鏀�**锛堝唴宓� `fund-panel`锛屽瓧鍏搁┍鍔ㄥ睍绀鸿嚜鍔ㄥ吋瀹规柊鐘舵�侊級 |
+
+鍓嶇 `finance` 妯″潡椤甸潰**鏃犻渶鏀瑰姩**锛氭姤閿�鍗曠敱鍚庣鑷姩鍒涘缓骞舵彁浜わ紝璐㈠姟浜哄憳鍦ㄦ棦鏈夌殑銆岃储鍔℃姤閿� 鈫� 鎶ラ攢鍗曘�嶅垪琛ㄩ噷姝e父瀹℃壒鍗冲彲銆�
+
+**瀛楀吀宸茬敱 SQL 鑴氭湰琛ラ綈**锛屽墠绔户缁敤 `getDictOptions(DICT_TYPE.RESEARCH_FUND_STATUS)` / `CellDict` 鍙栧�硷紝鏃犻渶鏂板缓鏋氫妇锛�
+
+| 瀛楀吀绫诲瀷 | 鍚嶇О | 鍙栧�� |
+|----------|------|------|
+| `research_fund_status` | 缁忚垂鎷ㄤ粯鐘舵�� | 0 寰呮嫧浠� / 15 鎶ラ攢瀹℃壒涓� / 20 宸叉嫧浠� / 30 宸查┏鍥� |
+
+> 瀛楀吀椤� id 娈碉細`8100401` 寰呮嫧浠� / `8100403` 鎶ラ攢瀹℃壒涓� / `8100402` 宸叉嫧浠� / `8100404` 宸查┏鍥炪��
+
+**鎸夐挳鏉冮檺鏍囪瘑**锛堟棤鍙樺寲锛屾部鐢ㄤ竴鏈燂級锛�
+
+`research:fund:create`銆乣research:fund:update`銆乣research:fund:delete`銆乣research:fund:query`
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+```
+璇鹃璇︽儏 鈫� 缁忚垂鎷ㄤ粯闈㈡澘
+        鈹�
+        鐧昏鎷ㄦ锛堟嫧浠樻壒娆°�佹嫧浠橀噾棰濄�佹嫧浠樻棩鏈熴�佹敹娆惧崟浣嶃�佸娉ㄣ�佹嫧浠樺嚟璇侊級
+        鈹�  鈫� 鍑瘉蹇呭~锛氬厛涓婁紶鎷� blobId锛屽啀鎶婂叏閮� blobId 鏀捐繘鏈璇锋眰浣撲竴璧锋彁浜�
+        鈻�
+   create 鎺ュ彛锛堜竴鏉¢緳锛屽墠绔彧闇�璋冧竴娆★級
+        鈹溾攢鈹� 1. 璇鹃渚ц惤 research_fund_record 鍙拌处锛堢姸鎬佸厛缃�屽緟鎷ㄤ粯銆嶏級
+        鈹溾攢鈹� 2. 鍚屼竴鎵� blob 缁戝畾鍒拌棰樺彴璐︼紙research_fund_record锛�
+        鈹溾攢鈹� 3. 鑷姩鍒涘缓璐㈠姟鎶ラ攢鍗� finance_reimbursement锛�1:1銆侀噾棰濅竴鑷达級
+        鈹�      鏍囬 = 璇鹃銆旇棰樺悕銆曠N鏈�/绗琋娆$粡璐规嫧娆�
+        鈹�      鏄庣粏鍥哄畾 1 琛岋細璐圭敤绫诲瀷=鍏朵粬(5)銆佸彂绁ㄩ噾棰�=鎷ㄦ閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡銆佽垂鐢ㄨ鏄�=鏍囬
+        鈹溾攢鈹� 4. 绔嬪嵆鎻愪氦 BPM 瀹℃壒锛坒inance_reimbursement_approve锛�
+        鈹斺攢鈹� 5. 鍙拌处鍥炲啓 reimbursementId / reimbursementNo锛岀姸鎬佺疆銆屾姤閿�瀹℃壒涓�(15)銆�
+        鈻�
+璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒锛堝湪璐㈠姟妯″潡鐨勬姤閿�鍗曞鎵逛腑蹇冨畬鎴愶級
+        鈹�
+        鈹溾攢鈹� 閫氳繃  鈫� 鍙拌处鑷姩鍙樸�屽凡鎷ㄤ粯(20)銆�
+        鈹溾攢鈹� 椹冲洖  鈫� 鍙拌处鑷姩鍙樸�屽凡椹冲洖(30)銆嶏紝骞跺洖鍐欓┏鍥炲師鍥� + 椹冲洖鏃堕棿
+        鈹斺攢鈹� 鎾ゅ洖/鍙栨秷 鈫� 鍙拌处閫�鍥炪�屽緟鎷ㄤ粯(0)銆嶏紝鍙紪杈戝悗閲嶆柊鍙戣捣
+```
+
+**淇℃伅甯﹀叆锛堝叧閿級**
+
+| 浠� | 鍒� | 甯﹀叆瀛楁 |
+|----|----|----------|
+| 璇鹃鐢虫姤涔� | 缁忚垂鎷ㄤ粯鐧昏寮圭獥 | 璇鹃鍚嶇О銆佺珛椤圭紪鍙枫�佺敵璇风粡璐癸紙鐢ㄤ簬浣欓鎻愮ず锛夈�佸彲鐧昏鎬э紙浠呫�屽凡绔嬮」銆嶅彲鐧昏锛� |
+| 缁忚垂鎷ㄤ粯鐧昏 | 鑷姩鐢熸垚鐨勮储鍔℃姤閿�鍗� | 鏍囬锛堣棰樺悕 + 鎵规锛夈�佹姤閿�鎬婚噾棰� = 鎷ㄤ粯閲戦銆佺敵璇锋棩鏈� = 鎷ㄤ粯鏃ユ湡銆佸娉ㄣ�佽垂鐢ㄨ鏄庛�佺敵璇蜂汉 = 褰撳墠鐧诲綍鐢ㄦ埛 |
+| 缁忚垂鎷ㄤ粯鐧昏 | 璐㈠姟鎶ラ攢鍗曞嚟璇� | 鍚屼竴鎵� `blobIds` 鍙岀粦鍒拌棰樺彴璐︿笌璐㈠姟鎶ラ攢鍗� |
+| 璐㈠姟鎶ラ攢瀹℃壒缁撴灉 | 璇鹃缁忚垂鎷ㄤ粯鍙拌处 | 鐘舵�侊紙20/30/0锛夈�侀┏鍥炲師鍥犮�侀┏鍥炴椂闂� |
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | `/research/fund-record/create` | 鐧昏缁忚垂鎷ㄤ粯锛堝悗绔嚜鍔ㄥ垱寤哄苟鎻愪氦璐㈠姟鎶ラ攢瀹℃壒锛� |
+| PUT | `/research/fund-record/update` | 淇敼骞堕噸鏂板彂璧锋姤閿�锛堜粎銆屽緟鎷ㄤ粯銆嶃�屽凡椹冲洖銆嶅彲鏀癸級 |
+| DELETE | `/research/fund-record/delete?id=` | 鍒犻櫎鎷ㄦ璁板綍锛堜粎銆屽緟鎷ㄤ粯銆嶅彲鍒狅紝鑱斿姩娓呯悊璐㈠姟渚ц崏绋挎姤閿�鍗曪級 |
+| GET | `/research/fund-record/list?applicationId=` | 鏌愯棰樼敵鎶ヤ功涓嬬殑缁忚垂鎷ㄤ粯璁板綍鍒楄〃 |
+
+**璇锋眰鍙傛暟锛坈reate / update 鍏辩敤鍚屼竴涓� VO锛夛細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| id | Long | update 蹇呭~ | 鎷ㄦ璁板綍缂栧彿 |
+| applicationId | Long | 鏄� | 璇鹃鐢虫姤涔� ID |
+| batchName | String | 鍚� | 鎷ㄤ粯鎵规锛屽銆岀涓�鏈熴�嶏紱鐣欑┖鏃舵爣棰樻寜 `绗琋娆 鑷姩缂栧彿 |
+| amount | BigDecimal | 鏄� | 鎷ㄤ粯閲戦锛堝厓锛夛紝涓嶅緱涓鸿礋 |
+| payDate | LocalDate锛坄yyyy-MM-dd`锛� | 鍚� | 鎷ㄤ粯鏃ユ湡锛涚暀绌烘椂鍚庣鎸夊綋澶╁鐞� |
+| payee | String | 鍚� | 鏀舵鍗曚綅/璐︽埛鍚� |
+| remark | String | 鍚� | 澶囨敞 |
+| blobIds | Long[] | **鏄�** | 鎷ㄤ粯鍑瘉闄勪欢 blobId 鍒楄〃锛涘叏閲忔浛鎹㈣涔夛紝娓呯┖蹇呴』浼犵┖鏁扮粍 |
+
+> 鈿� **`status` 瀛楁宸蹭粠璇锋眰浣撲腑绉婚櫎**锛氭嫧浠樼姸鎬佺敱绯荤粺椹卞姩锛堢櫥璁� 鈫� 鎶ラ攢瀹℃壒涓� 鈫� 宸叉嫧浠�/宸查┏鍥烇級锛屽墠绔笉瑕佸啀浼狅紝涔熶笉瑕佸湪琛ㄥ崟閲屾斁鐘舵�佷笅鎷夈��
+
+**鍝嶅簲瀛楁鏂板锛坄/list` 杩斿洖鐨勬瘡鏉¤褰曪級锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| reimbursementId | Long | 鍏宠仈璐㈠姟鎶ラ攢鍗� ID |
+| reimbursementNo | String | 鍏宠仈璐㈠姟鎶ラ攢鍗曞彿锛堢櫥璁版垚鍔熷悗鍥炲~锛� |
+| rejectReason | String | 璐㈠姟鎶ラ攢椹冲洖鍘熷洜锛圔PM 鍥炲啓锛� |
+| rejectTime | LocalDateTime | 璐㈠姟鎶ラ攢椹冲洖鏃堕棿锛圔PM 鍥炲啓锛� |
+
+**鍝嶅簲绀轰緥锛�**
+
+```json
+{
+  "code": 0,
+  "data": [
+    {
+      "id": 3,
+      "applicationId": 2,
+      "batchName": "绗竴鏈�",
+      "amount": 50000.0,
+      "payDate": "2026-12-01",
+      "payee": "XX澶у",
+      "status": 15,
+      "reimbursementId": 7,
+      "reimbursementNo": "BX20260929000007",
+      "rejectReason": "",
+      "rejectTime": null,
+      "remark": "绗竴鏈熸嫧娆�",
+      "creatorName": "瓒呯骇绠$悊鍛�",
+      "createTime": "2026-09-29 10:00:00",
+      "attachmentList": [],
+      "hasAttachment": true
+    }
+  ]
+}
+```
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| status | 鍒楄〃銆屾嫧浠樼姸鎬併�嶅垪 | 瀛楀吀 `research_fund_status` 娓叉煋锛�0/15/20/30 鍥涙�� |
+| reimbursementNo | 鍒楄〃銆岃储鍔℃姤閿�鍗曞彿銆嶅垪 | 鐧昏鎴愬姛鍚庡洖濉紱涓虹┖鏄剧ず `-`锛涜储鍔′汉鍛樺湪璐㈠姟妯″潡鎸夋鍗曞彿鏌ュ崟 |
+| rejectReason | 鍒楄〃銆岄┏鍥炲師鍥犮�嶅垪锛涚紪杈戝脊绐楅《閮� Alert | 浠呫�屽凡椹冲洖銆嶆湁鍊硷紱鏈~鏃跺悗绔洖鍐欍�岃储鍔℃湭濉啓椹冲洖鍘熷洜銆� |
+| rejectTime | 浠呭悗绔瓨鍌� | 鍒楄〃涓嶅睍绀猴紝渚涙帓鏌�/杩芥函 |
+| hasAttachment | 鍒楄〃銆屾嫧浠樺嚟璇併�嶅垪 | 鍑瘉宸插繀濉紝浠呫�屽凡涓婁紶 / 缂哄け銆嶄袱鎬� |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 鍗曟嵁鍏崇郴 | 涓�鏉℃嫧娆捐褰� 鉄� 涓�寮犺储鍔℃姤閿�鍗曪紝**1:1銆侀噾棰濅竴鑷�**锛涗竴涓壒娆′竴寮犲崟 |
+| 鐧昏鍗虫彁浜� | 璇鹃渚х偣淇濆瓨鍚庣珛鍗宠嚜鍔ㄦ彁浜� BPM锛�**涓嶉渶瑕�**鍐嶅幓璐㈠姟妯″潡鎻愪氦涓�娆� |
+| 鍙櫥璁板墠鎻� | 鍙湁**宸茬珛椤�**鐨勮棰樼敵鎶ヤ功鎵嶈兘鐧昏缁忚垂鎷ㄤ粯 |
+| 鍑瘉蹇呭~ | 鎷ㄤ粯鍑瘉蹇呭~锛屼細闅忚嚜鍔ㄧ敓鎴愮殑璐㈠姟鎶ラ攢鍗曚竴璧烽�佷氦璐㈠姟瀹℃壒 |
+| 閲戦涓婇檺 | 鏈閲戦 + 璇ョ敵鎶ュ崟宸茬櫥璁伴噾棰� 鈮� 鐢宠棰勭畻锛坄budgetAmount`锛� |
+| 淇敼鍓嶆彁 | 鍙湁銆屽緟鎷ㄤ粯(0)銆嶃�屽凡椹冲洖(30)銆嶅彲淇敼骞堕噸鏂板彂璧锋姤閿�锛涖�屾姤閿�瀹℃壒涓�嶉渶璐㈠姟绔厛鎾ゅ洖鎴栫瓑寰呯粨鏋� |
+| 椹冲洖閲嶅彂 | 銆屽凡椹冲洖銆嶈褰曟敼閲戦/鍑瘉/鎵规鍚庨噸鏂板彂璧凤紝鍘熸湁閲戦銆佸嚟璇併�佹壒娆′笉涓㈠け锛岄┏鍥炲師鍥犱笌鏃堕棿琚竻绌� |
+| 鍒犻櫎鍓嶆彁 | 鍙湁銆屽緟鎷ㄤ粯(0)銆嶅彲鍒犻櫎锛涜嫢鍏宠仈鐨勮储鍔℃姤閿�鍗曞凡涓嶆槸銆岃崏绋裤�嶏紝鍒犻櫎浼氳鎷掔粷骞舵彁绀鸿仈绯昏储鍔$‘璁� |
+| 瀹℃壒鍥炲啓 | 鎶ラ攢閫氳繃 鈫� 鍙拌处銆屽凡鎷ㄤ粯(20)銆嶏紱椹冲洖 鈫� 銆屽凡椹冲洖(30)銆�+ 鍘熷洜/鏃堕棿锛涙挙鍥炴垨鍙栨秷 鈫� 閫�鍥炪�屽緟鎷ㄤ粯(0)銆� |
+| 鏃犳祦绋嬪厹搴� | 璐㈠姟瀹℃壒鍒嗙被涓嬫病鏈夊凡鍙戝竷娴佺▼鏃讹紝鐧昏鐩存帴澶辫触骞舵彁绀哄幓 BPM 鍒涘缓鍙戝竷娴佺▼锛�**涓嶄細鐣欎笅瀛ゅ効鑽夌鎶ラ攢鍗�**锛堝悗绔簨鍔″洖婊氾級 |
+
+## 娉ㄦ剰浜嬮」
+
+- **蹇呴』鍏堥儴缃茶储鍔℃姤閿�瀹℃壒娴佺▼**锛歚bpm_category` 涓� `finance_reimbursement_approve` 鍒嗙被宸插瓨鍦紝浣嗗叾涓嬪繀椤绘湁涓�涓�**宸插彂甯�**鐨勬祦绋嬪畾涔夛紙2 鑺傜偣锛氳储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛夛紝鍚﹀垯鐧昏鎷ㄦ浼氭姤銆岃鍏堝湪 BPM 鍒涘缓骞跺彂甯冩姤閿�瀹℃壒娴佺▼鍚庨噸璇曘�嶃��
+- **鎷ㄤ粯鏄庣粏鐢辩郴缁熺敓鎴愶紝涓嶅彲缂栬緫**锛氭姤閿�鍗曠殑鏄庣粏鍥哄畾 1 琛岋紙璐圭敤绫诲瀷=鍏朵粬銆佸彂绁ㄩ噾棰�=鎷ㄦ閲戦銆佸彂绁ㄦ棩鏈�=鎷ㄤ粯鏃ユ湡锛夛紝鍓嶇涓嶈鍦ㄨ棰樹晶鍋氭槑缁嗙紪杈戙��
+- **鐘舵�佸彧璇�**锛氭嫧浠樼姸鎬佺敱绯荤粺涓� BPM 椹卞姩锛屽墠绔换浣曡〃鍗曢兘涓嶈鍐嶆彁浜� `status`銆�
+- **鍒犻櫎鏄�"涓ゆ竻"**锛氬垹寰呮嫧浠樿褰曟椂浼氳仈鍔ㄥ垹闄よ储鍔′晶鐨勮崏绋挎姤閿�鍗曪紱璐㈠姟渚у凡鎻愪氦/宸查�氳繃鐨勬姤閿�鍗曞繀椤诲厛鎾ゅ洖鎴栧鐞嗭紝鍚﹀垯鍒犻櫎琚嫆銆�
+- **杞叧鑱旀棤澶栭敭**锛氬彴璐︿笌鎶ラ攢鍗曢潬 `reimbursement_id` 鍏宠仈銆傝嫢璐㈠姟渚�**鐩存帴鍒犻櫎**浜嗘姤閿�鍗曪紝鍙拌处浼氱暀涓嬫偓绌� ID锛屾鏃跺啀娆′慨鏀逛細鎻愮ず銆屽叧鑱旂殑璐㈠姟鎶ラ攢鍗曞凡涓嶅瓨鍦紝璇峰垹闄ゆ湰鏉℃嫧娆捐褰曞悗閲嶆柊鐧昏銆嶃��
+- **闄勪欢涓哄叏閲忔浛鎹㈣涔�**锛氫慨鏀硅褰曟椂 `blobIds` 浼犵殑鏄叏閮ㄥ嚟璇侊紱涓嶄紶鎴栦紶绌烘暟缁勪細娓呯┖鍑瘉锛堜笖鍚庣浼氬厛鏍¢獙蹇呭~骞剁洿鎺ユ嫆缁濓級銆�
+- **鍒楄〃椤典綑棰濇彁绀轰粎渚涘弬鑰�**锛氬彲鐢ㄤ綑棰� = 鐢宠缁忚垂 鈭� 宸茬櫥璁版嫧浠樺悎璁★紝鏈�缁堜互鏈嶅姟绔疮璁℃牎楠屼负鍑嗭紙瓒呭嚭浼氳繑鍥炲甫銆屾湰娆�/宸茬櫥璁�/鍚堣/涓婇檺銆嶅洓瑕佺礌鐨勭簿纭姤閿欙級銆�
diff --git a/docs/sql/_archive_bpm_export.sql b/docs/sql/_archive_bpm_export.sql
new file mode 100644
index 0000000..8b30ebf
--- /dev/null
+++ b/docs/sql/_archive_bpm_export.sql
@@ -0,0 +1,16 @@
+-- ===== 妗f鍊熼槄瀹℃壒锛坅rchive_borrow_approve锛塀PM 娴佺▼瀹氫箟锛�2 涓『搴忚妭鐐癸細妗f绠$悊鍛樺鏍� 鈫� 鍒嗙棰嗗瀹℃壒锛� =====
+-- 鐢熸垚鏉ユ簮锛歮om-jssm 搴擄紝缁� BPM 妯″瀷璁捐鍣ㄩ儴缃诧紙POST /bpm/model/create + /bpm/model/deploy锛�
+-- 鍒嗙被 bpm_category(id=8003, code=archive_borrow_approve) 瑙� archive_module.sql
+-- 鍒犻櫎椤哄簭锛堝瓨鍦ㄥ閿級锛歛ct_re_model 鈫� act_ge_bytearray 鈫� act_re_procdef 鈫� act_re_deployment
+DELETE FROM `act_re_model` WHERE `KEY_` = 'archive_borrow_approve';
+DELETE FROM `act_ge_bytearray` WHERE `ID_` IN ('89bbc291-bbbe-11f1-a8aa-00155dd68500','8bad8073-bbbe-11f1-a8aa-00155dd68500','8bc8d0a4-bbbe-11f1-a8aa-00155dd68500');
+DELETE FROM `act_re_procdef` WHERE `KEY_` = 'archive_borrow_approve';
+DELETE FROM `act_re_deployment` WHERE `ID_` = '8bad5962-bbbe-11f1-a8aa-00155dd68500';
+DELETE FROM `bpm_process_definition_info` WHERE `category` = 'archive_borrow_approve';
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('8bad5962-bbbe-11f1-a8aa-00155dd68500', '妗f鍊熼槄瀹℃壒', 'archive_borrow_approve', 'archive_borrow_approve', '', '2026-09-29 12:30:48.677', NULL, NULL, '8bad5962-bbbe-11f1-a8aa-00155dd68500', NULL);
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES ('archive_borrow_approve:1:8bcc7a25-bbbe-11f1-a8aa-00155dd68500', 2, 'archive_borrow_approve', '妗f鍊熼槄瀹℃壒', 'archive_borrow_approve', 1, '8bad5962-bbbe-11f1-a8aa-00155dd68500', 'archive_borrow_approve.bpmn', 'archive_borrow_approve.archive_borrow_approve.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0);
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('8bad8073-bbbe-11f1-a8aa-00155dd68500', 1, 'archive_borrow_approve.bpmn', '8bad5962-bbbe-11f1-a8aa-00155dd68500', X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D22617263686976655F626F72726F775F617070726F766522206E616D653D22E6A1A3E6A188E5809FE99885E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F617263686976655F61646D696E5F72657669657722206E616D653D22E6A1A3E6A188E7AEA1E79086E59198E5AEA1E6A0B8223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F6C65616465725F617070726F766522206E616D653D22E58886E7AEA1E9A286E5AFBCE5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F617263686976655F61646D696E5F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F617263686976655F61646D696E5F72657669657722207461726765745265663D2241637469766974795F6C65616465725F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F6C65616465725F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F617263686976655F626F72726F775F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22617263686976655F626F72726F775F617070726F7665222069643D2242504D4E506C616E655F617263686976655F626F72726F775F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F617263686976655F61646D696E5F726576696577222069643D2242504D4E53686170655F41637469766974795F617263686976655F61646D696E5F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F6C65616465725F617070726F7665222069643D2242504D4E53686170655F41637469766974795F6C65616465725F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223533302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', 0);
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('8bc8d0a4-bbbe-11f1-a8aa-00155dd68500', 1, 'archive_borrow_approve.archive_borrow_approve.png', '8bad5962-bbbe-11f1-a8aa-00155dd68500', X'89504E470D0A1A0A0000000D494844520000023A000000460806000000C5373E5300000D7E49444154785EED9DEF4F1CC719C7378E54E545FE832AAF92FE1FAD94282F7811B5D271E743D83EEE90C10164C9BF24CB56A1F84D5184915AB96ADF44B69A0A15C936C4C6766C30A60EB8D88AD4065C8803C1716D7206FC0B146C30B79D87B2D2646E81BDBD9BBD9987EF47FA08B3B33BB3BEF9F230B777B7380E280AD7757F363535F5F7E1E1E1E5BEBE3EF7EAD5AB3062C5E39E1B1C1C7CD4DFDFFF913A3FB6825C955FE40AEA9063AE007344D1E812A175B3D9ACBBB4B4E4BE7AF50A462C3DEEF4F80F0C0C3C1785A4429D231B41AECA2F720575C831578039F4CC8842AB861946EFCCCCCC9C281C23EA1CD90872658EC815D421A75C01E6D0E55F3C3332439A0751385EAA736423C89539225750879C72059843AFB9AA0186E593E6439D231B41AECC12B9823AE4922BC09CA08563F1D98C3B75FB5377ECDAEFD6A47FD336753F589C5C0A07726596C81572A5432EB902CC095238169E3E7447AF1C77FF75F1D04FA46DD4A6EE0FC3CBA570205766895C21573AE4922BC09C2085E3C1584F5ED1F0FCEFD8E779FBC3F072291CC895592257C8950EB9E40A302748E1F8CFF5DFE7150C4F6A53F787E1E55238902BB344AE902B1D72C915604E90C2317AB539AF6078529BBA3F0C2F97C2815C992572855CE9904BAE00735038CC924BE140AECC12B942AE74C825578039410A077D6A412D189ED4A6EE0FC3CBA570205766895C21573AE4922BC09C2085E3DE977FCC2B189ED4A6EE0FC3CBA570205766895C21573AE4922BC09C208563FEE1BFDDD12F7E9B5734681BB5A9FBC3F072291CC895592257C8950EB9E40A302748E120BFBB7326AF70D036753F589C5C0A07726596C81572A5432EB90A4A2C167B2F1E8F1F12F624128911E103A1BBFE7584B6533BEDA71EAB1DD775770C0F0FFFE6CC99335FB4B4B4CC1D397264A9BEBE3E4727585757B772F0E0C11762DBB7ADADAD9FA452A977D4E33913A870BC7CE9DE1BFA535EE1A06DD496B73F0C2D97C2815C992572855CE9904BAE36432C5ADE146B85F4CE9D3BC7D61735815CDF3F4DC7AB7D9614B1C079EBF2E5CB7F397EFCF8722693714F9D3AE5DEBA75CB9D9C9C74E7E7E75D82BED2F7B49DDAD3E9F46A6363E3546D6DED876A7F1CD9AA70D09D44BFF9F20F7945C393DA70B7D1D2C9A570205766895C21573AE492AB8D100B950AB160B9AB2E620A717DC153A1F65D12C4C2E5E3D6D6D6A5FDFBF7BBC3C3C3EEEAEAEADAC2662B683FDABFA9A96965DFBE7D5FC5E3F177D5BE39B161E110CF7C66EEF5BB5F5F3E9A572C54691FDA17CF968A974BE140AECC12B942AE74C825572ACDCDCD3BC402A54D5DB4ECD9B3C7EDE8E8700707077D2F98D0766AA7FDD463A93FEA571D2B1462CC37AE5CB9F2D9DEBD7BDDDEDE5EF7F5EBD73F5DC904848EA3E3C5092F8A13FC401D870B7E8563AB67451B89674BC5CBA570205766895CE58B5C152F975CC9C462B1B7E3F1F8457991924EA7DDEEEE6E777979595D2AF842FBD1FE749CDC0FF54BFDAB631684E8FF8DB367CFFEB3BEBEDE1D1F1F57C70E05F593C9647E4C269369753C0EF8158E20CF8A36928E55FB83C1E55238902BB344AEFC45AE8A934BAE3CE88A8B58905C901727EDEDEDEEC2C282BA3408041D47C72B57772E14756587AEE4D4D5D5B9D96C561DAF28A8BF542AB5505959F9BE3AA6EDF8150EB51814AADA1F0C2E97C2815C992572B5B16A7F30B85C72E521BF5C25FEED767575B9B95C4E5D1214041D4FFD507F52DF6DEAD881181A1AFA981639A5BA92A322FACDEDDAB5EB69593E36A611BFC201CB2797C2815C9925720575C8255784588054C8575E6871524AA83FE5CA4E616F50167DBC75E2C489257A4F8D4EBABBBB9F2693C9CBEAF83683C261965C0A07726596C815D421975CD147C0E54F57D1CB4DC55EC951A1FEE497B1E8D358057DF4FCD2A54B7FA64F57857DE37150A8FF4C26335B5959F92BF51C6C0585C32CB9140EE4CA2C912BA8432EB9120B8FB4B700A13710877D4FCE5650BFCA1B9483BDF7571CBBE3D8B163CBF491F028B879F3E6337172FF50CFC3565038CC924BE140AECC12B9823AE4922BF966803D3D3DEAAFFD9242FDCB5775D473F1656868E8D7B5B5B581EF93532C344E5555D5B3582CF673F55C4C423C88D785BF54B7ABA07098A5E98503B9B253E40AEA9043AE92C9E42FBC8507DDFF86FE5F3AA1FEE5FBECD0F8EA39E571FAF4E9AB7447E328696969198DC7E3F5EAB99884F7206E35D1281C666941E140AE2C14B9823AE4902BB1FDA0B7DFC99327D55FF75AA071A4733BA89E531EADADADB351BD6CE571EDDA35BACC75563D1793901EC44D271A85C32C2D2A1CC89545225750871C7225BEEFF6DAE9CEC65140E348E7D42D9F8F2F870F1F5E9A9A9A52FBD1CAC4C4C4B438B9DBEAB99884CF04FB4E340A87595A5838902B0B44AEA00E39E44A7CBDED6D8F6A2D41E348E7B2F55AA2AEAE2EF7E4C913B51FADCCCFCF2F88937BA89E8B49F84CACEADA44A37098A5C58503B93258E40AEA9049AEE6BCEFA35A4BD038D2396CBD96A8AEAE76575656D47EB422C67BE1F38059290A8759AAF363ABC89559AAF363ABC89559AAF363BB51AD25681C69DC97EABA268FBD7BF7AE44B50AF3989D9DFD361164155646D40994BC9EC0A56063B5F819127265B0C815D421875C89AF0FBDED51AD250ABEA273E0C0811751BDAEE671F7EEDD3B8920AFAB9591CD2656C6F4C2214ED1D752B59BA68585A32CB9727CE694E4D25E6A91AB703A3E7344DAD2AE5B0EB94AD8F01E9DA3478F7E13F5A7AECE9D3BD793B0E7535779132B1375E12854C7E78756DE566CBB695A5438CA9A2BC7670EE56DB6B7975AE42A9C8ECF9CC8DB4C6FD72D875C256CF8D4554B4BCB2751DF47A7A1A1A1D782FBE86C38B13251178E42757C7E68E56DC5B69BA60585C3885C393E73286FB3BDBDD42257E1747CE644DE667ABB6E39E42A61C37D7452A9D43B994C6635C23B23FF204E6CD6F43B230725EAC251A88ECF0FADBCADD876D334BD70044577AE1C9F3994B7D9DE5E6A91AB703A3E73226F33BD5DB71C72558E3B23EFDEBD3BE78D19E8CEC8446363E37751BD7CD5D9D9F9D704FED655643A3E3FB4F2B662DB4D9343E12074E7CAF19943799BEDEDA516B90AA7E33327F236D3DB75CB2557C6FFAD2BA2B6B6F6C3A6A6A69508FE7AF9037172F7F0D7CBA3D3F1F9A195B715DB6E9A5C0A87EE5C393E73286FB3BDBDD42257E1747CE644DE667ABB6EB9E42A11E15F2FAFA9A959F5C6A271D573D994868686AF7A7B7B736AC72524D7D6D6F6A938B15E756C9B89BA7014AAE3F3432B6F2BB6DD34B9140EDDB9727CE650DE667B7BA945AEC2E9F8CC89BCCDF476DD72C9552C167B53BEAAD3DEDEEEE672A55D4E507FD4AF7C3587C655CF6553C401EFA552A985F1F171B5FF9270E3C68DD3E2E466681C756C9B89BA7014AA38455F4BD56E9A5C0A87EE5C393E734A72692FB5C855381D9F39226D69D72D975C11E2F77B8574A5C5EDEAEA5297014541FDC9FDD378EA390442AC903EA8A9A9F9319BCDAA6314C5F4F4F4E7E2A41E555656BEAF8E693B51170EB8B95C0A07726596C815D421975C798835449B74C5656D7152EC951D3A9EFAA1FEA4BEDBD4B10B22994CA653A9D48B525DD959BF9243774EAC51C7E2000A875972291CC89559225750875C72E5D1DCDCBC43FCAEBF205F79A1979BC2BE67878E935FAE5AF7028DA38E5D3074E5A5BABAFA697777F7D3B06F50A6371EAFBF27E7078E57723C5038CC924BE140AECC12B9823AE4922B99582CF6763C1EBF282F4EE80DCA623DE12E2F2FAB4B055F683FDA5F79E3B14BFD52FFEA98A1111DBE9B4C26AF643299D99B376F3E0B7A9F1DB15FB6B3B3F3337152F78497A81FB56F4EA070982597C2815C9925720575C825572A74C5457E19CB93EEB3D3D1D1B17667E3C9C949777E7E7E6DDD405FE97BDA4EEDF27D723CA9BF925CC9F1833E0A2E0619ACAAAA7A2E06F9BAAFAF6F746262E2FBB9B9B945717E0B8F1F3F9E1A1B1BBB73FEFCF9EEC6C6C64B89FFFFC9F6414E1F21DF0C140EB3E452386CCAD5E2E2A23B3A3A5AB0749CDA97A92257D18B5CD98F580B54C89FC60AE3FAF1E1DE785C2874276331585D3C1EA7BF533522A47BE2D089D0D791F5ED755CEE781C149B0AC776904BE1B02957F4CBC5F1F9E4CA56D2716A5FA68A5C452F72C503FA08B8581BA40B5DF0ACEF9F2EF823E4A0F4D85438B6835C0A874DB9C2336F7B40AECC924BAE8242B79789C7E38736BB6042EDDC6E43633D36158EED2097C2815C9925720575C825578039281C66C9A570205766895C411D72C915600E0A875972291CC89559225750875C72059883C261965C0A874DB9C27B29EC01B9324B2EB902CCB1A9706C07B9140E9B7245BF5C1C9F4FBF6C251DA7F665AAC855F422570018824D85633BC8A570D8942B3CF3B607E4CA2CB9E40A30C7A6C2B11DE45238902BB344AEA00EB9E40A300785C32CB9140EE4CA2C912BA8432EB902CC41E1304B2E8503B9324BE40AEA904BAE00735038CC924BE1B02957782F853D205766C9255780397D7D7DB9A5A5A5BC00C3E815F3F048148E97EA1CD9884DB9A25F2E8ECFA75FB6928E53FB3251E4AA3C22570018C2E0E0E0A36C369B176218BDF7EFDFEF148563449D231BB12957DC9F792357E511B902C010FAFBFB3F1A1818783E33333367CB33256E8AC77D667A7AFA6FA2687C2FAC50E7C84690ABF28B5C411D72CC15D806505869652E7C45AFB9C2C8A5C79D1E7F564583FE3FEBFF2FE4AA3C225750872C7305000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005010FF03FB7F2E0A575276F10000000049454E44AE426082', 1);
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('89bbc291-bbbe-11f1-a8aa-00155dd68500', 1, 'source', NULL, X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D22617263686976655F626F72726F775F617070726F766522206E616D653D22E6A1A3E6A188E5809FE99885E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F617263686976655F61646D696E5F72657669657722206E616D653D22E6A1A3E6A188E7AEA1E79086E59198E5AEA1E6A0B8223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F6C65616465725F617070726F766522206E616D653D22E58886E7AEA1E9A286E5AFBCE5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F617263686976655F61646D696E5F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F617263686976655F61646D696E5F72657669657722207461726765745265663D2241637469766974795F6C65616465725F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F6C65616465725F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F617263686976655F626F72726F775F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22617263686976655F626F72726F775F617070726F7665222069643D2242504D4E506C616E655F617263686976655F626F72726F775F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F617263686976655F61646D696E5F726576696577222069643D2242504D4E53686170655F41637469766974795F617263686976655F61646D696E5F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F6C65616465725F617070726F7665222069643D2242504D4E53686170655F41637469766974795F6C65616465725F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223533302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', NULL);
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('89a8afc0-bbbe-11f1-a8aa-00155dd68500', 3, '妗f鍊熼槄瀹℃壒', 'archive_borrow_approve', 'archive_borrow_approve', '2026-09-29 12:30:45.291', '2026-09-29 12:30:50.065', 1, '{"allowCancelRunningProcess":null,"allowWithdrawTask":null,"autoApprovalType":null,"description":"妗f鍊熼槄涓ょ骇瀹℃壒锛堟。妗堢鐞嗗憳瀹℃牳鈫掑垎绠¢瀵煎鎵癸級","formCustomCreatePath":"/archive/borrow/index","formCustomViewPath":"/archive/borrow/detail/approve/index.vue","formId":null,"formType":20,"icon":null,"managerUserIds":[1],"printTemplateSetting":null,"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":null,"sort":1790656245282,"startDeptIds":null,"startUserIds":null,"summarySetting":null,"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":null,"type":10,"visible":true}', '8bad5962-bbbe-11f1-a8aa-00155dd68500', '89bbc291-bbbe-11f1-a8aa-00155dd68500', NULL, '');
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (43, 'archive_borrow_approve:1:8bcc7a25-bbbe-11f1-a8aa-00155dd68500', '89a8afc0-bbbe-11f1-a8aa-00155dd68500', 10, 'archive_borrow_approve', NULL, '妗f鍊熼槄涓ょ骇瀹℃壒锛堟。妗堢鐞嗗憳瀹℃牳鈫掑垎绠¢瀵煎鎵癸級', 20, NULL, NULL, NULL, '/archive/borrow/index', '/archive/borrow/detail/approve/index.vue', NULL, 1, 1790656245282, '', NULL, '1', 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-29 12:30:49', '1', '2026-09-29 12:30:49', 0);
diff --git a/docs/sql/_check_merge.js b/docs/sql/_check_merge.js
new file mode 100644
index 0000000..4fad034
--- /dev/null
+++ b/docs/sql/_check_merge.js
@@ -0,0 +1,58 @@
+// 鏍¢獙鍚堝苟鍚庣殑 SQL 鏂囦欢锛氳鍙ュ垏鍒嗐�佸紩鍙烽棴鍚堛�佹嫭鍙峰钩琛°�侀鍏抽敭瀛楃櫧鍚嶅崟
+const fs = require('node:fs');
+// 鍏堝墧闄ゆ暣琛屾敞閲婏紙鏈枃浠朵腑娉ㄩ噴鍧囦负鏁磋锛屼笖娉ㄩ噴鍐呬細鍑虹幇绀轰緥 SQL 鐨勫垎鍙凤級
+const raw = fs.readFileSync(__dirname + '/config_export_all_20260928.sql', 'utf8');
+const s = raw
+  .split(/\r?\n/)
+  .filter((l) => !l.trimStart().startsWith('--'))
+  .join('\n');
+
+let inS = false;
+let start = 0;
+let depth = 0;
+let maxDepth = 0;
+let statements = 0;
+const keywords = new Set();
+const ESC = '\\';
+
+for (let i = 0; i < s.length; i++) {
+  const c = s[i];
+  if (!inS) {
+    if (c === "'") {
+      inS = true;
+    } else if (c === '(') {
+      depth++;
+      if (depth > maxDepth) maxDepth = depth;
+    } else if (c === ')') {
+      depth--;
+      if (depth < 0) throw new Error(`绗� ${i} 瀛楃澶勬嫭鍙锋彁鍓嶉棴鍚坄);
+    } else if (c === ';') {
+      const st = s.slice(start, i).trim();
+      if (st) {
+        const body = st
+          .split(/\r?\n/)
+          .filter((l) => l.trim() && !l.trim().startsWith('--'))
+          .join('\n');
+        const m = body.match(/^(\w+)/);
+        if (!m) throw new Error(`璇彞鏃犳硶璇嗗埆棣栧叧閿瓧锛�${st.slice(0, 80)}`);
+        keywords.add(m[1].toUpperCase());
+        statements++;
+      }
+      start = i + 1;
+    }
+  } else if (c === "'") {
+    if (s[i - 1] === ESC && s[i - 2] !== ESC) {
+      // 鍙嶆枩鏉犺浆涔夌殑寮曞彿锛屼粛鍦ㄥ瓧绗︿覆鍐�
+    } else if (s[i + 1] === "'") {
+      i++; // '' 杞箟
+    } else {
+      inS = false;
+    }
+  }
+}
+
+console.log('璇彞鏁�     :', statements);
+console.log('鎷彿缁撳熬娣卞害:', depth, '锛堝簲涓� 0锛�');
+console.log('鏈�澶у祵濂楁繁搴�:', maxDepth);
+console.log('鏈棴鍚堝瓧绗︿覆:', inS, '锛堝簲涓� false锛�');
+console.log('棣栧叧閿瓧闆嗗悎:', [...keywords].sort().join(' '));
diff --git a/docs/sql/_finance_bpm_export.sql b/docs/sql/_finance_bpm_export.sql
new file mode 100644
index 0000000..fa5a241
--- /dev/null
+++ b/docs/sql/_finance_bpm_export.sql
@@ -0,0 +1,21 @@
+-- ===== 鎶ラ攢瀹℃壒锛坒inance_reimbursement_approve锛塀PM 娴佺▼瀹氫箟锛�2 涓『搴忚妭鐐癸細璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒锛� =====
+-- 鐢熸垚鏉ユ簮锛歮om-jssm 搴擄紝缁� BPM 妯″瀷璁捐鍣ㄩ儴缃诧紙POST /bpm/model/create + /bpm/model/deploy锛夛紝閮ㄧ讲鏃堕棿 2026-09-29 11:28:34
+-- 鍒嗙被 bpm_category(id=216, code=finance_reimbursement_approve) 宸插瓨鍦紱琛ㄥ崟绫诲瀷=鑷畾涔夎〃鍗�(form_type=20)
+-- 鍒犻櫎椤哄簭锛堝瓨鍦ㄥ閿級锛歛ct_re_model 鈫� act_ge_bytearray 鈫� act_re_procdef 鈫� act_re_deployment
+DELETE FROM `act_re_model` WHERE ID_ = 'd934d9d5-bbb5-11f1-a8aa-00155dd68500';
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('d934d9d5-bbb5-11f1-a8aa-00155dd68500', 3, '鎶ラ攢瀹℃壒', 'finance_reimbursement_approve', 'finance_reimbursement_approve', '2026-09-29 11:28:33.279', '2026-09-29 11:28:35.781', 1, '{"allowCancelRunningProcess":null,"allowWithdrawTask":null,"autoApprovalType":null,"description":"鎶ラ攢鍗曚袱绾у鎵癸紙璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒锛�","formCustomCreatePath":"/finance/reimbursement/index","formCustomViewPath":"/finance/reimbursement/detail/approve/index.vue","formId":null,"formType":20,"icon":null,"managerUserIds":[1],"printTemplateSetting":null,"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":null,"sort":1790652513269,"startDeptIds":null,"startUserIds":null,"summarySetting":null,"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":null,"type":10,"visible":true}', 'd9acc8f7-bbb5-11f1-a8aa-00155dd68500', 'd93ec4e6-bbb5-11f1-a8aa-00155dd68500', NULL, '');
+-- [act_re_model] 1 琛�
+DELETE FROM `act_ge_bytearray` WHERE ID_ IN ('d9acc8f8-bbb5-11f1-a8aa-00155dd68500','da62d289-bbb5-11f1-a8aa-00155dd68500','d93ec4e6-bbb5-11f1-a8aa-00155dd68500');
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('d93ec4e6-bbb5-11f1-a8aa-00155dd68500', 1, 'source', NULL, 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D2266696E616E63655F7265696D62757273656D656E745F617070726F766522206E616D653D22E68AA5E99480E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F66696E616E63655F72657669657722206E616D653D22E8B4A2E58AA1E5AEA1E6A0B8223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F66696E616E63655F617070726F766522206E616D653D22E8B4A2E58AA1E4B8BBE7AEA1E5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F66696E616E63655F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F66696E616E63655F72657669657722207461726765745265663D2241637469766974795F66696E616E63655F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F66696E616E63655F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F66696E616E63655F7265696D62757273656D656E745F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D2266696E616E63655F7265696D62757273656D656E745F617070726F7665222069643D2242504D4E506C616E655F66696E616E63655F7265696D62757273656D656E745F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F66696E616E63655F726576696577222069643D2242504D4E53686170655F41637469766974795F66696E616E63655F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F66696E616E63655F617070726F7665222069643D2242504D4E53686170655F41637469766974795F66696E616E63655F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223533302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A, NULL);
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('d9acc8f8-bbb5-11f1-a8aa-00155dd68500', 1, 'finance_reimbursement_approve.bpmn', 'd9acc8f7-bbb5-11f1-a8aa-00155dd68500', 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D2266696E616E63655F7265696D62757273656D656E745F617070726F766522206E616D653D22E68AA5E99480E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F66696E616E63655F72657669657722206E616D653D22E8B4A2E58AA1E5AEA1E6A0B8223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F66696E616E63655F617070726F766522206E616D653D22E8B4A2E58AA1E4B8BBE7AEA1E5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F66696E616E63655F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F66696E616E63655F72657669657722207461726765745265663D2241637469766974795F66696E616E63655F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F66696E616E63655F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F66696E616E63655F7265696D62757273656D656E745F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D2266696E616E63655F7265696D62757273656D656E745F617070726F7665222069643D2242504D4E506C616E655F66696E616E63655F7265696D62757273656D656E745F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F66696E616E63655F726576696577222069643D2242504D4E53686170655F41637469766974795F66696E616E63655F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F66696E616E63655F617070726F7665222069643D2242504D4E53686170655F41637469766974795F66696E616E63655F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223533302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A, 0);
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('da62d289-bbb5-11f1-a8aa-00155dd68500', 1, 'finance_reimbursement_approve.finance_reimbursement_approve.png', 'd9acc8f7-bbb5-11f1-a8aa-00155dd68500', 0x89504E470D0A1A0A0000000D494844520000023A000000460806000000C5373E5300000D7D49444154785EED9DDD6F14D719872744AA7291FFA0CA55D2FFA39512E5C217512BAD7759C4C77AD7C2261821F1252150ED9A9B5A1120B5A26A6F22505359B504988081800DB8C4A68022B5B12984E098507016DB7C19C560C34ECF4B3DD2C9D9C19E9DDD33FB9ED7BF477A643C67E69C61CFCFAFCFCEEE8E3D0F5485EFFB3F1B1B1BFBFBF0F0F05C7F7FBF7FE6CC1998B0EA712F0D0E0EDE1B1818F8C89C1F5741AEEA2F72056D2831574038AA68F4A8D0FAC562D19F9D9DF59F3F7F0E13961E777AFCCF9F3FFF58159206738E5C04B9AABFC815B4A1C45C01E1D033230AAD196698BC13131353AA705C36E7C845902B3E2257D0869272058443977FF1CC8887340FAA703C33E7C845902B3E2257D0869272058443AFB99A0186F593E6C39C231741AE78895C411B4AC915104ED4C2F1F4D1843F76E5537FF4ECEF5E49FFA66DE67EB03AA5140EE48A97C81572654329B902C2895238661EDEF5474EEFF6FF7562DB4FA46DD466EE0FE32BA5702057BC44AE902B1B4AC915104E94C27167F45859D108FCEFE8E765FBC3F84A291CC8152F912BE4CA865272058413A570FCE7DCEFCB0A4620B599FBC3F84A291CC8152F912BE4CA865272058413A5708C9C692F2B1881D466EE0FE32BA5702057BC44AE902B1B4AC915100E0A072FA5140EE48A97C81572654329B902C2895238E8530B66C108A436737F185F298503B9E22572855CD9504AAE8070A2148E9B5FFEB1AC6004529BB93F8CAF94C2815CF112B942AE6C2825574038510AC7F4DD7FFB235FFCB6AC68D0366A33F787F1955238902B5E2257C8950DA5E40A08274AE120BFBB7AA8AC70D036733F589D520A0772C54BE40AB9B2A1945C4525954ABD974EA7B7298F653299CBCA3B4A7FE1EB65DA4EEDB49F79AC757CDF5F313C3CFC9B43870E7DD1D1D131B563C78ED9D6D6D6129D604B4BCBFCD6AD5B9FA86DDF7676767E92CBE5DE318F974CA4C2F1EC997F73E84F658583B6515BD9FE30B6520A0772C54BE40AB9B2A1945C2D865AB4BCA9D60AF9952B578E2E2C6A22B9B07F9E8E37FBAC296A81F3D6A953A7FEB27BF7EEB942A1E01F3870C0BF74E9927FEBD62D7F7A7ADA27E82B7D4FDBA93D9FCFBF6C6B6B1B6B6E6EFED0EC4F224B150EBA93E8375FFEA1AC6804521BEE365A3BA5140EE48A97C81572654329B97A1D6AA1D2A0162CD7CC454C252E2C781ACCBE6B825AB87CDCD9D939BB79F3667F7878D87FF9F2E5AB85CD52D07EB4FFA64D9BE6376CD8F0553A9D7ED7EC5B12AF2D1CEA99CFC4CD01FFEB533BCB8A8529ED43FBE2D952F54A291CC8152F912BE4CA86527265D2DEDEBE422D50BACC45CBBA75EBFCFDFBF7FB838383A1174C683BB5D37EE6B1D41FF56B8E150B35E61BA74F9FFE6CFDFAF57E5F5F9FFFE2C58B9FAE642242C7D1F1EA849FAA13FCC01C470A618563A96745AF13CF96AA574AE140AE78895C958B5C55AF945CE9A452A9B7D3E9F4097D9192CFE7FDDEDE5E7F6E6ECE5C2A8442FBD1FE749CDE0FF54BFD9B635684EAFF8DC3870FFFB3B5B5D5BF7EFDBA39762CA89F42A1F063369BCD9BE34920AC70447956F43AE958B33F185D298503B9E22572152E72559D52721540575CD482E4B8BE38D9BB77AF3F3333632E0D2241C7D1F1C6D59DE3555DD9A12B392D2D2D7EB15834C7AB0AEA2F97CBCD343636BE6F8EE93A6185C32C06956AF607A32BA5702057BC44AE5EAFD91F8CAE945C05E82F57A97FFB3D3D3D7EA9543297041541C7533FD49FD677973976248686863EA6454EADAEE498A87E4B6BD6AC7958978F8D5924AC70C0FA29A5702057BC44AEA00DA5E48A500B9006FDCA0B2D4E6A09F5675CD9A9EC0DCAAA8FB7F6ECD9334BEFA9B1496F6FEFC36C367BCA1CDF6550387829A5702057BC44AEA00DA5E48A3E02AE7FBA8A5E6EAAF64A8E09F5A7BF8C459FC6AAE8A3E7274F9EFC337DBA2AEE1B8FA342FD170A85C9C6C6C65F99E7E02A281CBC945238902B5E2257D0865272A5161EF96001426F208EFB9E9CA5A07E8D3728477BEFAF3A76C5AE5DBBE6E823E14970F1E2C547EAE4FE619E87ABA070F0524AE140AE78895C411B4AC9957E33C063C78E99BFF66B0AF5AF5FD531CF2594A1A1A15F37373747BE4F4EB5D038AB56AD7A944AA57E6E9E0B27D483784EF94B73BB090A072FB9170EE4CA4D912B684309B9CA66B3BF08161E74FF1BFA7FD984FAD7EFB343E39BE754C6C18307CFD01D8D93A4A3A363249D4EB79AE7C289E0415C6AA2513878E940E140AE1C14B9823694902BB57D6BB0DFBE7DFBCC5FF756A071B473DB6A9E53199D9D9D9349BD6C1570F6EC59BACC75D83C174E680FE2A2138DC2C14B870A0772E590C815B4A1845CA9EF7B8376BAB37112D038DA39F5EAE713CAF6EDDB67C7C6C6CC7EAC72E3C68D71757257CC73E144C804874E340A072F1D2C1CC895032257D0861272A5BE5E09B627B596A071B473597A2DD1D2D2527AF0E081D98F55A6A7A767D4C9DD35CF851321136BFA6AA2513878E970E140AE188B5C411B0AC9D554F07D526B091A473B87A5D712AB57AFF6E7E7E7CD7EACA2C67B12F28039290A072FCDF97155E48A97E6FCB82A72C54B737E5C37A9B5048DA38DFBCC5CD794B17EFDFAF9A4566101939393DF66A2ACC2EA8839819AE732B814CC56879F2121578C45AEA00D25E44A7DBD1B6C4F6A2D51F1159D2D5BB63C49EA75B5806BD7AE5DCD44795DAD8E2C36B13ADC0B873AC5506BD5CE4D070B8713B9F242324026D55E6F91AB787A21734ABAD26E5B09B9CAB8F01E9D9D3B777E93F4A7AE8E1C39722CE3CEA7AECA265627E9C251A95EC80FADBEADDA766E3A54389CCA951732E7FA36DBEDF516B98AA7173287FA36EEEDB69590AB8C0B9FBAEAE8E8F824E9FBE86CDCB8B1CF81FBE8BC766275922E1C95EA85FCD0EADBAA6DE7A60385C3C95C792173AE6FB3DD5E6F91AB787A2173A86FE3DE6E5B09B9CAB8701F9D5C2EF74EA1507899E09D917F502736C9FDCEC85149BA7054AA17F243AB6FABB69D9BDC0B4754B8E5CA0B99737D9BEDF67A8B5CC5D30B99437D1BF776DB4AC8553DEE8CBC76EDDA523066A43B23136D6D6DDF25F5F2557777F75F33F85B5789E985FCD0EADBAA6DE7A684C24170CB951732E7FA36DBEDF516B98AA7173287FA36EEEDB695922BF67FEB8A686E6EFE70D3A64DF309FCF5F23BEAE46EE2AF9727A717F243AB6FABB69D9B520A07B75C792173AE6FB3DD5E6F91AB787A2173A86FE3DE6E5B29B9CA24F8D7CB9B9A9A5E0663D1B8E6B92CCAC68D1BBFEAEBEB2B991DD790525757D7A7EAC4FACCB15D26E9C251A95EC80FADBEADDA766E4A291CDC72E585CCB9BECD767BBD45AEE2E985CCA1BE8D7BBB6DA5E42A954ABDA95FD5D9BB77AF5F2AD5763941FD51BFFAD51C1AD73C97455107BC97CBE566AE5FBF6EF65F132E5CB870509DDC048D638EED3249178E4A55A7186AADDAB929A57070CB9517920132A9F67A8B5CC5D30B9953D29576DB4AC915A17EBF3768575AFC9E9E1E73195015D49FDE3F8D679E4324D40AE983A6A6A61F8BC5A23946558C8F8F7FAE4EEA5E6363E3FBE698AE9374E1808B2BA5702057BC44AEA00DA5E42A40AD21BAB42B2EAF1627D55ED9A1E3A91FEA4FEBBBCB1CBB22B2D96C3E97CB3DA9D5959D852B3974E7C426732C09A070F0524AE140AE78895C411B4AC955407B7BFB0AF5BBFEB87EE5855E6E8AFB9E1D3A4E7FB96AC1E3348E3976C5D09597D5AB573FECEDED7D18F70DCAF4C6E385F7E4FC20F14A4E000A072FA5140EE48A97C815B4A1945CE9A452A9B7D3E9F4097D71426F5056EB097F6E6ECE5C2A8442FBD1FEC61B8F7DEA97FA37C78C8DEAF0DD6C367BBA50284C5EBC78F151D4FBECA8FD8ADDDDDD9FA993BAA93C49FD987D4B02858397520A0772C54BE40ADA504AAE4CE88A8BFE325620DD6767FFFEFDAFEE6C7CEBD62D7F7A7AFAD5BA81BED2F7B49DDAF5FBE404527F35B99213067D145C0D32B86AD5AAC76A90AFFBFBFB476EDCB8F1FDD4D4D453757E33F7EFDF1F1B1D1DBD7AF4E8D1DEB6B6B69399FFFFC9F641491F215F0C140E5E4A291C2EE5EAE9D3A7FEC8C848C5D271665F5C45AE9217B9721FB51668D03F8D15C785E3E3BDF1B852E84EC66AB096743A4D7FA7EAB292EE894327425F2F2F6C6F9172C7E3A8B854389683520A874BB9A25F2E5EC8275796928E33FBE22A7295BCC8950CE823E06A6D90AF74C1B3B07FBEE28F9083DAE352E1580E4A291C2EE50ACFBCDD01B9E2A5945C45856E2F934EA7B72D76C184DAA5DD86C6795C2A1CCB41298503B9E22572056D2825574038281CBC945238902B5E2257D0865272058483C2C14B298503B9E22572056D2825574038281CBC9452385CCA15DE4BE10EC8152FA5E40A08C7A5C2B11C9452385CCA15FD72F1423EFDB294749CD9175791ABE445AE0060824B85633928A570B8942B3CF37607E48A9752720584E352E1580E4A291CC8152F912B684329B902C241E1E0A594C2815CF112B9823694922B201C140E5E4A291CC8152F912B684329B902C241E1E0A594C2E152AEF05E0A7740AE782925574038FDFDFDA5D9D9D9B200C3E455F3704F158E67E61CB9884BB9A25F2E5EC8A75F96928E33FBE22872551F912B009830383878AF582C96851826EFEDDBB7BB55E1B86CCE918BB8942BE9CFBC91ABFA885C01C0848181818FCE9F3FFF78626262CA95674AD2548FFBC4F8F8F8DF54D1F85ED960CE918B2057F517B9823694982BB00CA0B0D2CA5CF99C5E7385894B8F3B3DFEA28A06FD7F16FE5FC8557D44AEA00D45E60A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A022FE0703BF003102A0BB720000000049454E44AE426082, 1);
+-- [act_ge_bytearray] 3 琛�
+DELETE FROM `act_re_procdef` WHERE KEY_ = 'finance_reimbursement_approve';
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES ('da66f13a-bbb5-11f1-a8aa-00155dd68500', 2, 'finance_reimbursement_approve', '鎶ラ攢瀹℃壒', 'finance_reimbursement_approve', 1, 'd9acc8f7-bbb5-11f1-a8aa-00155dd68500', 'finance_reimbursement_approve.bpmn', 'finance_reimbursement_approve.finance_reimbursement_approve.png', NULL, 0, 1, 1, '', NULL, NULL, NULL, 0);
+-- [act_re_procdef] 1 琛�
+DELETE FROM `act_re_deployment` WHERE ID_ = 'd9acc8f7-bbb5-11f1-a8aa-00155dd68500';
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('d9acc8f7-bbb5-11f1-a8aa-00155dd68500', '鎶ラ攢瀹℃壒', 'finance_reimbursement_approve', 'finance_reimbursement_approve', '', '2026-09-29 11:28:34.065', NULL, NULL, 'd9acc8f7-bbb5-11f1-a8aa-00155dd68500', NULL);
+-- [act_re_deployment] 1 琛�
+DELETE FROM `bpm_process_definition_info` WHERE model_id = 'd934d9d5-bbb5-11f1-a8aa-00155dd68500';
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (42, 'da66f13a-bbb5-11f1-a8aa-00155dd68500', 'd934d9d5-bbb5-11f1-a8aa-00155dd68500', 10, 'finance_reimbursement_approve', NULL, '鎶ラ攢鍗曚袱绾у鎵癸紙璐㈠姟瀹℃牳 鈫� 璐㈠姟涓荤瀹℃壒锛�', 20, NULL, NULL, NULL, '/finance/reimbursement/index', '/finance/reimbursement/detail/approve/index.vue', NULL, b'1', 1790652513269, '', NULL, '1', b'1', b'1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-29T11:28:36', '1', '2026-09-29T11:28:36', b'0');
+-- [bpm_process_definition_info] 1 琛�
diff --git a/docs/sql/_merge_archive.js b/docs/sql/_merge_archive.js
new file mode 100644
index 0000000..5976f8b
--- /dev/null
+++ b/docs/sql/_merge_archive.js
@@ -0,0 +1,294 @@
+// 涓�娆℃�ц剼鏈細鎶婃。妗堢鐞嗘ā鍧楋紙yudao-module-archive锛夊苟鍏� config_export_all_20260929.sql 鐨勯樁娈典竴
+// 鐢ㄦ硶锛歯ode _merge_archive.js
+const fs = require('node:fs');
+const path = require('node:path');
+const os = require('node:os');
+
+const DIR = __dirname;
+const TARGET = path.join(DIR, 'config_export_all_20260929.sql');
+const MODULE = path.join(DIR, 'archive_module.sql');
+const BPM = path.join(DIR, '_archive_bpm_export.sql');
+const TMP = path.join(os.homedir(), 'AppData', 'Local', 'Temp');
+
+const raw = fs.readFileSync(TARGET, 'utf8');
+if (!raw.includes('\r\n')) throw new Error('鐩爣鏂囦欢涓嶆槸 CRLF');
+let doc = raw.replace(/\r\n/g, '\n');
+
+const norm = (s) => s.replace(/\r\n/g, '\n');
+const moduleLines = norm(fs.readFileSync(MODULE, 'utf8')).split('\n');
+const bpmLines = norm(fs.readFileSync(BPM, 'utf8')).split('\n');
+
+/** 鏂█閿氱偣鍞竴 */
+function anchor(text) {
+  const n = doc.split(text).length - 1;
+  if (n !== 1) throw new Error(`閿氱偣鍑虹幇 ${n} 娆★紝鏈熸湜 1 娆★細${text.slice(0, 90)}`);
+}
+/** 鍦ㄩ敋鐐瑰墠鎻掑叆锛堟彃鍏ュ唴瀹逛笌閿氱偣涔嬮棿鐣欎竴涓┖琛岋級 */
+function insertBefore(text, before) {
+  anchor(text);
+  doc = doc.replace(text, before + '\n\n' + text);
+}
+/** 鏇挎崲涓�娆� */
+function replaceOnce(from, to) {
+  anchor(from);
+  doc = doc.replace(from, to);
+}
+
+// ---------------------------------------------------------------- 鏁版嵁琛岄鏍煎綊涓�
+/** 鎸夐《灞傞�楀彿鍒囧垎 VALUES 鍏冪粍锛堝皧閲嶅崟寮曞彿涓庡弽鏂滄潬杞箟锛� */
+function splitTuple(s) {
+  const out = [];
+  let cur = '';
+  let inS = false;
+  for (let i = 0; i < s.length; i++) {
+    const c = s[i];
+    if (inS) {
+      cur += c;
+      if (c === '\\' && i + 1 < s.length) {
+        cur += s[++i];
+      } else if (c === "'") {
+        if (s[i + 1] === "'") cur += s[++i];
+        else inS = false;
+      }
+    } else if (c === "'") {
+      inS = true;
+      cur += c;
+    } else if (c === ',') {
+      out.push(cur.trim());
+      cur = '';
+    } else {
+      cur += c;
+    }
+  }
+  if (cur.trim()) out.push(cur.trim());
+  return out;
+}
+
+/**
+ * 鎶婁粠搴� JDBC 瀵煎嚭鐨� INSERT 琛屾敼鍐欐垚鏈枃浠剁殑鏃㈡湁椋庢牸锛�
+ * 瀛楃涓�/鏁板瓧/鏃ユ湡涓�寰嬪姞鍗曞紩鍙凤紝bit 鍒� deleted 鍑� X'00'锛孨ULL 淇濇寔 NULL銆�
+ */
+function restyle(line) {
+  const m = line.match(/^INSERT INTO `([^`]+)` \(([^)]+)\) VALUES \((.*)\);$/);
+  if (!m) throw new Error(`鏃犳硶瑙f瀽鏁版嵁琛岋細${line.slice(0, 90)}`);
+  const [, table, colText, valsText] = m;
+  const cols = colText.split(',').map((c) => c.trim().replace(/`/g, ''));
+  const vals = splitTuple(valsText);
+  if (cols.length !== vals.length) {
+    throw new Error(`${table} 鍒楁暟 ${cols.length} 涓庡�兼暟 ${vals.length} 涓嶇`);
+  }
+  const out = vals.map((v, i) => {
+    if (v === 'NULL') return 'NULL';
+    if (cols[i] === 'deleted') {
+      if (v !== '0') throw new Error(`${table}.deleted 鏈熸湜 0锛屽疄闄� ${v}`);
+      return "X'00'";
+    }
+    return v.startsWith("'") ? v : `'${v}'`;
+  });
+  return `INSERT INTO \`${table}\` (${cols.map((c) => '`' + c + '`').join(', ')}) VALUES (${out.join(', ')});`;
+}
+
+function readRows(file) {
+  const text = norm(fs.readFileSync(path.join(TMP, file), 'utf8'));
+  const rows = text
+    .split('\n')
+    .map((l) => l.trim())
+    .filter((l) => l.startsWith('INSERT INTO '))
+    .map(restyle);
+  return rows;
+}
+
+const CATEGORY_ROWS = readRows('archive_category_rows.sql');
+const DICT_TYPE_ROWS = readRows('archive_dict_type_rows.sql');
+const DICT_DATA_ROWS = readRows('archive_dict_data_rows.sql');
+const BPM_CATEGORY_ROWS = readRows('archive_bpm_category_row.sql');
+if (CATEGORY_ROWS.length !== 6) throw new Error(`鍒嗙被鏁版嵁 ${CATEGORY_ROWS.length} 琛岋紝鏈熸湜 6`);
+if (DICT_TYPE_ROWS.length !== 6) throw new Error(`瀛楀吀绫诲瀷 ${DICT_TYPE_ROWS.length} 琛岋紝鏈熸湜 6`);
+if (DICT_DATA_ROWS.length !== 19) throw new Error(`瀛楀吀鏁版嵁 ${DICT_DATA_ROWS.length} 琛岋紝鏈熸湜 19`);
+if (BPM_CATEGORY_ROWS.length !== 1) throw new Error(`BPM 鍒嗙被 ${BPM_CATEGORY_ROWS.length} 琛岋紝鏈熸湜 1`);
+
+// ================================================================ 1. 琛ㄦ暟閲� 427 鈫� 430
+replaceOnce(
+  '-- 鑼冨洿锛氬叏搴� BASE TABLE 鍏� 427 寮狅紙0918 鐨� 419 寮� + 2 寮� finance_* + 2 寮� ums_* + 4 寮� research_*锛夛紝鍏ㄩ儴杈撳嚭 CREATE TABLE锛�',
+  '-- 鑼冨洿锛氬叏搴� BASE TABLE 鍏� 430 寮狅紙0918 鐨� 419 寮� + 2 寮� finance_* + 2 寮� ums_* + 4 寮� research_* + 3 寮� archive_*锛夛紝鍏ㄩ儴杈撳嚭 CREATE TABLE锛�',
+);
+
+// ============================================= 2. 甯︽暟鎹〃娓呭崟琛� 鈶︼紙妗f绠$悊妯″潡锛�
+insertBefore(
+  '--     鈶� AI 閰嶇疆锛堜粎妯″瀷+key锛�+ 鍩虹璁炬柦閰嶇疆绠$悊锛歛i_model銆乤i_api_key銆乮nfra_config銆乮nfra_job銆乮nfra_file_config銆乮nfra_data_source_config銆乮nfra_codegen_table銆乮nfra_codegen_column',
+  '--     鈶� 妗f绠$悊妯″潡锛�1 寮犲甫鍒濆鏁版嵁 + 2 寮犱粎缁撴瀯锛夛細archive_category锛堝垵濮� 6 鏉″垎绫伙級銆乤rchive_document銆乤rchive_borrow',
+);
+
+// ============================================================== 3. 琛ヤ竵鐧昏鍧�
+const PREAMBLE = [
+  '-- 琛ヤ竵鍐呭锛�2026-09-29锛屾。妗堢鐞嗘ā鍧� yudao-module-archive锛夛細',
+  '--   鈶� 琛� 3 寮� archive_* 琛ㄧ粨鏋勶紙妗f鍒嗙被 / 妗f涓昏〃 / 鍊熼槄鍗曪級锛屽叾涓� archive_category 甯﹀垵濮� 6 鏉″垎绫绘暟鎹細',
+  '--      archive_category銆乤rchive_document銆乤rchive_borrow',
+  '--   鈶� 琛� 6 涓瓧鍏哥被鍨� + 19 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細',
+  '--      archive_category_status锛堝惎鐢�/鍋滅敤锛�',
+  '--      archive_document_status锛堝湪搴�/鍊熷嚭涓級',
+  '--      archive_secret_level锛堝叕寮�/鍐呴儴/淇濆瘑锛�',
+  '--      archive_carrier_type锛堢數瀛�/瀹炰綋/鐢靛瓙+瀹炰綋锛�',
+  '--      archive_source_type锛堟墜宸ュ綍鍏�/璇鹃褰掓。/浼氬憳褰掓。/璐㈠姟褰掓。锛�',
+  '--      archive_borrow_status锛堣崏绋�/瀹℃壒涓�/鍊熷嚭涓�/宸插綊杩�/宸查┏鍥烇級',
+  '--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細',
+  '--      id=8003 \'妗f鍊熼槄瀹℃壒\' / code=\'archive_borrow_approve\'',
+  '--   鈶� 琛� 1 鏉� BPM 娴佺▼瀹氫箟锛堟。妗堝�熼槄涓ょ骇瀹℃壒锛氭。妗堢鐞嗗憳瀹℃牳鈫掑垎绠¢瀵煎鎵癸級锛�',
+  '--      鍒嗗埆钀� act_re_deployment / act_re_procdef / act_ge_bytearray(3 鏉�) / act_re_model /',
+  '--      bpm_process_definition_info 浜斿紶琛紝娴佺▼ key=\'archive_borrow_approve\'銆�',
+  '--      bpm_process_definition_info.form_type=20锛堣嚜瀹氫箟琛ㄥ崟锛夛紝',
+  '--      form_custom_create_path=/archive/borrow/index銆�',
+  '--      form_custom_view_path=/archive/borrow/detail/approve/index.vue銆�',
+  '--      鈿� 璇ユ祦绋嬬殑 BPMN 涓烘墜鍐欎袱鑺傜偣锛�**涓嶆槸** bpm_deploy_flow_from_template 鐢熸垚鐨勫崟鑺傜偣娴佺▼銆�',
+  '--   鈶� 琛� 3 寮犳潵婧愯〃鍚� 1 鍒� archive_document_id锛坆igint NULL锛屽綊妗h仈鍔ㄥ洖鍐欐。妗� ID锛夛細',
+  '--      research_application锛堣棰樼敵鎶ュ崟锛夈�乽ms_member锛堜細鍛橈級銆乫inance_reimbursement锛堟姤閿�鍗曪級銆�',
+  '--      鍒楀彲绌恒�佷笉褰卞搷鏃㈡湁鏁版嵁锛涖�屾槸鍚﹀凡褰掓。銆嶄互璇ュ垪涓虹‖鏍囪锛堝彟鏈� archive_document 渚�',
+  '--      source_type+source_id 骞傜瓑鍏滃簳锛夈��',
+  '--   鈶� 琛� 24 鏉℃。妗堢鐞嗚彍鍗曪細1075600銆屾。妗堢鐞嗐�嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/archive锛�',
+  '--      + 1075601銆屾。妗堝垎绫汇��/ 1075602銆屾。妗堢鐞嗐��/ 1075603銆屽�熼槄鐧昏銆�/ 1075604銆屾。妗堢粺璁°��',
+  '--      + 1075610~1075613锛堝垎绫绘煡璇�/鍒涘缓/鏇存柊/鍒犻櫎锛夈��',
+  '--        1075620~1075625锛堟。妗堟煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/瀵煎嚭/淇濆瘑妗f鏌ョ湅锛夈��',
+  '--        1075630~1075635锛堝�熼槄鏌ヨ/鐧昏/淇敼/鍒犻櫎/鎻愪氦瀹℃壒/褰掕繕鐧昏锛夈��',
+  '--        1075640锛堟。妗堢粺璁℃煡璇級銆�',
+  '--        1075536锛堣棰樼敵鎶ュ綊妗o紝鎸� 1075512 璇鹃鐢虫姤涓嬶級銆�',
+  '--        1075504锛堜細鍛樺綊妗o紝鎸� 1075492 浼氬憳鍒楄〃涓嬶級銆�',
+  '--      璐㈠姟褰掓。澶嶇敤鏃㈡湁 finance:reimbursement:archive锛�1075424锛夛紝涓嶆柊澧炴潈闄愮偣銆�',
+  '--      **鑿滃崟娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *',
+  '--      FROM \\`mom-jssm\\`.system_menu WHERE deleted=b\'0\'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝',
+  '--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�',
+  '--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��',
+  '--   鈿� 妗f妯″潡鐨� BPMN 閮ㄧ讲浜х墿锛堚懀锛変负**鍏堥儴缃插悗瀵煎嚭**锛氭柊搴撳垵濮嬪寲鏃朵緷璧栨湰鏂囦欢鐨勫瓧闈㈤噺 INSERT锛�',
+  '--     鑻ラ噸璺戝鍑鸿鍕块仐婕忎簲寮犺〃锛堝惈 act_ge_bytearray 鐨� 3 鏉★細bpmn / png / source锛夈��',
+].join('\n');
+insertBefore('-- 鍘嗗彶琛ヤ竵鍐呭锛�2026-09-18锛夛細', PREAMBLE);
+
+// ======================================== 4. 3 寮� archive_* 琛� DDL + 鍒濆鍒嗙被鏁版嵁
+function ddlBlock(fromLine, toLine, tableName, rows) {
+  const body = moduleLines.slice(fromLine - 1, toLine).join('\n');
+  const titles = rows ? `瀵煎嚭 ${rows.length} 琛宍 : '浠� DDL锛屾棤鏁版嵁';
+  return [`-- ============ 琛細${tableName}锛�${titles}锛� ============`, body, ...(rows || []), ''].join('\n');
+}
+const ARCHIVE_DDL = [
+  '-- ***********************************************************************',
+  '-- 鈶� 妗f绠$悊妯″潡锛坹udao-module-archive锛氬垎绫绘爲 + 妗f涓昏〃 + 鍊熼槄鍗曪級',
+  '-- ***********************************************************************',
+  '',
+  ddlBlock(9, 28, 'archive_category', CATEGORY_ROWS),
+  ddlBlock(31, 67, 'archive_document', null),
+  ddlBlock(70, 104, 'archive_borrow', null),
+].join('\n');
+insertBefore(
+  ['-- ***********************************************************************', '-- 鍏朵綑 382 寮犺〃锛堜粎琛ㄧ粨鏋勶紝鏃犳暟鎹級', '-- ***********************************************************************'].join('\n'),
+  ARCHIVE_DDL,
+);
+
+// ===================================== 5. 涓夊紶鏉ユ簮琛ㄥ悇琛� 1 鍒� archive_document_id
+const ARCHIVE_COL =
+  "  `archive_document_id` bigint DEFAULT NULL COMMENT '褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級',";
+// 5.1 research_application锛堟斁鍦� notice_id 涔嬪悗锛�
+replaceOnce(
+  "  `notice_id` bigint DEFAULT NULL COMMENT '宸插彂甯冪殑绔嬮」閫氱煡鍏憡 ID',",
+  "  `notice_id` bigint DEFAULT NULL COMMENT '宸插彂甯冪殑绔嬮」閫氱煡鍏憡 ID',\n" + ARCHIVE_COL,
+);
+// 5.2 ums_member锛堟斁鍦� status 涔嬪悗锛涗袱琛岄敋鐐逛互娑堟锛�
+replaceOnce(
+  "  `expire_date` date DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',\n" +
+    "  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細1-姝e父 0-鏆傚仠',",
+  "  `expire_date` date DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',\n" +
+    "  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細1-姝e父 0-鏆傚仠',\n" +
+    ARCHIVE_COL,
+);
+// 5.3 finance_reimbursement锛堟斁鍦� archive_time 涔嬪悗锛涗袱琛岄敋鐐逛互娑堟锛�
+replaceOnce(
+  "  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',\n" +
+    "  `archive_time` datetime DEFAULT NULL COMMENT '褰掓。鏃堕棿',",
+  "  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',\n" +
+    "  `archive_time` datetime DEFAULT NULL COMMENT '褰掓。鏃堕棿',\n" +
+    ARCHIVE_COL,
+);
+
+// "鍏朵綑 382 寮犺〃" 鈫� 384锛堚懄 宸叉彃鍏� 3 寮狅紝鍏朵腑 2 寮犳棤鏁版嵁鏁呬笉杩涘甫鏁版嵁娓呭崟锛�
+replaceOnce(
+  ['-- ***********************************************************************', '-- 鍏朵綑 382 寮犺〃锛堜粎琛ㄧ粨鏋勶紝鏃犳暟鎹級', '-- ***********************************************************************'].join('\n'),
+  ['-- ***********************************************************************', '-- 鍏朵綑 384 寮犺〃锛堜粎琛ㄧ粨鏋勶紝鏃犳暟鎹級', '-- ***********************************************************************'].join('\n'),
+);
+
+// ===================================================== 6. BPM 閮ㄧ讲浜х墿锛�7 鏉� INSERT锛�
+const bpmInserts = bpmLines.filter((l) => l.startsWith('INSERT INTO '));
+if (bpmInserts.length !== 7) throw new Error(`BPM INSERT 鏉℃暟 ${bpmInserts.length}锛屾湡鏈� 7`);
+const pick = (table) => bpmInserts.filter((l) => l.startsWith(`INSERT INTO \`${table}\``));
+const insProcdef = pick('act_re_procdef');
+const insDeployment = pick('act_re_deployment');
+const insBytearray = pick('act_ge_bytearray');
+const insModel = pick('act_re_model');
+const insProcInfo = pick('bpm_process_definition_info');
+if (
+  insProcdef.length !== 1 ||
+  insDeployment.length !== 1 ||
+  insBytearray.length !== 3 ||
+  insModel.length !== 1 ||
+  insProcInfo.length !== 1
+) {
+  throw new Error('BPM INSERT 鍒嗙被鏁伴噺涓嶇');
+}
+
+// 6.1 act_re_procdef锛�23 鈫� 24 琛岋級
+insertBefore('-- ============ 琛細act_re_deployment锛堝鍑� 23 琛岋級 ============', insProcdef.join('\n'));
+replaceOnce(
+  '-- ============ 琛細act_re_procdef锛堝鍑� 23 琛岋級 ============',
+  '-- ============ 琛細act_re_procdef锛堝鍑� 24 琛岋級 ============',
+);
+// 6.2 act_re_deployment锛�23 鈫� 24 琛岋級
+insertBefore('-- ============ 琛細act_ge_bytearray锛堝鍑� 28 琛岋級 ============', insDeployment.join('\n'));
+replaceOnce(
+  '-- ============ 琛細act_re_deployment锛堝鍑� 23 琛岋級 ============',
+  '-- ============ 琛細act_re_deployment锛堝鍑� 24 琛岋級 ============',
+);
+// 6.3 act_ge_bytearray锛�28 鈫� 31 琛岋紝bpmn / png / source 涓夋潯锛�
+insertBefore('-- ============ 琛細act_re_model锛堝鍑� 23 琛岋級 ============', insBytearray.join('\n'));
+replaceOnce(
+  '-- ============ 琛細act_ge_bytearray锛堝鍑� 28 琛岋級 ============',
+  '-- ============ 琛細act_ge_bytearray锛堝鍑� 31 琛岋級 ============',
+);
+// 6.4 act_re_model锛�23 鈫� 24 琛岋級
+insertBefore('-- ============ 琛細bpm_process_definition_info锛堝鍑� 23 琛岋級 ============', insModel.join('\n'));
+replaceOnce(
+  '-- ============ 琛細act_re_model锛堝鍑� 23 琛岋級 ============',
+  '-- ============ 琛細act_re_model锛堝鍑� 24 琛岋級 ============',
+);
+// 6.5 bpm_process_definition_info锛�23 鈫� 24 琛岋紝鎻掑湪 鈶� 鍒嗙粍妯箙涔嬪墠锛�
+insertBefore(
+  ['-- ***********************************************************************', '-- 鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛夛紙DDL + 鏁版嵁锛�', '-- ***********************************************************************'].join(
+    '\n',
+  ),
+  insProcInfo.join('\n'),
+);
+replaceOnce(
+  '-- ============ 琛細bpm_process_definition_info锛堝鍑� 23 琛岋級 ============',
+  '-- ============ 琛細bpm_process_definition_info锛堝鍑� 24 琛岋級 ============',
+);
+
+// ===================================================== 7. bpm_category 琛� 8003锛�25 鈫� 26 琛岋級
+insertBefore('-- ============ 琛細bpm_form锛堝鍑� 4 琛岋級 ============', BPM_CATEGORY_ROWS.join('\n'));
+replaceOnce(
+  '-- ============ 琛細bpm_category锛堝鍑� 25 琛岋級 ============',
+  '-- ============ 琛細bpm_category锛堝鍑� 26 琛岋級 ============',
+);
+
+// ================================================ 8. 瀛楀吀绫诲瀷 6 鏉★紙254 鈫� 260 琛岋級
+insertBefore('-- ============ 琛細system_dict_data锛堝鍑� 1205 琛岋級 ============', DICT_TYPE_ROWS.join('\n'));
+replaceOnce(
+  '-- ============ 琛細system_dict_type锛堝鍑� 254 琛岋級 ============',
+  '-- ============ 琛細system_dict_type锛堝鍑� 260 琛岋級 ============',
+);
+// ================================================ 9. 瀛楀吀鏁版嵁 19 鏉★紙1205 鈫� 1224 琛岋級
+insertBefore('-- ============ 琛細system_tenant锛堝鍑� 3 琛岋級 ============', DICT_DATA_ROWS.join('\n'));
+replaceOnce(
+  '-- ============ 琛細system_dict_data锛堝鍑� 1205 琛岋級 ============',
+  '-- ============ 琛細system_dict_data锛堝鍑� 1224 琛岋級 ============',
+);
+
+// ---------------------------------------------------------------- 鍐欏嚭
+doc = doc.replace(/\n/g, '\r\n');
+fs.writeFileSync(TARGET, doc, 'utf8');
+console.log(`鍚堝苟瀹屾垚 鈫� ${path.basename(TARGET)}锛�${doc.split('\r\n').length} 琛岋級`);
diff --git a/docs/sql/_merge_research.js b/docs/sql/_merge_research.js
new file mode 100644
index 0000000..f75fb82
--- /dev/null
+++ b/docs/sql/_merge_research.js
@@ -0,0 +1,235 @@
+// 涓�娆℃�ц剼鏈細鎶婅棰樼鐞嗘ā鍧楋紙yudao-module-research锛夌殑琛ヤ竵骞跺叆 config_export_all_20260928.sql 鐨勯樁娈典竴
+const fs = require('node:fs');
+const path = require('node:path');
+
+const dir = __dirname;
+const TARGET = path.join(dir, 'config_export_all_20260928.sql');
+const BPM = path.join(dir, '_research_bpm_export.sql');
+const MODULE = path.join(dir, 'research_module.sql');
+
+const EOL = '\r\n';
+let doc = fs.readFileSync(TARGET, 'utf8');
+const bpmLines = fs.readFileSync(BPM, 'utf8').split(/\r?\n/);
+const moduleLines = fs.readFileSync(MODULE, 'utf8').split(/\r?\n/);
+
+if (!doc.includes(EOL)) throw new Error('鐩爣鏂囦欢涓嶆槸 CRLF');
+
+/** 鏂█閿氱偣鍞竴 */
+function anchor(text) {
+  const n = doc.split(text).length - 1;
+  if (n !== 1) throw new Error(`閿氱偣鍑虹幇 ${n} 娆★紝鏈熸湜 1 娆★細${text.slice(0, 80)}`);
+}
+/** 鍦ㄩ敋鐐瑰墠鎻掑叆 */
+function insertBefore(text, before) {
+  anchor(text);
+  doc = doc.replace(text, before + EOL + EOL + text);
+}
+/** 鏇挎崲涓�娆� */
+function replaceOnce(from, to) {
+  anchor(from);
+  doc = doc.replace(from, to);
+}
+
+// ---------------------------------------------------------------- 1. 琛ㄦ暟閲�
+replaceOnce(
+  '-- 鑼冨洿锛氬叏搴� BASE TABLE 鍏� 423 寮狅紙0918 鐨� 419 寮� + 2 寮� finance_* + 2 寮� ums_*锛夛紝鍏ㄩ儴杈撳嚭 CREATE TABLE锛�',
+  '-- 鑼冨洿锛氬叏搴� BASE TABLE 鍏� 427 寮狅紙0918 鐨� 419 寮� + 2 寮� finance_* + 2 寮� ums_* + 4 寮� research_*锛夛紝鍏ㄩ儴杈撳嚭 CREATE TABLE锛�',
+);
+
+// ------------------------------------------------- 2. 鍓嶈█琛ヤ竵鐧昏鍧�
+const PREAMBLE = [
+  '-- 琛ヤ竵鍐呭锛�2026-09-28锛岃棰樼鐞嗘ā鍧� yudao-module-research锛夛細',
+  '--   鈶� 琛� 4 寮� research_* 琛ㄧ粨鏋勶紙璇鹃鎸囧崡 / 璇鹃鐢虫姤涔� / 涓撳璇勫鏄庣粏 / 缁忚垂鎷ㄤ粯璁板綍锛屼粎寤虹┖缁撴瀯锛屾棤鏁版嵁锛夛細',
+  '--      research_guideline銆乺esearch_application銆乺esearch_topic_review銆乺esearch_fund_record',
+  '--   鈶� 琛� 5 涓瓧鍏哥被鍨� + 13 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細',
+  '--      research_guideline_category锛堥噸鐐硅棰�/涓�鑸棰橈級',
+  '--      research_guideline_status锛堣崏绋�/宸插彂甯�/宸叉埅姝級',
+  '--      research_application_status锛堣崏绋�/瀹℃壒涓�/宸茬珛椤�/宸查┏鍥烇級',
+  '--      research_review_conclusion锛堟帹鑽愮珛椤�/涓嶆帹鑽愮珛椤癸級',
+  '--      research_fund_status锛堝緟鎷ㄤ粯/宸叉嫧浠橈級',
+  '--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細',
+  '--      id=8002 \'璇鹃绔嬮」瀹℃壒\' / code=\'research_topic_approve\'',
+  '--   鈶� 琛� 1 鏉� BPM 娴佺▼瀹氫箟锛堣棰樼敵鎶ヤ笁绾у鎵癸細绉樹功澶勫舰寮忓鏌モ啋涓撳璇勫鈫掑浼氱珛椤瑰鎵癸級锛�',
+  '--      鍒嗗埆钀� act_re_deployment / act_re_procdef / act_ge_bytearray(3 鏉�) / act_re_model /',
+  '--      bpm_process_definition_info 浜斿紶琛紝娴佺▼ key=\'research_topic_approve\'銆�',
+  '--      bpm_process_definition_info.form_type=20锛堣嚜瀹氫箟琛ㄥ崟锛夛紝',
+  '--      form_custom_create_path=/research/application/index銆�',
+  '--      form_custom_view_path=/research/application/detail/approve/index.vue銆�',
+  '--      鈿� 璇ユ祦绋嬬殑 BPMN 涓烘墜鍐欎笁鑺傜偣锛�**涓嶆槸** bpm_deploy_flow_from_template 鐢熸垚鐨勫崟鑺傜偣娴佺▼銆�',
+  '--   鈶� 琛� 22 鏉¤棰樼鐞嗚彍鍗曪細1075510銆岃棰樼鐞嗐�嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/research锛�',
+  '--      + 1075511銆岃棰樻寚鍗椼��/ 1075512銆岃棰樼敵鎶ャ�嶏紙鑿滃崟锛屾寕 1075510 涓嬶級',
+  '--      + 1075520~1075524锛堟寚鍗楁煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/鍙戝竷鎴锛夈��',
+  '--        1075530~1075535锛堢敵鎶ユ煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/鎻愪氦瀹℃壒/鍙戝竷绔嬮」閫氱煡锛夈��',
+  '--        1075540~1075543锛堜笓瀹惰瘎瀹℃煡璇�/褰曞叆/淇敼/鍒犻櫎锛夈��',
+  '--        1075550~1075553锛堢粡璐规嫧浠樻煡璇�/鐧昏/淇敼/鍒犻櫎锛夈��',
+  '--      **鑿滃崟娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *',
+  '--      FROM \\`mom-jssm\\`.system_menu WHERE deleted=b\'0\'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝',
+  '--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�',
+  '--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��',
+  '',
+].join(EOL);
+insertBefore('-- 鍘嗗彶琛ヤ竵鍐呭锛�2026-09-18锛夛細', PREAMBLE);
+
+// --------------------------------------------- 3. 4 寮� research_* 琛� DDL
+// 浠� research_module.sql 鎶藉彇 CREATE TABLE 娈碉紙绗� 10~30 / 34~70 / 74~96 / 100~116 琛岋紝1-based锛�
+function ddlBlock(fromLine, toLine, tableName) {
+  const body = moduleLines.slice(fromLine - 1, toLine).join(EOL);
+  return [
+    `-- ============ 琛細${tableName}锛堜粎 DDL锛屾棤鏁版嵁锛� ============`,
+    body,
+    '',
+  ].join(EOL);
+}
+const RESEARCH_DDL = [
+  ddlBlock(10, 30, 'research_guideline'),
+  ddlBlock(34, 70, 'research_application'),
+  ddlBlock(74, 96, 'research_topic_review'),
+  ddlBlock(100, 116, 'research_fund_record'),
+].join(EOL);
+insertBefore('-- ============ 琛細yudao_demo01_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============', RESEARCH_DDL);
+
+// --------------------------------------------- 4. BPM 娴佺▼ INSERT锛�7 鏉¤鍙ワ級
+// _research_bpm_export.sql 鐨勭 10~16 琛岋紙1-based锛�
+const bpmInserts = bpmLines.slice(9, 16).filter((l) => l.trim() !== '');
+if (bpmInserts.length !== 7) throw new Error(`BPM INSERT 鏉℃暟 ${bpmInserts.length}锛屾湡鏈� 7`);
+const pick = (prefix) => {
+  const hit = bpmInserts.filter((l) => l.startsWith(prefix));
+  return hit;
+};
+const insProcdef = pick('INSERT INTO `act_re_procdef`');
+const insDeployment = pick('INSERT INTO `act_re_deployment`');
+const insBytearray = pick('INSERT INTO `act_ge_bytearray`');
+const insModel = pick('INSERT INTO `act_re_model`');
+const insProcInfo = pick('INSERT INTO `bpm_process_definition_info`');
+if (insProcdef.length !== 1 || insDeployment.length !== 1 || insBytearray.length !== 3 || insModel.length !== 1 || insProcInfo.length !== 1) {
+  throw new Error('BPM INSERT 鍒嗙被鏁伴噺涓嶇');
+}
+
+// 4.1 act_re_procdef
+replaceOnce(
+  '-- ============ 琛細act_re_deployment锛堝鍑� 21 琛岋級 ============',
+  '-- ============ 琛細act_re_deployment锛堝鍑� 22 琛岋級 ============',
+);
+insertBefore(
+  '-- ============ 琛細act_re_deployment锛堝鍑� 22 琛岋級 ============',
+  [...insProcdef, ''].join(EOL),
+);
+
+// 4.2 act_re_deployment
+replaceOnce(
+  '-- ============ 琛細act_ge_bytearray锛堝鍑� 22 琛岋級 ============',
+  '-- ============ 琛細act_ge_bytearray锛堝鍑� 25 琛岋級 ============',
+);
+insertBefore(
+  '-- ============ 琛細act_ge_bytearray锛堝鍑� 25 琛岋級 ============',
+  [...insDeployment, ''].join(EOL),
+);
+
+// 4.3 act_ge_bytearray锛坆pmn / diagram / source 涓夋潯锛�
+replaceOnce(
+  '-- ============ 琛細act_re_model锛堝鍑� 21 琛岋級 ============',
+  '-- ============ 琛細act_re_model锛堝鍑� 22 琛岋級 ============',
+);
+insertBefore(
+  '-- ============ 琛細act_re_model锛堝鍑� 22 琛岋級 ============',
+  [...insBytearray, ''].join(EOL),
+);
+
+// 4.4 act_re_model
+replaceOnce(
+  '-- ============ 琛細bpm_process_definition_info锛堝鍑� 21 琛岋級 ============',
+  '-- ============ 琛細bpm_process_definition_info锛堝鍑� 22 琛岋級 ============',
+);
+insertBefore(
+  '-- ============ 琛細bpm_process_definition_info锛堝鍑� 22 琛岋級 ============',
+  [...insModel, ''].join(EOL),
+);
+
+// 4.5 bpm_process_definition_info锛堟彃鍦� 鈶� 鍒嗙粍妯箙涔嬪墠锛�
+const BANNER2 = [
+  '-- ***********************************************************************',
+  '-- 鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛夛紙DDL + 鏁版嵁锛�',
+  '-- ***********************************************************************',
+].join(EOL);
+insertBefore(BANNER2, [...insProcInfo, ''].join(EOL));
+
+// 4.6 bpm_category 琛� 1 琛�
+replaceOnce(
+  '-- ============ 琛細bpm_form锛堝鍑� 4 琛岋級 ============',
+  '-- ============ 琛細bpm_form锛堝鍑� 4 琛岋級 ============',
+);
+insertBefore(
+  '-- ============ 琛細bpm_form锛堝鍑� 4 琛岋級 ============',
+  [
+    'INSERT INTO `bpm_category` (`id`, `name`, `code`, `description`, `status`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)',
+    'VALUES (\'8002\', \'璇鹃绔嬮」瀹℃壒\', \'research_topic_approve\', \'璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛塡', \'0\', \'3\', \'1\', \'2026-09-28 20:00:00\', \'1\', \'2026-09-28 20:00:00\', X\'00\');',
+    '',
+  ].join(EOL),
+);
+replaceOnce(
+  '-- ============ 琛細bpm_category锛堝鍑� 24 琛岋級 ============',
+  '-- ============ 琛細bpm_category锛堝鍑� 25 琛岋級 ============',
+);
+
+// --------------------------------------- 5. 瀛楀吀绫诲瀷 5 鏉� + 瀛楀吀鏁版嵁 13 鏉�
+const DICT_TYPES = [
+  ['81000', '璇鹃鎸囧崡绫诲埆', 'research_guideline_category', '0', '閲嶇偣璇鹃/涓�鑸棰樺垎绫绘爣娉�'],
+  ['81001', '璇鹃鎸囧崡鐘舵��', 'research_guideline_status', '0', '璇鹃鎸囧崡鍙戝竷鐘舵�侊細鑽夌/宸插彂甯�/宸叉埅姝�'],
+  ['81002', '璇鹃鐢虫姤鐘舵��', 'research_application_status', '0', '璇鹃鐢虫姤涔﹀鎵圭姸鎬侊細鑽夌/瀹℃壒涓�/宸茬珛椤�/宸查┏鍥�'],
+  ['81003', '涓撳璇勫缁撹', 'research_review_conclusion', '0', '涓撳璇勫鎺ㄨ崘绔嬮」/涓嶆帹鑽愮珛椤�'],
+  ['81004', '缁忚垂鎷ㄤ粯鐘舵��', 'research_fund_status', '0', '璇鹃缁忚垂寰呮嫧浠�/宸叉嫧浠�'],
+];
+const dictTypeRows = DICT_TYPES.map(
+  ([id, name, type, status, remark]) =>
+    `('${id}', '${name}', '${type}', '${status}', '${remark}', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL),`,
+).join(EOL);
+insertBefore(
+  '-- ============ 琛細system_dict_data锛堝鍑� 1192 琛岋級 ============',
+  [
+    'INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`)',
+    'VALUES',
+    dictTypeRows.replace(/,$/, ';'),
+    '',
+  ].join(EOL),
+);
+replaceOnce(
+  '-- ============ 琛細system_dict_type锛堝鍑� 249 琛岋級 ============',
+  '-- ============ 琛細system_dict_type锛堝鍑� 254 琛岋級 ============',
+);
+
+const DICT_DATA = [
+  ['8100001', 1, '閲嶇偣璇鹃', '1', 'research_guideline_category', 'danger'],
+  ['8100002', 2, '涓�鑸棰�', '2', 'research_guideline_category', 'default'],
+  ['8100101', 1, '鑽夌', '0', 'research_guideline_status', 'default'],
+  ['8100102', 2, '宸插彂甯�', '20', 'research_guideline_status', 'success'],
+  ['8100103', 3, '宸叉埅姝�', '30', 'research_guideline_status', 'info'],
+  ['8100201', 1, '鑽夌', '0', 'research_application_status', 'default'],
+  ['8100202', 2, '瀹℃壒涓�', '15', 'research_application_status', 'processing'],
+  ['8100203', 3, '宸茬珛椤�', '20', 'research_application_status', 'success'],
+  ['8100204', 4, '宸查┏鍥�', '35', 'research_application_status', 'danger'],
+  ['8100301', 1, '鎺ㄨ崘绔嬮」', '1', 'research_review_conclusion', 'success'],
+  ['8100302', 2, '涓嶆帹鑽愮珛椤�', '2', 'research_review_conclusion', 'danger'],
+  ['8100401', 1, '寰呮嫧浠�', '0', 'research_fund_status', 'warning'],
+  ['8100402', 2, '宸叉嫧浠�', '20', 'research_fund_status', 'success'],
+];
+const dictDataRows = DICT_DATA.map(
+  ([id, sort, label, value, type, color]) =>
+    `('${id}', '${sort}', '${label}', '${value}', '${type}', '0', '${color}', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),`,
+).join(EOL);
+insertBefore(
+  '-- ============ 琛細system_tenant锛堝鍑� 3 琛岋級 ============',
+  [
+    'INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)',
+    'VALUES',
+    dictDataRows.replace(/,$/, ';'),
+    '',
+  ].join(EOL),
+);
+replaceOnce(
+  '-- ============ 琛細system_dict_data锛堝鍑� 1192 琛岋級 ============',
+  '-- ============ 琛細system_dict_data锛堝鍑� 1205 琛岋級 ============',
+);
+
+// ---------------------------------------------------------------- 鍐欏嚭
+fs.writeFileSync(TARGET, doc, 'utf8');
+console.log('鍚堝苟瀹屾垚');
diff --git a/docs/sql/_patch_0929.js b/docs/sql/_patch_0929.js
new file mode 100644
index 0000000..e644cb4
--- /dev/null
+++ b/docs/sql/_patch_0929.js
@@ -0,0 +1,165 @@
+// 鐢� config_export_all_20260928.sql 鐢熸垚 config_export_all_20260929.sql锛堝閲忚ˉ涓侊級
+// 鐢ㄦ硶锛歯ode _patch_0929.js
+import fs from 'node:fs';
+import path from 'node:path';
+
+const DIR = process.cwd();
+const SRC = path.join(DIR, 'config_export_all_20260928.sql');
+const DST = path.join(DIR, 'config_export_all_20260929.sql');
+const EXPORT = path.join(DIR, '_finance_bpm_export.sql');
+
+const raw = fs.readFileSync(SRC, 'utf8');
+const crlf = raw.includes('\r\n');
+let sql = crlf ? raw.replace(/\r\n/g, '\n') : raw;
+const exp = fs.readFileSync(EXPORT, 'utf8').replace(/\r\n/g, '\n');
+
+function sub(oldStr, newStr, label) {
+  const n = sql.split(oldStr).length - 1;
+  if (n !== 1) throw new Error(`[${label}] 鏈熸湜鍞竴鍖归厤锛屽疄闄� ${n} 娆);
+  sql = sql.replace(oldStr, newStr);
+  console.log(`  OK  ${label}`);
+}
+
+// ---------- 浠庨儴缃插鍑烘枃浠堕噷鍙� INSERT 琛� ----------
+function insertsOf(table) {
+  return exp
+    .split('\n')
+    .filter((l) => l.startsWith(`INSERT INTO \`${table}\``))
+    .map((l) => l.trim());
+}
+const procdefIns = insertsOf('act_re_procdef');
+const deployIns = insertsOf('act_re_deployment');
+const byteIns = insertsOf('act_ge_bytearray');
+const modelIns = insertsOf('act_re_model');
+const infoIns = insertsOf('bpm_process_definition_info');
+if (procdefIns.length !== 1 || deployIns.length !== 1 || byteIns.length !== 3 || modelIns.length !== 1 || infoIns.length !== 1) {
+  throw new Error(`瀵煎嚭鏂囦欢琛屾暟涓嶇锛歱rocdef=${procdefIns.length} deploy=${deployIns.length} byte=${byteIns.length} model=${modelIns.length} info=${infoIns.length}`);
+}
+
+console.log('1) 鏂囦欢澶�');
+sub('-- 鏂囦欢锛歝onfig_export_all_20260928.sql', '-- 鏂囦欢锛歝onfig_export_all_20260929.sql', '鏂囦欢鍚�');
+sub(
+  '-- 鏈涓�**琛ヤ竵鐗�**锛氬熀浜� 0918 鏂囦欢澧為噺淇敼锛屾湭閲嶈窇鍏ㄥ簱瀵煎嚭锛堥伩鍏嶆妸鏃犲叧琛ㄤ竴璧锋悈鍔級銆�',
+  '-- 鏈涓�**琛ヤ竵鐗�**锛�20260929 鍩轰簬 20260928 澧為噺淇敼锛�20260928 鍙堝熀浜� 0918锛夛紝鏈噸璺戝叏搴撳鍑猴紙閬垮厤鎶婃棤鍏宠〃涓�璧锋悈鍔級銆�',
+  '琛ヤ竵璇存槑',
+);
+sub(
+  '--      research_fund_status锛堝緟鎷ㄤ粯/宸叉嫧浠橈級',
+  '--      research_fund_status锛堝緟鎷ㄤ粯/宸叉嫧浠橈紱2026-09-29 鎵╀负 寰呮嫧浠�/鎶ラ攢瀹℃壒涓�/宸叉嫧浠�/宸查┏鍥烇級',
+  '澶撮儴瀛楀吀璇存槑',
+);
+sub(
+  '--      鈿� 璇ユ祦绋嬬殑 BPMN 涓烘墜鍐欎笁鑺傜偣锛�**涓嶆槸** bpm_deploy_flow_from_template 鐢熸垚鐨勫崟鑺傜偣娴佺▼銆�',
+  '--      鈿� 璇ユ祦绋嬬殑 BPMN 涓烘墜鍐欎笁鑺傜偣锛�**涓嶆槸** bpm_deploy_flow_from_template 鐢熸垚鐨勫崟鑺傜偣娴佺▼銆俓n' +
+    '-- 琛ヤ竵鍐呭锛�2026-09-29锛岃棰樼粡璐规嫧浠樺鎺ヨ储鍔℃姤閿�锛夛細\n' +
+    '--   鈶� research_fund_record 澧� 4 鍒楋紙reimbursement_id / reimbursement_no / reject_reason / reject_time锛塡n' +
+    '--      + status 鍒楁敞閲婃敼涓恒��0-寰呮嫧浠� 15-鎶ラ攢瀹℃壒涓� 20-宸叉嫧浠� 30-宸查┏鍥炪��+ idx_reimbursement_id 绱㈠紩銆俓n' +
+    '--      **鏃犳柊澧炶〃**锛氬叏搴撲粛 427 寮狅紙finance_reimbursement 琛ㄥ凡鍦� 0928 鐗堝缓绔嬶級銆俓n' +
+    '--   鈶� research_fund_status 瀛楀吀鐢� 2 鏉℃墿涓� 4 鏉★紙寰呮嫧浠� 0 / 鎶ラ攢瀹℃壒涓� 15 / 宸叉嫧浠� 20 / 宸查┏鍥� 30锛夛紝\n' +
+    '--      system_dict_type.remark 鍚屾鏀逛负銆岃棰樼粡璐瑰緟鎷ㄤ粯/鎶ラ攢瀹℃壒涓�/宸叉嫧浠�/宸查┏鍥炪�嶃�俓n' +
+    '--   鈶� 琛� 1 鏉� BPM 娴佺▼瀹氫箟锛堣储鍔℃姤閿�涓ょ骇瀹℃壒锛氳储鍔″鏍� 鈫� 璐㈠姟涓荤瀹℃壒锛夛紝娴佺▼ key=\'finance_reimbursement_approve\'锛孿n' +
+    '--      鍒嗗埆钀� act_re_procdef / act_re_deployment / act_ge_bytearray(3 鏉�) / act_re_model /\n' +
+    '--      bpm_process_definition_info 浜斿紶琛紙bpm_process_definition_info.id=42锛夈�俓n' +
+    '--      form_type=20锛堣嚜瀹氫箟琛ㄥ崟锛夛紝form_custom_create_path=/finance/reimbursement/index銆乗n' +
+    '--      form_custom_view_path=/finance/reimbursement/detail/approve/index.vue銆俓n' +
+    '--      bpm_category(id=216, code=\'finance_reimbursement_approve\') 宸插瓨鍦紝鏃犻渶鏂板銆俓n' +
+    '--      鈿� 璇ユ祦绋嬬殑 BPMN 涓烘墜鍐欎袱鑺傜偣锛�**涓嶆槸** bpm_deploy_flow_from_template 鐢熸垚鐨勫崟鑺傜偣娴佺▼銆俓n' +
+    '--   鈶� **闃舵浜屼笉鍔�**锛氭湰娆℃棤鑿滃崟/瑙掕壊/鐢ㄦ埛鍙樻洿銆�',
+  '鏂板琛ヤ竵娈�',
+);
+sub(
+  '--       鈿� 鏈� 0928 鐗堜负鍦ㄥ叾涔嬩笂鐨勮ˉ涓侊紝**灏氭湭鍦ㄧ┖搴撴暣浠借窇杩�**锛涗笂绾�/鍒濆鍖栧墠璇峰厛鍦ㄥ彲瑕嗙洊绌哄簱楠岃瘉銆�',
+  '--       鈿� 鏈� 0929 鐗堜负鍦ㄥ叾涔嬩笂鐨勮ˉ涓侊紝**灏氭湭鍦ㄧ┖搴撴暣浠借窇杩�**锛涗笂绾�/鍒濆鍖栧墠璇峰厛鍦ㄥ彲瑕嗙洊绌哄簱楠岃瘉銆�',
+  '楠岃瘉璇存槑',
+);
+
+console.log('2) research_fund_record 琛ㄧ粨鏋�');
+sub(
+  "  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呮嫧浠� 20-宸叉嫧浠�',\n" +
+    "  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',\n" +
+    "  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',\n" +
+    '  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'鍒涘缓鏃堕棿\',\n' +
+    "  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',\n" +
+    '  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'鏇存柊鏃堕棿\',\n' +
+    "  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',\n" +
+    '  PRIMARY KEY (`id`) USING BTREE,\n' +
+    '  KEY `idx_application_id` (`application_id`) USING BTREE\n' +
+    ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-缁忚垂鎷ㄤ粯璁板綍';",
+  "  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呮嫧浠� 15-鎶ラ攢瀹℃壒涓� 20-宸叉嫧浠� 30-宸查┏鍥�',\n" +
+    "  `reimbursement_id` bigint DEFAULT NULL COMMENT '鍏宠仈璐㈠姟鎶ラ攢鍗� ID锛坒inance_reimbursement.id锛�',\n" +
+    "  `reimbursement_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍏宠仈璐㈠姟鎶ラ攢鍗曞彿',\n" +
+    "  `reject_reason` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎶ラ攢椹冲洖鍘熷洜锛圔PM 鍥炲啓锛�',\n" +
+    "  `reject_time` datetime DEFAULT NULL COMMENT '鎶ラ攢椹冲洖鏃堕棿',\n" +
+    "  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',\n" +
+    "  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',\n" +
+    '  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'鍒涘缓鏃堕棿\',\n' +
+    "  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',\n" +
+    '  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'鏇存柊鏃堕棿\',\n' +
+    "  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',\n" +
+    '  PRIMARY KEY (`id`) USING BTREE,\n' +
+    '  KEY `idx_application_id` (`application_id`) USING BTREE,\n' +
+    '  KEY `idx_reimbursement_id` (`reimbursement_id`) USING BTREE\n' +
+    ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-缁忚垂鎷ㄤ粯璁板綍';",
+  'DDL 4 鍒� + 娉ㄩ噴 + 绱㈠紩',
+);
+
+console.log('3) 瀛楀吀');
+sub(
+  "('81004', '缁忚垂鎷ㄤ粯鐘舵��', 'research_fund_status', '0', '璇鹃缁忚垂寰呮嫧浠�/宸叉嫧浠�', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL);",
+  "('81004', '缁忚垂鎷ㄤ粯鐘舵��', 'research_fund_status', '0', '璇鹃缁忚垂寰呮嫧浠�/鎶ラ攢瀹℃壒涓�/宸叉嫧浠�/宸查┏鍥�', '1', '2026-09-29 10:00:00', '1', '2026-09-29 10:00:00', X'00', NULL);",
+  'dict_type remark',
+);
+const ts = '2026-09-29 10:00:00';
+sub(
+  `('8100401', '1', '寰呮嫧浠�', '0', 'research_fund_status', '0', 'warning', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),\n` +
+    `('8100402', '2', '宸叉嫧浠�', '20', 'research_fund_status', '0', 'success', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00');`,
+  `('8100401', '1', '寰呮嫧浠�', '0', 'research_fund_status', '0', 'warning', '', '', '1', '${ts}', '1', '${ts}', X'00'),\n` +
+    `('8100403', '2', '鎶ラ攢瀹℃壒涓�', '15', 'research_fund_status', '0', 'processing', '', '', '1', '${ts}', '1', '${ts}', X'00'),\n` +
+    `('8100402', '3', '宸叉嫧浠�', '20', 'research_fund_status', '0', 'success', '', '', '1', '${ts}', '1', '${ts}', X'00'),\n` +
+    `('8100404', '4', '宸查┏鍥�', '30', 'research_fund_status', '0', 'danger', '', '', '1', '${ts}', '1', '${ts}', X'00');`,
+  'dict_data 4 鏉�',
+);
+
+console.log('4) BPM 浜斿紶琛�');
+function appendBefore(marker, lines, label) {
+  const i = sql.indexOf(marker);
+  if (i < 0) throw new Error(`[${label}] 鏈壘鍒伴敋鐐筦);
+  sql = sql.slice(0, i) + lines.join('\n') + '\n\n' + sql.slice(i);
+  console.log(`  OK  ${label}`);
+}
+appendBefore(
+  '-- ============ 琛細act_re_deployment锛堝鍑� 22 琛岋級 ============',
+  procdefIns,
+  'act_re_procdef',
+);
+appendBefore(
+  '-- ============ 琛細act_ge_bytearray锛堝鍑� 25 琛岋級 ============',
+  deployIns,
+  'act_re_deployment',
+);
+appendBefore('-- ============ 琛細act_re_model锛堝鍑� 22 琛岋級 ============', byteIns, 'act_ge_bytearray');
+appendBefore(
+  '-- ============ 琛細bpm_process_definition_info锛堝鍑� 22 琛岋級 ============',
+  modelIns,
+  'act_re_model',
+);
+appendBefore(
+  '-- ***********************************************************************\n-- 鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛�',
+  infoIns,
+  'bpm_process_definition_info',
+);
+
+console.log('5) 琛ㄥご琛屾暟');
+sub('琛細act_re_procdef锛堝鍑� 22 琛岋級', '琛細act_re_procdef锛堝鍑� 23 琛岋級', 'procdef 琛屾暟');
+sub('琛細act_re_deployment锛堝鍑� 22 琛岋級', '琛細act_re_deployment锛堝鍑� 23 琛岋級', 'deployment 琛屾暟');
+sub('琛細act_ge_bytearray锛堝鍑� 25 琛岋級', '琛細act_ge_bytearray锛堝鍑� 28 琛岋級', 'bytearray 琛屾暟');
+sub('琛細act_re_model锛堝鍑� 22 琛岋級', '琛細act_re_model锛堝鍑� 23 琛岋級', 'model 琛屾暟');
+sub(
+  '琛細bpm_process_definition_info锛堝鍑� 22 琛岋級',
+  '琛細bpm_process_definition_info锛堝鍑� 23 琛岋級',
+  'procinfo 琛屾暟',
+);
+
+const out = crlf ? sql.replace(/\n/g, '\r\n') : sql;
+fs.writeFileSync(DST, out, 'utf8');
+console.log(`\n宸插啓鍑� ${DST}锛�${sql.split('\n').length} 琛岋紝EOL=${crlf ? 'CRLF' : 'LF'}锛塦);
diff --git a/docs/sql/_research_bpm_export.sql b/docs/sql/_research_bpm_export.sql
new file mode 100644
index 0000000..c4d70af
--- /dev/null
+++ b/docs/sql/_research_bpm_export.sql
@@ -0,0 +1,16 @@
+-- ===== 璇鹃绔嬮」瀹℃壒锛坮esearch_topic_approve锛塀PM 娴佺▼瀹氫箟锛�3 涓『搴忚妭鐐癸細绉樹功澶勫舰寮忓鏌� 鈫� 涓撳璇勫 鈫� 瀛︿細绔嬮」瀹℃壒锛� =====
+-- 鐢熸垚鏉ユ簮锛歮om-jssm 搴擄紝缁� BPM 妯″瀷璁捐鍣ㄩ儴缃诧紙POST /bpm/model/create + /bpm/model/deploy锛�
+-- 鍒嗙被 bpm_category(id=8002, code=research_topic_approve) 瑙� research_module.sql
+-- 鍒犻櫎椤哄簭锛堝瓨鍦ㄥ閿級锛歛ct_re_model 鈫� act_ge_bytearray 鈫� act_re_procdef 鈫� act_re_deployment
+DELETE FROM `act_re_model` WHERE `KEY_` = 'research_topic_approve';
+DELETE FROM `act_ge_bytearray` WHERE `ID_` IN ('558289c7-bb1d-11f1-81f2-00155dd68500','575d6449-bb1d-11f1-81f2-00155dd68500','5790a94a-bb1d-11f1-81f2-00155dd68500');
+DELETE FROM `act_re_procdef` WHERE `KEY_` = 'research_topic_approve';
+DELETE FROM `act_re_deployment` WHERE `ID_` = '575d6448-bb1d-11f1-81f2-00155dd68500';
+DELETE FROM `bpm_process_definition_info` WHERE `category` = 'research_topic_approve';
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('575d6448-bb1d-11f1-81f2-00155dd68500', '璇鹃绔嬮」瀹℃壒', 'research_topic_approve', 'research_topic_approve', '', '2026-09-28 17:16:51.938', NULL, NULL, NULL, NULL);
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES ('research_topic_approve:1:57953d2b-bb1d-11f1-81f2-00155dd68500', '2', 'research_topic_approve', '璇鹃绔嬮」瀹℃壒', 'research_topic_approve', '1', '575d6448-bb1d-11f1-81f2-00155dd68500', 'research_topic_approve.bpmn', 'research_topic_approve.research_topic_approve.png', NULL, '0', '1', '1', '', NULL, NULL, NULL, '0');
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('575d6449-bb1d-11f1-81f2-00155dd68500', '1', 'research_topic_approve.bpmn', '575d6448-bb1d-11f1-81f2-00155dd68500', X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D2272657365617263685F746F7069635F617070726F766522206E616D653D22E8AFBEE9A298E7AB8BE9A1B9E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F73656372657461726961745F72657669657722206E616D653D22E7A798E4B9A6E5A484E5BDA2E5BC8FE5AEA1E69FA5223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F6578706572745F72657669657722206E616D653D22E4B893E5AEB6E8AF84E5AEA1223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F636F756E63696C5F617070726F766522206E616D653D22E5ADA6E4BC9AE7AB8BE9A1B9E5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F73656372657461726961745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F73656372657461726961745F72657669657722207461726765745265663D2241637469766974795F6578706572745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F6578706572745F72657669657722207461726765745265663D2241637469766974795F636F756E63696C5F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D352220736F757263655265663D2241637469766974795F636F756E63696C5F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F72657365617263685F746F7069635F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D2272657365617263685F746F7069635F617070726F7665222069643D2242504D4E506C616E655F72657365617263685F746F7069635F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F73656372657461726961745F726576696577222069643D2242504D4E53686170655F41637469766974795F73656372657461726961745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F6578706572745F726576696577222069643D2242504D4E53686170655F41637469766974795F6578706572745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F636F756E63696C5F617070726F7665222069643D2242504D4E53686170655F41637469766974795F636F756E63696C5F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223533302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223638302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D35222069643D2242504D4E456467655F73657175656E6365466C6F772D35223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223638302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', '0');
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('5790a94a-bb1d-11f1-81f2-00155dd68500', '1', 'research_topic_approve.research_topic_approve.png', '575d6448-bb1d-11f1-81f2-00155dd68500', X'89504E470D0A1A0A0000000D49484452000002D0000000460806000000E5F7A3EB00000F0B49444154785EED9DDF6F1CD515C78720553CF01F543C41FF8F228178F0036AA5F53A1B0558EF5AB1218E9008204544B56B5E6A5521522BAAF605252A95554B019BE0242436C1049B0684D462A70921C64013B3D826218E7062273BBDC7F24897B3637BF6C799BDF7F8FB913E32B977E6CE64EFD7277787D9D92000751186E12F666666FE393939B9323A3A1A9E3E7D1AA6AC79DDCBE3E3E3D7C6C6C69EE4F3E32BC855F345AEA084C815945063AE80724CD11834A10D4BA552B8BCBC1CDEB97307A62CBDEEF4FA9F3D7BF64753485AF81CF90872D57C912B2821720525D4982BA01C7AC74DA1E56186E93B3737B7600AC7793E473E825CB92372052544AEA0849A72059443FFBB0AEFB8DD90E6C1148EDB7C8E7C04B97247E40A4A885C410935E50A2887EE3DE20186CD93E683CF918F20576E895C4109912B28A1965C01E5242D1CB76ECC85339FBC114E9FF9FD9AF4DFD4C6B783F5A9A57020576E895C2157122257C895845A72059493A4702C5DBF1A4E9D3A18FEFBDD177F26B5511FDF1ED6AE96C2815CB92572855C49885C2157126AC915504E92C2F1EDF47045D188FCDFF43B15DBC3DAD55238902BB744AE902B09912BE44A422DB902CA495238FEFBFE1F2A0A4624F5F1ED61ED6A291CC8955B2257C89584C8157225A1965C01E524291C53A77B2A0A4624F5F1ED61ED6A291CC8955B2257C89584C8157225A1965C01E5A070B8A596C2815CB92572855C49885C2157126AC915504E92C2419F36E6052392FAF8F6B076B5140EE4CA2D912BE44A42E40AB992504BAE807292148ECB1FFDB9A26044521FDF1ED6AE96C2815CB92572855C49885C2157126AC915504E92C2B178F53FE1D47BBFAB281AD4467D7C7B58BB5A0A0772E596C81572252172855C49A825574039490A07F9D5A7472B0A07B5F1ED607D6A291CC8955B2257C89584C8157225A1965C252593C93C92CD665F340EB7B5B59D377E6B0CD77F9EA776EAA7EDF8BEE28461B8637272F2B7478F1E7DAFB7B777E1E5975F5EEEEAEA2AD309767676AEEEDFBFFFA669FBB2AFAFEF8FF97CFE21BEBF6612158EDBB7C3CB137FA9281CD4467D15DBC39AD55238902BB744AE902B09912BE44A422DB9DA0CB318BEDFAC410B3B77EE9C5E5F2C27727DFB02EDCFC76C2866E1FCC0C99327FF76F0E0C19562B118BEFEFAEBE1C71F7F1C5EB972255C5C5C0C09FA497FA676EA2F140AF7BABBBB673A3A3A9EE0E36964ABC241DFB0F4C5477FAA281A91D4876F616A9C5A0A0772E596C81572252172855C49A825571B6116C02D66217C812F8EAB717D21DDC2C76E086641FC5C5F5FDFF2F3CF3F1F4E4E4E86F7EEDD5B5B306F056D47DBEFDBB76FF5D9679FFD2C9BCD3ECCC7D6C48685C3BCA39EBB3C167E7EF24045B1E0D236B42DDE85D7AF96C2815CB92572855C49885C2157126AC915A7A7A7678759F8F6F3C5F033CF3C131E3E7C381C1F1F8FBDC04BEDD44FDBF17D693C1A971FAB26CC31EF3B75EAD49B7BF6EC09474646C2BB77EFFE7C859C10DA8FF637277CCB9CE0E3FC385A882B1C5BBDDBDE48BC0BAF5F2D8503B9724BE4AA52E4AA7E91AB4A91ABFAD5922B9B4C26F360369B7DD75EFC160A85706868285C5959E14BD058683BDA9EF6B3C7A171697C7ECCAA30E3DF77ECD8B17F75757585172F5EE4C7AE091AA7582CFE94CBE50AFC781A882B1C49DE6D6F24EDCBC783C9D55238902BB744AEE245AEEA13B98A17B9AA4F2DB98AA02BC466A17BDC5EF41E3A74285C5A5AE24BCE44D07EB43FBB1A7DBCAE2BD174E5B9B3B3332C954AFC787541E3E5F3F9A5D6D6D6C7F8317D27AE70F06250AD7C3C985C2D8503B9724BE46A63F97830B9C8D5C6F2F16072B5E42AC2BE6DC3FC773838381896CB65BED4AC0ADA9FC6A1F1ACB1FBF9B113313131F11C2D9E1B75E59963C62D3FF5D453D79BF2181141E20A076C9E5A0A0772E596C8159410B982126AC9156116B62DF695625AF436121A8F5D89AEEE8385668C075E7DF5D565BA675992A1A1A1EBB95CEE243FBECFA070B8A596C2815CB92572052544AEA0845A72458F9AB39FB641B75DD47BE59943E3D9B773D0D339AA7AC4DD891327FE4A4FDBA8F5038349A1F18BC5E27C6B6BEBA3FC1C7C0585C32DB5140EE4CA2D912B2821720525D4922BB3A02D440B5BFAE05FADF73C6F058DCB3E5898EC337B66DF1DAFBCF2CA0A3D7A2E0DCE9D3B77C39CDC87FC3C7C0585C32DB5140EE4CA2D912B2821720525D4922BFB4B52868787F972B2A1D0F8F655687E2EB14C4C4CFCA6A3A323F1739EEB858EB36BD7AE1B994CE697FC5C5CC2BC88EF1B7FCDDB39281C6EE97AE140AEFC14B98212225750420DB9CAE572BF8A16B4F4FC66FA7B4942E3DBCF89A6E3F373AAE0C89123A7E91B04D3A4B7B7772A9BCD76F1737189E845DC6AA25138DCD283C2815C792872052544AEA0841A7265DAF747DBBDF6DA6B7C1929021DC73AB7FDFC9C2AE8EBEB9B4FEBF68D883367CED065F963FC5C5CC27A11379D68140EB7F4A87020571E895C4109912B28A1865C993F0F45FDF44D826940C7B1CE69C83E9F585E7AE9A5E59999193E8E28972E5D9A3527F7093F17978899E0D88946E1704B0F0B0772E581C8159410B982126AC895F9F949D49ED61A958E639DCBD66BD4CECECEF20F3FFCC0C71165717171C99CDC557E2E2E1133B1DCB58946E1704B8F0B0772E5B0C8159410B982122AC9D542F4E7B4D6A8741CEB1CB65EA3EEDEBD3B5C5D5DE5E388628E7733E605F352140EB7E4F3E3ABC8955BF2F9F155E4CA2DF9FCF82A72E5967C7E7C37AD352A1DC73AEE6DBE5EAE60CF9E3DAB69ADEE23E6E7E7BF6C4BB2BA6F227C022DDF6FC3FFBA72568FDF7923570E8B5C4109912B28A1865C999F57A3F6B4D6A8555F817EE185176EA6757F49C4850B173E6D4B727F4913D96C626D5C2F1CE614636D54BF6B7A58389A92AB20664E492DFD8D16B9923188994332ADFE668B5CD5661033A7A42FFDD26AC8559B0FF7401F3870E08BB49FC2F1D65B6F0DB7F9F3148E8A89B549BB70546B10F34B6BB7D5DBEF9A1E158EA6E62A889943BBCDF7FE468B5CC918C4CC99DD26DDDF6C91ABDA0C62E6D06E73BD5F5A0DB96AF3E1291CBDBDBD7F4CFB39D07BF7EE1DF1E039D01B4EAC4DDA85A35A83985F5ABBADDE7ED7F4A0703891AB20660EED36DFFB1B2D722563103367769B747FB345AE6A33889943BBCDF57E6935E4AACD87E740E7F3F9878AC5E2BD14BF89F03B7362F3AE7F136152D22E1CD51AC4FCD2DA6DF5F6BBA6EB852329D2B90A62E6D06EF3BDBFD122573206317366B749F7375BE4AA36839839B4DB5CEF975643AE9AF14D844F3FFD74393A66A26F2224BABBBBBF4AEB368E818181BF9B93FB909F83AFA45D38AA3588F9A5B5DBEAED774D0D858390CE55103387769BEFFD8D16B99231889933BB4DBABFD92257B519C4CCA1DDE67ABFB45A72B573E74EFAD2BDB505EDF0F0305F4E36141A3F3A161D979FCB867474743CB16FDFBED5BB77EFF2311B8A19FF5B7372975B5B5B1FE5E7E02B69178E6A0D627E69EDB67AFB5D534BE190CE55103387769BEFFD8D16B99231889933BB4DBABFD92257B519C4CCA1DDE67ABFB45A7265D68B8568515B2814C2A5A525BEAC6C08346E7B7BFBBDE858745C7E2E9BB277EFDECF464646CA7CE00652EEEFEF7FC39CD8083FB6CFA45D38AA3588F9A5B5DBEAED774D2D85433A5741CC1CDA6DBEF7375AE44AC62066CEEC36E9FE668B5CD566103387769BEBFDD26AC9552693B9DFBE0A7DE8D0A1B05C6EEC3295C6A371EDABCF745C7E2E9B627678249FCF2F5DBC78918FDF103EF8E08323E6E4E6E838FCD83E9376E1A856738AB136AADF35B5140EE95C0531734A6AE96FB4C8958C41CC1C9269F5375BE4AA36839839257DE997564BAE08B36E6CB1AE0C878383837C795917349E3D3E1D8F9F4322CCCAFBF1F6F6F69F4AA5123F465DCCCECEBE634EEA5A6B6BEB63FC98BE9376E1809BABA57020576E895C4109912B28A1965C4598B569BF7585786DD15BEF9568DA9FC6A1F1ACB1FBF9B1AB2297CB15F2F9FCCD465D895EBFF24CDF28D3CE8FA501140EB7D45238902BB744AEA084C81594504BAE227A7A7A769835E471FB4A31DD7651EB3DD1B49F7DDBC6BAC7E938FCD85543578A77EFDE7D7D6868E87AAD1F2CA40F0CAEDFF3FC9DC62BCF11281C6EA9A57020576E895C4109912B28A1965CD964329907B3D9ECBBF6A2973E5868D6A9E1CACA0A5F82C642DBD1F6EC0383218D4BE3F363D68C19F0E15C2E77AA582CCE9F3B77EE46D2E7449BED4A0303036F9A93BA6C3C41E3F0B13581C2E1965A0A0772E596C8159410B982126AC91587AE10DBB77344D273A20F1F3EBCF64D8257AE5C09171717D7D6A3F493FE4CEDD46F3FE73992C66BC895E738E89173E620E3BB76EDFAD11CE4F3D1D1D1A94B972E7DB3B0B070CB9CDFD2F7DF7F3F333D3DFDE9DB6FBF3DD4DDDD7DC26CBB40DB6B7A54DD66A070B8A596C2E153AE6EDDBA154E4D4D552DEDC7C77255E42A7D912B7F40AEDC524BAE36C2AC315BECA773D4E2FAFEB57D60B05AE89B03CDC13AB3D9ECB0F979DE48CF74A613A19FE7D7DB3BB57CC360527C2A1CDB412D85C3A75CD13F2E41CC27CEB792F6E363B92A7295BEC8953F20576EA925579B418F9A336BCE42B50BE9F5ED0B553FAA0E341E9F0AC776504BE1F02957B8A2E30FC8955B2257E98B5CE9831E8F9CCD665FDCEC022FF56B7B8CB2F7F85438B6835A0A0772E596C8159410B982126AC915500E0A875B6A291CC8955B22575042E40A4AA825574039281C6EA9A57020576E895C4109912B28A1965C01E5A070B8A596C2E153AE704FA13F20576E895CA52F72058023F85438B6835A0A874FB9A27F5C82984FAD6F25EDC7C77255E42A7D912B7F40AEDC524BAE80727C2A1CDB412D85C3A75CE18A8E3F20576E895CA52F72058023F85438B6835A0A0772E596C8159410B982126AC915500E0A875B6A291CC8955B22575042E40A4AA825574039281C6EA9A57020576E895C4109912B28A1965C01E5A070B8A596C2E153AE704FA13F20576E895CA52F720580238C8E8E969797972B020CD3D7CCC33553386EF339F2119F7245FFB804319F5ADF4ADA8F8FE5A2C8557344AEFC01B972474DB902CA191F1FBF562A952A420CD3F7EBAFBF1E3085E33C9F231FF12957DAAFE82057CD11B9F207E4CA1D35E50A28676C6CECC9B367CFFE383737B7E0CB3B706D9AD77D6E7676F61FA6687C636CE173E423C855F345AEA084C815945063AEC03680C24AEFF88C778C6BF71FC154A5D79D5E7F554583FE3EEB7F2FE4AA3922575042E40A4AA8325700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036E1FF32BDF83D641CD66B0000000049454E44AE426082', '1');
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('558289c7-bb1d-11f1-81f2-00155dd68500', '1', 'source', NULL, X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D2272657365617263685F746F7069635F617070726F766522206E616D653D22E8AFBEE9A298E7AB8BE9A1B9E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F73656372657461726961745F72657669657722206E616D653D22E7A798E4B9A6E5A484E5BDA2E5BC8FE5AEA1E69FA5223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F6578706572745F72657669657722206E616D653D22E4B893E5AEB6E8AF84E5AEA1223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F636F756E63696C5F617070726F766522206E616D653D22E5ADA6E4BC9AE7AB8BE9A1B9E5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F73656372657461726961745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F73656372657461726961745F72657669657722207461726765745265663D2241637469766974795F6578706572745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F6578706572745F72657669657722207461726765745265663D2241637469766974795F636F756E63696C5F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D352220736F757263655265663D2241637469766974795F636F756E63696C5F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F72657365617263685F746F7069635F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D2272657365617263685F746F7069635F617070726F7665222069643D2242504D4E506C616E655F72657365617263685F746F7069635F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F73656372657461726961745F726576696577222069643D2242504D4E53686170655F41637469766974795F73656372657461726961745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F6578706572745F726576696577222069643D2242504D4E53686170655F41637469766974795F6578706572745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F636F756E63696C5F617070726F7665222069643D2242504D4E53686170655F41637469766974795F636F756E63696C5F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223533302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223638302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D35222069643D2242504D4E456467655F73657175656E6365466C6F772D35223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223638302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', NULL);
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('557c2126-bb1d-11f1-81f2-00155dd68500','3','璇鹃绔嬮」瀹℃壒','research_topic_approve','research_topic_approve','2026-09-28 17:16:48.781','2026-09-28 17:16:52.482','1','{"allowCancelRunningProcess":null,"allowWithdrawTask":null,"autoApprovalType":null,"description":"璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛�","formCustomCreatePath":"/research/application/index","formCustomViewPath":"/research/application/detail/approve/index.vue","formId":null,"formType":20,"icon":null,"managerUserIds":[1],"printTemplateSetting":null,"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":null,"sort":1790587008761,"startDeptIds":null,"startUserIds":null,"summarySetting":null,"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":null,"type":10,"visible":true}','575d6448-bb1d-11f1-81f2-00155dd68500','558289c7-bb1d-11f1-81f2-00155dd68500',NULL,'');
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('41', 'research_topic_approve:1:57953d2b-bb1d-11f1-81f2-00155dd68500', '557c2126-bb1d-11f1-81f2-00155dd68500', '10', 'research_topic_approve', NULL, '璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛�', '20', NULL, NULL, NULL, '/research/application/index', '/research/application/detail/approve/index.vue', NULL, X'01', '1790587008761', '', NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-28 17:16:52', '1', '2026-09-28 17:16:52', X'00');
diff --git a/docs/sql/_ums_membership_approve.bpmn b/docs/sql/_ums_membership_approve.bpmn
new file mode 100644
index 0000000..0bdee4e
--- /dev/null
+++ b/docs/sql/_ums_membership_approve.bpmn
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
+  <process id="ums_membership_approve" name="鍏ヤ細瀹℃壒" isExecutable="true">
+    <startEvent id="StartEvent" name="寮�濮�"></startEvent>
+    <userTask id="StartUserNode" name="鍙戣捣浜�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[36]]></flowable:candidateStrategy>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎻愪氦" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="false" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="false" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="false" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="false" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="false" id="6"></flowable:buttonsSetting>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[2]]></flowable:assignStartUserHandlerType>
+      </extensionElements>
+    </userTask>
+    <userTask id="Activity_secretariat_audit" name="绉樹功澶勫垵瀹�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <userTask id="Activity_council_review" name="鐞嗕簨浼氬璁�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <endEvent id="EndEvent" name="缁撴潫"></endEvent>
+    <sequenceFlow id="sequenceFlow-1" sourceRef="StartEvent" targetRef="StartUserNode"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-2" sourceRef="StartUserNode" targetRef="Activity_secretariat_audit"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-3" sourceRef="Activity_secretariat_audit" targetRef="Activity_council_review"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-4" sourceRef="Activity_council_review" targetRef="EndEvent"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_ums_membership_approve">
+    <bpmndi:BPMNPlane bpmnElement="ums_membership_approve" id="BPMNPlane_ums_membership_approve">
+      <bpmndi:BPMNShape bpmnElement="StartEvent" id="BPMNShape_StartEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="0.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="StartUserNode" id="BPMNShape_StartUserNode">
+        <omgdc:Bounds height="60.0" width="100.0" x="80.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_secretariat_audit" id="BPMNShape_Activity_secretariat_audit">
+        <omgdc:Bounds height="60.0" width="100.0" x="230.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_council_review" id="BPMNShape_Activity_council_review">
+        <omgdc:Bounds height="60.0" width="100.0" x="380.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="EndEvent" id="BPMNShape_EndEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="530.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-1" id="BPMNEdge_sequenceFlow-1">
+        <omgdi:waypoint x="30.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="80.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-2" id="BPMNEdge_sequenceFlow-2">
+        <omgdi:waypoint x="180.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="230.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-3" id="BPMNEdge_sequenceFlow-3">
+        <omgdi:waypoint x="330.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="380.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-4" id="BPMNEdge_sequenceFlow-4">
+        <omgdi:waypoint x="480.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="530.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
diff --git a/docs/sql/archive_borrow_approve.bpmn b/docs/sql/archive_borrow_approve.bpmn
new file mode 100644
index 0000000..dc1cf68
--- /dev/null
+++ b/docs/sql/archive_borrow_approve.bpmn
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
+  <process id="archive_borrow_approve" name="妗f鍊熼槄瀹℃壒" isExecutable="true">
+    <startEvent id="StartEvent" name="寮�濮�"></startEvent>
+    <userTask id="StartUserNode" name="鍙戣捣浜�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[36]]></flowable:candidateStrategy>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎻愪氦" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="false" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="false" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="false" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="false" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="false" id="6"></flowable:buttonsSetting>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[2]]></flowable:assignStartUserHandlerType>
+      </extensionElements>
+    </userTask>
+    <userTask id="Activity_archive_admin_review" name="妗f绠$悊鍛樺鏍�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <userTask id="Activity_leader_approve" name="鍒嗙棰嗗瀹℃壒">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <endEvent id="EndEvent" name="缁撴潫"></endEvent>
+    <sequenceFlow id="sequenceFlow-1" sourceRef="StartEvent" targetRef="StartUserNode"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-2" sourceRef="StartUserNode" targetRef="Activity_archive_admin_review"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-3" sourceRef="Activity_archive_admin_review" targetRef="Activity_leader_approve"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-4" sourceRef="Activity_leader_approve" targetRef="EndEvent"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_archive_borrow_approve">
+    <bpmndi:BPMNPlane bpmnElement="archive_borrow_approve" id="BPMNPlane_archive_borrow_approve">
+      <bpmndi:BPMNShape bpmnElement="StartEvent" id="BPMNShape_StartEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="0.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="StartUserNode" id="BPMNShape_StartUserNode">
+        <omgdc:Bounds height="60.0" width="100.0" x="80.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_archive_admin_review" id="BPMNShape_Activity_archive_admin_review">
+        <omgdc:Bounds height="60.0" width="100.0" x="230.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_leader_approve" id="BPMNShape_Activity_leader_approve">
+        <omgdc:Bounds height="60.0" width="100.0" x="380.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="EndEvent" id="BPMNShape_EndEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="530.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-1" id="BPMNEdge_sequenceFlow-1">
+        <omgdi:waypoint x="30.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="80.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-2" id="BPMNEdge_sequenceFlow-2">
+        <omgdi:waypoint x="180.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="230.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-3" id="BPMNEdge_sequenceFlow-3">
+        <omgdi:waypoint x="330.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="380.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-4" id="BPMNEdge_sequenceFlow-4">
+        <omgdi:waypoint x="480.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="530.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
diff --git a/docs/sql/archive_module.sql b/docs/sql/archive_module.sql
new file mode 100644
index 0000000..f091a20
--- /dev/null
+++ b/docs/sql/archive_module.sql
@@ -0,0 +1,273 @@
+-- =========================================
+-- 妗f绠$悊妯″潡锛坹udao-module-archive锛変竴鏈�
+-- 寤鸿〃 + 瀛楀吀鏁版嵁 + BPM 鍒嗙被 + 鑿滃崟 + 涓夋柟褰掓。鎸夐挳鏉冮檺
+-- 瑕嗙洊闇�姹傦細1.涔︽灦(鍒嗙被绠$悊) 2.鏂囨。绠$悊 3.鍊熼槄鐧昏 4.褰掕繕鐧昏 5.妗f缁熻 + 璇鹃/浼氬憳/璐㈠姟褰掓。鑱斿姩
+-- 浜屾湡锛堟。妗堥攢姣併�侀�炬湡缃氭锛変笉鍦ㄦ鑴氭湰鍐�
+-- =========================================
+
+-- ----- 1. 妗f鍒嗙被琛紙涔︽灦/鍒嗙被鏍戯紝鍒嗗眰锛� -----
+DROP TABLE IF EXISTS `archive_category`;
+CREATE TABLE `archive_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖跺垎绫� ID锛�0=椤剁骇',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚嶇О',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被缂栫爜锛屽敮涓�锛坢ember/research/meeting/finance/document/party锛�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鏄剧ず鎺掑簭',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒嗙被璇存槑',
+  `default_secret_level` tinyint NOT NULL DEFAULT '1' COMMENT '璇ュ垎绫讳笅妗f榛樿瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤 1-鍋滅敤',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_parent_id` (`parent_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='妗f-鍒嗙被';
+
+-- ----- 2. 妗f涓昏〃 -----
+DROP TABLE IF EXISTS `archive_document`;
+CREATE TABLE `archive_document` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妗f缂栧彿 DA+yyyyMMdd+6浣嶆祦姘�',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妗f鏍囬',
+  `category_id` bigint NOT NULL COMMENT '妗f鍒嗙被 ID',
+  `secret_level` tinyint NOT NULL DEFAULT '1' COMMENT '瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑',
+  `carrier_type` tinyint NOT NULL DEFAULT '3' COMMENT '杞戒綋锛�1-鐢靛瓙 2-瀹炰綋 3-鐢靛瓙+瀹炰綋',
+  `shelf_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀹炰綋-涔︽灦鍙�',
+  `layer_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀹炰綋-灞傚彿',
+  `column_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀹炰綋-鍒楀彿',
+  `box_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀹炰綋-鍐屽彿/妗f鐩掑彿',
+  `store_place` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀹炰綋瀛樻斁浣嶇疆鎻忚堪锛堝 3鍙峰簱鎴緼鏋�2灞傦級',
+  `source_type` tinyint NOT NULL DEFAULT '1' COMMENT '鏉ユ簮锛�1-鎵嬪伐 2-璇鹃 3-浼氬憳 4-璐㈠姟',
+  `source_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏉ユ簮鍗曞彿锛堢珛椤圭紪鍙�/浼氬憳缂栧彿/鎶ラ攢鍗曞彿锛�',
+  `source_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁 ID',
+  `source_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏉ユ簮鍗曟嵁鏍囬锛堝啑浣欏揩鐓э紝渚夸簬妫�绱級',
+  `archive_date` date DEFAULT NULL COMMENT '褰掓。鏃ユ湡',
+  `archivist_user_id` bigint DEFAULT NULL COMMENT '褰掓。浜虹敤鎴� ID',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '妗f鐘舵�侊細10-鍦ㄥ簱 20-鍊熷嚭涓�',
+  `summary` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎽樿',
+  `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍏抽敭璇嶏紝鑻辨枃閫楀彿鍒嗛殧锛堟绱㈢敤锛�',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_category_id` (`category_id`) USING BTREE,
+  KEY `idx_secret_level` (`secret_level`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_source` (`source_type`,`source_id`) USING BTREE,
+  KEY `idx_archive_date` (`archive_date`) USING BTREE,
+  KEY `idx_title` (`title`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='妗f-妗f涓昏〃';
+
+-- ----- 3. 鍊熼槄鍗曡〃锛堝�熼槄 + 褰掕繕鍚堜竴锛� -----
+DROP TABLE IF EXISTS `archive_borrow`;
+CREATE TABLE `archive_borrow` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍊熼槄鍗曞彿 JY+yyyyMMdd+6浣嶆祦姘�',
+  `document_id` bigint NOT NULL COMMENT '妗f ID',
+  `document_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妗f缂栧彿锛堝揩鐓э級',
+  `document_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妗f鏍囬锛堝揩鐓э級',
+  `borrower_user_id` bigint DEFAULT NULL COMMENT '鍊熼槄浜虹敤鎴� ID',
+  `borrower_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍊熼槄浜哄鍚�',
+  `borrower_dept` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍊熼槄浜洪儴闂�',
+  `borrower_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍊熼槄浜鸿仈绯荤數璇�',
+  `borrow_date` date NOT NULL COMMENT '鍊熼槄鏃ユ湡',
+  `borrow_purpose` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍊熼槄鐩殑',
+  `return_deadline` date NOT NULL COMMENT '褰掕繕鏈熼檺锛堥�炬湡瀹炴椂璁$畻鍩哄噯锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-鍊熷嚭涓� 30-宸插綊杩� 35-宸查┏鍥�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BPM 娴佺▼瀹炰緥 ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒閫氳繃锛堝疄闄呭�熷嚭锛夋椂闂�',
+  `return_time` datetime DEFAULT NULL COMMENT '瀹為檯褰掕繕鏃堕棿',
+  `return_confirm_user_id` bigint DEFAULT NULL COMMENT '褰掕繕纭浜虹敤鎴� ID',
+  `return_remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '褰掕繕澶囨敞',
+  `reject_reason` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '椹冲洖鍘熷洜锛圔PM 鍥炲啓锛�',
+  `reject_time` datetime DEFAULT NULL COMMENT '椹冲洖鏃堕棿',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_document_id` (`document_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_return_deadline` (`return_deadline`) USING BTREE,
+  KEY `idx_borrower_user_id` (`borrower_user_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='妗f-鍊熼槄鍗�';
+
+-- ----- 4. 鍒濆鍒嗙被锛�6 鏉★紝璐㈠姟鍒嗙被榛樿瀵嗙骇=淇濆瘑锛� -----
+DELETE FROM `archive_category` WHERE `code` IN ('member','research','meeting','finance','document','party');
+INSERT INTO `archive_category` (`id`,`parent_id`,`name`,`code`,`sort`,`description`,`default_secret_level`,`status`,`remark`,`creator`,`create_time`,`updater`,`update_time`,`deleted`)
+VALUES (1, 0, '浼氬憳妗f', 'member', 1, '浼氬憳鍏ヤ細鏉愭枡銆佽祫璐ㄨ瘉鏄庣瓑', 2, 0, '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO `archive_category` (`id`,`parent_id`,`name`,`code`,`sort`,`description`,`default_secret_level`,`status`,`remark`,`creator`,`create_time`,`updater`,`update_time`,`deleted`)
+VALUES (2, 0, '璇鹃妗f', 'research', 2, '璇鹃鐢虫姤涔︺�佺珛椤规壒澶嶃�佺粨椤规潗鏂欑瓑', 2, 0, '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO `archive_category` (`id`,`parent_id`,`name`,`code`,`sort`,`description`,`default_secret_level`,`status`,`remark`,`creator`,`create_time`,`updater`,`update_time`,`deleted`)
+VALUES (3, 0, '浼氳妗f', 'meeting', 3, '瀛︿細鏂囦欢銆佷細璁邯瑕佺瓑', 2, 0, '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO `archive_category` (`id`,`parent_id`,`name`,`code`,`sort`,`description`,`default_secret_level`,`status`,`remark`,`creator`,`create_time`,`updater`,`update_time`,`deleted`)
+VALUES (4, 0, '璐㈠姟妗f', 'finance', 4, '鎶ラ攢鍑瘉銆佸彂绁ㄧ瓑璐㈠姟鍗曟嵁', 3, 0, '璐㈠姟妗f榛樿瀵嗙骇涓恒�屼繚瀵嗐�嶏紝闇� archive:document:sensitive 鏉冮檺鏌ョ湅', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO `archive_category` (`id`,`parent_id`,`name`,`code`,`sort`,`description`,`default_secret_level`,`status`,`remark`,`creator`,`create_time`,`updater`,`update_time`,`deleted`)
+VALUES (5, 0, '鏂囦功妗f', 'document', 5, '璋冪爺鎶ュ憡銆佸鏈鏂囥�佸悎鍚屽崗璁瓑', 2, 0, '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO `archive_category` (`id`,`parent_id`,`name`,`code`,`sort`,`description`,`default_secret_level`,`status`,`remark`,`creator`,`create_time`,`updater`,`update_time`,`deleted`)
+VALUES (6, 0, '鍏氬缓妗f', 'party', 6, '鍏氬缓娲诲姩銆佺粍缁囧缓璁剧瓑鏉愭枡', 2, 0, '', '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 5. 瀛楀吀鏁版嵁 -----
+
+-- archive_category_status锛堟。妗堝垎绫荤姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'archive_category_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (82000, '妗f鍒嗙被鐘舵��', 'archive_category_status', 0, '妗f鍒嗙被鍚敤/鍋滅敤', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'archive_category_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200001, 1, '鍚敤', '0', 'archive_category_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200002, 2, '鍋滅敤', '1', 'archive_category_status', 0, 'info', '', '1', NOW(), '1', NOW(), b'0');
+
+-- archive_document_status锛堟。妗堢姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'archive_document_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (82001, '妗f鐘舵��', 'archive_document_status', 0, '妗f鍦ㄥ簱/鍊熷嚭涓�', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'archive_document_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200101, 1, '鍦ㄥ簱', '10', 'archive_document_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200102, 2, '鍊熷嚭涓�', '20', 'archive_document_status', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+
+-- archive_secret_level锛堟。妗堝瘑绾э級
+DELETE FROM system_dict_type WHERE `type` = 'archive_secret_level';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (82002, '妗f瀵嗙骇', 'archive_secret_level', 0, '鍏紑/鍐呴儴/淇濆瘑锛屼繚瀵嗙骇闇� archive:document:sensitive 鏉冮檺', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'archive_secret_level';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200201, 1, '鍏紑', '1', 'archive_secret_level', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200202, 2, '鍐呴儴', '2', 'archive_secret_level', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200203, 3, '淇濆瘑', '3', 'archive_secret_level', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- archive_carrier_type锛堟。妗堣浇浣撶被鍨嬶級
+DELETE FROM system_dict_type WHERE `type` = 'archive_carrier_type';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (82003, '妗f杞戒綋', 'archive_carrier_type', 0, '鐢靛瓙/瀹炰綋/鐢靛瓙+瀹炰綋', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'archive_carrier_type';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200301, 1, '鐢靛瓙', '1', 'archive_carrier_type', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200302, 2, '瀹炰綋', '2', 'archive_carrier_type', 0, 'info', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200303, 3, '鐢靛瓙+瀹炰綋', '3', 'archive_carrier_type', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+
+-- archive_source_type锛堟。妗堟潵婧愮被鍨嬶級
+DELETE FROM system_dict_type WHERE `type` = 'archive_source_type';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (82004, '妗f鏉ユ簮', 'archive_source_type', 0, '鎵嬪伐褰曞叆/璇鹃褰掓。/浼氬憳褰掓。/璐㈠姟褰掓。', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'archive_source_type';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200401, 1, '鎵嬪伐褰曞叆', '1', 'archive_source_type', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200402, 2, '璇鹃褰掓。', '2', 'archive_source_type', 0, 'primary', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200403, 3, '浼氬憳褰掓。', '3', 'archive_source_type', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200404, 4, '璐㈠姟褰掓。', '4', 'archive_source_type', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- archive_borrow_status锛堝�熼槄鍗曠姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'archive_borrow_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (82005, '妗f鍊熼槄鐘舵��', 'archive_borrow_status', 0, '鍊熼槄鍗曞鎵逛笌褰掕繕鐘舵��', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'archive_borrow_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200501, 1, '鑽夌', '0', 'archive_borrow_status', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200502, 2, '瀹℃壒涓�', '15', 'archive_borrow_status', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200503, 3, '鍊熷嚭涓�', '20', 'archive_borrow_status', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200504, 4, '宸插綊杩�', '30', 'archive_borrow_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8200505, 5, '宸查┏鍥�', '35', 'archive_borrow_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 6. BPM 鍒嗙被锛堟。妗堝�熼槄瀹℃壒锛屼袱绾у鎵癸級 -----
+-- 娉ㄦ剰锛氶渶鍏堥儴缃� docs/sql/archive_borrow_approve.bpmn锛堣璇ユ枃浠跺ご閮ㄧ殑閮ㄧ讲椤哄簭璇存槑锛�
+DELETE FROM bpm_category WHERE `code` = 'archive_borrow_approve';
+INSERT INTO bpm_category (id, name, code, description, status, sort, creator, create_time, updater, update_time, deleted)
+VALUES (8003, '妗f鍊熼槄瀹℃壒', 'archive_borrow_approve', '妗f鍊熼槄涓ょ骇瀹℃壒锛堟。妗堢鐞嗗憳瀹℃牳鈫掑垎绠¢瀵煎鎵癸級', 0, 3, '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 7. 鑿滃崟 -----
+-- 娉ㄦ剰锛氳彍鍗� ID 涓嶈涓庣幇鏈夎彍鍗曞啿绐侊紙妗f绠$悊鍗犵敤 1075600~1075699锛岀幇鏈� MAX=1075553锛�
+DELETE FROM system_menu WHERE id BETWEEN 1075600 AND 1075699;
+-- 椤剁骇鐩綍锛坱ype=1锛夛紝parent_id=0锛屽浘鏍� ep:files
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075600, '妗f绠$悊', '', 1, 82, 0, '/archive', 'ep:files', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
+
+-- 妗f鍒嗙被锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075601, '妗f鍒嗙被', '', 2, 1, 1075600, 'category', 'ep:collection', 'archive/category/index', 'ArchiveCategory', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 妗f绠$悊锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075602, '妗f绠$悊', '', 2, 2, 1075600, 'document', 'ep:folder-opened', 'archive/document/index', 'ArchiveDocument', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 鍊熼槄鐧昏锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075603, '鍊熼槄鐧昏', '', 2, 3, 1075600, 'borrow', 'ep:document-copy', 'archive/borrow/index', 'ArchiveBorrow', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 妗f缁熻锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075604, '妗f缁熻', '', 2, 4, 1075600, 'stat', 'ep:data-analysis', 'archive/stat/index', 'ArchiveStat', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺锛坱ype=3锛夆�斺�� 妗f鍒嗙被
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075610, '妗f鍒嗙被鏌ヨ', 'archive:category:query', 3, 1, 1075601, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075611, '妗f鍒嗙被鍒涘缓', 'archive:category:create', 3, 2, 1075601, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075612, '妗f鍒嗙被鏇存柊', 'archive:category:update', 3, 3, 1075601, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075613, '妗f鍒嗙被鍒犻櫎', 'archive:category:delete', 3, 4, 1075601, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 妗f绠$悊
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075620, '妗f鏌ヨ', 'archive:document:query', 3, 1, 1075602, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075621, '妗f鍒涘缓', 'archive:document:create', 3, 2, 1075602, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075622, '妗f鏇存柊', 'archive:document:update', 3, 3, 1075602, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075623, '妗f鍒犻櫎', 'archive:document:delete', 3, 4, 1075602, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075624, '妗f瀵煎嚭', 'archive:document:export', 3, 5, 1075602, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075625, '淇濆瘑妗f鏌ョ湅', 'archive:document:sensitive', 3, 6, 1075602, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 鍊熼槄鐧昏
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075630, '鍊熼槄鏌ヨ', 'archive:borrow:query', 3, 1, 1075603, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075631, '鍊熼槄鐧昏', 'archive:borrow:create', 3, 2, 1075603, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075632, '鍊熼槄淇敼', 'archive:borrow:update', 3, 3, 1075603, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075633, '鍊熼槄鍒犻櫎', 'archive:borrow:delete', 3, 4, 1075603, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075634, '鍊熼槄鎻愪氦瀹℃壒', 'archive:borrow:submit', 3, 5, 1075603, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075635, '褰掕繕鐧昏', 'archive:borrow:return', 3, 6, 1075603, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 妗f缁熻
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075640, '妗f缁熻鏌ヨ', 'archive:stat:query', 3, 1, 1075604, '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 8. 涓夋柟妯″潡褰掓。鎸夐挳鏉冮檺锛堥厤鍚堝綊妗h仈鍔級 -----
+-- 璇鹃鐢虫姤锛堢埗鑿滃崟 1075512锛夈�佷細鍛樺垪琛紙鐖惰彍鍗� 1075492锛夛紱璐㈠姟褰掓。澶嶇敤鏃㈡湁 finance:reimbursement:archive(1075424)
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075536, '璇鹃鐢虫姤褰掓。', 'research:application:archive', 3, 7, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075504, '浼氬憳褰掓。', 'ums:member:archive', 3, 4, 1075492, '1', NOW(), '1', NOW(), b'0');
diff --git a/docs/sql/archive_module_migration.sql b/docs/sql/archive_module_migration.sql
new file mode 100644
index 0000000..fda626d
--- /dev/null
+++ b/docs/sql/archive_module_migration.sql
@@ -0,0 +1,41 @@
+-- =====================================================
+-- 妗f绠$悊妯″潡 - 鏉ユ簮妯″潡澧為噺鑴氭湰锛堣法妯″潡鏀硅〃锛�
+--
+-- 鑳屾櫙锛氭。妗堟ā鍧楁敮鎸併�岃棰樼敵鎶ヤ功 / 浼氬憳 / 璐㈠姟鎶ラ攢鍗曘�嶆寜鏉ユ簮鍗曟嵁鎵嬪姩褰掓。銆�
+--       涓夊紶鏉ユ簮琛ㄥ悇鍔犱竴鍒� `archive_document_id`锛堟寚鍚� archive_document.id锛夛細
+--       鈶� 浣滀负銆屽凡褰掓。銆嶇殑纭爣璁帮紝鍒楄〃椤垫嵁姝ゆ樉绀哄凡褰掓。骞惰烦杞。妗堬紱
+--       鈶� 褰掓。閲嶅鏍¢獙鐨勫厹搴曪紙archive_document 渚у彟鏈� source_type+source_id 鍞竴鎬ф牎楠岋級銆�
+--       鍒楀彲绌猴紝涓嶅奖鍝嶆棦鏈変笟鍔℃暟鎹��
+--
+-- 鎵ц搴擄細鑴氭湰鐢� DATABASE() 鍒ゅ畾锛屼笌搴撳悕鏃犲叧锛屾晠鍙浠绘剰鐩爣搴撴墽琛屻��
+--         2026-09-29 宸插湪 application-local.yaml 鎸囧悜鐨� mom-jssm 鎵ц骞舵牳瀵归�氳繃锛�
+--         鍏朵綑鐜锛坉ev/test 鎸囧悜 ruoyi-vue-pro锛寉zfx/wtxc/zsjc/chdl/kyzn 鎸囧悜鍚勮嚜 mom-* 搴擄級鎸夐渶鍙﹁窇銆�
+--         鏈剼鏈箓绛夛紝鍙繛缁噸澶嶆墽琛屻��
+-- 鍓嶇疆锛氶渶鍏堟墽琛� archive_module.sql 寤� `archive_document` 琛ㄣ��
+-- 娉ㄦ剰锛氭湰鑴氭湰涓嶅惈 tenant_id锛堥」鐩笉浣跨敤澶氱鎴锋ā寮忥級锛汚LTER TABLE ADD COLUMN 涓嶆敮鎸�
+--       IF NOT EXISTS锛岀粺涓�鐢� information_schema 瀛樺湪鎬у畧鍗��
+-- =====================================================
+
+-- ----- 1. research_application 鏂板 archive_document_id -----
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'research_application' AND column_name = 'archive_document_id');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE research_application ADD COLUMN archive_document_id bigint DEFAULT NULL COMMENT ''褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級'' AFTER notice_id',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ----- 2. ums_member 鏂板 archive_document_id -----
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'ums_member' AND column_name = 'archive_document_id');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE ums_member ADD COLUMN archive_document_id bigint DEFAULT NULL COMMENT ''褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級'' AFTER status',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ----- 3. finance_reimbursement 鏂板 archive_document_id -----
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'finance_reimbursement' AND column_name = 'archive_document_id');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE finance_reimbursement ADD COLUMN archive_document_id bigint DEFAULT NULL COMMENT ''褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級'' AFTER archive_time',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
diff --git a/docs/sql/config_export_all_20260928.sql b/docs/sql/config_export_all_20260928.sql
new file mode 100644
index 0000000..e832d4d
--- /dev/null
+++ b/docs/sql/config_export_all_20260928.sql
@@ -0,0 +1,11838 @@
+-- =======================================================================
+-- 鏂囦欢锛歝onfig_export_all_20260928.sql
+-- 鐢ㄩ�旓細mom-jssm銆屽叏搴撹〃缁撴瀯 + 閰嶇疆鏁版嵁銆嶅鍑猴紝渚涘悓缁撴瀯鍏ㄦ柊搴撳垵濮嬪寲
+-- 鏉ユ簮搴擄細mom-jssm锛�0918 鐗堟潵婧愪负 ruoyi-vue-pro锛屾湰娆¤捣鏀逛互 mom-jssm 涓哄噯锛�
+-- 鍩虹嚎锛�2026-09-18 鐗堬紙419 寮犺〃锛夛紱
+-- 鏈涓�**琛ヤ竵鐗�**锛氬熀浜� 0918 鏂囦欢澧為噺淇敼锛屾湭閲嶈窇鍏ㄥ簱瀵煎嚭锛堥伩鍏嶆妸鏃犲叧琛ㄤ竴璧锋悈鍔級銆�
+-- 琛ヤ竵鍐呭锛�2026-09-28锛屼細鍛樼鐞嗘ā鍧� yudao-module-ums锛夛細
+--   鈶� 琛� 2 寮� ums_* 琛ㄧ粨鏋勶紙鍏ヤ細鐢宠鍗� + 浼氬憳锛屼粎寤虹┖缁撴瀯锛屾棤鏁版嵁锛夛細
+--      ums_application銆乽ms_member
+--   鈶� 琛� 6 涓瓧鍏哥被鍨� + 25 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細
+--      ums_application_status锛堣崏绋�/瀹℃壒涓�/宸查�氳繃/宸查┏鍥烇級
+--      ums_member_type锛堜釜浜轰細鍛�/鍗曚綅浼氬憳锛�
+--      ums_member_status锛堟甯�/鏆傚仠锛�
+--      ums_personal_grade锛堟櫘閫氫細鍛�/鐞嗕簨/甯稿姟鐞嗕簨/鍓悊浜嬮暱/鐞嗕簨闀匡級
+--      ums_unit_grade锛堟櫘閫氬崟浣�/鐞嗕簨鍗曚綅/鍓細闀垮崟浣�/浼氶暱鍗曚綅锛�
+--      ums_industry锛堟櫤鑳藉埗閫�/鏂拌兘婧�/鐢靛瓙淇℃伅/鐢熺墿鍖昏嵂/鏂版潗鏂�/鑺傝兘鐜繚/鍜ㄨ鏈嶅姟/鍏朵粬锛�
+--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細
+--      id=8001 '鍏ヤ細瀹℃壒' / code='ums_membership_approve'
+--   鈶� 琛� 14 鏉′細鍛樼鐞嗚彍鍗曪細1075490銆屼細鍛樼鐞嗐�嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/ums锛�
+--      + 1075491銆屽叆浼氱敵璇枫��/ 1075492銆屼細鍛樺垪琛ㄣ��/ 1075493銆屼細鍛橀�氳褰曘�嶏紙鑿滃崟锛屾寕 1075490 涓嬶級
+--      + 1075494~1075503 鍚勬煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/鎻愪氦瀹℃壒/閫氳褰曟煡璇紙鎸夐挳鏉冮檺锛�
+--      + 榛樿閮ㄩ棬 129銆屽浼氫細鍛樸�嶏紙浼氬憳绯荤粺璐﹀彿褰掑睘閮ㄩ棬锛屽鎵归�氳繃鍚庤嚜鍔ㄥ缓鍙风敤锛夈��
+--      **鑿滃崟/閮ㄩ棬娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *
+--      FROM \`mom-jssm\`.system_menu WHERE deleted=b'0'`锛堥儴闂ㄥ悓鐞嗭級锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+-- 琛ヤ竵鍐呭锛�2026-09-28锛岃储鍔�-鍙戠エ鎶ラ攢妯″潡锛夛細
+--   鈶� 琛� 2 寮� finance_* 琛ㄧ粨鏋勶紙鎶ラ攢鍗曚富琛� + 鎶ラ攢鏄庣粏琛紝浠呭缓绌虹粨鏋勶紝鏃犳暟鎹級锛�
+--      finance_reimbursement銆乫inance_reimbursement_item
+--   鈶� 琛� 2 涓瓧鍏哥被鍨� + 10 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細
+--      finance_reimbursement_status锛堣崏绋�/瀹℃壒涓�/宸查�氳繃/宸查┏鍥�/宸插綊妗o級
+--      finance_expense_type锛堝樊鏃�/鍔炲叕/鎷涘緟/浜ら��/鍏朵粬锛�
+--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細
+--      id=216 '鎶ラ攢瀹℃壒' / code='finance_reimbursement_approve'
+--   鈶� 琛� 9 鏉℃姤閿�鍗曡彍鍗曪細1075425銆岃储鍔℃姤閿�銆嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/finance锛�
+--      + 1075417銆屾姤閿�鍗曘�嶏紙鑿滃崟锛屾寕 1075425 涓嬶紝璺敱 /finance/reimbursement锛�
+--      + 1075418~1075424 鏌ヨ/鍒涘缓/鏇存柊/鍒犻櫎/瀵煎嚭/鎻愪氦瀹℃壒/褰掓。锛堟寜閽潈闄愶級銆�
+--      鎶ラ攢鍗曚负鐙珛妯″潡锛屽埢鎰忎笉鎸� ERP 鐨� 2645銆岃储鍔$鐞嗐�嶄笅锛涜嫢鏉ユ簮搴撲粛鏄棫缁撴瀯
+--      锛�1075417.parent_id=2645锛夛紝璇峰厛鍦� mom-jssm 鎵ц涓嬭堪淇鍐嶇敓鎴�/鎵ц鏈剼鏈細
+--        INSERT INTO system_menu (id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,create_time,updater,update_time,deleted)
+--        VALUES (1075425,'璐㈠姟鎶ラ攢','',1,75,0,'/finance','ep:money','','',0,b'1',b'1',b'1','1',NOW(),'1',NOW(),b'0');
+--        UPDATE system_menu SET parent_id=1075425, icon='#', sort=1 WHERE id=1075417;
+--      **鑿滃崟娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *
+--      FROM \`mom-jssm\`.system_menu WHERE deleted=b'0'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+--   鈶� **闃舵浜屾潵婧愬簱鐢� ruoyi-vue-pro 鏀逛负 mom-jssm**锛屼娇鍏ㄨ剼鏈暟鎹簮缁熶竴涓� mom-jssm銆�
+--      鎵ц鍓嶆彁闅忎箣鍙樹负锛氳剼鏈』鍦�**鍚屼竴 MySQL 瀹炰緥涓婂悓鏃跺瓨鍦� mom-jssm 涓庣洰鏍囧簱**鏃舵墽琛�
+--      锛堝師鍓嶆彁涓恒�屽悓鏃跺瓨鍦� ruoyi-vue-pro 涓庣洰鏍囧簱銆嶏級銆�
+-- 琛ヤ竵鍐呭锛�2026-09-28锛岃棰樼鐞嗘ā鍧� yudao-module-research锛夛細
+--   鈶� 琛� 4 寮� research_* 琛ㄧ粨鏋勶紙璇鹃鎸囧崡 / 璇鹃鐢虫姤涔� / 涓撳璇勫鏄庣粏 / 缁忚垂鎷ㄤ粯璁板綍锛屼粎寤虹┖缁撴瀯锛屾棤鏁版嵁锛夛細
+--      research_guideline銆乺esearch_application銆乺esearch_topic_review銆乺esearch_fund_record
+--   鈶� 琛� 5 涓瓧鍏哥被鍨� + 13 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細
+--      research_guideline_category锛堥噸鐐硅棰�/涓�鑸棰橈級
+--      research_guideline_status锛堣崏绋�/宸插彂甯�/宸叉埅姝級
+--      research_application_status锛堣崏绋�/瀹℃壒涓�/宸茬珛椤�/宸查┏鍥烇級
+--      research_review_conclusion锛堟帹鑽愮珛椤�/涓嶆帹鑽愮珛椤癸級
+--      research_fund_status锛堝緟鎷ㄤ粯/宸叉嫧浠橈級
+--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細
+--      id=8002 '璇鹃绔嬮」瀹℃壒' / code='research_topic_approve'
+--   鈶� 琛� 1 鏉� BPM 娴佺▼瀹氫箟锛堣棰樼敵鎶ヤ笁绾у鎵癸細绉樹功澶勫舰寮忓鏌モ啋涓撳璇勫鈫掑浼氱珛椤瑰鎵癸級锛�
+--      鍒嗗埆钀� act_re_deployment / act_re_procdef / act_ge_bytearray(3 鏉�) / act_re_model /
+--      bpm_process_definition_info 浜斿紶琛紝娴佺▼ key='research_topic_approve'銆�
+--      bpm_process_definition_info.form_type=20锛堣嚜瀹氫箟琛ㄥ崟锛夛紝
+--      form_custom_create_path=/research/application/index銆�
+--      form_custom_view_path=/research/application/detail/approve/index.vue銆�
+--      鈿� 璇ユ祦绋嬬殑 BPMN 涓烘墜鍐欎笁鑺傜偣锛�**涓嶆槸** bpm_deploy_flow_from_template 鐢熸垚鐨勫崟鑺傜偣娴佺▼銆�
+--   鈶� 琛� 22 鏉¤棰樼鐞嗚彍鍗曪細1075510銆岃棰樼鐞嗐�嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/research锛�
+--      + 1075511銆岃棰樻寚鍗椼��/ 1075512銆岃棰樼敵鎶ャ�嶏紙鑿滃崟锛屾寕 1075510 涓嬶級
+--      + 1075520~1075524锛堟寚鍗楁煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/鍙戝竷鎴锛夈��
+--        1075530~1075535锛堢敵鎶ユ煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/鎻愪氦瀹℃壒/鍙戝竷绔嬮」閫氱煡锛夈��
+--        1075540~1075543锛堜笓瀹惰瘎瀹℃煡璇�/褰曞叆/淇敼/鍒犻櫎锛夈��
+--        1075550~1075553锛堢粡璐规嫧浠樻煡璇�/鐧昏/淇敼/鍒犻櫎锛夈��
+--      **鑿滃崟娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *
+--      FROM \`mom-jssm\`.system_menu WHERE deleted=b'0'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+
+
+-- 鍘嗗彶琛ヤ竵鍐呭锛�2026-09-18锛夛細
+--   鈶� 琛� 6 寮� qc_report_* 琛ㄧ粨鏋勶紙鏅鸿兘璐ㄦ鎶ュ憡璁捐骞冲彴锛�0904 瀵煎嚭鏃惰妯″潡灏氭湭寤烘垚锛屽睘閬楁紡鍥炲啓锛�
+--      鍏朵腑 qc_report_instance 鐨� pdf_file_url 鍒�**宸叉寜瑕佹眰鍒犻櫎**锛堟枃浠惰蛋 system_storage_attachment 涓棿琛級
+--   鈶� 琛� qc_report_* 鐨� 6 涓瓧鍏哥被鍨� + 21 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛�
+--   鈶� 鍙︿慨锛歲c_report_instance.id 鍒楁敞閲婄敱銆屾姤鍛婄紪鍙枫�嶆敼涓恒�屽疄渚嬬紪鍙枫�嶏紙report_no 鎵嶆槸鎶ュ憡缂栧彿锛�
+--   鈶� **淇闃舵浜屼竴涓棦鏈夌己闄凤紙0904 鍩虹嚎鍚屾牱瀛樺湪锛屼細瀵艰嚧鏁磋剼鏈腑鏂級**锛�
+--      鈶ャ�宎dmin 鍚勮鑹茬殑鑿滃崟鍏宠仈銆嶅師鍐欐硶鏄� INNER JOIN `system_user_role`锛�
+--      鑰屾簮搴� system_user_role 涓婚敭鍙湁 id銆佸悓涓� (user_id, role_id) 鍙湁澶氳
+--      锛堝疄娴� admin 鐨� role_id=1 灏辨湁 2 琛岋紝浜� 2026-09-02 閲嶅鍒嗛厤锛夛紝
+--      JOIN 鎶� system_role_menu 姣忚鏀惧ぇ鎴� N 琛� 鈫� 鎾炰富閿� "Duplicate entry '6352'"锛�
+--      鑴氭湰鍦� 11411 琛屼腑鏂紝**鏂板簱鍒濆鍖栧嚭鏉ユ槸鍗婃垚鍝�**銆傚凡鏀逛负 IN锛堝瓙鏌ヨ澶╃劧鍘婚噸锛夈��
+--   鈶� 琛� 6 鏉� qc_report 鑿滃崟锛�2026-09-19锛屾櫤鑳借川妫�鎶ュ憡璁捐骞冲彴鍓嶇鎺ュ叆锛夛細
+--      1075410 鎶ュ憡瀹炰緥锛堣彍鍗曪級+ 1075411~1075414 鏌ヨ/鍑轰欢/瀵煎嚭PDF/鍒犻櫎锛堟寜閽級
+--      + 1075415 鎶ュ憡妯℃澘AI瀵煎叆锛堟寜閽紝鎸傚湪 1075400 鎶ュ憡妯℃澘璁捐涓嬶級銆�
+--      **鏈枃浠舵棤闇�涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT * FROM
+--      ruoyi-vue-pro.system_menu WHERE deleted=b'0'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙婧愬簱 ruoyi-vue-pro 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+-- 楠岃瘉锛�0918 鐗堟浘鍦ㄥ叏鏂扮┖搴擄紙MySQL 8.4.6锛夋暣浠芥墽琛岄�氳繃 鈥斺�� 419 寮犺〃銆�6 寮� qc_report_*銆�
+--       6 涓瓧鍏哥被鍨� + 21 鏉″瓧鍏告暟鎹�乤dmin 璐﹀彿 / 1258 鏉¤彍鍗� / 2349 鏉� role_menu /
+--       榛樿 OAuth2 瀹㈡埛绔潎姝g‘钀藉簱銆�
+--       鈿� 鏈� 0928 鐗堜负鍦ㄥ叾涔嬩笂鐨勮ˉ涓侊紝**灏氭湭鍦ㄧ┖搴撴暣浠借窇杩�**锛涗笂绾�/鍒濆鍖栧墠璇峰厛鍦ㄥ彲瑕嗙洊绌哄簱楠岃瘉銆�
+-- 鑼冨洿锛氬叏搴� BASE TABLE 鍏� 427 寮狅紙0918 鐨� 419 寮� + 2 寮� finance_* + 2 寮� ums_* + 4 寮� research_*锛夛紝鍏ㄩ儴杈撳嚭 CREATE TABLE锛�
+--       浠呬互涓嬮厤缃被琛ㄥ甫鏁版嵁(INSERT)锛屽叾浣欎笟鍔�/绯荤粺/杩愯鍘嗗彶琛ㄥ彧淇濈暀绌鸿〃缁撴瀯锛�
+--     鈶� 鍗忓悓瀹℃壒娴佺▼锛堝紩鎿庡厓鏁版嵁+瀹氫箟锛屼粎婵�娲绘祦绋嬶紝鍓斿巻鍙�/杩愯/韬唤锛夛細act_ge_property銆乤ct_id_property銆乤ct_re_procdef銆乤ct_re_deployment銆乤ct_ge_bytearray銆乤ct_re_model銆乥pm_process_definition_info
+--     鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛夛細bpm_business_attach銆乥pm_category銆乥pm_form銆乥pm_user_group銆乥pm_process_listener銆乥pm_process_expression
+--     鈶� BI 鍐崇瓥澶у睆 / go-view锛歜i_dashboard銆乥i_chart_config銆乥i_data_source_config銆乥i_warehouse_coordinate銆乺eport_go_view_project
+--     鈶� MES 缂栫爜瑙勫垯锛堝墧娴佹按璁板綍锛夛細mes_md_auto_code_rule銆乵es_md_auto_code_part
+--     鈶� 绯荤粺閰嶇疆涓绘暟鎹紙瀛楀吀/绉熸埛/鍏徃閰嶇疆锛涘墧韬唤/鑿滃崟/鏃ュ織锛夛細system_dict_type銆乻ystem_dict_data銆乻ystem_tenant銆乻ystem_tenant_package銆乻ystem_company_config
+--     鈿� 韬唤/鏉冮檺绫昏〃锛坰ystem_users/role/menu/role_menu/user_role/dept/post/oauth2_client锛夋澶勪粎寤虹┖琛ㄧ粨鏋勶紝鏁版嵁鐢辨枃浠舵湯灏�"闃舵浜�"璺ㄥ簱琛ュ銆�
+--     鈶� AI 閰嶇疆锛堜粎妯″瀷+key锛�+ 鍩虹璁炬柦閰嶇疆绠$悊锛歛i_model銆乤i_api_key銆乮nfra_config銆乮nfra_job銆乮nfra_file_config銆乮nfra_data_source_config銆乮nfra_codegen_table銆乮nfra_codegen_column
+-- 杩囨护锛氬崗鍚屾祦绋嬩粎淇濈暀婵�娲�(SUSPENSION_STATE_=1)瀹氫箟鍙婂叾閮ㄧ讲/瀛楄妭/妯″瀷/鎵╁睍淇℃伅锛�
+--       缂栫爜瑙勫垯鍓旈櫎娴佹按璁板綍 mes_md_auto_code_record锛涜蒋鍒犻櫎琛ㄤ粎瀵� deleted=0銆�
+-- 鈿� 鑴氭湰鍚叏搴� DROP TABLE IF EXISTS锛屼細鎶婇櫎鏈剼鏈缓琛ㄥ鐨勬墍鏈夎〃鍒犻櫎閲嶅缓锛�
+--   涓氬姟琛ㄦ暟鎹皢鍏ㄩ儴娓呯┖锛屼粎鍙湪鍏ㄦ柊/鍙鐩栫殑绌哄簱鎵ц锛�
+-- =======================================================================
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
+
+
+-- ***********************************************************************
+-- 鈶� 鍗忓悓瀹℃壒娴佺▼锛堝紩鎿庡厓鏁版嵁+瀹氫箟锛屼粎婵�娲绘祦绋嬶紝鍓斿巻鍙�/杩愯/韬唤锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細act_ge_property锛堝鍑� 7 琛岋級 ============
+DROP TABLE IF EXISTS `act_ge_property`;
+CREATE TABLE `act_ge_property` (
+  `NAME_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VALUE_` varchar(300) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REV_` int DEFAULT NULL,
+  PRIMARY KEY (`NAME_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_ge_property` (`NAME_`, `VALUE_`, `REV_`) VALUES
+('cfg.execution-related-entities-count', 'true', '1'),
+('cfg.task-related-entities-count', 'true', '1'),
+('common.schema.version', '8.0.0.0', '1'),
+('eventregistry.schema.version', '8.0.0.0', '1'),
+('next.dbid', '1', '1'),
+('schema.history', 'upgrade(7.2.0.2->8.0.0.0)', '2'),
+('schema.version', '8.0.0.0', '2');
+
+-- ============ 琛細act_id_property锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `act_id_property`;
+CREATE TABLE `act_id_property` (
+  `NAME_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VALUE_` varchar(300) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REV_` int DEFAULT NULL,
+  PRIMARY KEY (`NAME_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_id_property` (`NAME_`, `VALUE_`, `REV_`) VALUES
+('schema.version', '8.0.0.0', '1');
+
+-- ============ 琛細act_re_procdef锛堝鍑� 22 琛岋級 ============
+DROP TABLE IF EXISTS `act_re_procdef`;
+CREATE TABLE `act_re_procdef` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VERSION_` int NOT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DGRM_RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HAS_START_FORM_KEY_` tinyint DEFAULT NULL,
+  `HAS_GRAPHICAL_NOTATION_` tinyint DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_VERSION_` int NOT NULL DEFAULT '0',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_UNIQ_PROCDEF` (`KEY_`,`VERSION_`,`DERIVED_VERSION_`,`TENANT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES
+('crm-contract-audit:1:dep_febd13bedc800a97127ae1c042eb557b', '1', 'contract_approve', '鍚堝悓瀹℃壒', 'crm-contract-audit', '1', 'dep_febd13bedc800a97127ae1c042eb557b', 'crm-contract-audit.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('crm-invoice-audit:1:c101d3e0-0001-11f2-8a27-00155dad6485', '1', 'crm_invoice_approve', '寮�绁ㄥ鎵规祦绋�', 'crm-invoice-audit', '1', 'c101d3e0-0001-11f2-8a27-00155dad6485', 'crm-invoice-audit.bpmn', NULL, NULL, '0', '0', '1', '', NULL, NULL, NULL, '0'),
+('crm-receivable-audit:1:7215184e-948c-11f1-9271-1ab6da3745b7', '1', '1111', '鍥炴瀹℃壒娴佺▼', 'crm-receivable-audit', '1', '7215184e-948c-11f1-9271-1ab6da3745b7', 'crm-receivable-audit.bpmn', NULL, NULL, '0', '0', '1', '', NULL, NULL, NULL, '0'),
+('erp-finance-payment-audit:1:f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', '1', 'erp_finance_payment_approve', '浠樻瀹℃壒娴佺▼', 'erp-finance-payment-audit', '1', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', 'erp-finance-payment-audit.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('erp-purchase-invoice-audit:1:0b7c7557949111f192711ab6da3745b7', '1', 'erp_purchase_invoice_approve', '鏉ョエ瀹℃壒娴佺▼', 'erp-purchase-invoice-audit', '1', '0b7c7557949111f192711ab6da3745b7', 'erp-purchase-invoice-audit.bpmn', '', '', '0', '0', '1', '', NULL, '', '', '0'),
+('hrm_attendance_approve:1:dep_d1d2025350ea9af098ca7dbe6e80b442', '1', 'hrm_attendance_approve', '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', '1', 'dep_d1d2025350ea9af098ca7dbe6e80b442', 'hrm_attendance_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_leave:1:dep_862c6766e8cd1b32946a1ed2956a68bf', '1', 'hrm_leave_approve', '璇峰亣瀹℃壒', 'hrm_leave', '1', 'dep_862c6766e8cd1b32946a1ed2956a68bf', 'hrm_leave.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_overtime:1:dep_ecb89d4a54da3ae23601fef85642b0ce', '1', 'overtime_approve', '鍔犵彮瀹℃壒', 'hrm_overtime', '1', 'dep_ecb89d4a54da3ae23601fef85642b0ce', 'hrm_overtime.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_resignation:1:dep_33d3b1649a923d986d89604267b79bbf', '1', 'hrm_resignation_approve', '绂昏亴瀹℃壒', 'hrm_resignation', '1', 'dep_33d3b1649a923d986d89604267b79bbf', 'hrm_resignation.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_transfer:1:dep_66ea9f27906591b4d0048d854c633a82', '1', 'hrm_transfer_approve', '璋冨姩瀹℃壒', 'hrm_transfer', '1', 'dep_66ea9f27906591b4d0048d854c633a82', 'hrm_transfer.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('item_receipt_approve:1:dep_c16d0eef322695bed1c0c20e1d0190ce', '1', 'item_receipt_approve', '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', '1', 'dep_c16d0eef322695bed1c0c20e1d0190ce', 'item_receipt_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('mes-pd-project-audit:1:ce99813cfeb29f270355dd39f8ef74f2', '1', 'mes_pd_project_approve', '浜у搧椤圭洰瀹℃壒娴佺▼', 'mes-pd-project-audit', '1', 'ce99813cfeb29f270355dd39f8ef74f2', 'mes-pd-project-audit.bpmn', NULL, NULL, '0', '1', '1', NULL, NULL, NULL, NULL, '0'),
+('mes-pro-feedback-audit:1:dep_08349f78d675f582f1ff5f08e7714a8d', '1', 'mes_pro_feedback_audit', '鎶ュ伐瀹℃壒', 'mes-pro-feedback-audit', '1', 'dep_08349f78d675f582f1ff5f08e7714a8d', 'mes-pro-feedback-audit.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('purchase_order_approve:1:dep_09ba42e32e7a436ee4e2a9b6eef0d232', '1', 'purchase_order_approve', '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', '1', 'dep_09ba42e32e7a436ee4e2a9b6eef0d232', 'purchase_order_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('purchase_request_approve:3:d239e27d-74fe-11f1-9120-00155dd68500', '2', 'purchase_request_approve', '閲囪喘瀹℃牳', 'purchase_request_approve', '3', 'd232b68a-74fe-11f1-9120-00155dd68500', 'purchase_request_approve.bpmn', 'purchase_request_approve.purchase_request_approve.png', NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('sale_order_approve:1:dep_b9d15a0bc2b775bebb84987fb4b07cad', '1', 'sale_order_approve', '閿�鍞鍗曞鎵�', 'sale_order_approve', '1', 'dep_b9d15a0bc2b775bebb84987fb4b07cad', 'sale_order_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('supplier_apply_approve:1:dep_b6e816103961b88392e4ac24c87dddf8', '1', 'supplier_apply_approve', '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', '1', 'dep_b6e816103961b88392e4ac24c87dddf8', 'supplier_apply_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('wms_inbound_approve:1:dep_6e0f473d28c042b8b372d00797549423', '1', 'wms_approve', '浠撳簱鍏ュ簱瀹℃壒', 'wms_inbound_approve', '1', 'dep_6e0f473d28c042b8b372d00797549423', 'wms_inbound_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('wms_outbound_approve:1:dep_bed6796545faa2cb7851a019948e4e49', '1', 'wms_approve', '浠撳簱鍑哄簱瀹℃壒', 'wms_outbound_approve', '1', 'dep_bed6796545faa2cb7851a019948e4e49', 'wms_outbound_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('wms_transfer_approve:1:dep_9b3368e05f1d39dee636f464f2d65c16', '1', 'wms_approve', '浠撳簱璋冩嫧瀹℃壒', 'wms_transfer_approve', '1', 'dep_9b3368e05f1d39dee636f464f2d65c16', 'wms_transfer_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0');
+
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES ('ums_membership_approve:1:a5fd4795-bb16-11f1-81f2-00155dd68500', '2', 'ums_membership_approve', '鍏ヤ細瀹℃壒', 'ums_membership_approve', '1', 'a5ad52d2-bb16-11f1-81f2-00155dd68500', 'ums_membership_approve.bpmn', 'ums_membership_approve.ums_membership_approve.png', NULL, '0', '1', '1', '', NULL, NULL, NULL, '0');
+
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES ('research_topic_approve:1:57953d2b-bb1d-11f1-81f2-00155dd68500', '2', 'research_topic_approve', '璇鹃绔嬮」瀹℃壒', 'research_topic_approve', '1', '575d6448-bb1d-11f1-81f2-00155dd68500', 'research_topic_approve.bpmn', 'research_topic_approve.research_topic_approve.png', NULL, '0', '1', '1', '', NULL, NULL, NULL, '0');
+
+
+-- ============ 琛細act_re_deployment锛堝鍑� 22 琛岋級 ============
+DROP TABLE IF EXISTS `act_re_deployment`;
+CREATE TABLE `act_re_deployment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES
+('0b7c7557949111f192711ab6da3745b7', '鏉ョエ瀹℃壒娴佺▼', 'erp_purchase_invoice_approve', '', '', '2026-08-10 15:56:54.000', NULL, NULL, NULL, NULL),
+('7215184e-948c-11f1-9271-1ab6da3745b7', '鍥炴瀹℃壒娴佺▼', '1111', NULL, '', '2026-08-10 15:24:24.000', NULL, NULL, NULL, NULL),
+('c101d3e0-0001-11f2-8a27-00155dad6485', '寮�绁ㄥ鎵规祦绋�', 'crm_invoice_approve', NULL, '', '2026-08-10 14:35:22.000', NULL, NULL, NULL, NULL),
+('ce99813cfeb29f270355dd39f8ef74f2', '浜у搧椤圭洰瀹℃壒娴佺▼', 'mes_pd_project_approve', 'mes-pd-project-audit', NULL, '2026-08-13 16:12:13.000', NULL, NULL, NULL, NULL),
+('d232b68a-74fe-11f1-9120-00155dd68500', '閲囪喘瀹℃牳', 'purchase_request_approve', 'purchase_request_approve', '', '2026-07-01 19:42:02.225', NULL, NULL, 'd232b68a-74fe-11f1-9120-00155dd68500', NULL),
+('dep_08349f78d675f582f1ff5f08e7714a8d', '鎶ュ伐瀹℃壒', 'mes_pro_feedback_audit', 'mes-pro-feedback-audit', '', '2026-09-04 06:09:24.000', NULL, NULL, NULL, NULL),
+('dep_09ba42e32e7a436ee4e2a9b6eef0d232', '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', 'purchase_order_approve', '', '2026-09-04 06:07:01.000', NULL, NULL, NULL, NULL),
+('dep_33d3b1649a923d986d89604267b79bbf', '绂昏亴瀹℃壒', 'hrm_resignation_approve', 'hrm_resignation', '', '2026-09-04 06:08:24.000', NULL, NULL, NULL, NULL),
+('dep_66ea9f27906591b4d0048d854c633a82', '璋冨姩瀹℃壒', 'hrm_transfer_approve', 'hrm_transfer', '', '2026-09-04 06:08:31.000', NULL, NULL, NULL, NULL),
+('dep_6e0f473d28c042b8b372d00797549423', '浠撳簱鍏ュ簱瀹℃壒', 'wms_approve', 'wms_inbound_approve', '', '2026-09-04 06:08:56.000', NULL, NULL, NULL, NULL),
+('dep_862c6766e8cd1b32946a1ed2956a68bf', '璇峰亣瀹℃壒', 'hrm_leave_approve', 'hrm_leave', '', '2026-09-04 06:07:26.000', NULL, NULL, NULL, NULL),
+('dep_9b3368e05f1d39dee636f464f2d65c16', '浠撳簱璋冩嫧瀹℃壒', 'wms_approve', 'wms_transfer_approve', '', '2026-09-04 06:09:10.000', NULL, NULL, NULL, NULL),
+('dep_b6e816103961b88392e4ac24c87dddf8', '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', 'supplier_apply_approve', '', '2026-09-04 06:08:50.000', NULL, NULL, NULL, NULL),
+('dep_b9d15a0bc2b775bebb84987fb4b07cad', '閿�鍞鍗曞鎵�', 'sale_order_approve', 'sale_order_approve', '', '2026-09-04 06:06:43.000', NULL, NULL, NULL, NULL),
+('dep_bed6796545faa2cb7851a019948e4e49', '浠撳簱鍑哄簱瀹℃壒', 'wms_approve', 'wms_outbound_approve', '', '2026-09-04 06:09:03.000', NULL, NULL, NULL, NULL),
+('dep_c16d0eef322695bed1c0c20e1d0190ce', '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', 'item_receipt_approve', '', '2026-09-04 06:09:17.000', NULL, NULL, NULL, NULL),
+('dep_d1d2025350ea9af098ca7dbe6e80b442', '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', 'hrm_attendance_approve', '', '2026-09-04 06:08:38.000', NULL, NULL, NULL, NULL),
+('dep_ecb89d4a54da3ae23601fef85642b0ce', '鍔犵彮瀹℃壒', 'overtime_approve', 'hrm_overtime', '', '2026-09-04 06:07:33.000', NULL, NULL, NULL, NULL),
+('dep_febd13bedc800a97127ae1c042eb557b', '鍚堝悓瀹℃壒', 'contract_approve', 'crm-contract-audit', '', '2026-09-04 06:07:09.000', NULL, NULL, NULL, NULL),
+('f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', '浠樻瀹℃壒娴佺▼', 'erp_finance_payment_approve', 'erp-finance-payment-audit', '', '2026-08-10 17:35:43.000', NULL, NULL, NULL, NULL);
+
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('a5ad52d2-bb16-11f1-81f2-00155dd68500', '鍏ヤ細瀹℃壒', 'ums_membership_approve', 'ums_membership_approve', '', '2026-09-28 16:28:56.847', NULL, NULL, NULL, NULL);
+
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('575d6448-bb1d-11f1-81f2-00155dd68500', '璇鹃绔嬮」瀹℃壒', 'research_topic_approve', 'research_topic_approve', '', '2026-09-28 17:16:51.938', NULL, NULL, NULL, NULL);
+
+
+-- ============ 琛細act_ge_bytearray锛堝鍑� 25 琛岋級 ============
+DROP TABLE IF EXISTS `act_ge_bytearray`;
+CREATE TABLE `act_ge_bytearray` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTES_` longblob,
+  `GENERATED_` tinyint DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_BYTEAR_DEPL` (`DEPLOYMENT_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_BYTEARR_DEPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `act_re_deployment` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES
+('0b7c7572949111f192711ab6da3745b7', '1', 'erp-purchase-invoice-audit.bpmn', '0b7c7557949111f192711ab6da3745b7', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226572702d70757263686173652d696e766f6963652d617564697422206e616d653d22e69da5e7a5a8e5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6572702d70757263686173652d696e766f6963652d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226572702d70757263686173652d696e766f6963652d6175646974222069643d2242504d4e506c616e655f6572702d70757263686173652d696e766f6963652d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('72151877-948c-11f1-9271-1ab6da3745b7', '1', 'crm-receivable-audit.bpmn', '7215184e-948c-11f1-9271-1ab6da3745b7', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2263726d2d72656365697661626c652d617564697422206e616d653d22e59b9ee6acbee5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f63726d2d72656365697661626c652d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2263726d2d72656365697661626c652d6175646974222069643d2242504d4e506c616e655f63726d2d72656365697661626c652d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('c101d3e1-0001-11f2-8a27-00155dad6485', '1', 'crm-invoice-audit.bpmn', 'c101d3e0-0001-11f2-8a27-00155dad6485', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2263726d2d696e766f6963652d617564697422206e616d653d22e5bc80e7a5a8e5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f63726d2d696e766f6963652d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2263726d2d696e766f6963652d6175646974222069643d2242504d4e506c616e655f63726d2d696e766f6963652d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('44318b176050e94d2c4a86595763dde8', '1', 'mes-pd-project-audit.bpmn', 'ce99813cfeb29f270355dd39f8ef74f2', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226d65732d70642d70726f6a6563742d617564697422206e616d653d22e4baa7e59381e9a1b9e79baee5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6d65732d70642d70726f6a6563742d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226d65732d70642d70726f6a6563742d6175646974222069643d2242504d4e506c616e655f6d65732d70642d70726f6a6563742d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('d232b68b-74fe-11f1-9120-00155dd68500', '1', 'purchase_request_approve.bpmn', 'd232b68a-74fe-11f1-9120-00155dd68500', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2270757263686173655f726571756573745f617070726f766522206e616d653d22e98787e8b4ade5aea1e6a0b82220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22467971796d7171646f6c6e3261626322207469746c653d22e5a793e5908d22207065726d697373696f6e3d2232223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22466836676d7171646f6f793561656322207469746c653d22e5b9b4e9be8422207065726d697373696f6e3d2232223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d2246356d726d71716475746e6e61626322207469746c653d22e98089e68ba9e599a822207065726d697373696f6e3d2232223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c757365725461736b2069643d2241637469766974795f5f363936363337373834323137383238373732393237313622206e616d653d22e5aea1e689b9e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33305d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a63616e646964617465506172616d20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b3134325d5d3e3c2f666c6f7761626c653a63616e646964617465506172616d3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22467971796d7171646f6c6e3261626322207469746c653d22e5a793e5908d22207065726d697373696f6e3d2231223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22466836676d7171646f6f793561656322207469746c653d22e5b9b4e9be8422207065726d697373696f6e3d2231223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d2246356d726d71716475746e6e61626322207469746c653d22e98089e68ba9e599a822207065726d697373696f6e3d2231223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e9809ae8bf872220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2274727565222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2274727565222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2274727565222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2274727565222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2274727565222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a617070726f76654d6574686f6420786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b345d5d3e3c2f666c6f7761626c653a617070726f76654d6574686f643e0a20202020202020203c666c6f7761626c653a72656a65637448616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a72656a65637448616e646c6572547970653e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a20202020202020203c666c6f7761626c653a61737369676e456d70747948616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a61737369676e456d70747948616e646c6572547970653e0a20202020202020203c666c6f7761626c653a7369676e456e61626c6520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b66616c73655d5d3e3c2f666c6f7761626c653a7369676e456e61626c653e0a20202020202020203c666c6f7761626c653a726561736f6e5265717569726520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b66616c73655d5d3e3c2f666c6f7761626c653a726561736f6e526571756972653e0a20202020202020203c666c6f7761626c653a6e6f64655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b31315d5d3e3c2f666c6f7761626c653a6e6f6465547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a2020202020203c6d756c7469496e7374616e63654c6f6f7043686172616374657269737469637320697353657175656e7469616c3d22747275652220666c6f7761626c653a636f6c6c656374696f6e3d22247b636f6c6c5f757365724c6973747d223e0a20202020202020203c6c6f6f7043617264696e616c6974793e313c2f6c6f6f7043617264696e616c6974793e0a20202020202020203c636f6d706c6574696f6e436f6e646974696f6e3e247b206e724f66436f6d706c65746564496e7374616e636573202667743b3d206e724f66496e7374616e636573207d3c2f636f6d706c6574696f6e436f6e646974696f6e3e0a2020202020203c2f6d756c7469496e7374616e63654c6f6f704368617261637465726973746963733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d37626264323239362d303635622d343334652d623536332d6131633164373035626435362220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d65623033353365322d356431392d346462662d623162642d6239646561343435613034372220736f757263655265663d225374617274557365724e6f646522207461726765745265663d2241637469766974795f5f3639363633373738343231373832383737323932373136223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d65616533333231612d313462392d343831632d393731652d3365656130663331626638332220736f757263655265663d2241637469766974795f5f363936363337373834323137383238373732393237313622207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f70757263686173655f726571756573745f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2270757263686173655f726571756573745f617070726f7665222069643d2242504d4e506c616e655f70757263686173655f726571756573745f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2241637469766974795f5f3639363633373738343231373832383737323932373136222069643d2242504d4e53686170655f41637469766974795f5f3639363633373738343231373832383737323932373136223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d223233302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223338302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d65623033353365322d356431392d346462662d623162642d623964656134343561303437222069643d2242504d4e456467655f73657175656e6365466c6f772d65623033353365322d356431392d346462662d623162642d623964656134343561303437223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d65616533333231612d313462392d343831632d393731652d336565613066333162663833222069643d2242504d4e456467655f73657175656e6365466c6f772d65616533333231612d313462392d343831632d393731652d336565613066333162663833223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223333302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223338302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d37626264323239362d303635622d343334652d623536332d613163316437303562643536222069643d2242504d4e456467655f73657175656e6365466c6f772d37626264323239362d303635622d343334652d623536332d613163316437303562643536223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('d2396d4c-74fe-11f1-9120-00155dd68500', '1', 'purchase_request_approve.purchase_request_approve.png', 'd232b68a-74fe-11f1-9120-00155dd68500', X'efbfbd504e470d0a1a0a0000000d49484452000001efbfbd000000460806000000efbfbdefbfbdefbfbd0800000b7649444154785eefbfbdefbfbd4f1cefbfbd19c6892b55efbfbdefbfbd7f10efbfbd2aefbfbdefbfbdefbfbd4aefbfbd72e18ba8efbfbdefbfbdefbfbd226cefbfbd5defbfbdefbfbd00efbfbd646c4befbfbdefbfbd42efbfbd4d516423efbfbd72efbfbdefbfbd44efbfbdefbfbd0ad592efbfbd25361fefbfbd604c1d70efbfbd15efbfbd0defbfbd260e04c7b10906efbfbd6d50efbfbd60efbfbdefbfbdefbfbdefbfbd54efbfbd7707efbfbdefbfbd1aefbfbdefbfbdefbfbdefbfbdefbfbd470befbfbd71efbfbd61efbfbdefbfbd397b66efbfbdefbfbd1415efbfbdefbfbd701cefbfbdefbfbdefbfbdefbfbdefbfbd7f1f1c1c5cefbfbdefbfbdefbfbd71efbfbdefbfbdefbfbdefbfbdefbfbd65efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdc7bdefbfbdefbfbd1fefbfbdefbfbd632befbfbdefbfbdefbfbd4befbfbdefbfbdefbfbd724c685c30efbfbd75efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd45efbfbdefbfbdcb9750c8a2efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd264876efbfbd636423efbfbdefbfbdefbfbd4befbfbdefbfbdefbfbd72efbfbd132cefbfbdefbfbdefbfbd190a5fefbfbdefbfbdefbfbd332638efbfbdefbfbd31efbfbd11efbfbd4aefbfbd34efbfbd0a28efbfbd4eefbfbdefbfbd13efbfbd0cefbfbd7130efbfbdefbfbdc48fefbfbdefbfbdefbfbd5772efbfbdefbfbd57403974efbfbdefbfbd1b18efbfbd3eefbfbdefbfbdefbfbdefbfbdefbfbd46efbfbd2b59efbfbdefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6cefbfbd19efbfbdefbfbdefbfbd3372efbfbdefbfbdeba29f6919efbfbd0eefbfbd4d5aefbfbd03efbfbdefbfbd252defbfbd02efbfbd09121cefbfbd73efbfbdefbfbde1ae93cebfefbfbd1e794defbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd2538efbfbd2b59efbfbdefbfbd2befbfbdefbfbd20efbfbdefbfbd70efbfbd2d2d345cefbfbd30efbfbd79efbfbdefbfbd50efbfbdefbfbd121cefbfbd2c69efbfbd15504eefbfbdefbfbdefbfbdefbfbdefbfbd3fefbfbd05efbfbd2b5ac7b7efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6449efbfbdefbfbdefbfbd72efbfbd04efbfbd7077435a60efbfbdefbfbd757c7b287b69090eefbfbd4aefbfbdefbfbdefbfbd0a2807efbfbd214b5aefbfbd03efbfbdefbfbd252defbfbd02efbfbd09121c34efbfbdefbfbd07efbfbd2b5ac7b7efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6449efbfbdefbfbdefbfbd72efbfbd04efbfbdefbfbd2fefbfbdefbfbd1618efbfbd681defbfbd1eefbfbd5e5aefbfbd03efbfbdefbfbd252defbfbd02efbfbd09121cefbfbdefbfbdefbfbdefbfbd0c7fefbfbdd0a065efbfbdefbfbd6f0f652f2defbfbd015fc992165f01efbfbd04090eefbfbd7777cea705072defbfbdefbfbd41efbfbd494b70efbfbd57efbfbdefbfbdefbfbd5741292e2eefbfbd456969efbfbd11efbfbdefbfbd48243264efbfbdefbfbdefbfbd49efbfbd0eefbfbd725a4fefbfbdefbfbd7d0befbfbdefbfbd38efbfbd0607077f7befbfbdefbfbdefbfbd2f1a1b1b67efbfbd1d3befbfbd585d5defbfbd460d4c24122befbfbdefbfbdefbfbd2fccb26fefbfbdefbfbdefbfbd3eefbfbdefbfbdefbfbd78efbfbdefaf9940efbfbdefbfbdefbfbdefbfbdefbfbd1fefbfbd735a70efbfbd325aefbfbdefbfbd3defbfbdefbfbdefbfbd04077c254b5a7cefbfbd19efbfbd73efbfbdefbfbdefbfbdefbfbdd89e3d7b4652efbfbd4f20efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdccbc623aefbfbd373b3b3b3f3979efbfbdefbfbd723c1e77ce9e3defbfbddcba75efbfbd191b1b736667671defbfbd5eefbfbd775a4eefbfbd63efbfbdefbfbd6a6d6defbfbd786565efbfbd07efbfbd3cefbfbd6c151c74efbfbdefbfbd375fefbfbd312d345cefbfbd3a5c55efbfbd3f69090eefbfbd4aefbfbdefbfbdefbfbd6a234cefbfbdefbfbdefbfbd742c777967efbfbdefbfbd521d53611eefbfbd613aefbfbdefbfbdcc8867efbfbdd0a143efbfbd191d39efbfbdefbfbdefbfbdefbfbd1defbfbd56efbfbd76efbfbd7d5d5defbfbdefbfbdefbfbdefbfbd07efbfbd32c3ba7779d99aefbfbd3038efbfbd27efbfbdefbfbdefbfbdefbfbdefbfbdd79defbfbdefbfbdc282efbfbdefbfbdefbfbd6defbfbd367769090eefbfbd4aefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdd0b0efbfbd7424cdbc73d9bf7fefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd33efbfbdefbfbd0620efbfbdefbfbdefbfbdefbfbd767c5f2aefbfbdefbfbdefbfbd7565efbfbdefbfbdf38daeaeefbfbdcfaaefbfbdefbfbdefbfbdefbfbdefbfbd76efbfbdd5ab57efbfbdefbfbd3801efbfbdefbfbd687fefbfbdefbfbd05efbfbdefbfbdefbfbd793d5aefbfbd0befbfbdefbfbd3eefbfbd6e247cefbfbdefbfbd5d5aefbfbd03efbfbdefbfbd252defbfbdefbfbd525c5cefbfbdefbfbd19305cefbfbd7626efbfbd58efbfbd4926efbfbdefbfbdefbfbdefbfbd32efbfbd745f683bda9eefbfbdefbfbd43efbfbd52efbfbdefbfbdce8c30efbfbd71efbfbdefbfbdefbfbd7f5657573befbfbdefbfbdefbfbdefbfbd756705efbfbd13efbfbdefbfbd7fefbfbd46efbfbd315eefbfbd06efbfbdefbfbd23c8a7d78d44efbfbdefbfbdefbfbdefbfbdefbfbd121cefbfbd2c69efbfbd0befbfbd604cefbfbd71efbfbddb89efbfbd3e7dda99efbfbdefbfbdefbfbd111e08da8fefbfbd67efbfbdefbfbd2b39efbfbdefbfbd6864efbfbd4824efbfbd1fdb9b4fefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd78efbfbdefbfbdefbfbd171c3c0c32152f0f0a2e2defbfbd015fc992165fefbfbd784fd399efbfbdefbfbd0b172e386b6b6b3cefbfbd33efbfbdefbfbdefbfbd72efbfbd3c4fefbfbdcdbcefbfbd400c0c0c7c44efbfbd51efbfbd46461c53efbfbdefbfbddebd7befbfbd65efbfbd6001efbfbd0b0e68efbfbdefbfbd2538efbfbd2b59efbfbdefbfbd2befbfbd7414efbfbdefbfbd2319efbfbd44efbfbd09efbfbdefbfbd464aefbfbd4d743065efbfbd79efbfbdd4a945efbfbdcea7efbfbd24efbfbdc9b96834efbfbdefbfbdefbfbd1904efbfbd2c69090eefbfbd4aefbfbdefbfbdefbfbdefbfbdefbfbd667b67efbfbdefbfbd69efbfbd5c47461c2aefbfbd7befbfbdefbfbd66efbfbd653425efbfbdefbfbdefbfbdefbfbd2f34efbfbd2eefbfbd090c41efbfbdefbfbdefbfbdefbfbdefbfbd744949c9af791b6c05efbfbd214b5aefbfbd03efbfbdefbfbd252defbfbd321d44efbfbdefbfbd28682242efbfbdefbfbd196d05efbfbdefbfbd263a04efbfbd4360efbfbdefbfbd75efbfbdc48965efbfbdefbfbd1d06376fefbfbd7c661aefbfbd0fefbfbd0e5b4170c892efbfbdefbfbdefbfbdefbfbd6449efbfbdefbfbdefbfbd17efbfbdefbfbdefbfbdefbfbdefbfbd78efbfbd2b54efbfbd77efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6f2a2b2b035f67efbfbd2b544f5959efbfbd3333efbfbd7befbfbdefbfbd4512efbfbd4defbfbd6eefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbd25efbfbdefbfbd015fefbfbd290defbfbdefbfbd46efbfbdefbfbd743b08efbfbd7eefbfbdefbfbdefbfbd4242efbfbd7befbfbd53efbfbdefbfbd79efbfbdefbfbd3877efbfbd5c37efbfbd61214c1a1b1befbfbd4b4b4befbfbd795b24e1be895b1d6804efbfbd2c59101cefbfbdefbfbdefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbdcc99333cefbfbd0b02efbfbdefbfbd695b3d6f531a4d4d4defbfbd61efbfbdefbfbd73efbfbd76efbfbd1a0d1b2fefbfbd48efbfbdefbfbd266e7aefbfbd111cefbfbd645170efbfbd571649efbfbdefbfbdefbfbdefbfbd49773defbfbd69210cefbfbd1e4fefbfbdefbfbdefbfbdefbfbdefbfbd72efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd715e4e41191d1defbfbd30efbfbdefbfbdefbfbdefbfbd2209efbfbd03efbfbd7befbfbd111cefbfbd646170efbfbd571648efbfbdefbfbdefbfbdefbfbd6d777958efbfbd4fefbfbd78dab275efbfbd2712efbfbdefbfbdefbfbd4fefbfbdefbfbd720aefbfbdefbfbdefbfbdefbfbd69efbfbd23efbfbd1649efbfbd1c58efbfbdefbfbd03efbfbdefbfbdefbfbd25efbfbdefbfbd03efbfbd122c25efbfbdefbfbd717f0f2befbfbd1e4f1befbfbdefbfbdefbfbdefbfbdefbfbd72676565efbfbdefbfbd53504c7d2f7cefbfbd302befbfbdefbfbdefbfbd257e7c6c157c254befbfbdefbfbdd8aeefbfbd32efbfbdefbfbdefbfbdd4bbefbfbdefbfbdefbfbd34efbfbdefbfbdefbfbd56efbfbdefbfbd2d5defbfbdefbfbdefbfbdefbfbdefbfbd04efbfbd2defbfbd117e003defbfbd1eefbfbdefbfbd15efbfbdefbfbdefbfbdefbfbd2c7c25581a7c655e1fefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd4748efbfbd0f1f7e11efbfbdefbfbd44efbfbdefbfbd77efbfbdde890439efbfbdefbfbdefbfbd6c7660efbfbd480f0eefbfbd445fefbfbd6befbfbd3459181cefbfbdefbfbd7a69efbfbde0ab880defbfbd211d3f7eefbfbdefbfbdefbfbd67efbfbd5defbfbd74efbfbd1eefbfbd6befbfbd2cefbfbdefbfbd03efbfbdc586efbfbdefbfbd6c59efbfbdefbfbdc9a2efbfbdefbfbdefbfbd36592f4d1a7c15efbfbd61efbfbd5d6363efbfbdefbfbd615fefbfbd545353efbfbd6eefbfbd75481b1e582f080e59efbfbd2038efbfbd00efbfbd49efbfbdefbfbd22365cefbfbd545151efbfbd4e3c1e5f0defbfbd4e0d3fefbfbdefbfbd4d4befbfbd534350101cefbfbd243d38efbfbd025fc992065f6dc79d1aefbfbdefbfbddbb7efbfbdefbfbd19efbfbd4e0d446d6defbfbd7761efbfbdefbfbd6b6d6defbfbd6b04efbfbdefbfbd0b4d453eefbfbdefbfbdefbfbd65efbfbdefbfbdefbfbd260defbfbd41efbfbd57efbfbdefbfbdefbfbd57efbfbdefbfbd65475456567e505757efbfbd12efbfbdddbe1fefbfbdefbfbdefbfbdefbfbdddbeefbfbd53efbfbdefbfbd3fefbfbd7759efbfbdefbfbd494b70efbfbd57efbfbdefbfbdefbfbd57efbfbd10efbfbdefbfbd7defbfbdefbfbdefbfbd55efbfbd2eefbfbdefbfbdefbfbd65536a6a6aefbfbd6a6f6fefbfbdefbfbd315e67efbfbdefbfbdefbfbdefbfbd53d3b0765eefbfbdefbfbd203864494b70efbfbd57efbfbdefbfbdefbfbd57efbfbdefbfbd21efbfbd7fefbfbd24efbfbd7948043dc9951e335eefbfbd27efbfbddeb871efbfbd69efbfbd24efbfbd181befbfbd4c137defbfbdefbfbdefbfbdd2a42538efbfbd2b59efbfbdefbfbd2b2222efbfbdefbfbdefbfbd2eefbfbd277befbfbd0cefbfbd7eefbfbdefbfbdefbfbdefbfbd75efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd51efbfbd4b4a4aefbfbdefbfbd75da8eefbfbdefbfbdefbfbd69efbfbd121cefbfbd2c69efbfbdefbfbdefbfbd66efbfbd0866efbfbd13efbfbd75efbfbd44efbfbd533954efbfbdefbfbdefbfbd665e774644efbfbdd1981929efbfbdefbfbdefbfbd48293532efbfbd2befbfbd0fefbfbd34efbfbdefbfbdefbfbd252defbfbd015fc992165fefbfbd343434efbfbd32efbfbd7cefbfbd3befbfbdefbfbdefbfbd6cefbfbd7eefbfbd44efbfbd794fd3a574efbfbdefbfbdefbfbd75670cefbfbd64efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd5cefbfbd131d680243efbfbd3befbfbd1f35efbfbdefbfbd5c101cefbfbdefbfbd2538efbfbd2b59efbfbdefbfbd2b2fefbfbdefbfbdefbfbd6fefbfbdefbfbdefbfbd5eefbfbd762234efbfbdefbfbde4beb3efbfbdefbfbdefbfbd23efbfbd17da8eefbfbd6713181c2aefbfbdefbfbdefbfbd7566efbfbd29efbfbd5d335aefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd29efbfbdefbfbdefbfbd5a5b5b3f33efbfbdefbfbd6fefbfbd41efbfbdefbfbd35efbfbdefbfbdefbfbd252defbfbd015fc992165f716804efbfbd3d7de78aae536a696959efbfbdefbfbdefbfbdefbfbdefbfbd183defbfbd613defbfbdefbfbd7eefbfbdefbfbdefbfbd7befbfbdefbfbd2b2a2f2f23233f68efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdecb9a9efbfbdeb9e9eefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd676666164cefbfbdefbfbd3c79323e323272efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdda8eefbfbdefbfbd6e71deaf696aefbfbd66203864494b70efbfbde4ab85efbfbd056778783863efbfbd7eefbfbd2cefbfbdefbfbde2ab8d30efbfbdefbfbdefbfbd3befbfbd2e1befbfbdefbfbdefbfbd6e0243efbfbdd09d154c650933efbfbdefbfbdefbfbd0d19efbfbd3545efbfbd107a1d4a2d4f68efbfbd0343506c0aefbfbdefbfbd202defbfbd61efbfbdefbfbdefbfbd7329efbfbd31efbfbdefbfbd683f5eefbfbd5469efbfbdefbfbd66efbfbdefbfbd6cefbfbdefbfbd4c3befbfbdefbfbdefbfbdefbfbdefbfbdefbfbd76efbfbdefbfbd635370efbfbd0469090eefbfbd7cefbfbd11efbfbd3eefbfbdefbfbd1c33efbfbd38efbfbdefbfbd00efbfbdefbfbd6befbfbdefbfbdefbfbd7a6c0aefbfbdefbfbd202defbfbd015fc992165f01efbfbd203864494b70efbfbd57efbfbdefbfbdefbfbd574039080e59efbfbd121cefbfbd2c69efbfbd15500eefbfbd43efbfbdefbfbd04efbfbd4defbfbdefbfbd77480008efbfbdefbfbdefbfbdefbfbd09efbfbd121c36efbfbdefbfbd3aefbfbd22efbfbd59745befbfbdefbfbdefbfbd6549efbfbd165f01efbfbdefbfbd141c3b415aefbfbdefbfbd265f61efbfbd04efbfbd106c0aefbfbdefbfbd202defbfbd015fc992165f01efbfbd203864494b70efbfbd57efbfbdefbfbdefbfbd574039080e59efbfbd121cefbfbd2c69efbfbd15500eefbfbd43efbfbdefbfbd04efbfbd4defbfbdefbfbd77480008efbfbdefbfbdefbfbd676d717131efbfbdefbfbd50efbfbd32efbfbdefbfbd09efbfbd257eefbfbd6cefbfbd265f51efbfbd52efbfbd33efbfbd6e2befbfbd7eefbfbd2cefbfbdefbfbdefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd5d6e62287c3d78efbfbdefbfbd04efbfbd103f463662efbfbdefbfbdefbfbdefbfbdefbfbd34efbfbd0a28efbfbdefbfbdefbfbdefbfbdc3beefbfbdefbfbde79393efbfbd33efbfbd7cefbfbdefbfbd26efbfbd4f4e4c4cefbfbdcd84efbfbdefbfbd46efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd57efbfbd2fefbfbdefbfbd023b00322b7defbfbd327a49e79aa1efbfbd45efbfbd3befbfbdefbfbdefbfbd42efbfbdefbfbdefbfbdefbfbdefbfbd055f6defbfbd54efbfbd0a000000000000000000000000000000000000000000000000000000000000000000000000efbfbd23efbfbd050befbfbd0816330fefbfbdefbfbd0000000049454e44efbfbd4260efbfbd', '1'),
+('byte_08349f78d675f582f1ff5f08e7714a8d', NULL, 'mes-pro-feedback-audit.bpmn', 'dep_08349f78d675f582f1ff5f08e7714a8d', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226d65732d70726f2d666565646261636b2d617564697422206e616d653d22e68aa5e5b7a5e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6d65732d70726f2d666565646261636b2d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226d65732d70726f2d666565646261636b2d6175646974222069643d2242504d4e506c616e655f6d65732d70726f2d666565646261636b2d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_09ba42e32e7a436ee4e2a9b6eef0d232', NULL, 'purchase_order_approve.bpmn', 'dep_09ba42e32e7a436ee4e2a9b6eef0d232', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2270757263686173655f6f726465725f617070726f766522206e616d653d22e98787e8b4ade8aea2e58d95e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f70757263686173655f6f726465725f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2270757263686173655f6f726465725f617070726f7665222069643d2242504d4e506c616e655f70757263686173655f6f726465725f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_33d3b1649a923d986d89604267b79bbf', NULL, 'hrm_resignation.bpmn', 'dep_33d3b1649a923d986d89604267b79bbf', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f72657369676e6174696f6e22206e616d653d22e7a6bbe8818ce5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f72657369676e6174696f6e223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f72657369676e6174696f6e222069643d2242504d4e506c616e655f68726d5f72657369676e6174696f6e223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_66ea9f27906591b4d0048d854c633a82', NULL, 'hrm_transfer.bpmn', 'dep_66ea9f27906591b4d0048d854c633a82', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f7472616e7366657222206e616d653d22e8b083e58aa8e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f7472616e73666572223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f7472616e73666572222069643d2242504d4e506c616e655f68726d5f7472616e73666572223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_6e0f473d28c042b8b372d00797549423', NULL, 'wms_inbound_approve.bpmn', 'dep_6e0f473d28c042b8b372d00797549423', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22776d735f696e626f756e645f617070726f766522206e616d653d22e4bb93e5ba93e585a5e5ba93e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f776d735f696e626f756e645f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22776d735f696e626f756e645f617070726f7665222069643d2242504d4e506c616e655f776d735f696e626f756e645f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_862c6766e8cd1b32946a1ed2956a68bf', NULL, 'hrm_leave.bpmn', 'dep_862c6766e8cd1b32946a1ed2956a68bf', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f6c6561766522206e616d653d22e8afb7e58187e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f6c65617665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f6c65617665222069643d2242504d4e506c616e655f68726d5f6c65617665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_9b3368e05f1d39dee636f464f2d65c16', NULL, 'wms_transfer_approve.bpmn', 'dep_9b3368e05f1d39dee636f464f2d65c16', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22776d735f7472616e736665725f617070726f766522206e616d653d22e4bb93e5ba93e8b083e68ba8e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f776d735f7472616e736665725f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22776d735f7472616e736665725f617070726f7665222069643d2242504d4e506c616e655f776d735f7472616e736665725f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_b6e816103961b88392e4ac24c87dddf8', NULL, 'supplier_apply_approve.bpmn', 'dep_b6e816103961b88392e4ac24c87dddf8', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22737570706c6965725f6170706c795f617070726f766522206e616d653d22e4be9be5ba94e59586e58786e585a5e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f737570706c6965725f6170706c795f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22737570706c6965725f6170706c795f617070726f7665222069643d2242504d4e506c616e655f737570706c6965725f6170706c795f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_b9d15a0bc2b775bebb84987fb4b07cad', NULL, 'sale_order_approve.bpmn', 'dep_b9d15a0bc2b775bebb84987fb4b07cad', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2273616c655f6f726465725f617070726f766522206e616d653d22e99480e594aee8aea2e58d95e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f73616c655f6f726465725f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2273616c655f6f726465725f617070726f7665222069643d2242504d4e506c616e655f73616c655f6f726465725f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_bed6796545faa2cb7851a019948e4e49', NULL, 'wms_outbound_approve.bpmn', 'dep_bed6796545faa2cb7851a019948e4e49', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22776d735f6f7574626f756e645f617070726f766522206e616d653d22e4bb93e5ba93e587bae5ba93e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f776d735f6f7574626f756e645f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22776d735f6f7574626f756e645f617070726f7665222069643d2242504d4e506c616e655f776d735f6f7574626f756e645f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_c16d0eef322695bed1c0c20e1d0190ce', NULL, 'item_receipt_approve.bpmn', 'dep_c16d0eef322695bed1c0c20e1d0190ce', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226974656d5f726563656970745f617070726f766522206e616d653d22e98787e8b4ade585a5e5ba93e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6974656d5f726563656970745f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226974656d5f726563656970745f617070726f7665222069643d2242504d4e506c616e655f6974656d5f726563656970745f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_d1d2025350ea9af098ca7dbe6e80b442', NULL, 'hrm_attendance_approve.bpmn', 'dep_d1d2025350ea9af098ca7dbe6e80b442', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f617474656e64616e63655f617070726f766522206e616d653d22e88083e58ba4e5bc82e5b8b8e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f617474656e64616e63655f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f617474656e64616e63655f617070726f7665222069643d2242504d4e506c616e655f68726d5f617474656e64616e63655f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_ecb89d4a54da3ae23601fef85642b0ce', NULL, 'hrm_overtime.bpmn', 'dep_ecb89d4a54da3ae23601fef85642b0ce', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f6f76657274696d6522206e616d653d22e58aa0e78fade5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f6f76657274696d65223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f6f76657274696d65222069643d2242504d4e506c616e655f68726d5f6f76657274696d65223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_febd13bedc800a97127ae1c042eb557b', NULL, 'crm-contract-audit.bpmn', 'dep_febd13bedc800a97127ae1c042eb557b', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2263726d2d636f6e74726163742d617564697422206e616d653d22e59088e5908ce5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f63726d2d636f6e74726163742d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2263726d2d636f6e74726163742d6175646974222069643d2242504d4e506c616e655f63726d2d636f6e74726163742d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('f1a1b2c3d4e5465f8a9b0c1d2e3f4a5c', '1', 'erp-finance-payment-audit.bpmn', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226572702d66696e616e63652d7061796d656e742d617564697422206e616d653d22e4bb98e6acbee5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6572702d66696e616e63652d7061796d656e742d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226572702d66696e616e63652d7061796d656e742d6175646974222069643d2242504d4e506c616e655f6572702d66696e616e63652d7061796d656e742d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0');
+
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('a5ad52d3-bb16-11f1-81f2-00155dd68500', '1', 'ums_membership_approve.bpmn', 'a5ad52d2-bb16-11f1-81f2-00155dd68500', X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D22756D735F6D656D626572736869705F617070726F766522206E616D653D22E585A5E4BC9AE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F73656372657461726961745F617564697422206E616D653D22E7A798E4B9A6E5A484E5889DE5AEA1223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F636F756E63696C5F72657669657722206E616D653D22E79086E4BA8BE4BC9AE5AEA1E8AEAE223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F73656372657461726961745F6175646974223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F73656372657461726961745F617564697422207461726765745265663D2241637469766974795F636F756E63696C5F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F636F756E63696C5F72657669657722207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F756D735F6D656D626572736869705F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22756D735F6D656D626572736869705F617070726F7665222069643D2242504D4E506C616E655F756D735F6D656D626572736869705F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F73656372657461726961745F6175646974222069643D2242504D4E53686170655F41637469766974795F73656372657461726961745F6175646974223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F636F756E63696C5F726576696577222069643D2242504D4E53686170655F41637469766974795F636F756E63696C5F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223533302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', '0');
+
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('575d6449-bb1d-11f1-81f2-00155dd68500', '1', 'research_topic_approve.bpmn', '575d6448-bb1d-11f1-81f2-00155dd68500', X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D2272657365617263685F746F7069635F617070726F766522206E616D653D22E8AFBEE9A298E7AB8BE9A1B9E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F73656372657461726961745F72657669657722206E616D653D22E7A798E4B9A6E5A484E5BDA2E5BC8FE5AEA1E69FA5223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F6578706572745F72657669657722206E616D653D22E4B893E5AEB6E8AF84E5AEA1223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F636F756E63696C5F617070726F766522206E616D653D22E5ADA6E4BC9AE7AB8BE9A1B9E5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F73656372657461726961745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F73656372657461726961745F72657669657722207461726765745265663D2241637469766974795F6578706572745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F6578706572745F72657669657722207461726765745265663D2241637469766974795F636F756E63696C5F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D352220736F757263655265663D2241637469766974795F636F756E63696C5F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F72657365617263685F746F7069635F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D2272657365617263685F746F7069635F617070726F7665222069643D2242504D4E506C616E655F72657365617263685F746F7069635F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F73656372657461726961745F726576696577222069643D2242504D4E53686170655F41637469766974795F73656372657461726961745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F6578706572745F726576696577222069643D2242504D4E53686170655F41637469766974795F6578706572745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F636F756E63696C5F617070726F7665222069643D2242504D4E53686170655F41637469766974795F636F756E63696C5F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223533302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223638302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D35222069643D2242504D4E456467655F73657175656E6365466C6F772D35223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223638302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', '0');
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('5790a94a-bb1d-11f1-81f2-00155dd68500', '1', 'research_topic_approve.research_topic_approve.png', '575d6448-bb1d-11f1-81f2-00155dd68500', X'89504E470D0A1A0A0000000D49484452000002D0000000460806000000E5F7A3EB00000F0B49444154785EED9DDF6F1CD515C78720553CF01F543C41FF8F228178F0036AA5F53A1B0558EF5AB1218E9008204544B56B5E6A5521522BAAF605252A95554B019BE0242436C1049B0684D462A70921C64013B3D826218E7062273BBDC7F24897B3637BF6C799BDF7F8FB913E32B977E6CE64EFD7277787D9D92000751186E12F666666FE393939B9323A3A1A9E3E7D1AA6AC79DDCBE3E3E3D7C6C6C69EE4F3E32BC855F345AEA084C815945063AE80724CD11834A10D4BA552B8BCBC1CDEB97307A62CBDEEF4FA9F3D7BF64753485AF81CF90872D57C912B2821720525D4982BA01C7AC74DA1E56186E93B3737B7600AC7793E473E825CB92372052544AEA0849A72059443FFBB0AEFB8DD90E6C1148EDB7C8E7C04B97247E40A4A885C410935E50A2887EE3DE20186CD93E683CF918F20576E895C4109912B28A1965C01E5242D1CB76ECC85339FBC114E9FF9FD9AF4DFD4C6B783F5A9A57020576E895C2157122257C895845A72059493A4702C5DBF1A4E9D3A18FEFBDD177F26B5511FDF1ED6AE96C2815CB92572855C49885C2157126AC915504E92C2F1EDF47045D188FCDFF43B15DBC3DAD55238902BB744AE902B09912BE44A422DB902CA495238FEFBFE1F2A0A4624F5F1ED61ED6A291CC8955B2257C89584C8157225A1965C01E524291C53A77B2A0A4624F5F1ED61ED6A291CC8955B2257C89584C8157225A1965C01E5A070B8A596C2815CB92572855C49885C2157126AC915504E92C2419F36E6052392FAF8F6B076B5140EE4CA2D912BE44A42E40AB992504BAE807292148ECB1FFDB9A26044521FDF1ED6AE96C2815CB92572855C49885C2157126AC915504E92C2B178F53FE1D47BBFAB281AD4467D7C7B58BB5A0A0772E596C81572252172855C49A825574039490A07F9D5A7472B0A07B5F1ED607D6A291CC8955B2257C89584C8157225A1965C252593C93C92CD665F340EB7B5B59D377E6B0CD77F9EA776EAA7EDF8BEE28461B8637272F2B7478F1E7DAFB7B777E1E5975F5EEEEAEA2AD309767676AEEEDFBFFFA669FBB2AFAFEF8FF97CFE21BEBF6612158EDBB7C3CB137FA9281CD4467D15DBC39AD55238902BB744AE902B09912BE44A422DB9DA0CB318BEDFAC410B3B77EE9C5E5F2C27727DFB02EDCFC76C2866E1FCC0C99327FF76F0E0C19562B118BEFEFAEBE1C71F7F1C5EB972255C5C5C0C09FA497FA676EA2F140AF7BABBBB673A3A3A9EE0E36964ABC241DFB0F4C5477FAA281A91D4876F616A9C5A0A0772E596C81572252172855C49A825571B6116C02D66217C812F8EAB717D21DDC2C76E086641FC5C5F5FDFF2F3CF3F1F4E4E4E86F7EEDD5B5B306F056D47DBEFDBB76FF5D9679FFD2C9BCD3ECCC7D6C48685C3BCA39EBB3C167E7EF24045B1E0D236B42DDE85D7AF96C2815CB92572855C49885C2157126AC915A7A7A7678759F8F6F3C5F033CF3C131E3E7C381C1F1F8FBDC04BEDD44FDBF17D693C1A971FAB26CC31EF3B75EAD49B7BF6EC09474646C2BB77EFFE7C859C10DA8FF637277CCB9CE0E3FC385A882B1C5BBDDBDE48BC0BAF5F2D8503B9724BE4AA52E4AA7E91AB4A91ABFAD5922B9B4C26F360369B7DD75EFC160A85706868285C5959E14BD058683BDA9EF6B3C7A171697C7ECCAA30E3DF77ECD8B17F75757585172F5EE4C7AE091AA7582CFE94CBE50AFC781A882B1C49DE6D6F24EDCBC783C9D55238902BB744AEE245AEEA13B98A17B9AA4F2DB98AA02BC466A17BDC5EF41E3A74285C5A5AE24BCE44D07EB43FBB1A7DBCAE2BD174E5B9B3B3332C954AFC787541E3E5F3F9A5D6D6D6C7F8317D27AE70F06250AD7C3C985C2D8503B9724BE46A63F97830B9C8D5C6F2F16072B5E42AC2BE6DC3FC773838381896CB65BED4AC0ADA9FC6A1F1ACB1FBF9B113313131F11C2D9E1B75E59963C62D3FF5D453D79BF2181141E20A076C9E5A0A0772E596C8159410B982126AC9156116B62DF695625AF436121A8F5D89AEEE8385668C075E7DF5D565BA675992A1A1A1EBB95CEE243FBECFA070B8A596C2815CB92572052544AEA0845A72458F9AB39FB641B75DD47BE59943E3D9B773D0D339AA7AC4DD891327FE4A4FDBA8F5038349A1F18BC5E27C6B6BEBA3FC1C7C0585C32DB5140EE4CA2D912B2821720525D4922BB3A02D440B5BFAE05FADF73C6F058DCB3E5898EC337B66DF1DAFBCF2CA0A3D7A2E0DCE9D3B77C39CDC87FC3C7C0585C32DB5140EE4CA2D912B2821720525D4922BFB4B52868787F972B2A1D0F8F655687E2EB14C4C4CFCA6A3A323F1739EEB858EB36BD7AE1B994CE697FC5C5CC2BC88EF1B7FCDDB39281C6EE97AE140AEFC14B98212225750420DB9CAE572BF8A16B4F4FC66FA7B4942E3DBCF89A6E3F373AAE0C89123A7E91B04D3A4B7B7772A9BCD76F1737189E845DC6AA25138DCD283C2815C792872052544AEA0841A7265DAF747DBBDF6DA6B7C1929021DC73AB7FDFC9C2AE8EBEB9B4FEBF68D883367CED065F963FC5C5CC27A11379D68140EB7F4A87020571E895C4109912B28A1865C993F0F45FDF44D826940C7B1CE69C83E9F585E7AE9A5E59999193E8E28972E5D9A3527F7093F17978899E0D88946E1704B0F0B0772E581C8159410B982126AC895F9F949D49ED61A958E639DCBD66BD4CECECEF20F3FFCC0C71165717171C99CDC557E2E2E1133B1DCB58946E1704B8F0B0772E5B0C8159410B982122AC9D542F4E7B4D6A8741CEB1CB65EA3EEDEBD3B5C5D5DE5E388628E7733E605F352140EB7E4F3E3ABC8955BF2F9F155E4CA2DF9FCF82A72E5967C7E7C37AD352A1DC73AEE6DBE5EAE60CF9E3DAB69ADEE23E6E7E7BF6C4BB2BA6F227C022DDF6FC3FFBA72568FDF7923570E8B5C4109912B28A1865C999F57A3F6B4D6A8555F817EE185176EA6757F49C4850B173E6D4B727F4913D96C626D5C2F1CE614636D54BF6B7A58389A92AB20664E492DFD8D16B9923188994332ADFE668B5CD5661033A7A42FFDD26AC8559B0FF7401F3870E08BB49FC2F1D65B6F0DB7F9F3148E8A89B549BB70546B10F34B6BB7D5DBEF9A1E158EA6E62A889943BBCDF7FE468B5CC918C4CC99DD26DDDF6C91ABDA0C62E6D06E73BD5F5A0DB96AF3E1291CBDBDBD7F4CFB39D07BF7EE1DF1E039D01B4EAC4DDA85A35A83985F5ABBADDE7ED7F4A0703891AB20660EED36DFFB1B2D722563103367769B747FB345AE6A33889943BBCDF57E6935E4AACD87E740E7F3F9878AC5E2BD14BF89F03B7362F3AE7F136152D22E1CD51AC4FCD2DA6DF5F6BBA6EB852329D2B90A62E6D06EF3BDBFD122573206317366B749F7375BE4AA36839839B4DB5CEF975643AE9AF14D844F3FFD74393A66A26F2224BABBBBBF4AEB368E818181BF9B93FB909F83AFA45D38AA3588F9A5B5DBEAED774D0D858390CE55103387769BEFFD8D16B99231889933BB4DBABFD92257B519C4CCA1DDE67ABFB45A72B573E74EFAD2BDB505EDF0F0305F4E36141A3F3A161D979FCB867474743CB16FDFBED5BB77EFF2311B8A19FF5B7372975B5B5B1FE5E7E02B69178E6A0D627E69EDB67AFB5D534BE190CE55103387769BEFFD8D16B99231889933BB4DBABFD92257B519C4CCA1DDE67ABFB45A7265D68B8568515B2814C2A5A525BEAC6C08346E7B7BFBBDE858745C7E2E9BB277EFDECF464646CA7CE00652EEEFEF7FC39CD8083FB6CFA45D38AA3588F9A5B5DBEAED774D2D85433A5741CC1CDA6DBEF7375AE44AC62066CEEC36E9FE668B5CD566103387769BEBFDD26AC9552693B9DFBE0A7DE8D0A1B05C6EEC3295C6A371EDABCF745C7E2E9B627678249FCF2F5DBC78918FDF103EF8E08323E6E4E6E838FCD83E9376E1A856738AB136AADF35B5140EE95C0531734A6AE96FB4C8958C41CC1C9269F5375BE4AA36839839257DE997564BAE08B36E6CB1AE0C878383837C795917349E3D3E1D8F9F4322CCCAFBF1F6F6F69F4AA5123F465DCCCECEBE634EEA5A6B6BEB63FC98BE9376E1809BABA57020576E895C4109912B28A1965C4598B569BF7585786DD15BEF9568DA9FC6A1F1ACB1FBF9B1AB2297CB15F2F9FCCD465D895EBFF24CDF28D3CE8FA501140EB7D45238902BB744AEA084C81594504BAE227A7A7A769835E471FB4A31DD7651EB3DD1B49F7DDBC6BAC7E938FCD85543578A77EFDE7D7D6868E87AAD1F2CA40F0CAEDFF3FC9DC62BCF11281C6EA9A57020576E895C4109912B28A1965CD964329907B3D9ECBBF6A2973E5868D6A9E1CACA0A5F82C642DBD1F6EC0383218D4BE3F363D68C19F0E15C2E77AA582CCE9F3B77EE46D2E7449BED4A0303036F9A93BA6C3C41E3F0B13581C2E1965A0A0772E596C8159410B982126AC91587AE10DBB77344D273A20F1F3EBCF64D8257AE5C09171717D7D6A3F493FE4CEDD46F3FE73992C66BC895E738E89173E620E3BB76EDFAD11CE4F3D1D1D1A94B972E7DB3B0B070CB9CDFD2F7DF7F3F333D3DFDE9DB6FBF3DD4DDDD7DC26CBB40DB6B7A54DD66A070B8A596C2E153AE6EDDBA154E4D4D552DEDC7C77255E42A7D912B7F40AEDC524BAE36C2AC315BECA773D4E2FAFEB57D60B05AE89B03CDC13AB3D9ECB0F979DE48CF74A613A19FE7D7DB3BB57CC360527C2A1CDB412D85C3A75CD13F2E41CC27CEB792F6E363B92A7295BEC8953F20576EA925579B418F9A336BCE42B50BE9F5ED0B553FAA0E341E9F0AC776504BE1F02957B8A2E30FC8955B2257E98B5CE9831E8F9CCD665FDCEC022FF56B7B8CB2F7F85438B6835A0A0772E596C8159410B982126AC915500E0A875B6A291CC8955B22575042E40A4AA825574039281C6EA9A57020576E895C4109912B28A1965C01E5A070B8A596C2E153AE704FA13F20576E895CA52F72058023F85438B6835A0A874FB9A27F5C82984FAD6F25EDC7C77255E42A7D912B7F40AEDC524BAE80727C2A1CDB412D85C3A75CE18A8E3F20576E895CA52F72058023F85438B6835A0A0772E596C8159410B982126AC915500E0A875B6A291CC8955B22575042E40A4AA825574039281C6EA9A57020576E895C4109912B28A1965C01E5A070B8A596C2E153AE704FA13F20576E895CA52F720580238C8E8E969797972B020CD3D7CCC33553386EF339F2119F7245FFB804319F5ADF4ADA8F8FE5A2C8557344AEFC01B972474DB902CA191F1FBF562A952A420CD3F7EBAFBF1E3085E33C9F231FF12957DAAFE82057CD11B9F207E4CA1D35E50A28676C6CECC9B367CFFE383737B7E0CB3B706D9AD77D6E7676F61FA6687C636CE173E423C855F345AEA084C815945063AEC03680C24AEFF88C778C6BF71FC154A5D79D5E7F554583FE3EEB7F2FE4AA3922575042E40A4AA8325700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036E1FF32BDF83D641CD66B0000000049454E44AE426082', '1');
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('558289c7-bb1d-11f1-81f2-00155dd68500', '1', 'source', NULL, X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D2272657365617263685F746F7069635F617070726F766522206E616D653D22E8AFBEE9A298E7AB8BE9A1B9E5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F73656372657461726961745F72657669657722206E616D653D22E7A798E4B9A6E5A484E5BDA2E5BC8FE5AEA1E69FA5223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F6578706572745F72657669657722206E616D653D22E4B893E5AEB6E8AF84E5AEA1223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F636F756E63696C5F617070726F766522206E616D653D22E5ADA6E4BC9AE7AB8BE9A1B9E5AEA1E689B9223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F73656372657461726961745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F73656372657461726961745F72657669657722207461726765745265663D2241637469766974795F6578706572745F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F6578706572745F72657669657722207461726765745265663D2241637469766974795F636F756E63696C5F617070726F7665223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D352220736F757263655265663D2241637469766974795F636F756E63696C5F617070726F766522207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F72657365617263685F746F7069635F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D2272657365617263685F746F7069635F617070726F7665222069643D2242504D4E506C616E655F72657365617263685F746F7069635F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F73656372657461726961745F726576696577222069643D2242504D4E53686170655F41637469766974795F73656372657461726961745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F6578706572745F726576696577222069643D2242504D4E53686170655F41637469766974795F6578706572745F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F636F756E63696C5F617070726F7665222069643D2242504D4E53686170655F41637469766974795F636F756E63696C5F617070726F7665223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223533302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223638302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D35222069643D2242504D4E456467655F73657175656E6365466C6F772D35223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223633302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223638302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', NULL);
+
+
+-- ============ 琛細act_re_model锛堝鍑� 22 琛岋級 ============
+DROP TABLE IF EXISTS `act_re_model`;
+CREATE TABLE `act_re_model` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_FK_MODEL_SOURCE` (`EDITOR_SOURCE_VALUE_ID_`) USING BTREE,
+  KEY `ACT_FK_MODEL_SOURCE_EXTRA` (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) USING BTREE,
+  KEY `ACT_FK_MODEL_DEPLOYMENT` (`DEPLOYMENT_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_MODEL_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `act_re_deployment` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_MODEL_SOURCE` FOREIGN KEY (`EDITOR_SOURCE_VALUE_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_MODEL_SOURCE_EXTRA` FOREIGN KEY (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES
+('0b7c7577949111f192711ab6da3745b7', '1', '鏉ョエ瀹℃壒娴佺▼', 'erp-purchase-invoice-audit', 'erp_purchase_invoice_approve', '2026-08-10 15:57:11.000', '2026-08-10 15:57:11.000', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[1],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1785465606228,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":10,"visible":true}', '0b7c7557949111f192711ab6da3745b7', '0b7c7572949111f192711ab6da3745b7', NULL, ''),
+('23afd50c-8c89-11f1-8a27-00155dad6485', '5', '鍥炴瀹℃壒娴佺▼', 'crm-receivable-audit', '1111', '2026-07-31 18:40:06.233', '2026-08-10 15:25:04.000', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[1],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1785465606228,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":20,"visible":true}', '7215184e-948c-11f1-9271-1ab6da3745b7', '23d3fedd-8c89-11f1-8a27-00155dad6485', '23db9ffe-8c89-11f1-8a27-00155dad6485', ''),
+('44318b176050e94d2c4a86595763dde8', '1', '浜у搧椤圭洰瀹℃壒娴佺▼', 'mes-pd-project-audit', 'mes_pd_project_approve', '2026-08-13 16:12:35.000', '2026-08-13 16:12:35.000', '1', '{"type":10,"sort":1788501889992.000,"formType":10,"visible":true}', 'ce99813cfeb29f270355dd39f8ef74f2', NULL, NULL, NULL),
+('5ddab987-74f9-11f1-91b4-00155dd68500', '7', '閲囪喘瀹℃牳', 'purchase_request_approve', 'purchase_request_approve', '2026-07-01 19:02:59.548', '2026-07-01 19:42:02.328', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[142],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1782874979545,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":20,"visible":true}', 'd232b68a-74fe-11f1-9120-00155dd68500', '5dfd83c8-74f9-11f1-91b4-00155dd68500', '5dff7f99-74f9-11f1-91b4-00155dd68500', ''),
+('c101d3e2-0001-11f2-8a27-00155dad6485', '1', '寮�绁ㄥ鎵规祦绋�', 'crm-invoice-audit', 'crm_invoice_approve', '2026-08-10 14:35:45.000', '2026-08-10 14:35:45.000', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[1],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1785465606228,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":10,"visible":true}', 'c101d3e0-0001-11f2-8a27-00155dad6485', 'c101d3e3-0001-11f2-8a27-00155dad6485', NULL, ''),
+('f1a1b2c3d4e5465f8a9b0c1d2e3f4a5c', '1', '浠樻瀹℃壒娴佺▼', 'erp-finance-payment-audit', 'erp_finance_payment_approve', '2026-08-10 17:35:58.000', '2026-08-10 17:35:58.000', '1', '{"type":10,"sort":1788501889992.000,"formType":10,"visible":true}', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', NULL, NULL, ''),
+('model_08349f78d675f582f1ff5f08e7714a8d', NULL, '鎶ュ伐瀹℃壒', 'mes-pro-feedback-audit', 'mes_pro_feedback_audit', '2026-09-04 06:09:24.000', '2026-09-04 06:09:24.000', '1', '{"type":10,"formType":10,"sort":1788502164266.000,"visible":true}', 'dep_08349f78d675f582f1ff5f08e7714a8d', NULL, NULL, ''),
+('model_09ba42e32e7a436ee4e2a9b6eef0d232', NULL, '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', 'purchase_order_approve', '2026-09-04 06:07:01.000', '2026-09-04 06:07:01.000', '1', '{"type":10,"formType":10,"sort":1788502021886.000,"visible":true,"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":null,"managerUserIds":[],"startUserIds":[],"startDeptIds":[],"icon":null,"processBeforeTriggerSetting":null,"processAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"taskAfterTriggerSetting":null,"printTemplateSetting":null,"summarySetting":null,"titleSetting":null,"processIdRule":null}', 'dep_09ba42e32e7a436ee4e2a9b6eef0d232', NULL, NULL, ''),
+('model_33d3b1649a923d986d89604267b79bbf', NULL, '绂昏亴瀹℃壒', 'hrm_resignation', 'hrm_resignation_approve', '2026-09-04 06:08:24.000', '2026-09-04 06:08:24.000', '1', '{"type":10,"formType":10,"sort":1788502104477.000,"visible":true}', 'dep_33d3b1649a923d986d89604267b79bbf', NULL, NULL, ''),
+('model_66ea9f27906591b4d0048d854c633a82', NULL, '璋冨姩瀹℃壒', 'hrm_transfer', 'hrm_transfer_approve', '2026-09-04 06:08:31.000', '2026-09-04 06:08:31.000', '1', '{"type":10,"formType":10,"sort":1788502111086.000,"visible":true}', 'dep_66ea9f27906591b4d0048d854c633a82', NULL, NULL, ''),
+('model_6e0f473d28c042b8b372d00797549423', NULL, '浠撳簱鍏ュ簱瀹℃壒', 'wms_inbound_approve', 'wms_approve', '2026-09-04 06:08:56.000', '2026-09-04 06:08:56.000', '1', '{"type":10,"formType":10,"sort":1788502136794.000,"visible":true}', 'dep_6e0f473d28c042b8b372d00797549423', NULL, NULL, ''),
+('model_862c6766e8cd1b32946a1ed2956a68bf', NULL, '璇峰亣瀹℃壒', 'hrm_leave', 'hrm_leave_approve', '2026-09-04 06:07:26.000', '2026-09-04 06:07:26.000', '1', '{"type":10,"formType":10,"sort":1788502046995.000,"visible":true}', 'dep_862c6766e8cd1b32946a1ed2956a68bf', NULL, NULL, ''),
+('model_9b3368e05f1d39dee636f464f2d65c16', NULL, '浠撳簱璋冩嫧瀹℃壒', 'wms_transfer_approve', 'wms_approve', '2026-09-04 06:09:10.000', '2026-09-04 06:09:10.000', '1', '{"type":10,"formType":10,"sort":1788502150287.000,"visible":true}', 'dep_9b3368e05f1d39dee636f464f2d65c16', NULL, NULL, ''),
+('model_b6e816103961b88392e4ac24c87dddf8', NULL, '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', 'supplier_apply_approve', '2026-09-04 06:08:50.000', '2026-09-04 06:08:50.000', '1', '{"type":10,"formType":10,"sort":1788502130293.000,"visible":true}', 'dep_b6e816103961b88392e4ac24c87dddf8', NULL, NULL, ''),
+('model_b9d15a0bc2b775bebb84987fb4b07cad', NULL, '閿�鍞鍗曞鎵�', 'sale_order_approve', 'sale_order_approve', '2026-09-04 06:06:43.000', '2026-09-04 06:06:43.000', '1', '{"type":10,"formType":10,"sort":1788502003324.000,"visible":true,"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":null,"managerUserIds":[],"startUserIds":[],"startDeptIds":[],"icon":null,"processBeforeTriggerSetting":null,"processAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"taskAfterTriggerSetting":null,"printTemplateSetting":null,"summarySetting":null,"titleSetting":null,"processIdRule":null}', 'dep_b9d15a0bc2b775bebb84987fb4b07cad', NULL, NULL, ''),
+('model_bed6796545faa2cb7851a019948e4e49', NULL, '浠撳簱鍑哄簱瀹℃壒', 'wms_outbound_approve', 'wms_approve', '2026-09-04 06:09:03.000', '2026-09-04 06:09:03.000', '1', '{"type":10,"formType":10,"sort":1788502143438.000,"visible":true}', 'dep_bed6796545faa2cb7851a019948e4e49', NULL, NULL, ''),
+('model_c16d0eef322695bed1c0c20e1d0190ce', NULL, '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', 'item_receipt_approve', '2026-09-04 06:09:17.000', '2026-09-04 06:09:17.000', '1', '{"type":10,"formType":10,"sort":1788502157420.000,"visible":true}', 'dep_c16d0eef322695bed1c0c20e1d0190ce', NULL, NULL, ''),
+('model_d1d2025350ea9af098ca7dbe6e80b442', NULL, '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', 'hrm_attendance_approve', '2026-09-04 06:08:38.000', '2026-09-04 06:08:38.000', '1', '{"type":10,"formType":10,"sort":1788502118154.000,"visible":true}', 'dep_d1d2025350ea9af098ca7dbe6e80b442', NULL, NULL, ''),
+('model_ecb89d4a54da3ae23601fef85642b0ce', NULL, '鍔犵彮瀹℃壒', 'hrm_overtime', 'overtime_approve', '2026-09-04 06:07:33.000', '2026-09-04 06:07:33.000', '1', '{"type":10,"formType":10,"sort":1788502053543.000,"visible":true}', 'dep_ecb89d4a54da3ae23601fef85642b0ce', NULL, NULL, ''),
+('model_febd13bedc800a97127ae1c042eb557b', NULL, '鍚堝悓瀹℃壒', 'crm-contract-audit', 'contract_approve', '2026-09-04 06:07:09.000', '2026-09-04 06:07:09.000', '1', '{"type":10,"formType":10,"sort":1788502029973.000,"visible":true,"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":null,"managerUserIds":[],"startUserIds":[],"startDeptIds":[],"icon":null,"processBeforeTriggerSetting":null,"processAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"taskAfterTriggerSetting":null,"printTemplateSetting":null,"summarySetting":null,"titleSetting":null,"processIdRule":null}', 'dep_febd13bedc800a97127ae1c042eb557b', NULL, NULL, '');
+
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('a5892900-bb16-11f1-81f2-00155dd68500', '3', '鍏ヤ細瀹℃壒', 'ums_membership_approve', 'ums_membership_approve', '2026-09-28 16:28:56.610', '2026-09-28 16:28:57.434', '1', '{"allowCancelRunningProcess":null,"allowWithdrawTask":null,"autoApprovalType":null,"description":null,"formCustomCreatePath":"/ums/application/index","formCustomViewPath":"/ums/application/detail/approve/index.vue","formId":null,"formType":20,"icon":null,"managerUserIds":[1],"printTemplateSetting":null,"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":null,"sort":1790584136609,"startDeptIds":null,"startUserIds":null,"summarySetting":null,"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":null,"type":10,"visible":true}', 'a5ad52d2-bb16-11f1-81f2-00155dd68500', NULL, NULL, '');
+
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('557c2126-bb1d-11f1-81f2-00155dd68500','3','璇鹃绔嬮」瀹℃壒','research_topic_approve','research_topic_approve','2026-09-28 17:16:48.781','2026-09-28 17:16:52.482','1','{"allowCancelRunningProcess":null,"allowWithdrawTask":null,"autoApprovalType":null,"description":"璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛�","formCustomCreatePath":"/research/application/index","formCustomViewPath":"/research/application/detail/approve/index.vue","formId":null,"formType":20,"icon":null,"managerUserIds":[1],"printTemplateSetting":null,"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":null,"sort":1790587008761,"startDeptIds":null,"startUserIds":null,"summarySetting":null,"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":null,"type":10,"visible":true}','575d6448-bb1d-11f1-81f2-00155dd68500','558289c7-bb1d-11f1-81f2-00155dd68500',NULL,'');
+
+
+-- ============ 琛細bpm_process_definition_info锛堝鍑� 22 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_process_definition_info`;
+CREATE TABLE `bpm_process_definition_info` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹氫箟鐨勭紪鍙�',
+  `model_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼妯″瀷鐨勭紪鍙�',
+  `model_type` tinyint NOT NULL DEFAULT '10' COMMENT '娴佺▼妯″瀷鐨勭被鍨�',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼鍒嗙被鐨勭紪鐮�',
+  `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥炬爣',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `form_type` tinyint NOT NULL DEFAULT '10' COMMENT '琛ㄥ崟绫诲瀷锛�10鏅�氳〃鍗� 20鑷畾涔夎〃鍗曪級',
+  `form_id` bigint DEFAULT NULL COMMENT '鍔ㄦ�佽〃鍗曠紪鍙�',
+  `form_conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '琛ㄥ崟鐨勯厤缃�',
+  `form_fields` json DEFAULT NULL COMMENT '琛ㄥ崟椤圭殑鏁扮粍',
+  `form_custom_create_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鎻愪氦璺緞',
+  `form_custom_view_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鏌ョ湅璺緞',
+  `simple_model` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'SIMPLE 璁捐鍣ㄦā鍨嬫暟鎹�',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍙',
+  `sort` bigint NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `start_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧风敤鎴风紪鍙锋暟缁�',
+  `start_dept_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧烽儴闂ㄧ紪鍙锋暟缁�',
+  `manager_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙鐞嗙敤鎴风紪鍙锋暟缁�',
+  `allow_cancel_running_process` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽鎾ら攢瀹℃壒涓殑鐢宠',
+  `allow_withdraw_task` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽瀹℃壒浜烘挙鍥炰换鍔�',
+  `process_id_rule` json DEFAULT NULL COMMENT '娴佺▼ ID 瑙勫垯',
+  `auto_approval_type` tinyint DEFAULT NULL COMMENT '鑷姩鍘婚噸绫诲瀷',
+  `title_setting` json DEFAULT NULL COMMENT '鏍囬璁剧疆',
+  `summary_setting` json DEFAULT NULL COMMENT '鎽樿璁剧疆',
+  `process_before_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍓嶇疆閫氱煡璁剧疆',
+  `process_after_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍚庣疆閫氱煡璁剧疆',
+  `task_before_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍓嶇疆閫氱煡璁剧疆',
+  `task_after_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍚庣疆閫氱煡璁剧疆',
+  `print_template_setting` json DEFAULT NULL COMMENT '鑷畾涔夋墦鍗版ā鏉胯缃�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼瀹氫箟鎷撳睍淇℃伅琛�';
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('8', 'purchase_request_approve:3:d239e27d-74fe-11f1-9120-00155dd68500', '5ddab987-74f9-11f1-91b4-00155dd68500', '20', 'purchase_request_approve', NULL, '', '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"select\\"}"]', '', '', '{"buttonsSetting":[{"displayName":"鎻愪氦","enable":true,"id":1},{"displayName":"鎷掔粷","enable":false,"id":2},{"displayName":"杞姙","enable":false,"id":3},{"displayName":"濮旀淳","enable":false,"id":4},{"displayName":"鍔犵","enable":false,"id":5},{"displayName":"閫�鍥�","enable":false,"id":6}],"childNode":{"approveMethod":4,"approveType":1,"assignEmptyHandler":{"type":1,"userIds":null},"assignStartUserHandlerType":1,"buttonsSetting":[{"displayName":"閫氳繃","enable":true,"id":1},{"displayName":"鎷掔粷","enable":true,"id":2},{"displayName":"杞姙","enable":true,"id":3},{"displayName":"濮旀淳","enable":true,"id":4},{"displayName":"鍔犵","enable":true,"id":5},{"displayName":"閫�鍥�","enable":true,"id":6}],"candidateParam":"142","candidateStrategy":30,"childNode":{"id":"EndEvent","name":"缁撴潫","type":1},"fieldsPermission":[{"field":"Fyqymqqdoln2abc","title":"濮撳悕","permission":"1"},{"field":"Fh6gmqqdooy5aec","title":"骞撮緞","permission":"1"},{"field":"F5mrmqqdutnnabc","title":"閫夋嫨鍣�","permission":"1"}],"id":"Activity__69663778421782877292716","name":"瀹℃壒浜�","reasonRequire":false,"rejectHandler":{"returnNodeId":null,"type":1},"showText":"鎸囧畾鎴愬憳锛歵est01","signEnable":false,"skipExpression":"","taskAssignListener":{"body":[],"enable":false,"header":[],"path":null},"taskCompleteListener":{"body":[],"enable":false,"header":[],"path":null},"taskCreateListener":{"body":[],"enable":false,"header":[],"path":null},"timeoutHandler":{"enable":false,"maxRemindCount":null,"timeDuration":null,"type":null},"type":11},"fieldsPermission":[{"field":"Fyqymqqdoln2abc","title":"濮撳悕","permission":"2"},{"field":"Fh6gmqqdooy5aec","title":"骞撮緞","permission":"2"},{"field":"F5mrmqqdutnnabc","title":"閫夋嫨鍣�","permission":"2"}],"id":"StartUserNode","name":"鍙戣捣浜�","showText":"宸茶缃�","type":10}', X'01', '1782874979545', '', '', '142', X'01', X'00', '{"infix":"","enable":false,"length":5,"prefix":"","postfix":""}', '0', '{"title":"","enable":false}', '{"enable":false,"summary":[]}', NULL, NULL, NULL, NULL, '{"enable":false,"template":""}', '142', '2026-07-01 11:42:02', '142', '2026-07-01 11:42:02', X'00'),
+('15', 'crm-receivable-audit:1:7215184e-948c-11f1-9271-1ab6da3745b7', '23afd50c-8c89-11f1-8a27-00155dad6485', '10', '1111', NULL, '', '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', '', '', NULL, X'01', '1785465606228', '', '', '1', X'01', X'00', '{"infix":"","enable":false,"length":5,"prefix":"","postfix":""}', '0', '{"title":"","enable":false}', '{"enable":false,"summary":[]}', NULL, NULL, NULL, NULL, '{"enable":false,"template":""}', '1', '2026-07-31 10:40:16', '1', '2026-08-10 07:29:22', X'00'),
+('16', 'crm-invoice-audit:1:c101d3e0-0001-11f2-8a27-00155dad6485', 'c101d3e2-0001-11f2-8a27-00155dad6485', '10', 'crm_invoice_approve', NULL, NULL, '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', NULL, NULL, NULL, X'01', '1785465606228', NULL, NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-10 06:35:49', '1', '2026-08-10 06:42:48', X'00'),
+('17', 'erp-purchase-invoice-audit:1:0b7c7557949111f192711ab6da3745b7', '0b7c7577949111f192711ab6da3745b7', '10', 'erp_purchase_invoice_approve', NULL, NULL, '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', NULL, NULL, NULL, X'01', '1785465606228', NULL, NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-10 07:57:25', '1', '2026-08-10 07:57:25', X'00'),
+('18', 'erp-finance-payment-audit:1:f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5c', '10', 'erp_finance_payment_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1785465606228', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-10 09:36:01', '1', '2026-08-10 09:36:01', X'00'),
+('19', 'mes-pd-project-audit:1:ce99813cfeb29f270355dd39f8ef74f2', '44318b176050e94d2c4a86595763dde8', '10', 'mes_pd_project_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1786608755902', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-13 08:12:35', '1', '2026-08-13 08:12:35', X'00'),
+('26', 'sale_order_approve:1:dep_b9d15a0bc2b775bebb84987fb4b07cad', 'model_b9d15a0bc2b775bebb84987fb4b07cad', '10', 'sale_order_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502003364', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:06:43', '1', '2026-09-04 06:06:43', X'00'),
+('27', 'purchase_order_approve:1:dep_09ba42e32e7a436ee4e2a9b6eef0d232', 'model_09ba42e32e7a436ee4e2a9b6eef0d232', '10', 'purchase_order_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502021926', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:01', '1', '2026-09-04 06:07:01', X'00'),
+('28', 'crm-contract-audit:1:dep_febd13bedc800a97127ae1c042eb557b', 'model_febd13bedc800a97127ae1c042eb557b', '10', 'contract_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502030005', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:10', '1', '2026-09-04 06:07:10', X'00'),
+('29', 'hrm_leave:1:dep_862c6766e8cd1b32946a1ed2956a68bf', 'model_862c6766e8cd1b32946a1ed2956a68bf', '10', 'hrm_leave_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502047026', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:27', '1', '2026-09-04 06:07:27', X'00'),
+('30', 'hrm_overtime:1:dep_ecb89d4a54da3ae23601fef85642b0ce', 'model_ecb89d4a54da3ae23601fef85642b0ce', '10', 'overtime_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502053580', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:33', '1', '2026-09-04 06:07:33', X'00'),
+('31', 'hrm_resignation:1:dep_33d3b1649a923d986d89604267b79bbf', 'model_33d3b1649a923d986d89604267b79bbf', '10', 'hrm_resignation_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502104511', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:24', '1', '2026-09-04 06:08:24', X'00'),
+('32', 'hrm_transfer:1:dep_66ea9f27906591b4d0048d854c633a82', 'model_66ea9f27906591b4d0048d854c633a82', '10', 'hrm_transfer_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502111121', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:31', '1', '2026-09-04 06:08:31', X'00'),
+('33', 'hrm_attendance_approve:1:dep_d1d2025350ea9af098ca7dbe6e80b442', 'model_d1d2025350ea9af098ca7dbe6e80b442', '10', 'hrm_attendance_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502118186', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:38', '1', '2026-09-04 06:08:38', X'00'),
+('34', 'supplier_apply_approve:1:dep_b6e816103961b88392e4ac24c87dddf8', 'model_b6e816103961b88392e4ac24c87dddf8', '10', 'supplier_apply_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502130327', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:50', '1', '2026-09-04 06:08:50', X'00'),
+('35', 'wms_inbound_approve:1:dep_6e0f473d28c042b8b372d00797549423', 'model_6e0f473d28c042b8b372d00797549423', '10', 'wms_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502136828', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:56', '1', '2026-09-04 06:08:56', X'00'),
+('36', 'wms_outbound_approve:1:dep_bed6796545faa2cb7851a019948e4e49', 'model_bed6796545faa2cb7851a019948e4e49', '10', 'wms_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502143469', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:03', '1', '2026-09-04 06:09:03', X'00'),
+('37', 'wms_transfer_approve:1:dep_9b3368e05f1d39dee636f464f2d65c16', 'model_9b3368e05f1d39dee636f464f2d65c16', '10', 'wms_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502150320', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:10', '1', '2026-09-04 06:09:10', X'00'),
+('38', 'item_receipt_approve:1:dep_c16d0eef322695bed1c0c20e1d0190ce', 'model_c16d0eef322695bed1c0c20e1d0190ce', '10', 'item_receipt_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502157451', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:17', '1', '2026-09-04 06:09:17', X'00'),
+('39', 'mes-pro-feedback-audit:1:dep_08349f78d675f582f1ff5f08e7714a8d', 'model_08349f78d675f582f1ff5f08e7714a8d', '10', 'mes_pro_feedback_audit', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502164296', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:24', '1', '2026-09-04 06:09:24', X'00');
+
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('40', 'ums_membership_approve:1:a5fd4795-bb16-11f1-81f2-00155dd68500', 'a5892900-bb16-11f1-81f2-00155dd68500', '10', 'ums_membership_approve', NULL, NULL, '20', NULL, NULL, NULL, '/ums/application/index', '/ums/application/detail/approve/index.vue', NULL, X'01', '1790584136609', '', NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-28 16:28:57', '1', '2026-09-28 16:28:57', X'00');
+
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('41', 'research_topic_approve:1:57953d2b-bb1d-11f1-81f2-00155dd68500', '557c2126-bb1d-11f1-81f2-00155dd68500', '10', 'research_topic_approve', NULL, '璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛�', '20', NULL, NULL, NULL, '/research/application/index', '/research/application/detail/approve/index.vue', NULL, X'01', '1790587008761', '', NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-28 17:16:52', '1', '2026-09-28 17:16:52', X'00');
+
+
+-- ***********************************************************************
+-- 鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細bpm_business_attach锛堝鍑� 11 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_business_attach`;
+CREATE TABLE `bpm_business_attach` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹氫箟鐨� Key',
+  `business_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟绫诲瀷锛屼緥濡� erp_purchase_order',
+  `component_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟璇︽儏缁勪欢璺緞锛屼緥濡� /erp/purchase/order/detail/index.vue',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0寮�鍚� 1鍏抽棴锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `deleted` bit(1) NOT NULL DEFAULT b'0',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_process_definition_key` (`process_definition_key`,`deleted`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 涓氬姟闄勪欢閰嶇疆琛�';
+INSERT INTO `bpm_business_attach` (`id`, `process_definition_key`, `business_type`, `component_path`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', 'purchase_approve', 'erp_purchase_order', '/erp/purchase/order/detail/index.vue', '0', '閲囪喘璁㈠崟瀹℃壒灞曠ず閲囪喘璁㈠崟璇︽儏', '', '2026-08-14 06:11:59', '', '2026-08-14 06:11:59', X'00'),
+('2', 'purchase_request_approve', 'erp_purchase_request', '/erp/purchase/request/detail/index.vue', '0', '閲囪喘鐢宠瀹℃壒灞曠ず閲囪喘鐢宠璇︽儏', '', '2026-08-14 06:36:14', '1', '2026-08-14 15:06:16', X'00'),
+('3', 'contract_approve', 'crm_contract', '/crm/contract/detail/approve/index.vue', '0', '鍚堝悓瀹℃牳灞曠ず鍚堝悓璇︽儏', '', '2026-08-14 07:08:08', '', '2026-08-14 07:13:05', X'00'),
+('4', 'crm-invoice-audit', 'crm_invoice', '/crm/invoice/detail/approve/index.vue', '0', '寮�绁ㄥ鎵瑰睍绀哄紑绁ㄨ鎯�', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('5', 'crm-receivable-audit', 'crm_receivable', '/crm/receivable/detail/approve/index.vue', '0', '鍥炴瀹℃壒灞曠ず鍥炴璇︽儏', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('6', 'erp-finance-payment-audit', 'erp_finance_payment', '/erp/finance/payment/detail/approve/index.vue', '0', '浠樻瀹℃壒灞曠ず浠樻鍗曡鎯�', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('7', 'erp-purchase-invoice-audit', 'erp_purchase_invoice', '/erp/purchase/invoice/detail/approve/index.vue', '0', '鏉ョエ瀹℃壒灞曠ず鏉ョエ璇︽儏', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('8', 'hrm_leave', 'hrm_leave', '/hrm/leave/detail/approve/index.vue', '0', '璇峰亣瀹℃壒灞曠ず璇峰亣璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00'),
+('9', 'hrm_resignation', 'hrm_resignation', '/hrm/resignation/detail/approve/index.vue', '0', '绂昏亴瀹℃壒灞曠ず绂昏亴璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00'),
+('10', 'hrm_transfer', 'hrm_transfer', '/hrm/transfer/detail/approve/index.vue', '0', '璋冨矖瀹℃壒灞曠ず璋冨矖璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00'),
+('11', 'hrm_attendance_exception', 'hrm_attendance_exception', '/hrm/attendance/exception/detail/approve/index.vue', '0', '鑰冨嫟寮傚父瀹℃壒灞曠ず鑰冨嫟寮傚父璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00');
+
+-- ============ 琛細bpm_category锛堝鍑� 25 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_category`;
+CREATE TABLE `bpm_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍒嗙被缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚�',
+  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鏍囧織',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍒嗙被鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鍒嗙被鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=216 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼鍒嗙被琛�';
+INSERT INTO `bpm_category` (`id`, `name`, `code`, `description`, `status`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '鍙戣揣瀹℃壒', '鍒嗙被1', '鍒嗙被1', '0', '1', '1', '2026-06-23 16:23:03', '1', '2026-07-08 13:36:20', X'00'),
+('2', '閲囪喘瀹℃牳', 'purchase_request_approve', NULL, '0', '2', '142', '2026-06-30 16:44:10', '142', '2026-07-01 11:02:23', X'00'),
+('3', '閿�鍞姤浠峰鎵�', 'sale_quotation_approve', NULL, '0', '3', '142', '2026-07-02 09:54:40', '142', '2026-07-02 09:54:40', X'00'),
+('4', '鍚堝悓瀹℃壒', 'contract_approve', '鍚堝悓瀹℃壒娴佺▼鍒嗙被', '0', '0', '1', '2026-07-02 03:34:03', '1', '2026-07-02 03:34:03', X'00'),
+('5', '浜哄姏璧勬簮', 'hrm', NULL, '0', '5', '1', '2026-07-06 13:13:03', '1', '2026-07-06 13:13:03', X'00'),
+('120', '浠撳簱瀹℃牳', 'wms_approve', '浠撳簱绠$悊瀹℃壒娴佺▼鍒嗙被', '0', '30', '1', '2026-07-09 02:25:58', '1', '2026-07-09 02:25:58', X'00'),
+('200', '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', 'HRM鑰冨嫟寮傚父瀹℃壒鍒嗙被', '0', '50', '1', '2026-07-08 02:05:39', '1', '2026-07-08 02:05:39', X'00'),
+('201', '璇峰亣瀹℃壒', '鍒嗙被2', '123123123', '0', '12', '1', '2026-07-08 13:56:23', '1', '2026-07-08 13:56:23', X'00'),
+('202', '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', 'MES閲囪喘鍏ュ簱鍗曞鎵瑰垎绫�', '0', '0', '1', '2026-07-10 03:29:18', '1', '2026-07-10 03:29:18', X'00'),
+('203', '鍥炴瀹℃壒', '1111', '222', '0', '1', '1', '2026-07-31 10:38:55', '1', '2026-07-31 10:38:55', X'00'),
+('204', '寮�绁ㄥ鎵�', 'crm_invoice_approve', '寮�绁ㄥ鎵规祦绋嬪垎绫�', '0', '60', '1', '2026-08-10 06:34:18', '1', '2026-08-10 06:34:18', X'00'),
+('205', '鏉ョエ瀹℃壒', 'erp_purchase_invoice_approve', 'ERP閲囪喘鏉ョエ瀹℃壒鍒嗙被', '0', '70', '1', '2026-08-10 07:56:24', '1', '2026-08-10 07:56:24', X'00'),
+('206', '浠樻瀹℃牳', 'erp_finance_payment_approve', '浠樻鍗曞鎵�', '0', '80', '1', '2026-08-10 09:35:41', '1', '2026-08-10 09:35:41', X'00'),
+('207', '浜у搧椤圭洰瀹℃壒', 'mes_pd_project_approve', '浜у搧椤圭洰鏈�鍚庡鏍窧PM瀹℃壒', '0', '90', '1', '2026-08-13 08:12:13', '1', '2026-08-13 08:12:13', X'00'),
+('208', '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', 'SRM渚涘簲鍟嗗噯鍏ョ敵璇峰鎵规祦绋嬪垎绫�', '0', '100', '1', '2026-09-02 08:30:00', '1', '2026-09-02 08:30:00', X'00'),
+('209', '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', 'ERP 閲囪喘璁㈠崟瀹℃壒', '0', '10', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('210', '閿�鍞鍗曞鎵�', 'sale_order_approve', 'ERP 閿�鍞鍗曞鎵�', '0', '20', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('211', '璇峰亣瀹℃壒', 'hrm_leave_approve', 'HRM 璇峰亣鐢宠瀹℃壒', '0', '30', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('212', '鍔犵彮瀹℃壒', 'overtime_approve', 'HRM 鍔犵彮鐢宠瀹℃壒', '0', '40', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('213', '绂昏亴瀹℃壒', 'hrm_resignation_approve', 'HRM 绂昏亴鐢宠瀹℃壒', '0', '50', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('214', '璋冨姩瀹℃壒', 'hrm_transfer_approve', 'HRM 璋冨姩鐢宠瀹℃壒', '0', '60', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('215', '鎶ュ伐瀹℃壒', 'mes_pro_feedback_audit', 'MES 鐢熶骇鎶ュ伐/宸ュ崟瀹℃壒', '0', '70', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('216', '鎶ラ攢瀹℃壒', 'finance_reimbursement_approve', NULL, '0', '0', '1', '2026-09-27 20:20:02', '', '2026-09-27 20:20:02', X'00'),
+('8001', '鍏ヤ細瀹℃壒', 'ums_membership_approve', '浼氬憳鍏ヤ細鐢宠涓ょ骇瀹℃壒锛堢涔﹀鍒濆鈫掔悊浜嬩細瀹¤锛�', '0', '1', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00');
+
+INSERT INTO `bpm_category` (`id`, `name`, `code`, `description`, `status`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
+VALUES ('8002', '璇鹃绔嬮」瀹℃壒', 'research_topic_approve', '璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛�', '0', '3', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00');
+
+
+-- ============ 琛細bpm_form锛堝鍑� 4 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_form`;
+CREATE TABLE `bpm_form` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄥ崟鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄥ崟鐨勯厤缃�',
+  `fields` json NOT NULL COMMENT '琛ㄥ崟椤圭殑鏁扮粍',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 宸ヤ綔娴佽〃鍗曞畾涔夎〃';
+INSERT INTO `bpm_form` (`id`, `name`, `status`, `conf`, `fields`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '琛ㄥ崟1', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', NULL, '1', '2026-06-23 16:24:37', '1', '2026-07-08 13:35:39', X'00'),
+('2', '璇峰亣琛ㄥ崟', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"DeptSelect\\",\\"field\\":\\"ce674cb3f7604c5da893b347bf1ff855\\",\\"title\\":\\"閮ㄩ棬閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"returnType\\":\\"id\\",\\"defaultCurrentDept\\":false},\\"_fc_id\\":\\"id_Fgcgmrbnv9c4cbc\\",\\"name\\":\\"ref_F7c0mrbnv9c4ccc\\",\\"_fc_drag_tag\\":\\"DeptSelect\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"UserSelect\\",\\"field\\":\\"6ada8f47c5ad483ca7e2a15da2d922d1\\",\\"title\\":\\"鐢ㄦ埛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"defaultCurrentUser\\":false},\\"_fc_id\\":\\"id_F0pdmrbnvboxcdc\\",\\"name\\":\\"ref_F6pamrbnvboxcec\\",\\"_fc_drag_tag\\":\\"UserSelect\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"datePicker\\",\\"field\\":\\"Fio0ms5fmwwnabc\\",\\"title\\":\\"寮�濮嬫棩鏈焅\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"showTime\\":true},\\"_fc_id\\":\\"id_F28vms5fmwwnacc\\",\\"name\\":\\"ref_Fhufms5fmwwnadc\\",\\"_fc_drag_tag\\":\\"datePicker\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"datePicker\\",\\"field\\":\\"Fpn0ms5fmyb4aec\\",\\"title\\":\\"缁撴潫鏃ユ湡\\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"showTime\\":true},\\"_fc_id\\":\\"id_Fxrgms5fmyb4afc\\",\\"name\\":\\"ref_Fffoms5fmyb4agc\\",\\"_fc_drag_tag\\":\\"datePicker\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"inputNumber\\",\\"field\\":\\"F3n6ms5fwzqaaqc\\",\\"title\\":\\"璇峰亣澶╂暟\\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"min\\":1},\\"_fc_id\\":\\"id_Fas0ms5fwzqbarc\\",\\"name\\":\\"ref_Fz1mms5fwzqbasc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"inputNumber\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"F1noms5fo0j5ahc\\",\\"title\\":\\"璇峰亣浜嬬敱\\",\\"info\\":\\"\\",\\"$required\\":true,\\"_fc_id\\":\\"id_Fybxms5fo0j5aic\\",\\"name\\":\\"ref_Fcv7ms5fo0j5ajc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}"]', '1111', '1', '2026-07-08 13:54:31', '1', '2026-07-29 10:06:22', X'00'),
+('3', '渚涘簲鍟嗗噯鍏�', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"},"formName":"渚涘簲鍟嗗噯鍏�"}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Ftvpmtjte8y4abc\\",\\"title\\":\\"鍚嶇О\\",\\"info\\":\\"鍏徃鍚嶅瓧\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fgxsmtjte8y4acc\\",\\"name\\":\\"ref_Fu8smtjte8y4adc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fe4zmtjtepcyaec\\",\\"title\\":\\"鍏徃浠嬬粛\\",\\"info\\":\\"鍏徃绠�浠媆\",\\"$required\\":false,\\"props\\":{\\"type\\":\\"textarea\\"},\\"_fc_id\\":\\"id_Fapymtjtepcyafc\\",\\"name\\":\\"ref_Fofimtjtepcyagc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"textarea\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fxoumtjtfdmsahc\\",\\"title\\":\\"鐢佃瘽\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F430mtjtfdmsaic\\",\\"name\\":\\"ref_Fjpwmtjtfdmsajc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fs0kmtjtficsakc\\",\\"title\\":\\"娉曚汉鍚嶇О\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fwmbmtjtficsalc\\",\\"name\\":\\"ref_Fcr1mtjtficsamc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"F3m4mtjtfqiqanc\\",\\"title\\":\\"鍏徃璐熻矗浜鸿仈绯绘柟寮廫\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fgh9mtjtfqiqaoc\\",\\"name\\":\\"ref_Fs96mtjtfqiqapc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}"]', NULL, '1', '2026-09-02 16:08:31', '1', '2026-09-02 16:08:31', X'00'),
+('4', '閲囪喘琛ㄥ崟', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fr9umtk0jqtyabc\\",\\"title\\":\\"閲囪喘鍗曞彿\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fqzrmtk0jqtzacc\\",\\"name\\":\\"ref_Fk3emtk0jqtzadc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"F5vrmtk0kaowaec\\",\\"title\\":\\"閲囪喘閮ㄩ棬\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F0qwmtk0kaowafc\\",\\"name\\":\\"ref_Fxpfmtk0kaowagc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"timePicker\\",\\"field\\":\\"Faoymtk0kvopahc\\",\\"title\\":\\"閲囪喘鏃堕棿\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fhmemtk0kvopaic\\",\\"name\\":\\"ref_Fa30mtk0kvopajc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"timePicker\\"}","{\\"type\\":\\"timePicker\\",\\"field\\":\\"Fseemtk0l4kpakc\\",\\"title\\":\\"鍒拌揣鏃堕棿\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F4dfmtk0l4kpalc\\",\\"name\\":\\"ref_F3jqmtk0l4kpamc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"timePicker\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fjeimtk0lyj1awc\\",\\"title\\":\\"閲囪喘鏁伴噺\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fcs1mtk0lyj1axc\\",\\"name\\":\\"ref_Fx89mtk0lyj1ayc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fizgmtk0lz00azc\\",\\"title\\":\\"閲囪喘鍗曚环\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fklomtk0lz01b0c\\",\\"name\\":\\"ref_Fz4smtk0lz01b1c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Feejmtk0lzgmb2c\\",\\"title\\":\\"閲囪喘鎬讳环\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fgpumtk0lzgmb3c\\",\\"name\\":\\"ref_Ffaomtk0lzgmb4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Feo7mtk0m9sab5c\\",\\"title\\":\\"閲囪喘鏄庣粏\\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"type\\":\\"textarea\\"},\\"_fc_id\\":\\"id_Fht3mtk0m9sab6c\\",\\"name\\":\\"ref_Fwwpmtk0m9sab7c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"textarea\\"}"]', NULL, '1', '2026-09-02 19:30:15', '1', '2026-09-02 19:30:15', X'00');
+
+-- ============ 琛細bpm_user_group锛堝鍑� 3 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_user_group`;
+CREATE TABLE `bpm_user_group` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '缁勫悕',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `user_ids` json NOT NULL COMMENT '鎴愬憳鐢ㄦ埛缂栧彿鏁扮粍',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 鐢ㄦ埛缁勮〃';
+INSERT INTO `bpm_user_group` (`id`, `name`, `description`, `status`, `user_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '缁�1', NULL, '0', '[1,113,115,100]', '1', '2026-06-23 16:27:37', '1', '2026-08-06 16:51:20', X'00'),
+('2', '缁忚惀缁�', NULL, '0', '[247]', '1', '2026-09-02 15:58:35', '1', '2026-09-02 15:58:35', X'00'),
+('3', '缁忚惀閮�', NULL, '0', '[1,247,233]', '1', '2026-09-02 19:26:22', '1', '2026-09-03 13:37:13', X'00');
+
+-- ============ 琛細bpm_process_listener锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_process_listener`;
+CREATE TABLE `bpm_process_listener` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭 ID',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐩戝惉鍣ㄥ悕瀛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐩戝惉绫诲瀷锛坋xecution鎵ц鐩戝惉鍣ㄣ�乼ask浠诲姟鐩戝惉鍣級',
+  `event` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐩戝惉浜嬩欢',
+  `value_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍊肩被鍨嬶紙class绫汇�乨elegateExpression濮旀墭琛ㄨ揪寮忋�乪xpression琛ㄨ揪寮忥級',
+  `value` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍊�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼鐩戝惉鍣ㄨ〃';
+INSERT INTO `bpm_process_listener` (`id`, `name`, `status`, `type`, `event`, `value_type`, `value`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '娴嬭瘯鐩戝惉鍣�', '0', 'task', 'create', 'class', 'org.flowable.engine.delegate.TaskListener', '1', '2026-07-08 13:43:00', '1', '2026-07-08 13:43:00', X'00');
+
+-- ============ 琛細bpm_process_expression锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_process_expression`;
+CREATE TABLE `bpm_process_expression` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄨ揪寮忓悕瀛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '琛ㄨ揪寮忕姸鎬侊紙0姝e父 1鍋滅敤锛�',
+  `expression` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄨ揪寮�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼琛ㄨ揪寮忚〃';
+INSERT INTO `bpm_process_expression` (`id`, `name`, `status`, `expression`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '閰掓硥', '0', '鐜板湪鎵�', '1', '2026-06-23 16:25:59', '1', '2026-06-23 16:25:59', X'00');
+
+-- ***********************************************************************
+-- 鈶� BI 鍐崇瓥澶у睆 / go-view锛圖DL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細bi_dashboard锛堝鍑� 5 琛岋級 ============
+DROP TABLE IF EXISTS `bi_dashboard`;
+CREATE TABLE `bi_dashboard` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠〃鐩樺悕绉�',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠〃鐩樼紪鐮侊紙鍞竴鏍囪瘑锛�',
+  `group_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎵�灞炲垎缁勶細purchase_sales/warehouse/production_equipment/quality/hr_oa',
+  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥炬爣',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細0-绂佺敤 1-鍚敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_group_code` (`group_code`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BI浠〃鐩樺畾涔夎〃';
+INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '閲囪喘閿�鍞敭鍚庡ぇ灞�', 'purchase_sales', 'purchase_sales', 'ep:trend-charts', '1', '1', '閲囪喘銆侀攢鍞�佸敭鍚庝笟鍔℃瑙�', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('2', '浠撳簱澶у睆', 'warehouse', 'warehouse', 'ep:warehouse', '2', '1', '浠撳偍鐗╂祦涓氬姟姒傝', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('3', '鐢熶骇璁惧澶у睆', 'production_equipment', 'production_equipment', 'ep:set-up', '3', '1', '鐢熶骇绠℃帶銆佽澶囩鐞嗕笟鍔℃瑙�', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('4', '璐ㄩ噺澶у睆', 'quality', 'quality', 'ep:circle-check', '4', '1', '璐ㄩ噺绠$悊涓氬姟姒傝', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('5', '浜鸿祫鍔炲叕澶у睆', 'hr_oa', 'hr_oa', 'ep:office-building', '5', '1', '浜哄姏璧勬簮銆佸崗鍚屽姙鍏笟鍔℃瑙�', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00');
+
+-- ============ 琛細bi_chart_config锛堝鍑� 36 琛岋級 ============
+DROP TABLE IF EXISTS `bi_chart_config`;
+CREATE TABLE `bi_chart_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `dashboard_id` bigint NOT NULL COMMENT '鎵�灞炰华琛ㄧ洏ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍥捐〃鍚嶇О',
+  `chart_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍥捐〃绫诲瀷锛歜ar/line/pie/scatter/gauge/table/number',
+  `data_source_id` bigint DEFAULT NULL COMMENT '鏁版嵁婧愰厤缃甀D',
+  `query_sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鏌ヨSQL锛堟敮鎸� {{param}} 鍗犱綅绗︼級',
+  `position` json DEFAULT NULL COMMENT '甯冨眬浣嶇疆 {x, y, w, h}',
+  `chart_options` json DEFAULT NULL COMMENT 'ECharts 閰嶇疆椤硅鐩�',
+  `refresh_interval` int NOT NULL DEFAULT '0' COMMENT '鍒锋柊闂撮殧锛堢锛夛紝0琛ㄧず涓嶈嚜鍔ㄥ埛鏂�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細0-绂佺敤 1-鍚敤',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_dashboard_id` (`dashboard_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BI鍥捐〃閰嶇疆琛�';
+INSERT INTO `bi_chart_config` (`id`, `dashboard_id`, `name`, `chart_type`, `data_source_id`, `query_sql`, `position`, `chart_options`, `refresh_interval`, `sort`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '1', '閲囪喘璁㈠崟鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM erp_purchase_order WHERE deleted = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '10', '1', '1', '1', '2026-08-05 07:07:40', '142', '2026-08-05 17:42:42', X'00'),
+('2', '1', '閿�鍞鍗曟�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM erp_sale_order WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:07:47', '1', '2026-08-05 07:07:47', X'00'),
+('3', '1', '瀹㈡埛鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM crm_customer WHERE deleted = 0', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:07:47', '1', '2026-08-05 07:07:47', X'00'),
+('4', '1', '渚涘簲鍟嗘�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM erp_supplier WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:07:47', '1', '2026-08-05 07:07:47', X'00'),
+('5', '1', '閲囪喘璁㈠崟鏈堝害瓒嬪娍', 'bar', NULL, 'SELECT DATE_FORMAT(order_time, \'%Y-%m\') AS name, COUNT(*) AS value FROM erp_purchase_order WHERE deleted = 0 AND order_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(order_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":7,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('6', '1', '閿�鍞鍗曟湀搴﹁秼鍔�', 'line', NULL, 'SELECT DATE_FORMAT(order_time, \'%Y-%m\') AS name, COUNT(*) AS value FROM erp_sale_order WHERE deleted = 0 AND order_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(order_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":5,"x":7,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('7', '1', '閲囪喘璁㈠崟鐘舵�佸垎甯�', 'pie', NULL, 'SELECT CASE status WHEN 0 THEN \'寰呭鎵筡' WHEN 1 THEN \'瀹℃壒涓璡' WHEN 2 THEN \'宸查�氳繃\' WHEN 3 THEN \'宸查┏鍥瀄' WHEN 4 THEN \'宸插叧闂璡' ELSE \'鏈煡\' END AS name, COUNT(*) AS value FROM erp_purchase_order WHERE deleted = 0 GROUP BY status', '{"h":8,"w":5,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('8', '1', '鏈�杩戦噰璐鍗�', 'table', NULL, 'SELECT no AS 璁㈠崟鍙�, total_price AS 閲戦, order_time AS 涓嬪崟鏃堕棿 FROM erp_purchase_order WHERE deleted = 0 ORDER BY order_time DESC LIMIT 10', '{"h":8,"w":7,"x":5,"y":12}', NULL, '0', '8', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('9', '2', '浠撳簱鏁伴噺', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_warehouse WHERE deleted = 0 AND frozen = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('10', '2', '鐗╂枡搴撳瓨鍝佺鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_material_stock WHERE deleted = 0 AND quantity > 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('11', '2', '鍒拌揣閫氱煡鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_arrival_notice WHERE deleted = 0', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('12', '2', '鍑鸿揣閫氱煡鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_sales_notice WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('13', '2', '鍚勪粨搴撳簱瀛橀噺', 'bar', NULL, 'SELECT w.name, COALESCE(SUM(s.quantity), 0) AS value FROM mes_wm_warehouse w LEFT JOIN mes_wm_material_stock s ON w.id = s.warehouse_id AND s.deleted = 0 WHERE w.deleted = 0 GROUP BY w.id, w.name', '{"h":8,"w":7,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:08:46', '1', '2026-08-05 07:08:46', X'00'),
+('14', '2', '鍑哄叆搴撹秼鍔�', 'line', NULL, 'SELECT DATE_FORMAT(transaction_time, \'%Y-%m\') AS name, SUM(CASE WHEN type = 1 THEN quantity ELSE 0 END) AS \'鍏ュ簱\', SUM(CASE WHEN type = 2 THEN quantity ELSE 0 END) AS \'鍑哄簱\' FROM mes_wm_transaction WHERE deleted = 0 AND transaction_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(transaction_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":5,"x":7,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:08:47', '1', '2026-08-05 07:09:25', X'00'),
+('15', '2', '鏈�杩戝叆搴撹褰�', 'table', NULL, 'SELECT code AS 鍗曞彿, name AS 鍚嶇О, receipt_date AS 鍏ュ簱鏃ユ湡 FROM mes_wm_item_receipt WHERE deleted = 0 ORDER BY create_time DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:08:47', '1', '2026-08-05 07:09:11', X'00'),
+('16', '3', '宸ュ崟鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_pro_work_order WHERE deleted = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('17', '3', '璁惧鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_dv_machinery WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('18', '3', '鏈湀鎶ュ伐鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_pro_feedback WHERE deleted = 0 AND MONTH(feedback_time) = MONTH(NOW()) AND YEAR(feedback_time) = YEAR(NOW())', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('19', '3', '宸ュ崟瀹屾垚鐜�', 'gauge', NULL, 'SELECT ROUND(SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 1) AS value FROM mes_pro_work_order WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('20', '3', '宸ュ崟鐘舵�佸垎甯�', 'bar', NULL, 'SELECT CASE status WHEN 0 THEN \'鑽夌\' WHEN 1 THEN \'瀹℃壒涓璡' WHEN 2 THEN \'宸蹭笅杈綷' WHEN 3 THEN \'宸插畬鎴怽' WHEN 4 THEN \'宸插彇娑圽' ELSE \'鏈煡\' END AS name, COUNT(*) AS value FROM mes_pro_work_order WHERE deleted = 0 GROUP BY status', '{"h":8,"w":6,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:10:04', '1', '2026-08-05 07:10:04', X'00'),
+('21', '3', '宸ュ崟绫诲瀷鍒嗗竷', 'pie', NULL, 'SELECT CASE type WHEN 1 THEN \'鐢熶骇宸ュ崟\' WHEN 2 THEN \'杩斿伐宸ュ崟\' WHEN 3 THEN \'鏀瑰埗宸ュ崟\' WHEN 4 THEN \'缁翠慨宸ュ崟\' ELSE \'鍏朵粬\' END AS name, COUNT(*) AS value FROM mes_pro_work_order WHERE deleted = 0 GROUP BY type', '{"h":8,"w":6,"x":6,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:10:04', '1', '2026-08-05 07:10:04', X'00'),
+('22', '3', '鏈�杩戝伐鍗曞垪琛�', 'table', NULL, 'SELECT code AS 宸ュ崟鍙�, name AS 宸ュ崟鍚嶇О, quantity AS 鐢熶骇鏁伴噺, request_date AS 闇�姹傛棩鏈� FROM mes_pro_work_order WHERE deleted = 0 ORDER BY create_time DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:10:04', '1', '2026-08-05 07:10:04', X'00'),
+('23', '4', '鏉ユ枡妫�楠屾�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_qc_iqc WHERE deleted = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('24', '4', '鍒剁▼妫�楠屾�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_qc_ipqc WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('25', '4', '鍑鸿揣妫�楠屾�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_qc_oqc WHERE deleted = 0', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('26', '4', '鏉ユ枡鍚堟牸鐜�', 'gauge', NULL, 'SELECT COALESCE(ROUND(SUM(qualified_quantity) * 100.0 / NULLIF(SUM(check_quantity), 0), 1), 0) AS value FROM mes_qc_iqc WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('27', '4', '妫�楠岀被鍨嬪垎甯�', 'pie', NULL, 'SELECT \'鏉ユ枡妫�楠孿' AS name, COUNT(*) AS value FROM mes_qc_iqc WHERE deleted = 0 UNION ALL SELECT \'鍒剁▼妫�楠孿', COUNT(*) FROM mes_qc_ipqc WHERE deleted = 0 UNION ALL SELECT \'鍑鸿揣妫�楠孿', COUNT(*) FROM mes_qc_oqc WHERE deleted = 0', '{"h":8,"w":5,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:10:34', '1', '2026-08-05 07:10:34', X'00'),
+('28', '4', '鏈堝害妫�楠岃秼鍔�', 'bar', NULL, 'SELECT DATE_FORMAT(create_time, \'%Y-%m\') AS name, COUNT(*) AS value FROM (SELECT create_time FROM mes_qc_iqc WHERE deleted = 0 UNION ALL SELECT create_time FROM mes_qc_ipqc WHERE deleted = 0 UNION ALL SELECT create_time FROM mes_qc_oqc WHERE deleted = 0) t WHERE create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(create_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":7,"x":5,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:10:34', '1', '2026-08-05 07:10:34', X'00'),
+('29', '4', '鏈�杩戞楠岃褰�', 'table', NULL, 'SELECT * FROM (SELECT \'鏉ユ枡妫�楠孿' AS 绫诲瀷, code AS 鍗曞彿, name AS 鍚嶇О, inspect_date AS 妫�楠屾棩鏈� FROM mes_qc_iqc WHERE deleted = 0 UNION ALL SELECT \'鍒剁▼妫�楠孿', code, name, create_time FROM mes_qc_ipqc WHERE deleted = 0 UNION ALL SELECT \'鍑鸿揣妫�楠孿', code, name, create_time FROM mes_qc_oqc WHERE deleted = 0) t ORDER BY 妫�楠屾棩鏈� DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:10:35', '1', '2026-08-05 07:10:43', X'00'),
+('30', '5', '鍦ㄨ亴鍛樺伐鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_employee WHERE deleted = 0 AND employee_status IN (1, 2)', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('31', '5', '璇峰亣鐢宠鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_leave_application WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('32', '5', '鏈湀绂昏亴鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_employee WHERE deleted = 0 AND employee_status = 3 AND MONTH(leave_date) = MONTH(NOW()) AND YEAR(leave_date) = YEAR(NOW())', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('33', '5', '鑰冨嫟寮傚父鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_attendance_exception WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('34', '5', '閮ㄩ棬浜烘暟鍒嗗竷', 'pie', NULL, 'SELECT d.name, COUNT(*) AS value FROM hrm_employee e JOIN system_dept d ON e.dept_id = d.id WHERE e.deleted = 0 AND e.employee_status IN (1, 2) AND d.deleted = 0 GROUP BY d.id, d.name', '{"h":8,"w":5,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:11:07', '1', '2026-08-05 07:11:07', X'00'),
+('35', '5', '璇峰亣绫诲瀷鍒嗗竷', 'bar', NULL, 'SELECT CASE leave_type WHEN 1 THEN \'浜嬪亣\' WHEN 2 THEN \'鐥呭亣\' WHEN 3 THEN \'骞村亣\' WHEN 4 THEN \'濠氬亣\' WHEN 5 THEN \'浜у亣\' WHEN 6 THEN \'涓у亣\' ELSE \'鍏朵粬\' END AS name, COUNT(*) AS value FROM hrm_leave_application WHERE deleted = 0 GROUP BY leave_type', '{"h":8,"w":7,"x":5,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:11:07', '1', '2026-08-05 07:11:07', X'00'),
+('36', '5', '鏈�杩戝叆鑱屽憳宸�', 'table', NULL, 'SELECT employee_no AS 宸ュ彿, name AS 濮撳悕, hire_date AS 鍏ヨ亴鏃ユ湡 FROM hrm_employee WHERE deleted = 0 ORDER BY hire_date DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:11:07', '1', '2026-08-05 07:11:07', X'00');
+
+-- ============ 琛細bi_data_source_config锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `bi_data_source_config`;
+CREATE TABLE `bi_data_source_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏁版嵁婧愬悕绉�',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'mysql' COMMENT '绫诲瀷锛歮ysql/api',
+  `config` json DEFAULT NULL COMMENT '杩炴帴閰嶇疆',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細0-绂佺敤 1-鍚敤',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BI鏁版嵁婧愰厤缃〃';
+
+-- ============ 琛細bi_warehouse_coordinate锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `bi_warehouse_coordinate`;
+CREATE TABLE `bi_warehouse_coordinate` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '浠撳簱鍚嶇О',
+  `longitude` decimal(10,6) NOT NULL COMMENT '缁忓害',
+  `latitude` decimal(10,6) NOT NULL COMMENT '绾害',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='BI浠撳簱鍧愭爣閰嶇疆琛�';
+INSERT INTO `bi_warehouse_coordinate` (`id`, `name`, `longitude`, `latitude`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '铏氭嫙绾胯竟浠撳簱', '110.313100', '32.344400', '1', '1', '2026-08-31 16:06:11', '1', '2026-08-31 16:06:11', X'00');
+
+-- ============ 琛細report_go_view_project锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `report_go_view_project`;
+CREATE TABLE `report_go_view_project` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '椤圭洰鍚嶇О',
+  `pic_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰勮鍥剧墖 URL',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎶ヨ〃鍐呭锛圝SON 閰嶇疆锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戝竷鐘舵�侊細0-宸插彂甯冿紝1-鏈彂甯�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='GoView 椤圭洰琛�';
+
+-- ***********************************************************************
+-- 鈶� MES 缂栫爜瑙勫垯锛堝墧娴佹按璁板綍锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細mes_md_auto_code_rule锛堝鍑� 52 琛岋級 ============
+DROP TABLE IF EXISTS `mes_md_auto_code_rule`;
+CREATE TABLE `mes_md_auto_code_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯鍚嶇О',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `max_length` int DEFAULT NULL COMMENT '鏈�澶ч暱搴�',
+  `padded` bit(1) DEFAULT b'0' COMMENT '鏄惁琛ラ綈',
+  `padded_char` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ラ綈瀛楃',
+  `padded_method` int DEFAULT NULL COMMENT '琛ラ綈鏂瑰紡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂栫爜瑙勫垯';
+INSERT INTO `mes_md_auto_code_rule` (`id`, `code`, `name`, `description`, `max_length`, `padded`, `padded_char`, `padded_method`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', 'MD_ITEM_TYPE_CODE', '鐗╂枡鍒嗙被缂栫爜', '鐗╂枡鍒嗙被鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('2', 'MD_ITEM_CODE', '鐗╂枡缂栫爜', '鐗╂枡鑷姩缂栫爜', '16', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '103', '2026-07-16 16:17:45', X'00'),
+('3', 'MD_VENDOR_CODE', '渚涘簲鍟嗙紪鐮�', '渚涘簲鍟嗚嚜鍔ㄧ紪鐮�', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('4', 'MD_CLIENT_CODE', '瀹㈡埛缂栫爜', '瀹㈡埛鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('5', 'MD_WORKSTATION_CODE', '宸ヤ綔绔欑紪鐮�', '宸ヤ綔绔欒嚜鍔ㄧ紪鐮�', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('6', 'MD_WORKSHOP_CODE', '杞﹂棿缂栫爜', '杞﹂棿鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('7', 'TM_TOOL_TYPE_CODE', '宸ュ叿绫诲瀷缂栫爜', '宸ュ叿绫诲瀷鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('10', 'WM_WAREHOUSE_CODE', '浠撳簱缂栫爜', '浠撳簱鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('11', 'WM_LOCATION_CODE', '搴撳尯缂栫爜', '搴撳尯鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('12', 'WM_AREA_CODE', '搴撲綅缂栫爜', '搴撲綅鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('13', 'WM_ARRIVAL_NOTICE_CODE', '鍒拌揣閫氱煡鍗曠紪鐮�', '鍒拌揣閫氱煡鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('14', 'WM_ITEM_RECEIPT_CODE', '閲囪喘鍏ュ簱鍗曠紪鐮�', '閲囪喘鍏ュ簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('15', 'WM_RETURN_VENDOR_CODE', '閲囪喘閫�璐у崟缂栫爜', '閲囪喘閫�璐у崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('16', 'WM_RETURN_ISSUE_CODE', '鐢熶骇閫�鏂欏崟缂栫爜', '鐢熶骇閫�鏂欏崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('17', 'WM_SN_CODE', 'SN鐮�', 'SN鐮佽嚜鍔ㄧ紪鐮�', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('18', 'WM_PACKAGE_CODE', '瑁呯鍗曠紪鐮�', '瑁呯鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('19', 'WM_BATCH_CODE', '鎵规缂栫爜', '鎵规鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('20', 'WM_PRODUCT_SALES_CODE', '閿�鍞嚭搴撳崟缂栫爜', '閿�鍞嚭搴撳崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('21', 'WM_MISC_RECEIPT_CODE', '鏉傞」鍏ュ簱鍗曠紪鐮�', '鏉傞」鍏ュ簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('22', 'WM_MISC_ISSUE_CODE', '鏉傞」鍑哄簱鍗曠紪鐮�', '鏉傞」鍑哄簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('23', 'WM_STOCK_TAKING_PLAN_CODE', '鐩樼偣鏂规缂栫爜', '鐩樼偣鏂规鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('24', 'WM_STOCK_TAKING_CODE', '鐩樼偣浠诲姟缂栫爜', '鐩樼偣浠诲姟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('25', 'TRANSFER_CODE', '杞Щ璋冩嫧鍗曠紪鐮�', '杞Щ璋冩嫧鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('26', 'WM_OUTSOURCE_ISSUE_CODE', '澶栧崗鍙戞枡鍗曠紪鐮�', '澶栧崗鍙戞枡鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('27', 'WM_OUTSOURCE_RECEIPT_CODE', '澶栧崗鍏ュ簱鍗曠紪鐮�', '澶栧崗鍏ュ簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('28', 'WM_SALES_NOTICE_CODE', '鍙戣揣閫氱煡鍗曠紪鐮�', '鍙戣揣閫氱煡鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('29', 'WM_RETURN_SALES_CODE', '閿�鍞��璐у崟缂栫爜', '閿�鍞��璐у崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('30', 'PRO_WORK_ORDER_CODE', '鐢熶骇宸ュ崟缂栫爜', '鐢熶骇宸ュ崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('31', 'PRO_TASK_CODE', '鐢熶骇浠诲姟缂栫爜', '鐢熶骇浠诲姟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('32', 'PRO_ROUTE_CODE', '宸ヨ壓璺嚎缂栫爜', '宸ヨ壓璺嚎鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('33', 'PRO_FEEDBACK_CODE', '鐢熶骇鎶ュ伐鍗曠紪鐮�', '鐢熶骇鎶ュ伐鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('40', 'QC_IQC_CODE', '鏉ユ枡妫�楠屽崟缂栫爜', '鏉ユ枡妫�楠屽崟鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('41', 'QC_IPQC_CODE', '杩囩▼妫�楠屽崟缂栫爜', '杩囩▼妫�楠屽崟鑷姩缂栫爜', '16', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('42', 'QC_OQC_CODE', '鍑鸿揣妫�楠屽崟缂栫爜', '鍑鸿揣妫�楠屽崟鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('43', 'QC_RQC_CODE', '閫�璐ф楠屽崟缂栫爜', '閫�璐ф楠屽崟鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('44', 'QC_DEFECT_CODE', '缂洪櫡绫诲瀷缂栫爜', '缂洪櫡绫诲瀷鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('45', 'QC_INDICATOR_RESULT_CODE', '鏍峰搧妫�楠岀粨鏋滅紪鐮�', '鏍峰搧妫�楠岀粨鏋滆嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('50', 'DV_MACHINERY_CODE', '璁惧缂栫爜', '璁惧鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('51', 'DV_MACHINERY_TYPE_CODE', '璁惧绫诲瀷缂栫爜', '璁惧绫诲瀷鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('52', 'DV_SUBJECT_CODE', '鐐规淇濆吇椤圭洰缂栫爜', '鐐规淇濆吇椤圭洰鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('53', 'DV_REPAIR_CODE', '缁翠慨鍗曠紪鐮�', '缁翠慨鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('60', 'PD_DOCUMENT_AUDIT_CODE', '璧勬枡瀹℃牳鍗曠紪鐮�', '璧勬枡瀹℃牳鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('61', 'PD_ARCHIVE_CODE', '褰掓。鍙拌处缂栫爜', '褰掓。鍙拌处鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('62', 'PD_PROCESS_PARAM_CODE', '宸ヨ壓鍙傛暟缂栫爜', '宸ヨ壓鍙傛暟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('63', 'PD_PROCESS_PARAM_TEMPLATE_CODE', '宸ヨ壓鍙傛暟妯℃澘缂栫爜', '宸ヨ壓鍙傛暟妯℃澘鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 16:06:38', X'00'),
+('64', 'WM_PRODUCT_ISSUE_CODE', '棰嗘枡鍗�', NULL, '15', X'01', '0', '1', '0', NULL, '103', '2026-07-16 16:58:14', '103', '2026-07-16 16:59:03', X'00'),
+('65', 'MPS', '鐢熶骇涓昏鍒掔紪鐮�', '鐢熶骇涓昏鍒掕嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', '', '1', '2026-07-17 05:17:30', '1', '2026-07-17 05:17:30', X'00'),
+('66', 'QC_INDICATOR_CODE', '璐ㄦ鎸囨爣缂栫爜', NULL, '12', X'01', '0', '1', '0', NULL, '1', '2026-07-17 14:31:46', '1', '2026-07-17 14:32:23', X'00'),
+('67', 'QC_TEMPLATE_CODE', '璐ㄦ鏂规缂栫爜', NULL, '11', X'01', '0', '1', '0', NULL, '1', '2026-07-17 14:36:35', '1', '2026-07-17 14:37:05', X'00'),
+('68', 'SALESNOTICE_CODE', '閿�鍞�氱煡缂栫爜', '閿�鍞�氱煡鑷姩缂栫爜', '20', X'01', '0', '1', '0', '', 'admin', '2026-07-17 07:36:53', 'admin', '2026-07-17 07:36:53', X'00'),
+('69', 'CAL_TEAM_CODE', '鐝粍缂栫爜瑙勫垯', '鐝粍缂栫爜瑙勫垯', '10', X'01', '0', '1', '0', NULL, '1', '2026-07-31 09:57:04', '1', '2026-07-31 09:57:36', X'00'),
+('70', 'CAL_PLAN_CODE', '鎺掔彮璁″垝', NULL, '14', X'01', '0', '1', '0', NULL, '1', '2026-07-31 09:59:32', '1', '2026-07-31 10:00:17', X'00');
+
+-- ============ 琛細mes_md_auto_code_part锛堝鍑� 145 琛岋級 ============
+DROP TABLE IF EXISTS `mes_md_auto_code_part`;
+CREATE TABLE `mes_md_auto_code_part` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `rule_id` bigint DEFAULT NULL COMMENT '瑙勫垯缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鍒嗘搴忓彿',
+  `type` int DEFAULT NULL COMMENT '鍒嗘绫诲瀷',
+  `length` int DEFAULT NULL COMMENT '鍒嗘闀垮害',
+  `date_format` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏃ユ湡鏍煎紡',
+  `fix_character` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥哄畾瀛楃',
+  `serial_start_no` int DEFAULT NULL COMMENT '娴佹按鍙疯捣濮嬪��',
+  `serial_step` int DEFAULT NULL COMMENT '娴佹按鍙锋闀�',
+  `cycle_flag` bit(1) DEFAULT b'0' COMMENT '娴佹按鍙锋槸鍚﹀惊鐜�',
+  `cycle_method` int DEFAULT NULL COMMENT '寰幆鏂瑰紡',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=478 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂栫爜瑙勫垯缁勬垚';
+INSERT INTO `mes_md_auto_code_part` (`id`, `rule_id`, `sort`, `type`, `length`, `date_format`, `fix_character`, `serial_start_no`, `serial_step`, `cycle_flag`, `cycle_method`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('333', '1', '1', '3', '3', NULL, 'IT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('334', '1', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('335', '2', '1', '3', '5', NULL, 'ITEM_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-16 08:06:12', '103', '2026-07-16 16:17:41', X'00'),
+('336', '2', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('337', '2', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('338', '3', '1', '3', '4', NULL, 'VND_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('339', '3', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('340', '3', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('341', '4', '1', '3', '4', NULL, 'CLT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('342', '4', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('343', '4', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('344', '5', '1', '3', '3', NULL, 'WS_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('345', '5', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('346', '6', '1', '3', '3', NULL, 'WP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('347', '6', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('348', '7', '1', '3', '3', NULL, 'TL_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('349', '7', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('350', '10', '1', '3', '3', NULL, 'WH_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('351', '10', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('352', '11', '1', '3', '3', NULL, 'LC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('353', '11', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('354', '12', '1', '3', '3', NULL, 'AR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('355', '12', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('356', '13', '1', '3', '3', NULL, 'AN_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('357', '13', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('358', '13', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('359', '14', '1', '3', '3', NULL, 'IR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('360', '14', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('361', '14', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('362', '15', '1', '3', '3', NULL, 'RV_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('363', '15', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('364', '15', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('365', '16', '1', '3', '3', NULL, 'RI_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('366', '16', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('367', '16', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('368', '17', '1', '3', '3', NULL, 'SN_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('369', '17', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('370', '17', '3', '4', '4', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('371', '18', '1', '3', '3', NULL, 'PK_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('372', '18', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('373', '18', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('374', '19', '1', '3', '3', NULL, 'BT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('375', '19', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('376', '19', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('377', '20', '1', '3', '3', NULL, 'SL_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('378', '20', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('379', '20', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('380', '21', '1', '3', '3', NULL, 'MI_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('381', '21', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('382', '21', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('383', '22', '1', '3', '3', NULL, 'MO_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('384', '22', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('385', '22', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('386', '23', '1', '3', '3', NULL, 'SP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('387', '23', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('388', '23', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('389', '24', '1', '3', '3', NULL, 'ST_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('390', '24', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('391', '24', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('392', '25', '1', '3', '3', NULL, 'TF_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('393', '25', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('394', '25', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('395', '26', '1', '3', '3', NULL, 'OI_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('396', '26', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('397', '26', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('398', '27', '1', '3', '3', NULL, 'OR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('399', '27', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('400', '27', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('401', '28', '1', '3', '3', NULL, 'SN_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('402', '28', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('403', '28', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('404', '29', '1', '3', '3', NULL, 'RS_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('405', '29', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('406', '29', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('407', '30', '1', '3', '3', NULL, 'WO_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('408', '30', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('409', '30', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('410', '31', '1', '3', '3', NULL, 'TK_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('411', '31', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('412', '31', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('413', '32', '1', '3', '3', NULL, 'RT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('414', '32', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('415', '32', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('416', '33', '1', '3', '3', NULL, 'FB_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('417', '33', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('418', '33', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('419', '40', '1', '3', '4', NULL, 'IQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('420', '40', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('421', '40', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('422', '41', '1', '3', '5', NULL, 'IPQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('423', '41', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('424', '41', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('425', '42', '1', '3', '4', NULL, 'OQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('426', '42', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('427', '42', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('428', '43', '1', '3', '4', NULL, 'RQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('429', '43', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('430', '43', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('431', '44', '1', '3', '3', NULL, 'DF_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('432', '44', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('433', '45', '1', '3', '3', NULL, 'IR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('434', '45', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('435', '45', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('436', '50', '1', '3', '3', NULL, 'MC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('437', '50', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('438', '50', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('439', '51', '1', '3', '3', NULL, 'MT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('440', '51', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('441', '52', '1', '3', '3', NULL, 'SJ_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('442', '52', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('443', '53', '1', '3', '3', NULL, 'RP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('444', '53', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('445', '53', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('446', '60', '1', '3', '3', NULL, 'DA_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('447', '60', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('448', '60', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('449', '61', '1', '3', '3', NULL, 'AC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('450', '61', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('451', '61', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('452', '62', '1', '3', '3', NULL, 'PP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('453', '62', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('454', '62', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('455', '63', '1', '3', '3', NULL, 'PT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('456', '63', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('457', '63', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('458', '64', '1', '3', '3', NULL, 'LWL', NULL, NULL, X'00', NULL, NULL, '103', '2026-07-16 16:58:38', '103', '2026-07-16 16:58:38', X'00'),
+('459', '64', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, X'00', NULL, NULL, '103', '2026-07-16 16:58:48', '103', '2026-07-16 16:58:48', X'00'),
+('460', '64', '3', '4', '4', NULL, NULL, '1', '1', X'01', '3', NULL, '103', '2026-07-16 16:58:57', '103', '2026-07-16 16:58:57', X'00'),
+('461', '65', '1', '3', '3', NULL, 'MPS', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-17 05:18:27', '1', '2026-07-17 05:18:27', X'00'),
+('462', '65', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-17 05:18:27', '1', '2026-07-17 05:18:27', X'00'),
+('463', '65', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-17 05:18:27', '1', '2026-07-17 05:18:27', X'00'),
+('464', '66', '1', '3', '4', NULL, 'IND_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:31:57', '1', '2026-07-17 14:31:57', X'00'),
+('465', '66', '2', '3', '4', NULL, 'CAR_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:32:07', '1', '2026-07-17 14:32:07', X'00'),
+('466', '66', '3', '4', '4', NULL, NULL, '5', '1', X'00', NULL, NULL, '1', '2026-07-17 14:32:22', '1', '2026-07-17 14:32:22', X'00'),
+('467', '67', '1', '3', '3', NULL, 'QC_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:36:45', '1', '2026-07-17 14:36:45', X'00'),
+('468', '67', '2', '3', '4', NULL, 'CAR_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:36:54', '1', '2026-07-17 14:36:54', X'00'),
+('469', '67', '3', '4', '4', NULL, NULL, '2', '1', X'00', NULL, NULL, '1', '2026-07-17 14:37:04', '1', '2026-07-17 14:37:04', X'00'),
+('470', '68', '1', '3', '3', NULL, 'XSTZ', NULL, NULL, NULL, NULL, NULL, 'admin', '2026-07-17 07:37:20', 'admin', '2026-07-17 07:37:20', X'00'),
+('471', '68', '2', '1', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, 'admin', '2026-07-17 07:37:20', 'admin', '2026-07-17 07:37:20', X'00'),
+('472', '68', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, 'admin', '2026-07-17 07:37:20', 'admin', '2026-07-17 07:37:20', X'00'),
+('473', '69', '1', '3', '5', NULL, 'TEAM_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-31 09:57:21', '1', '2026-07-31 09:57:21', X'00'),
+('474', '69', '2', '4', '5', NULL, NULL, '1', '1', X'00', NULL, NULL, '1', '2026-07-31 09:57:31', '1', '2026-07-31 09:57:31', X'00'),
+('475', '70', '1', '3', '3', NULL, 'PB_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-31 09:59:47', '1', '2026-07-31 09:59:47', X'00'),
+('476', '70', '2', '2', '6', 'yyyyMM', NULL, NULL, NULL, X'00', NULL, NULL, '1', '2026-07-31 10:00:03', '1', '2026-07-31 10:00:03', X'00'),
+('477', '70', '3', '4', '5', NULL, NULL, '1', '1', X'01', '2', NULL, '1', '2026-07-31 10:00:13', '1', '2026-07-31 10:00:13', X'00');
+
+-- ***********************************************************************
+-- 鈶� 绯荤粺閰嶇疆涓绘暟鎹紙瀛楀吀/绉熸埛/鍏徃閰嶇疆锛涘墧韬唤/鑿滃崟/鏃ュ織锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細system_dict_type锛堝鍑� 254 琛岋級 ============
+DROP TABLE IF EXISTS `system_dict_type`;
+CREATE TABLE `system_dict_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀛楀吀涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀鍚嶇О',
+  `type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `deleted_time` datetime DEFAULT NULL COMMENT '鍒犻櫎鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1065306 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛楀吀绫诲瀷琛�';
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES
+('1', '鐢ㄦ埛鎬у埆', 'system_user_sex', '0', NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-05-16 20:29:32', X'00', NULL),
+('6', '鍙傛暟绫诲瀷', 'infra_config_type', '0', NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:36:54', X'00', NULL),
+('7', '閫氱煡绫诲瀷', 'system_notice_type', '0', NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:35:26', X'00', NULL),
+('9', '鎿嶄綔绫诲瀷', 'infra_operate_type', '0', NULL, 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:01', X'00', NULL),
+('10', '绯荤粺鐘舵��', 'common_status', '0', NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:21:28', X'00', NULL),
+('11', 'Boolean 鏄惁绫诲瀷', 'infra_boolean_string', '0', 'boolean 杞槸鍚�', '', '2021-01-19 03:20:08', '', '2022-02-01 16:37:10', X'00', NULL),
+('104', '鐧婚檰缁撴灉', 'system_login_result', '0', '鐧婚檰缁撴灉', '', '2021-01-18 06:17:11', '', '2022-02-01 16:36:00', X'00', NULL),
+('106', '浠g爜鐢熸垚妯℃澘绫诲瀷', 'infra_codegen_template_type', '0', NULL, '', '2021-02-05 07:08:06', '1', '2022-05-16 20:26:50', X'00', NULL),
+('107', '瀹氭椂浠诲姟鐘舵��', 'infra_job_status', '0', NULL, '', '2021-02-07 07:44:16', '', '2022-02-01 16:51:11', X'00', NULL),
+('108', '瀹氭椂浠诲姟鏃ュ織鐘舵��', 'infra_job_log_status', '0', NULL, '', '2021-02-08 10:03:51', '', '2022-02-01 16:50:43', X'00', NULL),
+('109', '鐢ㄦ埛绫诲瀷', 'user_type', '0', NULL, '', '2021-02-26 00:15:51', '', '2021-02-26 00:15:51', X'00', NULL),
+('110', 'API 寮傚父鏁版嵁鐨勫鐞嗙姸鎬�', 'infra_api_error_log_process_status', '0', NULL, '', '2021-02-26 07:07:01', '', '2022-02-01 16:50:53', X'00', NULL),
+('111', '鐭俊娓犻亾缂栫爜', 'system_sms_channel_code', '0', NULL, '1', '2021-04-05 01:04:50', '1', '2022-02-16 02:09:08', X'00', NULL),
+('112', '鐭俊妯℃澘鐨勭被鍨�', 'system_sms_template_type', '0', NULL, '1', '2021-04-05 21:50:43', '1', '2022-02-01 16:35:06', X'00', NULL),
+('113', '鐭俊鍙戦�佺姸鎬�', 'system_sms_send_status', '0', NULL, '1', '2021-04-11 20:18:03', '1', '2022-02-01 16:35:09', X'00', NULL),
+('114', '鐭俊鎺ユ敹鐘舵��', 'system_sms_receive_status', '0', NULL, '1', '2021-04-11 20:27:14', '1', '2022-02-01 16:35:14', X'00', NULL),
+('116', '鐧婚檰鏃ュ織鐨勭被鍨�', 'system_login_type', '0', '鐧婚檰鏃ュ織鐨勭被鍨�', '1', '2021-10-06 00:50:46', '1', '2022-02-01 16:35:56', X'00', NULL),
+('117', 'OA 璇峰亣绫诲瀷', 'bpm_oa_leave_type', '0', NULL, '1', '2021-09-21 22:34:33', '1', '2022-01-22 10:41:37', X'00', NULL),
+('130', '鏀粯娓犻亾缂栫爜绫诲瀷', 'pay_channel_code', '0', '鏀粯娓犻亾鐨勭紪鐮�', '1', '2021-12-03 10:35:08', '1', '2023-07-10 10:11:39', X'00', NULL),
+('131', '鏀粯鍥炶皟鐘舵��', 'pay_notify_status', '0', '鏀粯鍥炶皟鐘舵�侊紙鍖呮嫭閫�娆惧洖璋冿級', '1', '2021-12-03 10:53:29', '1', '2023-07-19 18:09:43', X'00', NULL),
+('132', '鏀粯璁㈠崟鐘舵��', 'pay_order_status', '0', '鏀粯璁㈠崟鐘舵��', '1', '2021-12-03 11:17:50', '1', '2021-12-03 11:17:50', X'00', NULL),
+('134', '閫�娆捐鍗曠姸鎬�', 'pay_refund_status', '0', '閫�娆捐鍗曠姸鎬�', '1', '2021-12-10 16:42:50', '1', '2023-07-19 10:13:17', X'00', NULL),
+('139', '娴佺▼瀹炰緥鐨勭姸鎬�', 'bpm_process_instance_status', '0', '娴佺▼瀹炰緥鐨勭姸鎬�', '1', '2022-01-07 23:46:42', '1', '2022-01-07 23:46:42', X'00', NULL),
+('140', '娴佺▼瀹炰緥鐨勭粨鏋�', 'bpm_task_status', '0', '娴佺▼瀹炰緥鐨勭粨鏋�', '1', '2022-01-07 23:48:10', '1', '2024-03-08 22:42:03', X'00', NULL),
+('141', '娴佺▼鐨勮〃鍗曠被鍨�', 'bpm_model_form_type', '0', '娴佺▼鐨勮〃鍗曠被鍨�', '103', '2022-01-11 23:50:45', '103', '2022-01-11 23:50:45', X'00', NULL),
+('142', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨�', 'bpm_task_candidate_strategy', '0', 'BPM 浠诲姟鐨勫�欓�変汉鐨勭瓥鐣�', '103', '2022-01-12 23:21:04', '103', '2024-03-06 02:53:59', X'00', NULL),
+('144', '浠g爜鐢熸垚鐨勫満鏅灇涓�', 'infra_codegen_scene', '0', '浠g爜鐢熸垚鐨勫満鏅灇涓�', '1', '2022-02-02 13:14:45', '1', '2022-03-10 16:33:46', X'00', NULL),
+('145', '瑙掕壊绫诲瀷', 'system_role_type', '0', '瑙掕壊绫诲瀷', '1', '2022-02-16 13:01:46', '1', '2022-02-16 13:01:46', X'00', NULL),
+('146', '鏂囦欢瀛樺偍鍣�', 'infra_file_storage', '0', '鏂囦欢瀛樺偍鍣�', '1', '2022-03-15 00:24:38', '1', '2022-03-15 00:24:38', X'00', NULL),
+('147', 'OAuth 2.0 鎺堟潈绫诲瀷', 'system_oauth2_grant_type', '0', 'OAuth 2.0 鎺堟潈绫诲瀷锛堟ā寮忥級', '1', '2022-05-12 00:20:52', '1', '2022-05-11 16:25:49', X'00', NULL),
+('149', '鍟嗗搧 SPU 鐘舵��', 'product_spu_status', '0', '鍟嗗搧 SPU 鐘舵��', '1', '2022-10-24 21:19:04', '1', '2022-10-24 21:19:08', X'00', NULL),
+('150', '浼樻儬绫诲瀷', 'promotion_discount_type', '0', '浼樻儬绫诲瀷', '1', '2022-11-01 12:46:06', '1', '2022-11-01 12:46:06', X'00', NULL),
+('151', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨�', 'promotion_coupon_template_validity_type', '0', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨�', '1', '2022-11-02 00:06:20', '1', '2022-11-04 00:08:26', X'00', NULL),
+('152', '钀ラ攢鐨勫晢鍝佽寖鍥�', 'promotion_product_scope', '0', '钀ラ攢鐨勫晢鍝佽寖鍥�', '1', '2022-11-02 00:28:01', '1', '2022-11-02 00:28:01', X'00', NULL),
+('153', '浼樻儬鍔电殑鐘舵��', 'promotion_coupon_status', '0', '浼樻儬鍔电殑鐘舵��', '1', '2022-11-04 00:14:49', '1', '2022-11-04 00:14:49', X'00', NULL),
+('154', '浼樻儬鍔电殑棰嗗彇鏂瑰紡', 'promotion_coupon_take_type', '0', '浼樻儬鍔电殑棰嗗彇鏂瑰紡', '1', '2022-11-04 19:12:27', '1', '2022-11-04 19:12:27', X'00', NULL),
+('155', '淇冮攢娲诲姩鐨勭姸鎬�', 'promotion_activity_status', '0', '淇冮攢娲诲姩鐨勭姸鎬�', '1', '2022-11-04 22:54:23', '1', '2022-11-04 22:54:23', X'00', NULL),
+('156', '钀ラ攢鐨勬潯浠剁被鍨�', 'promotion_condition_type', '0', '钀ラ攢鐨勬潯浠剁被鍨�', '1', '2022-11-04 22:59:23', '1', '2022-11-04 22:59:23', X'00', NULL),
+('157', '浜ゆ槗鍞悗鐘舵��', 'trade_after_sale_status', '0', '浜ゆ槗鍞悗鐘舵��', '1', '2022-11-19 20:52:56', '1', '2022-11-19 20:52:56', X'00', NULL),
+('158', '浜ゆ槗鍞悗鐨勭被鍨�', 'trade_after_sale_type', '0', '浜ゆ槗鍞悗鐨勭被鍨�', '1', '2022-11-19 21:04:09', '1', '2022-11-19 21:04:09', X'00', NULL),
+('159', '浜ゆ槗鍞悗鐨勬柟寮�', 'trade_after_sale_way', '0', '浜ゆ槗鍞悗鐨勬柟寮�', '1', '2022-11-19 21:39:04', '1', '2022-11-19 21:39:04', X'00', NULL),
+('160', '缁堢', 'terminal', '0', '缁堢', '1', '2022-12-10 10:50:50', '1', '2022-12-10 10:53:11', X'00', NULL),
+('161', '浜ゆ槗璁㈠崟鐨勭被鍨�', 'trade_order_type', '0', '浜ゆ槗璁㈠崟鐨勭被鍨�', '1', '2022-12-10 16:33:54', '1', '2022-12-10 16:33:54', X'00', NULL),
+('162', '浜ゆ槗璁㈠崟鐨勭姸鎬�', 'trade_order_status', '0', '浜ゆ槗璁㈠崟鐨勭姸鎬�', '1', '2022-12-10 16:48:44', '1', '2022-12-10 16:48:44', X'00', NULL),
+('163', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵��', 'trade_order_item_after_sale_status', '0', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵��', '1', '2022-12-10 20:58:08', '1', '2022-12-10 20:58:08', X'00', NULL),
+('164', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮�', 'mp_auto_reply_request_match', '0', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮�', '1', '2023-01-16 23:29:56', '1', '2023-01-16 23:29:56', X'00', '1970-01-01 00:00:00'),
+('165', '鍏紬鍙风殑娑堟伅绫诲瀷', 'mp_message_type', '0', '鍏紬鍙风殑娑堟伅绫诲瀷', '1', '2023-01-17 22:17:09', '1', '2023-01-17 22:17:09', X'00', '1970-01-01 00:00:00'),
+('166', '閭欢鍙戦�佺姸鎬�', 'system_mail_send_status', '0', '閭欢鍙戦�佺姸鎬�', '1', '2023-01-26 09:53:13', '1', '2023-01-26 09:53:13', X'00', '1970-01-01 00:00:00'),
+('167', '绔欏唴淇℃ā鐗堢殑绫诲瀷', 'system_notify_template_type', '0', '绔欏唴淇℃ā鐗堢殑绫诲瀷', '1', '2023-01-28 10:35:10', '1', '2023-01-28 10:35:10', X'00', '1970-01-01 00:00:00'),
+('168', '浠g爜鐢熸垚鐨勫墠绔被鍨�', 'infra_codegen_front_type', '0', '', '1', '2023-04-12 23:57:52', '1', '2023-04-12 23:57:52', X'00', '1970-01-01 00:00:00'),
+('170', '蹇�掕璐规柟寮�', 'trade_delivery_express_charge_mode', '0', '鐢ㄤ簬鍟嗗煄浜ゆ槗妯″潡閰嶉�佺鐞�', '1', '2023-05-21 22:45:03', '1', '2023-05-21 22:45:03', X'00', '1970-01-01 00:00:00'),
+('171', '绉垎涓氬姟绫诲瀷', 'member_point_biz_type', '0', '', '1', '2023-06-10 12:15:00', '1', '2023-06-28 13:48:20', X'00', '1970-01-01 00:00:00'),
+('173', '鏀粯閫氱煡绫诲瀷', 'pay_notify_type', '0', NULL, '1', '2023-07-20 12:23:03', '1', '2023-07-20 12:23:03', X'00', '1970-01-01 00:00:00'),
+('174', '浼氬憳缁忛獙涓氬姟绫诲瀷', 'member_experience_biz_type', '0', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00', NULL),
+('175', '浜ゆ槗閰嶉�佺被鍨�', 'trade_delivery_type', '0', '', '1', '2023-08-23 00:03:14', '1', '2023-08-23 00:03:14', X'00', '1970-01-01 00:00:00'),
+('176', '鍒嗕剑妯″紡', 'brokerage_enabled_condition', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('177', '鍒嗛攢鍏崇郴缁戝畾妯″紡', 'brokerage_bind_mode', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('178', '浣i噾鎻愮幇绫诲瀷', 'brokerage_withdraw_type', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('179', '浣i噾璁板綍涓氬姟绫诲瀷', 'brokerage_record_biz_type', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('180', '浣i噾璁板綍鐘舵��', 'brokerage_record_status', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('181', '浣i噾鎻愮幇鐘舵��', 'brokerage_withdraw_status', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('182', '浣i噾鎻愮幇閾惰', 'brokerage_bank_name', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('183', '鐮嶄环璁板綍鐨勭姸鎬�', 'promotion_bargain_record_status', '0', '', '1', '2023-10-05 10:41:08', '1', '2023-10-05 10:41:08', X'00', '1970-01-01 00:00:00'),
+('184', '鎷煎洟璁板綍鐨勭姸鎬�', 'promotion_combination_record_status', '0', '', '1', '2023-10-08 07:24:25', '1', '2023-10-08 07:24:25', X'00', '1970-01-01 00:00:00'),
+('185', '鍥炴-鍥炴鏂瑰紡', 'crm_receivable_return_type', '0', '鍥炴-鍥炴鏂瑰紡', '1', '2023-10-18 21:54:10', '1', '2023-10-18 21:54:10', X'00', '1970-01-01 00:00:00'),
+('186', 'CRM 瀹㈡埛琛屼笟', 'crm_customer_industry', '0', 'CRM 瀹㈡埛鎵�灞炶涓�', '1', '2023-10-28 22:57:07', '1', '2024-02-18 23:30:22', X'00', NULL),
+('187', '瀹㈡埛绛夌骇', 'crm_customer_level', '0', 'CRM 瀹㈡埛绛夌骇', '1', '2023-10-28 22:59:12', '1', '2023-10-28 15:11:16', X'00', NULL),
+('188', '瀹㈡埛鏉ユ簮', 'crm_customer_source', '0', 'CRM 瀹㈡埛鏉ユ簮', '1', '2023-10-28 23:00:34', '1', '2023-10-28 15:11:16', X'00', NULL),
+('600', 'Banner 浣嶇疆', 'promotion_banner_position', '0', '', '1', '2023-10-08 07:24:25', '1', '2023-11-04 13:04:02', X'00', '1970-01-01 00:00:00'),
+('601', '绀句氦绫诲瀷', 'system_social_type', '0', '', '1', '2023-11-04 13:03:54', '1', '2023-11-04 13:03:54', X'00', '1970-01-01 00:00:00'),
+('604', '浜у搧鐘舵��', 'crm_product_status', '0', '', '1', '2023-10-30 21:47:59', '1', '2023-10-30 21:48:45', X'00', '1970-01-01 00:00:00'),
+('605', 'CRM 鏁版嵁鏉冮檺鐨勭骇鍒�', 'crm_permission_level', '0', '', '1', '2023-11-30 09:51:59', '1', '2023-11-30 09:51:59', X'00', '1970-01-01 00:00:00'),
+('606', 'CRM 瀹℃壒鐘舵��', 'crm_audit_status', '0', '', '1', '2023-11-30 18:56:23', '1', '2023-11-30 18:56:23', X'00', '1970-01-01 00:00:00'),
+('607', 'CRM 浜у搧鍗曚綅', 'crm_product_unit', '0', '', '1', '2023-12-05 23:01:51', '1', '2023-12-05 23:01:51', X'00', '1970-01-01 00:00:00'),
+('608', 'CRM 璺熻繘鏂瑰紡', 'crm_follow_up_type', '0', '', '1', '2024-01-15 20:48:05', '1', '2024-01-15 20:48:05', X'00', '1970-01-01 00:00:00'),
+('610', '杞处璁㈠崟鐘舵��', 'pay_transfer_status', '0', '', '1', '2023-10-28 16:18:32', '1', '2023-10-28 16:18:32', X'00', '1970-01-01 00:00:00'),
+('611', 'ERP 搴撳瓨鏄庣粏鐨勪笟鍔$被鍨�', 'erp_stock_record_biz_type', '0', 'ERP 搴撳瓨鏄庣粏鐨勪笟鍔$被鍨�', '1', '2024-02-05 18:07:02', '1', '2024-02-05 18:07:02', X'00', '1970-01-01 00:00:00'),
+('612', 'ERP 瀹℃壒鐘舵��', 'erp_audit_status', '0', '', '1', '2024-02-06 00:00:07', '1', '2024-02-06 00:00:07', X'00', '1970-01-01 00:00:00'),
+('613', 'BPM 鐩戝惉鍣ㄧ被鍨�', 'bpm_process_listener_type', '0', '', '1', '2024-03-23 12:52:24', '1', '2024-03-09 15:54:28', X'00', '1970-01-01 00:00:00'),
+('615', 'BPM 鐩戝惉鍣ㄥ�肩被鍨�', 'bpm_process_listener_value_type', '0', '', '1', '2024-03-23 13:00:31', '1', '2024-03-23 13:00:31', X'00', '1970-01-01 00:00:00'),
+('616', '鏃堕棿闂撮殧', 'date_interval', '0', '', '1', '2024-03-29 22:50:09', '1', '2024-03-29 22:50:09', X'00', '1970-01-01 00:00:00'),
+('619', 'CRM 鍟嗘満缁撴潫鐘舵�佺被鍨�', 'crm_business_end_status_type', '0', '', '1', '2024-04-13 23:23:00', '1', '2024-04-13 23:23:00', X'00', '1970-01-01 00:00:00'),
+('620', 'AI 妯″瀷骞冲彴', 'ai_platform', '0', '', '1', '2024-05-09 22:27:38', '1', '2024-05-09 22:27:38', X'00', '1970-01-01 00:00:00'),
+('621', 'AI 缁樼敾鐘舵��', 'ai_image_status', '0', '', '1', '2024-06-26 20:51:23', '1', '2024-06-26 20:51:23', X'00', '1970-01-01 00:00:00'),
+('622', 'AI 闊充箰鐘舵��', 'ai_music_status', '0', '', '1', '2024-06-27 22:45:07', '1', '2024-06-28 00:56:27', X'00', '1970-01-01 00:00:00'),
+('623', 'AI 闊充箰鐢熸垚妯″紡', 'ai_generate_mode', '0', '', '1', '2024-06-27 22:46:21', '1', '2024-06-28 01:22:29', X'00', '1970-01-01 00:00:00'),
+('624', '鍐欎綔璇皵', 'ai_write_tone', '0', '', '1', '2024-07-07 15:19:02', '1', '2024-07-07 15:19:02', X'00', '1970-01-01 00:00:00'),
+('625', '鍐欎綔璇█', 'ai_write_language', '0', '', '1', '2024-07-07 15:18:52', '1', '2024-07-07 15:18:52', X'00', '1970-01-01 00:00:00'),
+('626', '鍐欎綔闀垮害', 'ai_write_length', '0', '', '1', '2024-07-07 15:18:41', '1', '2024-07-07 15:18:41', X'00', '1970-01-01 00:00:00'),
+('627', '鍐欎綔鏍煎紡', 'ai_write_format', '0', '', '1', '2024-07-07 15:14:34', '1', '2024-07-07 15:14:34', X'00', '1970-01-01 00:00:00'),
+('628', 'AI 鍐欎綔绫诲瀷', 'ai_write_type', '0', '', '1', '2024-07-10 21:25:29', '1', '2024-07-10 21:25:29', X'00', '1970-01-01 00:00:00'),
+('629', 'BPM 娴佺▼妯″瀷绫诲瀷', 'bpm_model_type', '0', '', '1', '2024-08-26 15:21:43', '1', '2024-08-26 15:21:43', X'00', '1970-01-01 00:00:00'),
+('640', 'AI 妯″瀷绫诲瀷', 'ai_model_type', '0', '', '1', '2025-03-03 12:24:07', '1', '2025-03-03 12:24:07', X'00', '1970-01-01 00:00:00'),
+('1001', 'IoT 浜у搧璁惧绫诲瀷', 'iot_product_device_type', '0', '', '1', '2024-08-10 11:54:30', '1', '2025-03-17 09:25:08', X'00', '1970-01-01 00:00:00'),
+('1002', 'IoT 浜у搧鐘舵��', 'iot_product_status', '0', '', '1', '2024-08-10 12:06:09', '1', '2025-03-17 09:25:10', X'00', '1970-01-01 00:00:00'),
+('1004', 'IoT 鑱旂綉鏂瑰紡', 'iot_net_type', '0', '', '1', '2024-09-06 22:04:13', '1', '2025-03-17 09:25:14', X'00', '1970-01-01 00:00:00'),
+('1006', 'IoT 璁惧鐘舵��', 'iot_device_state', '0', '', '1', '2024-09-21 08:12:55', '1', '2025-03-17 09:25:19', X'00', '1970-01-01 00:00:00'),
+('1007', 'IoT 鐗╂ā鍨嬪姛鑳界被鍨�', 'iot_thing_model_type', '0', '', '1', '2024-09-29 20:02:36', '1', '2025-03-17 09:25:24', X'00', '1970-01-01 00:00:00'),
+('1011', 'IoT 鐗╂ā鍨嬪崟浣�', 'iot_thing_model_unit', '0', '', '1', '2024-12-25 17:36:46', '1', '2025-03-17 09:25:35', X'00', '1970-01-01 00:00:00'),
+('1013', 'IoT 鏁版嵁娴佽浆鐩殑鐨勭被鍨嬫灇涓�', 'iot_data_sink_type_enum', '0', '', '1', '2025-03-09 12:39:36', '1', '2025-06-24 12:45:24', X'00', '1970-01-01 00:00:00'),
+('1014', 'IoT 鍦烘櫙娴佽浆鐨勮Е鍙戠被鍨嬫灇涓�', 'iot_rule_scene_trigger_type_enum', '0', '', '1', '2025-03-20 14:59:44', '1', '2025-03-20 14:59:44', X'00', '1970-01-01 00:00:00'),
+('1015', 'IoT 璁惧娑堟伅绫诲瀷鏋氫妇', 'iot_device_message_type_enum', '0', '', '1', '2025-03-20 15:01:15', '1', '2025-03-20 15:01:15', X'00', '1970-01-01 00:00:00'),
+('1016', 'IoT 瑙勫垯鍦烘櫙鐨勮Е鍙戠被鍨嬫灇涓�', 'iot_rule_scene_action_type_enum', '0', '', '1', '2025-03-28 15:26:54', '1', '2025-03-28 15:29:13', X'00', '1970-01-01 00:00:00'),
+('1017', 'MES 鐗╂枡娑堣�楄褰曠姸鎬�', 'mes_wm_item_consume_status', '0', 'MES 鐗╂枡娑堣�楄褰曠姸鎬�', '1', '2026-03-19 15:06:23', '1', '2026-03-19 15:06:23', X'00', NULL),
+('2001', 'IoT 鍛婅绾у埆', 'iot_alert_level', '0', '', '1', '2025-06-27 20:30:57', '1', '2025-06-27 20:30:57', X'00', '1970-01-01 00:00:00'),
+('2002', 'IoT 鍛婅', 'iot_alert_receive_type', '0', '', '1', '2025-06-27 22:49:19', '1', '2025-06-27 22:49:19', X'00', '1970-01-01 00:00:00'),
+('2003', 'IoT 鍥轰欢璁惧鑼冨洿', 'iot_ota_task_device_scope', '0', '', '1', '2025-07-02 09:42:49', '1', '2025-07-02 09:42:49', X'00', '1970-01-01 00:00:00'),
+('2004', 'IoT 鍥轰欢鍗囩骇浠诲姟鐘舵��', 'iot_ota_task_status', '0', '', '1', '2025-07-02 09:43:43', '1', '2025-07-02 09:43:43', X'00', '1970-01-01 00:00:00'),
+('2005', 'IoT 鍥轰欢鍗囩骇璁板綍鐘舵��', 'iot_ota_task_record_status', '0', '', '1', '2025-07-02 09:45:02', '1', '2025-07-02 09:45:02', X'00', '1970-01-01 00:00:00'),
+('2007', 'AI MCP 瀹㈡埛绔悕瀛�', 'ai_mcp_client_name', '0', '', '1', '2025-08-28 13:57:40', '1', '2025-08-28 13:57:40', X'00', '1970-01-01 00:00:00'),
+('2008', 'IoT 鍗忚绫诲瀷', 'iot_protocol_type', '0', 'IoT 璁惧鎺ュ叆鍗忚绫诲瀷', '1', '2026-02-04 00:31:33', '1', '2026-02-04 00:31:33', X'00', '1970-01-01 00:00:00'),
+('2009', 'IoT 搴忓垪鍖栫被鍨�', 'iot_serialize_type', '0', 'IoT 璁惧娑堟伅搴忓垪鍖栫被鍨�', '1', '2026-02-04 00:33:16', '1', '2026-02-04 00:33:16', X'00', '1970-01-01 00:00:00'),
+('2010', 'IoT Modbus 宸ヤ綔妯″紡', 'iot_modbus_mode', '0', 'Modbus 璁惧鏁版嵁閲囬泦妯″紡', '1', '2025-06-12 22:55:46', '1', '2025-06-12 22:55:46', X'00', '1970-01-01 00:00:00'),
+('2011', 'IoT Modbus 甯ф牸寮�', 'iot_modbus_frame_format', '0', 'Modbus 鏁版嵁甯у崗璁牸寮�', '1', '2025-06-12 22:55:46', '1', '2025-06-12 22:55:46', X'00', '1970-01-01 00:00:00'),
+('2012', 'MES 瀹㈡埛绫诲瀷', 'mes_client_type', '0', '', '1', '2026-02-15 14:38:25', '1', '2026-02-15 14:38:25', X'00', NULL),
+('2013', 'MES 渚涘簲鍟嗙骇鍒�', 'mes_vendor_level', '0', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00', NULL),
+('2014', 'MES 鍋囨湡绫诲瀷', 'mes_cal_holiday_type', '0', 'MES 鏃ュ巻鎺掔彮 - 鍋囨湡绫诲瀷锛圚OLIDAY=鍋囨湡锛學ORKDAY=宸ヤ綔鏃ワ級', '1', '2026-02-16 07:35:58', '1', '2026-02-16 07:35:58', X'00', NULL),
+('2015', 'MES 宸ュ叿鐘舵��', 'mes_tm_tool_status', '0', 'MES 宸ュ叿绠$悊 - 宸ュ叿鐘舵�侊紙1=鍦ㄥ簱锛�2=棰嗙敤涓紝3=缁翠慨涓紝4=鎶ュ簾锛�', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00', NULL),
+('2016', 'MES 淇濆吇缁存姢绫诲瀷', 'mes_tm_mainten_type', '0', 'MES 宸ュ叿绠$悊 - 淇濆吇缁存姢绫诲瀷锛�1=瀹氭湡缁存姢锛�2=鎸変娇鐢ㄦ鏁扮淮鎶わ級', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00', NULL),
+('2017', 'MES 璁惧鐘舵��', 'mes_dv_machinery_status', '0', 'MES 璁惧绠$悊 - 璁惧鐘舵�侊紙1=杩愯涓紝2=鍋滄満锛�3=鏁呴殰锛�', '1', '2026-02-17 01:00:06', '1', '2026-02-17 01:00:06', X'00', NULL),
+('2018', 'MES 妫�娴嬮」绫诲瀷', 'mes_indicator_type', '0', '', '1', '2026-02-17 02:16:22', '1', '2026-02-21 15:25:04', X'00', NULL),
+('2019', 'MES 缂洪櫡绛夌骇', 'mes_defect_level', '0', '', '1', '2026-02-17 02:16:22', '1', '2026-02-17 02:16:22', X'00', NULL),
+('2020', 'MES 杞彮鏂瑰紡', 'mes_cal_shift_type', '0', 'MES 鏃ュ巻鎺掔彮 - 杞彮鏂瑰紡', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2021', 'MES 鍊掔彮鏂瑰紡', 'mes_cal_shift_method', '0', 'MES 鏃ュ巻鎺掔彮 - 鍊掔彮鏂瑰紡', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2022', 'MES 鐝粍绫诲瀷', 'mes_cal_calendar_type', '0', 'MES 鏃ュ巻鎺掔彮 - 鐝粍绫诲瀷', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2023', 'MES 鎺掔彮璁″垝鐘舵��', 'mes_cal_plan_status', '0', 'MES 鏃ュ巻鎺掔彮 - 鎺掔彮璁″垝鐘舵��', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2026', 'MES 妫�娴嬬绫�', 'mes_qc_type', '0', 'IQC/IPQC/OQC/RQC', '1', '2026-02-17 08:34:40', '1', '2026-02-17 08:34:40', X'00', NULL),
+('2027', 'MES 鐢熶骇宸ュ崟鐘舵��', 'mes_pro_work_order_status', '0', 'MES 鐢熶骇绠$悊 - 宸ュ崟鐘舵�侊紙0=鑽夌锛�1=宸茬‘璁わ紝2=宸插畬鎴愶紝3=宸插彇娑堬級', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00', NULL),
+('2028', 'MES 宸ュ崟鏉ユ簮绫诲瀷', 'mes_pro_work_order_source_type', '0', 'MES 鐢熶骇绠$悊 - 宸ュ崟鏉ユ簮绫诲瀷锛�1=瀹㈡埛璁㈠崟锛�2=搴撳瓨澶囪揣锛�', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00', NULL),
+('2029', 'MES 宸ュ崟绫诲瀷', 'mes_pro_work_order_type', '0', 'MES 鐢熶骇绠$悊 - 宸ュ崟绫诲瀷锛�1=鑷鐢熶骇锛�2=浠e伐锛�3=閲囪喘锛�', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00', NULL),
+('2036', 'MES 宸ュ簭鍏崇郴绫诲瀷', 'mes_pro_link_type', '0', '宸ヨ壓璺嚎涓伐搴忎箣闂寸殑鍏崇郴绫诲瀷', '1', '2026-02-19 04:24:53', '1', '2026-04-05 15:05:07', X'00', NULL),
+('2037', 'MES 鏃堕棿鍗曚綅', 'mes_time_unit_type', '0', '鐢熶骇鏃堕棿鐨勮閲忓崟浣�', '1', '2026-02-19 04:24:53', '1', '2026-04-05 15:04:57', X'00', NULL),
+('2038', 'MES 鐢熶骇浠诲姟鐘舵��', 'mes_pro_task_status', '0', 'MES 鐢熶骇绠$悊 - 浠诲姟鐘舵�侊紙0=鑽夌锛�4=宸插畬鎴愶紝5=宸插彇娑堬級', '1', '2026-02-19 15:25:27', '1', '2026-06-13 10:32:58', X'00', NULL),
+('2039', 'MES 鐐规淇濆吇椤圭洰绫诲瀷', 'mes_dv_subject_type', '0', 'MES 璁惧绠$悊 - 鐐规淇濆吇椤圭洰绫诲瀷锛�1=璁惧鐐规锛�2=璁惧淇濆吇锛�', '1', '2026-02-20 01:42:58', '1', '2026-02-20 01:42:58', X'00', NULL),
+('2040', 'MES 淇濆吇璁板綍鐘舵��', 'mes_mainten_record_status', '0', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00', NULL),
+('2041', 'MES 淇濆吇缁撴灉', 'mes_mainten_status', '0', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00', NULL),
+('2042', 'MES 鐐规淇濆吇鍛ㄦ湡绫诲瀷', 'mes_dv_cycle_type', '0', 'MES 璁惧绠$悊 - 鐐规淇濆吇鍛ㄦ湡绫诲瀷锛�1=澶╋紝2=鍛紝3=鏈堬紝4=骞达級', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00', NULL),
+('2043', 'MES 鐐规淇濆吇鏂规鐘舵��', 'mes_dv_check_plan_status', '0', 'MES 璁惧绠$悊 - 鐐规淇濆吇鏂规鐘舵�侊紙0=鑽夌锛�1=宸插惎鐢級', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00', NULL),
+('2044', 'MES 鐐规璁板綍鐘舵��', 'mes_dv_check_record_status', '0', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00', NULL),
+('2045', 'MES 鐐规缁撴灉', 'mes_dv_check_result', '0', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00', NULL),
+('2046', 'MES 缁翠慨宸ュ崟鐘舵��', 'mes_dv_repair_status', '0', 'MES 璁惧绠$悊 - 缁翠慨宸ュ崟鐘舵�侊紙10=寰呯淮淇紝20=缁翠慨涓紝30=宸插畬鎴愶紝40=宸查獙鏀讹級', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00', NULL),
+('2047', 'MES 缁翠慨缁撴灉', 'mes_dv_repair_result', '0', 'MES 璁惧绠$悊 - 缁翠慨缁撴灉锛�1=淇鎴愬姛锛�2=鎶ュ簾锛�', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00', NULL),
+('2049', 'MES 妫�娴嬬粨鏋�', 'mes_qc_check_result', '0', '鏉ユ枡妫�楠岀殑鏈�缁堢粨鏋滃垽瀹�', '1', '2026-02-20 11:23:35', '1', '2026-02-20 11:23:35', X'00', NULL),
+('2050', 'MES 鏉ユ簮鍗曟嵁绫诲瀷', 'mes_qc_source_doc_type', '0', 'IQC 鏉ユ枡妫�楠岀殑鏉ユ簮鍗曟嵁绫诲瀷', '1', '2026-02-20 11:23:35', '1', '2026-02-20 11:23:35', X'00', NULL),
+('2051', 'MES 瀹夌伅澶勭疆鐘舵��', 'mes_pro_andon_status', '0', 'MES 鐢熶骇绠$悊 - 瀹夌伅澶勭疆鐘舵�侊紙0=鏈缃紝1=宸插缃級', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00', NULL),
+('2052', 'MES 瀹夌伅绾у埆', 'mes_pro_andon_level', '0', 'MES 鐢熶骇绠$悊 - 瀹夌伅绾у埆锛�1=涓�绾э紝2=浜岀骇锛�3=涓夌骇锛�', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00', NULL),
+('2053', 'MES 鐢熶骇鎶ュ伐鐘舵��', 'mes_pro_feedback_status', '0', 'MES 鐢熶骇绠$悊 - 鎶ュ伐鐘舵�侊紙0=鑽夌锛�1=瀹℃壒涓紝2=寰呮楠岋紝3=宸插畬鎴愶紝4=宸插彇娑堬級', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00', NULL),
+('2054', 'MES 鐢熶骇鎶ュ伐绫诲瀷', 'mes_pro_feedback_type', '0', 'MES 鐢熶骇绠$悊 - 鎶ュ伐绫诲瀷锛�1=鑷鎶ュ伐锛�2=缁熶竴鎶ュ伐锛�', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00', NULL),
+('2055', 'MES 鐢熶骇鎶ュ伐閫斿緞', 'mes_pro_feedback_channel', '0', 'MES 鐢熶骇绠$悊 - 鎶ュ伐閫斿緞锛圥C/APP/PDA锛�', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00', NULL),
+('2056', 'MES 璐ㄦ鍊肩被鍨�', 'mes_qc_result_type', '0', '妫�楠岀粨鏋滄槑缁嗙殑鍊肩被鍨嬶細娴偣/鏁存暟/鏂囨湰/瀛楀吀/鏂囦欢', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00', NULL),
+('2057', 'MES 閫�璐ф楠岀被鍨�', 'mes_rqc_type', '0', 'MES 閫�璐ф楠岀被鍨�', '1', '2026-02-22 06:43:18', '1', '2026-02-22 06:43:18', X'00', NULL),
+('2062', 'MES IPQC 妫�楠岀被鍨�', 'mes_ipqc_type', '0', 'IPQC 杩囩▼妫�楠岀殑妫�楠岀被鍨�', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00', NULL),
+('2066', 'MES 鍒拌揣閫氱煡鍗曠姸鎬�', 'mes_wm_arrival_notice_status', '0', 'MES 鍒拌揣閫氱煡鍗曠姸鎬�', '1', '2026-02-22 14:53:18', '1', '2026-02-22 14:53:18', X'00', NULL),
+('2067', 'MES 閲囪喘鍏ュ簱鍗曠姸鎬�', 'mes_wm_item_receipt_status', '0', 'MES 閲囪喘鍏ュ簱鍗曠姸鎬�', '1', '2026-02-22 14:54:05', '1', '2026-02-22 14:54:05', X'00', NULL),
+('2068', 'MES 鍗曟嵁鐘舵��', 'mes_order_status', '0', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:17:37', X'00', NULL),
+('2069', 'MES 棰嗘枡鍑哄簱鍗曠姸鎬�', 'mes_wm_product_issue_status', '0', 'MES 棰嗘枡鍑哄簱鍗曠姸鎬�', '1', '2026-02-26 16:39:44', '1', '2026-04-05 15:05:11', X'00', NULL),
+('2073', 'MES 鐢熶骇閫�鏂欏崟鐘舵��', 'mes_wm_return_issue_status', '0', 'MES 鐢熶骇閫�鏂欏崟鐘舵��', '1', '2026-02-28 14:11:09', '1', '2026-04-05 15:05:14', X'00', NULL),
+('2074', 'MES 鐢熶骇閫�鏂欑被鍨�', 'mes_wm_return_issue_type', '0', 'MES 鐢熶骇閫�鏂欑被鍨�', '1', '2026-02-28 14:11:09', '1', '2026-04-05 15:05:16', X'00', NULL),
+('2075', 'MES 璐ㄩ噺鐘舵��', 'mes_wm_quality_status', '0', 'MES 璐ㄩ噺鐘舵�侊紙寰呮/鍚堟牸/涓嶅悎鏍硷級', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00', NULL),
+('2100', 'MES 浜у搧鍏ュ簱鍗曠姸鎬�', 'mes_wm_product_receipt_status', '0', 'MES 浜у搧鍏ュ簱鍗曠姸鎬�', '1', '2026-03-01 06:03:04', '1', '2026-04-05 15:05:49', X'00', NULL),
+('2102', 'MES 閿�鍞嚭搴撳崟鐘舵��', 'mes_wm_product_sales_status', '0', 'MES 閿�鍞嚭搴撳崟鐘舵��', '1', '2026-03-02 08:55:11', '1', '2026-04-05 15:05:18', X'00', NULL),
+('2105', 'MES 鏉傞」鍏ュ簱绫诲瀷', 'mes_wm_misc_receipt_type', '0', '鏉傞」鍏ュ簱绫诲瀷', '1', '2026-03-03 07:18:12', '1', '2026-04-05 15:05:23', X'00', NULL),
+('2106', 'MES 鏉傞」鍏ュ簱鐘舵��', 'mes_wm_misc_receipt_status', '0', '鏉傞」鍏ュ簱鐘舵��', '1', '2026-03-03 07:18:12', '1', '2026-04-05 15:05:25', X'00', NULL),
+('2109', 'MES 鏉傞」鍑哄簱绫诲瀷', 'mes_wm_misc_issue_type', '0', 'MES 鏉傞」鍑哄簱绫诲瀷', '1', '2026-03-03 07:34:33', '1', '2026-03-03 07:34:33', X'00', NULL),
+('2110', 'MES 澶栧崗鍏ュ簱鍗曠姸鎬�', 'mes_wm_outsource_receipt_status', '0', 'MES 澶栧崗鍏ュ簱鍗曠姸鎬�', '1', '2026-03-03 14:03:20', '1', '2026-03-03 14:03:20', X'00', NULL),
+('2112', 'MES 澶栧崗鍙戞枡鍗曠姸鎬�', 'mes_wm_outsource_issue_status', '0', 'MES 澶栧崗鍙戞枡鍗曠姸鎬�', '1', '2026-03-03 16:30:56', '1', '2026-04-05 15:05:47', X'00', NULL),
+('2113', 'MES 缂栫爜瑙勫垯鍒嗘绫诲瀷', 'mes_md_auto_code_part_type', '0', 'MES 缂栫爜瑙勫垯鍒嗘绫诲瀷', '1', '2026-03-04 14:45:46', '1', '2026-03-04 15:24:40', X'00', NULL),
+('2115', 'MES 缂栫爜瑙勫垯琛ラ綈鏂瑰紡', 'mes_md_auto_code_padded_method', '0', 'MES 缂栫爜瑙勫垯琛ラ綈鏂瑰紡', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00', NULL),
+('2116', 'MES 缂栫爜瑙勫垯寰幆鏂瑰紡', 'mes_md_auto_code_cycle_method', '0', 'MES 缂栫爜瑙勫垯寰幆鏂瑰紡', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00', NULL),
+('2117', 'MES 鏉$爜鏍煎紡', 'mes_wm_barcode_format', '0', 'MES 鏉$爜鏍煎紡', '1', '2026-03-05 14:37:20', '1', '2026-04-05 15:05:27', X'00', NULL),
+('2118', 'MES 鏉$爜涓氬姟绫诲瀷', 'mes_wm_barcode_biz_type', '0', 'MES 鏉$爜涓氬姟绫诲瀷', '1', '2026-03-05 14:37:20', '1', '2026-04-05 15:05:29', X'00', NULL),
+('2121', 'MES 瑁呯鍗曠姸鎬�', 'mes_wm_package_status', '0', 'MES 瑁呯鍗曠姸鎬�', '1', '2026-03-08 02:05:46', '1', '2026-04-05 15:05:35', X'00', NULL),
+('2122', 'MES 璋冩嫧鍗曠姸鎬�', 'mes_wm_transfer_status', '0', 'MES 璋冩嫧鍗曠姸鎬�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00', NULL),
+('2123', 'MES 璋冩嫧绫诲瀷', 'mes_wm_transfer_type', '0', 'MES 璋冩嫧绫诲瀷', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00', NULL),
+('2124', 'MES 鐩樼偣绫诲瀷', 'mes_wm_stock_taking_type', '0', 'MES 鐩樼偣绫诲瀷', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00', NULL),
+('2125', 'MES 鐩樼偣鏂规鍙傛暟绫诲瀷', 'mes_wm_stock_taking_plan_param_type', '0', 'MES 鐩樼偣鏂规鍙傛暟绫诲瀷', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00', NULL),
+('2126', 'MES 鐩樼偣浠诲姟鐘舵��', 'mes_wm_stock_taking_task_status', '0', 'MES 鐩樼偣浠诲姟鐘舵��', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00', NULL),
+('2127', 'MES 鐩樼偣浠诲姟琛岀姸鎬�', 'mes_wm_stock_taking_task_line_status', '0', 'MES 鐩樼偣浠诲姟琛岀姸鎬�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00', NULL),
+('2129', 'MES 鐗╂枡浜у搧鏍囪瘑', 'mes_md_item_or_product', '0', '鐗╂枡鍒嗙被锛氱墿鏂�(ITEM) / 浜у搧(PRODUCT)', '1', '2026-03-15 01:55:06', '1', '2026-03-15 01:55:06', X'00', NULL),
+('2130', 'MES 渚涘簲鍟嗛��璐у崟鐘舵��', 'mes_wm_return_vendor_status', '0', '閲囪喘閫�璐у崟鐘舵��', '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00', NULL),
+('2131', 'MES 鍙戣揣閫氱煡鍗曠姸鎬�', 'mes_wm_sales_notice_status', '0', 'MES 鍙戣揣閫氱煡鍗曠姸鎬�', '1', '2026-03-30 08:54:30', '1', '2026-04-05 15:53:46', X'00', NULL),
+('2132', 'MES 鏉傞」鍑哄簱鍗曠姸鎬�', 'mes_wm_misc_issue_status', '0', '鏉傞」鍑哄簱鍗曠姸鎬�', '1', '2026-03-30 15:00:18', '1', '2026-04-05 15:05:41', X'00', NULL),
+('2133', 'MES 閿�鍞��璐у崟鐘舵��', 'mes_wm_return_sales_status', '0', 'MES 閿�鍞��璐у崟鐘舵�佹灇涓�', '1', '2026-04-03 17:20:25', '1', '2026-04-05 15:05:39', X'00', NULL),
+('2135', 'MES 涓婁笅宸ョ姸鎬佺被鍨�', 'mes_pro_work_record_type', '0', 'MES 涓婁笅宸ョ姸鎬佺被鍨�', '1', '2026-04-05 14:07:27', '1', '2026-04-05 14:07:27', X'00', NULL),
+('2138', 'MES 鐢熶骇鍏ュ簱鍗曠姸鎬�', 'mes_wm_product_produce_status', '0', 'MES 鐢熶骇鍏ュ簱鍗曠姸鎬�', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00', '1970-01-01 00:00:00'),
+('2200', 'IM 鍐呭绫诲瀷', 'im_content_type', '0', '瀵瑰簲 ImContentTypeEnum', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-16 03:41:55', X'00', NULL),
+('2202', 'IM 娑堟伅鍥炴墽鐘舵��', 'im_message_receipt_status', '0', '瀵瑰簲 ImMessageReceiptStatusEnum', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-16 03:41:55', X'00', NULL),
+('2203', 'IM 濂藉弸鐘舵��', 'im_friend_status', '0', '0=姝e父 / 1=宸插垹闄�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00', NULL),
+('2204', 'IM 缇ょ姸鎬�', 'im_group_status', '0', '0=姝e父 / 1=宸茶В鏁�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00', NULL),
+('2205', 'IM 娑堟伅鐘舵��', 'im_message_status', '0', '瀵瑰簲 ImMessageStatusEnum锛�0=姝e父 / 2=宸叉挙鍥烇紙绉佽亰 / 缇よ亰鍏辩敤锛�', 'admin', '2026-04-30 15:14:36', 'admin', '2026-06-16 03:41:55', X'00', NULL),
+('2206', 'IM 缇ゆ垚鍛樿鑹�', 'im_group_member_role', '0', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00', NULL),
+('2207', 'IM 濂藉弸娣诲姞鏉ユ簮', 'im_friend_add_source', '0', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00', NULL),
+('2208', 'IM 濂藉弸鐢宠澶勭悊缁撴灉', 'im_friend_request_handle_result', '0', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00', NULL),
+('2209', 'IM 鍔犵兢鏉ユ簮', 'im_group_add_source', '0', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00', NULL),
+('2210', 'IM 鍔犵兢鐢宠澶勭悊缁撴灉', 'im_group_request_handle_result', '0', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00', NULL),
+('1061050', '寰�鏉ヤ紒涓氱被鍨�', 'merchant_type', '0', 'WMS 寰�鏉ヤ紒涓氱被鍨�', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00', NULL),
+('1061060', 'WMS 鍗曟嵁绫诲瀷', 'wms_order_type', '0', 'WMS 鍗曟嵁绫诲瀷', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00', NULL),
+('1061070', 'WMS 鍗曟嵁鐘舵��', 'wms_order_status', '0', 'WMS 鍗曟嵁鐘舵��', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00', NULL),
+('1061080', '鍏ュ簱鍗曠被鍨�', 'wms_receipt_order_type', '0', 'WMS 鍏ュ簱鍗曠被鍨�', '1', '2026-05-11 11:21:49', '1', '2026-05-12 13:40:29', X'00', NULL),
+('1061090', '鍑哄簱鍗曠被鍨�', 'wms_shipment_order_type', '0', 'WMS 鍑哄簱鍗曠被鍨�', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00', NULL),
+('1061092', 'IM 閫氳瘽濯掍綋绫诲瀷', 'im_rtc_call_media_type', '0', NULL, 'admin', '2026-05-16 11:34:50', 'admin', '2026-05-16 11:34:50', X'00', NULL),
+('1061093', 'IM 閫氳瘽浼氳瘽绫诲瀷', 'im_rtc_call_conversation_type', '0', '1=绉佽亰锛�2=缇よ亰', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061094', 'IM 閫氳瘽鐘舵��', 'im_rtc_call_status', '0', '10=鍒涘缓锛�20=杩涜涓紱30=宸茬粨鏉�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061095', 'IM 閫氳瘽缁撴潫鍘熷洜', 'im_rtc_call_end_reason', '0', '1=閫氳瘽缁撴潫锛�2=宸叉嫆缁濓紱3=宸插彇娑堬紱4=鏃犱汉鎺ュ惉锛�5=瀵规柟姝e繖锛�9=閫氳瘽寮傚父', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061096', 'IM 閫氳瘽鍙備笌瑙掕壊', 'im_rtc_participant_role', '0', '1=鍙戣捣浜猴紱2=琚個璇疯�咃紱3=涓诲姩鍔犲叆鑰�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061097', 'IM 閫氳瘽鍙備笌鐘舵��', 'im_rtc_participant_status', '0', '10=閭�璇蜂腑锛�20=宸插姞鍏ワ紱30=宸叉嫆缁濓紱40=鏈簲绛旓紱50=宸茬寮�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061098', 'IM 棰戦亾绱犳潗鍐呭绫诲瀷', 'im_channel_material_type', '0', '1=绔欏唴瀵屾枃鏈� / 2=澶栭摼', '1', '2026-05-19 14:09:25', '1', '2026-05-19 14:09:25', X'00', NULL),
+('1061099', 'WMS 搴撳瓨棰勭暀涓氬姟绫诲瀷', 'wms_reserve_biz_type', '0', '搴撳瓨棰勭暀鐨勪笟鍔℃潵婧愮被鍨�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00', NULL),
+('1061100', 'WMS 搴撳瓨浜嬪姟绫诲瀷', 'wms_transaction_type', '0', '搴撳瓨浜嬪姟娴佹按绫诲瀷', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00', NULL),
+('1061101', 'WMS 搴撳瓨棰勭暀鐘舵��', 'wms_reserve_status', '0', '搴撳瓨棰勭暀鐘舵��', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00', NULL),
+('1061102', 'MES 鍙傛暟鏍煎紡', 'mes_pd_param_type', '0', NULL, '1', '2026-07-02 13:59:05', '1', '2026-07-02 13:59:05', X'00', '1970-01-01 00:00:00'),
+('1061103', 'MES 鍙傛暟妯℃澘', 'mes_pd_template_type', '0', NULL, '1', '2026-07-02 14:02:13', '1', '2026-07-02 14:02:13', X'00', '1970-01-01 00:00:00'),
+('1061104', '璁捐椤圭洰鐘舵��', 'mes_pd_project_status', '0', '璁捐椤圭洰鐘舵��', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061105', '璧勬枡绫诲瀷', 'mes_pd_document_type', '0', '璧勬枡绫诲瀷', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061106', '璧勬枡瀹℃牳鐘舵��', 'mes_pd_document_audit_status', '0', '璧勬枡瀹℃牳鐘舵��', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061107', '褰掓。鐘舵��', 'mes_pd_archive_status', '0', '褰掓。鐘舵��', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061108', '鎬у埆', 'hrm_gender', '0', NULL, '1', '2026-07-06 11:00:21', '1', '2026-07-06 11:00:21', X'00', '1970-01-01 00:00:00'),
+('1061109', '鍛樺伐鐘舵��', 'hrm_employee_status', '0', NULL, '1', '2026-07-06 11:01:28', '1', '2026-07-06 11:01:28', X'00', '1970-01-01 00:00:00'),
+('1061110', '瀛﹀巻', 'hrm_degree', '0', NULL, '1', '2026-07-06 11:13:51', '1', '2026-07-06 11:13:51', X'00', '1970-01-01 00:00:00'),
+('1061111', '璇峰亣绫诲瀷', 'hrm_leave_type', '0', NULL, '1', '2026-07-06 11:15:50', '1', '2026-07-06 11:15:50', X'00', '1970-01-01 00:00:00'),
+('1061112', '璋冨矖绫诲瀷', 'hrm_transfer_type', '0', NULL, '1', '2026-07-06 11:18:02', '1', '2026-07-06 11:18:02', X'00', '1970-01-01 00:00:00'),
+('1061113', '绂昏亴绫诲瀷', 'hrm_resignation_type', '0', NULL, '1', '2026-07-06 11:18:32', '1', '2026-07-06 11:18:32', X'00', '1970-01-01 00:00:00'),
+('1061114', '鎵撳崱绫诲瀷', 'hrm_clock_type', '0', NULL, '1', '2026-07-06 11:20:57', '1', '2026-07-06 11:20:57', X'00', '1970-01-01 00:00:00'),
+('1061115', '钖祫鐘舵��', 'hrm_salary_status', '0', NULL, '1', '2026-07-06 11:21:41', '1', '2026-07-06 11:21:41', X'00', '1970-01-01 00:00:00'),
+('1061116', '浜ゆ帴鐘舵��', 'hrm_handover_status', '0', NULL, '1', '2026-07-06 11:22:47', '1', '2026-07-06 11:22:47', X'00', '1970-01-01 00:00:00'),
+('1061117', '鍙戞斁鏂瑰紡', 'hrm_payment_method', '0', NULL, '1', '2026-07-06 11:23:38', '1', '2026-07-06 11:23:38', X'00', '1970-01-01 00:00:00'),
+('1061118', '鐗╂枡绫诲瀷', 'MDM_ITEM_TYPE', '0', NULL, '1', '2026-07-14 12:04:18', '1', '2026-07-14 12:04:18', X'00', '1970-01-01 00:00:00'),
+('1061119', 'MPS 鐘舵��', 'mes_pro_mps_status', '0', 'MPS 鐘舵��', '1', '2026-07-17 02:04:12', '1', '2026-07-17 02:04:12', X'00', NULL),
+('1061120', 'MES NCR 鐘舵��', 'mes_ncr_status', '0', '涓嶅悎鏍煎搧澶勭悊鍗曠姸鎬�', '1', '2026-08-06 09:25:18', '1', '2026-08-06 09:25:18', X'00', NULL),
+('1061121', 'MES NCR 澶勭疆鏂瑰紡', 'mes_ncr_disposition', '0', '涓嶅悎鏍煎搧澶勭疆鏂瑰紡', '1', '2026-08-06 09:25:18', '1', '2026-08-06 09:25:18', X'00', NULL),
+('1061122', '鍙戠エ绫诲瀷', 'crm_invoice_type', '0', NULL, '1', '2026-08-10 14:04:10', '1', '2026-08-10 14:04:10', X'00', '1970-01-01 00:00:00'),
+('1061123', '鍚堝悓绫诲瀷', 'hrm_contract_type', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1061124', '鍚堝悓鏈熼檺绫诲瀷', 'hrm_contract_term_type', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1061125', '鍚堝悓鐘舵��', 'hrm_contract_status', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1061126', '瑙i櫎缁堟鐘舵��', 'hrm_contract_terminate_status', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1065300', '閿�鍞洰鏍囧懆鏈熺被鍨�', 'crm_sales_target_period_type', '0', '閿�鍞洰鏍囩殑璁″垝鍛ㄦ湡绫诲瀷', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00', NULL),
+('1065301', '閿�鍞洰鏍囩淮搴�', 'crm_sales_target_dimension', '0', '閿�鍞洰鏍囨寜浠�涔堢淮搴﹁瀹�', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00', NULL),
+('1065302', '閿�鍞洰鏍囩姸鎬�', 'crm_sales_target_status', '0', '閿�鍞洰鏍囩殑鐢熷懡鍛ㄦ湡鐘舵��', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00', NULL),
+('1065303', 'MES 璁¢噺鍣ㄥ叿绫诲埆', 'mes_dv_metering_category', '0', '璁¢噺鍣ㄥ叿绫诲埆', '1', '2026-08-13 01:36:06', '1', '2026-08-13 01:36:06', X'00', NULL),
+('1065304', 'MES 璁¢噺鍣ㄥ叿鐘舵��', 'mes_dv_metering_status', '0', '璁¢噺鍣ㄥ叿鐘舵��', '1', '2026-08-13 01:36:06', '1', '2026-08-13 01:36:06', X'00', NULL),
+('1065305', 'MES 璁¢噺妫�娴嬬粨璁�', 'mes_dv_metering_check_result', '0', '璁¢噺妫�娴嬬粨璁�', '1', '2026-08-13 01:36:06', '1', '2026-08-13 01:36:06', X'00', NULL),
+('1065400', '璐ㄦ鎶ュ憡妯℃澘鐘舵��', 'qc_report_template_status', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065401', '璐ㄦ鎶ュ憡妯℃澘鐗堟湰鐘舵��', 'qc_report_version_status', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065402', '璐ㄦ鎶ュ憡瀹炰緥鐘舵��', 'qc_report_instance_status', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065403', '璐ㄦ鎶ュ憡绾稿紶灏哄', 'qc_report_page_size', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065404', '璐ㄦ鎶ュ憡绾稿紶鏂瑰悜', 'qc_report_orientation', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065405', '璐ㄦ鎶ュ憡閫傜敤琛屼笟', 'qc_report_industry', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065406', '鎶ラ攢鐘舵��', 'finance_reimbursement_status', '0', '鎶ラ攢鍗曠姸鎬侊細鑽夌銆佸鎵逛腑銆佸凡閫氳繃銆佸凡椹冲洖銆佸凡褰掓。', '1', '2026-09-27 20:20:02', '', '2026-09-27 20:20:02', X'00', NULL),
+('1065407', '璐圭敤绫诲瀷', 'finance_expense_type', '0', '鎶ラ攢璐圭敤绫诲瀷锛氬樊鏃呫�佸姙鍏�佹嫑寰呫�佷氦閫氥�佸叾浠�', '1', '2026-09-27 20:20:02', '', '2026-09-27 20:20:02', X'00', NULL),
+('80001', '鍏ヤ細鐢宠鐘舵��', 'ums_application_status', '0', '鍏ヤ細鐢宠瀹℃壒鐘舵��', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80002', '浼氬憳绫诲瀷', 'ums_member_type', '0', '涓汉浼氬憳/鍗曚綅浼氬憳', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80003', '浼氬憳鐘舵��', 'ums_member_status', '0', '浼氬憳姝e父/鏆傚仠', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80004', '涓汉浼氬憳绛夌骇', 'ums_personal_grade', '0', '涓汉浼氬憳绾у埆', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80005', '鍗曚綅浼氬憳绛夌骇', 'ums_unit_grade', '0', '鍗曚綅浼氬憳绾у埆', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80006', '浼氬憳琛屼笟', 'ums_industry', '0', '瀛︿細浼氬憳鎵�灞炶涓�', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL);
+
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`)
+VALUES
+('81000', '璇鹃鎸囧崡绫诲埆', 'research_guideline_category', '0', '閲嶇偣璇鹃/涓�鑸棰樺垎绫绘爣娉�', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL),
+('81001', '璇鹃鎸囧崡鐘舵��', 'research_guideline_status', '0', '璇鹃鎸囧崡鍙戝竷鐘舵�侊細鑽夌/宸插彂甯�/宸叉埅姝�', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL),
+('81002', '璇鹃鐢虫姤鐘舵��', 'research_application_status', '0', '璇鹃鐢虫姤涔﹀鎵圭姸鎬侊細鑽夌/瀹℃壒涓�/宸茬珛椤�/宸查┏鍥�', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL),
+('81003', '涓撳璇勫缁撹', 'research_review_conclusion', '0', '涓撳璇勫鎺ㄨ崘绔嬮」/涓嶆帹鑽愮珛椤�', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL),
+('81004', '缁忚垂鎷ㄤ粯鐘舵��', 'research_fund_status', '0', '璇鹃缁忚垂寰呮嫧浠�/宸叉嫧浠�', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00', NULL);
+
+
+-- ============ 琛細system_dict_data锛堝鍑� 1205 琛岋級 ============
+DROP TABLE IF EXISTS `system_dict_data`;
+CREATE TABLE `system_dict_data` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀛楀吀缂栫爜',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '瀛楀吀鎺掑簭',
+  `label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀鏍囩',
+  `value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀閿��',
+  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `color_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '棰滆壊绫诲瀷',
+  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'css 鏍峰紡',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1065347 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛楀吀鏁版嵁琛�';
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '1', '鐢�', '1', 'system_user_sex', '0', 'primary', 'A', '鎬у埆鐢�', 'admin', '2021-01-05 17:03:48', '1', '2025-12-10 13:19:26', X'00'),
+('2', '2', '濂�', '2', 'system_user_sex', '0', 'success', '', '鎬у埆濂�', 'admin', '2021-01-05 17:03:48', '1', '2023-11-15 23:30:37', X'00'),
+('8', '1', '姝e父', '1', 'infra_job_status', '0', 'success', '', '姝e父鐘舵��', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:33:38', X'00'),
+('9', '2', '鏆傚仠', '2', 'infra_job_status', '0', 'danger', '', '鍋滅敤鐘舵��', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:33:45', X'00'),
+('12', '1', '绯荤粺鍐呯疆', '1', 'infra_config_type', '0', 'danger', '', '鍙傛暟绫诲瀷 - 绯荤粺鍐呯疆', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:06:02', X'00'),
+('13', '2', '鑷畾涔�', '2', 'infra_config_type', '0', 'primary', '', '鍙傛暟绫诲瀷 - 鑷畾涔�', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:06:07', X'00'),
+('14', '1', '閫氱煡', '1', 'system_notice_type', '0', 'success', '', '閫氱煡', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:05:57', X'00'),
+('15', '2', '鍏憡', '2', 'system_notice_type', '0', 'info', '', '鍏憡', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:06:01', X'00'),
+('16', '0', '鍏跺畠', '0', 'infra_operate_type', '0', 'default', '', '鍏跺畠鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:19', X'00'),
+('17', '1', '鏌ヨ', '1', 'infra_operate_type', '0', 'info', '', '鏌ヨ鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:20', X'00'),
+('18', '2', '鏂板', '2', 'infra_operate_type', '0', 'primary', '', '鏂板鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:21', X'00'),
+('19', '3', '淇敼', '3', 'infra_operate_type', '0', 'warning', '', '淇敼鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:22', X'00'),
+('20', '4', '鍒犻櫎', '4', 'infra_operate_type', '0', 'danger', '', '鍒犻櫎鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:23', X'00'),
+('22', '5', '瀵煎嚭', '5', 'infra_operate_type', '0', 'default', '', '瀵煎嚭鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:24', X'00'),
+('23', '6', '瀵煎叆', '6', 'infra_operate_type', '0', 'default', '', '瀵煎叆鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:25', X'00'),
+('27', '1', '寮�鍚�', '0', 'common_status', '0', 'primary', '', '寮�鍚姸鎬�', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 08:00:39', X'00'),
+('28', '2', '鍏抽棴', '1', 'common_status', '0', 'info', '', '鍏抽棴鐘舵��', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 08:00:44', X'00'),
+('29', '1', '鐩綍', '1', 'system_menu_type', '0', '', '', '鐩綍', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:45', X'00'),
+('30', '2', '鑿滃崟', '2', 'system_menu_type', '0', '', '', '鑿滃崟', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:41', X'00'),
+('31', '3', '鎸夐挳', '3', 'system_menu_type', '0', '', '', '鎸夐挳', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:39', X'00'),
+('32', '1', '鍐呯疆', '1', 'system_role_type', '0', 'danger', '', '鍐呯疆瑙掕壊', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:02:08', X'00'),
+('33', '2', '鑷畾涔�', '2', 'system_role_type', '0', 'primary', '', '鑷畾涔夎鑹�', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:02:12', X'00'),
+('34', '1', '鍏ㄩ儴鏁版嵁鏉冮檺', '1', 'system_data_scope', '0', '', '', '鍏ㄩ儴鏁版嵁鏉冮檺', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:17', X'00'),
+('35', '2', '鎸囧畾閮ㄩ棬鏁版嵁鏉冮檺', '2', 'system_data_scope', '0', '', '', '鎸囧畾閮ㄩ棬鏁版嵁鏉冮檺', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:18', X'00'),
+('36', '3', '鏈儴闂ㄦ暟鎹潈闄�', '3', 'system_data_scope', '0', '', '', '鏈儴闂ㄦ暟鎹潈闄�', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:16', X'00'),
+('37', '4', '鏈儴闂ㄥ強浠ヤ笅鏁版嵁鏉冮檺', '4', 'system_data_scope', '0', '', '', '鏈儴闂ㄥ強浠ヤ笅鏁版嵁鏉冮檺', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:21', X'00'),
+('38', '5', '浠呮湰浜烘暟鎹潈闄�', '5', 'system_data_scope', '0', '', '', '浠呮湰浜烘暟鎹潈闄�', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:23', X'00'),
+('39', '0', '鎴愬姛', '0', 'system_login_result', '0', 'success', '', '鐧婚檰缁撴灉 - 鎴愬姛', '', '2021-01-18 06:17:36', '1', '2022-02-16 13:23:49', X'00'),
+('40', '10', '璐﹀彿鎴栧瘑鐮佷笉姝g‘', '10', 'system_login_result', '0', 'primary', '', '鐧婚檰缁撴灉 - 璐﹀彿鎴栧瘑鐮佷笉姝g‘', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:27', X'00'),
+('41', '20', '鐢ㄦ埛琚鐢�', '20', 'system_login_result', '0', 'warning', '', '鐧婚檰缁撴灉 - 鐢ㄦ埛琚鐢�', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:23:57', X'00'),
+('42', '30', '楠岃瘉鐮佷笉瀛樺湪', '30', 'system_login_result', '0', 'info', '', '鐧婚檰缁撴灉 - 楠岃瘉鐮佷笉瀛樺湪', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:07', X'00'),
+('43', '31', '楠岃瘉鐮佷笉姝g‘', '31', 'system_login_result', '0', 'info', '', '鐧婚檰缁撴灉 - 楠岃瘉鐮佷笉姝g‘', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:11', X'00'),
+('44', '100', '鏈煡寮傚父', '100', 'system_login_result', '0', 'danger', '', '鐧婚檰缁撴灉 - 鏈煡寮傚父', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:23', X'00'),
+('45', '1', '鏄�', 'true', 'infra_boolean_string', '0', 'danger', '', 'Boolean 鏄惁绫诲瀷 - 鏄�', '', '2021-01-19 03:20:55', '1', '2022-03-15 23:01:45', X'00'),
+('46', '1', '鍚�', 'false', 'infra_boolean_string', '0', 'info', '', 'Boolean 鏄惁绫诲瀷 - 鍚�', '', '2021-01-19 03:20:55', '1', '2022-03-15 23:09:45', X'00'),
+('50', '1', '鍗曡〃锛堝鍒犳敼鏌ワ級', '1', 'infra_codegen_template_type', '0', '', '', NULL, '', '2021-02-05 07:09:06', '', '2022-03-10 16:33:15', X'00'),
+('51', '2', '鏍戣〃锛堝鍒犳敼鏌ワ級', '2', 'infra_codegen_template_type', '0', '', '', NULL, '', '2021-02-05 07:14:46', '', '2022-03-10 16:33:19', X'00'),
+('53', '0', '鍒濆鍖栦腑', '0', 'infra_job_status', '0', 'primary', '', NULL, '', '2021-02-07 07:46:49', '1', '2022-02-16 19:33:29', X'00'),
+('57', '0', '杩愯涓�', '0', 'infra_job_log_status', '0', 'primary', '', 'RUNNING', '', '2021-02-08 10:04:24', '1', '2022-02-16 19:07:48', X'00'),
+('58', '1', '鎴愬姛', '1', 'infra_job_log_status', '0', 'success', '', NULL, '', '2021-02-08 10:06:57', '1', '2022-02-16 19:07:52', X'00'),
+('59', '2', '澶辫触', '2', 'infra_job_log_status', '0', 'warning', '', '澶辫触', '', '2021-02-08 10:07:38', '1', '2022-02-16 19:07:56', X'00'),
+('60', '1', '浼氬憳', '1', 'user_type', '0', 'primary', '', NULL, '', '2021-02-26 00:16:27', '1', '2022-02-16 10:22:19', X'00'),
+('61', '2', '绠$悊鍛�', '2', 'user_type', '0', 'success', '', NULL, '', '2021-02-26 00:16:34', '1', '2025-04-06 18:37:43', X'00'),
+('62', '0', '鏈鐞�', '0', 'infra_api_error_log_process_status', '0', 'primary', '', NULL, '', '2021-02-26 07:07:19', '1', '2022-02-16 20:14:17', X'00'),
+('63', '1', '宸插鐞�', '1', 'infra_api_error_log_process_status', '0', 'success', '', NULL, '', '2021-02-26 07:07:26', '1', '2022-02-16 20:14:08', X'00'),
+('64', '2', '宸插拷鐣�', '2', 'infra_api_error_log_process_status', '0', 'danger', '', NULL, '', '2021-02-26 07:07:34', '1', '2022-02-16 20:14:14', X'00'),
+('66', '1', '闃块噷浜�', 'ALIYUN', 'system_sms_channel_code', '0', 'primary', '', NULL, '1', '2021-04-05 01:05:26', '1', '2024-07-22 22:23:25', X'00'),
+('67', '1', '楠岃瘉鐮�', '1', 'system_sms_template_type', '0', 'warning', '', NULL, '1', '2021-04-05 21:50:57', '1', '2022-02-16 12:48:30', X'00'),
+('68', '2', '閫氱煡', '2', 'system_sms_template_type', '0', 'primary', '', NULL, '1', '2021-04-05 21:51:08', '1', '2022-02-16 12:48:27', X'00'),
+('69', '0', '钀ラ攢', '3', 'system_sms_template_type', '0', 'danger', '', NULL, '1', '2021-04-05 21:51:15', '1', '2022-02-16 12:48:22', X'00'),
+('70', '0', '鍒濆鍖�', '0', 'system_sms_send_status', '0', 'primary', '', NULL, '1', '2021-04-11 20:18:33', '1', '2022-02-16 10:26:07', X'00'),
+('71', '1', '鍙戦�佹垚鍔�', '10', 'system_sms_send_status', '0', 'success', '', NULL, '1', '2021-04-11 20:18:43', '1', '2022-02-16 10:25:56', X'00'),
+('72', '2', '鍙戦�佸け璐�', '20', 'system_sms_send_status', '0', 'danger', '', NULL, '1', '2021-04-11 20:18:49', '1', '2022-02-16 10:26:03', X'00'),
+('73', '3', '涓嶅彂閫�', '30', 'system_sms_send_status', '0', 'info', '', NULL, '1', '2021-04-11 20:19:44', '1', '2022-02-16 10:26:10', X'00'),
+('74', '0', '绛夊緟缁撴灉', '0', 'system_sms_receive_status', '0', 'primary', '', NULL, '1', '2021-04-11 20:27:43', '1', '2022-02-16 10:28:24', X'00'),
+('75', '1', '鎺ユ敹鎴愬姛', '10', 'system_sms_receive_status', '0', 'success', '', NULL, '1', '2021-04-11 20:29:25', '1', '2022-02-16 10:28:28', X'00'),
+('76', '2', '鎺ユ敹澶辫触', '20', 'system_sms_receive_status', '0', 'danger', '', NULL, '1', '2021-04-11 20:29:31', '1', '2022-02-16 10:28:32', X'00'),
+('77', '0', '璋冭瘯(閽夐拤)', 'DEBUG_DING_TALK', 'system_sms_channel_code', '0', 'info', '', NULL, '1', '2021-04-13 00:20:37', '1', '2022-02-16 10:10:00', X'00'),
+('80', '100', '璐﹀彿鐧诲綍', '100', 'system_login_type', '0', 'primary', '', '璐﹀彿鐧诲綍', '1', '2021-10-06 00:52:02', '1', '2022-02-16 13:11:34', X'00'),
+('81', '101', '绀句氦鐧诲綍', '101', 'system_login_type', '0', 'info', '', '绀句氦鐧诲綍', '1', '2021-10-06 00:52:17', '1', '2022-02-16 13:11:40', X'00'),
+('83', '200', '涓诲姩鐧诲嚭', '200', 'system_login_type', '0', 'primary', '', '涓诲姩鐧诲嚭', '1', '2021-10-06 00:52:58', '1', '2022-02-16 13:11:49', X'00'),
+('85', '202', '寮哄埗鐧诲嚭', '202', 'system_login_type', '0', 'danger', '', '寮哄埗閫�鍑�', '1', '2021-10-06 00:53:41', '1', '2022-02-16 13:11:57', X'00'),
+('86', '0', '鐥呭亣', '1', 'bpm_oa_leave_type', '0', 'primary', '', NULL, '1', '2021-09-21 22:35:28', '1', '2022-02-16 10:00:41', X'00'),
+('87', '1', '浜嬪亣', '2', 'bpm_oa_leave_type', '0', 'info', '', NULL, '1', '2021-09-21 22:36:11', '1', '2022-02-16 10:00:49', X'00'),
+('88', '2', '濠氬亣', '3', 'bpm_oa_leave_type', '0', 'warning', '', NULL, '1', '2021-09-21 22:36:38', '1', '2022-02-16 10:00:53', X'00'),
+('112', '0', '寰俊 Wap 缃戠珯鏀粯', 'wx_wap', 'pay_channel_code', '0', 'success', '', '寰俊 Wap 缃戠珯鏀粯', '1', '2023-07-19 20:08:06', '1', '2023-07-19 20:09:08', X'00'),
+('113', '1', '寰俊鍏紬鍙锋敮浠�', 'wx_pub', 'pay_channel_code', '0', 'success', '', '寰俊鍏紬鍙锋敮浠�', '1', '2021-12-03 10:40:24', '1', '2023-07-19 20:08:47', X'00'),
+('114', '2', '寰俊灏忕▼搴忔敮浠�', 'wx_lite', 'pay_channel_code', '0', 'success', '', '寰俊灏忕▼搴忔敮浠�', '1', '2021-12-03 10:41:06', '1', '2023-07-19 20:08:50', X'00'),
+('115', '3', '寰俊 App 鏀粯', 'wx_app', 'pay_channel_code', '0', 'success', '', '寰俊 App 鏀粯', '1', '2021-12-03 10:41:20', '1', '2023-07-19 20:08:56', X'00'),
+('116', '10', '鏀粯瀹� PC 缃戠珯鏀粯', 'alipay_pc', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹� PC 缃戠珯鏀粯', '1', '2021-12-03 10:42:09', '1', '2023-07-19 20:09:12', X'00'),
+('117', '11', '鏀粯瀹� Wap 缃戠珯鏀粯', 'alipay_wap', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹� Wap 缃戠珯鏀粯', '1', '2021-12-03 10:42:26', '1', '2023-07-19 20:09:16', X'00'),
+('118', '12', '鏀粯瀹� App 鏀粯', 'alipay_app', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹� App 鏀粯', '1', '2021-12-03 10:42:55', '1', '2023-07-19 20:09:20', X'00'),
+('119', '14', '鏀粯瀹濇壂鐮佹敮浠�', 'alipay_qr', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹濇壂鐮佹敮浠�', '1', '2021-12-03 10:43:10', '1', '2023-07-19 20:09:28', X'00'),
+('120', '10', '閫氱煡鎴愬姛', '10', 'pay_notify_status', '0', 'success', '', '閫氱煡鎴愬姛', '1', '2021-12-03 11:02:41', '1', '2023-07-19 10:08:19', X'00'),
+('121', '20', '閫氱煡澶辫触', '20', 'pay_notify_status', '0', 'danger', '', '閫氱煡澶辫触', '1', '2021-12-03 11:02:59', '1', '2023-07-19 10:08:21', X'00'),
+('122', '0', '绛夊緟閫氱煡', '0', 'pay_notify_status', '0', 'info', '', '鏈�氱煡', '1', '2021-12-03 11:03:10', '1', '2023-07-19 10:08:24', X'00'),
+('123', '10', '鏀粯鎴愬姛', '10', 'pay_order_status', '0', 'success', '', '鏀粯鎴愬姛', '1', '2021-12-03 11:18:29', '1', '2023-07-19 18:04:28', X'00'),
+('124', '30', '鏀粯鍏抽棴', '30', 'pay_order_status', '0', 'info', '', '鏀粯鍏抽棴', '1', '2021-12-03 11:18:42', '1', '2023-07-19 18:05:07', X'00'),
+('125', '0', '绛夊緟鏀粯', '0', 'pay_order_status', '0', 'info', '', '鏈敮浠�', '1', '2021-12-03 11:18:18', '1', '2023-07-19 18:04:15', X'00'),
+('600', '5', '棣栭〉', '1', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('601', '4', '绉掓潃娲诲姩椤�', '2', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('602', '3', '鐮嶄环娲诲姩椤�', '3', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('603', '2', '闄愭椂鎶樻墸椤�', '4', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('604', '1', '婊″噺閫侀〉', '5', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('1118', '0', '绛夊緟閫�娆�', '0', 'pay_refund_status', '0', 'info', '', '绛夊緟閫�娆�', '1', '2021-12-10 16:44:59', '1', '2023-07-19 10:14:39', X'00'),
+('1119', '20', '閫�娆惧け璐�', '20', 'pay_refund_status', '0', 'danger', '', '閫�娆惧け璐�', '1', '2021-12-10 16:45:10', '1', '2023-07-19 10:15:10', X'00'),
+('1124', '10', '閫�娆炬垚鍔�', '10', 'pay_refund_status', '0', 'success', '', '閫�娆炬垚鍔�', '1', '2021-12-10 16:46:26', '1', '2023-07-19 10:15:00', X'00'),
+('1127', '1', '瀹℃壒涓�', '1', 'bpm_process_instance_status', '0', 'default', '', '娴佺▼瀹炰緥鐨勭姸鎬� - 杩涜涓�', '1', '2022-01-07 23:47:22', '1', '2024-03-16 16:11:45', X'00'),
+('1128', '2', '瀹℃壒閫氳繃', '2', 'bpm_process_instance_status', '0', 'success', '', '娴佺▼瀹炰緥鐨勭姸鎬� - 宸插畬鎴�', '1', '2022-01-07 23:47:49', '1', '2024-03-16 16:11:54', X'00'),
+('1129', '1', '瀹℃壒涓�', '1', 'bpm_task_status', '0', 'primary', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 澶勭悊涓�', '1', '2022-01-07 23:48:32', '1', '2024-03-08 22:41:37', X'00'),
+('1130', '2', '瀹℃壒閫氳繃', '2', 'bpm_task_status', '0', 'success', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 閫氳繃', '1', '2022-01-07 23:48:45', '1', '2024-03-08 22:41:38', X'00'),
+('1131', '3', '瀹℃壒涓嶉�氳繃', '3', 'bpm_task_status', '0', 'danger', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 涓嶉�氳繃', '1', '2022-01-07 23:48:55', '1', '2024-03-08 22:41:38', X'00'),
+('1132', '4', '宸插彇娑�', '4', 'bpm_task_status', '0', 'info', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 鎾ら攢', '1', '2022-01-07 23:49:06', '1', '2024-03-08 22:41:39', X'00'),
+('1133', '10', '娴佺▼琛ㄥ崟', '10', 'bpm_model_form_type', '0', '', '', '娴佺▼鐨勮〃鍗曠被鍨� - 娴佺▼琛ㄥ崟', '103', '2022-01-11 23:51:30', '103', '2022-01-11 23:51:30', X'00'),
+('1134', '20', '涓氬姟琛ㄥ崟', '20', 'bpm_model_form_type', '0', '', '', '娴佺▼鐨勮〃鍗曠被鍨� - 涓氬姟琛ㄥ崟', '103', '2022-01-11 23:51:47', '103', '2022-01-11 23:51:47', X'00'),
+('1135', '10', '瑙掕壊', '10', 'bpm_task_candidate_strategy', '0', 'info', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 瑙掕壊', '103', '2022-01-12 23:21:22', '1', '2024-03-06 02:53:16', X'00'),
+('1136', '20', '閮ㄩ棬鐨勬垚鍛�', '20', 'bpm_task_candidate_strategy', '0', 'primary', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 閮ㄩ棬鐨勬垚鍛�', '103', '2022-01-12 23:21:47', '1', '2024-03-06 02:53:17', X'00'),
+('1137', '21', '閮ㄩ棬鐨勮礋璐d汉', '21', 'bpm_task_candidate_strategy', '0', 'primary', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 閮ㄩ棬鐨勮礋璐d汉', '103', '2022-01-12 23:33:36', '1', '2024-03-06 02:53:18', X'00'),
+('1138', '30', '鐢ㄦ埛', '30', 'bpm_task_candidate_strategy', '0', 'info', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 鐢ㄦ埛', '103', '2022-01-12 23:34:02', '1', '2024-03-06 02:53:19', X'00'),
+('1139', '40', '鐢ㄦ埛缁�', '40', 'bpm_task_candidate_strategy', '0', 'warning', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 鐢ㄦ埛缁�', '103', '2022-01-12 23:34:21', '1', '2024-03-06 02:53:20', X'00'),
+('1140', '60', '娴佺▼琛ㄨ揪寮�', '60', 'bpm_task_candidate_strategy', '0', 'danger', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 娴佺▼琛ㄨ揪寮�', '103', '2022-01-12 23:34:43', '1', '2024-03-06 02:53:20', X'00'),
+('1141', '22', '宀椾綅', '22', 'bpm_task_candidate_strategy', '0', 'success', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 宀椾綅', '103', '2022-01-14 18:41:55', '1', '2024-03-06 02:53:21', X'00'),
+('1145', '1', '绠$悊鍚庡彴', '1', 'infra_codegen_scene', '0', '', '', '浠g爜鐢熸垚鐨勫満鏅灇涓� - 绠$悊鍚庡彴', '1', '2022-02-02 13:15:06', '1', '2022-03-10 16:32:59', X'00'),
+('1146', '2', '鐢ㄦ埛 APP', '2', 'infra_codegen_scene', '0', '', '', '浠g爜鐢熸垚鐨勫満鏅灇涓� - 鐢ㄦ埛 APP', '1', '2022-02-02 13:15:19', '1', '2022-03-10 16:33:03', X'00'),
+('1150', '1', '鏁版嵁搴�', '1', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:25:28', '1', '2022-03-15 00:25:28', X'00'),
+('1151', '10', '鏈湴纾佺洏', '10', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:25:41', '1', '2022-03-15 00:25:56', X'00'),
+('1152', '11', 'FTP 鏈嶅姟鍣�', '11', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:26:06', '1', '2022-03-15 00:26:10', X'00'),
+('1153', '12', 'SFTP 鏈嶅姟鍣�', '12', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:26:22', '1', '2022-03-15 00:26:22', X'00'),
+('1154', '20', 'S3 瀵硅薄瀛樺偍', '20', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:26:31', '1', '2022-03-15 00:26:45', X'00'),
+('1155', '103', '鐭俊鐧诲綍', '103', 'system_login_type', '0', 'default', '', NULL, '1', '2022-05-09 23:57:58', '1', '2022-05-09 23:58:09', X'00'),
+('1156', '1', 'password', 'password', 'system_oauth2_grant_type', '0', 'default', '', '瀵嗙爜妯″紡', '1', '2022-05-12 00:22:05', '1', '2022-05-11 16:26:01', X'00'),
+('1157', '2', 'authorization_code', 'authorization_code', 'system_oauth2_grant_type', '0', 'primary', '', '鎺堟潈鐮佹ā寮�', '1', '2022-05-12 00:22:59', '1', '2022-05-11 16:26:02', X'00'),
+('1158', '3', 'implicit', 'implicit', 'system_oauth2_grant_type', '0', 'success', '', '绠�鍖栨ā寮�', '1', '2022-05-12 00:23:40', '1', '2022-05-11 16:26:05', X'00'),
+('1159', '4', 'client_credentials', 'client_credentials', 'system_oauth2_grant_type', '0', 'default', '', '瀹㈡埛绔ā寮�', '1', '2022-05-12 00:23:51', '1', '2022-05-11 16:26:08', X'00'),
+('1160', '5', 'refresh_token', 'refresh_token', 'system_oauth2_grant_type', '0', 'info', '', '鍒锋柊妯″紡', '1', '2022-05-12 00:24:02', '1', '2022-05-11 16:26:11', X'00'),
+('1162', '1', '閿�鍞腑', '1', 'product_spu_status', '0', 'success', '', '鍟嗗搧 SPU 鐘舵�� - 閿�鍞腑', '1', '2022-10-24 21:19:47', '1', '2022-10-24 21:20:38', X'00'),
+('1163', '0', '浠撳簱涓�', '0', 'product_spu_status', '0', 'info', '', '鍟嗗搧 SPU 鐘舵�� - 浠撳簱涓�', '1', '2022-10-24 21:20:54', '1', '2022-10-24 21:21:22', X'00'),
+('1164', '0', '鍥炴敹绔�', '-1', 'product_spu_status', '0', 'default', '', '鍟嗗搧 SPU 鐘舵�� - 鍥炴敹绔�', '1', '2022-10-24 21:21:11', '1', '2022-10-24 21:21:11', X'00'),
+('1165', '1', '婊″噺', '1', 'promotion_discount_type', '0', 'success', '', '浼樻儬绫诲瀷 - 婊″噺', '1', '2022-11-01 12:46:41', '1', '2022-11-01 12:50:11', X'00'),
+('1166', '2', '鎶樻墸', '2', 'promotion_discount_type', '0', 'primary', '', '浼樻儬绫诲瀷 - 鎶樻墸', '1', '2022-11-01 12:46:51', '1', '2022-11-01 12:50:08', X'00'),
+('1167', '1', '鍥哄畾鏃ユ湡', '1', 'promotion_coupon_template_validity_type', '0', 'default', '', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨� - 鍥哄畾鏃ユ湡', '1', '2022-11-02 00:07:34', '1', '2022-11-04 00:07:49', X'00'),
+('1168', '2', '棰嗗彇涔嬪悗', '2', 'promotion_coupon_template_validity_type', '0', 'default', '', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨� - 棰嗗彇涔嬪悗', '1', '2022-11-02 00:07:54', '1', '2022-11-04 00:07:52', X'00'),
+('1169', '1', '閫氱敤鍔�', '1', 'promotion_product_scope', '0', 'default', '', '钀ラ攢鐨勫晢鍝佽寖鍥� - 鍏ㄩ儴鍟嗗搧鍙備笌', '1', '2022-11-02 00:28:22', '1', '2023-09-28 00:27:42', X'00'),
+('1170', '2', '鍟嗗搧鍔�', '2', 'promotion_product_scope', '0', 'default', '', '钀ラ攢鐨勫晢鍝佽寖鍥� - 鎸囧畾鍟嗗搧鍙備笌', '1', '2022-11-02 00:28:34', '1', '2023-09-28 00:27:44', X'00'),
+('1171', '1', '鏈娇鐢�', '1', 'promotion_coupon_status', '0', 'primary', '', '浼樻儬鍔电殑鐘舵�� - 宸查鍙�', '1', '2022-11-04 00:15:08', '1', '2023-10-03 12:54:38', X'00'),
+('1172', '2', '宸蹭娇鐢�', '2', 'promotion_coupon_status', '0', 'success', '', '浼樻儬鍔电殑鐘舵�� - 宸蹭娇鐢�', '1', '2022-11-04 00:15:21', '1', '2022-11-04 19:16:08', X'00'),
+('1173', '3', '宸茶繃鏈�', '3', 'promotion_coupon_status', '0', 'info', '', '浼樻儬鍔电殑鐘舵�� - 宸茶繃鏈�', '1', '2022-11-04 00:15:43', '1', '2022-11-04 19:16:12', X'00'),
+('1174', '1', '鐩存帴棰嗗彇', '1', 'promotion_coupon_take_type', '0', 'primary', '', '浼樻儬鍔电殑棰嗗彇鏂瑰紡 - 鐩存帴棰嗗彇', '1', '2022-11-04 19:13:00', '1', '2022-11-04 19:13:25', X'00'),
+('1175', '2', '鎸囧畾鍙戞斁', '2', 'promotion_coupon_take_type', '0', 'success', '', '浼樻儬鍔电殑棰嗗彇鏂瑰紡 - 鎸囧畾鍙戞斁', '1', '2022-11-04 19:13:13', '1', '2022-11-04 19:14:48', X'00'),
+('1176', '10', '鏈紑濮�', '10', 'promotion_activity_status', '0', 'primary', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 鏈紑濮�', '1', '2022-11-04 22:54:49', '1', '2022-11-04 22:55:53', X'00'),
+('1177', '20', '杩涜涓�', '20', 'promotion_activity_status', '0', 'success', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 杩涜涓�', '1', '2022-11-04 22:55:06', '1', '2022-11-04 22:55:20', X'00'),
+('1178', '30', '宸茬粨鏉�', '30', 'promotion_activity_status', '0', 'info', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 宸茬粨鏉�', '1', '2022-11-04 22:55:41', '1', '2022-11-04 22:55:41', X'00'),
+('1179', '40', '宸插叧闂�', '40', 'promotion_activity_status', '0', 'warning', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 宸插叧闂�', '1', '2022-11-04 22:56:10', '1', '2022-11-04 22:56:18', X'00'),
+('1180', '10', '婊� N 鍏�', '10', 'promotion_condition_type', '0', 'primary', '', '钀ラ攢鐨勬潯浠剁被鍨� - 婊� N 鍏�', '1', '2022-11-04 22:59:45', '1', '2022-11-04 22:59:45', X'00'),
+('1181', '20', '婊� N 浠�', '20', 'promotion_condition_type', '0', 'success', '', '钀ラ攢鐨勬潯浠剁被鍨� - 婊� N 浠�', '1', '2022-11-04 23:00:02', '1', '2022-11-04 23:00:02', X'00'),
+('1182', '10', '鐢宠鍞悗', '10', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 鐢宠鍞悗', '1', '2022-11-19 20:53:33', '1', '2022-11-19 20:54:42', X'00'),
+('1183', '20', '鍟嗗搧寰呴��璐�', '20', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗搧寰呴��璐�', '1', '2022-11-19 20:54:36', '1', '2022-11-19 20:58:58', X'00'),
+('1184', '30', '鍟嗗寰呮敹璐�', '30', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗寰呮敹璐�', '1', '2022-11-19 20:56:56', '1', '2022-11-19 20:59:20', X'00'),
+('1185', '40', '绛夊緟閫�娆�', '40', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 绛夊緟閫�娆�', '1', '2022-11-19 20:59:54', '1', '2022-11-19 21:00:01', X'00'),
+('1186', '50', '閫�娆炬垚鍔�', '50', 'trade_after_sale_status', '0', 'default', '', '浜ゆ槗鍞悗鐘舵�� - 閫�娆炬垚鍔�', '1', '2022-11-19 21:00:33', '1', '2022-11-19 21:00:33', X'00'),
+('1187', '61', '涔板鍙栨秷', '61', 'trade_after_sale_status', '0', 'info', '', '浜ゆ槗鍞悗鐘舵�� - 涔板鍙栨秷', '1', '2022-11-19 21:01:29', '1', '2022-11-19 21:01:29', X'00'),
+('1188', '62', '鍟嗗鎷掔粷', '62', 'trade_after_sale_status', '0', 'info', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗鎷掔粷', '1', '2022-11-19 21:02:17', '1', '2022-11-19 21:02:17', X'00'),
+('1189', '63', '鍟嗗鎷掓敹璐�', '63', 'trade_after_sale_status', '0', 'info', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗鎷掓敹璐�', '1', '2022-11-19 21:02:37', '1', '2022-11-19 21:03:07', X'00'),
+('1190', '10', '鍞腑閫�娆�', '10', 'trade_after_sale_type', '0', 'success', '', '浜ゆ槗鍞悗鐨勭被鍨� - 鍞腑閫�娆�', '1', '2022-11-19 21:05:05', '1', '2022-11-19 21:38:23', X'00'),
+('1191', '20', '鍞悗閫�娆�', '20', 'trade_after_sale_type', '0', 'primary', '', '浜ゆ槗鍞悗鐨勭被鍨� - 鍞悗閫�娆�', '1', '2022-11-19 21:05:32', '1', '2022-11-19 21:38:32', X'00'),
+('1192', '10', '浠呴��娆�', '10', 'trade_after_sale_way', '0', 'primary', '', '浜ゆ槗鍞悗鐨勬柟寮� - 浠呴��娆�', '1', '2022-11-19 21:39:19', '1', '2022-11-19 21:39:19', X'00'),
+('1193', '20', '閫�璐ч��娆�', '20', 'trade_after_sale_way', '0', 'success', '', '浜ゆ槗鍞悗鐨勬柟寮� - 閫�璐ч��娆�', '1', '2022-11-19 21:39:38', '1', '2022-11-19 21:39:49', X'00'),
+('1194', '10', '寰俊灏忕▼搴�', '10', 'terminal', '0', 'default', '', '缁堢 - 寰俊灏忕▼搴�', '1', '2022-12-10 10:51:11', '1', '2022-12-10 10:51:57', X'00'),
+('1195', '20', 'H5 缃戦〉', '20', 'terminal', '0', 'default', '', '缁堢 - H5 缃戦〉', '1', '2022-12-10 10:51:30', '1', '2022-12-10 10:51:59', X'00'),
+('1196', '11', '寰俊鍏紬鍙�', '11', 'terminal', '0', 'default', '', '缁堢 - 寰俊鍏紬鍙�', '1', '2022-12-10 10:54:16', '1', '2022-12-10 10:52:01', X'00'),
+('1197', '31', '鑻规灉 App', '31', 'terminal', '0', 'default', '', '缁堢 - 鑻规灉 App', '1', '2022-12-10 10:54:42', '1', '2022-12-10 10:52:18', X'00'),
+('1198', '32', '瀹夊崜 App', '32', 'terminal', '0', 'default', '', '缁堢 - 瀹夊崜 App', '1', '2022-12-10 10:55:02', '1', '2022-12-10 10:59:17', X'00'),
+('1199', '0', '鏅�氳鍗�', '0', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 鏅�氳鍗�', '1', '2022-12-10 16:34:14', '1', '2022-12-10 16:34:14', X'00'),
+('1200', '1', '绉掓潃璁㈠崟', '1', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 绉掓潃璁㈠崟', '1', '2022-12-10 16:34:26', '1', '2022-12-10 16:34:26', X'00'),
+('1201', '2', '鐮嶄环璁㈠崟', '2', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 鎷煎洟璁㈠崟', '1', '2022-12-10 16:34:36', '1', '2024-09-07 14:18:39', X'00'),
+('1202', '3', '鎷煎洟璁㈠崟', '3', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 鐮嶄环璁㈠崟', '1', '2022-12-10 16:34:48', '1', '2024-09-07 14:18:32', X'00'),
+('1203', '0', '寰呮敮浠�', '0', 'trade_order_status', '0', 'default', '', '浜ゆ槗璁㈠崟鐘舵�� - 寰呮敮浠�', '1', '2022-12-10 16:49:29', '1', '2022-12-10 16:49:29', X'00'),
+('1204', '10', '寰呭彂璐�', '10', 'trade_order_status', '0', 'primary', '', '浜ゆ槗璁㈠崟鐘舵�� - 寰呭彂璐�', '1', '2022-12-10 16:49:53', '1', '2022-12-10 16:51:17', X'00'),
+('1205', '20', '宸插彂璐�', '20', 'trade_order_status', '0', 'primary', '', '浜ゆ槗璁㈠崟鐘舵�� - 宸插彂璐�', '1', '2022-12-10 16:50:13', '1', '2022-12-10 16:51:31', X'00'),
+('1206', '30', '宸插畬鎴�', '30', 'trade_order_status', '0', 'success', '', '浜ゆ槗璁㈠崟鐘舵�� - 宸插畬鎴�', '1', '2022-12-10 16:50:30', '1', '2022-12-10 16:51:06', X'00'),
+('1207', '40', '宸插彇娑�', '40', 'trade_order_status', '0', 'danger', '', '浜ゆ槗璁㈠崟鐘舵�� - 宸插彇娑�', '1', '2022-12-10 16:50:50', '1', '2022-12-10 16:51:00', X'00'),
+('1208', '0', '鏈敭鍚�', '0', 'trade_order_item_after_sale_status', '0', 'info', '', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵�� - 鏈敭鍚�', '1', '2022-12-10 20:58:42', '1', '2022-12-10 20:59:29', X'00'),
+('1209', '10', '鍞悗涓�', '10', 'trade_order_item_after_sale_status', '0', 'primary', '', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵�� - 鍞悗涓�', '1', '2022-12-10 20:59:21', '1', '2024-07-21 17:01:24', X'00'),
+('1210', '20', '宸查��娆�', '20', 'trade_order_item_after_sale_status', '0', 'success', '', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵�� - 宸查��娆�', '1', '2022-12-10 20:59:46', '1', '2024-07-21 17:01:35', X'00'),
+('1211', '1', '瀹屽叏鍖归厤', '1', 'mp_auto_reply_request_match', '0', 'primary', '', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮� - 瀹屽叏鍖归厤', '1', '2023-01-16 23:30:39', '1', '2023-01-16 23:31:00', X'00'),
+('1212', '2', '鍗婂尮閰�', '2', 'mp_auto_reply_request_match', '0', 'success', '', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮� - 鍗婂尮閰�', '1', '2023-01-16 23:30:55', '1', '2023-01-16 23:31:10', X'00'),
+('1213', '1', '鏂囨湰', 'text', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鏂囨湰', '1', '2023-01-17 22:17:32', '1', '2023-01-17 22:17:39', X'00'),
+('1214', '2', '鍥剧墖', 'image', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鍥剧墖', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:19:47', X'00'),
+('1215', '3', '璇煶', 'voice', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 璇煶', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:20:08', X'00'),
+('1216', '4', '瑙嗛', 'video', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 瑙嗛', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:21:08', X'00'),
+('1217', '5', '灏忚棰�', 'shortvideo', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 灏忚棰�', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:19:59', X'00'),
+('1218', '6', '鍥炬枃', 'news', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鍥炬枃', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:22:54', X'00'),
+('1219', '7', '闊充箰', 'music', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 闊充箰', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:22:54', X'00'),
+('1220', '8', '鍦扮悊浣嶇疆', 'location', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鍦扮悊浣嶇疆', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:23:51', X'00'),
+('1221', '9', '閾炬帴', 'link', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 閾炬帴', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:24:49', X'00'),
+('1222', '10', '浜嬩欢', 'event', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 浜嬩欢', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:24:49', X'00'),
+('1223', '0', '鍒濆鍖�', '0', 'system_mail_send_status', '0', 'primary', '', '閭欢鍙戦�佺姸鎬� - 鍒濆鍖朶n', '1', '2023-01-26 09:53:49', '1', '2023-01-26 16:36:14', X'00'),
+('1224', '10', '鍙戦�佹垚鍔�', '10', 'system_mail_send_status', '0', 'success', '', '閭欢鍙戦�佺姸鎬� - 鍙戦�佹垚鍔�', '1', '2023-01-26 09:54:28', '1', '2023-01-26 16:36:22', X'00'),
+('1225', '20', '鍙戦�佸け璐�', '20', 'system_mail_send_status', '0', 'danger', '', '閭欢鍙戦�佺姸鎬� - 鍙戦�佸け璐�', '1', '2023-01-26 09:54:50', '1', '2023-01-26 16:36:26', X'00'),
+('1226', '30', '涓嶅彂閫�', '30', 'system_mail_send_status', '0', 'info', '', '閭欢鍙戦�佺姸鎬� -  涓嶅彂閫�', '1', '2023-01-26 09:55:06', '1', '2023-01-26 16:36:36', X'00'),
+('1227', '1', '閫氱煡鍏憡', '1', 'system_notify_template_type', '0', 'primary', '', '绔欏唴淇℃ā鐗堢殑绫诲瀷 - 閫氱煡鍏憡', '1', '2023-01-28 10:35:59', '1', '2023-01-28 10:35:59', X'00'),
+('1228', '2', '绯荤粺娑堟伅', '2', 'system_notify_template_type', '0', 'success', '', '绔欏唴淇℃ā鐗堢殑绫诲瀷 - 绯荤粺娑堟伅', '1', '2023-01-28 10:36:20', '1', '2023-01-28 10:36:25', X'00'),
+('1230', '13', '鏀粯瀹濇潯鐮佹敮浠�', 'alipay_bar', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹濇潯鐮佹敮浠�', '1', '2023-02-18 23:32:24', '1', '2023-07-19 20:09:23', X'00'),
+('1231', '10', 'Vue2 Element UI 鏍囧噯妯$増', '10', 'infra_codegen_front_type', '0', '', '', '', '1', '2023-04-13 00:03:55', '1', '2023-04-13 00:03:55', X'00'),
+('1232', '20', 'Vue3 Element Plus 鏍囧噯妯$増', '20', 'infra_codegen_front_type', '0', '', '', '', '1', '2023-04-13 00:04:08', '1', '2023-04-13 00:04:08', X'00'),
+('1234', '30', 'Vben2.0 Ant Design Schema 妯$増', '30', 'infra_codegen_front_type', '1', '', '', '', '1', '2023-04-13 00:04:26', '1', '2025-07-27 10:55:14', X'00'),
+('1244', '0', '鎸変欢', '1', 'trade_delivery_express_charge_mode', '0', '', '', '', '1', '2023-05-21 22:46:40', '1', '2023-05-21 22:46:40', X'00'),
+('1245', '1', '鎸夐噸閲�', '2', 'trade_delivery_express_charge_mode', '0', '', '', '', '1', '2023-05-21 22:46:58', '1', '2023-05-21 22:46:58', X'00'),
+('1246', '2', '鎸変綋绉�', '3', 'trade_delivery_express_charge_mode', '0', '', '', '', '1', '2023-05-21 22:47:18', '1', '2023-05-21 22:47:18', X'00'),
+('1335', '11', '璁㈠崟绉垎鎶垫墸', '11', 'member_point_biz_type', '0', '', '', '', '1', '2023-06-10 12:15:27', '1', '2023-10-11 07:41:43', X'00'),
+('1336', '1', '绛惧埌', '1', 'member_point_biz_type', '0', '', '', '', '1', '2023-06-10 12:15:48', '1', '2023-08-20 11:59:53', X'00'),
+('1341', '20', '宸查��娆�', '20', 'pay_order_status', '0', 'danger', '', '宸查��娆�', '1', '2023-07-19 18:05:37', '1', '2023-07-19 18:05:37', X'00'),
+('1342', '21', '璇锋眰鎴愬姛锛屼絾鏄粨鏋滃け璐�', '21', 'pay_notify_status', '0', 'warning', '', '璇锋眰鎴愬姛锛屼絾鏄粨鏋滃け璐�', '1', '2023-07-19 18:10:47', '1', '2023-07-19 18:11:38', X'00'),
+('1343', '22', '璇锋眰澶辫触', '22', 'pay_notify_status', '0', 'warning', '', NULL, '1', '2023-07-19 18:11:05', '1', '2023-07-19 18:11:27', X'00'),
+('1344', '4', '寰俊鎵爜鏀粯', 'wx_native', 'pay_channel_code', '0', 'success', '', '寰俊鎵爜鏀粯', '1', '2023-07-19 20:07:47', '1', '2023-07-19 20:09:03', X'00'),
+('1345', '5', '寰俊鏉$爜鏀粯', 'wx_bar', 'pay_channel_code', '0', 'success', '', '寰俊鏉$爜鏀粯\n', '1', '2023-07-19 20:08:06', '1', '2023-07-19 20:09:08', X'00'),
+('1346', '1', '鏀粯鍗�', '1', 'pay_notify_type', '0', 'primary', '', '鏀粯鍗�', '1', '2023-07-20 12:23:17', '1', '2023-07-20 12:23:17', X'00'),
+('1347', '2', '閫�娆惧崟', '2', 'pay_notify_type', '0', 'danger', '', NULL, '1', '2023-07-20 12:23:26', '1', '2023-07-20 12:23:26', X'00'),
+('1348', '20', '妯℃嫙鏀粯', 'mock', 'pay_channel_code', '0', 'default', '', '妯℃嫙鏀粯', '1', '2023-07-29 11:10:51', '1', '2023-07-29 03:14:10', X'00'),
+('1349', '12', '璁㈠崟绉垎鎶垫墸锛堟暣鍗曞彇娑堬級', '12', 'member_point_biz_type', '0', '', '', '', '1', '2023-08-20 12:00:03', '1', '2023-10-11 07:42:01', X'00'),
+('1350', '0', '绠$悊鍛樿皟鏁�', '0', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1351', '1', '閭�鏂板鍔�', '1', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1352', '11', '涓嬪崟濂栧姳', '11', 'member_experience_biz_type', '0', 'success', '', NULL, '', '2023-08-22 12:41:01', '1', '2023-10-11 07:45:09', X'00'),
+('1353', '12', '涓嬪崟濂栧姳锛堟暣鍗曞彇娑堬級', '12', 'member_experience_biz_type', '0', 'warning', '', NULL, '', '2023-08-22 12:41:01', '1', '2023-10-11 07:45:01', X'00'),
+('1354', '4', '绛惧埌濂栧姳', '4', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1355', '5', '鎶藉濂栧姳', '5', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1356', '1', '蹇�掑彂璐�', '1', 'trade_delivery_type', '0', '', '', '', '1', '2023-08-23 00:04:55', '1', '2023-08-23 00:04:55', X'00'),
+('1357', '2', '鐢ㄦ埛鑷彁', '2', 'trade_delivery_type', '0', '', '', '', '1', '2023-08-23 00:05:05', '1', '2023-08-23 00:05:05', X'00'),
+('1358', '3', '鍝佺被鍔�', '3', 'promotion_product_scope', '0', 'default', '', '', '1', '2023-09-01 23:43:07', '1', '2023-09-28 00:27:47', X'00'),
+('1359', '1', '浜轰汉鍒嗛攢', '1', 'brokerage_enabled_condition', '0', '', '', '鎵�鏈夌敤鎴烽兘鍙互鍒嗛攢', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1360', '2', '鎸囧畾鍒嗛攢', '2', 'brokerage_enabled_condition', '0', '', '', '浠呭彲鍚庡彴鎵嬪姩璁剧疆鎺ㄥ箍鍛�', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1361', '1', '棣栨缁戝畾', '1', 'brokerage_bind_mode', '0', '', '', '鍙鐢ㄦ埛娌℃湁鎺ㄥ箍浜猴紝闅忔椂閮藉彲浠ョ粦瀹氭帹骞垮叧绯�', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1362', '2', '娉ㄥ唽缁戝畾', '2', 'brokerage_bind_mode', '0', '', '', '浠呮柊鐢ㄦ埛娉ㄥ唽鏃舵墠鑳界粦瀹氭帹骞垮叧绯�', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1363', '3', '瑕嗙洊缁戝畾', '3', 'brokerage_bind_mode', '0', '', '', '濡傛灉鐢ㄦ埛宸茬粡鏈夋帹骞夸汉锛屾帹骞夸汉浼氳鍙樻洿', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1364', '1', '閽卞寘', '1', 'brokerage_withdraw_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1365', '2', '閾惰鍗�', '2', 'brokerage_withdraw_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1366', '3', '寰俊鏀舵鐮�', '3', 'brokerage_withdraw_type', '0', '', '', '鎵嬪姩鎵撴', '', '2023-09-28 02:46:05', '1', '2025-05-10 08:24:25', X'00'),
+('1367', '4', '鏀粯瀹濇敹娆剧爜', '4', 'brokerage_withdraw_type', '0', '', '', '鎵嬪姩鎵撴', '', '2023-09-28 02:46:05', '1', '2025-05-10 08:24:37', X'00'),
+('1368', '1', '璁㈠崟杩斾剑', '1', 'brokerage_record_biz_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1369', '2', '鐢宠鎻愮幇', '2', 'brokerage_record_biz_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1370', '3', '鐢宠鎻愮幇椹冲洖', '3', 'brokerage_record_biz_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1371', '0', '寰呯粨绠�', '0', 'brokerage_record_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1372', '1', '宸茬粨绠�', '1', 'brokerage_record_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1373', '2', '宸插彇娑�', '2', 'brokerage_record_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1374', '0', '瀹℃牳涓�', '0', 'brokerage_withdraw_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1375', '10', '瀹℃牳閫氳繃', '10', 'brokerage_withdraw_status', '0', 'success', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1376', '11', '鎻愮幇鎴愬姛', '11', 'brokerage_withdraw_status', '0', 'success', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1377', '20', '瀹℃牳涓嶉�氳繃', '20', 'brokerage_withdraw_status', '0', 'danger', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1378', '21', '鎻愮幇澶辫触', '21', 'brokerage_withdraw_status', '0', 'danger', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1379', '0', '宸ュ晢閾惰', '0', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1380', '1', '寤鸿閾惰', '1', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1381', '2', '鍐滀笟閾惰', '2', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1382', '3', '涓浗閾惰', '3', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1383', '4', '浜ら�氶摱琛�', '4', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1384', '5', '鎷涘晢閾惰', '5', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1385', '21', '閽卞寘', 'wallet', 'pay_channel_code', '0', 'primary', '', '', '1', '2023-10-01 21:46:19', '1', '2023-10-01 21:48:01', X'00'),
+('1386', '1', '鐮嶄环涓�', '1', 'promotion_bargain_record_status', '0', 'default', '', '', '1', '2023-10-05 10:41:26', '1', '2023-10-05 10:41:26', X'00'),
+('1387', '2', '鐮嶄环鎴愬姛', '2', 'promotion_bargain_record_status', '0', 'success', '', '', '1', '2023-10-05 10:41:39', '1', '2023-10-05 10:41:39', X'00'),
+('1388', '3', '鐮嶄环澶辫触', '3', 'promotion_bargain_record_status', '0', 'warning', '', '', '1', '2023-10-05 10:41:57', '1', '2023-10-05 10:41:57', X'00'),
+('1389', '0', '鎷煎洟涓�', '0', 'promotion_combination_record_status', '0', '', '', '', '1', '2023-10-08 07:24:44', '1', '2024-10-13 10:08:17', X'00'),
+('1390', '1', '鎷煎洟鎴愬姛', '1', 'promotion_combination_record_status', '0', 'success', '', '', '1', '2023-10-08 07:24:56', '1', '2024-10-13 10:08:20', X'00'),
+('1391', '2', '鎷煎洟澶辫触', '2', 'promotion_combination_record_status', '0', 'warning', '', '', '1', '2023-10-08 07:25:11', '1', '2024-10-13 10:08:24', X'00'),
+('1392', '2', '绠$悊鍛樹慨鏀�', '2', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:41:34', '1', '2023-10-11 07:41:34', X'00'),
+('1393', '13', '璁㈠崟绉垎鎶垫墸锛堝崟涓��娆撅級', '13', 'member_point_biz_type', '0', '', '', '', '1', '2023-10-11 07:42:29', '1', '2023-10-11 07:42:29', X'00'),
+('1394', '21', '璁㈠崟绉垎濂栧姳', '21', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:42:44', '1', '2023-10-11 07:42:44', X'00'),
+('1395', '22', '璁㈠崟绉垎濂栧姳锛堟暣鍗曞彇娑堬級', '22', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:42:55', '1', '2023-10-11 07:43:01', X'00'),
+('1396', '23', '璁㈠崟绉垎濂栧姳锛堝崟涓��娆撅級', '23', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:43:16', '1', '2023-10-11 07:43:16', X'00'),
+('1397', '13', '涓嬪崟濂栧姳锛堝崟涓��娆撅級', '13', 'member_experience_biz_type', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('1398', '5', '缃戜笂杞处', '5', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:24', '1', '2023-10-18 21:55:24', X'00'),
+('1399', '6', '鏀粯瀹�', '6', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:38', '1', '2023-10-18 21:55:38', X'00'),
+('1400', '7', '寰俊鏀粯', '7', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:53', '1', '2023-10-18 21:55:53', X'00'),
+('1401', '8', '鍏朵粬', '8', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:56:06', '1', '2023-10-18 21:56:06', X'00'),
+('1402', '1', 'IT', '1', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:15', '1', '2024-02-18 23:30:38', X'00'),
+('1403', '2', '閲戣瀺涓�', '2', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:29', '1', '2024-02-18 23:30:43', X'00'),
+('1404', '3', '鎴垮湴浜�', '3', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:41', '1', '2024-02-18 23:30:48', X'00'),
+('1405', '4', '鍟嗕笟鏈嶅姟', '4', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:54', '1', '2024-02-18 23:30:54', X'00'),
+('1406', '5', '杩愯緭/鐗╂祦', '5', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:03', '1', '2024-02-18 23:31:00', X'00'),
+('1407', '6', '鐢熶骇', '6', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:13', '1', '2024-02-18 23:31:08', X'00'),
+('1408', '7', '鏀垮簻', '7', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:27', '1', '2024-02-18 23:31:13', X'00'),
+('1409', '8', '鏂囧寲浼犲獟', '8', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:37', '1', '2024-02-18 23:31:20', X'00'),
+('1422', '1', 'A 锛堥噸鐐瑰鎴凤級', '1', 'crm_customer_level', '0', 'primary', '', '', '1', '2023-10-28 23:07:13', '1', '2023-10-28 23:07:13', X'00'),
+('1423', '2', 'B 锛堟櫘閫氬鎴凤級', '2', 'crm_customer_level', '0', 'info', '', '', '1', '2023-10-28 23:07:35', '1', '2023-10-28 23:07:35', X'00'),
+('1424', '3', 'C 锛堥潪浼樺厛瀹㈡埛锛�', '3', 'crm_customer_level', '0', 'default', '', '', '1', '2023-10-28 23:07:53', '1', '2023-10-28 23:07:53', X'00'),
+('1425', '1', '淇冮攢', '1', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:29', '1', '2023-10-28 23:08:29', X'00'),
+('1426', '2', '鎼滅储寮曟搸', '2', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:39', '1', '2023-10-28 23:08:39', X'00'),
+('1427', '3', '骞垮憡', '3', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:47', '1', '2023-10-28 23:08:47', X'00'),
+('1428', '4', '杞粙缁�', '4', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:58', '1', '2023-10-28 23:08:58', X'00'),
+('1429', '5', '绾夸笂娉ㄥ唽', '5', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:09:12', '1', '2023-10-28 23:09:12', X'00'),
+('1430', '6', '绾夸笂鍜ㄨ', '6', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:09:22', '1', '2023-10-28 23:09:22', X'00'),
+('1431', '7', '棰勭害涓婇棬', '7', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:09:39', '1', '2023-10-28 23:09:39', X'00'),
+('1432', '8', '闄屾嫓', '8', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:10:04', '1', '2023-10-28 23:10:04', X'00'),
+('1433', '9', '鐢佃瘽鍜ㄨ', '9', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:10:18', '1', '2023-10-28 23:10:18', X'00'),
+('1434', '10', '閭欢鍜ㄨ', '10', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:10:33', '1', '2023-10-28 23:10:33', X'00'),
+('1435', '10', 'Gitee', '10', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:04:42', '1', '2023-11-04 13:04:42', X'00'),
+('1436', '20', '閽夐拤', '20', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:04:54', '1', '2023-11-04 13:04:54', X'00'),
+('1437', '30', '浼佷笟寰俊', '30', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:09', '1', '2023-11-04 13:05:09', X'00'),
+('1438', '31', '寰俊鍏紬骞冲彴', '31', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:18', '1', '2023-11-04 13:05:18', X'00'),
+('1439', '32', '寰俊寮�鏀惧钩鍙�', '32', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:30', '1', '2023-11-04 13:05:30', X'00'),
+('1440', '34', '寰俊灏忕▼搴�', '34', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', X'00'),
+('1441', '1', '涓婃灦', '1', 'crm_product_status', '0', 'success', '', '', '1', '2023-10-30 21:49:34', '1', '2023-10-30 21:49:34', X'00'),
+('1442', '0', '涓嬫灦', '0', 'crm_product_status', '0', 'success', '', '', '1', '2023-10-30 21:49:13', '1', '2023-10-30 21:49:13', X'00'),
+('1443', '15', '瀛愯〃', '15', 'infra_codegen_template_type', '0', 'default', '', '', '1', '2023-11-13 23:06:16', '1', '2023-11-13 23:06:16', X'00'),
+('1444', '10', '涓昏〃锛堟爣鍑嗘ā寮忥級', '10', 'infra_codegen_template_type', '0', 'default', '', '', '1', '2023-11-14 12:32:49', '1', '2023-11-14 12:32:49', X'00'),
+('1445', '11', '涓昏〃锛圗RP 妯″紡锛�', '11', 'infra_codegen_template_type', '0', 'default', '', '', '1', '2023-11-14 12:33:05', '1', '2023-11-14 12:33:05', X'00'),
+('1446', '12', '涓昏〃锛堝唴宓屾ā寮忥級', '12', 'infra_codegen_template_type', '0', '', '', '', '1', '2023-11-14 12:33:31', '1', '2023-11-14 12:33:31', X'00'),
+('1447', '1', '璐熻矗浜�', '1', 'crm_permission_level', '0', 'default', '', '', '1', '2023-11-30 09:53:12', '1', '2023-11-30 09:53:12', X'00'),
+('1448', '2', '鍙', '2', 'crm_permission_level', '0', '', '', '', '1', '2023-11-30 09:53:29', '1', '2023-11-30 09:53:29', X'00'),
+('1449', '3', '璇诲啓', '3', 'crm_permission_level', '0', '', '', '', '1', '2023-11-30 09:53:36', '1', '2023-11-30 09:53:36', X'00'),
+('1450', '0', '鏈彁浜�', '0', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:56:59', '1', '2023-11-30 18:56:59', X'00'),
+('1451', '10', '瀹℃壒涓�', '10', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:10', '1', '2023-11-30 18:57:10', X'00'),
+('1452', '20', '瀹℃牳閫氳繃', '20', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:24', '1', '2023-11-30 18:57:24', X'00'),
+('1453', '30', '瀹℃牳涓嶉�氳繃', '30', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:32', '1', '2023-11-30 18:57:32', X'00'),
+('1454', '40', '宸插彇娑�', '40', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:42', '1', '2023-11-30 18:57:42', X'00'),
+('1456', '1', '鏀エ', '1', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:54:29', '1', '2023-10-18 21:54:29', X'00'),
+('1457', '2', '鐜伴噾', '2', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:54:41', '1', '2023-10-18 21:54:41', X'00'),
+('1458', '3', '閭斂姹囨', '3', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:54:53', '1', '2023-10-18 21:54:53', X'00'),
+('1459', '4', '鐢垫眹', '4', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:07', '1', '2023-10-18 21:55:07', X'00'),
+('1461', '1', '涓�', '1', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:02:26', '1', '2023-12-05 23:02:26', X'00'),
+('1462', '2', '鍧�', '2', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:02:34', '1', '2023-12-05 23:02:34', X'00'),
+('1463', '3', '鍙�', '3', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:02:57', '1', '2023-12-05 23:02:57', X'00'),
+('1464', '4', '鎶�', '4', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:05', '1', '2023-12-05 23:03:05', X'00'),
+('1465', '5', '鏋�', '5', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:14', '1', '2023-12-05 23:03:14', X'00'),
+('1466', '6', '鐡�', '6', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:20', '1', '2023-12-05 23:03:20', X'00'),
+('1467', '7', '鐩�', '7', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:30', '1', '2023-12-05 23:03:30', X'00'),
+('1468', '8', '鍙�', '8', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:41', '1', '2023-12-05 23:03:41', X'00'),
+('1469', '9', '鍚�', '9', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:48', '1', '2023-12-05 23:03:48', X'00'),
+('1470', '10', '鍗冨厠', '10', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:03', '1', '2023-12-05 23:04:03', X'00'),
+('1471', '11', '绫�', '11', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:12', '1', '2023-12-05 23:04:12', X'00'),
+('1472', '12', '绠�', '12', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:25', '1', '2023-12-05 23:04:25', X'00'),
+('1473', '13', '濂�', '13', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:34', '1', '2023-12-05 23:04:34', X'00'),
+('1474', '1', '鎵撶數璇�', '1', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:48:20', '1', '2024-01-15 20:48:20', X'00'),
+('1475', '2', '鍙戠煭淇�', '2', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:48:31', '1', '2024-01-15 20:48:31', X'00'),
+('1476', '3', '涓婇棬鎷滆', '3', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:49:07', '1', '2024-01-15 20:49:07', X'00'),
+('1477', '4', '寰俊娌熼��', '4', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:49:15', '1', '2024-01-15 20:49:15', X'00'),
+('1482', '4', '杞处澶辫触', '20', 'pay_transfer_status', '0', 'warning', '', '', '1', '2023-10-28 16:24:16', '1', '2025-05-08 12:59:01', X'00'),
+('1483', '3', '杞处鎴愬姛', '10', 'pay_transfer_status', '0', 'success', '', '', '1', '2023-10-28 16:23:50', '1', '2025-05-08 12:58:58', X'00'),
+('1484', '2', '杞处杩涜涓�', '5', 'pay_transfer_status', '0', 'info', '', '', '1', '2023-10-28 16:23:12', '1', '2025-05-08 12:58:54', X'00'),
+('1485', '1', '绛夊緟杞处', '0', 'pay_transfer_status', '0', 'default', '', '', '1', '2023-10-28 16:21:43', '1', '2023-10-28 16:23:22', X'00'),
+('1486', '10', '鍏跺畠鍏ュ簱', '10', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-05 18:07:25', '1', '2024-02-05 18:07:43', X'00'),
+('1487', '11', '鍏跺畠鍏ュ簱锛堜綔搴燂級', '11', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-05 18:08:07', '1', '2024-02-05 19:20:16', X'00'),
+('1488', '20', '鍏跺畠鍑哄簱', '20', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-05 18:08:51', '1', '2024-02-05 18:08:51', X'00'),
+('1489', '21', '鍏跺畠鍑哄簱锛堜綔搴燂級', '21', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-05 18:09:00', '1', '2024-02-05 19:20:10', X'00'),
+('1490', '10', '瀹℃壒涓�', '10', 'erp_audit_status', '0', 'default', '', '', '1', '2024-02-06 00:00:21', '1', '2026-06-26 08:46:48', X'00'),
+('1491', '20', '瀹℃壒閫氳繃', '20', 'erp_audit_status', '0', 'success', '', '', '1', '2024-02-06 00:00:35', '1', '2026-06-26 08:46:48', X'00'),
+('1492', '30', '璋冩嫧鍏ュ簱', '30', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-07 20:34:19', '1', '2024-02-07 12:36:31', X'00'),
+('1493', '31', '璋冩嫧鍏ュ簱锛堜綔搴燂級', '31', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-07 20:34:29', '1', '2024-02-07 20:37:11', X'00'),
+('1494', '32', '璋冩嫧鍑哄簱', '32', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-07 20:34:38', '1', '2024-02-07 12:36:33', X'00'),
+('1495', '33', '璋冩嫧鍑哄簱锛堜綔搴燂級', '33', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-07 20:34:49', '1', '2024-02-07 20:37:06', X'00'),
+('1496', '40', '鐩樼泩鍏ュ簱', '40', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-08 08:53:00', '1', '2024-02-08 08:53:09', X'00'),
+('1497', '41', '鐩樼泩鍏ュ簱锛堜綔搴燂級', '41', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-08 08:53:39', '1', '2024-02-16 19:40:54', X'00'),
+('1498', '42', '鐩樹簭鍑哄簱', '42', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-08 08:54:16', '1', '2024-02-08 08:54:16', X'00'),
+('1499', '43', '鐩樹簭鍑哄簱锛堜綔搴燂級', '43', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-08 08:54:31', '1', '2024-02-16 19:40:46', X'00'),
+('1500', '50', '閿�鍞嚭搴�', '50', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-11 21:47:25', '1', '2024-02-11 21:50:40', X'00'),
+('1501', '51', '閿�鍞嚭搴擄紙浣滃簾锛�', '51', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-11 21:47:37', '1', '2024-02-11 21:51:12', X'00'),
+('1502', '60', '閿�鍞��璐у叆搴�', '60', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-12 06:51:05', '1', '2024-02-12 06:51:05', X'00'),
+('1503', '61', '閿�鍞��璐у叆搴擄紙浣滃簾锛�', '61', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-12 06:51:18', '1', '2024-02-12 06:51:18', X'00'),
+('1504', '70', '閲囪喘鍏ュ簱', '70', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-16 13:10:02', '1', '2024-02-16 13:10:02', X'00'),
+('1505', '71', '閲囪喘鍏ュ簱锛堜綔搴燂級', '71', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-16 13:10:10', '1', '2024-02-16 19:40:40', X'00'),
+('1506', '80', '閲囪喘閫�璐у嚭搴�', '80', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-16 13:10:17', '1', '2024-02-16 13:10:17', X'00'),
+('1507', '81', '閲囪喘閫�璐у嚭搴擄紙浣滃簾锛�', '81', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-16 13:10:26', '1', '2024-02-16 19:40:33', X'00'),
+('1509', '3', '瀹℃壒涓嶉�氳繃', '3', 'bpm_process_instance_status', '0', 'danger', '', '', '1', '2024-03-16 16:12:06', '1', '2024-03-16 16:12:06', X'00'),
+('1510', '4', '宸插彇娑�', '4', 'bpm_process_instance_status', '0', 'warning', '', '', '1', '2024-03-16 16:12:22', '1', '2024-03-16 16:12:22', X'00'),
+('1511', '5', '宸查��鍥�', '5', 'bpm_task_status', '0', 'warning', '', '', '1', '2024-03-16 19:10:46', '1', '2024-03-08 22:41:40', X'00'),
+('1512', '6', '濮旀淳涓�', '6', 'bpm_task_status', '0', 'primary', '', '', '1', '2024-03-17 10:06:22', '1', '2024-03-08 22:41:40', X'00'),
+('1513', '7', '瀹℃壒閫氳繃涓�', '7', 'bpm_task_status', '0', 'success', '', '', '1', '2024-03-17 10:06:47', '1', '2024-03-08 22:41:41', X'00'),
+('1514', '0', '寰呭鎵�', '0', 'bpm_task_status', '0', 'info', '', '', '1', '2024-03-17 10:07:11', '1', '2024-03-08 22:41:42', X'00'),
+('1515', '35', '鍙戣捣浜鸿嚜閫�', '35', 'bpm_task_candidate_strategy', '0', '', '', '', '1', '2024-03-22 19:45:16', '1', '2024-03-22 19:45:16', X'00'),
+('1516', '1', '鎵ц鐩戝惉鍣�', 'execution', 'bpm_process_listener_type', '0', 'primary', '', '', '1', '2024-03-23 12:54:03', '1', '2024-03-23 19:14:19', X'00'),
+('1517', '1', '浠诲姟鐩戝惉鍣�', 'task', 'bpm_process_listener_type', '0', 'success', '', '', '1', '2024-03-23 12:54:13', '1', '2024-03-23 19:14:24', X'00'),
+('1526', '1', 'Java 绫�', 'class', 'bpm_process_listener_value_type', '0', 'primary', '', '', '1', '2024-03-23 15:08:45', '1', '2024-03-23 19:14:32', X'00'),
+('1527', '2', '琛ㄨ揪寮�', 'expression', 'bpm_process_listener_value_type', '0', 'success', '', '', '1', '2024-03-23 15:09:06', '1', '2024-03-23 19:14:38', X'00'),
+('1528', '3', '浠g悊琛ㄨ揪寮�', 'delegateExpression', 'bpm_process_listener_value_type', '0', 'info', '', '', '1', '2024-03-23 15:11:23', '1', '2024-03-23 19:14:41', X'00'),
+('1529', '1', '澶�', '1', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:50:26', '1', '2024-03-29 22:50:26', X'00'),
+('1530', '2', '鍛�', '2', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:50:36', '1', '2024-03-29 22:50:36', X'00'),
+('1531', '3', '鏈�', '3', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:50:46', '1', '2024-03-29 22:50:54', X'00'),
+('1532', '4', '瀛e害', '4', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:51:01', '1', '2024-03-29 22:51:01', X'00'),
+('1533', '5', '骞�', '5', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:51:07', '1', '2024-03-29 22:51:07', X'00'),
+('1537', '1', 'OpenAI', 'OpenAI', 'ai_platform', '0', '', '', '', '1', '2024-05-09 22:33:47', '1', '2024-05-09 22:58:46', X'00'),
+('1538', '2', 'Ollama', 'Ollama', 'ai_platform', '0', '', '', '', '1', '2024-05-17 23:02:55', '1', '2024-05-17 23:02:55', X'00'),
+('1539', '3', '鏂囧績涓�瑷�', 'YiYan', 'ai_platform', '0', '', '', '', '1', '2024-05-18 09:24:20', '1', '2024-05-18 09:29:01', X'00'),
+('1540', '4', '璁鏄熺伀', 'XingHuo', 'ai_platform', '0', '', '', '', '1', '2024-05-18 10:08:56', '1', '2024-05-18 10:08:56', X'00'),
+('1541', '5', '閫氫箟鍗冮棶', 'TongYi', 'ai_platform', '0', '', '', '', '1', '2024-05-18 10:32:29', '1', '2024-07-06 15:42:29', X'00'),
+('1542', '6', 'StableDiffusion', 'StableDiffusion', 'ai_platform', '0', '', '', '', '1', '2024-06-01 15:09:31', '1', '2024-06-01 15:10:25', X'00'),
+('1543', '10', '杩涜涓�', '10', 'ai_image_status', '0', 'primary', '', '', '1', '2024-06-26 20:51:41', '1', '2024-06-26 20:52:48', X'00'),
+('1544', '20', '宸插畬鎴�', '20', 'ai_image_status', '0', 'success', '', '', '1', '2024-06-26 20:52:07', '1', '2024-06-26 20:52:41', X'00'),
+('1545', '30', '宸插け璐�', '30', 'ai_image_status', '0', 'warning', '', '', '1', '2024-06-26 20:52:25', '1', '2024-06-26 20:52:35', X'00'),
+('1546', '7', 'Midjourney', 'Midjourney', 'ai_platform', '0', '', '', '', '1', '2024-06-26 22:14:46', '1', '2024-06-26 22:14:46', X'00'),
+('1547', '10', '杩涜涓�', '10', 'ai_music_status', '0', 'primary', '', '', '1', '2024-06-27 22:45:22', '1', '2024-06-28 00:56:17', X'00'),
+('1548', '20', '宸插畬鎴�', '20', 'ai_music_status', '0', 'success', '', '', '1', '2024-06-27 22:45:33', '1', '2024-06-28 00:56:18', X'00'),
+('1549', '30', '宸插け璐�', '30', 'ai_music_status', '0', 'danger', '', '', '1', '2024-06-27 22:45:44', '1', '2024-06-28 00:56:19', X'00'),
+('1550', '1', '姝岃瘝妯″紡', '1', 'ai_generate_mode', '0', '', '', '', '1', '2024-06-27 22:46:31', '1', '2024-06-28 01:22:25', X'00'),
+('1551', '2', '鎻忚堪妯″紡', '2', 'ai_generate_mode', '0', '', '', '', '1', '2024-06-27 22:46:37', '1', '2024-06-28 01:22:24', X'00'),
+('1552', '8', 'Suno', 'Suno', 'ai_platform', '0', '', '', '', '1', '2024-06-29 09:13:36', '1', '2024-06-29 09:13:41', X'00'),
+('1553', '9', 'DeepSeek', 'DeepSeek', 'ai_platform', '0', '', '', '', '1', '2024-07-06 12:04:30', '1', '2024-07-06 12:05:20', X'00'),
+('1554', '13', '鏅鸿氨', 'ZhiPu', 'ai_platform', '0', '', '', '', '1', '2024-07-06 18:00:35', '1', '2025-02-24 20:18:41', X'00'),
+('1555', '4', '闀�', '4', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:49:03', '1', '2024-07-07 15:49:03', X'00'),
+('1556', '5', '娈佃惤', '5', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:49:54', '1', '2024-07-07 15:49:54', X'00'),
+('1557', '6', '鏂囩珷', '6', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:05', '1', '2024-07-07 15:50:05', X'00'),
+('1558', '7', '鍗氬鏂囩珷', '7', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:23', '1', '2024-07-07 15:50:23', X'00'),
+('1559', '8', '鎯虫硶', '8', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:31', '1', '2024-07-07 15:50:31', X'00'),
+('1560', '9', '澶х翰', '9', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:37', '1', '2024-07-07 15:50:37', X'00'),
+('1561', '1', '鑷姩', '1', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:06', '1', '2024-07-07 15:51:06', X'00'),
+('1562', '2', '鍙嬪杽', '2', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:19', '1', '2024-07-07 15:51:19', X'00'),
+('1563', '3', '闅忔剰', '3', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:27', '1', '2024-07-07 15:51:27', X'00'),
+('1564', '4', '鍙嬪ソ', '4', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:37', '1', '2024-07-07 15:51:37', X'00'),
+('1565', '5', '涓撲笟', '5', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:49', '1', '2024-07-07 15:52:02', X'00'),
+('1566', '6', '璇欒皭', '6', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:52:15', '1', '2024-07-07 15:52:15', X'00'),
+('1567', '7', '鏈夎叮', '7', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:52:24', '1', '2024-07-07 15:52:24', X'00'),
+('1568', '8', '姝e紡', '8', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:54:33', '1', '2024-07-07 15:54:33', X'00'),
+('1570', '1', '鑷姩', '1', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:19:34', '1', '2024-07-07 15:19:34', X'00'),
+('1571', '2', '鐢靛瓙閭欢', '2', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:19:50', '1', '2024-07-07 15:49:30', X'00'),
+('1572', '3', '娑堟伅', '3', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:20:01', '1', '2024-07-07 15:49:38', X'00'),
+('1573', '4', '璇勮', '4', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:20:13', '1', '2024-07-07 15:49:45', X'00'),
+('1574', '1', '鑷姩', '1', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:44:18', '1', '2024-07-07 15:44:18', X'00'),
+('1575', '2', '涓枃', '2', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:44:28', '1', '2024-07-07 15:44:28', X'00'),
+('1576', '3', '鑻辨枃', '3', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:44:37', '1', '2024-07-07 15:44:37', X'00'),
+('1577', '4', '闊╄', '4', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:46:28', '1', '2024-07-07 15:46:28', X'00'),
+('1578', '5', '鏃ヨ', '5', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:46:44', '1', '2024-07-07 15:46:44', X'00'),
+('1579', '1', '鑷姩', '1', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:48:34', '1', '2024-07-07 15:48:34', X'00'),
+('1580', '2', '鐭�', '2', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:48:44', '1', '2024-07-07 15:48:44', X'00'),
+('1581', '3', '涓瓑', '3', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:48:52', '1', '2024-07-07 15:48:52', X'00'),
+('1584', '1', '鎾板啓', '1', 'ai_write_type', '0', '', '', '', '1', '2024-07-10 21:26:00', '1', '2024-07-10 21:26:00', X'00'),
+('1585', '2', '鍥炲', '2', 'ai_write_type', '0', '', '', '', '1', '2024-07-10 21:26:06', '1', '2024-07-10 21:26:06', X'00'),
+('1586', '2', '鑵捐浜�', 'TENCENT', 'system_sms_channel_code', '0', '', '', '', '1', '2024-07-22 22:23:16', '1', '2024-07-22 22:23:16', X'00'),
+('1587', '3', '鍗庝负浜�', 'HUAWEI', 'system_sms_channel_code', '0', '', '', '', '1', '2024-07-22 22:23:46', '1', '2024-07-22 22:23:53', X'00'),
+('1588', '1', 'OpenAI 寰蒋', 'AzureOpenAI', 'ai_platform', '0', '', '', '', '1', '2024-08-10 14:07:41', '1', '2024-08-10 14:07:41', X'00'),
+('1589', '10', 'BPMN 璁捐鍣�', '10', 'bpm_model_type', '0', 'primary', '', '', '1', '2024-08-26 15:22:17', '1', '2024-08-26 16:46:02', X'00'),
+('1590', '20', 'SIMPLE 璁捐鍣�', '20', 'bpm_model_type', '0', 'success', '', '', '1', '2024-08-26 15:22:27', '1', '2024-08-26 16:45:58', X'00'),
+('1591', '4', '涓冪墰浜�', 'QINIU', 'system_sms_channel_code', '0', '', '', '', '1', '2024-08-31 08:45:03', '1', '2024-08-31 08:45:24', X'00'),
+('1592', '3', '鏂颁汉鍒�', '3', 'promotion_coupon_take_type', '0', 'info', '', '鏂颁汉娉ㄥ唽鍚庯紝鑷姩鍙戞斁', '1', '2024-09-03 11:57:16', '1', '2024-09-03 11:57:28', X'00'),
+('1593', '5', '寰俊闆堕挶', '5', 'brokerage_withdraw_type', '0', '', '', 'API 鎵撴', '1', '2024-10-13 11:06:48', '1', '2025-05-10 08:24:55', X'00'),
+('1683', '10', '瀛楄妭璞嗗寘', 'DouBao', 'ai_platform', '0', '', '', '', '1', '2025-02-23 19:51:40', '1', '2025-02-23 19:52:02', X'00'),
+('1684', '11', '鑵捐娣峰厓', 'HunYuan', 'ai_platform', '0', '', '', '', '1', '2025-02-23 20:58:04', '1', '2025-02-23 20:58:04', X'00'),
+('1685', '12', '纭呭熀娴佸姩', 'SiliconFlow', 'ai_platform', '0', '', '', '', '1', '2025-02-24 20:19:09', '1', '2025-02-24 20:19:09', X'00'),
+('1686', '1', '鑱婂ぉ', '1', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:26:34', '1', '2025-03-03 12:26:34', X'00'),
+('1687', '2', '鍥惧儚', '2', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:27:23', '1', '2025-03-03 12:27:23', X'00'),
+('1688', '3', '闊抽', '3', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:27:51', '1', '2025-03-03 12:27:51', X'00'),
+('1689', '4', '瑙嗛', '4', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:28:03', '1', '2025-03-03 12:28:03', X'00'),
+('1690', '5', '鍚戦噺', '5', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:28:15', '1', '2025-03-03 12:28:15', X'00'),
+('1691', '6', '閲嶆帓', '6', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:28:26', '1', '2025-03-03 12:28:26', X'00'),
+('1692', '14', 'MiniMax', 'MiniMax', 'ai_platform', '0', '', '', '', '1', '2025-03-11 20:04:51', '1', '2025-03-11 20:04:51', X'00'),
+('1693', '15', '鏈堜箣鏆楅潰', 'Moonshot', 'ai_platform', '0', '', '', '', '1', '2025-03-11 20:05:08', '1', '2025-11-24 07:17:39', X'00'),
+('2002', '0', '鐩磋繛璁惧', '0', 'iot_product_device_type', '0', 'default', '', '', '1', '2024-08-10 11:54:58', '1', '2025-03-17 09:28:22', X'00'),
+('2003', '2', '缃戝叧璁惧', '2', 'iot_product_device_type', '0', 'default', '', '', '1', '2024-08-10 11:55:08', '1', '2025-03-17 09:28:28', X'00'),
+('2004', '1', '缃戝叧瀛愯澶�', '1', 'iot_product_device_type', '0', 'default', '', '', '1', '2024-08-10 11:55:20', '1', '2025-03-17 09:28:31', X'00'),
+('2005', '1', '宸插彂甯�', '1', 'iot_product_status', '0', 'success', '', '', '1', '2024-08-10 12:10:33', '1', '2025-03-17 09:28:34', X'00'),
+('2006', '0', '寮�鍙戜腑', '0', 'iot_product_status', '0', 'default', '', '', '1', '2024-08-10 14:19:18', '1', '2025-03-17 09:28:39', X'00'),
+('2009', '0', 'Wi-Fi', '0', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:04:47', '1', '2025-03-17 09:28:47', X'00'),
+('2010', '1', '绉诲姩缃戠粶', '1', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:05:14', '1', '2025-06-12 23:27:19', X'00'),
+('2011', '2', '浠ュお缃�', '2', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:05:35', '1', '2025-03-17 09:28:51', X'00'),
+('2012', '3', '鍏朵粬', '3', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:05:52', '1', '2025-03-17 09:28:54', X'00'),
+('2018', '0', '鏈縺娲�', '0', 'iot_device_state', '0', '', '', '', '1', '2024-09-21 08:13:34', '1', '2025-03-17 09:29:09', X'00'),
+('2019', '1', '鍦ㄧ嚎', '1', 'iot_device_state', '0', '', '', '', '1', '2024-09-21 08:13:48', '1', '2025-03-17 09:29:12', X'00'),
+('2020', '2', '绂荤嚎', '2', 'iot_device_state', '0', '', '', '', '1', '2024-09-21 08:13:59', '1', '2025-03-17 09:29:14', X'00'),
+('2021', '1', '灞炴��', '1', 'iot_thing_model_type', '0', '', '', '', '1', '2024-09-29 20:03:01', '1', '2025-03-17 09:29:24', X'00'),
+('2022', '2', '鏈嶅姟', '2', 'iot_thing_model_type', '0', '', '', '', '1', '2024-09-29 20:03:11', '1', '2025-03-17 09:29:27', X'00'),
+('2023', '3', '浜嬩欢', '3', 'iot_thing_model_type', '0', '', '', '', '1', '2024-09-29 20:03:20', '1', '2025-03-17 09:29:29', X'00'),
+('2030', '1', '鍗囨瘡鍒嗛挓', 'L/min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:24', X'00'),
+('2031', '2', '姣厠姣忓崈鍏�', 'mg/kg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:27', X'00'),
+('2032', '3', '娴婂害', 'NTU', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:31', X'00'),
+('2033', '4', 'PH鍊�', 'pH', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:36', X'00'),
+('2034', '5', '鍦熷¥EC鍊�', 'dS/m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:43', X'00'),
+('2035', '6', '澶槼鎬昏緪灏�', 'W/銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:20', X'00'),
+('2036', '7', '闄嶉洦閲�', 'mm/hour', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:24', X'00'),
+('2037', '8', '涔�', 'var', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:27', X'00'),
+('2038', '9', '鍘樻硦', 'cP', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:33', X'00'),
+('2039', '10', '楗卞拰搴�', 'aw', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:11', X'00'),
+('2040', '11', '涓�', 'pcs', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:19', X'00'),
+('2041', '12', '鍘樻柉', 'cst', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:22', X'00'),
+('2042', '13', '宸�', 'bar', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:24', X'00'),
+('2043', '14', '绾冲厠姣忓崌', 'ppt', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:27', X'00'),
+('2044', '15', '鍗佷嚎鍒嗕箣涓�', 'ppb', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2045', '16', '寰タ姣忓帢绫�', 'uS/cm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:34', X'00'),
+('2046', '17', '鐗涢】姣忓簱浠�', 'N/C', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:38', X'00'),
+('2047', '18', '浼忕壒姣忕背', 'V/m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:43', X'00'),
+('2048', '19', '婊撮��', 'ml/min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:46', X'00'),
+('2049', '20', '姣背姹炴煴', 'mmHg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:48', X'00'),
+('2050', '21', '琛�绯�', 'mmol/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:54', X'00'),
+('2051', '22', '姣背姣忕', 'mm/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:02', X'00'),
+('2052', '23', '杞瘡绫�', 'turn/m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2053', '24', '娆�', 'count', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:09', X'00'),
+('2054', '25', '妗�', 'gear', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:11', X'00'),
+('2055', '26', '姝�', 'stepCount', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:13', X'00'),
+('2056', '27', '鏍囧噯绔嬫柟绫虫瘡灏忔椂', 'Nm3/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:15', X'00'),
+('2057', '28', '鍗冧紡', 'kV', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:20', X'00'),
+('2058', '29', '鍗冧紡瀹�', 'kVA', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:24', X'00'),
+('2060', '30', '鍗冧箯', 'kVar', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2061', '31', '寰摝姣忓钩鏂瑰帢绫�', 'uw/cm2', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2062', '32', '鍙�', '鍙�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2063', '33', '鐩稿婀垮害', '%RH', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2064', '34', '绔嬫柟绫虫瘡绉�', 'm鲁/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2065', '35', '鍏枻姣忕', 'kg/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2066', '36', '杞瘡鍒嗛挓', 'r/min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2067', '37', '鍚ㄦ瘡灏忔椂', 't/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2068', '38', '鍗冨崱姣忓皬鏃�', 'KCL/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2069', '39', '鍗囨瘡绉�', 'L/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2070', '40', '鍏嗗笗', 'MPa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2071', '41', '绔嬫柟绫虫瘡灏忔椂', 'm鲁/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2072', '42', '鍗冧箯鏃�', 'kvarh', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2073', '43', '寰厠姣忓崌', '渭g/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2074', '44', '鍗冨崱璺噷', 'kcal', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2075', '45', '鍚夊瓧鑺�', 'GB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2076', '46', '鍏嗗瓧鑺�', 'MB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2077', '47', '鍗冨瓧鑺�', 'KB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2078', '48', '瀛楄妭', 'B', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2079', '49', '寰厠姣忓钩鏂瑰垎绫虫瘡澶�', '渭g/(d銕÷穌)', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2080', '50', '鏃�', '', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2081', '51', '鐧句竾鍒嗙巼', 'ppm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2082', '52', '鍍忕礌', 'pixel', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2083', '53', '鐓у害', 'Lux', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2084', '54', '閲嶅姏鍔犻�熷害', 'grav', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2085', '55', '鍒嗚礉', 'dB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2086', '56', '鐧惧垎姣�', '%', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2087', '57', '娴佹槑', 'lm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2088', '58', '姣旂壒', 'bit', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2089', '59', '鍏嬫瘡姣崌', 'g/mL', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2090', '60', '鍏嬫瘡鍗�', 'g/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2091', '61', '姣厠姣忓崌', 'mg/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2092', '62', '寰厠姣忕珛鏂圭背', '渭g/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2093', '63', '姣厠姣忕珛鏂圭背', 'mg/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2094', '64', '鍏嬫瘡绔嬫柟绫�', 'g/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2095', '65', '鍗冨厠姣忕珛鏂圭背', 'kg/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2096', '66', '绾虫硶', 'nF', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2097', '67', '鐨硶', 'pF', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2098', '68', '寰硶', '渭F', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2099', '69', '娉曟媺', 'F', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2100', '70', '娆у', '惟', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2101', '71', '寰畨', '渭A', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2102', '72', '姣畨', 'mA', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2103', '73', '鍗冨畨', 'kA', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2104', '74', '瀹夊煿', 'A', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2105', '75', '姣紡', 'mV', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2106', '76', '浼忕壒', 'V', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2107', '77', '姣', 'ms', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2108', '78', '绉�', 's', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2109', '79', '鍒嗛挓', 'min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2110', '80', '灏忔椂', 'h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2111', '81', '鏃�', 'day', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2112', '82', '鍛�', 'week', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2113', '83', '鏈�', 'month', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2114', '84', '骞�', 'year', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2115', '85', '鑺�', 'kn', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2116', '86', '鍗冪背姣忓皬鏃�', 'km/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2117', '87', '绫虫瘡绉�', 'm/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2118', '88', '瑙掔', '鈥�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2119', '89', '鍒�', '鈥�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2120', '90', '搴�', '掳', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2121', '91', '寮у害', 'rad', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2122', '92', '璧吂', 'Hz', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2123', '93', '寰摝', '渭W', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2124', '94', '姣摝', 'mW', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2125', '95', '鍗冪摝鐗�', 'kW', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2126', '96', '鐡︾壒', 'W', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2127', '97', '鍗¤矾閲�', 'cal', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2128', '98', '鍗冪摝鏃�', 'kW路h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2129', '99', '鐡︽椂', 'Wh', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2130', '100', '鐢靛瓙浼�', 'eV', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2131', '101', '鍗冪劍', 'kJ', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2132', '102', '鐒﹁��', 'J', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2133', '103', '鍗庢皬搴�', '鈩�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2134', '104', '寮�灏旀枃', 'K', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2135', '105', '鍚�', 't', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2136', '106', '鎽勬皬搴�', '掳C', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2137', '107', '姣笗', '1e-3Pa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2138', '108', '鐧惧笗', 'hPa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2139', '109', '鍗冨笗', 'kPa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2140', '110', '甯曟柉鍗�', 'Pa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2141', '111', '姣厠', 'mg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2142', '112', '鍏�', 'g', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2143', '113', '鍗冨厠', 'kg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2144', '114', '鐗�', 'N', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2145', '115', '姣崌', 'mL', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2146', '116', '鍗�', 'L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2147', '117', '绔嬫柟姣背', 'mm鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2148', '118', '绔嬫柟鍘樼背', 'cm鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2149', '119', '绔嬫柟鍗冪背', 'km鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2150', '120', '绔嬫柟绫�', 'm鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2151', '121', '鍏》', 'h銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2152', '122', '骞虫柟鍘樼背', 'c銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2153', '123', '骞虫柟姣背', 'm銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2154', '124', '骞虫柟鍗冪背', 'k銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2155', '125', '骞虫柟绫�', '銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2156', '126', '绾崇背', 'nm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2157', '127', '寰背', '渭m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2158', '128', '姣背', 'mm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2159', '129', '鍘樼背', 'cm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2160', '130', '鍒嗙背', 'dm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2161', '131', '鍗冪背', 'km', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2162', '132', '绫�', 'm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2165', '1', 'HTTP', '1', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:39:54', '1', '2025-06-24 12:44:47', X'00'),
+('2166', '2', 'TCP', '2', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:40:06', '1', '2025-06-24 12:44:46', X'00'),
+('2167', '3', 'WebSocket', '3', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:40:24', '1', '2025-06-24 12:44:45', X'00'),
+('2168', '10', 'MQTT', '10', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:40:37', '1', '2025-06-24 12:44:44', X'00'),
+('2169', '20', 'Database', '20', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:05', '1', '2025-06-24 12:44:44', X'00'),
+('2170', '21', 'Redis Stream', '21', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:18', '1', '2025-06-24 12:44:43', X'00'),
+('2171', '30', 'RocketMQ', '30', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:30', '1', '2025-06-24 12:44:42', X'00'),
+('2172', '31', 'RabbitMQ', '31', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:47', '1', '2025-06-24 12:44:41', X'00'),
+('2173', '32', 'Kafka', '32', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:59', '1', '2025-06-24 12:44:39', X'00'),
+('2174', '1', '璁惧涓婁笅绾垮彉鏇�', '1', 'iot_rule_scene_trigger_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:00:01', '"1"', '2025-07-06 10:28:16', X'00'),
+('2175', '2', '鐗╂ā鍨嬪睘鎬т笂鎶�', '2', 'iot_rule_scene_trigger_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:00:09', '"1"', '2025-07-06 10:28:22', X'00'),
+('2176', '1', '璁惧鐘舵��', 'state', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:24:58', '1', '2025-03-20 15:24:58', X'00'),
+('2177', '2', '璁惧灞炴��', 'property', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:09', '1', '2025-03-20 15:25:09', X'00'),
+('2178', '3', '璁惧浜嬩欢', 'event', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:23', '1', '2025-03-20 15:25:23', X'00'),
+('2179', '4', '璁惧鏈嶅姟', 'service', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:39', '1', '2025-03-20 15:25:39', X'00'),
+('2180', '5', '璁惧閰嶇疆', 'config', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:51', '1', '2025-03-20 15:25:57', X'00'),
+('2181', '6', '璁惧 OTA', 'ota', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:26:17', '1', '2025-03-20 15:26:17', X'00'),
+('2182', '7', '璁惧娉ㄥ唽', 'register', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:26:35', '1', '2025-03-20 15:26:35', X'00'),
+('2183', '8', '璁惧鎷撴墤', 'topology', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:26:46', '1', '2025-03-20 15:26:46', X'00'),
+('2184', '1', '璁惧灞炴�ц缃�', '1', 'iot_rule_scene_action_type_enum', '0', 'primary', '', '', '1', '2025-03-28 15:27:12', '"1"', '2025-07-06 10:37:33', X'00'),
+('2185', '2', '璁惧鏈嶅姟璋冪敤', '2', 'iot_rule_scene_action_type_enum', '0', 'primary', '', '', '1', '2025-03-28 15:27:25', '"1"', '2025-07-06 10:37:41', X'00'),
+('2186', '100', '鍛婅瑙﹀彂', '100', 'iot_rule_scene_action_type_enum', '0', 'primary', '', '', '1', '2025-03-28 15:27:35', '"1"', '2025-07-06 10:37:50', X'00'),
+('3000', '16', '鐧惧窛鏅鸿兘', 'BaiChuan', 'ai_platform', '0', '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', X'00'),
+('3001', '40', 'Vben5.0 Ant Design Schema 妯$増', '40', 'infra_codegen_front_type', '0', '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-09-04 23:25:12', X'00'),
+('3002', '6', '鏀粯瀹濅綑棰�', '6', 'brokerage_withdraw_type', '0', '', '', 'API 鎵撴', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', X'00'),
+('3004', '3', 'WARN', '3', 'iot_alert_level', '0', 'warning', '', '', '1', '2025-06-27 20:32:22', '1', '2025-06-27 20:34:31', X'00'),
+('3005', '1', 'INFO', '1', 'iot_alert_level', '0', 'primary', '', '', '1', '2025-06-27 20:33:28', '1', '2025-06-27 20:34:35', X'00'),
+('3006', '5', 'ERROR', '5', 'iot_alert_level', '0', 'danger', '', '', '1', '2025-06-27 20:33:50', '1', '2025-06-27 20:33:50', X'00'),
+('3007', '1', '鐭俊', '1', 'iot_alert_receive_type', '0', '', '', '', '1', '2025-06-27 22:49:30', '1', '2025-06-27 22:49:30', X'00'),
+('3008', '2', '閭', '2', 'iot_alert_receive_type', '0', '', '', '', '1', '2025-06-27 22:49:39', '1', '2025-06-27 22:50:07', X'00'),
+('3009', '3', '绔欏唴淇�', '3', 'iot_alert_receive_type', '0', '', '', '', '1', '2025-06-27 22:50:20', '1', '2025-06-27 22:50:20', X'00'),
+('3010', '1', '鍏ㄩ儴璁惧', '1', 'iot_ota_task_device_scope', '0', '', '', '', '1', '2025-07-02 09:43:09', '1', '2025-07-02 09:43:09', X'00'),
+('3011', '2', '鎸囧畾璁惧', '2', 'iot_ota_task_device_scope', '0', '', '', '', '1', '2025-07-02 09:43:15', '1', '2025-07-02 09:43:15', X'00'),
+('3012', '10', '杩涜涓�', '10', 'iot_ota_task_status', '0', 'primary', '', '', '1', '2025-07-02 09:44:01', '"1"', '2025-07-02 09:44:21', X'00'),
+('3013', '20', '宸茬粨鏉�', '20', 'iot_ota_task_status', '0', 'success', '', '', '1', '2025-07-02 09:44:14', '"1"', '2025-07-02 23:56:12', X'00'),
+('3014', '30', '宸插彇娑�', '30', 'iot_ota_task_status', '0', 'danger', '', '', '1', '2025-07-02 09:44:36', '1', '2025-07-02 09:44:36', X'00'),
+('3015', '0', '寰呮帹閫�', '0', 'iot_ota_task_record_status', '0', '', '', '', '1', '2025-07-02 09:45:16', '1', '2025-07-02 09:45:16', X'00'),
+('3016', '10', '宸叉帹閫�', '10', 'iot_ota_task_record_status', '0', '', '', '', '1', '2025-07-02 09:45:25', '1', '2025-07-02 09:45:25', X'00'),
+('3017', '20', '鍗囩骇涓�', '20', 'iot_ota_task_record_status', '0', 'primary', '', '', '1', '2025-07-02 09:45:37', '1', '2025-07-02 09:45:37', X'00'),
+('3018', '30', '鍗囩骇鎴愬姛', '30', 'iot_ota_task_record_status', '0', 'success', '', '', '1', '2025-07-02 09:45:47', '1', '2025-07-02 09:45:47', X'00'),
+('3019', '40', '鍗囩骇澶辫触', '40', 'iot_ota_task_record_status', '0', 'danger', '', '', '1', '2025-07-02 09:46:02', '1', '2025-07-02 09:46:02', X'00'),
+('3020', '50', '鍗囩骇鍙栨秷', '50', 'iot_ota_task_record_status', '0', 'warning', '', '', '1', '2025-07-02 09:46:09', '"1"', '2025-07-02 09:46:27', X'00'),
+('3024', '3', '璁惧浜嬩欢涓婃姤', '3', 'iot_rule_scene_trigger_type_enum', '0', '', '', '', '1', '2025-07-06 10:28:29', '1', '2025-07-06 10:28:29', X'00'),
+('3025', '4', '璁惧鏈嶅姟璋冪敤', '4', 'iot_rule_scene_trigger_type_enum', '0', '', '', '', '1', '2025-07-06 10:28:35', '1', '2025-07-06 10:28:35', X'00'),
+('3026', '100', '瀹氭椂瑙﹀彂', '100', 'iot_rule_scene_trigger_type_enum', '0', '', '', '', '1', '2025-07-06 10:28:48', '1', '2025-07-06 10:28:48', X'00'),
+('3027', '101', '鍛婅鎭㈠', '101', 'iot_rule_scene_action_type_enum', '0', '', '', '', '1', '2025-07-06 10:37:57', '1', '2025-07-06 10:37:57', X'00'),
+('3028', '2', 'Anthropic', 'Anthropic', 'ai_platform', '0', '', '', '', '1', '2025-08-21 22:54:24', '1', '2025-08-21 22:57:58', X'00'),
+('3029', '2', '璋锋瓕 Gemini', 'Gemini', 'ai_platform', '0', '', '', '', '1', '2025-08-22 22:39:35', '1', '2025-08-22 22:44:49', X'00'),
+('3030', '1', '鏂囦欢绯荤粺', 'filesystem', 'ai_mcp_client_name', '0', '', '', '', '1', '2025-08-28 13:58:43', '1', '2025-08-28 21:19:42', X'00'),
+('3031', '41', 'Vben5.0 Ant Design 鏍囧噯妯$増', '41', 'infra_codegen_front_type', '0', '', '', '', '1', '2025-09-04 23:26:07', '1', '2025-09-04 23:26:07', X'00'),
+('3032', '50', 'Vben5.0 Element Plus Schema 妯$増', '50', 'infra_codegen_front_type', '0', '', '', '', '1', '2025-09-04 23:26:38', '1', '2025-09-04 23:26:38', X'00'),
+('3033', '51', 'Vben5.0 Element Plus 鏍囧噯妯$増', '51', 'infra_codegen_front_type', '0', '', '', '', '1', '2025-09-04 23:26:49', '1', '2025-09-04 23:26:49', X'00'),
+('3034', '1', 'ttt', 'tt', 'iot_ota_task_record_status', '0', 'success', '', NULL, '1', '2025-09-06 00:02:21', '1', '2025-09-06 00:02:31', X'00'),
+('3035', '40', '鏀粯瀹濆皬绋嬪簭', '40', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', X'00'),
+('3036', '60', 'Admin Uniapp 绉诲姩绔�', '60', 'infra_codegen_front_type', '0', '', '', NULL, '1', '2025-12-16 19:25:51', '1', '2025-12-17 09:46:15', X'00'),
+('3037', '42', 'Vben5.0 Antdv Next Schema 妯$増', '42', 'infra_codegen_front_type', '0', '', '', '', '1', '2026-05-23 13:52:25', '1', '2026-05-23 13:52:25', X'00'),
+('3038', '43', 'Vben5.0 Antdv Next 鏍囧噯妯$増', '43', 'infra_codegen_front_type', '0', '', '', '', '1', '2026-05-23 13:52:25', '1', '2026-05-23 13:52:25', X'00'),
+('3040', '1', 'UDP', 'udp', 'iot_protocol_type', '0', '', '', 'UDP 鍗忚', '1', '2026-02-04 00:32:47', '1', '2026-02-04 00:32:47', X'00'),
+('3041', '2', 'WebSocket', 'websocket', 'iot_protocol_type', '0', '', '', 'WebSocket 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3042', '3', 'HTTP', 'http', 'iot_protocol_type', '0', '', '', 'HTTP 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3043', '4', 'MQTT', 'mqtt', 'iot_protocol_type', '0', 'success', '', 'MQTT 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3044', '5', 'EMQX', 'emqx', 'iot_protocol_type', '0', 'success', '', 'EMQX 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3045', '6', 'CoAP', 'coap', 'iot_protocol_type', '0', '', '', 'CoAP 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3046', '7', 'Modbus TCP Server', 'modbus_tcp_server', 'iot_protocol_type', '0', '', '', 'Modbus TCP Server 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-12 15:16:45', X'00'),
+('3047', '0', 'JSON', 'json', 'iot_serialize_type', '0', 'success', '', 'JSON 鏍煎紡', '1', '2026-02-04 00:33:19', '1', '2026-02-04 00:33:19', X'00'),
+('3048', '1', '浜岃繘鍒�', 'binary', 'iot_serialize_type', '0', 'warning', '', '浜岃繘鍒舵牸寮�', '1', '2026-02-04 00:33:19', '1', '2026-02-04 00:33:19', X'00'),
+('3049', '8', 'Modbus TCP Client', 'modbus_tcp_client', 'iot_protocol_type', '0', '', '', 'Modbus TCP Client 鍗忚', '1', '2026-02-08 18:29:46', '1', '2026-02-12 15:16:32', X'00'),
+('3050', '2', '杈圭紭閲囬泦', '2', 'iot_modbus_mode', '0', 'success', '', '璁惧涓诲姩涓婃姤鏁版嵁锛屾棤闇�杞', '1', '2025-06-12 22:56:06', '1', '2026-02-09 13:03:23', X'00'),
+('3051', '1', 'Modbus TCP', '1', 'iot_modbus_frame_format', '0', 'default', '', 'MBAP 澶撮儴鏍煎紡', '1', '2025-06-12 22:56:06', '1', '2025-06-12 22:56:06', X'00'),
+('3052', '2', 'Modbus RTU', '2', 'iot_modbus_frame_format', '0', 'warning', '', 'CRC16 鏍¢獙鏍煎紡', '1', '2025-06-12 22:56:06', '1', '2025-06-12 22:56:06', X'00'),
+('3053', '1', '浜戠杞', '1', 'iot_modbus_mode', '0', 'primary', '', '缃戝叧涓诲姩杞璇诲彇璁惧瀵勫瓨鍣�', '1', '2025-06-12 22:56:06', '1', '2025-06-12 22:56:06', X'00'),
+('3054', '1', '浼佷笟瀹㈡埛', '1', 'mes_client_type', '0', 'primary', '', '', '1', '2026-02-15 14:38:25', '1', '2026-02-15 14:38:25', X'00'),
+('3055', '2', '涓汉', '2', 'mes_client_type', '0', 'success', '', '', '1', '2026-02-15 14:38:25', '1', '2026-02-15 14:38:25', X'00'),
+('3056', '1', '浼樿川渚涘簲鍟�', 'A', 'mes_vendor_level', '0', 'success', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3057', '2', '姝e父', 'B', 'mes_vendor_level', '0', 'primary', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3058', '3', '閲嶇偣鍏虫敞', 'C', 'mes_vendor_level', '0', 'warning', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3059', '4', '鍔h川渚涘簲鍟�', 'D', 'mes_vendor_level', '0', 'danger', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3060', '5', '榛戝悕鍗�', 'E', 'mes_vendor_level', '0', 'info', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3061', '1', '鍋囨湡', '2', 'mes_cal_holiday_type', '0', 'success', '', '', '1', '2026-02-16 07:35:58', '1', '2026-02-16 11:20:42', X'00'),
+('3062', '2', '宸ヤ綔鏃�', '1', 'mes_cal_holiday_type', '0', 'primary', '', '', '1', '2026-02-16 07:35:58', '1', '2026-02-16 11:20:40', X'00'),
+('3063', '1', '鍦ㄥ簱', '1', 'mes_tm_tool_status', '0', 'success', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3064', '2', '棰嗙敤涓�', '2', 'mes_tm_tool_status', '0', 'primary', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3065', '3', '缁翠慨涓�', '3', 'mes_tm_tool_status', '0', 'warning', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3066', '4', '鎶ュ簾', '4', 'mes_tm_tool_status', '0', 'danger', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3067', '1', '瀹氭湡缁存姢', '1', 'mes_tm_mainten_type', '0', 'primary', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3068', '2', '鎸変娇鐢ㄦ鏁扮淮鎶�', '2', 'mes_tm_mainten_type', '0', 'success', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3069', '1', '鍋滄満', '1', 'mes_dv_machinery_status', '0', 'success', '', '', '1', '2026-02-17 01:00:06', '1', '2026-02-17 03:28:27', X'00'),
+('3070', '2', '鐢熶骇涓�', '2', 'mes_dv_machinery_status', '0', 'info', '', '', '1', '2026-02-17 01:00:06', '1', '2026-02-17 03:28:33', X'00'),
+('3071', '3', '缁存姢涓�', '3', 'mes_dv_machinery_status', '0', 'danger', '', '', '1', '2026-02-17 01:00:06', '1', '2026-02-17 03:28:41', X'00'),
+('3072', '1', '灏哄', '1', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3073', '2', '澶栬', '2', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3074', '3', '閲嶉噺', '3', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3075', '4', '鎬ц兘', '4', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3076', '5', '鎴愬垎', '5', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3077', '1', '鑷村懡缂洪櫡', '1', 'mes_defect_level', '0', 'danger', '', '', '1', '2026-02-17 02:18:18', '1', '2026-02-21 12:21:12', X'00'),
+('3078', '2', '涓ラ噸缂洪櫡', '2', 'mes_defect_level', '0', 'warning', '', '', '1', '2026-02-17 02:18:18', '1', '2026-02-21 12:21:15', X'00'),
+('3079', '3', '杞诲井缂洪櫡', '3', 'mes_defect_level', '0', 'info', '', '', '1', '2026-02-17 02:18:18', '1', '2026-02-21 12:21:19', X'00'),
+('3080', '1', '鍗曠櫧鐝�', '1', 'mes_cal_shift_type', '0', 'primary', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3081', '2', '涓ょ彮鍊�', '2', 'mes_cal_shift_type', '0', 'success', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3082', '3', '涓夌彮鍊�', '3', 'mes_cal_shift_type', '0', 'warning', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3083', '1', '鎸夊搴�', '1', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3084', '2', '鎸夋湀', '2', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3085', '3', '鎸夊懆', '3', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3086', '4', '鎸夊ぉ', '4', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3089', '0', '鑽夌', '0', 'mes_cal_plan_status', '0', 'info', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3090', '1', '宸茬‘璁�', '1', 'mes_cal_plan_status', '0', 'success', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3100', '0', '鑽夌', '0', 'mes_pro_work_order_status', '0', 'info', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3101', '1', '宸茬‘璁�', '1', 'mes_pro_work_order_status', '0', 'primary', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3102', '2', '宸插畬鎴�', '2', 'mes_pro_work_order_status', '0', 'success', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3103', '3', '宸插彇娑�', '3', 'mes_pro_work_order_status', '0', 'warning', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3104', '1', '瀹㈡埛璁㈠崟', '1', 'mes_pro_work_order_source_type', '0', 'primary', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3105', '2', '搴撳瓨澶囪揣', '2', 'mes_pro_work_order_source_type', '0', 'success', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3106', '1', '鑷鐢熶骇', '1', 'mes_pro_work_order_type', '0', 'primary', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3107', '2', '浠e伐', '2', 'mes_pro_work_order_type', '0', 'warning', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3108', '3', '閲囪喘', '3', 'mes_pro_work_order_type', '0', 'info', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3121', '1', 'IQC锛堟潵鏂欐楠岋級', '1', 'mes_qc_type', '0', 'primary', '', '鏉ユ枡璐ㄩ噺妫�楠�', '1', '2026-02-18 14:12:05', '1', '2026-02-18 14:12:05', X'00'),
+('3122', '2', 'IPQC锛堣繃绋嬫楠岋級', '2', 'mes_qc_type', '0', 'warning', '', '鐢熶骇鍒剁▼璐ㄩ噺妫�楠�', '1', '2026-02-18 14:12:05', '1', '2026-03-24 15:21:34', X'00'),
+('3123', '3', 'OQC锛堝嚭璐ф楠岋級', '3', 'mes_qc_type', '0', 'success', '', '鍑鸿揣璐ㄩ噺妫�楠�', '1', '2026-02-18 14:12:05', '1', '2026-02-18 14:12:05', X'00'),
+('3124', '4', 'RQC锛堥��璐ф楠岋級', '4', 'mes_qc_type', '0', 'danger', '', '閫�璐ц川閲忔楠�', '1', '2026-02-18 14:12:05', '1', '2026-09-19 00:00:00', X'00'),
+('3125', '0', '寮�濮�-寮�濮�(SS)', '0', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭寮�濮嬪悗锛屽悗搴忓彲浠ュ紑濮�', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3126', '1', '缁撴潫-缁撴潫(FF)', '1', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭缁撴潫鍚庯紝鍚庡簭鎵嶈兘缁撴潫', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3127', '2', '寮�濮�-缁撴潫(SF)', '2', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭寮�濮嬪悗锛屽悗搴忔墠鑳界粨鏉�', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3128', '3', '缁撴潫-寮�濮�(FS)', '3', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭缁撴潫鍚庯紝鍚庡簭鎵嶈兘寮�濮�', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3129', '1', '鍒嗛挓', 'MINUTE', 'mes_time_unit_type', '0', 'default', '', '', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3130', '2', '灏忔椂', 'HOUR', 'mes_time_unit_type', '0', 'default', '', '', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3131', '3', '澶�', 'DAY', 'mes_time_unit_type', '0', 'default', '', '', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3137', '1', '璁惧鐐规', '1', 'mes_dv_subject_type', '0', 'info', '', '', '1', '2026-02-20 01:42:58', '1', '2026-02-20 01:42:58', X'00'),
+('3138', '2', '璁惧淇濆吇', '2', 'mes_dv_subject_type', '0', 'success', '', '', '1', '2026-02-20 01:42:58', '1', '2026-02-20 01:42:58', X'00'),
+('3139', '1', '寰呬繚鍏�', '0', 'mes_mainten_record_status', '0', 'info', '', NULL, 'admin', '2026-02-20 02:59:55', '1', '2026-04-16 05:32:37', X'00'),
+('3140', '2', '宸插畬鎴�', '4', 'mes_mainten_record_status', '0', 'success', '', NULL, 'admin', '2026-02-20 02:59:55', '1', '2026-04-16 05:32:37', X'00'),
+('3141', '1', '姝e父', '1', 'mes_mainten_status', '0', 'success', '', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00'),
+('3142', '2', '寮傚父', '0', 'mes_mainten_status', '0', 'danger', '', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00'),
+('3143', '1', '澶�', '1', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3144', '2', '鍛�', '2', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3145', '3', '鏈�', '3', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3146', '4', '骞�', '4', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3147', '0', '鑽夌', '0', 'mes_dv_check_plan_status', '0', 'info', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3148', '1', '宸插惎鐢�', '1', 'mes_dv_check_plan_status', '0', 'success', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3149', '1', '寰呯偣妫�', '10', 'mes_dv_check_record_status', '0', 'info', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3150', '2', '宸插畬鎴�', '20', 'mes_dv_check_record_status', '0', 'success', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3151', '1', '姝e父', '1', 'mes_dv_check_result', '0', 'success', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3152', '2', '寮傚父', '2', 'mes_dv_check_result', '0', 'danger', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3157', '1', '淇鎴愬姛', '1', 'mes_dv_repair_result', '0', 'success', '', '', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00'),
+('3158', '2', '鎶ュ簾', '2', 'mes_dv_repair_result', '0', 'danger', '', '', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00'),
+('3161', '1', '鏍¢獙閫氳繃', '1', 'mes_qc_check_result', '0', 'success', '', '', '1', '2026-02-20 11:23:35', '1', '2026-02-20 16:15:54', X'00'),
+('3162', '2', '鏍¢獙涓嶉�氳繃', '2', 'mes_qc_check_result', '0', 'danger', '', '', '1', '2026-02-20 11:23:35', '1', '2026-02-20 16:15:52', X'00'),
+('3166', '0', '鏈缃�', '0', 'mes_pro_andon_status', '0', 'danger', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3167', '1', '宸插缃�', '1', 'mes_pro_andon_status', '0', 'success', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3168', '1', '涓�绾�', '1', 'mes_pro_andon_level', '0', 'danger', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3169', '2', '浜岀骇', '2', 'mes_pro_andon_level', '0', 'warning', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3170', '3', '涓夌骇', '3', 'mes_pro_andon_level', '0', 'info', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3171', '0', '鑽夌', '0', 'mes_pro_feedback_status', '0', 'info', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3172', '2', '瀹℃壒涓�', '2', 'mes_pro_feedback_status', '0', 'primary', '', '', '1', '2026-02-21 00:50:32', '1', '2026-03-19 00:51:54', X'00'),
+('3173', '3', '寰呮楠�', '3', 'mes_pro_feedback_status', '0', 'warning', '', '', '1', '2026-02-21 00:50:32', '1', '2026-03-19 00:51:54', X'00'),
+('3174', '4', '宸插畬鎴�', '4', 'mes_pro_feedback_status', '0', 'success', '', '', '1', '2026-02-21 00:50:32', '1', '2026-03-19 00:51:54', X'00'),
+('3176', '1', '鑷鎶ュ伐', '1', 'mes_pro_feedback_type', '0', 'primary', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3177', '2', '缁熶竴鎶ュ伐', '2', 'mes_pro_feedback_type', '0', 'success', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3178', '1', 'PC', 'PC', 'mes_pro_feedback_channel', '0', 'primary', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3179', '2', 'APP', 'APP', 'mes_pro_feedback_channel', '0', 'success', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3180', '3', 'PDA', 'PDA', 'mes_pro_feedback_channel', '0', 'info', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3181', '1', '娴偣', '1', 'mes_qc_result_type', '0', 'primary', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3182', '2', '鏁存暟', '2', 'mes_qc_result_type', '0', 'success', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3183', '3', '鏂囨湰', '3', 'mes_qc_result_type', '0', 'info', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3184', '4', '瀛楀吀', '4', 'mes_qc_result_type', '0', 'warning', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3185', '5', '鏂囦欢', '5', 'mes_qc_result_type', '0', 'danger', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3186', '1', '鐢熶骇閫�鏂�', '1', 'mes_rqc_type', '0', 'default', '', '鐢熶骇閫�鏂欐楠�', '1', '2026-02-22 06:44:09', '1', '2026-02-22 06:44:09', X'00'),
+('3187', '2', '閿�鍞��璐�', '2', 'mes_rqc_type', '0', 'default', '', '閿�鍞��璐ф楠�', '1', '2026-02-22 06:44:09', '1', '2026-02-22 06:44:09', X'00'),
+('3188', '1', '鑷埗宸ュ簭妫�楠�', '1', 'mes_ipqc_type', '0', 'primary', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3189', '2', '棣栨', '2', 'mes_ipqc_type', '0', 'success', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3190', '3', '宸℃', '3', 'mes_ipqc_type', '0', 'warning', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3191', '4', '鑷', '4', 'mes_ipqc_type', '0', 'info', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3192', '5', '鎴愬搧妫�楠�', '5', 'mes_ipqc_type', '0', 'danger', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3205', '0', '鑽夌', '0', 'mes_wm_arrival_notice_status', '0', 'info', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-22 14:53:18', X'00'),
+('3206', '2', '寰呰川妫�', '2', 'mes_wm_arrival_notice_status', '0', 'warning', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-26 05:24:40', X'00'),
+('3207', '3', '寰呭叆搴�', '3', 'mes_wm_arrival_notice_status', '0', 'success', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-26 05:24:47', X'00'),
+('3208', '4', '宸插畬鎴�', '4', 'mes_wm_arrival_notice_status', '0', 'primary', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-26 05:24:52', X'00'),
+('3209', '0', '鑽夌', '0', 'mes_wm_item_receipt_status', '0', 'info', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-22 14:54:05', X'00'),
+('3210', '1', '寰呬笂鏋�', '2', 'mes_wm_item_receipt_status', '0', 'warning', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:35', X'00'),
+('3211', '2', '寰呮墽琛屽叆搴�', '3', 'mes_wm_item_receipt_status', '0', 'success', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:31', X'00'),
+('3212', '3', '宸插畬鎴�', '4', 'mes_wm_item_receipt_status', '0', 'primary', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:20', X'00'),
+('3213', '4', '宸插彇娑�', '5', 'mes_wm_item_receipt_status', '0', 'danger', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:24', X'00'),
+('3214', '1', '鑽夌', '0', 'mes_order_status', '0', 'info', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3215', '2', '宸茬‘璁�', '1', 'mes_order_status', '0', 'primary', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3216', '3', '瀹℃壒涓�', '2', 'mes_order_status', '0', 'warning', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3217', '4', '宸插鎵�', '3', 'mes_order_status', '0', 'success', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3218', '5', '宸插畬鎴�', '4', 'mes_order_status', '0', 'success', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3219', '6', '宸插彇娑�', '5', 'mes_order_status', '0', 'danger', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3220', '1', '鑽夌', '0', 'mes_wm_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鏈畬鎴�', '1', '2026-02-26 15:54:25', '1', '2026-02-26 15:54:25', X'00'),
+('3221', '2', '宸插畬鎴�', '4', 'mes_wm_issue_status', '0', 'success', '', '宸插畬鎴愬嚭搴�', '1', '2026-02-26 15:54:25', '1', '2026-02-26 15:54:25', X'00'),
+('3222', '1', '鑽夌', '0', 'mes_wm_product_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3223', '2', '寰呮嫞璐�', '2', 'mes_wm_product_issue_status', '0', 'warning', '', '瀹℃壒涓紝鍙墽琛屾嫞璐�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3224', '3', '寰呮墽琛岄鍑�', '3', 'mes_wm_product_issue_status', '0', 'primary', '', '宸插鎵癸紝鎷h揣瀹屾垚', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3225', '4', '宸插畬鎴�', '4', 'mes_wm_product_issue_status', '0', 'success', '', '宸插畬鎴愬嚭搴�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3226', '5', '宸插彇娑�', '5', 'mes_wm_product_issue_status', '0', 'success', '', '宸插畬鎴愬嚭搴�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3232', '1', '鑽夌', '0', 'mes_wm_return_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:24', X'00'),
+('3233', '2', '寰呮楠�', '1', 'mes_wm_return_issue_status', '0', 'default', '', '宸茬‘璁わ紝绛夊緟璐ㄦ', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:28', X'00'),
+('3234', '3', '寰呬笂鏋�', '2', 'mes_wm_return_issue_status', '0', 'warning', '', '妫�楠屽畬鎴愶紝绛夊緟浠撳簱涓婃灦', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:31', X'00'),
+('3235', '4', '寰呮墽琛岄��鏂�', '3', 'mes_wm_return_issue_status', '0', 'primary', '', '涓婃灦瀹屾垚锛岀瓑寰呮墽琛岄��鏂欐搷浣�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:34', X'00'),
+('3236', '5', '宸插畬鎴�', '4', 'mes_wm_return_issue_status', '0', 'success', '', '閫�鏂欐墽琛屽畬鎴愶紝搴撳瓨宸叉洿鏂�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:37', X'00'),
+('3237', '6', '宸插彇娑�', '5', 'mes_wm_return_issue_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:40', X'00'),
+('3238', '1', '浣欐枡閫�鏂�', '1', 'mes_wm_return_issue_type', '0', 'success', '', '浣欐枡閫�鍥烇紝鐩存帴鍚堟牸', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:27:47', X'00'),
+('3239', '2', '涓嶈壇閫�鏂�', '2', 'mes_wm_return_issue_type', '0', 'danger', '', '涓嶈壇鍝侀��鍥�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:27:49', X'00'),
+('3240', '3', '鍏朵粬閫�鏂�', '3', 'mes_wm_return_issue_type', '0', 'info', '', '鍏朵粬鍘熷洜閫�鏂�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:27:55', X'00'),
+('3241', '1', '寰呮', '0', 'mes_wm_quality_status', '0', 'warning', '', '寰呮鐘舵��', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00'),
+('3242', '2', '鍚堟牸', '1', 'mes_wm_quality_status', '0', 'success', '', '鍚堟牸鐘舵��', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00'),
+('3243', '3', '涓嶅悎鏍�', '2', 'mes_wm_quality_status', '0', 'danger', '', '涓嶅悎鏍肩姸鎬�', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00'),
+('3244', '1', '鑽夌', '0', 'mes_wm_product_receipt_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3245', '2', '寰呬笂鏋�', '2', 'mes_wm_product_receipt_status', '0', 'primary', '', '寰呬笂鏋�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3246', '3', '寰呮墽琛屽叆搴�', '3', 'mes_wm_product_receipt_status', '0', 'warning', '', '寰呮墽琛屽叆搴�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3247', '4', '宸插畬鎴�', '4', 'mes_wm_product_receipt_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3248', '5', '宸插彇娑�', '5', 'mes_wm_product_receipt_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3252', '1', '鑽夌', '0', 'mes_wm_product_sales_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-02 08:55:11', '1', '2026-03-02 08:55:11', X'00'),
+('3253', '3', '寰呮嫞璐�', '2', 'mes_wm_product_sales_status', '0', 'warning', '', '寰呮嫞璐х姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3254', '4', '寰呭嚭搴�', '3', 'mes_wm_product_sales_status', '0', 'primary', '', '寰呭嚭搴撶姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3255', '5', '宸插畬鎴�', '4', 'mes_wm_product_sales_status', '0', 'success', '', '宸插畬鎴愮姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3256', '6', '宸插彇娑�', '5', 'mes_wm_product_sales_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3272', '1', '鑽夌', '0', 'mes_wm_misc_receipt_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:33:41', X'00'),
+('3273', '2', '寰呮墽琛屽叆搴�', '3', 'mes_wm_misc_receipt_status', '0', 'primary', '', '寰呮墽琛屽叆搴撶姸鎬�', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:37:34', X'00'),
+('3274', '3', '宸插畬鎴�', '4', 'mes_wm_misc_receipt_status', '0', 'success', '', '宸插畬鎴愮姸鎬�', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:33:41', X'00'),
+('3275', '4', '宸插彇娑�', '5', 'mes_wm_misc_receipt_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:33:41', X'00'),
+('3277', '1', '搴撳瓨璋冩暣', '1', 'mes_wm_misc_receipt_type', '0', 'primary', '', '搴撳瓨璋冩暣鍏ュ簱', '1', '2026-03-03 07:34:33', '1', '2026-03-03 07:34:33', X'00'),
+('3278', '1', '搴撳瓨璋冩暣', '1', 'mes_wm_misc_issue_type', '0', 'primary', '', '搴撳瓨璋冩暣鍑哄簱', '1', '2026-03-03 07:34:33', '1', '2026-03-03 07:34:33', X'00'),
+('3279', '2', '鎶ュ簾鍑哄簱', '2', 'mes_wm_misc_issue_type', '0', 'danger', '', '鎶ュ簾鍑哄簱', '1', '2026-03-03 07:36:13', '1', '2026-03-03 07:36:13', X'00'),
+('3280', '1', '鑽夌', '0', 'mes_wm_outsource_receipt_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3281', '2', '寰呮楠�', '1', 'mes_wm_outsource_receipt_status', '0', 'warning', '', '宸茬‘璁わ紝绛夊緟璐ㄦ', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3282', '3', '寰呬笂鏋�', '2', 'mes_wm_outsource_receipt_status', '0', 'primary', '', '妫�楠屽畬鎴愶紝绛夊緟浠撳簱涓婃灦', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3283', '4', '寰呮墽琛屽叆搴�', '3', 'mes_wm_outsource_receipt_status', '0', 'warning', '', '涓婃灦瀹屾垚锛岀瓑寰呮墽琛屽叆搴撴搷浣�', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3284', '5', '宸插畬鎴�', '4', 'mes_wm_outsource_receipt_status', '0', 'success', '', '鍏ュ簱鎵ц瀹屾垚锛屽簱瀛樺凡鏇存柊', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3285', '6', '宸插彇娑�', '5', 'mes_wm_outsource_receipt_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3286', '1', '鑽夌', '0', 'mes_wm_outsource_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈戙�佸垹闄ゃ�佹墽琛屽嚭搴�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3287', '2', '寰呮嫞璐�', '2', 'mes_wm_outsource_issue_status', '0', 'warning', '', '寰呮嫞璐х姸鎬�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3288', '3', '寰呮墽琛屽嚭搴�', '3', 'mes_wm_outsource_issue_status', '0', 'primary', '', '寰呮墽琛屽嚭搴撶姸鎬�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3289', '4', '宸插畬鎴�', '4', 'mes_wm_outsource_issue_status', '0', 'success', '', '宸插畬鎴愶紝搴撳瓨宸叉墸鍑�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3290', '5', '宸插彇娑�', '5', 'mes_wm_outsource_issue_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3301', '1', '杈撳叆瀛楃', '1', 'mes_md_auto_code_part_type', '0', 'default', '', '杈撳叆瀛楃', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3302', '2', '褰撳墠鏃ユ湡', '2', 'mes_md_auto_code_part_type', '0', 'primary', '', '褰撳墠鏃ユ湡鏃堕棿', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3303', '3', '鍥哄畾瀛楃', '3', 'mes_md_auto_code_part_type', '0', 'success', '', '鍥哄畾瀛楃', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3304', '4', '娴佹按鍙�', '4', 'mes_md_auto_code_part_type', '0', 'warning', '', '娴佹按鍙�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3305', '1', '宸﹁ˉ榻�', '1', 'mes_md_auto_code_padded_method', '0', 'primary', '', '宸﹁ˉ榻�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3306', '2', '鍙宠ˉ榻�', '2', 'mes_md_auto_code_padded_method', '0', 'success', '', '鍙宠ˉ榻�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3307', '1', '鎸夊勾', '1', 'mes_md_auto_code_cycle_method', '0', 'default', '', '鎸夊勾寰幆', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3308', '2', '鎸夋湀', '2', 'mes_md_auto_code_cycle_method', '0', 'primary', '', '鎸夋湀寰幆', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3309', '3', '鎸夊ぉ', '3', 'mes_md_auto_code_cycle_method', '0', 'success', '', '鎸夊ぉ寰幆', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3310', '4', '鎸夊皬鏃�', '4', 'mes_md_auto_code_cycle_method', '0', 'warning', '', '鎸夊皬鏃跺惊鐜�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3311', '5', '鎸夊垎閽�', '5', 'mes_md_auto_code_cycle_method', '0', 'danger', '', '鎸夊垎閽熷惊鐜�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3312', '10', '鎸変紶鍏ュ瓧绗�', '10', 'mes_md_auto_code_cycle_method', '0', 'info', '', '鎸変紶鍏ュ瓧绗﹀惊鐜�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3313', '1', '浜岀淮鐮�', '1', 'mes_wm_barcode_format', '0', 'primary', '', 'QR_CODE', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:21', X'00'),
+('3314', '2', 'EAN13 鍟嗗搧鏉$爜', '2', 'mes_wm_barcode_format', '0', 'success', '', 'EAN13', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:23', X'00'),
+('3315', '3', 'CODE39 宸ヤ笟鏉$爜', '3', 'mes_wm_barcode_format', '0', 'info', '', 'CODE39', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:25', X'00'),
+('3316', '4', 'UPC-A 缇庡浗鍟嗗搧鐮�', '4', 'mes_wm_barcode_format', '0', 'warning', '', 'UPC_A', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:28', X'00'),
+('3318', '3', '搴撲綅', '104', 'mes_wm_barcode_biz_type', '0', 'default', '', 'AREA', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3319', '4', '瑁呯鍗�', '105', 'mes_wm_barcode_biz_type', '0', 'default', '', 'PACKAGE', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3320', '5', '搴撳瓨', '106', 'mes_wm_barcode_biz_type', '0', 'default', '', 'STOCK', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3321', '6', '鎵规', '107', 'mes_wm_barcode_biz_type', '0', 'default', '', 'BATCH', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3322', '7', '娴佽浆鍗�', '300', 'mes_wm_barcode_biz_type', '0', 'primary', '', 'PROCARD', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3323', '8', '宸ュ崟', '301', 'mes_wm_barcode_biz_type', '0', 'primary', '', 'WORKORDER', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3324', '9', '娴佽浆鍗�', '302', 'mes_wm_barcode_biz_type', '0', 'primary', '', 'TRANSORDER', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3325', '10', '璁惧', '400', 'mes_wm_barcode_biz_type', '0', 'success', '', 'MACHINERY', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3327', '12', '浜у搧鐗╂枡', '600', 'mes_wm_barcode_biz_type', '0', 'info', '', 'ITEM', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3328', '13', '渚涘簲鍟�', '601', 'mes_wm_barcode_biz_type', '0', 'info', '', 'VENDOR', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3329', '14', '宸ヤ綔绔�', '602', 'mes_wm_barcode_biz_type', '0', 'info', '', 'WORKSTATION', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3330', '15', '杞﹂棿', '603', 'mes_wm_barcode_biz_type', '0', 'info', '', 'WORKSHOP', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3331', '16', '浜哄憳', '604', 'mes_wm_barcode_biz_type', '0', 'info', '', 'USER', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3351', '1', '浠撳簱', '102', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:25:19', X'00'),
+('3352', '2', '搴撳尯', '103', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:25:19', X'00'),
+('3353', '11', '宸ュ叿', '500', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:22:27', X'00'),
+('3354', '17', '瀹㈡埛', '605', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:25:19', X'00'),
+('3355', '1', '鑽夌', '0', 'mes_wm_package_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-03-08 02:05:46', '1', '2026-03-08 02:05:46', X'00'),
+('3356', '2', '宸插畬鎴�', '4', 'mes_wm_package_status', '0', 'success', '', '瑁呯宸插畬鎴�', '1', '2026-03-08 02:05:46', '1', '2026-03-08 02:05:46', X'00'),
+('3357', '1', '鑽夌', '0', 'mes_wm_transfer_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3358', '2', '寰呯‘璁�', '1', 'mes_wm_transfer_status', '0', 'warning', '', '澶栭儴璋冩嫧寰呯‘璁ゅ埌璐�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3359', '3', '寰呬笂鏋�', '2', 'mes_wm_transfer_status', '0', 'primary', '', '寰呯淮鎶ょ洰鏍囧簱浣嶆槑缁�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3360', '4', '寰呮墽琛�', '3', 'mes_wm_transfer_status', '0', 'success', '', '鐩爣搴撲綅宸插垎閰嶏紝寰呮墽琛岃皟鎷�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3361', '5', '宸插畬鎴�', '4', 'mes_wm_transfer_status', '0', 'success', '', '璋冩嫧宸插畬鎴�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3362', '6', '宸插彇娑�', '5', 'mes_wm_transfer_status', '0', 'danger', '', '璋冩嫧宸插彇娑�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3363', '1', '鍐呴儴璋冩嫧', '1', 'mes_wm_transfer_type', '0', 'success', '', '鍐呴儴浠撳偍璋冩嫧', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3364', '2', '澶栭儴璋冩嫧', '2', 'mes_wm_transfer_type', '0', 'warning', '', '澶栭儴閰嶉��/澶栭儴鏀惰揣璋冩嫧', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3365', '1', '闈欐�佺洏鐐�', '1', 'mes_wm_stock_taking_type', '0', 'primary', '', '闈欐�佺洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3366', '2', '鍔ㄦ�佺洏鐐�', '2', 'mes_wm_stock_taking_type', '0', 'success', '', '鍔ㄦ�佺洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3367', '1', '浠撳簱', '102', 'mes_wm_stock_taking_plan_param_type', '0', 'primary', '', '鎸変粨搴撶洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3368', '2', '搴撳尯', '103', 'mes_wm_stock_taking_plan_param_type', '0', 'success', '', '鎸夊簱鍖虹洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3369', '3', '搴撲綅', '104', 'mes_wm_stock_taking_plan_param_type', '0', 'info', '', '鎸夊簱浣嶇洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3370', '4', '鐗╂枡', '600', 'mes_wm_stock_taking_plan_param_type', '0', 'warning', '', '鎸夌墿鏂欑洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3371', '5', '鎵规', '107', 'mes_wm_stock_taking_plan_param_type', '0', 'danger', '', '鎸夋壒娆$洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3372', '1', '鑽夌', '0', 'mes_wm_stock_taking_task_status', '0', 'info', '', '鑽夌', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3373', '2', '瀹℃壒涓�', '2', 'mes_wm_stock_taking_task_status', '0', 'primary', '', '鐩樼偣浠诲姟瀹℃壒涓�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3374', '3', '宸插畬鎴�', '4', 'mes_wm_stock_taking_task_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3375', '4', '宸插彇娑�', '5', 'mes_wm_stock_taking_task_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3377', '1', '姝e父', '1', 'mes_wm_stock_taking_task_line_status', '0', 'success', '', '姝e父', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3378', '2', '鐩樼泩', '2', 'mes_wm_stock_taking_task_line_status', '0', 'primary', '', '鐩樼泩', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3379', '3', '鐩樹簭', '3', 'mes_wm_stock_taking_task_line_status', '0', 'danger', '', '鐩樹簭', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3380', '6', '璐ㄩ噺鐘舵��', '900', 'mes_wm_stock_taking_plan_param_type', '0', 'default', '', '鎸夎川閲忕姸鎬佺洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3381', '1', '鐗╂枡', 'ITEM', 'mes_md_item_or_product', '0', 'info', '', '', '1', '2026-03-15 01:55:06', '1', '2026-03-15 01:55:06', X'00'),
+('3382', '2', '浜у搧', 'PRODUCT', 'mes_md_item_or_product', '0', 'success', '', '', '1', '2026-03-15 01:55:06', '1', '2026-03-15 01:55:06', X'00'),
+('3383', '1', '鑽夌', '0', 'mes_wm_item_consume_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-19 15:06:23', '1', '2026-03-19 15:06:23', X'00'),
+('3384', '2', '宸插畬鎴�', '4', 'mes_wm_item_consume_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-03-19 15:06:23', '1', '2026-03-19 15:06:23', X'00'),
+('3385', '1', '鍒拌揣閫氱煡鍗�', '100', 'mes_qc_source_doc_type', '0', 'primary', '', 'IQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3386', '2', '澶栧崗鍏ュ簱鍗�', '121', 'mes_qc_source_doc_type', '0', 'warning', '', 'IQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3387', '3', '鐢熶骇鎶ュ伐', '304', 'mes_qc_source_doc_type', '0', 'success', '', 'IPQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3388', '4', '閿�鍞嚭搴撳崟', '118', 'mes_qc_source_doc_type', '0', 'info', '', 'OQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3389', '5', '鐢熶骇閫�鏂欏崟', '116', 'mes_qc_source_doc_type', '0', 'danger', '', 'RQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3390', '6', '閿�鍞��璐у崟', '119', 'mes_qc_source_doc_type', '0', 'default', '', 'RQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3397', '2', '寰呮娴�', '1', 'mes_wm_product_sales_status', '0', 'warning', '', 'OQC 妫�楠屼腑', '1', '2026-03-27 11:44:48', '1', '2026-03-27 11:44:48', X'00'),
+('3398', '0', '鑽夌', '0', 'mes_wm_return_vendor_status', '0', 'info', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3399', '1', '寰呮嫞璐�', '2', 'mes_wm_return_vendor_status', '0', 'primary', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3400', '2', '寰呮墽琛岄��璐�', '3', 'mes_wm_return_vendor_status', '0', 'warning', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3401', '3', '宸插畬鎴�', '4', 'mes_wm_return_vendor_status', '0', 'success', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3402', '4', '宸插彇娑�', '5', 'mes_wm_return_vendor_status', '0', 'danger', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3403', '1', '鑽夌', '0', 'mes_wm_sales_notice_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙互淇敼鍜屽垹闄�', '1', '2026-03-30 08:54:30', '1', '2026-04-05 15:53:46', X'00'),
+('3404', '2', '寰呭嚭搴�', '3', 'mes_wm_sales_notice_status', '0', 'success', '', '宸叉彁浜ょ姸鎬侊紝涓嶅彲淇敼鍜屽垹闄�', '1', '2026-03-30 08:54:30', '1', '2026-04-05 15:53:46', X'00'),
+('3405', '3', '宸插畬鎴�', '4', 'mes_wm_sales_notice_status', '0', '', '', NULL, '1', '2026-03-30 10:02:10', '1', '2026-04-05 15:53:46', X'00'),
+('3406', '1', '鑽夌', '0', 'mes_wm_misc_issue_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3407', '2', '寰呭嚭搴�', '3', 'mes_wm_misc_issue_status', '0', 'warning', '', '寰呭嚭搴撶姸鎬�', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3408', '3', '宸插畬鎴�', '4', 'mes_wm_misc_issue_status', '0', 'success', '', '鎵ц鍑哄簱鍚庣殑鐘舵��', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3409', '4', '宸插彇娑�', '5', 'mes_wm_misc_issue_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3415', '1', '娉ㄥ', '1', 'mes_cal_calendar_type', '0', 'primary', '', '', '1', '2026-04-01 15:23:14', '1', '2026-04-01 16:08:31', X'00'),
+('3416', '2', '鎶曟枡宸�', '2', 'mes_cal_calendar_type', '0', 'success', '', '', '1', '2026-04-01 15:23:14', '1', '2026-08-25 16:35:23', X'00'),
+('3417', '3', '缁勮', '3', 'mes_cal_calendar_type', '0', 'warning', '', '', '1', '2026-04-01 15:23:14', '1', '2026-04-01 16:08:33', X'00'),
+('3418', '4', '浠撳簱', '4', 'mes_cal_calendar_type', '0', 'danger', '', '', '1', '2026-04-01 15:23:14', '1', '2026-04-01 16:08:34', X'00'),
+('3419', '0', '鑽夌', '0', 'mes_dv_repair_status', '0', 'info', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3420', '1', '缁翠慨涓�', '1', 'mes_dv_repair_status', '0', 'primary', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3421', '2', '寰呴獙鏀�', '2', 'mes_dv_repair_status', '0', 'warning', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3422', '3', '宸茬‘璁�', '4', 'mes_dv_repair_status', '0', 'success', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3423', '0', '鑽夌', '0', 'mes_wm_return_sales_status', '0', 'info', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3424', '1', '寰呮楠�', '1', 'mes_wm_return_sales_status', '0', 'warning', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3425', '2', '寰呮墽琛�', '2', 'mes_wm_return_sales_status', '0', 'warning', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3426', '3', '寰呬笂鏋�', '3', 'mes_wm_return_sales_status', '0', 'primary', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3427', '4', '宸插畬鎴�', '4', 'mes_wm_return_sales_status', '0', 'success', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3428', '5', '宸插彇娑�', '5', 'mes_wm_return_sales_status', '0', 'danger', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3436', '1', '涓婂伐', '1', 'mes_pro_work_record_type', '0', 'success', '', '', '1', '2026-04-05 14:07:27', '1', '2026-04-05 14:07:27', X'00'),
+('3437', '2', '涓嬪伐', '2', 'mes_pro_work_record_type', '0', 'danger', '', '', '1', '2026-04-05 14:07:27', '1', '2026-04-05 14:07:27', X'00'),
+('3443', '1', '鑽夌', '0', 'mes_wm_product_produce_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00'),
+('3444', '2', '宸插畬鎴�', '4', 'mes_wm_product_produce_status', '0', 'success', '', '宸插畬鎴愮姸鎬�', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00'),
+('3445', '3', '宸插彇娑�', '5', 'mes_wm_product_produce_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00'),
+('3446', '0', '鑽夌', '0', 'mes_pro_task_status', '0', 'default', '', 'PREPARE', '1', '2026-04-16 09:47:00', '1', '2026-06-13 10:32:58', X'00'),
+('3447', '4', '宸插畬鎴�', '4', 'mes_pro_task_status', '0', 'success', '', 'FINISHED', '1', '2026-04-16 09:47:00', '1', '2026-07-22 08:00:26', X'00'),
+('3448', '2', '宸插彇娑�', '5', 'mes_pro_task_status', '0', 'danger', '', 'CANCELED', '1', '2026-04-16 09:47:00', '1', '2026-06-13 10:32:58', X'00'),
+('3525', '1', '姝e父', '0', 'im_message_status', '0', 'success', '', '姝e父锛堝垵濮嬬姸鎬侊級', 'admin', '2026-04-30 15:14:36', 'admin', '2026-06-16 03:41:55', X'00'),
+('3526', '2', '宸叉挙鍥�', '2', 'im_message_status', '0', 'danger', '', '宸叉挙鍥�', 'admin', '2026-04-30 15:14:36', 'admin', '2026-06-16 03:41:55', X'00'),
+('3530', '1', '涓嶉渶瑕佸洖鎵�', '0', 'im_message_receipt_status', '0', 'info', '', 'NO_RECEIPT', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-14 00:32:47', X'00'),
+('3531', '2', '寰呭畬鎴�', '1', 'im_message_receipt_status', '0', 'warning', '', 'PENDING', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-14 00:32:47', X'00'),
+('3532', '3', '宸插畬鎴�', '2', 'im_message_receipt_status', '0', 'success', '', 'DONE', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-14 00:32:47', X'00'),
+('3540', '1', '姝e父', '0', 'im_friend_status', '0', 'success', '', '姝e父濂藉弸鍏崇郴', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3541', '2', '宸插垹闄�', '1', 'im_friend_status', '0', 'danger', '', '宸插垹闄ゅソ鍙嬪叧绯�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3550', '1', '姝e父', '0', 'im_group_status', '0', 'success', '', '缇ゆ甯�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3551', '2', '宸茶В鏁�', '1', 'im_group_status', '0', 'info', '', '缇ゅ凡瑙f暎', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3552', '1', '缇や富', '1', 'im_group_member_role', '0', 'primary', '', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00'),
+('3553', '2', '绠$悊鍛�', '2', 'im_group_member_role', '0', 'warning', '', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00'),
+('3554', '3', '鏅�氭垚鍛�', '3', 'im_group_member_role', '0', 'info', '', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00'),
+('3555', '1', '鎼滅储', '1', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:57', X'00'),
+('3556', '2', '缇よ亰', '2', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:53', X'00'),
+('3557', '3', '鎵爜', '3', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:50', X'00'),
+('3558', '4', '鍚嶇墖', '4', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:48', X'00'),
+('3559', '1', '绛夊緟楠岃瘉', '0', 'im_friend_request_handle_result', '0', 'warning', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00'),
+('3560', '2', '宸叉坊鍔�', '1', 'im_friend_request_handle_result', '0', 'success', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00'),
+('3561', '3', '宸叉嫆缁�', '2', 'im_friend_request_handle_result', '0', 'info', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00'),
+('3562', '101', '鏂囨湰', '101', 'im_content_type', '0', '', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3563', '102', '鍥剧墖', '102', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3564', '103', '璇煶', '103', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3565', '104', '瑙嗛', '104', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3566', '105', '鏂囦欢', '105', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3568', '2101', '鎾ゅ洖', '2101', 'im_content_type', '0', 'danger', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3569', '2200', '鍥炴墽', '2200', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3570', '2201', '宸茶', '2201', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3571', '1501', '缇ゅ垱寤�', '1501', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3572', '1502', '缇や俊鎭彉鏇�', '1502', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3573', '1503', '鏀跺埌鏂扮殑鍏ョ兢鐢宠', '1503', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:47:00', X'00'),
+('3574', '1504', '鎴愬憳閫�缇�', '1504', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3575', '1505', '鍏ョ兢鐢宠琚悓鎰�', '1505', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:47:00', X'00'),
+('3576', '1506', '鍏ョ兢鐢宠琚嫆缁�', '1506', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:47:00', X'00'),
+('3577', '1507', '缇や富杞', '1507', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3578', '1508', '鎴愬憳琚Щ鍑�', '1508', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3579', '1509', '鎴愬憳鍔犲叆', '1509', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3580', '1510', '鑷敱杩涚兢', '1510', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3581', '1511', '缇よВ鏁�', '1511', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3582', '1512', '鎴愬憳绂佽█', '1512', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3583', '1513', '鎴愬憳鍙栨秷绂佽█', '1513', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3584', '1514', '鍏ㄧ兢绂佽█', '1514', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3585', '1515', '鍏ㄧ兢鍙栨秷绂佽█', '1515', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3586', '1516', '鎴愬憳鏄电О鍙樻洿', '1516', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3587', '1517', '娣诲姞绠$悊鍛�', '1517', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3588', '1518', '鎾ら攢绠$悊鍛�', '1518', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3589', '1519', '缇ゅ叕鍛婂彉鏇�', '1519', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3590', '1520', '缇ゅ悕鍙樻洿', '1520', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3591', '1531', '缇ゆ秷鎭疆椤�', '1531', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3592', '1532', '缇ゆ秷鎭彇娑堢疆椤�', '1532', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3593', '1533', '缇ゅ皝绂佸彉鏇�', '1533', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3594', '1204', '鏂板濂藉弸', '1204', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 13:26:53', 'admin', '2026-06-16 03:41:55', X'00'),
+('3595', '1205', '濂藉弸琚垹闄�', '1205', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 13:26:53', 'admin', '2026-06-16 03:41:55', X'00'),
+('3596', '1', '鎼滅储', '1', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3597', '2', '閭�璇�', '2', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3598', '3', '鎵爜', '3', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3599', '4', '鍒嗕韩閾炬帴', '4', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3600', '1', '鏈鐞�', '0', 'im_group_request_handle_result', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3601', '2', '鍚屾剰', '1', 'im_group_request_handle_result', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3602', '3', '鎷掔粷', '2', 'im_group_request_handle_result', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('1061051', '1', '瀹㈡埛', '1', 'merchant_type', '0', 'primary', '', '瀹㈡埛', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00'),
+('1061052', '2', '渚涘簲鍟�', '2', 'merchant_type', '0', 'success', '', '渚涘簲鍟�', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00'),
+('1061053', '3', '瀹㈡埛/渚涘簲鍟�', '3', 'merchant_type', '0', 'warning', '', '瀹㈡埛/渚涘簲鍟�', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00'),
+('1061061', '1', '鍏ュ簱鍗�', '1', 'wms_order_type', '0', 'success', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061062', '2', '鍑哄簱鍗�', '2', 'wms_order_type', '0', 'danger', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061063', '3', '绉诲簱鍗�', '3', 'wms_order_type', '0', 'primary', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061064', '4', '鐩樺簱鍗�', '4', 'wms_order_type', '0', 'warning', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061071', '1', '鑽夌', '0', 'wms_order_status', '0', 'info', '', '鑽夌', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00'),
+('1061072', '2', '宸插畬鎴�', '4', 'wms_order_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00'),
+('1061073', '3', '宸蹭綔搴�', '5', 'wms_order_status', '0', 'danger', '', '宸蹭綔搴�', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00'),
+('1061081', '1', '鐢熶骇鍏ュ簱', '100', 'wms_receipt_order_type', '0', 'success', '', '', '1', '2026-05-11 11:21:49', '1', '2026-05-14 02:21:20', X'00'),
+('1061082', '2', '閲囪喘鍏ュ簱', '101', 'wms_receipt_order_type', '0', 'primary', '', '', '1', '2026-05-11 11:21:49', '1', '2026-05-14 02:21:20', X'00'),
+('1061083', '3', '閫�璐у叆搴�', '102', 'wms_receipt_order_type', '0', 'warning', '', '', '1', '2026-05-11 11:21:49', '1', '2026-05-14 02:21:20', X'00'),
+('1061084', '4', '褰掕繕鍏ュ簱', '103', 'wms_receipt_order_type', '0', 'info', '', '', '1', '2026-05-13 16:02:33', '1', '2026-05-14 02:21:20', X'00'),
+('1061091', '1', '閫�璐у嚭搴�', '200', 'wms_shipment_order_type', '0', 'warning', '', '閫�璐у嚭搴�', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00'),
+('1061092', '2', '閿�鍞嚭搴�', '201', 'wms_shipment_order_type', '0', 'primary', '', '閿�鍞嚭搴�', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00'),
+('1061093', '3', '鐢熶骇鍑哄簱', '202', 'wms_shipment_order_type', '0', 'success', '', '鐢熶骇鍑哄簱', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00'),
+('1061096', '1', '璇煶', '1', 'im_rtc_call_media_type', '0', '', '', '璇煶閫氳瘽', 'admin', '2026-05-16 11:34:50', 'admin', '2026-05-16 11:34:50', X'00'),
+('1061097', '2', '瑙嗛', '2', 'im_rtc_call_media_type', '0', '', '', '瑙嗛閫氳瘽', 'admin', '2026-05-16 11:34:50', 'admin', '2026-05-16 11:34:50', X'00'),
+('1061098', '1', '绉佽亰', '1', 'im_rtc_call_conversation_type', '0', 'primary', '', '涓�瀵逛竴绉佽亰閫氳瘽', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061099', '2', '缇よ亰', '2', 'im_rtc_call_conversation_type', '0', 'success', '', '缇ゅ唴澶氫汉閫氳瘽', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061100', '1', '鍒涘缓', '10', 'im_rtc_call_status', '0', 'info', '', '閫氳瘽宸插垱寤猴紝绛夊緟鎺ラ��', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061101', '2', '杩涜涓�', '20', 'im_rtc_call_status', '0', 'primary', '', '宸叉湁浜烘帴閫氾紝閫氳瘽涓�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061102', '3', '宸茬粨鏉�', '30', 'im_rtc_call_status', '0', 'success', '', '閫氳瘽缁撴潫', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061103', '1', '閫氳瘽缁撴潫', '1', 'im_rtc_call_end_reason', '0', 'success', '', '鎺ラ�氬悗浠讳竴鏂逛富鍔ㄦ寕鏂�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061104', '2', '宸叉嫆缁�', '2', 'im_rtc_call_end_reason', '0', 'warning', '', '琚彨鎺ラ�氬墠鐐规嫆鎺�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061105', '3', '宸插彇娑�', '3', 'im_rtc_call_end_reason', '0', 'info', '', '涓诲彨鎺ラ�氬墠涓诲姩鍙栨秷', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061106', '4', '鏃犱汉鎺ュ惉', '4', 'im_rtc_call_end_reason', '0', 'info', '', '鎸搩瓒呮椂鏈帴閫�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061107', '5', '瀵规柟姝e繖', '5', 'im_rtc_call_end_reason', '0', 'warning', '', '瀵规柟鍦ㄥ彟涓�閫氳瘽涓�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061108', '6', '閫氳瘽寮傚父', '9', 'im_rtc_call_end_reason', '0', 'danger', '', '缃戠粶涓柇銆佽澶囧け璐ョ瓑', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061109', '1', '鍙戣捣浜�', '1', 'im_rtc_participant_role', '0', 'primary', '', '閫氳瘽鍙戣捣鑰�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061110', '2', '琚個璇疯��', '2', 'im_rtc_participant_role', '0', 'info', '', '琚個璇峰姞鍏�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061111', '3', '涓诲姩鍔犲叆鑰�', '3', 'im_rtc_participant_role', '0', 'success', '', '缇ら�氳瘽鍦烘櫙锛屾梺瑙傝�呬富鍔ㄥ姞鍏�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061112', '1', '閭�璇蜂腑', '10', 'im_rtc_participant_status', '0', 'info', '', '宸插彂鍑� invite锛岀瓑寰呭搷搴�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061113', '2', '宸插姞鍏�', '20', 'im_rtc_participant_status', '0', 'primary', '', '宸叉帴閫氬苟杩涘叆鎴块棿', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1061114', '3', '宸叉嫆缁�', '30', 'im_rtc_participant_status', '0', 'warning', '', '鎺ラ�氬墠鐐规嫆鎺�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061115', '4', '鏈簲绛�', '40', 'im_rtc_participant_status', '0', 'info', '', '閫氳瘽宸茬粨鏉熶粛鏈簲绛�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061116', '5', '宸茬寮�', '50', 'im_rtc_participant_status', '0', 'success', '', '鎺ラ�氬悗鎸傛柇 / 绂诲紑', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061117', '1610', '閫氳瘽寮�濮�', '1610', 'im_content_type', '0', 'info', '', '鍏ユ秷鎭祦锛涚鑱婂畾鍚戦�氱煡锛岀兢鑱婂叏鍛樺箍鎾�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-06-16 03:41:55', X'00'),
+('1061118', '1611', '閫氳瘽缁撴潫', '1611', 'im_content_type', '0', 'info', '', '鍏ユ秷鎭祦锛涚鑱婂噯姘旀场锛岀兢鑱婄郴缁� tip', 'admin', '2026-05-18 03:36:12', 'admin', '2026-06-16 03:41:55', X'00'),
+('1061119', '125', '绱犳潗', '125', 'im_content_type', '0', 'success', '', '棰戦亾杩愯惀鎺ㄩ�佺殑鍥炬枃鍗$墖娑堟伅', '1', '2026-05-18 13:14:34', 'admin', '2026-06-16 03:41:55', X'00'),
+('1061120', '1', '瀵屾枃鏈�', '1', 'im_channel_material_type', '0', 'primary', '', '', '1', '2026-05-19 14:09:25', '1', '2026-05-19 14:09:25', X'00'),
+('1061121', '2', '澶栭摼', '2', 'im_channel_material_type', '0', 'info', '', '', '1', '2026-05-19 14:09:25', '1', '2026-05-19 14:09:25', X'00'),
+('1061122', '7', 'SN 鐮�', '109', 'mes_wm_barcode_biz_type', '0', 'default', '', 'SN', '1', '2026-06-13 10:30:30', '1', '2026-06-13 10:30:30', X'00'),
+('1061123', '107', '鍚堝苟杞彂', '107', 'im_content_type', '0', '', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061124', '108', '鍚嶇墖', '108', 'im_content_type', '0', '', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061125', '115', '琛ㄦ儏', '115', 'im_content_type', '0', '', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061126', '1201', '濂藉弸鐢宠琚悓鎰�', '1201', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061127', '1202', '濂藉弸鐢宠琚嫆缁�', '1202', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061128', '1203', '鏀跺埌鏂扮殑濂藉弸鐢宠', '1203', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061129', '1207', '鍔犲叆榛戝悕鍗�', '1207', 'im_content_type', '0', 'danger', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061130', '1208', '绉诲嚭榛戝悕鍗�', '1208', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061131', '1209', '濂藉弸璧勬枡鍙樻洿', '1209', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061132', '1210', '濂藉弸淇℃伅鎵归噺鏇存柊', '1210', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061133', '1530', '缇ゆ垚鍛樹釜浜鸿缃彉鏇�', '1530', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061134', '1601', '閫氳瘽淇′护', '1601', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061135', '1602', '閫氳瘽鍙備笌鑰呭姞鍏�', '1602', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061136', '1603', '閫氳瘽鍙備笌鑰呯寮�', '1603', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061137', '10', '閿�鍞鐣�', '10', 'wms_reserve_biz_type', '0', 'primary', '', '閿�鍞鍗曢鐣欏簱瀛�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061138', '20', '鐢熶骇棰勭暀', '20', 'wms_reserve_biz_type', '0', 'success', '', '鐢熶骇宸ュ崟棰勭暀搴撳瓨', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061139', '10', '鍏ュ簱', '10', 'wms_transaction_type', '0', 'success', '', '搴撳瓨鍏ュ簱', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061140', '20', '鍑哄簱', '20', 'wms_transaction_type', '0', 'warning', '', '搴撳瓨鍑哄簱', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061141', '30', '棰勭暀', '30', 'wms_transaction_type', '0', 'primary', '', '搴撳瓨棰勭暀', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061142', '40', '閲婃斁', '40', 'wms_transaction_type', '0', 'info', '', '棰勭暀閲婃斁', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061143', '50', '鐩樼偣', '50', 'wms_transaction_type', '0', 'default', '', '搴撳瓨鐩樼偣', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061144', '60', '璋冩嫧', '60', 'wms_transaction_type', '0', 'default', '', '搴撳瓨璋冩嫧', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061145', '0', '棰勭暀涓�', '0', 'wms_reserve_status', '0', 'primary', '', '搴撳瓨棰勭暀涓�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061146', '1', '閮ㄥ垎浣跨敤', '1', 'wms_reserve_status', '0', 'warning', '', '閮ㄥ垎宸蹭娇鐢�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061147', '2', '宸蹭娇鐢�', '2', 'wms_reserve_status', '0', 'success', '', '宸插叏閮ㄤ娇鐢�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061148', '3', '宸查噴鏀�', '3', 'wms_reserve_status', '0', 'info', '', '棰勭暀宸查噴鏀�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061149', '0', '鑽夌', '0', 'erp_audit_status', '0', 'info', '', '璁㈠崟鑽夌鐘舵��', '1', '2026-06-26 08:46:48', '1', '2026-06-26 08:46:48', X'00'),
+('1061150', '30', '瀹℃壒涓嶉�氳繃', '30', 'erp_audit_status', '0', 'danger', '', '瀹℃壒涓嶉�氳繃', '1', '2026-06-26 08:46:48', '1', '2026-06-26 08:46:48', X'00'),
+('1061151', '1', '瀹℃壒涓�', '1', 'mes_pro_work_order_status', '0', 'warning', '', 'MES鐢熶骇宸ュ崟鐘舵��-瀹℃壒涓�', '1', '2026-06-26 09:46:00', '1', '2026-06-26 09:46:00', X'00'),
+('1061152', '5', '瀹℃壒涓嶉�氳繃', '5', 'mes_pro_work_order_status', '0', 'danger', '', 'MES鐢熶骇宸ュ崟鐘舵��-瀹℃壒涓嶉�氳繃', '1', '2026-06-26 09:46:00', '1', '2026-06-26 09:46:00', X'00'),
+('1061153', '1', '鏁板�兼牸寮�', '1', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:00:17', '1', '2026-07-02 14:01:19', X'00'),
+('1061154', '2', '鏂囨湰鏍煎紡', '2', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:00:31', '1', '2026-07-02 14:01:15', X'00'),
+('1061155', '3', '涓嬫媺閫夐」', '3', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:01:00', '1', '2026-07-02 14:01:10', X'00'),
+('1061156', '4', '鏃堕棿鏍煎紡', '4', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:01:37', '1', '2026-07-02 14:01:37', X'00'),
+('1061157', '5', '鏃ユ湡鏍煎紡', '5', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:01:48', '1', '2026-07-02 14:01:48', X'00'),
+('1061158', '1', '鐢熶骇瑕佹眰', '1', 'mes_pd_template_type', '0', '', '', NULL, '1', '2026-07-02 14:02:31', '1', '2026-07-02 14:02:31', X'00'),
+('1061159', '2', '鑷瑕佹眰', '2', 'mes_pd_template_type', '0', '', '', NULL, '1', '2026-07-02 14:02:42', '1', '2026-07-02 14:02:42', X'00'),
+('1061160', '3', '宸℃瑕佹眰', '3', 'mes_pd_template_type', '0', '', '', NULL, '1', '2026-07-02 14:02:54', '1', '2026-07-02 14:02:54', X'00'),
+('1061161', '0', '寰呭彂甯�', '0', 'mes_pd_project_status', '0', 'info', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061162', '1', '寰呬笂浼�', '1', 'mes_pd_project_status', '0', 'primary', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061163', '2', '寰呭鏍�', '2', 'mes_pd_project_status', '0', 'warning', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061164', '4', '寰呭綊妗�', '3', 'mes_pd_project_status', '0', 'success', '', '', '1', '2026-07-03 02:17:25', '1', '2026-08-13 07:48:14', X'00'),
+('1061165', '5', '宸插綊妗�', '4', 'mes_pd_project_status', '0', 'danger', '', '', '1', '2026-07-03 02:17:25', '1', '2026-08-13 07:48:14', X'00'),
+('1061166', '0', '寰呭鏍�', '0', 'mes_pd_document_audit_status', '0', 'info', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061167', '1', '瀹℃牳閫氳繃', '1', 'mes_pd_document_audit_status', '0', 'success', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061168', '2', '瀹℃牳涓嶉�氳繃', '2', 'mes_pd_document_audit_status', '0', 'danger', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061169', '0', '寰呭綊妗�', '0', 'mes_pd_archive_status', '0', 'info', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061170', '1', '宸插綊妗�', '1', 'mes_pd_archive_status', '0', 'success', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061171', '1', '鐢�', '1', 'hrm_gender', '0', '', '', NULL, '1', '2026-07-06 11:00:38', '1', '2026-07-06 11:00:38', X'00'),
+('1061172', '2', '濂�', '2', 'hrm_gender', '0', '', '', NULL, '1', '2026-07-06 11:00:47', '1', '2026-07-06 11:00:47', X'00'),
+('1061173', '1', '鍦ㄨ亴', '1', 'hrm_employee_status', '0', '', '', NULL, '1', '2026-07-06 11:01:37', '1', '2026-07-06 11:01:37', X'00'),
+('1061174', '2', '璇曠敤', '2', 'hrm_employee_status', '0', '', '', NULL, '1', '2026-07-06 11:01:44', '1', '2026-07-06 11:01:44', X'00'),
+('1061175', '3', '绂昏亴', '3', 'hrm_employee_status', '0', '', '', NULL, '1', '2026-07-06 11:01:49', '1', '2026-07-06 11:01:49', X'00'),
+('1061176', '1', '楂樹腑', '1', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:01', '1', '2026-07-06 11:14:01', X'00'),
+('1061177', '2', '澶т笓', '2', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:15', '1', '2026-07-06 11:14:15', X'00'),
+('1061178', '3', '鏈', '3', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:26', '1', '2026-07-06 11:14:26', X'00'),
+('1061179', '4', '纭曞+', '4', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:32', '1', '2026-07-06 11:14:32', X'00'),
+('1061180', '5', '鍗氬+', '5', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:40', '1', '2026-07-06 11:14:40', X'00'),
+('1061181', '1', '浜嬪亣', '1', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:16:00', '1', '2026-07-06 11:16:00', X'00'),
+('1061182', '2', '鐥呭亣', '2', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:02', '1', '2026-07-06 11:17:02', X'00'),
+('1061183', '3', '骞村亣', '3', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:19', '1', '2026-07-06 11:17:19', X'00'),
+('1061184', '4', '濠氬亣', '4', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:27', '1', '2026-07-06 11:17:27', X'00'),
+('1061185', '5', '浜у亣', '5', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:37', '1', '2026-07-06 11:17:37', X'00'),
+('1061186', '6', '涓у亣', '6', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:44', '1', '2026-07-06 11:17:44', X'00'),
+('1061187', '1', '骞宠皟', '1', 'hrm_transfer_type', '0', '', '', NULL, '1', '2026-07-06 11:18:09', '1', '2026-07-06 11:18:09', X'00'),
+('1061188', '2', '鍗囪亴', '2', 'hrm_transfer_type', '0', '', '', NULL, '1', '2026-07-06 11:18:16', '1', '2026-07-06 11:18:16', X'00'),
+('1061189', '3', '闄嶈亴', '3', 'hrm_transfer_type', '0', '', '', NULL, '1', '2026-07-06 11:18:22', '1', '2026-07-06 11:18:22', X'00'),
+('1061190', '1', '涓诲姩绂昏亴', '1', 'hrm_resignation_type', '0', '', '', NULL, '1', '2026-07-06 11:20:26', '1', '2026-07-06 11:20:26', X'00'),
+('1061191', '2', '琚姩绂昏亴', '2', 'hrm_resignation_type', '0', '', '', NULL, '1', '2026-07-06 11:20:35', '1', '2026-07-06 11:20:35', X'00'),
+('1061192', '3', '鍚堝悓鍒版湡', '3', 'hrm_resignation_type', '0', '', '', NULL, '1', '2026-07-06 11:20:44', '1', '2026-07-06 11:20:44', X'00'),
+('1061193', '1', '姝e父', '1', 'hrm_clock_type', '0', '', '', NULL, '1', '2026-07-06 11:21:04', '1', '2026-07-06 11:21:04', X'00'),
+('1061194', '2', '杩熷埌/鏃╅��', '2', 'hrm_clock_type', '0', '', '', NULL, '1', '2026-07-06 11:21:19', '1', '2026-07-06 11:21:19', X'00'),
+('1061195', '3', '缂哄崱', '3', 'hrm_clock_type', '0', '', '', NULL, '1', '2026-07-06 11:21:26', '1', '2026-07-06 11:21:26', X'00'),
+('1061196', '0', '寰呯‘璁�', '0', 'hrm_salary_status', '0', '', '', NULL, '1', '2026-07-06 11:22:05', '1', '2026-07-06 11:22:05', X'00'),
+('1061197', '1', '宸茬‘璁�', '10', 'hrm_salary_status', '0', '', '', NULL, '1', '2026-07-06 11:22:16', '1', '2026-07-06 11:22:16', X'00'),
+('1061198', '2', '宸插彂鏀�', '20', 'hrm_salary_status', '0', '', '', NULL, '1', '2026-07-06 11:22:25', '1', '2026-07-06 11:22:25', X'00'),
+('1061199', '1', '鏈紑濮�', '0', 'hrm_handover_status', '0', '', '', NULL, '1', '2026-07-06 11:23:08', '1', '2026-07-06 11:23:08', X'00'),
+('1061200', '2', '杩涜涓�', '10', 'hrm_handover_status', '0', '', '', NULL, '1', '2026-07-06 11:23:18', '1', '2026-07-06 11:23:18', X'00'),
+('1061201', '3', '宸插畬鎴�', '20', 'hrm_handover_status', '0', '', '', NULL, '1', '2026-07-06 11:23:28', '1', '2026-07-06 11:23:28', X'00'),
+('1061202', '1', '閾惰杞处', '1', 'hrm_payment_method', '0', '', '', NULL, '1', '2026-07-06 11:23:45', '1', '2026-07-06 11:23:45', X'00'),
+('1061203', '2', '鐜伴噾', '2', 'hrm_payment_method', '0', '', '', NULL, '1', '2026-07-06 11:23:52', '1', '2026-07-06 11:23:52', X'00'),
+('1061204', '3', '鏀エ', '3', 'hrm_payment_method', '0', '', '', NULL, '1', '2026-07-06 11:23:59', '1', '2026-07-06 11:23:59', X'00'),
+('1061205', '1', '鍘熸枡', '1', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:04:36', '1', '2026-07-14 12:04:36', X'00'),
+('1061206', '2', '鍗婃垚鍝�', '2', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:04:47', '1', '2026-07-14 12:04:47', X'00'),
+('1061207', '3', '鎴愬搧', '3', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:04:54', '1', '2026-07-14 12:04:54', X'00'),
+('1061208', '4', '杈呮枡', '4', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:05:02', '1', '2026-07-14 12:05:02', X'00'),
+('1061209', '0', '鑽夌', '0', 'mes_pro_mps_status', '0', 'info', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061210', '1', '宸蹭笅鍙�', '1', 'mes_pro_mps_status', '0', 'success', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061211', '2', '宸插畬鎴�', '2', 'mes_pro_mps_status', '0', 'primary', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061212', '3', '宸插彇娑�', '3', 'mes_pro_mps_status', '0', 'danger', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061213', '1', '鎷滆', '1', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:15', '1', '2026-07-20 11:00:15', X'00'),
+('1061214', '2', '鎷熺绾�', '2', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:25', '1', '2026-07-20 11:00:25', X'00'),
+('1061215', '3', '绛剧害', '3', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:31', '1', '2026-07-20 11:00:31', X'00'),
+('1061216', '4', '澶辨晥', '4', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:38', '1', '2026-07-20 11:00:38', X'00'),
+('1061217', '1', '鐢熶骇涓�', '1', 'mes_pro_task_status', '0', 'processing', '', '浠诲姟姝e湪鐢熶骇涓�', 'admin', '2026-07-22 07:59:56', 'admin', '2026-07-22 07:59:56', X'00'),
+('1061218', '2', '閮ㄥ垎瀹屾垚', '2', 'mes_pro_task_status', '0', 'warning', '', '浠诲姟閮ㄥ垎瀹屾垚', 'admin', '2026-07-22 08:00:15', 'admin', '2026-07-22 08:00:15', X'00'),
+('1061219', '1', '寰呰瘎瀹�', '0', 'mes_ncr_status', '0', '', '', '寰呰瘎瀹�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061220', '2', '宸茶瘎瀹�', '1', 'mes_ncr_status', '0', '', '', '宸茶瘎瀹�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061221', '3', '宸插缃�', '2', 'mes_ncr_status', '0', '', '', '宸插缃�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061222', '4', '宸插叧闂�', '3', 'mes_ncr_status', '0', '', '', '宸插叧闂�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061223', '1', '閫�璐�', '1', 'mes_ncr_disposition', '0', '', '', '閫�璐�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061224', '2', '鎶ュ簾', '2', 'mes_ncr_disposition', '0', '', '', '鎶ュ簾', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061225', '3', '杩斿伐', '3', 'mes_ncr_disposition', '0', '', '', '杩斿伐', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061226', '4', '璁╂鎺ユ敹', '4', 'mes_ncr_disposition', '0', '', '', '璁╂鎺ユ敹', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061227', '5', '闄嶇骇浣跨敤', '5', 'mes_ncr_disposition', '0', '', '', '闄嶇骇浣跨敤', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061228', '1', '澧炲�肩◣涓撶敤鍙戠エ', '1', 'crm_invoice_type', '0', '', '', NULL, '1', '2026-08-10 14:04:20', '1', '2026-08-10 14:04:20', X'00'),
+('1061229', '2', '澧炲�肩◣鏅�氬彂绁�', '2', 'crm_invoice_type', '0', '', '', NULL, '1', '2026-08-10 14:04:25', '1', '2026-08-10 14:04:25', X'00'),
+('1061230', '3', '鐢靛瓙鍙戠エ', '3', 'crm_invoice_type', '0', '', '', NULL, '1', '2026-08-10 14:04:31', '1', '2026-08-10 14:04:31', X'00'),
+('1061231', '1', '鍔冲姩鍚堝悓', '1', 'hrm_contract_type', '0', 'primary', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061232', '2', '鍔冲姟鍚堝悓', '2', 'hrm_contract_type', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061233', '3', '瀹炰範鍗忚', '3', 'hrm_contract_type', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061234', '4', '鍔冲姟娲鹃仯', '4', 'hrm_contract_type', '0', 'info', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061235', '5', '鍏朵粬', '5', 'hrm_contract_type', '0', 'default', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061236', '1', '鍥哄畾鏈熼檺', '1', 'hrm_contract_term_type', '0', 'primary', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061237', '2', '鏃犲浐瀹氭湡闄�', '2', 'hrm_contract_term_type', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061238', '3', '浠ュ畬鎴愪竴瀹氬伐浣滀换鍔′负鏈熼檺', '3', 'hrm_contract_term_type', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061239', '1', '寰呯敓鏁�', '1', 'hrm_contract_status', '0', 'info', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061240', '2', '鐢熸晥涓�', '2', 'hrm_contract_status', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061241', '3', '鍗冲皢鍒版湡', '3', 'hrm_contract_status', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061242', '4', '宸插埌鏈�', '4', 'hrm_contract_status', '0', 'default', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061243', '5', '宸茶В闄�', '5', 'hrm_contract_status', '0', 'danger', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061244', '6', '宸茬粓姝�', '6', 'hrm_contract_status', '0', 'danger', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061245', '1', '姝e父', '0', 'hrm_contract_terminate_status', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061246', '2', '宸茶В闄�', '1', 'hrm_contract_terminate_status', '0', 'danger', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061247', '3', '宸茬粓姝�', '2', 'hrm_contract_terminate_status', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1065310', '1', '骞村害', '1', 'crm_sales_target_period_type', '0', 'primary', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065311', '2', '瀛e害', '2', 'crm_sales_target_period_type', '0', 'success', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065312', '3', '鏈堝害', '3', 'crm_sales_target_period_type', '0', 'warning', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065320', '1', '涓汉', '1', 'crm_sales_target_dimension', '0', 'primary', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065321', '2', '閮ㄩ棬', '2', 'crm_sales_target_dimension', '0', 'success', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065322', '3', '浜у搧', '3', 'crm_sales_target_dimension', '0', 'warning', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065330', '0', '鏈敓鏁�', '0', 'crm_sales_target_status', '0', 'info', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065331', '1', '宸茬敓鏁�', '1', 'crm_sales_target_status', '0', 'success', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065332', '2', '宸茬粨鏉�', '2', 'crm_sales_target_status', '0', 'warning', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065333', '3', '宸蹭綔搴�', '3', 'crm_sales_target_status', '0', 'danger', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065334', '1', '鍗″昂', '1', 'mes_dv_metering_category', '0', '', '', '鍗″昂', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065335', '2', '鍗冨垎灏�', '2', 'mes_dv_metering_category', '0', '', '', '鍗冨垎灏�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065336', '3', '鍘嬪姏琛�', '3', 'mes_dv_metering_category', '0', '', '', '鍘嬪姏琛�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065337', '4', '娓╁害璁�', '4', 'mes_dv_metering_category', '0', '', '', '娓╁害璁�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065338', '5', '涓囩敤琛�', '5', 'mes_dv_metering_category', '0', '', '', '涓囩敤琛�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065339', '6', '澶╁钩鐮濈爜', '6', 'mes_dv_metering_category', '0', '', '', '澶╁钩鐮濈爜', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065340', '7', '鍏朵粬', '7', 'mes_dv_metering_category', '0', '', '', '鍏朵粬', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065341', '1', '鍦ㄧ敤', '1', 'mes_dv_metering_status', '0', 'success', '', '鍦ㄧ敤', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065342', '2', '鍋滅敤', '2', 'mes_dv_metering_status', '0', 'info', '', '鍋滅敤', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065343', '3', '鎶ュ簾', '3', 'mes_dv_metering_status', '0', 'danger', '', '鎶ュ簾', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065344', '1', '鍚堟牸', '1', 'mes_dv_metering_check_result', '0', 'success', '', '鍚堟牸', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065345', '2', '涓嶅悎鏍�', '2', 'mes_dv_metering_check_result', '0', 'danger', '', '涓嶅悎鏍�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065346', '3', '瀹℃壒涓�', '5', 'mes_pd_project_status', '0', 'processing', '', 'BPM 瀹℃壒涓姸鎬�', '1', '2026-08-13 07:48:27', '1', '2026-08-13 07:48:27', X'00'),
+('1065410', '1', '鍚敤', '0', 'qc_report_template_status', '0', 'success', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065411', '2', '鍋滅敤', '1', 'qc_report_template_status', '0', 'info', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065420', '1', '鑽夌', '0', 'qc_report_version_status', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065421', '2', '宸插彂甯�', '1', 'qc_report_version_status', '0', 'success', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065422', '3', '宸插仠鐢�', '2', 'qc_report_version_status', '0', 'info', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065430', '1', '鐢熸垚涓�', '0', 'qc_report_instance_status', '0', 'processing', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065431', '2', '鐢熸垚鎴愬姛', '1', 'qc_report_instance_status', '0', 'success', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065432', '3', '鐢熸垚澶辫触', '2', 'qc_report_instance_status', '0', 'error', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065440', '1', 'A3', 'A3', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065441', '2', 'A4', 'A4', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065442', '3', 'A5', 'A5', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065443', '4', 'Letter', 'Letter', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065450', '1', '绾靛悜', 'portrait', 'qc_report_orientation', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065451', '2', '妯悜', 'landscape', 'qc_report_orientation', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065460', '1', '閫氱敤', 'general', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065461', '2', '鐢靛瓙鐢靛櫒', 'electronics', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065462', '3', '浜旈噾鏈烘', 'hardware', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065463', '4', '姹借溅闆堕儴浠�', 'auto', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065464', '5', '濉戣兌鍒跺搧', 'plastic', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065465', '6', '椋熷搧楗枡', 'food', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065466', '7', '鍖昏嵂鍖荤枟', 'pharma', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065467', '1', '鑽夌', '0', 'finance_reimbursement_status', '0', 'info', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065468', '2', '瀹℃壒涓�', '15', 'finance_reimbursement_status', '0', 'primary', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065469', '3', '宸查�氳繃', '20', 'finance_reimbursement_status', '0', 'success', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065470', '4', '宸查┏鍥�', '35', 'finance_reimbursement_status', '0', 'danger', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065471', '5', '宸插綊妗�', '40', 'finance_reimbursement_status', '0', 'warning', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065472', '1', '宸梾', '1', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065473', '2', '鍔炲叕', '2', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065474', '3', '鎷涘緟', '3', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065475', '4', '浜ら��', '4', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065476', '5', '鍏朵粬', '5', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('8000101', '1', '鑽夌', '0', 'ums_application_status', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000102', '2', '瀹℃壒涓�', '15', 'ums_application_status', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000103', '3', '宸查�氳繃', '20', 'ums_application_status', '0', 'success', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000104', '4', '宸查┏鍥�', '35', 'ums_application_status', '0', 'danger', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000201', '1', '涓汉浼氬憳', '1', 'ums_member_type', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000202', '2', '鍗曚綅浼氬憳', '2', 'ums_member_type', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000301', '1', '姝e父', '1', 'ums_member_status', '0', 'success', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000302', '2', '鏆傚仠', '0', 'ums_member_status', '0', 'warning', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000401', '1', '鏅�氫細鍛�', '1', 'ums_personal_grade', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000402', '2', '鐞嗕簨', '2', 'ums_personal_grade', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000403', '3', '甯稿姟鐞嗕簨', '3', 'ums_personal_grade', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000404', '4', '鍓悊浜嬮暱', '4', 'ums_personal_grade', '0', 'warning', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000405', '5', '鐞嗕簨闀�', '5', 'ums_personal_grade', '0', 'danger', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000501', '1', '鏅�氬崟浣�', '1', 'ums_unit_grade', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000502', '2', '鐞嗕簨鍗曚綅', '2', 'ums_unit_grade', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000503', '3', '鍓細闀垮崟浣�', '3', 'ums_unit_grade', '0', 'warning', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000504', '4', '浼氶暱鍗曚綅', '4', 'ums_unit_grade', '0', 'danger', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000601', '1', '鏅鸿兘鍒堕��', '1', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000602', '2', '鏂拌兘婧�', '2', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000603', '3', '鐢靛瓙淇℃伅', '3', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000604', '4', '鐢熺墿鍖昏嵂', '4', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000605', '5', '鏂版潗鏂�', '5', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000606', '6', '鑺傝兘鐜繚', '6', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000607', '7', '鍜ㄨ鏈嶅姟', '7', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000608', '8', '鍏朵粬', '8', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00');
+
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
+VALUES
+('8100001', '1', '閲嶇偣璇鹃', '1', 'research_guideline_category', '0', 'danger', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100002', '2', '涓�鑸棰�', '2', 'research_guideline_category', '0', 'default', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100101', '1', '鑽夌', '0', 'research_guideline_status', '0', 'default', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100102', '2', '宸插彂甯�', '20', 'research_guideline_status', '0', 'success', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100103', '3', '宸叉埅姝�', '30', 'research_guideline_status', '0', 'info', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100201', '1', '鑽夌', '0', 'research_application_status', '0', 'default', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100202', '2', '瀹℃壒涓�', '15', 'research_application_status', '0', 'processing', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100203', '3', '宸茬珛椤�', '20', 'research_application_status', '0', 'success', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100204', '4', '宸查┏鍥�', '35', 'research_application_status', '0', 'danger', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100301', '1', '鎺ㄨ崘绔嬮」', '1', 'research_review_conclusion', '0', 'success', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100302', '2', '涓嶆帹鑽愮珛椤�', '2', 'research_review_conclusion', '0', 'danger', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100401', '1', '寰呮嫧浠�', '0', 'research_fund_status', '0', 'warning', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00'),
+('8100402', '2', '宸叉嫧浠�', '20', 'research_fund_status', '0', 'success', '', '', '1', '2026-09-28 20:00:00', '1', '2026-09-28 20:00:00', X'00');
+
+
+-- ============ 琛細system_tenant锛堝鍑� 3 琛岋級 ============
+DROP TABLE IF EXISTS `system_tenant`;
+CREATE TABLE `system_tenant` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '绉熸埛缂栧彿',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绉熸埛鍚�',
+  `contact_user_id` bigint DEFAULT NULL COMMENT '鑱旂郴浜虹殑鐢ㄦ埛缂栧彿',
+  `contact_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜�',
+  `contact_mobile` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鎵嬫満',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '绉熸埛鐘舵��',
+  `websites` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁戝畾鍩熷悕鏁扮粍',
+  `package_id` bigint NOT NULL COMMENT '绉熸埛濂楅缂栧彿',
+  `expire_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `account_count` int NOT NULL COMMENT '璐﹀彿鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=162 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绉熸埛琛�';
+INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `websites`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '瓒呯骇绠$悊鍛�', NULL, '绠$悊鍛�', '17321315478', '0', 'www.iocoder.cn,127.0.0.1:3000,wxc4598c446f8a9cb3', '0', '2099-02-19 17:14:16', '9999', '1', '2021-01-05 17:03:47', '1', '2026-08-06 09:21:19', X'00'),
+('121', '灏忕鎴�', '110', '灏忕帇2', '15601691300', '0', 'zsxq.iocoder.cn,123321', '111', '2026-07-10 00:00:00', '30', '1', '2022-02-22 00:56:14', '1', '2025-08-19 21:19:29', X'00'),
+('122', '娴嬭瘯绉熸埛', '113', '鑺嬮亾', '15601691300', '0', 'test.iocoder.cn,222,333', '111', '2023-04-29 00:00:00', '50', '1', '2022-03-07 21:37:58', '1', '2026-06-01 23:29:35', X'00');
+
+-- ============ 琛細system_tenant_package锛堝鍑� 2 琛岋級 ============
+DROP TABLE IF EXISTS `system_tenant_package`;
+CREATE TABLE `system_tenant_package` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '濂楅缂栧彿',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '濂楅鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '绉熸埛鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `menu_ids` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏宠仈鐨勮彍鍗曠紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绉熸埛濂楅琛�';
+INSERT INTO `system_tenant_package` (`id`, `name`, `status`, `remark`, `menu_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('111', '鏅�氬椁�', '0', '灏忓姛鑳�', '[1,2,5,1031,1032,1033,1034,1035,1036,1037,1038,1039,1050,1051,1052,1053,1054,1056,1057,1058,1059,1060,1063,1064,1065,1066,1067,1070,1075,1077,1078,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1117,1118,1119,1120,100,101,102,1126,103,1127,1128,1129,106,1130,107,1132,1133,110,1134,111,1135,112,1136,113,1137,2161,114,1138,1139,115,1140,116,1141,1142,1143,1150,1161,1162,1166,1173,1174,2713,2714,1178,2715,2716,2717,2718,2720,2721,1185,2722,1186,1187,2723,1188,2724,1189,2725,1190,2726,1191,2727,1192,2728,2729,1193,1194,2730,1195,2731,2732,1197,2733,1198,2734,1199,2735,1200,1201,1202,2739,2740,1207,1208,1209,2745,1210,2746,1211,2747,1212,2748,1213,1215,1216,1217,1218,1219,1220,2756,1221,2757,1222,1224,1225,1226,1227,1228,1229,1237,1238,2262,1239,1240,1241,1242,1243,2275,2276,2277,1255,1256,1257,2281,1258,2282,1259,2283,1260,2284,2285,2287,2288,2293,2294,2297,2300,2301,2302,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2363,2364,5011,5012,2472,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2497,2525,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,2549,1014,2550,1015,2551,1016,2552,1017,2553,1018,2554,1019,2555,1020,2556,2557,2558,2559]', '1', '2022-02-22 00:54:00', '1', '2025-09-06 20:52:25', X'00'),
+('113', '娴嬭瘯濂楅锛堝暐閮芥病鏈夛級', '0', '', '[2160,1254,2159]', '1', '2026-06-01 23:22:39', '1', '2026-06-09 14:44:00', X'00');
+
+-- ============ 琛細system_company_config锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `system_company_config`;
+CREATE TABLE `system_company_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `company_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍏徃鍚嶇О',
+  `logo_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'logo姘镐箙鍏紑閾炬帴(previewURL)',
+  `logo_blob_id` bigint DEFAULT NULL COMMENT 'logo瀵瑰簲blob璁板綍ID',
+  `login_title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐧诲綍椤垫爣棰�',
+  `login_description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐧诲綍椤垫弿杩�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍏徃鍝佺墝淇℃伅閰嶇疆琛�';
+
+-- ***********************************************************************
+-- 鈶� AI 閰嶇疆锛堜粎妯″瀷+key锛�+ 鍩虹璁炬柦閰嶇疆绠$悊锛圖DL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細ai_model锛堝鍑� 4 琛岋級 ============
+DROP TABLE IF EXISTS `ai_model`;
+CREATE TABLE `ai_model` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `key_id` bigint NOT NULL COMMENT 'API 绉橀挜缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '妯″瀷鍚嶇О',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '妯″瀷鏍囧織',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `type` tinyint NOT NULL COMMENT '绫诲瀷',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `temperature` double DEFAULT NULL COMMENT '娓╁害鍙傛暟',
+  `max_tokens` int DEFAULT NULL COMMENT '鍗曟潯鍥炲鐨勬渶澶� Token 鏁伴噺',
+  `max_contexts` int DEFAULT NULL COMMENT '涓婁笅鏂囩殑鏈�澶� Message 鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 妯″瀷琛�';
+INSERT INTO `ai_model` (`id`, `key_id`, `name`, `model`, `platform`, `type`, `sort`, `status`, `temperature`, `max_tokens`, `max_contexts`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '1', '閫氫箟鍗冮棶鍚戦噺妯″瀷', 'text-embedding-v3', 'TongYi', '5', '0', '0', NULL, NULL, NULL, '1', '2026-07-31 01:17:22', '142', '2026-07-31 11:13:39', X'00'),
+('2', '1', '閫氫箟鍗冮棶瀵硅瘽妯″瀷', 'qwen-max', 'TongYi', '1', '0', '0', '0.7', '4096', '20', '', '2026-07-31 07:51:42', '142', '2026-07-31 15:57:16', X'00'),
+('3', '1', '閫氫箟鍗冮棶鍥惧儚妯″瀷', 'qwen-plus', 'TongYi', '2', '1', '0', NULL, NULL, NULL, '142', '2026-07-31 17:37:16', '142', '2026-07-31 17:37:45', X'00'),
+('4', '1', '閫氫箟鍗冮棶瑙嗚妯″瀷', 'qwen-vl-plus', 'TongYi', '1', '1', '0', '0.7', '4096', '10', '', '2026-07-31 09:44:21', '', '2026-07-31 09:44:21', X'00');
+
+-- ============ 琛細ai_api_key锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `ai_api_key`;
+CREATE TABLE `ai_api_key` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶇О',
+  `api_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀵嗛挜',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API 鍦板潃',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI API 绉橀挜琛�';
+INSERT INTO `ai_api_key` (`id`, `name`, `api_key`, `platform`, `url`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '閫氫箟鍗冮棶', 'sk-bd235cc13cd74e2388aa8984c84f691f', 'TongYi', NULL, '0', '1', '2026-07-31 01:17:19', '142', '2026-07-31 16:00:35', X'00');
+
+-- ============ 琛細infra_config锛堝鍑� 8 琛岋級 ============
+DROP TABLE IF EXISTS `infra_config`;
+CREATE TABLE `infra_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍙傛暟涓婚敭',
+  `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鍒嗙粍',
+  `type` tinyint NOT NULL COMMENT '鍙傛暟绫诲瀷',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟鍚嶇О',
+  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟閿悕',
+  `value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟閿��',
+  `visible` bit(1) NOT NULL COMMENT '鏄惁鍙',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_config_key` (`config_key`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍙傛暟閰嶇疆琛�';
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('2', 'biz', '1', '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'system.user.init-password', '123456', X'00', '鍒濆鍖栧瘑鐮� 123456', 'admin', '2021-01-05 17:03:48', '1', '2024-07-20 17:22:47', X'00'),
+('7', 'url', '2', 'MySQL 鐩戞帶鐨勫湴鍧�', 'url.druid', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:33:38', X'00'),
+('8', 'url', '2', 'SkyWalking 鐩戞帶鐨勫湴鍧�', 'url.skywalking', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:57:03', X'00'),
+('9', 'url', '2', 'Spring Boot Admin 鐩戞帶鐨勫湴鍧�', 'url.spring-boot-admin', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:52:07', X'00'),
+('10', 'url', '2', 'Swagger 鎺ュ彛鏂囨。鐨勫湴鍧�', 'url.swagger', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:59:00', X'00'),
+('12', 'test2', '2', 'test3', 'test4', 'test5', X'01', 'test6', '1', '2023-12-03 09:55:16', '1', '2025-04-06 21:00:09', X'00'),
+('13', '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', '2', '鐢ㄦ埛绠$悊-娉ㄥ唽寮�鍏�', 'system.user.register-enabled', 'true', X'00', '', '1', '2025-04-26 17:23:41', '1', '2025-04-26 17:23:41', X'00'),
+('14', 'biz', '2', 'MES 璁¢噺鍣ㄥ叿鍒版湡鎻愰啋澶╂暟', 'mes.dv-metering.remind-days', '1', X'00', '璁¢噺鍣ㄥ叿涓嬫妫�娴嬫棩鏈熷埌鏈熷墠 N 澶╂彁閱掞紙绔欏唴淇″彂閫佺粰璐d换浜猴級', '1', '2026-08-13 01:36:45', '1', '2026-08-13 10:29:56', X'00');
+
+-- ============ 琛細infra_job锛堝鍑� 18 琛岋級 ============
+DROP TABLE IF EXISTS `infra_job`;
+CREATE TABLE `infra_job` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浠诲姟缂栧彿',
+  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠诲姟鍚嶇О',
+  `status` tinyint NOT NULL COMMENT '浠诲姟鐘舵��',
+  `handler_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '澶勭悊鍣ㄧ殑鍚嶅瓧',
+  `handler_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鍣ㄧ殑鍙傛暟',
+  `cron_expression` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'CRON 琛ㄨ揪寮�',
+  `retry_count` int NOT NULL DEFAULT '0' COMMENT '閲嶈瘯娆℃暟',
+  `retry_interval` int NOT NULL DEFAULT '0' COMMENT '閲嶈瘯闂撮殧',
+  `monitor_timeout` int NOT NULL DEFAULT '0' COMMENT '鐩戞帶瓒呮椂鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀹氭椂浠诲姟琛�';
+INSERT INTO `infra_job` (`id`, `name`, `status`, `handler_name`, `handler_param`, `cron_expression`, `retry_count`, `retry_interval`, `monitor_timeout`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('5', '鏀粯閫氱煡 Job', '2', 'payNotifyJob', NULL, '* * * * * ?', '0', '0', '0', '1', '2021-10-27 08:34:42', '1', '2024-09-12 13:32:48', X'00'),
+('17', '鏀粯璁㈠崟鍚屾 Job', '2', 'payOrderSyncJob', NULL, '0 0/1 * * * ?', '0', '0', '0', '1', '2023-07-22 14:36:26', '1', '2023-07-22 15:39:08', X'00'),
+('18', '鏀粯璁㈠崟杩囨湡 Job', '2', 'payOrderExpireJob', NULL, '0 0/1 * * * ?', '0', '0', '0', '1', '2023-07-22 15:36:23', '1', '2023-07-22 15:39:54', X'00'),
+('19', '閫�娆捐鍗曠殑鍚屾 Job', '2', 'payRefundSyncJob', NULL, '0 0/1 * * * ?', '0', '0', '0', '1', '2023-07-23 21:03:44', '1', '2023-07-23 21:09:00', X'00'),
+('21', 'Mall 浜ゆ槗璁㈠崟鐨勮嚜鍔ㄨ繃鏈� Job', '2', 'tradeOrderAutoCancelJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-25 23:43:26', '1', '2025-10-02 11:08:34', X'00'),
+('22', 'Mall 浜ゆ槗璁㈠崟鐨勮嚜鍔ㄦ敹璐� Job', '2', 'tradeOrderAutoReceiveJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-26 19:23:53', '1', '2025-10-02 11:08:36', X'00'),
+('23', 'Mall 浜ゆ槗璁㈠崟鐨勮嚜鍔ㄨ瘎璁� Job', '2', 'tradeOrderAutoCommentJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-26 23:38:29', '1', '2025-10-02 11:08:38', X'00'),
+('24', 'Mall 浣i噾瑙e喕 Job', '2', 'brokerageRecordUnfreezeJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-28 22:01:46', '1', '2025-10-02 11:08:04', X'00'),
+('25', '璁块棶鏃ュ織娓呯悊 Job', '2', 'accessLogCleanJob', '', '0 0 0 * * ?', '3', '0', '0', '1', '2023-10-03 10:59:41', '1', '2023-10-03 11:01:10', X'00'),
+('26', '閿欒鏃ュ織娓呯悊 Job', '2', 'errorLogCleanJob', '', '0 0 0 * * ?', '3', '0', '0', '1', '2023-10-03 11:00:43', '1', '2023-10-03 11:01:12', X'00'),
+('27', '浠诲姟鏃ュ織娓呯悊 Job', '2', 'jobLogCleanJob', '', '0 0 0 * * ?', '3', '0', '0', '1', '2023-10-03 11:01:33', '1', '2024-09-12 13:40:34', X'00'),
+('33', 'demoJob', '2', 'demoJob', '', '0 * * * * ?', '1', '1', '0', '1', '2024-10-27 19:38:46', '1', '2025-05-10 18:13:54', X'00'),
+('35', '杞处璁㈠崟鐨勫悓姝� Job', '2', 'payTransferSyncJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-05-10 17:35:54', '1', '2025-05-10 18:13:52', X'00'),
+('36', 'IoT 璁惧绂荤嚎妫�鏌� Job', '2', 'iotDeviceOfflineCheckJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-07-03 23:48:44', '"1"', '2025-07-03 23:48:47', X'00'),
+('37', 'IoT OTA 鍗囩骇鎺ㄩ�� Job', '2', 'iotOtaUpgradeJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-07-03 23:49:07', '"1"', '2025-07-03 23:49:13', X'00'),
+('38', 'Mall 鎷煎洟杩囨湡 Job', '2', 'combinationRecordExpireJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-10-02 11:07:11', '1', '2025-10-02 11:07:14', X'00'),
+('39', 'Mall 浼樻儬鍒歌繃鏈� Job', '2', 'couponExpireJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-10-02 11:07:34', '1', '2025-10-02 11:07:37', X'00'),
+('40', 'Mall 鍟嗗搧缁熻 Job', '2', 'productStatisticsJob', '', '0 0 0 * * ?', '0', '0', '0', '1', '2025-11-22 18:51:25', '1', '2025-11-22 18:56:21', X'00');
+
+-- ============ 琛細infra_file_config锛堝鍑� 11 琛岋級 ============
+DROP TABLE IF EXISTS `infra_file_config`;
+CREATE TABLE `infra_file_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閰嶇疆鍚�',
+  `storage` tinyint NOT NULL COMMENT '瀛樺偍鍣�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `master` bit(1) NOT NULL COMMENT '鏄惁涓轰富閰嶇疆',
+  `config` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛樺偍閰嶇疆',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢閰嶇疆琛�';
+INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('4', '鏁版嵁搴擄紙绀轰緥锛�', '1', '鎴戞槸鏁版嵁搴�', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.db.DBFileClientConfig","domain":"http://127.0.0.1:48080"}', '1', '2022-03-15 23:56:24', '1', '2026-07-03 11:47:08', X'00'),
+('22', '涓冪墰瀛樺偍鍣紙绀轰緥锛�', '20', '璇锋崲鎴愪綘鑷繁鐨勫瘑閽ワ紒锛侊紒', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3.cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"3TvrJ70gl2Gt6IBe7_IZT1F6i_k0iMuRtyEv4EyS","accessSecret":"wd0tbVBYlp0S-ihA8Qg2hPLncoP83wyrIq24OZuY","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-01-13 22:11:12', '1', '2026-07-03 11:47:08', X'00'),
+('24', '鑵捐浜戝瓨鍌紙绀轰緥锛�', '20', '璇锋崲鎴愪綘鐨勫瘑閽ワ紒锛侊紒', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"https://cos.ap-shanghai.myqcloud.com","domain":"http://tengxun-oss.iocoder.cn","bucket":"aoteman-1255880240","accessKey":"AKIDAF6WSh1uiIjwqtrOsGSN3WryqTM6cTMt","accessSecret":"X","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 16:03:22', '1', '2026-07-03 11:47:08', X'00'),
+('25', '闃块噷浜戝瓨鍌紙绀轰緥锛�', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"oss-cn-beijing.aliyuncs.com","domain":"http://ali-oss.iocoder.cn","bucket":"yunai-aoteman","accessKey":"LTAI5tEQLgnDyjh3WpNcdMKA","accessSecret":"X","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 16:47:08', '1', '2026-07-03 11:47:08', X'00'),
+('26', '鐏北浜戝瓨鍌紙绀轰緥锛�', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"tos-s3-cn-beijing.volces.com","domain":null,"bucket":"yunai","accessKey":"AKLTZjc3Zjc4MzZmMjU3NDk0ZTgxYmIyMmFkNTIwMDI1ZGE","accessSecret":"X==","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 16:56:42', '1', '2026-07-03 11:47:08', X'00'),
+('27', '鍗庝负浜戝瓨鍌紙绀轰緥锛�', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"obs.cn-east-3.myhuaweicloud.com","domain":"","bucket":"yudao","accessKey":"PVDONDEIOTW88LF8DC4U","accessSecret":"X","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 17:18:41', '1', '2026-07-03 11:47:08', X'00'),
+('28', 'MinIO 瀛樺偍锛堢ず渚嬶級', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"http://127.0.0.1:9000","domain":"http://127.0.0.1:9000/yudao","bucket":"yudao","accessKey":"admin","accessSecret":"password","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 17:43:10', '1', '2026-07-03 11:47:08', X'00'),
+('29', '鏈湴瀛樺偍锛堢ず渚嬶級', '10', 'mac/linux 浣跨敤 /锛寃indows 浣跨敤 \\', X'01', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.local.LocalFileClientConfig","basePath":"/Users/yunai/tmp/file","domain":"http://127.0.0.1:48080"}', '1', '2025-05-02 11:25:45', '1', '2026-07-03 11:47:08', X'00'),
+('30', 'SFTP 瀛樺偍锛堢ず渚嬶級', '12', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.sftp.SftpFileClientConfig","basePath":"/upload","domain":"http://127.0.0.1:48080","host":"127.0.0.1","port":2222,"username":"foo","password":"pass"}', '1', '2025-05-02 16:34:10', '1', '2026-07-03 11:47:08', X'00'),
+('34', '涓冪墰浜戝瓨鍌ㄣ�愮鏈夈�戯紙绀轰緥锛�', '20', '璇锋崲鎴愪綘鑷繁鐨勫瘑閽ワ紒锛侊紒', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3.cn-south-1.qiniucs.com","domain":"http://t151glocd.hn-bkt.clouddn.com","bucket":"ruoyi-vue-pro-private","accessKey":"3TvrJ70gl2Gt6IBe7_IZT1F6i_k0iMuRtyEv4EyS","accessSecret":"wd0tbVBYlp0S-ihA8Qg2hPLncoP83wyrIq24OZuY","enablePathStyleAccess":false,"enablePublicAccess":false}', '1', '2025-08-17 21:22:00', '1', '2026-07-03 11:47:08', X'00'),
+('35', '1', '20', '1', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"http://www.baidu.com","domain":"http://www.xxx.com","bucket":"1","accessKey":"2","accessSecret":"3","enablePathStyleAccess":false,"enablePublicAccess":false,"region":"1"}', '1', '2025-10-02 14:32:12', '1', '2026-07-03 11:47:08', X'00');
+
+-- ============ 琛細infra_data_source_config锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `infra_data_source_config`;
+CREATE TABLE `infra_data_source_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟鍚嶇О',
+  `url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏁版嵁婧愯繛鎺�',
+  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鍚�',
+  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀵嗙爜',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版嵁婧愰厤缃〃';
+
+-- ============ 琛細infra_codegen_table锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `infra_codegen_table`;
+CREATE TABLE `infra_codegen_table` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `data_source_config_id` bigint NOT NULL COMMENT '鏁版嵁婧愰厤缃殑缂栧彿',
+  `scene` tinyint NOT NULL DEFAULT '1' COMMENT '鐢熸垚鍦烘櫙',
+  `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '琛ㄥ悕绉�',
+  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '琛ㄦ弿杩�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯″潡鍚�',
+  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟鍚�',
+  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '绫诲悕绉�',
+  `class_comment` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绫绘弿杩�',
+  `author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浣滆��',
+  `template_type` tinyint NOT NULL DEFAULT '1' COMMENT '妯℃澘绫诲瀷',
+  `front_type` tinyint NOT NULL COMMENT '鍓嶇绫诲瀷',
+  `parent_menu_id` bigint DEFAULT NULL COMMENT '鐖惰彍鍗曠紪鍙�',
+  `master_table_id` bigint DEFAULT NULL COMMENT '涓昏〃鐨勭紪鍙�',
+  `sub_join_column_id` bigint DEFAULT NULL COMMENT '瀛愯〃鍏宠仈涓昏〃鐨勫瓧娈电紪鍙�',
+  `sub_join_many` bit(1) DEFAULT NULL COMMENT '涓昏〃涓庡瓙琛ㄦ槸鍚︿竴瀵瑰',
+  `tree_parent_column_id` bigint DEFAULT NULL COMMENT '鏍戣〃鐨勭埗瀛楁缂栧彿',
+  `tree_name_column_id` bigint DEFAULT NULL COMMENT '鏍戣〃鐨勫悕瀛楀瓧娈电紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=210 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='浠g爜鐢熸垚琛ㄥ畾涔�';
+
+-- ============ 琛細infra_codegen_column锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `infra_codegen_column`;
+CREATE TABLE `infra_codegen_column` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `table_id` bigint NOT NULL COMMENT '琛ㄧ紪鍙�',
+  `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛楁鍚�',
+  `data_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛楁绫诲瀷',
+  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛楁鎻忚堪',
+  `nullable` bit(1) NOT NULL COMMENT '鏄惁鍏佽涓虹┖',
+  `primary_key` bit(1) NOT NULL COMMENT '鏄惁涓婚敭',
+  `ordinal_position` int NOT NULL COMMENT '鎺掑簭',
+  `java_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Java 灞炴�х被鍨�',
+  `java_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Java 灞炴�у悕',
+  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
+  `example` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏁版嵁绀轰緥',
+  `create_operation` bit(1) NOT NULL COMMENT '鏄惁涓� Create 鍒涘缓鎿嶄綔鐨勫瓧娈�',
+  `update_operation` bit(1) NOT NULL COMMENT '鏄惁涓� Update 鏇存柊鎿嶄綔鐨勫瓧娈�',
+  `list_operation` bit(1) NOT NULL COMMENT '鏄惁涓� List 鏌ヨ鎿嶄綔鐨勫瓧娈�',
+  `list_operation_condition` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '=' COMMENT 'List 鏌ヨ鎿嶄綔鐨勬潯浠剁被鍨�',
+  `list_operation_result` bit(1) NOT NULL COMMENT '鏄惁涓� List 鏌ヨ鎿嶄綔鐨勮繑鍥炲瓧娈�',
+  `html_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏄剧ず绫诲瀷',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_table_id` (`table_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2880 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='浠g爜鐢熸垚琛ㄥ瓧娈靛畾涔�';
+
+-- ***********************************************************************
+-- 鍏朵綑 382 寮犺〃锛堜粎琛ㄧ粨鏋勶紝鏃犳暟鎹級
+-- ***********************************************************************
+
+-- ============ 琛細act_evt_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_evt_log`;
+CREATE TABLE `act_evt_log` (
+  `LOG_NR_` bigint NOT NULL AUTO_INCREMENT,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DATA_` longblob,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `IS_PROCESSED_` tinyint DEFAULT '0',
+  PRIMARY KEY (`LOG_NR_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_actinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_actinst`;
+CREATE TABLE `act_hi_actinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALL_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `COMPLETED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `TRANSACTION_ORDER_` int DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_START` (`START_TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_END` (`END_TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_PROCINST` (`PROC_INST_ID_`,`ACT_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_EXEC` (`EXECUTION_ID_`,`ACT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_attachment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_attachment`;
+CREATE TABLE `act_hi_attachment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `URL_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CONTENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TIME_` datetime(3) DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_comment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_comment`;
+CREATE TABLE `act_hi_comment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TIME_` datetime(3) NOT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACTION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `MESSAGE_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `FULL_MSG_` longblob,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_detail`;
+CREATE TABLE `act_hi_detail` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VAR_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REV_` int DEFAULT NULL,
+  `TIME_` datetime(3) NOT NULL,
+  `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DOUBLE_` double DEFAULT NULL,
+  `LONG_` bigint DEFAULT NULL,
+  `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_PROC_INST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_ACT_INST` (`ACT_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_TIME` (`TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_NAME` (`NAME_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_TASK_ID` (`TASK_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_entitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_entitylink`;
+CREATE TABLE `act_hi_entitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LINK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HIERARCHY_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_REF_SCOPE` (`REF_SCOPE_ID_`,`REF_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_ROOT_SCOPE` (`ROOT_SCOPE_ID_`,`ROOT_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_identitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_identitylink`;
+CREATE TABLE `act_hi_identitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_USER` (`USER_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_TASK` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_PROCINST` (`PROC_INST_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_procinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_procinst`;
+CREATE TABLE `act_hi_procinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `BUSINESS_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `START_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `END_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUPER_PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALLBACK_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALLBACK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BUSINESS_STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `END_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `STATE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `PROC_INST_ID_` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PRO_INST_END` (`END_TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_PRO_I_BUSKEY` (`BUSINESS_KEY_`) USING BTREE,
+  KEY `ACT_IDX_HI_PRO_SUPER_PROCINST` (`SUPER_PROCESS_INSTANCE_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_taskinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_taskinst`;
+CREATE TABLE `act_hi_taskinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `STATE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `IN_PROGRESS_TIME_` datetime(3) DEFAULT NULL,
+  `IN_PROGRESS_STARTED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CLAIM_TIME_` datetime(3) DEFAULT NULL,
+  `CLAIMED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUSPENDED_TIME_` datetime(3) DEFAULT NULL,
+  `SUSPENDED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `COMPLETED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PRIORITY_` int DEFAULT NULL,
+  `IN_PROGRESS_DUE_DATE_` datetime(3) DEFAULT NULL,
+  `DUE_DATE_` datetime(3) DEFAULT NULL,
+  `FORM_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_INST_PROCINST` (`PROC_INST_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_tsk_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_tsk_log`;
+CREATE TABLE `act_hi_tsk_log` (
+  `ID_` bigint NOT NULL AUTO_INCREMENT,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TIME_STAMP_` timestamp(3) NOT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DATA_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_ACT_HI_TSK_LOG_TASK` (`TASK_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_varinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_varinst`;
+CREATE TABLE `act_hi_varinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VAR_TYPE_` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DOUBLE_` double DEFAULT NULL,
+  `LONG_` bigint DEFAULT NULL,
+  `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_NAME_TYPE` (`NAME_`,`VAR_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_PROC_INST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_TASK_ID` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_EXE` (`EXECUTION_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_bytearray锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_bytearray`;
+CREATE TABLE `act_id_bytearray` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTES_` longblob,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_group锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_group`;
+CREATE TABLE `act_id_group` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_info锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_info`;
+CREATE TABLE `act_id_info` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `USER_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `VALUE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PASSWORD_` longblob,
+  `PARENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_membership锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_membership`;
+CREATE TABLE `act_id_membership` (
+  `USER_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `GROUP_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  PRIMARY KEY (`USER_ID_`,`GROUP_ID_`) USING BTREE,
+  KEY `ACT_FK_MEMB_GROUP` (`GROUP_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_MEMB_GROUP` FOREIGN KEY (`GROUP_ID_`) REFERENCES `act_id_group` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_MEMB_USER` FOREIGN KEY (`USER_ID_`) REFERENCES `act_id_user` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_priv锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_priv`;
+CREATE TABLE `act_id_priv` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_UNIQ_PRIV_NAME` (`NAME_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_priv_mapping锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_priv_mapping`;
+CREATE TABLE `act_id_priv_mapping` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PRIV_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_FK_PRIV_MAPPING` (`PRIV_ID_`) USING BTREE,
+  KEY `ACT_IDX_PRIV_USER` (`USER_ID_`) USING BTREE,
+  KEY `ACT_IDX_PRIV_GROUP` (`GROUP_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_PRIV_MAPPING` FOREIGN KEY (`PRIV_ID_`) REFERENCES `act_id_priv` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_token锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_token`;
+CREATE TABLE `act_id_token` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `TOKEN_VALUE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TOKEN_DATE_` timestamp(3) NULL DEFAULT NULL,
+  `IP_ADDRESS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_AGENT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TOKEN_DATA_` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_user锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_user`;
+CREATE TABLE `act_id_user` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `FIRST_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LAST_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DISPLAY_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EMAIL_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PWD_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PICTURE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_procdef_info锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_procdef_info`;
+CREATE TABLE `act_procdef_info` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `INFO_JSON_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_UNIQ_INFO_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  KEY `ACT_IDX_INFO_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  KEY `ACT_FK_INFO_JSON_BA` (`INFO_JSON_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_INFO_JSON_BA` FOREIGN KEY (`INFO_JSON_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_INFO_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_actinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_actinst`;
+CREATE TABLE `act_ru_actinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALL_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `COMPLETED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `TRANSACTION_ORDER_` int DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_START` (`START_TIME_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_END` (`END_TIME_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_PROC` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_PROC_ACT` (`PROC_INST_ID_`,`ACT_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_EXEC` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_EXEC_ACT` (`EXECUTION_ID_`,`ACT_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_TASK` (`TASK_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_deadletter_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_deadletter_job`;
+CREATE TABLE `act_ru_deadletter_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_DEADLETTER_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_DEADLETTER_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_DEADLETTER_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_DJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_DJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_DJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_DEADLETTER_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_DEADLETTER_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_entitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_entitylink`;
+CREATE TABLE `act_ru_entitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `LINK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HIERARCHY_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_REF_SCOPE` (`REF_SCOPE_ID_`,`REF_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_ROOT_SCOPE` (`ROOT_SCOPE_ID_`,`ROOT_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_event_subscr锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_event_subscr`;
+CREATE TABLE `act_ru_event_subscr` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `EVENT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EVENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACTIVITY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CONFIGURATION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATED_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_CONFIG_` (`CONFIGURATION_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_EXEC_ID` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_PROC_ID` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_SCOPEREF_` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_execution锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_execution`;
+CREATE TABLE `act_ru_execution` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BUSINESS_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUPER_EXEC_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IS_ACTIVE_` tinyint DEFAULT NULL,
+  `IS_CONCURRENT_` tinyint DEFAULT NULL,
+  `IS_SCOPE_` tinyint DEFAULT NULL,
+  `IS_EVENT_SCOPE_` tinyint DEFAULT NULL,
+  `IS_MI_ROOT_` tinyint DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `CACHED_ENT_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) DEFAULT NULL,
+  `START_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IS_COUNT_ENABLED_` tinyint DEFAULT NULL,
+  `EVT_SUBSCR_COUNT_` int DEFAULT NULL,
+  `TASK_COUNT_` int DEFAULT NULL,
+  `JOB_COUNT_` int DEFAULT NULL,
+  `TIMER_JOB_COUNT_` int DEFAULT NULL,
+  `SUSP_JOB_COUNT_` int DEFAULT NULL,
+  `DEADLETTER_JOB_COUNT_` int DEFAULT NULL,
+  `EXTERNAL_WORKER_JOB_COUNT_` int DEFAULT NULL,
+  `VAR_COUNT_` int DEFAULT NULL,
+  `ID_LINK_COUNT_` int DEFAULT NULL,
+  `CALLBACK_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALLBACK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BUSINESS_STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_EXEC_BUSKEY` (`BUSINESS_KEY_`) USING BTREE,
+  KEY `ACT_IDC_EXEC_ROOT` (`ROOT_PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_EXEC_REF_ID_` (`REFERENCE_ID_`) USING BTREE,
+  KEY `ACT_FK_EXE_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_FK_EXE_PARENT` (`PARENT_ID_`) USING BTREE,
+  KEY `ACT_FK_EXE_SUPER` (`SUPER_EXEC_`) USING BTREE,
+  KEY `ACT_FK_EXE_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE CASCADE ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_EXE_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `ACT_FK_EXE_SUPER` FOREIGN KEY (`SUPER_EXEC_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE CASCADE ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_external_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_external_job`;
+CREATE TABLE `act_ru_external_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_EXTERNAL_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_EXTERNAL_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_EXTERNAL_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_EJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_EJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_EJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  CONSTRAINT `ACT_FK_EXTERNAL_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_EXTERNAL_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_history_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_history_job`;
+CREATE TABLE `act_ru_history_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ADV_HANDLER_CFG_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_identitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_identitylink`;
+CREATE TABLE `act_ru_identitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_USER` (`USER_ID_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_GROUP` (`GROUP_ID_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ATHRZ_PROCEDEF` (`PROC_DEF_ID_`) USING BTREE,
+  KEY `ACT_FK_TSKASS_TASK` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_FK_IDL_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_ATHRZ_PROCEDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_IDL_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TSKASS_TASK` FOREIGN KEY (`TASK_ID_`) REFERENCES `act_ru_task` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_job`;
+CREATE TABLE `act_ru_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_JOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_JOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_suspended_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_suspended_job`;
+CREATE TABLE `act_ru_suspended_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_SUSPENDED_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_SUSPENDED_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_SUSPENDED_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_SJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_SJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_SJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_SUSPENDED_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_SUSPENDED_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_task锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_task`;
+CREATE TABLE `act_ru_task` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `STATE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DELEGATION_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PRIORITY_` int DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `IN_PROGRESS_TIME_` datetime(3) DEFAULT NULL,
+  `IN_PROGRESS_STARTED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CLAIM_TIME_` datetime(3) DEFAULT NULL,
+  `CLAIMED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUSPENDED_TIME_` datetime(3) DEFAULT NULL,
+  `SUSPENDED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IN_PROGRESS_DUE_DATE_` datetime(3) DEFAULT NULL,
+  `DUE_DATE_` datetime(3) DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `FORM_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IS_COUNT_ENABLED_` tinyint DEFAULT NULL,
+  `VAR_COUNT_` int DEFAULT NULL,
+  `ID_LINK_COUNT_` int DEFAULT NULL,
+  `SUB_TASK_COUNT_` int DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_TASK_CREATE` (`CREATE_TIME_`) USING BTREE,
+  KEY `ACT_IDX_TASK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TASK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TASK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_TASK_EXE` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_TASK_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_FK_TASK_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_TASK_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TASK_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TASK_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_timer_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_timer_job`;
+CREATE TABLE `act_ru_timer_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_DUEDATE` (`DUEDATE_`) USING BTREE,
+  KEY `ACT_IDX_TJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_TIMER_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_TIMER_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_TIMER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_variable锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_variable`;
+CREATE TABLE `act_ru_variable` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DOUBLE_` double DEFAULT NULL,
+  `LONG_` bigint DEFAULT NULL,
+  `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_RU_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_VAR_BYTEARRAY` (`BYTEARRAY_ID_`) USING BTREE,
+  KEY `ACT_IDX_VARIABLE_TASK_ID` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_FK_VAR_EXE` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_VAR_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_VAR_BYTEARRAY` FOREIGN KEY (`BYTEARRAY_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_VAR_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細after_sale_permission锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_permission`;
+CREATE TABLE `after_sale_permission` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `biz_type` tinyint NOT NULL COMMENT '鏁版嵁绫诲瀷: 1-鍞悗宸ュ崟 2-閫�璐х敵璇� 3-缁翠慨璁板綍',
+  `biz_id` bigint NOT NULL COMMENT '鏁版嵁缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `level` tinyint NOT NULL COMMENT '鏉冮檺绾у埆: 1-璐熻矗浜� 2-鍙 3-璇诲啓',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_biz` (`biz_type`,`biz_id`) USING BTREE,
+  KEY `idx_user` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗鏁版嵁鏉冮檺琛�';
+
+-- ============ 琛細after_sale_repair锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_repair`;
+CREATE TABLE `after_sale_repair` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缁翠慨璁板綍缂栧彿',
+  `ticket_id` bigint NOT NULL COMMENT '鍏宠仈宸ュ崟缂栧彿锛屽叧鑱� after_sale_ticket.id',
+  `repair_type` tinyint NOT NULL COMMENT '缁翠慨绫诲瀷: 1-鐜板満缁翠慨 2-杩斿巶缁翠慨 3-杩滅▼鎸囧',
+  `fault_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鏁呴殰鎻忚堪',
+  `repair_action` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '缁翠慨鎺柦',
+  `repair_result` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨缁撴灉: 宸蹭慨澶�/鏃犳硶淇/閮ㄥ垎淇',
+  `repair_cost` decimal(10,2) DEFAULT '0.00' COMMENT '缁翠慨璐圭敤',
+  `repair_user_id` bigint DEFAULT NULL COMMENT '缁翠慨浜�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��: 0-寰呭鐞� 10-缁翠慨涓� 20-宸插畬鎴� 30-宸插叧闂�',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬬淮淇椂闂�',
+  `finish_time` datetime DEFAULT NULL COMMENT '瀹屾垚缁翠慨鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_ticket_id` (`ticket_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗缁翠慨璁板綍琛�';
+
+-- ============ 琛細after_sale_return锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_return`;
+CREATE TABLE `after_sale_return` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閫�璐х敵璇风紪鍙�',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閫�璐у崟鍙�',
+  `ticket_id` bigint NOT NULL COMMENT '鍏宠仈宸ュ崟缂栧彿',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '鍏宠仈閿�鍞鍗曠紪鍙�',
+  `return_type` tinyint NOT NULL COMMENT '閫�璐х被鍨�: 1-閫�娆鹃��璐� 2-鎹㈣揣 3-浠呴��娆�',
+  `return_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閫�璐у師鍥�',
+  `defect_category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡鍒嗙被',
+  `total_return_price` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '搴旈��鎬婚噾棰�',
+  `actual_refund_price` decimal(12,2) DEFAULT '0.00' COMMENT '瀹為��閲戦',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��: 0-鑽夌 10-閿�鍞鏍镐腑 20-瀹℃牳閫氳繃宸插悓姝ES 30-妫�楠屼腑 40-妫�楠屽畬鎴� 50-宸插叆搴� 60-閫�娆�/鎹㈣揣瀹屾垚 70-宸插叧闂� 99-宸插彇娑�',
+  `audit_user_id` bigint DEFAULT NULL COMMENT '瀹℃牳浜�',
+  `audit_time` datetime DEFAULT NULL COMMENT '瀹℃牳鏃堕棿',
+  `mes_return_id` bigint DEFAULT NULL COMMENT 'MES閫�璐у崟缂栧彿',
+  `mes_return_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'MES閫�璐у崟鍙�(鍐椾綑)',
+  `quality_result` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐ㄦ缁撹',
+  `quality_report_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐ㄦ鎶ュ憡闄勪欢URL',
+  `return_inbound_time` datetime DEFAULT NULL COMMENT '閫�璐у叆搴撳畬鎴愭椂闂�',
+  `refund_time` datetime DEFAULT NULL COMMENT '閫�娆�/鎹㈣揣瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_ticket_id` (`ticket_id`) USING BTREE,
+  KEY `idx_mes_return_id` (`mes_return_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗閫�璐х敵璇疯〃';
+
+-- ============ 琛細after_sale_return_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_return_item`;
+CREATE TABLE `after_sale_return_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `return_id` bigint NOT NULL COMMENT '閫�璐х敵璇风紪鍙�',
+  `ticket_item_id` bigint NOT NULL COMMENT '宸ュ崟鏄庣粏琛岀紪鍙�',
+  `item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜(鍐椾綑)',
+  `item_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О(鍐椾綑)',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `return_quantity` decimal(10,3) NOT NULL COMMENT '閫�璐ф暟閲�',
+  `unit_price` decimal(12,2) NOT NULL COMMENT '閿�鍞崟浠�',
+  `return_price` decimal(12,2) NOT NULL COMMENT '閫�璐ч噾棰�',
+  `mes_return_line_id` bigint DEFAULT NULL COMMENT 'MES閫�璐у崟琛岀紪鍙�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_return_id` (`return_id`) USING BTREE,
+  KEY `idx_ticket_item_id` (`ticket_item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗閫�璐ф槑缁嗚琛�';
+
+-- ============ 琛細after_sale_ticket锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_ticket`;
+CREATE TABLE `after_sale_ticket` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '宸ュ崟缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '宸ュ崟鍗曞彿',
+  `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ュ崟涓婚/鏍囬',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿锛屽叧鑱� crm_customer.id',
+  `contact_id` bigint DEFAULT NULL COMMENT '鑱旂郴浜虹紪鍙凤紝鍏宠仈 crm_contact.id',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙凤紝鍏宠仈 erp_sale_order.id',
+  `sale_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿(鍐椾綑)',
+  `contract_id` bigint DEFAULT NULL COMMENT '鍚堝悓缂栧彿锛屽叧鑱� crm_contract.id',
+  `issue_type` tinyint NOT NULL DEFAULT '0' COMMENT '闂绫诲瀷: 0-鏈垽瀹� 1-涓�鑸棶棰� 2-缁翠慨闂 3-閫�璐ч棶棰�',
+  `issue_category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闂鍒嗙被',
+  `issue_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '闂鎻忚堪',
+  `severity_level` tinyint DEFAULT '0' COMMENT '涓ラ噸绋嬪害: 0-杞诲井 1-涓�鑸� 2-涓ラ噸 3-鑷村懡',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��: 0-鑽夌 10-澶勭悊涓� 30-寰呴��璐� 40-寰呴��娆�/鎹㈣揣 50-宸插畬缁� 60-宸插叧闂� 99-宸插彇娑�',
+  `owner_user_id` bigint NOT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭悊浜虹敤鎴风紪鍙�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM宸ヤ綔娴佸疄渚嬬紪鍙�',
+  `return_id` bigint DEFAULT NULL COMMENT '鍏宠仈閫�璐х敵璇风紪鍙�',
+  `repair_id` bigint DEFAULT NULL COMMENT '鍏宠仈缁翠慨璁板綍缂栧彿',
+  `resolved_time` datetime DEFAULT NULL COMMENT '瑙e喅鏃堕棿',
+  `closed_time` datetime DEFAULT NULL COMMENT '鍏抽棴鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_customer_id` (`customer_id`) USING BTREE,
+  KEY `idx_sale_order_id` (`sale_order_id`) USING BTREE,
+  KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗宸ュ崟涓昏〃';
+
+-- ============ 琛細after_sale_ticket_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_ticket_item`;
+CREATE TABLE `after_sale_ticket_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `ticket_id` bigint NOT NULL COMMENT '宸ュ崟缂栧彿锛屽叧鑱� after_sale_ticket.id',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曡缂栧彿',
+  `item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜(鍐椾綑)',
+  `item_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О(鍐椾綑)',
+  `batch_id` bigint DEFAULT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵规鍙�',
+  `sale_quantity` decimal(10,3) NOT NULL DEFAULT '0.000' COMMENT '閿�鍞暟閲�',
+  `return_quantity` decimal(10,3) DEFAULT '0.000' COMMENT '閫�璐ф暟閲�',
+  `need_repair` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁闇�瑕佺淮淇�',
+  `need_return` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁闇�瑕侀��璐�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_ticket_id` (`ticket_id`) USING BTREE,
+  KEY `idx_item_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗宸ュ崟鏄庣粏琛岃〃';
+
+-- ============ 琛細ai_chat_conversation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_chat_conversation`;
+CREATE TABLE `ai_chat_conversation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID 缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '鏂板璇�' COMMENT '瀵硅瘽鏍囬',
+  `pinned` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁缃《',
+  `pinned_time` datetime DEFAULT NULL COMMENT '缃《鏃堕棿',
+  `role_id` bigint DEFAULT NULL COMMENT '瑙掕壊缂栧彿',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囧織',
+  `system_message` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊璁惧畾',
+  `temperature` double DEFAULT NULL COMMENT '娓╁害鍙傛暟',
+  `max_tokens` int DEFAULT NULL COMMENT '鍗曟潯鍥炲鐨勬渶澶� Token 鏁伴噺',
+  `max_contexts` int DEFAULT NULL COMMENT '涓婁笅鏂囩殑鏈�澶� Message 鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI Chat 瀵硅瘽琛�';
+
+-- ============ 琛細ai_chat_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_chat_message`;
+CREATE TABLE `ai_chat_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `conversation_id` bigint NOT NULL COMMENT '瀵硅瘽缂栧彿',
+  `reply_id` bigint DEFAULT NULL COMMENT '鍥炲娑堟伅缂栧彿',
+  `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `role_id` bigint DEFAULT NULL COMMENT '瑙掕壊缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囧織',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鑱婂ぉ鍐呭',
+  `reasoning_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎺ㄧ悊鍐呭',
+  `use_context` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎼哄甫涓婁笅鏂�',
+  `segment_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭ヨ瘑搴撴钀界紪鍙锋暟缁�',
+  `web_search_pages` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鑱旂綉鎼滅储鐨勭綉椤靛唴瀹规暟缁�',
+  `attachment_urls` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勪欢 URL 鏁扮粍',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI Chat 娑堟伅琛�';
+
+-- ============ 琛細ai_chat_role锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_chat_role`;
+CREATE TABLE `ai_chat_role` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瑙掕壊鍚嶇О',
+  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊澶村儚',
+  `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瑙掕壊鍒嗙被',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊鎻忚堪',
+  `system_message` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊璁惧畾',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `knowledge_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮曠敤鐨勭煡璇嗗簱缂栧彿鍒楄〃',
+  `tool_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮曠敤鐨勫伐鍏风紪鍙峰垪琛�',
+  `mcp_client_names` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮曠敤鐨� MCP Client 鍚嶅瓧鍒楄〃',
+  `public_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏紑',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鑱婂ぉ瑙掕壊琛�';
+
+-- ============ 琛細ai_image锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_image`;
+CREATE TABLE `ai_image` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎻愮ず璇�',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囪瘑',
+  `width` int DEFAULT NULL COMMENT '鍥剧墖瀹藉害',
+  `height` int DEFAULT NULL COMMENT '鍥剧墖楂樺害',
+  `status` tinyint NOT NULL COMMENT '鐢熸垚鐘舵��',
+  `finish_time` datetime DEFAULT NULL COMMENT '瀹屾垚鏃堕棿',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁樼敾閿欒淇℃伅',
+  `pic_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `public_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏紑',
+  `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '缁樺埗鍙傛暟',
+  `buttons` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'mj buttons 鎸夐挳',
+  `task_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 缁樼敾琛�';
+
+-- ============ 琛細ai_knowledge锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_knowledge`;
+CREATE TABLE `ai_knowledge` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鐭ヨ瘑搴撳悕绉�',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭ヨ瘑搴撴弿杩�',
+  `embedding_model_id` bigint DEFAULT NULL COMMENT '鍚戦噺妯″瀷缂栧彿',
+  `embedding_model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囪瘑',
+  `top_k` int DEFAULT NULL COMMENT 'topK',
+  `similarity_threshold` double DEFAULT NULL COMMENT '鐩镐技搴﹂槇鍊�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鐭ヨ瘑搴撹〃';
+
+-- ============ 琛細ai_knowledge_document锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_knowledge_document`;
+CREATE TABLE `ai_knowledge_document` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `knowledge_id` bigint NOT NULL COMMENT '鐭ヨ瘑搴撶紪鍙�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鏂囨。鍚嶇О',
+  `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢 URL',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍐呭',
+  `content_length` int DEFAULT NULL COMMENT '鏂囨。闀垮害',
+  `tokens` int DEFAULT NULL COMMENT '鏂囨。 token 鏁伴噺',
+  `segment_max_tokens` int DEFAULT NULL COMMENT '鍒嗙墖鏈�澶� Token 鏁�',
+  `retrieval_count` int NOT NULL DEFAULT '0' COMMENT '鍙洖娆℃暟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鐭ヨ瘑搴撴枃妗h〃';
+
+-- ============ 琛細ai_knowledge_segment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_knowledge_segment`;
+CREATE TABLE `ai_knowledge_segment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `knowledge_id` bigint NOT NULL COMMENT '鐭ヨ瘑搴撶紪鍙�',
+  `document_id` bigint NOT NULL COMMENT '鏂囨。缂栧彿',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍒囩墖鍐呭',
+  `content_length` int DEFAULT NULL COMMENT '鍒囩墖鍐呭闀垮害',
+  `vector_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍚戦噺搴撶殑缂栧彿',
+  `tokens` int DEFAULT NULL COMMENT 'token 鏁伴噺',
+  `retrieval_count` int NOT NULL DEFAULT '0' COMMENT '鍙洖娆℃暟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鐭ヨ瘑搴撴枃妗e垎娈佃〃';
+
+-- ============ 琛細ai_mind_map锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_mind_map`;
+CREATE TABLE `ai_mind_map` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷',
+  `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鍐呭鎻愮ず',
+  `generated_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鐨勫唴瀹�',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿欒淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鎬濈淮瀵煎浘琛�';
+
+-- ============ 琛細ai_music锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_music`;
+CREATE TABLE `ai_music` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闊充箰鍚嶇О',
+  `lyric` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '姝岃瘝',
+  `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `audio_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闊抽鍦板潃',
+  `video_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙嗛鍦板潃',
+  `status` tinyint NOT NULL COMMENT '闊充箰鐘舵��',
+  `generate_mode` tinyint NOT NULL COMMENT '鐢熸垚妯″紡',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪璇�',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷',
+  `tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闊充箰椋庢牸鏍囩',
+  `duration` double DEFAULT NULL COMMENT '闊充箰鏃堕暱',
+  `public_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏紑',
+  `task_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟缂栧彿',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿欒淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 闊充箰琛�';
+
+-- ============ 琛細ai_tool锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_tool`;
+CREATE TABLE `ai_tool` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '宸ュ叿缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ュ叿鍚嶇О',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ叿鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 宸ュ叿琛�';
+
+-- ============ 琛細ai_workflow锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_workflow`;
+CREATE TABLE `ai_workflow` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ヤ綔娴佸悕绉�',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ヤ綔娴佹爣璇�',
+  `graph` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '宸ヤ綔娴佹ā鍨� JSON 鏁版嵁',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 宸ヤ綔娴佽〃';
+
+-- ============ 琛細ai_write锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_write`;
+CREATE TABLE `ai_write` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `type` tinyint NOT NULL COMMENT '鍐欎綔绫诲瀷',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷',
+  `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鍐呭鎻愮ず',
+  `generated_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鐨勫唴瀹�',
+  `original_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍘熸枃',
+  `length` tinyint DEFAULT NULL COMMENT '闀垮害鎻愮ず璇�',
+  `format` tinyint DEFAULT NULL COMMENT '鏍煎紡鎻愮ず璇�',
+  `tone` tinyint DEFAULT NULL COMMENT '璇皵鎻愮ず璇�',
+  `language` tinyint DEFAULT NULL COMMENT '璇█鎻愮ず璇�',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿欒淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鍐欎綔琛�';
+
+-- ============ 琛細bpm_bak_20260904_bytearray锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_bytearray`;
+CREATE TABLE `bpm_bak_20260904_bytearray` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTES_` longblob,
+  `GENERATED_` tinyint DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_category`;
+CREATE TABLE `bpm_bak_20260904_category` (
+  `id` bigint NOT NULL DEFAULT '0' COMMENT '鍒嗙被缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚�',
+  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鏍囧織',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍒嗙被鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鍒嗙被鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_deployment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_deployment`;
+CREATE TABLE `bpm_bak_20260904_deployment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_model锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_model`;
+CREATE TABLE `bpm_bak_20260904_model` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT ''
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_procdef锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_procdef`;
+CREATE TABLE `bpm_bak_20260904_procdef` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VERSION_` int NOT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DGRM_RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HAS_START_FORM_KEY_` tinyint DEFAULT NULL,
+  `HAS_GRAPHICAL_NOTATION_` tinyint DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_VERSION_` int NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_procinfo锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_procinfo`;
+CREATE TABLE `bpm_bak_20260904_procinfo` (
+  `id` bigint NOT NULL DEFAULT '0' COMMENT '缂栧彿',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹氫箟鐨勭紪鍙�',
+  `model_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼妯″瀷鐨勭紪鍙�',
+  `model_type` tinyint NOT NULL DEFAULT '10' COMMENT '娴佺▼妯″瀷鐨勭被鍨�',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼鍒嗙被鐨勭紪鐮�',
+  `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥炬爣',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `form_type` tinyint NOT NULL DEFAULT '10' COMMENT '琛ㄥ崟绫诲瀷锛�10鏅�氳〃鍗� 20鑷畾涔夎〃鍗曪級',
+  `form_id` bigint DEFAULT NULL COMMENT '鍔ㄦ�佽〃鍗曠紪鍙�',
+  `form_conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '琛ㄥ崟鐨勯厤缃�',
+  `form_fields` json DEFAULT NULL COMMENT '琛ㄥ崟椤圭殑鏁扮粍',
+  `form_custom_create_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鎻愪氦璺緞',
+  `form_custom_view_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鏌ョ湅璺緞',
+  `simple_model` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'SIMPLE 璁捐鍣ㄦā鍨嬫暟鎹�',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍙',
+  `sort` bigint NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `start_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧风敤鎴风紪鍙锋暟缁�',
+  `start_dept_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧烽儴闂ㄧ紪鍙锋暟缁�',
+  `manager_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙鐞嗙敤鎴风紪鍙锋暟缁�',
+  `allow_cancel_running_process` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽鎾ら攢瀹℃壒涓殑鐢宠',
+  `allow_withdraw_task` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽瀹℃壒浜烘挙鍥炰换鍔�',
+  `process_id_rule` json DEFAULT NULL COMMENT '娴佺▼ ID 瑙勫垯',
+  `auto_approval_type` tinyint DEFAULT NULL COMMENT '鑷姩鍘婚噸绫诲瀷',
+  `title_setting` json DEFAULT NULL COMMENT '鏍囬璁剧疆',
+  `summary_setting` json DEFAULT NULL COMMENT '鎽樿璁剧疆',
+  `process_before_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍓嶇疆閫氱煡璁剧疆',
+  `process_after_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍚庣疆閫氱煡璁剧疆',
+  `task_before_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍓嶇疆閫氱煡璁剧疆',
+  `task_after_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍚庣疆閫氱煡璁剧疆',
+  `print_template_setting` json DEFAULT NULL COMMENT '鑷畾涔夋墦鍗版ā鏉胯缃�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_oa_leave锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_oa_leave`;
+CREATE TABLE `bpm_oa_leave` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇峰亣琛ㄥ崟涓婚敭',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜虹殑鐢ㄦ埛缂栧彿',
+  `type` tinyint NOT NULL COMMENT '璇峰亣绫诲瀷',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍘熷洜',
+  `start_time` datetime NOT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime NOT NULL COMMENT '缁撴潫鏃堕棿',
+  `day` bigint NOT NULL COMMENT '璇峰亣澶╂暟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '瀹℃壒缁撴灉',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀵瑰簲鐨勬祦绋嬬紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OA 璇峰亣鐢宠琛�';
+
+-- ============ 琛細bpm_process_instance_copy锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_process_instance_copy`;
+CREATE TABLE `bpm_process_instance_copy` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `start_user_id` bigint NOT NULL COMMENT '鍙戣捣浜� Id',
+  `process_instance_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼鍚�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹炰緥鐨勭紪鍙�',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹炰緥鐨勬祦绋嬪畾涔夌紪鍙�',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼鍒嗙被',
+  `activity_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼娲诲姩鐨勭紪鍙�',
+  `activity_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼娲诲姩鐨勫悕瀛�',
+  `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼浠诲姟鐨勭紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿锛堣鎶勯�佺殑鐢ㄦ埛缂栧彿锛�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶勯�佹剰瑙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='娴佺▼鎶勯�佽〃';
+
+-- ============ 琛細crm_business锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business`;
+CREATE TABLE `crm_business` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍟嗘満鍚嶇О',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `follow_up_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '璺熻繘鐘舵��',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `status_type_id` bigint NOT NULL COMMENT '鍟嗘満鐘舵�佺粍缂栧彿',
+  `status_id` bigint NOT NULL COMMENT '鍟嗘満鐘舵�佺紪鍙�',
+  `end_status` int DEFAULT NULL COMMENT '缁撴潫鐘舵��',
+  `end_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁撴潫鏃剁殑澶囨敞',
+  `deal_time` datetime DEFAULT NULL COMMENT '棰勮鎴愪氦鏃ユ湡',
+  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鎬婚噾棰濓紝鍗曚綅锛氬厓',
+  `discount_percent` decimal(24,6) DEFAULT NULL COMMENT '鏁村崟鎶樻墸锛岀櫨鍒嗘瘮',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鍟嗘満鎬婚噾棰濓紝鍗曚綅锛氬厓',
+  `order_id` bigint DEFAULT NULL COMMENT '鍏宠仈 ERP 閿�鍞鍗曠紪鍙�',
+  `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ERP 閿�鍞鍗曞崟鍙�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満琛�';
+
+-- ============ 琛細crm_business_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business_product`;
+CREATE TABLE `crm_business_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `business_id` bigint NOT NULL COMMENT '鍟嗘満缂栧彿',
+  `item_id` bigint NOT NULL COMMENT 'MDM 鐗╂枡缂栧彿',
+  `item_unit_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_price` decimal(24,6) DEFAULT NULL COMMENT '鐗╂枡鍘熶环锛屽崟浣嶏細鍏�',
+  `business_price` decimal(24,6) DEFAULT NULL COMMENT '鍟嗘満浠锋牸锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎬昏浠锋牸锛屽崟浣嶏細鍏�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満浜у搧鍏宠仈琛�';
+
+-- ============ 琛細crm_business_status锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business_status`;
+CREATE TABLE `crm_business_status` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `type_id` bigint NOT NULL COMMENT '鐘舵�佺被鍨嬬紪鍙�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐘舵�佸悕',
+  `percent` int DEFAULT NULL COMMENT '璧㈠崟鐜囷紝鐧惧垎姣�',
+  `sort` int DEFAULT NULL COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満鐘舵�佽〃';
+
+-- ============ 琛細crm_business_status_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business_status_type`;
+CREATE TABLE `crm_business_status_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐘舵�佺被鍨嬪悕',
+  `dept_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浣跨敤鐨勯儴闂ㄧ紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満鐘舵�佺粍琛�';
+
+-- ============ 琛細crm_clue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_clue`;
+CREATE TABLE `crm_clue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿锛屼富閿嚜澧�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绾跨储鍚嶇О',
+  `follow_up_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '璺熻繘鐘舵��',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_last_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庤窡杩涘唴瀹�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `transform_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '杞寲鐘舵��',
+  `customer_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙�',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢佃瘽',
+  `qq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'QQ',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `area_id` int DEFAULT NULL COMMENT '鎵�鍦ㄥ湴',
+  `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鍦板潃',
+  `industry_id` int DEFAULT NULL COMMENT '鎵�灞炶涓�',
+  `level` int DEFAULT NULL COMMENT '瀹㈡埛绛夌骇',
+  `source` int DEFAULT NULL COMMENT '瀹㈡埛鏉ユ簮',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 绾跨储琛�';
+
+-- ============ 琛細crm_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contact`;
+CREATE TABLE `crm_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜哄鍚�',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_last_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庤窡杩涘唴瀹�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙�',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢佃瘽',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢靛瓙閭',
+  `qq` bigint DEFAULT NULL COMMENT 'QQ',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊',
+  `area_id` int DEFAULT NULL COMMENT '鎵�鍦ㄥ湴',
+  `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鍦板潃',
+  `sex` int DEFAULT NULL COMMENT '鎬у埆',
+  `master` tinyint(1) DEFAULT NULL COMMENT '鏄惁鍏抽敭鍐崇瓥浜�',
+  `post` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱屼綅',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐩村睘涓婄骇',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鑱旂郴浜鸿〃';
+
+-- ============ 琛細crm_contact_business锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contact_business`;
+CREATE TABLE `crm_contact_business` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `contact_id` bigint NOT NULL COMMENT '鑱旂郴浜虹紪鍙�',
+  `business_id` bigint NOT NULL COMMENT '鍟嗘満缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鑱旂郴浜轰笌鍟嗘満鍏宠仈琛�';
+
+-- ============ 琛細crm_contract锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contract`;
+CREATE TABLE `crm_contract` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍚堝悓缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍚堝悓鍚嶇О',
+  `no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `business_id` bigint DEFAULT NULL COMMENT '鍟嗘満缂栧彿',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `audit_status` int DEFAULT NULL COMMENT '瀹℃壒鐘舵��',
+  `order_date` datetime DEFAULT NULL COMMENT '涓嬪崟鏃ユ湡',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '缁撴潫鏃堕棿',
+  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鎬婚噾棰濓紝鍗曚綅锛氬厓',
+  `discount_percent` decimal(24,6) DEFAULT NULL COMMENT '鏁村崟鎶樻墸',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鍚堝悓鎬婚噾棰濓紝鍗曚綅锛氬垎',
+  `deposit_price` decimal(24,6) DEFAULT NULL COMMENT '瀹氶噾閲戦锛屽崟浣嶏細鍏�',
+  `order_id` bigint DEFAULT NULL COMMENT '鍏宠仈 ERP 閿�鍞鍗曠紪鍙�',
+  `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ERP 閿�鍞鍗曞崟鍙�',
+  `sign_contact_id` bigint DEFAULT NULL COMMENT '瀹㈡埛绛剧害浜�',
+  `sign_user_id` bigint DEFAULT NULL COMMENT '鍏徃绛剧害浜�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍚堝悓琛�';
+
+-- ============ 琛細crm_contract_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contract_config`;
+CREATE TABLE `crm_contract_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `notify_enabled` tinyint(1) DEFAULT NULL COMMENT '鏄惁寮�鍚彁鍓嶆彁閱�',
+  `notify_days` int DEFAULT NULL COMMENT '鎻愬墠鎻愰啋澶╂暟',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍚堝悓閰嶇疆琛�';
+
+-- ============ 琛細crm_contract_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contract_product`;
+CREATE TABLE `crm_contract_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_unit_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_price` decimal(24,6) DEFAULT NULL COMMENT '鐗╂枡鍘熶环锛堝啑浣欙級',
+  `contract_price` decimal(24,6) DEFAULT NULL COMMENT '鍚堝悓浠锋牸锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎬昏浠锋牸锛屽崟浣嶏細鍏�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍚堝悓浜у搧鍏宠仈琛�';
+
+-- ============ 琛細crm_customer锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_customer`;
+CREATE TABLE `crm_customer` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛鍚嶇О',
+  `follow_up_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '璺熻繘鐘舵��',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_last_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庤窡杩涘唴瀹�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `owner_time` datetime DEFAULT NULL COMMENT '鎴愪负璐熻矗浜虹殑鏃堕棿',
+  `lock_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '閿佸畾鐘舵��',
+  `deal_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鎴愪氦鐘舵��',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢佃瘽',
+  `qq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'QQ',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `area_id` int DEFAULT NULL COMMENT '鎵�鍦ㄥ湴',
+  `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鍦板潃',
+  `industry_id` int DEFAULT NULL COMMENT '鎵�灞炶涓�',
+  `level` int DEFAULT NULL COMMENT '瀹㈡埛绛夌骇',
+  `source` int DEFAULT NULL COMMENT '瀹㈡埛鏉ユ簮',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 瀹㈡埛琛�';
+
+-- ============ 琛細crm_customer_limit_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_customer_limit_config`;
+CREATE TABLE `crm_customer_limit_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `type` int NOT NULL COMMENT '瑙勫垯绫诲瀷',
+  `user_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯閫傜敤浜虹兢',
+  `dept_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯閫傜敤閮ㄩ棬',
+  `max_count` int DEFAULT NULL COMMENT '鏁伴噺涓婇檺',
+  `deal_count_enabled` tinyint(1) DEFAULT NULL COMMENT '鎴愪氦瀹㈡埛鏄惁鍗犳湁鎷ユ湁瀹㈡埛鏁�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 瀹㈡埛闄愬埗閰嶇疆琛�';
+
+-- ============ 琛細crm_customer_pool_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_customer_pool_config`;
+CREATE TABLE `crm_customer_pool_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍚敤瀹㈡埛鍏捣',
+  `contact_expire_days` int DEFAULT NULL COMMENT '鏈窡杩涙斁鍏ュ叕娴峰ぉ鏁�',
+  `deal_expire_days` int DEFAULT NULL COMMENT '鏈垚浜ゆ斁鍏ュ叕娴峰ぉ鏁�',
+  `notify_enabled` tinyint(1) DEFAULT NULL COMMENT '鏄惁寮�鍚彁鍓嶆彁閱�',
+  `notify_days` int DEFAULT NULL COMMENT '鎻愬墠鎻愰啋澶╂暟',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 瀹㈡埛鍏捣閰嶇疆琛�';
+
+-- ============ 琛細crm_follow_up_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_follow_up_record`;
+CREATE TABLE `crm_follow_up_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `biz_type` int NOT NULL COMMENT '鏁版嵁绫诲瀷',
+  `biz_id` bigint NOT NULL COMMENT '鏁版嵁缂栧彿',
+  `type` int DEFAULT NULL COMMENT '璺熻繘绫诲瀷',
+  `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璺熻繘鍐呭',
+  `next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `pic_urls` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖',
+  `business_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐨勫晢鏈虹紪鍙锋暟缁�',
+  `contact_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐨勮仈绯讳汉缂栧彿鏁扮粍',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 璺熻繘璁板綍琛�';
+
+-- ============ 琛細crm_invoice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_invoice`;
+CREATE TABLE `crm_invoice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '寮�绁ㄧ紪鍙�',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `owner_user_id` bigint NOT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `invoice_type` int NOT NULL COMMENT '鍙戠エ绫诲瀷锛堝瓧鍏� crm_invoice_type锛�',
+  `invoice_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鍙风爜',
+  `invoice_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鎶ご',
+  `price` decimal(18,2) NOT NULL COMMENT '寮�绁ㄩ噾棰濓紙鍏冿級',
+  `invoice_time` datetime DEFAULT NULL COMMENT '寮�绁ㄦ棩鏈�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `audit_status` int NOT NULL COMMENT '瀹℃壒鐘舵�侊紙crm_audit_status锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 寮�绁�';
+
+-- ============ 琛細crm_permission锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_permission`;
+CREATE TABLE `crm_permission` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿锛屼富閿嚜澧�',
+  `biz_type` int NOT NULL COMMENT '鏁版嵁绫诲瀷',
+  `biz_id` bigint NOT NULL COMMENT '鏁版嵁缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `level` int NOT NULL COMMENT '鏉冮檺绾у埆',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鏁版嵁鏉冮檺琛�';
+
+-- ============ 琛細crm_receivable锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_receivable`;
+CREATE TABLE `crm_receivable` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍥炴缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鍥炴璁″垝缂栧彿',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `invoice_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勫紑绁ㄧ紪鍙凤紝鍏宠仈 crm_invoice.id',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `return_time` datetime DEFAULT NULL COMMENT '鍥炴鏃ユ湡',
+  `return_type` int DEFAULT NULL COMMENT '鍥炴鏂瑰紡',
+  `price` decimal(24,6) DEFAULT NULL COMMENT '璁″垝鍥炴閲戦锛屽崟浣嶏細鍏�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `audit_status` int DEFAULT NULL COMMENT '瀹℃壒鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍥炴琛�';
+
+-- ============ 琛細crm_receivable_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_receivable_plan`;
+CREATE TABLE `crm_receivable_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `period` int DEFAULT NULL COMMENT '鏈熸暟',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `return_time` datetime DEFAULT NULL COMMENT '璁″垝鍥炴鏃ユ湡',
+  `return_type` int DEFAULT NULL COMMENT '璁″垝鍥炴绫诲瀷',
+  `price` decimal(24,6) DEFAULT NULL COMMENT '璁″垝鍥炴閲戦锛屽崟浣嶏細鍏�',
+  `receivable_id` bigint DEFAULT NULL COMMENT '鍥炴缂栧彿',
+  `remind_days` int DEFAULT NULL COMMENT '鎻愬墠鍑犲ぉ鎻愰啋',
+  `remind_time` datetime DEFAULT NULL COMMENT '鎻愰啋鏃ユ湡',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍥炴璁″垝琛�';
+
+-- ============ 琛細crm_sale_quotation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_sale_quotation`;
+CREATE TABLE `crm_sale_quotation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎶ヤ环鍗曞彿',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎶ヤ环鍗曞悕绉�',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `business_id` bigint DEFAULT NULL COMMENT '鍟嗘満缂栧彿',
+  `contact_id` bigint DEFAULT NULL COMMENT '鑱旂郴浜虹紪鍙�',
+  `owner_user_id` bigint NOT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鑽夌 10瀹℃壒涓� 20宸查�氳繃 30宸叉嫆缁� 40宸插彇娑� 50宸茶浆鍚堝悓锛�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `quotation_time` datetime DEFAULT NULL COMMENT '鎶ヤ环鏃ユ湡',
+  `valid_until` datetime DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',
+  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鎬婚噾棰�',
+  `discount_percent` decimal(10,2) DEFAULT '0.00' COMMENT '鏁村崟鎶樻墸(%)',
+  `discount_price` decimal(24,6) DEFAULT '0.000000' COMMENT '浼樻儬閲戦',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎶ヤ环鎬婚噾棰�',
+  `tax_rate` decimal(10,2) DEFAULT NULL COMMENT '绋庣巼(%)',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨',
+  `contract_id` bigint DEFAULT NULL COMMENT '鍏宠仈鍚堝悓缂栧彿',
+  `contract_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍏宠仈鍚堝悓鍗曞彿',
+  `remark` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_customer_id` (`customer_id`) USING BTREE,
+  KEY `idx_business_id` (`business_id`) USING BTREE,
+  KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 閿�鍞姤浠峰崟';
+
+-- ============ 琛細crm_sale_quotation_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_sale_quotation_product`;
+CREATE TABLE `crm_sale_quotation_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `quotation_id` bigint NOT NULL COMMENT '鎶ヤ环鍗曠紪鍙�',
+  `item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_unit_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_price` decimal(24,6) NOT NULL COMMENT '鐗╂枡鍘熶环锛堝啑浣欙級',
+  `quotation_price` decimal(24,6) NOT NULL COMMENT '鎶ヤ环鍗曚环',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '灏忚閲戦',
+  `tax_percent` decimal(10,2) DEFAULT NULL COMMENT '绋庣巼(%)',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨',
+  `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_quotation_id` (`quotation_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 閿�鍞姤浠峰崟浜у搧鏄庣粏';
+
+-- ============ 琛細crm_sales_target锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_sales_target`;
+CREATE TABLE `crm_sales_target` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鐩爣鍚嶇О',
+  `period_type` int NOT NULL COMMENT '鍛ㄦ湡绫诲瀷(瀛楀吀 crm_sales_target_period_type: 1骞�/2瀛e害/3鏈�)',
+  `period_value` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍛ㄦ湡鍊硷紝濡� 2026 / 2026-Q1 / 2026-07',
+  `start_time` datetime NOT NULL COMMENT '鍛ㄦ湡寮�濮嬫椂闂�(淇濆瓨鏃剁敱鍛ㄦ湡璁$畻鍐欏叆)',
+  `end_time` datetime NOT NULL COMMENT '鍛ㄦ湡缁撴潫鏃堕棿(淇濆瓨鏃剁敱鍛ㄦ湡璁$畻鍐欏叆)',
+  `target_dimension` int NOT NULL COMMENT '鐩爣缁村害(瀛楀吀 crm_sales_target_dimension: 1涓汉/2閮ㄩ棬/3浜у搧)',
+  `target_user_id` bigint DEFAULT NULL COMMENT '鐩爣鐢ㄦ埛缂栧彿(缁村害=涓汉)',
+  `target_dept_id` bigint DEFAULT NULL COMMENT '鐩爣閮ㄩ棬缂栧彿(缁村害=閮ㄩ棬)',
+  `target_item_id` bigint DEFAULT NULL COMMENT '鐩爣鐗╂枡缂栧彿(缁村害=浜у搧锛屽叧鑱� MDM)',
+  `contract_target` decimal(18,2) DEFAULT NULL COMMENT '鍚堝悓閲戦鐩爣(鍏�)',
+  `receivable_target` decimal(18,2) DEFAULT NULL COMMENT '鍥炴閲戦鐩爣(鍏�)',
+  `business_target` decimal(18,2) DEFAULT NULL COMMENT '鍟嗘満閲戦鐩爣(鍏�)',
+  `customer_target` int DEFAULT NULL COMMENT '鏂板瀹㈡埛鏁扮洰鏍�',
+  `contract_count_target` int DEFAULT NULL COMMENT '鏂板鍚堝悓鏁扮洰鏍�',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵��(瀛楀吀 crm_sales_target_status: 0鏈敓鏁�/1宸茬敓鏁�/2宸茬粨鏉�/3宸蹭綔搴�)',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_period` (`period_type`,`period_value`) USING BTREE,
+  KEY `idx_dimension` (`target_dimension`,`target_user_id`,`target_dept_id`,`target_item_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 閿�鍞洰鏍�';
+
+-- ============ 琛細erp_account锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_account`;
+CREATE TABLE `erp_account` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缁撶畻璐︽埛缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璐︽埛鍚嶇О',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璐︽埛缂栫爜',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` int NOT NULL COMMENT '寮�鍚姸鎬�',
+  `sort` int NOT NULL COMMENT '鎺掑簭',
+  `default_status` tinyint(1) NOT NULL COMMENT '鏄惁榛樿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 缁撶畻璐︽埛';
+
+-- ============ 琛細erp_finance_payment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_payment`;
+CREATE TABLE `erp_finance_payment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠樻鍗曞彿',
+  `status` int NOT NULL COMMENT '浠樻鐘舵��',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙凤紝鍏宠仈 BPM 娴佺▼瀹炰緥',
+  `payment_time` datetime NOT NULL COMMENT '浠樻鏃堕棿',
+  `finance_user_id` bigint DEFAULT NULL COMMENT '璐㈠姟浜哄憳缂栧彿',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `invoice_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勬潵绁ㄧ紪鍙凤紝鍏宠仈 erp_purchase_invoice.id',
+  `account_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠樻璐︽埛',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鍚堣浠锋牸锛屽崟浣嶏細鍏�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `payment_price` decimal(24,6) NOT NULL COMMENT '瀹炰粯閲戦锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 浠樻鍗�';
+
+-- ============ 琛細erp_finance_payment_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_payment_item`;
+CREATE TABLE `erp_finance_payment_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏ュ簱椤圭紪鍙�',
+  `payment_id` bigint DEFAULT NULL COMMENT '浠樻鍗曠紪鍙�',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `biz_id` bigint DEFAULT NULL COMMENT '涓氬姟缂栧彿',
+  `biz_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟鍗曞彿',
+  `total_price` decimal(24,6) NOT NULL COMMENT '搴斾粯閲戦锛屽崟浣嶏細鍒�',
+  `paid_price` decimal(24,6) NOT NULL COMMENT '宸蹭粯閲戦锛屽崟浣嶏細鍒�',
+  `payment_price` decimal(24,6) NOT NULL COMMENT '鏈浠樻锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 浠樻椤�';
+
+-- ============ 琛細erp_finance_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_receipt`;
+CREATE TABLE `erp_finance_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏀舵鍗曞彿',
+  `status` int NOT NULL COMMENT '鏀舵鐘舵��',
+  `receipt_time` datetime NOT NULL COMMENT '鏀舵鏃堕棿',
+  `finance_user_id` bigint DEFAULT NULL COMMENT '璐㈠姟浜哄憳缂栧彿',
+  `customer_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `account_id` bigint DEFAULT NULL COMMENT '鏀舵璐︽埛缂栧彿',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鍚堣浠锋牸锛屽崟浣嶏細鍏�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `receipt_price` decimal(24,6) NOT NULL COMMENT '瀹炴敹閲戦锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 鏀舵鍗�';
+
+-- ============ 琛細erp_finance_receipt_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_receipt_item`;
+CREATE TABLE `erp_finance_receipt_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏ュ簱椤圭紪鍙�',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鏀舵鍗曠紪鍙�',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `biz_id` bigint DEFAULT NULL COMMENT '涓氬姟缂栧彿',
+  `biz_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟鍗曞彿',
+  `total_price` decimal(24,6) NOT NULL COMMENT '搴旀敹閲戦锛屽崟浣嶏細鍒�',
+  `receipted_price` decimal(24,6) NOT NULL COMMENT '宸叉敹閲戦锛屽崟浣嶏細鍒�',
+  `receipt_price` decimal(24,6) NOT NULL COMMENT '鏈鏀舵锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 鏀舵椤�';
+
+-- ============ 琛細erp_purchase_invoice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_invoice`;
+CREATE TABLE `erp_purchase_invoice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏉ョエ缂栧彿',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `purchase_order_id` bigint NOT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `invoice_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鍙风爜',
+  `invoice_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鎶ご',
+  `price` decimal(24,6) NOT NULL COMMENT '鏉ョエ閲戦锛屽崟浣嶏細鍏�',
+  `invoice_time` datetime NOT NULL COMMENT '鏉ョエ鏃ユ湡',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='閲囪喘鏉ョエ';
+
+-- ============ 琛細erp_purchase_order锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_order`;
+CREATE TABLE `erp_purchase_order` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閲囪喘璁㈠崟鍙�',
+  `status` int NOT NULL COMMENT '閲囪喘鐘舵��',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `account_id` bigint DEFAULT NULL COMMENT '缁撶畻璐︽埛缂栧彿',
+  `order_time` datetime NOT NULL COMMENT '涓嬪崟鏃堕棿',
+  `total_count` decimal(24,6) NOT NULL COMMENT '鍚堣鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鏈�缁堝悎璁′环鏍硷紝鍗曚綅锛氬厓',
+  `total_product_price` decimal(24,6) NOT NULL COMMENT '鍚堣浜у搧浠锋牸锛屽崟浣嶏細鍏�',
+  `total_tax_price` decimal(24,6) NOT NULL COMMENT '鍚堣绋庨锛屽崟浣嶏細鍏�',
+  `discount_percent` decimal(24,6) NOT NULL COMMENT '浼樻儬鐜囷紝鐧惧垎姣�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `deposit_price` decimal(24,6) NOT NULL COMMENT '瀹氶噾閲戦锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `source_type` int DEFAULT NULL COMMENT '鏉ユ簮绫诲瀷',
+  `source_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曞彿',
+  `source_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `in_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘鍏ュ簱鏁伴噺',
+  `return_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘閫�璐ф暟閲�',
+  `in_status` tinyint DEFAULT '0' COMMENT '鍏ュ簱鐘舵�侊紙0:鏈叆搴� 1:閮ㄥ垎鍏ュ簱 2:鍏ㄩ儴鍏ュ簱锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘璁㈠崟';
+
+-- ============ 琛細erp_purchase_order_items锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_order_items`;
+CREATE TABLE `erp_purchase_order_items` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `request_item_id` bigint DEFAULT NULL COMMENT '閲囪喘鐢宠鏄庣粏缂栧彿',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧缂栧彿',
+  `product_unit_id` bigint DEFAULT NULL COMMENT '浜у搧鍗曚綅缂栧彿',
+  `product_price` decimal(24,6) NOT NULL COMMENT '浜у搧鍗曚綅鍗曚环锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鎬讳环锛屽崟浣嶏細鍏�',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼锛岀櫨鍒嗘瘮',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `in_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘鍏ュ簱鏁伴噺',
+  `return_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘閫�璐ф暟閲�',
+  `qc_check_flag` tinyint(1) DEFAULT '0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘璁㈠崟椤�';
+
+-- ============ 琛細erp_purchase_request锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_request`;
+CREATE TABLE `erp_purchase_request` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閲囪喘鐢宠鍗曞彿',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0:鏈彁浜� 10:瀹℃壒涓� 20:瀹℃牳閫氳繃 30:瀹℃牳涓嶉�氳繃 40:宸插彇娑堬級',
+  `request_user_id` bigint NOT NULL COMMENT '鐢宠浜虹紪鍙�',
+  `request_dept_id` bigint DEFAULT NULL COMMENT '鐢宠閮ㄩ棬缂栧彿',
+  `request_time` datetime NOT NULL COMMENT '鐢宠鏃堕棿',
+  `request_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠鐞嗙敱',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙凤紙鍙�夛級',
+  `total_count` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣浠锋牸',
+  `total_product_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣浜у搧浠锋牸',
+  `total_tax_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣绋庨',
+  `discount_percent` decimal(24,6) DEFAULT '0.000000' COMMENT '浼樻儬鐜囷紝鐧惧垎姣�',
+  `discount_price` decimal(24,6) DEFAULT '0.000000' COMMENT '浼樻儬閲戦',
+  `deposit_price` decimal(24,6) DEFAULT '0.000000' COMMENT '瀹氶噾閲戦',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `order_id` bigint DEFAULT NULL COMMENT '鐢熸垚鐨勯噰璐鍗曠紪鍙�',
+  `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熸垚鐨勯噰璐鍗曞彿',
+  `in_status` tinyint DEFAULT '0' COMMENT '鍏ュ簱鐘舵�侊紙0:鏈叆搴� 1:閮ㄥ垎鍏ュ簱 2:鍏ㄩ儴鍏ュ簱锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘鐢宠琛�';
+
+-- ============ 琛細erp_purchase_request_items锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_request_items`;
+CREATE TABLE `erp_purchase_request_items` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `request_id` bigint NOT NULL COMMENT '閲囪喘鐢宠缂栧彿',
+  `product_id` bigint NOT NULL COMMENT '浜у搧缂栧彿',
+  `product_unit_id` bigint DEFAULT NULL COMMENT '浜у搧鍗曚綅缂栧彿',
+  `product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鍙傝�冨崟浠�',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎬讳环',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼锛岀櫨鍒嗘瘮',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨',
+  `demand_time` datetime DEFAULT NULL COMMENT '闇�姹傛棩鏈�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `qc_check_flag` tinyint DEFAULT '0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `in_count` decimal(24,6) DEFAULT '0.000000' COMMENT '鍏ュ簱鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_request_id` (`request_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘鐢宠鏄庣粏琛�';
+
+-- ============ 琛細erp_sale_order锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_sale_order`;
+CREATE TABLE `erp_sale_order` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閿�鍞鍗曞彿',
+  `status` int NOT NULL COMMENT '閿�鍞姸鎬�',
+  `customer_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint DEFAULT NULL COMMENT '鍏宠仈 CRM 鍚堝悓缂栧彿',
+  `contract_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'CRM 鍚堝悓鍗曞彿',
+  `account_id` bigint DEFAULT NULL COMMENT '缁撶畻璐︽埛缂栧彿',
+  `sale_user_id` bigint DEFAULT NULL COMMENT '閿�鍞憳缂栧彿',
+  `order_time` datetime NOT NULL COMMENT '涓嬪崟鏃堕棿',
+  `total_count` decimal(24,6) NOT NULL COMMENT '鍚堣鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鏈�缁堝悎璁′环鏍硷紝鍗曚綅锛氬厓',
+  `total_product_price` decimal(24,6) NOT NULL COMMENT '鍚堣浜у搧浠锋牸锛屽崟浣嶏細鍏�',
+  `total_tax_price` decimal(24,6) NOT NULL COMMENT '鍚堣绋庨锛屽崟浣嶏細鍏�',
+  `discount_percent` decimal(24,6) NOT NULL COMMENT '浼樻儬鐜囷紝鐧惧垎姣�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `deposit_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '瀹氶噾閲戦锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `out_count` decimal(24,6) DEFAULT '0.000000' COMMENT '閿�鍞嚭搴撴暟閲�',
+  `out_status` tinyint DEFAULT '0' COMMENT '鍑哄簱鐘舵�侊紙0:鏈嚭搴� 1:閮ㄥ垎鍑哄簱 2:鍏ㄩ儴鍏ュ簱锛�',
+  `production_status` tinyint DEFAULT '0' COMMENT '鐢熶骇鐘舵�侊細0-鏈畬鎴愶紝1-宸插畬鎴�',
+  `production_finish_time` datetime DEFAULT NULL COMMENT '鐢熶骇瀹屾垚鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閿�鍞鍗�';
+
+-- ============ 琛細erp_sale_order_items锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_sale_order_items`;
+CREATE TABLE `erp_sale_order_items` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧缂栧彿',
+  `product_unit_id` bigint DEFAULT NULL COMMENT '浜у搧鍗曚綅缂栧彿',
+  `product_price` decimal(24,6) NOT NULL COMMENT '浜у搧鍗曚綅鍗曚环锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鎬讳环锛屽崟浣嶏細鍏�',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼锛岀櫨鍒嗘瘮',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `out_count` decimal(24,6) DEFAULT '0.000000' COMMENT '閿�鍞嚭搴撴暟閲�',
+  `need_production` tinyint DEFAULT '0' COMMENT '鏄惁闇�瑕佺敓浜э紙0=鍚� 1=鏄級',
+  `mps_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨凪PS缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閿�鍞鍗曢」';
+
+-- ============ 琛細erp_supplier锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_supplier`;
+CREATE TABLE `erp_supplier` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '渚涘簲鍟嗙紪鍙�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `contact` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙风爜',
+  `telephone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢靛瓙閭',
+  `fax` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼犵湡',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` int NOT NULL COMMENT '寮�鍚姸鎬�',
+  `sort` int NOT NULL COMMENT '鎺掑簭',
+  `tax_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绾崇◣浜鸿瘑鍒彿',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼',
+  `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴疯',
+  `bank_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴疯处鍙�',
+  `bank_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴峰湴鍧�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 渚涘簲鍟�';
+
+-- ============ 琛細finance_reimbursement锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `finance_reimbursement`;
+CREATE TABLE `finance_reimbursement` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `no` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎶ラ攢鍗曞彿',
+  `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎶ラ攢鏍囬',
+  `total_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鎶ラ攢鎬婚噾棰�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸查�氳繃 35-宸查┏鍥� 40-宸插綊妗�',
+  `applicant_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `apply_date` date NOT NULL COMMENT '鐢宠鏃ユ湡',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `archive_time` datetime DEFAULT NULL COMMENT '褰掓。鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_applicant_id` (`applicant_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='璐㈠姟-鎶ラ攢鍗�';
+
+-- ============ 琛細finance_reimbursement_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `finance_reimbursement_item`;
+CREATE TABLE `finance_reimbursement_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `reimbursement_id` bigint NOT NULL COMMENT '鎶ラ攢鍗旾D',
+  `expense_type` tinyint NOT NULL COMMENT '璐圭敤绫诲瀷锛�1-宸梾 2-鍔炲叕 3-鎷涘緟 4-浜ら�� 5-鍏朵粬',
+  `invoice_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戠エ鍙风爜',
+  `invoice_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鍙戠エ閲戦',
+  `invoice_date` date DEFAULT NULL COMMENT '鍙戠エ鏃ユ湡',
+  `drawer` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�绁ㄦ柟',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐圭敤璇存槑',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_reimbursement_id` (`reimbursement_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='璐㈠姟-鎶ラ攢鏄庣粏';
+
+-- ============ 琛細flw_channel_definition锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_channel_definition`;
+CREATE TABLE `flw_channel_definition` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `IMPLEMENTATION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DESCRIPTION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_IDX_CHANNEL_DEF_UNIQ` (`KEY_`,`VERSION_`,`TENANT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_event_definition锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_event_definition`;
+CREATE TABLE `flw_event_definition` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DESCRIPTION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_IDX_EVENT_DEF_UNIQ` (`KEY_`,`VERSION_`,`TENANT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_event_deployment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_event_deployment`;
+CREATE TABLE `flw_event_deployment` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOY_TIME_` datetime(3) DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_event_resource锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_event_resource`;
+CREATE TABLE `flw_event_resource` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `RESOURCE_BYTES_` longblob,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `FLW_IDX_EVENT_RSRC_DPL` (`DEPLOYMENT_ID_`) USING BTREE,
+  CONSTRAINT `FLW_FK_EVENT_RSRC_DPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `flw_event_deployment` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_ru_batch锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_ru_batch`;
+CREATE TABLE `flw_ru_batch` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `SEARCH_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SEARCH_KEY2_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) NOT NULL,
+  `COMPLETE_TIME_` datetime(3) DEFAULT NULL,
+  `STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BATCH_DOC_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_ru_batch_part锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_ru_batch_part`;
+CREATE TABLE `flw_ru_batch_part` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `BATCH_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SEARCH_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SEARCH_KEY2_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) NOT NULL,
+  `COMPLETE_TIME_` datetime(3) DEFAULT NULL,
+  `STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RESULT_DOC_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `FLW_IDX_BATCH_PART` (`BATCH_ID_`) USING BTREE,
+  CONSTRAINT `FLW_FK_BATCH_PART_PARENT` FOREIGN KEY (`BATCH_ID_`) REFERENCES `flw_ru_batch` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細hrm_attendance_exception锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_exception`;
+CREATE TABLE `hrm_attendance_exception` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `type` tinyint NOT NULL COMMENT '寮傚父绫诲瀷锛�1-琛ュ崱锛�2-鍔犵彮锛�3-鍑哄樊',
+  `exception_date` date NOT NULL COMMENT '寮傚父鏃ユ湡',
+  `exception_time` datetime DEFAULT NULL COMMENT '寮傚父鏃堕棿鐐�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍘熷洜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE,
+  KEY `idx_dept_date` (`dept_id`,`exception_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟寮傚父鐢宠琛�';
+
+-- ============ 琛細hrm_attendance_holiday锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_holiday`;
+CREATE TABLE `hrm_attendance_holiday` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑺傚亣鏃D',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑺傚亣鏃ュ悕绉�',
+  `date` date NOT NULL COMMENT '鏃ユ湡',
+  `type` tinyint NOT NULL DEFAULT '1' COMMENT '绫诲瀷锛�1-浼戞伅鏃ワ紝2-宸ヤ綔鏃�',
+  `is_legal` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁娉曞畾鑺傚亣鏃ワ細0-鍚︼紝1-鏄�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_date` (`date`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟鑺傚亣鏃ラ厤缃〃';
+
+-- ============ 琛細hrm_attendance_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_record`;
+CREATE TABLE `hrm_attendance_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `date` date NOT NULL COMMENT '鑰冨嫟鏃ユ湡',
+  `clock_in_time` datetime DEFAULT NULL COMMENT '涓婄彮鎵撳崱鏃堕棿',
+  `clock_out_time` datetime DEFAULT NULL COMMENT '涓嬬彮鎵撳崱鏃堕棿',
+  `clock_in_type` tinyint DEFAULT NULL COMMENT '涓婄彮鎵撳崱绫诲瀷锛�1-姝e父锛�2-杩熷埌锛�3-缂哄崱',
+  `clock_out_type` tinyint DEFAULT NULL COMMENT '涓嬬彮鎵撳崱绫诲瀷锛�1-姝e父锛�2-鏃╅��锛�3-缂哄崱',
+  `work_hours` decimal(4,2) DEFAULT NULL COMMENT '宸ヤ綔鏃堕暱锛堝皬鏃讹級',
+  `overtime_hours` decimal(4,2) DEFAULT '0.00' COMMENT '鍔犵彮鏃堕暱锛堝皬鏃讹級',
+  `location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵撳崱鍦扮偣',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `data_source` tinyint DEFAULT '1' COMMENT '鏁版嵁鏉ユ簮锛�1-鎵撳崱锛�2-瀵煎叆',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_date` (`user_id`,`date`) USING BTREE,
+  KEY `idx_dept_date` (`dept_id`,`date`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟鎵撳崱璁板綍琛�';
+
+-- ============ 琛細hrm_attendance_rule锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_rule`;
+CREATE TABLE `hrm_attendance_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瑙勫垯ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瑙勫垯鍚嶇О',
+  `dept_id` bigint DEFAULT NULL COMMENT '閫傜敤閮ㄩ棬ID锛堢┖琛ㄧず鍏ㄥ眬锛�',
+  `work_start_time` time NOT NULL COMMENT '涓婄彮鏃堕棿',
+  `work_end_time` time NOT NULL COMMENT '涓嬬彮鏃堕棿',
+  `late_allow_minutes` tinyint DEFAULT '0' COMMENT '杩熷埌鍏佽鍒嗛挓鏁�',
+  `early_allow_minutes` tinyint DEFAULT '0' COMMENT '鏃╅��鍏佽鍒嗛挓鏁�',
+  `overtime_threshold` decimal(4,2) DEFAULT '1.00' COMMENT '鍔犵彮璧风畻鏃堕暱锛堝皬鏃讹級',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟瑙勫垯閰嶇疆琛�';
+
+-- ============ 琛細hrm_attendance_summary锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_summary`;
+CREATE TABLE `hrm_attendance_summary` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '姹囨�籌D',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `year_month` varchar(7) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞存湀锛屾牸寮忥細yyyy-MM',
+  `work_days` int NOT NULL DEFAULT '0' COMMENT '搴斿嚭鍕ゅぉ鏁�',
+  `actual_days` int NOT NULL DEFAULT '0' COMMENT '瀹為檯鍑哄嫟澶╂暟',
+  `late_count` int NOT NULL DEFAULT '0' COMMENT '杩熷埌娆℃暟',
+  `early_count` int NOT NULL DEFAULT '0' COMMENT '鏃╅��娆℃暟',
+  `absent_count` int NOT NULL DEFAULT '0' COMMENT '缂哄崱娆℃暟',
+  `overtime_hours` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '鍔犵彮鏃堕暱锛堝皬鏃讹級',
+  `leave_hours` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '璇峰亣鏃堕暱锛堝皬鏃讹級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_year_month` (`user_id`,`year_month`,`deleted`) USING BTREE,
+  KEY `idx_dept_year_month` (`dept_id`,`year_month`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟缁熻姹囨�昏〃';
+
+-- ============ 琛細hrm_employee锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee`;
+CREATE TABLE `hrm_employee` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍛樺伐ID',
+  `user_id` bigint DEFAULT NULL COMMENT '绯荤粺鐢ㄦ埛id',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `post_id` bigint DEFAULT NULL COMMENT '宀椾綅ID',
+  `post_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宀椾綅ID鍒楄〃锛圝SON鏍煎紡锛�',
+  `employee_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍛樺伐缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍛樺伐濮撳悕',
+  `gender` tinyint DEFAULT NULL COMMENT '鎬у埆锛�1-鐢凤紝2-濂�',
+  `birthday` date DEFAULT NULL COMMENT '鍑虹敓鏃ユ湡',
+  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙风爜',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `id_card` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '韬唤璇佸彿',
+  `nation` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '姘戞棌',
+  `marriage_status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '濠氬Щ鐘舵��',
+  `age` int DEFAULT NULL COMMENT '骞撮緞',
+  `education` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀛﹀巻',
+  `political_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀挎不闈㈣矊',
+  `hire_date` date NOT NULL COMMENT '鍏ヨ亴鏃ユ湡',
+  `regular_date` date DEFAULT NULL COMMENT '杞鏃ユ湡',
+  `leave_date` date DEFAULT NULL COMMENT '绂昏亴鏃ユ湡',
+  `employee_status` tinyint NOT NULL DEFAULT '1' COMMENT '鍛樺伐鐘舵�侊細1-鍦ㄨ亴锛�2-璇曠敤锛�3-绂昏亴',
+  `annual_leave_balance` decimal(4,2) DEFAULT '0.00' COMMENT '骞村亣浣欓锛堝ぉ锛�',
+  `sick_leave_balance` decimal(4,2) DEFAULT '0.00' COMMENT '鐥呭亣浣欓锛堝ぉ锛�',
+  `salary_structure_id` bigint DEFAULT NULL COMMENT '钖叕缁撴瀯ID',
+  `base_salary` decimal(12,2) DEFAULT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `role_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊ID鍒楄〃锛圝SON鏍煎紡锛�',
+  `bank_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴烽摱琛�',
+  `bank_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閾惰璐﹀彿',
+  `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灞呬綇鍦板潃',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_employee_no` (`employee_no`) USING BTREE,
+  UNIQUE KEY `uk_phone` (`phone`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE,
+  KEY `idx_employee_status` (`employee_status`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐淇℃伅琛�';
+
+-- ============ 琛細hrm_employee_contract锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_contract`;
+CREATE TABLE `hrm_employee_contract` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍚堝悓ID',
+  `parent_id` bigint DEFAULT NULL COMMENT '缁涓婁竴浠藉悎鍚孖D',
+  `is_current` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁褰撳墠鐢熸晥鍚堝悓',
+  `contract_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `contract_type` tinyint NOT NULL COMMENT '鍚堝悓绫诲瀷锛�1-鍔冲姩鍚堝悓锛�2-鍔冲姟鍚堝悓锛�3-瀹炰範鍗忚锛�4-鍔冲姟娲鹃仯锛�5-鍏朵粬',
+  `contract_term_type` tinyint NOT NULL COMMENT '鍚堝悓鏈熼檺绫诲瀷锛�1-鍥哄畾鏈熼檺锛�2-鏃犲浐瀹氭湡闄愶紝3-浠ュ畬鎴愪竴瀹氬伐浣滀换鍔′负鏈熼檺',
+  `sign_company` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绛剧害涓讳綋锛堝叕鍙稿叏绉帮級',
+  `sign_date` date DEFAULT NULL COMMENT '绛捐鏃ユ湡',
+  `start_date` date NOT NULL COMMENT '鍚堝悓寮�濮嬫棩鏈�',
+  `end_date` date DEFAULT NULL COMMENT '鍚堝悓缁撴潫鏃ユ湡锛堟棤鍥哄畾鏈熼檺鍙负绌猴級',
+  `probation_start_date` date DEFAULT NULL COMMENT '璇曠敤鏈熷紑濮嬫棩鏈�',
+  `probation_end_date` date DEFAULT NULL COMMENT '璇曠敤鏈熺粨鏉熸棩鏈�',
+  `probation_salary` decimal(10,2) DEFAULT NULL COMMENT '璇曠敤鏈熷伐璧�',
+  `regular_salary` decimal(10,2) DEFAULT NULL COMMENT '杞宸ヨ祫',
+  `terminate_status` tinyint NOT NULL DEFAULT '0' COMMENT '瑙i櫎/缁堟鐘舵�侊細0-姝e父锛�1-宸茶В闄わ紝2-宸茬粓姝�',
+  `terminate_date` date DEFAULT NULL COMMENT '瑙i櫎/缁堟鏃ユ湡',
+  `terminate_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙i櫎/缁堟鍘熷洜',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_contract_no` (`contract_no`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE,
+  KEY `idx_end_date` (`end_date`) USING BTREE,
+  KEY `idx_terminate_status` (`terminate_status`) USING BTREE,
+  KEY `idx_parent_id` (`parent_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐鍚堝悓琛�';
+
+-- ============ 琛細hrm_employee_education锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_education`;
+CREATE TABLE `hrm_employee_education` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `school_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛︽牎鍚嶇О',
+  `major` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓撲笟',
+  `degree` tinyint NOT NULL COMMENT '瀛﹀巻锛�1-楂樹腑锛�2-澶т笓锛�3-鏈锛�4-纭曞+锛�5-鍗氬+',
+  `start_date` date NOT NULL COMMENT '鍏ュ鏃堕棿',
+  `end_date` date NOT NULL COMMENT '姣曚笟鏃堕棿',
+  `certificate_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佷功缂栧彿',
+  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐鏁欒偛缁忓巻琛�';
+
+-- ============ 琛細hrm_employee_emergency_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_emergency_contact`;
+CREATE TABLE `hrm_employee_emergency_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜哄鍚�',
+  `relationship` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓庡憳宸ュ叧绯�',
+  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鍦板潃',
+  `sort` tinyint DEFAULT '1' COMMENT '鎺掑簭锛堝彲璁剧疆澶氫釜绱ф�ヨ仈绯讳汉锛�',
+  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐绱ф�ヨ仈绯讳汉琛�';
+
+-- ============ 琛細hrm_employee_salary锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_salary`;
+CREATE TABLE `hrm_employee_salary` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '妗fID',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `salary_structure_id` bigint NOT NULL COMMENT '钖叕缁撴瀯ID',
+  `base_salary` decimal(12,2) NOT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `performance_salary` decimal(12,2) DEFAULT NULL COMMENT '缁╂晥宸ヨ祫',
+  `meal_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '椁愯ˉ',
+  `transport_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '浜ら�氳ˉ璐�',
+  `other_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '鍏朵粬琛ヨ创',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_effective` (`user_id`,`effective_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐钖叕妗f琛�';
+
+-- ============ 琛細hrm_employee_schedule锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_schedule`;
+CREATE TABLE `hrm_employee_schedule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎺掔彮ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID锛屽叧鑱� hrm_employee.id',
+  `date` date NOT NULL COMMENT '鎺掔彮鏃ユ湡',
+  `shift_id` bigint DEFAULT NULL COMMENT '鐝ID锛屽叧鑱� hrm_shift.id锛屼负绌鸿〃绀轰紤鎭�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_employee_date` (`employee_id`,`date`) USING BTREE,
+  KEY `idx_date` (`date`) USING BTREE,
+  KEY `idx_shift_id` (`shift_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐鎺掔彮鏄庣粏琛�';
+
+-- ============ 琛細hrm_employee_social_security锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_social_security`;
+CREATE TABLE `hrm_employee_social_security` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '妗fID',
+  `user_id` bigint NOT NULL COMMENT '绯荤粺鐢ㄦ埛ID',
+  `social_security_scheme_id` bigint NOT NULL COMMENT '绀句繚鍏Н閲戞柟妗圛D',
+  `social_security_base` decimal(12,2) NOT NULL COMMENT '绀句繚缂寸撼鍩烘暟',
+  `housing_fund_base` decimal(12,2) NOT NULL COMMENT '鍏Н閲戠即绾冲熀鏁�',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_effective` (`user_id`,`effective_date`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_scheme_id` (`social_security_scheme_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐绀句繚鍏Н閲戞。妗堣〃';
+
+-- ============ 琛細hrm_employee_work_history锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_work_history`;
+CREATE TABLE `hrm_employee_work_history` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `company_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏徃鍚嶇О',
+  `position` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱屼綅',
+  `start_date` date NOT NULL COMMENT '鍏ヨ亴鏃堕棿',
+  `end_date` date DEFAULT NULL COMMENT '绂昏亴鏃堕棿',
+  `work_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔鍐呭',
+  `leave_reason` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绂昏亴鍘熷洜',
+  `reference_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佹槑浜哄鍚�',
+  `reference_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佹槑浜虹數璇�',
+  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐宸ヤ綔缁忓巻琛�';
+
+-- ============ 琛細hrm_leave_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_leave_application`;
+CREATE TABLE `hrm_leave_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `leave_type` tinyint NOT NULL COMMENT '璇峰亣绫诲瀷锛�1-浜嬪亣锛�2-鐥呭亣锛�3-骞村亣锛�4-濠氬亣锛�5-浜у亣锛�6-涓у亣',
+  `start_time` datetime NOT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime NOT NULL COMMENT '缁撴潫鏃堕棿',
+  `duration` decimal(4,2) NOT NULL COMMENT '璇峰亣鏃堕暱锛堝ぉ锛�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇峰亣鍘熷洜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE,
+  KEY `idx_dept_time` (`dept_id`,`start_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM璇峰亣鐢宠琛�';
+
+-- ============ 琛細hrm_leave_type_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_leave_type_config`;
+CREATE TABLE `hrm_leave_type_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `leave_type` int NOT NULL COMMENT '璇峰亣绫诲瀷锛�1-浜嬪亣, 2-鐥呭亣, 3-骞村亣, 4-濠氬亣, 5-浜у亣, 6-涓у亣',
+  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '绫诲瀷鍚嶇О',
+  `deduction_ratio` decimal(5,4) NOT NULL DEFAULT '0.0000' COMMENT '鎵f姣斾緥锛�0-1涔嬮棿锛屽0.5琛ㄧず鎵�50%锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤, 1-绂佺敤',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓浜�',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊浜�',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='璇峰亣绫诲瀷鎵f閰嶇疆';
+
+-- ============ 琛細hrm_overtime_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_overtime_application`;
+CREATE TABLE `hrm_overtime_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '绯荤粺鐢ㄦ埛ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `overtime_date` date NOT NULL COMMENT '鍔犵彮鏃ユ湡',
+  `start_time` time NOT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` time NOT NULL COMMENT '缁撴潫鏃堕棿',
+  `duration` decimal(6,1) NOT NULL COMMENT '鎵i櫎鐢ㄩ鍚庣殑鍔犵彮鏃堕暱锛�0.5灏忔椂鍙栨暣锛�',
+  `overtime_type` tinyint NOT NULL COMMENT '1-宸ヤ綔鏃ワ紝2-浼戞伅鏃ワ紝3-娉曞畾鑺傚亣鏃�',
+  `cross_day` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁璺ㄥぉ',
+  `meal_deduction` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎵i櫎鐢ㄩ鏃堕棿',
+  `meal_deduction_hours` decimal(4,1) NOT NULL DEFAULT '0.0' COMMENT '鐢ㄩ鎵i櫎灏忔椂鏁�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍔犵彮鍘熷洜',
+  `related_type` tinyint DEFAULT NULL COMMENT '鍏宠仈绫诲瀷锛�1-椤圭洰锛�2-宸ュ崟',
+  `related_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰/宸ュ崟缂栧彿',
+  `work_content` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔鍐呭绠�杩�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗忓悓鍔炲叕娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_hrm_overtime_no` (`no`) USING BTREE,
+  KEY `idx_hrm_overtime_user_date_status` (`user_id`,`overtime_date`,`status`) USING BTREE,
+  KEY `idx_hrm_overtime_process_instance` (`process_instance_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍔犵彮鐢宠琛�';
+
+-- ============ 琛細hrm_resignation_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_resignation_application`;
+CREATE TABLE `hrm_resignation_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `resignation_type` tinyint NOT NULL COMMENT '绂昏亴绫诲瀷锛�1-涓诲姩绂昏亴锛�2-琚姩绂昏亴锛�3-鍚堝悓鍒版湡',
+  `expected_date` date NOT NULL COMMENT '棰勮绂昏亴鏃ユ湡',
+  `actual_date` date DEFAULT NULL COMMENT '瀹為檯绂昏亴鏃ユ湡',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绂昏亴鍘熷洜',
+  `handover_user_id` bigint DEFAULT NULL COMMENT '浜ゆ帴浜篒D',
+  `handover_status` tinyint DEFAULT '0' COMMENT '浜ゆ帴鐘舵�侊細0-鏈紑濮嬶紝10-杩涜涓紝20-宸插畬鎴�',
+  `handover_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浜ゆ帴璇存槑',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE,
+  KEY `idx_dept_time` (`dept_id`,`expected_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM绂昏亴鐢宠琛�';
+
+-- ============ 琛細hrm_salary_calculation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_calculation`;
+CREATE TABLE `hrm_salary_calculation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏍哥畻ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏍哥畻鍗曞彿',
+  `period` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏍哥畻鍛ㄦ湡锛堝2024-01锛�',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `base_salary` decimal(12,2) NOT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `performance_salary` decimal(12,2) DEFAULT NULL COMMENT '缁╂晥宸ヨ祫',
+  `overtime_pay` decimal(12,2) DEFAULT '0.00' COMMENT '鍔犵彮宸ヨ祫',
+  `meal_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '椁愯ˉ',
+  `transport_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '浜ら�氳ˉ璐�',
+  `other_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '鍏朵粬琛ヨ创',
+  `social_security_deduction` decimal(12,2) DEFAULT NULL COMMENT '绀句繚鎵i櫎',
+  `housing_fund_deduction` decimal(12,2) DEFAULT NULL COMMENT '鍏Н閲戞墸闄�',
+  `tax_deduction` decimal(12,2) DEFAULT NULL COMMENT '涓◣鎵i櫎',
+  `other_deduction` decimal(12,2) DEFAULT '0.00' COMMENT '鍏朵粬鎵i櫎',
+  `leave_deduction` decimal(10,2) DEFAULT '0.00' COMMENT '璇峰亣鎵f',
+  `actual_salary` decimal(12,2) NOT NULL COMMENT '瀹炲彂宸ヨ祫',
+  `work_days` tinyint DEFAULT NULL COMMENT '鍑哄嫟澶╂暟',
+  `overtime_hours` decimal(4,2) DEFAULT NULL COMMENT '鍔犵彮鏃堕暱',
+  `total_work_hours` decimal(8,2) DEFAULT NULL COMMENT '鎺掔彮鎬诲伐鏃讹紙灏忔椂锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呯‘璁わ紝10-宸茬‘璁わ紝20-宸插彂鏀�',
+  `confirm_time` datetime DEFAULT NULL COMMENT '纭鏃堕棿',
+  `confirm_user_id` bigint DEFAULT NULL COMMENT '纭浜篒D',
+  `payment_time` datetime DEFAULT NULL COMMENT '鍙戞斁鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_period` (`user_id`,`period`) USING BTREE,
+  KEY `idx_dept_period` (`dept_id`,`period`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM钖叕鏍哥畻璁板綍琛�';
+
+-- ============ 琛細hrm_salary_payment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_payment`;
+CREATE TABLE `hrm_salary_payment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍙戞斁ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戞斁鍗曞彿',
+  `period` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戞斁鍛ㄦ湡',
+  `total_amount` decimal(14,2) DEFAULT NULL COMMENT '鍙戞斁鎬婚噾棰�',
+  `total_count` int DEFAULT NULL COMMENT '鍙戞斁浜烘暟',
+  `payment_method` tinyint DEFAULT NULL COMMENT '鍙戞斁鏂瑰紡锛�1-閾惰杞处锛�2-鐜伴噾',
+  `payment_time` datetime DEFAULT NULL COMMENT '鍙戞斁鏃堕棿',
+  `status` tinyint DEFAULT '0' COMMENT '鐘舵�侊細0-寰呭彂鏀撅紝10-宸插彂鏀�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_period` (`period`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM钖祫鍙戞斁鍙拌处琛�';
+
+-- ============ 琛細hrm_salary_payment_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_payment_detail`;
+CREATE TABLE `hrm_salary_payment_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `payment_id` bigint NOT NULL COMMENT '鍙戞斁鍙拌处ID',
+  `calculation_id` bigint NOT NULL COMMENT '钖叕鏍哥畻ID',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint DEFAULT NULL COMMENT '閮ㄩ棬ID',
+  `actual_salary` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '瀹炲彂宸ヨ祫',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鍙戞斁鐘舵�侊細0-寰呭彂鏀撅紝10-宸插彂鏀�',
+  `payment_time` datetime DEFAULT NULL COMMENT '鍙戞斁鏃堕棿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓浜�',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊浜�',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_payment_id` (`payment_id`) USING BTREE,
+  KEY `idx_calculation_id` (`calculation_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='钖祫鍙戞斁鏄庣粏';
+
+-- ============ 琛細hrm_salary_structure锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_structure`;
+CREATE TABLE `hrm_salary_structure` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缁撴瀯ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '缁撴瀯鍚嶇О',
+  `base_salary` decimal(12,2) NOT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `performance_ratio` decimal(4,2) DEFAULT '0.00' COMMENT '缁╂晥宸ヨ祫鍗犳瘮锛�%锛�',
+  `overtime_pay_ratio` decimal(4,2) DEFAULT '1.50' COMMENT '鍔犵彮宸ヨ祫鍊嶇巼',
+  `rest_day_overtime_pay_ratio` decimal(4,2) DEFAULT '2.00' COMMENT '浼戞伅鏃ュ姞鐝伐璧勫�嶇巼',
+  `legal_holiday_overtime_pay_ratio` decimal(4,2) DEFAULT '3.00' COMMENT '娉曞畾鑺傚亣鏃ュ姞鐝伐璧勫�嶇巼',
+  `social_security_base` decimal(12,2) DEFAULT NULL COMMENT '绀句繚鍩烘暟',
+  `housing_fund_base` decimal(12,2) DEFAULT NULL COMMENT '鍏Н閲戝熀鏁�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM钖叕缁撴瀯琛�';
+
+-- ============ 琛細hrm_shift锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_shift`;
+CREATE TABLE `hrm_shift` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐝鍚嶇О',
+  `start_time` time NOT NULL COMMENT '涓婄彮鏃堕棿',
+  `end_time` time NOT NULL COMMENT '涓嬬彮鏃堕棿',
+  `work_hours` decimal(5,2) DEFAULT NULL COMMENT '鏍囧噯宸ユ椂锛堝皬鏃讹級',
+  `cross_day` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁璺ㄥぉ',
+  `color` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囩棰滆壊锛堝崄鍏繘鍒讹級',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鐝瀹氫箟琛�';
+
+-- ============ 琛細hrm_social_security_scheme锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_social_security_scheme`;
+CREATE TABLE `hrm_social_security_scheme` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏂规ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂规鍚嶇О',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `pension_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.1600' COMMENT '鍏昏�佷繚闄╀紒涓氱即绾虫瘮渚�',
+  `pension_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.0800' COMMENT '鍏昏�佷繚闄╀釜浜虹即绾虫瘮渚�',
+  `medical_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.0950' COMMENT '鍖荤枟淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `medical_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.0200' COMMENT '鍖荤枟淇濋櫓涓汉缂寸撼姣斾緥',
+  `unemployment_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '澶变笟淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `unemployment_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '澶变笟淇濋櫓涓汉缂寸撼姣斾緥',
+  `work_injury_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '宸ヤ激淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `maternity_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '鐢熻偛淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `housing_fund_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.1200' COMMENT '鍏Н閲戜紒涓氱即绾虫瘮渚�',
+  `housing_fund_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.1200' COMMENT '鍏Н閲戜釜浜虹即绾虫瘮渚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_effective_date` (`effective_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM绀句繚鍏Н閲戞柟妗堣〃';
+
+-- ============ 琛細hrm_tax_rate_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_tax_rate_config`;
+CREATE TABLE `hrm_tax_rate_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閰嶇疆ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閰嶇疆鍚嶇О',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `level` tinyint NOT NULL COMMENT '绋庣巼绾ф暟锛�1-7',
+  `min_amount` decimal(12,2) NOT NULL COMMENT '搴旂撼绋庢墍寰楅涓嬮檺锛堝惈锛�',
+  `max_amount` decimal(12,2) NOT NULL COMMENT '搴旂撼绋庢墍寰楅涓婇檺锛堜笉鍚級锛�0琛ㄧず鏃犱笂闄�',
+  `tax_rate` decimal(5,4) NOT NULL COMMENT '绋庣巼',
+  `quick_deduction` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '閫熺畻鎵i櫎鏁�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_effective_date` (`effective_date`) USING BTREE,
+  KEY `idx_level` (`level`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM涓◣绋庣巼閰嶇疆琛�';
+
+-- ============ 琛細hrm_transfer_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_transfer_application`;
+CREATE TABLE `hrm_transfer_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `current_dept_id` bigint NOT NULL COMMENT '鍘熼儴闂↖D',
+  `current_post_id` bigint NOT NULL COMMENT '鍘熷矖浣岻D',
+  `target_dept_id` bigint NOT NULL COMMENT '鐩爣閮ㄩ棬ID',
+  `target_post_id` bigint NOT NULL COMMENT '鐩爣宀椾綅ID',
+  `transfer_type` tinyint NOT NULL COMMENT '璋冨矖绫诲瀷锛�1-骞宠皟锛�2-鍗囪亴锛�3-闄嶈亴',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璋冨矖鍘熷洜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM璋冨矖鐢宠琛�';
+
+-- ============ 琛細im_channel锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_channel`;
+CREATE TABLE `im_channel` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '棰戦亾涓氬姟鐮�',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '棰戦亾鍚嶇О',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰戦亾澶村儚',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 棰戦亾琛�';
+
+-- ============ 琛細im_channel_material锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_channel_material`;
+CREATE TABLE `im_channel_material` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `channel_id` bigint NOT NULL COMMENT '棰戦亾缂栧彿',
+  `type` tinyint NOT NULL COMMENT '绱犳潗鍐呭绫诲瀷',
+  `title` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏍囬',
+  `cover_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灏侀潰鍥�',
+  `summary` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎽樿',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '瀵屾枃鏈� HTML',
+  `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璺宠浆閾炬帴',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_channel_id` (`channel_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 棰戦亾绱犳潗琛�';
+
+-- ============ 琛細im_channel_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_channel_message`;
+CREATE TABLE `im_channel_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `channel_id` bigint NOT NULL COMMENT '棰戦亾缂栧彿',
+  `material_id` bigint DEFAULT NULL COMMENT '鍏宠仈绱犳潗缂栧彿',
+  `type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '娑堟伅鍐呭 JSON',
+  `receiver_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺ユ敹浜虹紪鍙峰垪琛�',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_channel_id` (`channel_id`) USING BTREE,
+  KEY `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 棰戦亾娑堟伅琛�';
+
+-- ============ 琛細im_conversation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_conversation`;
+CREATE TABLE `im_conversation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浼氳瘽缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `conversation_type` tinyint NOT NULL COMMENT '浼氳瘽绫诲瀷锛�1绉佽亰 2缇よ亰锛�',
+  `target_id` bigint NOT NULL COMMENT '鐩爣缂栧彿锛堢鑱婁负鐢ㄦ埛ID锛岀兢鑱婁负缇D锛�',
+  `last_message_id` bigint DEFAULT NULL COMMENT '鏈�鍚庢秷鎭紪鍙�',
+  `last_message_time` datetime DEFAULT NULL COMMENT '鏈�鍚庢秷鎭椂闂�',
+  `unread_count` int NOT NULL DEFAULT '0' COMMENT '鏈娑堟伅鏁�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_target_type` (`user_id`,`target_id`,`conversation_type`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='浼氳瘽琛�';
+
+-- ============ 琛細im_conversation_read锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_conversation_read`;
+CREATE TABLE `im_conversation_read` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `conversation_type` tinyint NOT NULL COMMENT '浼氳瘽绫诲瀷锛�1绉佽亰 2缇よ亰 3棰戦亾锛�',
+  `target_id` bigint NOT NULL COMMENT '鐩爣缂栧彿',
+  `message_id` bigint NOT NULL COMMENT '鏈�澶у凡璇绘秷鎭紪鍙�',
+  `read_time` datetime DEFAULT NULL COMMENT '鏈�杩戝凡璇绘椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_conv` (`user_id`,`conversation_type`,`target_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 浼氳瘽璇讳綅缃〃';
+
+-- ============ 琛細im_face_pack锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_face_pack`;
+CREATE TABLE `im_face_pack` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄦ儏鍖呭悕绉�',
+  `icon` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ㄦ儏鍖呭浘鏍�',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 琛ㄦ儏鍖呰〃';
+
+-- ============ 琛細im_face_pack_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_face_pack_item`;
+CREATE TABLE `im_face_pack_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `pack_id` bigint NOT NULL COMMENT '鎵�灞炶〃鎯呭寘缂栧彿',
+  `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄦ儏鍥� URL',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ㄦ儏鍚�',
+  `width` int DEFAULT NULL COMMENT '娓叉煋瀹藉害锛堝儚绱狅級',
+  `height` int DEFAULT NULL COMMENT '娓叉煋楂樺害锛堝儚绱狅級',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_pack_id` (`pack_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 琛ㄦ儏鍖呴」琛�';
+
+-- ============ 琛細im_face_user_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_face_user_item`;
+CREATE TABLE `im_face_user_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鎵�灞炵敤鎴风紪鍙�',
+  `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄦ儏鍥� URL',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ㄦ儏鍚�',
+  `width` int DEFAULT NULL COMMENT '娓叉煋瀹藉害锛堝儚绱狅級',
+  `height` int DEFAULT NULL COMMENT '娓叉煋楂樺害锛堝儚绱狅級',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 鐢ㄦ埛绉佹湁琛ㄦ儏琛�';
+
+-- ============ 琛細im_friend锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_friend`;
+CREATE TABLE `im_friend` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `friend_user_id` bigint NOT NULL COMMENT '濂藉弸鐢ㄦ埛缂栧彿',
+  `silent` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏嶆墦鎵�',
+  `display_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '濂藉弸灞曠ず澶囨敞',
+  `add_source` tinyint DEFAULT NULL COMMENT '娣诲姞鏉ユ簮',
+  `pinned` bit(1) DEFAULT b'0' COMMENT '鏄惁缃《鑱旂郴浜�',
+  `blocked` bit(1) DEFAULT b'0' COMMENT '鏄惁鎷夐粦',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '濂藉弸鐘舵�侊紙0姝e父 1绂佺敤/宸插垹闄わ級',
+  `add_time` datetime DEFAULT NULL COMMENT '娣诲姞濂藉弸鏃堕棿',
+  `delete_time` datetime DEFAULT NULL COMMENT '鍒犻櫎濂藉弸鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_friend` (`user_id`,`friend_user_id`) USING BTREE,
+  KEY `idx_friend_user_id` (`friend_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 濂藉弸鍏崇郴琛�';
+
+-- ============ 琛細im_friend_request锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_friend_request`;
+CREATE TABLE `im_friend_request` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `from_user_id` bigint NOT NULL COMMENT '鍙戣捣鏂圭敤鎴风紪鍙�',
+  `to_user_id` bigint NOT NULL COMMENT '鎺ユ敹鏂圭敤鎴风紪鍙�',
+  `apply_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠鐞嗙敱',
+  `display_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戣捣鏂瑰鎺ユ敹鏂圭殑澶囨敞',
+  `add_source` tinyint DEFAULT NULL COMMENT '娣诲姞鏉ユ簮',
+  `handle_result` tinyint DEFAULT NULL COMMENT '澶勭悊缁撴灉',
+  `handle_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鐞嗙敱',
+  `handle_time` datetime DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_from_user_id` (`from_user_id`) USING BTREE,
+  KEY `idx_to_user_id` (`to_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 濂藉弸鐢宠璁板綍琛�';
+
+-- ============ 琛細im_group锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group`;
+CREATE TABLE `im_group` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '缇ゅ悕绉�',
+  `owner_user_id` bigint NOT NULL COMMENT '缇や富鐢ㄦ埛缂栧彿',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ゅご鍍�',
+  `notice` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ゅ叕鍛�',
+  `join_approval` bit(1) DEFAULT b'0' COMMENT '杩涚兢鏄惁闇�瀹℃壒',
+  `banned` bit(1) DEFAULT b'0' COMMENT '鏄惁灏佺',
+  `banned_reason` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灏佺鍘熷洜',
+  `banned_time` datetime DEFAULT NULL COMMENT '灏佺鏃堕棿',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '缇ょ姸鎬侊紙0姝e父 1宸茶В鏁o級',
+  `dissolved_time` datetime DEFAULT NULL COMMENT '瑙f暎鏃堕棿',
+  `muted_all` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏ㄧ兢绂佽█',
+  `pinned_message_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ょ疆椤舵秷鎭紪鍙峰垪琛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 缇や俊鎭〃';
+
+-- ============ 琛細im_group_member锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_member`;
+CREATE TABLE `im_group_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `group_id` bigint NOT NULL COMMENT '缇ょ紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `display_user_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁勫唴鏄剧ず鍚�',
+  `group_remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ゅ娉�',
+  `silent` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏嶆墦鎵�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鎴愬憳鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `role` tinyint NOT NULL DEFAULT '0' COMMENT '鎴愬憳瑙掕壊锛�0鏅�氭垚鍛� 1绠$悊鍛� 2缇や富锛�',
+  `join_time` datetime DEFAULT NULL COMMENT '鍏ョ兢鏃堕棿',
+  `add_source` tinyint DEFAULT NULL COMMENT '鍔犲叆鏉ユ簮',
+  `inviter_user_id` bigint DEFAULT NULL COMMENT '閭�璇蜂汉鐢ㄦ埛缂栧彿',
+  `quit_time` datetime DEFAULT NULL COMMENT '閫�缇ゆ椂闂�',
+  `mute_end_time` datetime DEFAULT NULL COMMENT '绂佽█鍒版湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_group_user` (`group_id`,`user_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 缇ゆ垚鍛樿〃';
+
+-- ============ 琛細im_group_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_message`;
+CREATE TABLE `im_group_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `client_message_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀹㈡埛绔秷鎭紪鍙�',
+  `sender_id` bigint NOT NULL COMMENT '鍙戦�佷汉缂栧彿',
+  `group_id` bigint NOT NULL COMMENT '缇ょ紪鍙�',
+  `type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '娑堟伅鍐呭 JSON',
+  `status` tinyint DEFAULT NULL COMMENT '娑堟伅鐘舵��',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `receiver_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀹氬悜鎺ユ敹鐢ㄦ埛缂栧彿鍒楄〃',
+  `at_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '@鐩爣鐢ㄦ埛缂栧彿鍒楄〃',
+  `receipt_status` tinyint DEFAULT NULL COMMENT '鍥炴墽鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_client_message_id` (`client_message_id`) USING BTREE,
+  KEY `idx_group_id` (`group_id`) USING BTREE,
+  KEY `idx_sender_id` (`sender_id`) USING BTREE,
+  KEY `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 缇よ亰娑堟伅琛�';
+
+-- ============ 琛細im_group_message_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_message_receipt`;
+CREATE TABLE `im_group_message_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `message_id` bigint NOT NULL COMMENT '缇ゆ秷鎭紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `read_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '宸茶鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_message_user` (`message_id`,`user_id`) USING BTREE,
+  KEY `idx_message_id` (`message_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='缇ゆ秷鎭洖鎵ц〃';
+
+-- ============ 琛細im_group_request锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_request`;
+CREATE TABLE `im_group_request` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `group_id` bigint NOT NULL COMMENT '缇ょ紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜�/琚個璇蜂汉鐢ㄦ埛缂栧彿',
+  `inviter_user_id` bigint DEFAULT NULL COMMENT '閭�璇蜂汉鐢ㄦ埛缂栧彿',
+  `apply_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠鐞嗙敱',
+  `add_source` tinyint DEFAULT NULL COMMENT '鍔犲叆鏉ユ簮',
+  `handle_result` tinyint DEFAULT NULL COMMENT '澶勭悊缁撴灉',
+  `handle_user_id` bigint DEFAULT NULL COMMENT '澶勭悊浜虹敤鎴风紪鍙�',
+  `handle_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鐞嗙敱',
+  `handle_time` datetime DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_group_id` (`group_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 鍔犵兢鐢宠璁板綍琛�';
+
+-- ============ 琛細im_message_file锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_message_file`;
+CREATE TABLE `im_message_file` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `message_id` bigint NOT NULL COMMENT '娑堟伅缂栧彿',
+  `message_type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷锛�102鍥剧墖 103璇煶 104瑙嗛 105鏂囦欢锛�',
+  `file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏂囦欢URL',
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鍚�',
+  `file_size` bigint DEFAULT NULL COMMENT '鏂囦欢澶у皬锛堝瓧鑺傦級',
+  `file_duration` int DEFAULT NULL COMMENT '鏂囦欢鏃堕暱锛堢锛岃闊�/瑙嗛锛�',
+  `width` int DEFAULT NULL COMMENT '瀹藉害锛堝浘鐗�/瑙嗛锛�',
+  `height` int DEFAULT NULL COMMENT '楂樺害锛堝浘鐗�/瑙嗛锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_message_id` (`message_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='娑堟伅鏂囦欢琛�';
+
+-- ============ 琛細im_private_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_private_message`;
+CREATE TABLE `im_private_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `client_message_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀹㈡埛绔秷鎭紪鍙�',
+  `sender_id` bigint NOT NULL COMMENT '鍙戦�佷汉缂栧彿',
+  `receiver_id` bigint NOT NULL COMMENT '鎺ユ敹浜虹紪鍙�',
+  `type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '娑堟伅鍐呭 JSON',
+  `status` tinyint DEFAULT NULL COMMENT '娑堟伅鐘舵��',
+  `receipt_status` tinyint DEFAULT NULL COMMENT '鍥炴墽鐘舵��',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_client_message_id` (`client_message_id`) USING BTREE,
+  KEY `idx_sender_id` (`sender_id`) USING BTREE,
+  KEY `idx_receiver_id` (`receiver_id`) USING BTREE,
+  KEY `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 绉佽亰娑堟伅琛�';
+
+-- ============ 琛細im_rtc_call锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_rtc_call`;
+CREATE TABLE `im_rtc_call` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `room` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟閫氳瘽缂栧彿锛圲UID锛�',
+  `conversation_type` tinyint NOT NULL COMMENT '浼氳瘽绫诲瀷',
+  `media_type` tinyint NOT NULL COMMENT '濯掍綋绫诲瀷',
+  `inviter_user_id` bigint NOT NULL COMMENT '鍙戣捣浜虹敤鎴风紪鍙�',
+  `group_id` bigint DEFAULT NULL COMMENT '缇ょ紪鍙�',
+  `status` tinyint NOT NULL COMMENT '閫氳瘽鐘舵��',
+  `end_reason` tinyint DEFAULT NULL COMMENT '缁撴潫鍘熷洜',
+  `start_time` datetime DEFAULT NULL COMMENT '鍙戣捣鏃堕棿',
+  `accept_time` datetime DEFAULT NULL COMMENT '鎺ラ�氭椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '閫氳瘽缁撴潫鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_room` (`room`) USING BTREE,
+  KEY `idx_inviter_user_id` (`inviter_user_id`) USING BTREE,
+  KEY `idx_group_id` (`group_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 閫氳瘽璁板綍琛�';
+
+-- ============ 琛細im_rtc_participant锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_rtc_participant`;
+CREATE TABLE `im_rtc_participant` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `call_id` bigint NOT NULL COMMENT '閫氳瘽缂栧彿',
+  `room` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟閫氳瘽缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鍙備笌鑰呯敤鎴风紪鍙�',
+  `role` tinyint NOT NULL COMMENT '鍙備笌瑙掕壊',
+  `status` tinyint NOT NULL COMMENT '鍙備笌鐘舵��',
+  `invite_time` datetime DEFAULT NULL COMMENT '琚個璇锋椂闂�',
+  `accept_time` datetime DEFAULT NULL COMMENT '鎺ュ惉鏃堕棿',
+  `leave_time` datetime DEFAULT NULL COMMENT '绂诲紑鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_call_id` (`call_id`) USING BTREE,
+  KEY `idx_room` (`room`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 閫氳瘽鍙備笌鑰呰〃';
+
+-- ============ 琛細im_sensitive_word锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_sensitive_word`;
+CREATE TABLE `im_sensitive_word` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `word` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏁忔劅璇�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_word` (`word`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 鏁忔劅璇嶈〃';
+
+-- ============ 琛細im_user_online锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_user_online`;
+CREATE TABLE `im_user_online` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `online_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍦ㄧ嚎鐘舵�侊紙0绂荤嚎 1鍦ㄧ嚎锛�',
+  `last_online_time` datetime DEFAULT NULL COMMENT '鏈�鍚庡湪绾挎椂闂�',
+  `last_offline_time` datetime DEFAULT NULL COMMENT '鏈�鍚庣绾挎椂闂�',
+  `device_type` tinyint DEFAULT NULL COMMENT '璁惧绫诲瀷锛�1Web 2Android 3iOS锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_id` (`user_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛鍦ㄧ嚎鐘舵�佽〃';
+
+-- ============ 琛細infra_api_access_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_api_access_log`;
+CREATE TABLE `infra_api_access_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏃ュ織涓婚敭',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '璇锋眰鏂规硶鍚�',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '璇锋眰鍦板潃',
+  `request_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '璇锋眰鍙傛暟',
+  `response_body` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍝嶅簲缁撴灉',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴忚鍣� UA',
+  `operate_module` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎿嶄綔妯″潡',
+  `operate_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎿嶄綔鍚�',
+  `operate_type` tinyint DEFAULT '0' COMMENT '鎿嶄綔鍒嗙被',
+  `begin_time` datetime NOT NULL COMMENT '寮�濮嬭姹傛椂闂�',
+  `end_time` datetime NOT NULL COMMENT '缁撴潫璇锋眰鏃堕棿',
+  `duration` int NOT NULL COMMENT '鎵ц鏃堕暱',
+  `result_code` int NOT NULL DEFAULT '0' COMMENT '缁撴灉鐮�',
+  `result_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁撴灉鎻愮ず',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='API 璁块棶鏃ュ織琛�';
+
+-- ============ 琛細infra_api_error_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_api_error_log`;
+CREATE TABLE `infra_api_error_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇锋眰鏂规硶鍚�',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇锋眰鍦板潃',
+  `request_params` varchar(8000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇锋眰鍙傛暟',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴忚鍣� UA',
+  `exception_time` datetime NOT NULL COMMENT '寮傚父鍙戠敓鏃堕棿',
+  `exception_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '寮傚父鍚�',
+  `exception_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父瀵艰嚧鐨勬秷鎭�',
+  `exception_root_cause_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父瀵艰嚧鐨勬牴娑堟伅',
+  `exception_stack_trace` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鐨勬爤杞ㄨ抗',
+  `exception_class_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鍙戠敓鐨勭被鍏ㄥ悕',
+  `exception_file_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鍙戠敓鐨勭被鏂囦欢',
+  `exception_method_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鍙戠敓鐨勬柟娉曞悕',
+  `exception_line_number` int NOT NULL COMMENT '寮傚父鍙戠敓鐨勬柟娉曟墍鍦ㄨ',
+  `process_status` tinyint NOT NULL COMMENT '澶勭悊鐘舵��',
+  `process_time` datetime DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+  `process_user_id` int DEFAULT '0' COMMENT '澶勭悊鐢ㄦ埛缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绯荤粺寮傚父鏃ュ織';
+
+-- ============ 琛細infra_file锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_file`;
+CREATE TABLE `infra_file` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏂囦欢缂栧彿',
+  `config_id` bigint DEFAULT NULL COMMENT '閰嶇疆缂栧彿',
+  `name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鍚�',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂囦欢璺緞',
+  `url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂囦欢 URL',
+  `type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢绫诲瀷',
+  `size` int NOT NULL COMMENT '鏂囦欢澶у皬',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細infra_file_content锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_file_content`;
+CREATE TABLE `infra_file_content` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `config_id` bigint NOT NULL COMMENT '閰嶇疆缂栧彿',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂囦欢璺緞',
+  `content` mediumblob NOT NULL COMMENT '鏂囦欢鍐呭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_config_id_path` (`config_id`,`path`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細infra_job_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_job_log`;
+CREATE TABLE `infra_job_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏃ュ織缂栧彿',
+  `job_id` bigint NOT NULL COMMENT '浠诲姟缂栧彿',
+  `handler_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '澶勭悊鍣ㄧ殑鍚嶅瓧',
+  `handler_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鍣ㄧ殑鍙傛暟',
+  `execute_index` tinyint NOT NULL DEFAULT '1' COMMENT '绗嚑娆℃墽琛�',
+  `begin_time` datetime NOT NULL COMMENT '寮�濮嬫墽琛屾椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '缁撴潫鎵ц鏃堕棿',
+  `duration` int DEFAULT NULL COMMENT '鎵ц鏃堕暱',
+  `status` tinyint NOT NULL COMMENT '浠诲姟鐘舵��',
+  `result` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁撴灉鏁版嵁',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_job_id` (`job_id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀹氭椂浠诲姟鏃ュ織琛�';
+
+-- ============ 琛細mdm_brand锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_brand`;
+CREATE TABLE `mdm_brand` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍝佺墝缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍝佺墝缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍝佺墝鍚嶇О',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鍝佺墝琛�';
+
+-- ============ 琛細mdm_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item`;
+CREATE TABLE `mdm_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐗╂枡缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐗╂枡缂栫爜',
+  `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐗╂枡鍚嶇О',
+  `bar_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鏉$爜',
+  `specification` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `category_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被缂栧彿',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `unit_measure_id2` bigint DEFAULT NULL COMMENT '杈呭崟浣�1缂栧彿',
+  `unit_measure_rate1` decimal(24,6) DEFAULT NULL COMMENT '杈呭崟浣�1鎹㈢畻姣旂巼',
+  `unit_measure_id3` bigint DEFAULT NULL COMMENT '杈呭崟浣�2缂栧彿',
+  `unit_measure_rate2` decimal(24,6) DEFAULT NULL COMMENT '杈呭崟浣�2鎹㈢畻姣旂巼',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '榛樿浠撳簱缂栧彿',
+  `warehouse_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '榛樿浠撳簱缂栫爜',
+  `brand_id` bigint DEFAULT NULL COMMENT '鍝佺墝缂栧彿',
+  `item_type` tinyint NOT NULL DEFAULT '1' COMMENT '鐗╂枡绫诲瀷锛�1:鐗╂枡 2:浜у搧 3:鍗婃垚鍝侊級',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `purchase_price` decimal(24,2) DEFAULT NULL COMMENT '閲囪喘浠�',
+  `sales_price` decimal(24,2) DEFAULT NULL COMMENT '閿�鍞环',
+  `cost_price` decimal(24,2) DEFAULT NULL COMMENT '鎴愭湰浠�',
+  `min_price` decimal(24,2) DEFAULT NULL COMMENT '鏈�浣庝环',
+  `safety_stock` decimal(24,6) DEFAULT NULL COMMENT '瀹夊叏搴撳瓨',
+  `min_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�浣庡簱瀛橀噺',
+  `max_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�楂樺簱瀛橀噺',
+  `min_order_qty` decimal(24,6) DEFAULT NULL COMMENT '鏈�灏忚璐ч噺',
+  `lead_time` int DEFAULT NULL COMMENT '閲囪喘鎻愬墠鏈燂紙澶╋級',
+  `is_batch_managed` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎵规绠$悊',
+  `is_serial_managed` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁搴忓垪鍙风鐞�',
+  `barcode_rule_id` bigint DEFAULT NULL COMMENT '鏉$爜瑙勫垯ID',
+  `expiry_day` int DEFAULT NULL COMMENT '淇濊川鏈熷ぉ鏁�',
+  `high_value` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁楂樺�肩墿鏂�',
+  `weight` decimal(24,6) DEFAULT NULL COMMENT '閲嶉噺(kg)',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_name` (`name`) USING BTREE,
+  KEY `idx_category_id` (`category_id`) USING BTREE,
+  KEY `idx_item_type` (`item_type`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡涓绘暟鎹〃';
+
+-- ============ 琛細mdm_item_batch_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_batch_config`;
+CREATE TABLE `mdm_item_batch_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閰嶇疆缂栧彿',
+  `item_id` bigint NOT NULL COMMENT '鐗╂枡缂栧彿',
+  `produce_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鐢熶骇鏃ユ湡',
+  `expire_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤澶辨晥鏃ユ湡',
+  `receipt_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鍏ュ簱鏃ユ湡',
+  `vendor_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤渚涘簲鍟�',
+  `client_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤瀹㈡埛',
+  `sales_order_code_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤閿�鍞鍗曞彿',
+  `purchase_order_code_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤閲囪喘璁㈠崟鍙�',
+  `work_order_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鐢熶骇宸ュ崟',
+  `task_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鐢熶骇浠诲姟',
+  `workstation_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤宸ヤ綅',
+  `tool_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤宸ヨ澶瑰叿',
+  `mold_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤妯″叿',
+  `lot_number_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鎵规鍙�',
+  `quality_status_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤璐ㄩ噺鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_item_id` (`item_id`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡鎵规灞炴�ч厤缃〃';
+
+-- ============ 琛細mdm_item_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_category`;
+CREATE TABLE `mdm_item_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍒嗙被缂栧彿',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖跺垎绫荤紪鍙凤紙鏍硅妭鐐�=0锛�',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚嶇О',
+  `item_type` tinyint DEFAULT NULL COMMENT '閫傜敤鐗╂枡绫诲瀷锛�1:鐗╂枡 2:浜у搧 3:鍗婃垚鍝� NULL:鍏ㄩ儴锛�',
+  `item_or_product` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡/浜у搧鏍囪瘑(鍏煎MES: ITEM/PRODUCT)',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_parent_id` (`parent_id`) USING BTREE,
+  KEY `idx_code` (`code`) USING BTREE,
+  KEY `idx_item_or_product` (`item_or_product`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡鍒嗙被琛�';
+
+-- ============ 琛細mdm_item_migration_map锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_migration_map`;
+CREATE TABLE `mdm_item_migration_map` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏄犲皠ID',
+  `source_module` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏉ユ簮妯″潡(ERP/MES/WMS)',
+  `source_table` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏉ユ簮琛ㄥ悕',
+  `source_id` bigint NOT NULL COMMENT '鍘烮D',
+  `target_item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡ID',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_source` (`source_module`,`source_table`,`source_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐗╂枡杩佺Щ鏄犲皠琛�';
+
+-- ============ 琛細mdm_item_sku锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_sku`;
+CREATE TABLE `mdm_item_sku` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'SKU缂栧彿',
+  `item_id` bigint NOT NULL COMMENT '鐗╂枡缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SKU缂栫爜',
+  `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SKU鍚嶇О',
+  `bar_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'SKU鏉$爜',
+  `length` decimal(24,6) DEFAULT NULL COMMENT '闀垮害锛坈m锛�',
+  `width` decimal(24,6) DEFAULT NULL COMMENT '瀹藉害锛坈m锛�',
+  `height` decimal(24,6) DEFAULT NULL COMMENT '楂樺害锛坈m锛�',
+  `gross_weight` decimal(24,6) DEFAULT NULL COMMENT '姣涢噸锛坘g锛�',
+  `net_weight` decimal(24,6) DEFAULT NULL COMMENT '鍑�閲嶏紙kg锛�',
+  `cost_price` decimal(24,2) DEFAULT NULL COMMENT '鎴愭湰浠�',
+  `sale_price` decimal(24,2) DEFAULT NULL COMMENT '閿�鍞环',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE,
+  KEY `idx_item_id` (`item_id`) USING BTREE,
+  KEY `idx_bar_code` (`bar_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡SKU琛�';
+
+-- ============ 琛細mdm_unit_measure锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_unit_measure`;
+CREATE TABLE `mdm_unit_measure` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍗曚綅缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍗曚綅缂栫爜',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍗曚綅鍚嶇О',
+  `primary_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁涓诲崟浣�',
+  `primary_id` bigint DEFAULT NULL COMMENT '涓诲崟浣嶇紪鍙�',
+  `change_rate` decimal(24,6) DEFAULT '1.000000' COMMENT '涓庝富鍗曚綅鎹㈢畻姣斾緥',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE,
+  KEY `idx_name` (`name`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 璁¢噺鍗曚綅琛�';
+
+-- ============ 琛細mdm_warehouse锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_warehouse`;
+CREATE TABLE `mdm_warehouse` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浠撳簱缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠撳簱缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠撳簱鍚嶇О',
+  `type` tinyint DEFAULT NULL COMMENT '浠撳簱绫诲瀷',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴稩D',
+  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱鍦板潃',
+  `area` decimal(10,2) DEFAULT NULL COMMENT '闈㈢Н锛堝钩鏂圭背锛�',
+  `principal` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐熻矗浜�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 浠撳簱琛�';
+
+-- ============ 琛細mes_cal_holiday锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_holiday`;
+CREATE TABLE `mes_cal_holiday` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `day` datetime DEFAULT NULL COMMENT '鏃ユ湡',
+  `type` int DEFAULT NULL COMMENT '鏃ユ湡绫诲瀷',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍋囨湡璁剧疆';
+
+-- ============ 琛細mes_cal_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_plan`;
+CREATE TABLE `mes_cal_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁″垝缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁″垝缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁″垝鍚嶇О',
+  `calendar_type` int DEFAULT NULL COMMENT '鐝粍绫诲瀷',
+  `start_date` datetime DEFAULT NULL COMMENT '寮�濮嬫棩鏈�',
+  `end_date` datetime DEFAULT NULL COMMENT '缁撴潫鏃ユ湡',
+  `shift_type` int DEFAULT NULL COMMENT '杞彮鏂瑰紡',
+  `shift_method` int DEFAULT NULL COMMENT '鍊掔彮鏂瑰紡',
+  `shift_count` int DEFAULT NULL COMMENT '鍊掔彮澶╂暟',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `exclude_weekend` tinyint(1) DEFAULT '1' COMMENT '鏄惁鎺掗櫎鍛ㄦ湯: 1鏄� 0鍚�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鎺掔彮璁″垝';
+
+-- ============ 琛細mes_cal_plan_shift锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_plan_shift`;
+CREATE TABLE `mes_cal_plan_shift` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鎺掔彮璁″垝缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鏄剧ず椤哄簭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐝鍚嶇О',
+  `start_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�濮嬫椂闂达紙HH:mm 鏍煎紡锛�',
+  `end_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁撴潫鏃堕棿锛圚H:mm 鏍煎紡锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁″垝鐝';
+
+-- ============ 琛細mes_cal_plan_team锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_plan_team`;
+CREATE TABLE `mes_cal_plan_team` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鎺掔彮璁″垝缂栧彿',
+  `team_id` bigint DEFAULT NULL COMMENT '鐝粍缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁″垝鐝粍鍏宠仈';
+
+-- ============ 琛細mes_cal_team锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_team`;
+CREATE TABLE `mes_cal_team` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝粍缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐝粍缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐝粍鍚嶇О',
+  `calendar_type` int DEFAULT NULL COMMENT '鐝粍绫诲瀷',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐝粍';
+
+-- ============ 琛細mes_cal_team_member锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_team_member`;
+CREATE TABLE `mes_cal_team_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝粍鎴愬憳缂栧彿',
+  `team_id` bigint DEFAULT NULL COMMENT '鐝粍缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐝粍鎴愬憳';
+
+-- ============ 琛細mes_cal_team_shift锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_team_shift`;
+CREATE TABLE `mes_cal_team_shift` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鎺掔彮璁″垝缂栧彿',
+  `team_id` bigint DEFAULT NULL COMMENT '鐝粍缂栧彿',
+  `shift_id` bigint DEFAULT NULL COMMENT '鐝缂栧彿',
+  `day` datetime DEFAULT NULL COMMENT '鏃ユ湡',
+  `sort` int DEFAULT NULL COMMENT '鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐝粍鎺掔彮';
+
+-- ============ 琛細mes_dv_check_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_plan`;
+CREATE TABLE `mes_dv_check_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '鏂规绫诲瀷',
+  `start_date` datetime DEFAULT NULL COMMENT '寮�濮嬫棩鏈�',
+  `end_date` datetime DEFAULT NULL COMMENT '缁撴潫鏃ユ湡',
+  `cycle_type` int DEFAULT NULL COMMENT '鍛ㄦ湡绫诲瀷',
+  `cycle_count` int DEFAULT NULL COMMENT '鍛ㄦ湡鏁伴噺',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇鏂规';
+
+-- ============ 琛細mes_dv_check_plan_machinery锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_plan_machinery`;
+CREATE TABLE `mes_dv_check_plan_machinery` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鏂规缂栧彿',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇鏂规璁惧';
+
+-- ============ 琛細mes_dv_check_plan_subject锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_plan_subject`;
+CREATE TABLE `mes_dv_check_plan_subject` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鏂规缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '椤圭洰缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇鏂规椤圭洰';
+
+-- ============ 琛細mes_dv_check_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_record`;
+CREATE TABLE `mes_dv_check_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鐐规璁″垝缂栧彿',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `check_time` datetime DEFAULT NULL COMMENT '鐐规鏃堕棿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐐规浜虹紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧鐐规璁板綍';
+
+-- ============ 琛細mes_dv_check_record_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_record_line`;
+CREATE TABLE `mes_dv_check_record_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `record_id` bigint DEFAULT NULL COMMENT '鐐规璁板綍缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '鐐规椤圭洰缂栧彿',
+  `check_status` int DEFAULT NULL COMMENT '鐐规缁撴灉',
+  `check_result` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮傚父鎻忚堪',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧鐐规璁板綍鏄庣粏';
+
+-- ============ 琛細mes_dv_machinery锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_machinery`;
+CREATE TABLE `mes_dv_machinery` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁惧缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁惧鍚嶇О',
+  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍝佺墝',
+  `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `machinery_type_id` bigint DEFAULT NULL COMMENT '璁惧绫诲瀷缂栧彿',
+  `workshop_id` bigint DEFAULT NULL COMMENT '鎵�灞炶溅闂寸紪鍙�',
+  `status` int DEFAULT NULL COMMENT '璁惧鐘舵��',
+  `last_mainten_time` datetime DEFAULT NULL COMMENT '鏈�杩戜繚鍏绘椂闂�',
+  `last_check_time` datetime DEFAULT NULL COMMENT '鏈�杩戠偣妫�鏃堕棿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `production_efficiency` decimal(10,2) DEFAULT NULL COMMENT '鐢熶骇鏁堢巼锛堟瘡鍒嗛挓锛�',
+  `conveyor_belt` int DEFAULT NULL COMMENT '浼犻�佸饱甯︼紙2=鍙屽�嶆晥鐜囷級',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧鍙拌处';
+
+-- ============ 琛細mes_dv_machinery_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_machinery_type`;
+CREATE TABLE `mes_dv_machinery_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷鍚嶇О',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐖剁被鍨嬬紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `sort` int DEFAULT NULL COMMENT '鏄剧ず鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧绫诲瀷';
+
+-- ============ 琛細mes_dv_mainten_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_mainten_record`;
+CREATE TABLE `mes_dv_mainten_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '璁″垝缂栧彿',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `mainten_time` datetime DEFAULT NULL COMMENT '淇濆吇鏃堕棿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧淇濆吇璁板綍';
+
+-- ============ 琛細mes_dv_mainten_record_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_mainten_record_line`;
+CREATE TABLE `mes_dv_mainten_record_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `record_id` bigint DEFAULT NULL COMMENT '淇濆吇璁板綍缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '椤圭洰缂栧彿',
+  `status` int DEFAULT NULL COMMENT '淇濆吇缁撴灉',
+  `result` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮傚父鎻忚堪',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧淇濆吇璁板綍鏄庣粏';
+
+-- ============ 琛細mes_dv_metering锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_metering`;
+CREATE TABLE `mes_dv_metering` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璁¢噺鍣ㄥ叿缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璁¢噺鍣ㄥ叿鍚嶇О',
+  `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍝佺墝/鐢熶骇鍘傚',
+  `category` int DEFAULT NULL COMMENT '鍣ㄥ叿绫诲埆锛堝崱灏�/鍗冨垎灏�/鍘嬪姏琛ㄧ瓑锛夛紝瀛楀吀 mes_dv_metering_category',
+  `precision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绮惧害',
+  `range` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲忕▼',
+  `dept_id` bigint DEFAULT NULL COMMENT '浣跨敤閮ㄩ棬缂栧彿',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐d换浜虹紪鍙凤紙绔欏唴淇″彂閫佸璞★級',
+  `check_cycle_count` int NOT NULL COMMENT '鏍″噯鍛ㄦ湡锛堟湀锛�',
+  `use_date` date DEFAULT NULL COMMENT '鎶曞叆浣跨敤鏃ユ湡',
+  `last_check_date` date DEFAULT NULL COMMENT '涓婃妫�娴嬫棩鏈�',
+  `next_check_date` date DEFAULT NULL COMMENT '涓嬫妫�娴嬫棩鏈燂紙鍒版湡鏃ワ級',
+  `status` int NOT NULL COMMENT '鐘舵�侊紙鍦ㄧ敤/鍋滅敤/鎶ュ簾锛夛紝瀛楀吀 mes_dv_metering_status',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE,
+  KEY `idx_charge_user_id` (`charge_user_id`) USING BTREE,
+  KEY `idx_next_check_date` (`next_check_date`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁¢噺鍣ㄥ叿';
+
+-- ============ 琛細mes_dv_metering_check锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_metering_check`;
+CREATE TABLE `mes_dv_metering_check` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `metering_id` bigint NOT NULL COMMENT '璁¢噺鍣ㄥ叿ID',
+  `check_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妫�娴嬬紪鍙�',
+  `check_date` date DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `check_org` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫満鏋�',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨璁猴紙鍚堟牸/涓嶅悎鏍硷級锛屽瓧鍏� mes_dv_metering_check_result',
+  `cert_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佷功缂栧彿',
+  `check_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉缂栧彿',
+  `next_check_date` date DEFAULT NULL COMMENT '涓嬫妫�娴嬫棩鏈燂紙鑷姩璁$畻鎴栨墜鍔ㄦ寚瀹氾級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_check_code` (`check_code`) USING BTREE,
+  KEY `idx_metering_id` (`metering_id`) USING BTREE,
+  KEY `idx_check_date` (`check_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁¢噺妫�娴嬭褰�';
+
+-- ============ 琛細mes_dv_repair锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_repair`;
+CREATE TABLE `mes_dv_repair` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨宸ュ崟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨宸ュ崟鍚嶇О',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `require_date` datetime DEFAULT NULL COMMENT '鎶ヤ慨鏃ユ湡',
+  `finish_date` datetime DEFAULT NULL COMMENT '缁翠慨瀹屾垚鏃ユ湡',
+  `confirm_date` datetime DEFAULT NULL COMMENT '楠屾敹鏃ユ湡',
+  `result` int DEFAULT NULL COMMENT '缁翠慨缁撴灉',
+  `accepted_user_id` bigint DEFAULT NULL COMMENT '缁翠慨浜虹敤鎴风紪鍙�',
+  `confirm_user_id` bigint DEFAULT NULL COMMENT '楠屾敹浜虹敤鎴风紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栫爜',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缁翠慨宸ュ崟';
+
+-- ============ 琛細mes_dv_repair_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_repair_line`;
+CREATE TABLE `mes_dv_repair_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `repair_id` bigint DEFAULT NULL COMMENT '缁翠慨宸ュ崟缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '鐐规淇濆吇椤圭洰缂栧彿',
+  `malfunction` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏁呴殰鎻忚堪',
+  `malfunction_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏁呴殰鍥剧墖 URL',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨鎻忚堪',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缁翠慨宸ュ崟琛�';
+
+-- ============ 琛細mes_dv_subject锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_subject`;
+CREATE TABLE `mes_dv_subject` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '椤圭洰绫诲瀷',
+  `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰鍐呭',
+  `standard` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囧噯',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇椤圭洰';
+
+-- ============ 琛細mes_md_auto_code_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_auto_code_record`;
+CREATE TABLE `mes_md_auto_code_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `rule_id` bigint DEFAULT NULL COMMENT '瑙勫垯缂栧彿',
+  `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熸垚鐨勭紪鐮�',
+  `serial_no` bigint DEFAULT NULL COMMENT '鐢熸垚鐨勬祦姘村彿',
+  `input_char` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼犲叆鐨勫弬鏁�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂栫爜鐢熸垚璁板綍';
+
+-- ============ 琛細mes_md_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_item`;
+CREATE TABLE `mes_md_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `mdm_item_id` bigint DEFAULT NULL COMMENT 'MDM 鐗╂枡 ID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О',
+  `specification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_type_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `safe_stock_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍚敤瀹夊叏搴撳瓨',
+  `min_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�浣庡簱瀛橀噺',
+  `max_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�楂樺簱瀛橀噺',
+  `high_value` bit(1) DEFAULT b'0' COMMENT '鏄惁楂樺�肩墿鏂�',
+  `batch_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍚敤鎵规绠$悊',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡浜у搧';
+
+-- ============ 琛細mes_md_item_batch_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_item_batch_config`;
+CREATE TABLE `mes_md_item_batch_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+  `produce_date_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇鏃ユ湡',
+  `expire_date_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鏈夋晥鏈�',
+  `receipt_date_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鍏ュ簱鏃ユ湡',
+  `vendor_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-渚涘簲鍟�',
+  `client_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-瀹㈡埛',
+  `sales_order_code_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-閿�鍞鍗曠紪鍙�',
+  `purchase_order_code_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-閲囪喘璁㈠崟缂栧彿',
+  `work_order_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇宸ュ崟',
+  `task_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇浠诲姟',
+  `workstation_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-宸ヤ綔绔�',
+  `tool_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-宸ュ叿',
+  `mold_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-妯″叿',
+  `lot_number_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇鎵瑰彿',
+  `quality_status_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-璐ㄩ噺鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡鎵规灞炴�ч厤缃�';
+
+-- ============ 琛細mes_md_item_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_item_type`;
+CREATE TABLE `mes_md_item_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鍚嶇О',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐖跺垎绫荤紪鍙�',
+  `item_or_product` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡/浜у搧鏍囪瘑',
+  `sort` int DEFAULT NULL COMMENT '鏄剧ず鎺掑簭',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡浜у搧鍒嗙被';
+
+-- ============ 琛細mes_md_product_bom锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_product_bom`;
+CREATE TABLE `mes_md_product_bom` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡浜у搧缂栧彿',
+  `bom_item_id` bigint DEFAULT NULL COMMENT 'BOM鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鐗╂枡浣跨敤姣斾緥',
+  `status` int DEFAULT NULL COMMENT '鏄惁鍚敤',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浜у搧 BOM';
+
+-- ============ 琛細mes_md_product_sip锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_product_sip`;
+CREATE TABLE `mes_md_product_sip` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡浜у搧缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鎺掑垪椤哄簭',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囬',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鎻忚堪',
+  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浜у搧 SIP';
+
+-- ============ 琛細mes_md_product_sop锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_product_sop`;
+CREATE TABLE `mes_md_product_sop` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡浜у搧缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鎺掑垪椤哄簭',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囬',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鎻忚堪',
+  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浜у搧 SOP';
+
+-- ============ 琛細mes_md_unit_measure锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_unit_measure`;
+CREATE TABLE `mes_md_unit_measure` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曚綅缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曚綅鍚嶇О',
+  `primary_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁涓诲崟浣�',
+  `primary_id` bigint DEFAULT NULL COMMENT '涓诲崟浣嶇紪鍙�',
+  `change_rate` decimal(24,6) DEFAULT NULL COMMENT '涓庝富鍗曚綅鎹㈢畻姣斾緥',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁¢噺鍗曚綅';
+
+-- ============ 琛細mes_md_vendor锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_vendor`;
+CREATE TABLE `mes_md_vendor` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鐮�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `nickname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙畝绉�',
+  `english_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗚嫳鏂囧悕绉�',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙畝浠�',
+  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟哃OGO鍦板潃',
+  `level` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙瓑绾�',
+  `score` int DEFAULT NULL COMMENT '渚涘簲鍟嗚瘎鍒�',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗湴鍧�',
+  `website` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗畼缃戝湴鍧�',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗛偖绠卞湴鍧�',
+  `telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙數璇�',
+  `contact1_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�1',
+  `contact1_telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�1-鐢佃瘽',
+  `contact1_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�1-閭',
+  `contact2_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�2',
+  `contact2_telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�2-鐢佃瘽',
+  `contact2_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�2-閭',
+  `credit_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁熶竴绀句細淇$敤浠g爜',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 渚涘簲鍟�';
+
+-- ============ 琛細mes_md_workshop锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workshop`;
+CREATE TABLE `mes_md_workshop` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞﹂棿缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞﹂棿鍚嶇О',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н锛堝钩鏂圭背锛�',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞﹂棿';
+
+-- ============ 琛細mes_md_workstation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation`;
+CREATE TABLE `mes_md_workstation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鐮�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔绔欏悕绉�',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔绔欏湴鐐�',
+  `workshop_id` bigint DEFAULT NULL COMMENT '鎵�鍦ㄨ溅闂寸紪鍙�',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '绾胯竟搴撶紪鍙�',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯缂栧彿',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔�';
+
+-- ============ 琛細mes_md_workstation_machine锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation_machine`;
+CREATE TABLE `mes_md_workstation_machine` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔欒澶囪祫婧�';
+
+-- ============ 琛細mes_md_workstation_tool锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation_tool`;
+CREATE TABLE `mes_md_workstation_tool` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `tool_type_id` bigint DEFAULT NULL COMMENT '宸ュ叿绫诲瀷缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔欏伐瑁呭す鍏疯祫婧�';
+
+-- ============ 琛細mes_md_workstation_worker锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation_worker`;
+CREATE TABLE `mes_md_workstation_worker` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `post_id` bigint DEFAULT NULL COMMENT '宀椾綅缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔欎汉鍔涜祫婧�';
+
+-- ============ 琛細mes_pd_archive锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_archive`;
+CREATE TABLE `mes_pd_archive` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `archive_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '褰掓。缂栧彿',
+  `project_id` bigint NOT NULL COMMENT '璁捐椤圭洰ID',
+  `archiver` bigint DEFAULT NULL COMMENT '褰掓。浜�',
+  `archive_status` tinyint DEFAULT NULL COMMENT '褰掓。鐘舵��',
+  `archive_time` datetime DEFAULT NULL COMMENT '褰掓。鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 褰掓。鍙拌处';
+
+-- ============ 琛細mes_pd_document锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_document`;
+CREATE TABLE `mes_pd_document` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `project_id` bigint NOT NULL COMMENT '璁捐椤圭洰ID',
+  `document_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡绫诲瀷',
+  `document_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡鍚嶇О',
+  `document_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐗堟湰',
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鍚�',
+  `upload_user_id` bigint DEFAULT NULL COMMENT '涓婁紶浜�',
+  `upload_time` datetime DEFAULT NULL COMMENT '涓婁紶鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁捐璧勬枡';
+
+-- ============ 琛細mes_pd_document_audit锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_document_audit`;
+CREATE TABLE `mes_pd_document_audit` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `audit_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '瀹℃牳鍗曞彿',
+  `document_id` bigint NOT NULL COMMENT '璧勬枡ID',
+  `document_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡鍚嶇О锛堝啑浣欙級',
+  `document_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡鐗堟湰锛堝啑浣欙級',
+  `reviewer` bigint DEFAULT NULL COMMENT '瀹℃牳浜�',
+  `audit_status` tinyint DEFAULT NULL COMMENT '瀹℃牳鐘舵��',
+  `audit_time` datetime DEFAULT NULL COMMENT '瀹℃牳鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璧勬枡瀹℃牳';
+
+-- ============ 琛細mes_pd_process_param锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_process_param`;
+CREATE TABLE `mes_pd_process_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙傛暟缂栫爜',
+  `param_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍙傛暟鍚嶇О',
+  `param_type` tinyint DEFAULT NULL COMMENT '鍙傛暟绫诲瀷锛堝瓧鍏� mes_pd_process_param_type锛�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅ID锛堝叧鑱� mes_md_unit_measure锛�',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓鍙傛暟';
+
+-- ============ 琛細mes_pd_process_param_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_process_param_template`;
+CREATE TABLE `mes_pd_process_param_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '妯℃澘缂栫爜',
+  `template_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `template_type` tinyint DEFAULT NULL COMMENT '妯℃澘绫诲瀷锛堝瓧鍏� mes_pd_process_param_template_type锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓鍙傛暟妯℃澘';
+
+-- ============ 琛細mes_pd_process_param_template_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_process_param_template_detail`;
+CREATE TABLE `mes_pd_process_param_template_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘ID锛堝叧鑱� mes_pd_process_param_template锛�',
+  `process_param_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟ID锛堜粎浣滄函婧愶紝涓嶅奖鍝嶅揩鐓у�硷級',
+  `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙傛暟缂栫爜锛堝揩鐓э級',
+  `param_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙傛暟鍚嶇О锛堝揩鐓э級',
+  `param_type` tinyint DEFAULT NULL COMMENT '鍙傛暟绫诲瀷锛堝揩鐓э級',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅ID锛堝揩鐓э級',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~锛堝揩鐓э級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞锛堝揩鐓э級',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓鍙傛暟妯℃澘鏄庣粏';
+
+-- ============ 琛細mes_pd_project锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_project`;
+CREATE TABLE `mes_pd_project` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浠诲姟缂栫爜',
+  `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浠诲姟鍚嶇О',
+  `product_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜у搧缂栫爜',
+  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜у搧鍚嶇О',
+  `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐗堟湰鍙�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0=寰呭彂甯� 1=寰呬笂浼� 2=寰呭鏍� 3=寰呭綊妗� 4=宸插綊妗o級',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹氫箟 Key',
+  `chief_designer` bigint DEFAULT NULL COMMENT '涓昏璁″笀',
+  `reviewer` bigint DEFAULT NULL COMMENT '瀹℃牳浜�',
+  `plan_finish_time` datetime DEFAULT NULL COMMENT '璁″垝瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁捐椤圭洰';
+
+-- ============ 琛細mes_pro_andon_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_andon_config`;
+CREATE TABLE `mes_pro_andon_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍛煎彨鍘熷洜',
+  `level` int DEFAULT NULL COMMENT '绾у埆',
+  `handler_role_id` bigint DEFAULT NULL COMMENT '澶勭疆浜鸿鑹茬紪鍙�',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭疆浜虹紪鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 瀹夌伅鍛煎彨閰嶇疆';
+
+-- ============ 琛細mes_pro_andon_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_andon_record`;
+CREATE TABLE `mes_pro_andon_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `config_id` bigint DEFAULT NULL COMMENT '瀹夌伅閰嶇疆缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `user_id` bigint DEFAULT NULL COMMENT '鍙戣捣鐢ㄦ埛缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍛煎彨鍘熷洜',
+  `level` int DEFAULT NULL COMMENT '绾у埆',
+  `status` int DEFAULT NULL COMMENT '澶勭疆鐘舵��',
+  `handle_time` datetime DEFAULT NULL COMMENT '澶勭疆鏃堕棿',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭疆浜虹紪鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 瀹夌伅鍛煎彨璁板綍';
+
+-- ============ 琛細mes_pro_bag_code锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_bag_code`;
+CREATE TABLE `mes_pro_bag_code` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `uuid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢熸垚缁� UUID锛堟爣璁板悓涓�娆$敓鎴愮殑鏁版嵁鍖咃級',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '琚嬬爜锛堜簩缁寸爜鍐呭锛氭壒娆″彿-琚嬪簭鍙凤紝鍏ㄥ眬鍞竴锛�',
+  `bag_no` int NOT NULL COMMENT '鎵规鍐呰搴忓彿',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鎵规鍙凤紙鍐椾綑锛屼究浜庡睍绀猴級',
+  `pallet_id` bigint DEFAULT NULL COMMENT '缁戝畾鎵樼洏缂栧彿锛屽叧鑱� mes_pro_pallet.id',
+  `pallet_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鎵樼洏鐮侊紙鍐椾綑锛屼究浜庡睍绀猴級',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '鐘舵�侊紙瀛楀吀 mes_pro_bag_code_status锛�10 宸茬敓鎴� 20 宸插鍑哄嵃鍒� 30 宸蹭綔搴燂級',
+  `print_time` datetime DEFAULT NULL COMMENT '瀵煎嚭锛堜氦浠樺嵃鍒凤級鏃堕棿',
+  `cancel_time` datetime DEFAULT NULL COMMENT '浣滃簾鏃堕棿',
+  `cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浣滃簾鍘熷洜',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE,
+  KEY `idx_uuid` (`uuid`) USING BTREE,
+  KEY `idx_pallet_id` (`pallet_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 琚嬬爜璧嬬爜锛堜竴琚嬩竴鐮侊級';
+
+-- ============ 琛細mes_pro_bag_code_replace锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_bag_code_replace`;
+CREATE TABLE `mes_pro_bag_code_replace` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `replace_uuid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏇挎崲缁� UUID',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢熶骇鎵规鍙�',
+  `old_bag_code_id` bigint NOT NULL COMMENT '鏃ц鐮佺紪鍙�',
+  `old_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏃ц鐮�',
+  `old_bag_no` int NOT NULL COMMENT '鏃ц搴忓彿',
+  `old_status` tinyint NOT NULL COMMENT '鏃ц鐮佷綔搴熷墠鐘舵��',
+  `old_pallet_id` bigint DEFAULT NULL COMMENT '鏃ц鐮佸師鎵樼洏缂栧彿',
+  `old_pallet_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏃ц鐮佸師鎵樼洏鐮�',
+  `new_bag_code_id` bigint NOT NULL COMMENT '鏂拌鐮佺紪鍙�',
+  `new_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏂拌鐮�',
+  `new_bag_no` int NOT NULL COMMENT '鏂拌搴忓彿',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏇挎崲鍘熷洜',
+  `replace_time` datetime NOT NULL COMMENT '鏇挎崲鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_old_bag_code_id` (`old_bag_code_id`) USING BTREE,
+  UNIQUE KEY `uk_new_bag_code_id` (`new_bag_code_id`) USING BTREE,
+  KEY `idx_replace_uuid` (`replace_uuid`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE,
+  KEY `idx_old_code` (`old_code`) USING BTREE,
+  KEY `idx_new_code` (`new_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 琚嬬爜鏇挎崲璁板綍';
+
+-- ============ 琛細mes_pro_batch锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_batch`;
+CREATE TABLE `mes_pro_batch` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎵规鍙凤紙鑷姩鐢熸垚锛氬墠缂�+鏃ユ湡+浜х嚎+娴佹按鍙凤級',
+  `item_id` bigint DEFAULT NULL COMMENT '鍝佺锛堢墿鏂欙級缂栧彿锛屽叧鑱� mdm_item.id',
+  `line_id` bigint DEFAULT NULL COMMENT '浜х嚎缂栧彿锛屽叧鑱� mes_pro_line.id',
+  `line_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜х嚎缂栫爜锛堟墜濉紝鍙備笌鎵规鍙风敓鎴愶級',
+  `line_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜х嚎鍚嶇О锛堟墜濉級',
+  `produce_date` datetime DEFAULT NULL COMMENT '鐢熶骇鏃ユ湡',
+  `plan_quantity` decimal(24,6) DEFAULT NULL COMMENT '璁″垝鏁伴噺',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐d换浜虹敤鎴风紪鍙凤紙璐d换钀藉疄鍒颁汉锛夛紝鍏宠仈 system_users.id',
+  `bag_quantity` int NOT NULL DEFAULT '0' COMMENT '宸茬敓鎴愯鐮佹暟閲忥紙涓�琚嬩竴鐮侊級',
+  `pallet_quantity` int NOT NULL DEFAULT '0' COMMENT '宸茬敓鎴愭墭鐩樼爜鏁伴噺',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '鎵规鐘舵�侊紙瀛楀吀 mes_pro_batch_status锛�10 鑽夌 20 鐢熶骇涓� 30 宸插畬鎴� 40 宸蹭綔搴燂級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鎵规';
+
+-- ============ 琛細mes_pro_batch_worker锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_batch_worker`;
+CREATE TABLE `mes_pro_batch_worker` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+  `user_id` bigint NOT NULL COMMENT '鐢熶骇浜哄憳鐢ㄦ埛缂栧彿锛屽叧鑱� system_users.id',
+  `worker_type` tinyint NOT NULL COMMENT '宀椾綅绫诲瀷锛堝瓧鍏� mes_pro_batch_worker_type锛�10 缁勯暱 20 鎿嶄綔宸� 30 鍖呰宸� 40 璐ㄦ鍛� 50 鍏朵粬锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鎵规浜哄憳閰嶇疆';
+
+-- ============ 琛細mes_pro_card锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_card`;
+CREATE TABLE `mes_pro_card` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佽浆鍗$紪鐮�',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `transfered_quantity` decimal(24,6) DEFAULT NULL COMMENT '娴佽浆鏁伴噺',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇娴佽浆鍗�';
+
+-- ============ 琛細mes_pro_card_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_card_process`;
+CREATE TABLE `mes_pro_card_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `card_id` bigint DEFAULT NULL COMMENT '娴佽浆鍗$紪鍙�',
+  `sort` int DEFAULT NULL COMMENT '搴忓彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `input_time` datetime DEFAULT NULL COMMENT '杩涘叆宸ュ簭鏃堕棿',
+  `output_time` datetime DEFAULT NULL COMMENT '鍑哄伐搴忔椂闂�',
+  `input_quantity` decimal(24,6) DEFAULT NULL COMMENT '鎶曞叆鏁伴噺',
+  `output_quantity` decimal(24,6) DEFAULT NULL COMMENT '浜у嚭鏁伴噺',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綅缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鎿嶄綔浜虹紪鍙�',
+  `ipqc_id` bigint DEFAULT NULL COMMENT '杩囩▼妫�楠屽崟缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 娴佽浆鍗″伐搴忚褰�';
+
+-- ============ 琛細mes_pro_feedback锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_feedback`;
+CREATE TABLE `mes_pro_feedback` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶ュ伐鍗曠紪鍙�',
+  `type` int DEFAULT NULL COMMENT '鎶ュ伐绫诲瀷',
+  `channel` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶ュ伐閫斿緞',
+  `feedback_time` datetime DEFAULT NULL COMMENT '鎶ュ伐鏃堕棿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `expire_date` datetime DEFAULT NULL COMMENT '杩囨湡鏃ユ湡',
+  `lot_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `scheduled_quantity` decimal(24,6) DEFAULT NULL COMMENT '鎺掍骇鏁伴噺',
+  `feedback_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鎶ュ伐鏁伴噺',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶈壇鍝佹暟閲�',
+  `uncheck_quantity` decimal(24,6) DEFAULT NULL COMMENT '寰呮娴嬫暟閲�',
+  `labor_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '宸ュ簾鏁伴噺',
+  `material_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏂欏簾鏁伴噺',
+  `other_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍏朵粬搴熷搧鏁伴噺',
+  `feedback_user_id` bigint DEFAULT NULL COMMENT '鎶ュ伐鐢ㄦ埛缂栧彿',
+  `approve_user_id` bigint DEFAULT NULL COMMENT '瀹℃牳鐢ㄦ埛缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹氫箟 Key',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE,
+  KEY `idx_work_order_id` (`work_order_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鎶ュ伐';
+
+-- ============ 琛細mes_pro_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_line`;
+CREATE TABLE `mes_pro_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '浜х嚎缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '浜х嚎鍚嶇О',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鍚敤 1鍋滅敤锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='浜х嚎缁存姢';
+
+-- ============ 琛細mes_pro_mps锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_mps`;
+CREATE TABLE `mes_pro_mps` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'MPS 缂栫爜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0=鑽夌 1=宸蹭笅鍙� 2=宸插畬鎴� 3=宸插彇娑堬級',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗旾D',
+  `sale_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曟槑缁咺D',
+  `product_id` bigint NOT NULL COMMENT '浜у搧缂栧彿',
+  `quantity` decimal(24,6) NOT NULL COMMENT '璁″垝鐢熶骇鏁伴噺',
+  `quantity_produced` decimal(24,6) DEFAULT '0.000000' COMMENT '宸茬敓浜ф暟閲�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅ID',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `request_date` datetime DEFAULT NULL COMMENT '闇�姹傛棩鏈�',
+  `issue_date` datetime DEFAULT NULL COMMENT '涓嬪彂鏃ユ湡',
+  `finish_date` datetime DEFAULT NULL COMMENT '瀹屾垚鏃ユ湡',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟ID',
+  `work_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栫爜',
+  `merge_flag` tinyint DEFAULT '0' COMMENT '鏄惁鍚堝苟涓嬪彂锛�0=鍚� 1=鏄級',
+  `merge_batch_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍚堝苟鎵规鍙�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_sale_order_item_id` (`sale_order_item_id`) USING BTREE,
+  KEY `idx_product_id` (`product_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_merge_batch_no` (`merge_batch_no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇涓昏鍒�';
+
+-- ============ 琛細mes_pro_mps_merge_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_mps_merge_item`;
+CREATE TABLE `mes_pro_mps_merge_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `merge_batch_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍚堝苟鎵规鍙�',
+  `mps_id` bigint NOT NULL COMMENT 'MPS 缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熸垚鐨勭敓浜у伐鍗旾D',
+  `quantity` decimal(24,6) NOT NULL COMMENT '鍒嗛厤鏁伴噺',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_merge_batch_no` (`merge_batch_no`) USING BTREE,
+  KEY `idx_mps_id` (`mps_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MPS 鍚堝苟涓嬪彂鏄庣粏';
+
+-- ============ 琛細mes_pro_pallet锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_pallet`;
+CREATE TABLE `mes_pro_pallet` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎵樼洏鐮侊紙鎵规鍙�-P+鎵樼洏搴忓彿锛屽叏灞�鍞竴锛�',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鎵规鍙凤紙鍐椾綑锛屼究浜庡睍绀猴級',
+  `pallet_no` int NOT NULL COMMENT '鎵规鍐呮墭鐩樺簭鍙�',
+  `capacity` int DEFAULT NULL COMMENT '鍙琚嬫暟锛堣/鎵樼洏锛�',
+  `bag_count` int NOT NULL DEFAULT '0' COMMENT '宸茬粦瀹氳鐮佹暟閲�',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '鐘舵�侊紙瀛楀吀 mes_pro_pallet_status锛�10 鍚敤 20 浣滃簾锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鎵樼洏鐮�';
+
+-- ============ 琛細mes_pro_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_process`;
+CREATE TABLE `mes_pro_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ簭缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ簭鍚嶇О',
+  `attention` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓瑕佹眰',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ簭';
+
+-- ============ 琛細mes_pro_process_content锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_process_content`;
+CREATE TABLE `mes_pro_process_content` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '椤哄簭缂栧彿',
+  `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '姝ラ璇存槑',
+  `device` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杈呭姪璁惧',
+  `material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杈呭姪鏉愭枡',
+  `doc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉愭枡鏂囨。 URL',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ簭鍐呭';
+
+-- ============ 琛細mes_pro_process_param锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_process_param`;
+CREATE TABLE `mes_pro_process_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_id` bigint NOT NULL COMMENT '宸ュ簭缂栧彿锛堝叧鑱� mes_pro_process锛�',
+  `process_param_id` bigint NOT NULL COMMENT '宸ヨ壓鍙傛暟缂栧彿锛堝叧鑱� mes_pd_process_param锛�',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~',
+  `sort` int DEFAULT NULL COMMENT '鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_process_id` (`process_id`) USING BTREE,
+  KEY `idx_process_param_id` (`process_param_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ュ簭-宸ヨ壓鍙傛暟缁戝畾';
+
+-- ============ 琛細mes_pro_route锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route`;
+CREATE TABLE `mes_pro_route` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓璺嚎鍚嶇О',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓璺嚎璇存槑',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎';
+
+-- ============ 琛細mes_pro_route_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route_process`;
+CREATE TABLE `mes_pro_route_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `param_template_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟妯℃澘缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '搴忓彿',
+  `next_process_id` bigint DEFAULT NULL COMMENT '涓嬩竴閬撳伐搴忕紪鍙�',
+  `link_type` int DEFAULT NULL COMMENT '涓庝笅涓�閬撳伐搴忓叧绯�',
+  `prepare_time` int DEFAULT NULL COMMENT '鍑嗗鏃堕棿锛堝垎閽燂級',
+  `wait_time` int DEFAULT NULL COMMENT '绛夊緟鏃堕棿锛堝垎閽燂級',
+  `color_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢樼壒鍥炬樉绀洪鑹�',
+  `key_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏抽敭宸ュ簭',
+  `check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁璐ㄦ宸ュ簭',
+  `backflush_flag` bit(1) DEFAULT b'1' COMMENT '鏄惁鍊掑啿',
+  `output_item_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浜у嚭浜у搧鐗╂枡缂栧彿锛屽涓敤閫楀彿鍒嗛殧',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_output_item_id` (`output_item_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎宸ュ簭';
+
+-- ============ 琛細mes_pro_route_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route_product`;
+CREATE TABLE `mes_pro_route_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鐢熶骇鏁伴噺',
+  `production_time` decimal(24,6) DEFAULT NULL COMMENT '鐢熶骇鐢ㄦ椂',
+  `time_unit_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏃堕棿鍗曚綅',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎浜у搧';
+
+-- ============ 琛細mes_pro_route_product_bom锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route_product_bom`;
+CREATE TABLE `mes_pro_route_product_bom` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT 'BOM 鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鐢ㄦ枡姣斾緥',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎浜у搧 BOM';
+
+-- ============ 琛細mes_pro_task锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task`;
+CREATE TABLE `mes_pro_task` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `param_template_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟妯℃澘缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鎺掍骇鏁伴噺',
+  `produced_quantity` decimal(24,6) DEFAULT NULL COMMENT '宸茬敓浜ф暟閲�',
+  `qualify_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualify_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶈壇鍝佹暟閲�',
+  `changed_quantity` decimal(24,6) DEFAULT NULL COMMENT '璋冩暣鏁伴噺',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬬敓浜ф椂闂�',
+  `duration` int DEFAULT NULL COMMENT '鐢熶骇鏃堕暱',
+  `end_time` datetime DEFAULT NULL COMMENT '缁撴潫鐢熶骇鏃堕棿',
+  `color_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢樼壒鍥炬樉绀洪鑹�',
+  `finish_date` datetime DEFAULT NULL COMMENT '瀹屾垚鏃ユ湡',
+  `cancel_date` datetime DEFAULT NULL COMMENT '鍙栨秷鏃ユ湡',
+  `first_feedback_time` datetime DEFAULT NULL COMMENT '棣栨鎶ュ伐鏃堕棿',
+  `last_feedback_time` datetime DEFAULT NULL COMMENT '鏈�杩戞姤宸ユ椂闂�',
+  `status` int DEFAULT NULL COMMENT '浠诲姟鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_work_order_process` (`work_order_id`,`process_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇浠诲姟';
+
+-- ============ 琛細mes_pro_task_assignee锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task_assignee`;
+CREATE TABLE `mes_pro_task_assignee` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟 ID',
+  `user_id` bigint DEFAULT NULL COMMENT '绯荤粺鐢ㄦ埛 ID (鎸囧畾鎶ュ伐浜哄憳)',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鐢熶骇浠诲姟鎸囧畾鎶ュ伐浜哄憳琛�';
+
+-- ============ 琛細mes_pro_task_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task_issue`;
+CREATE TABLE `mes_pro_task_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `source_doc_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栫爜',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶曟枡鎵规',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '鍗曚綅缂栧彿',
+  `issued_quantity` decimal(24,6) DEFAULT NULL COMMENT '鎬绘姇鏂欐暟閲�',
+  `available_quantity` decimal(24,6) DEFAULT NULL COMMENT '褰撳墠鍙敤鏁伴噺',
+  `used_quantity` decimal(24,6) DEFAULT NULL COMMENT '褰撳墠浣跨敤鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇浠诲姟鎶曟枡';
+
+-- ============ 琛細mes_pro_task_pause_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task_pause_record`;
+CREATE TABLE `mes_pro_task_pause_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint NOT NULL COMMENT '浠诲姟缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '宸ュ崟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍋滃伐鍘熷洜',
+  `pause_time` datetime NOT NULL COMMENT '鍋滃伐鏃堕棿',
+  `pause_user_id` bigint NOT NULL COMMENT '鍋滃伐鎿嶄綔浜篒D',
+  `resume_time` datetime DEFAULT NULL COMMENT '澶嶅伐鏃堕棿',
+  `resume_user_id` bigint DEFAULT NULL COMMENT '澶嶅伐鎿嶄綔浜篒D',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢熶骇浠诲姟鍋滃伐璁板綍琛�';
+
+-- ============ 琛細mes_pro_work_order锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order`;
+CREATE TABLE `mes_pro_work_order` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ崟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ崟鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '宸ュ崟绫诲瀷',
+  `order_source_type` int DEFAULT NULL COMMENT '鏉ユ簮绫诲瀷',
+  `order_source_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鐢熶骇鏁伴噺',
+  `quantity_produced` decimal(24,6) DEFAULT NULL COMMENT '宸茬敓浜ф暟閲�',
+  `quantity_changed` decimal(24,6) DEFAULT NULL COMMENT '璋冩暣鏁伴噺',
+  `quantity_scheduled` decimal(24,6) DEFAULT NULL COMMENT '宸叉帓浜ф暟閲�',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `auto_finish_flag` tinyint(1) DEFAULT '1' COMMENT '鏄惁鑷姩瀹屾垚',
+  `request_date` datetime DEFAULT NULL COMMENT '闇�姹傛棩鏈�',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐖跺伐鍗曠紪鍙�',
+  `finish_date` datetime DEFAULT NULL COMMENT '瀹屾垚鏃堕棿',
+  `cancel_date` datetime DEFAULT NULL COMMENT '鍙栨秷鏃堕棿',
+  `status` int DEFAULT NULL COMMENT '宸ュ崟鐘舵��',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `is_feedback_approve` tinyint(1) DEFAULT NULL COMMENT '鏄惁寮�鍚姤宸ュ鎵� (1: 寮�鍚�, 0/NULL: 鍏抽棴)',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹氫箟 Key',
+  `feedback_role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶ュ伐瑙掕壊 (澶氫釜瑙掕壊浠ラ�楀彿鍒嗛殧)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟';
+
+-- ============ 琛細mes_pro_work_order_bom锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_bom`;
+CREATE TABLE `mes_pro_work_order_bom` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT 'BOM 鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '棰勮浣跨敤閲�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟 BOM';
+
+-- ============ 琛細mes_pro_work_order_param_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_param_record`;
+CREATE TABLE `mes_pro_work_order_param_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `work_order_id` bigint NOT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '鍙傛暟妯℃澘缂栧彿锛堝伐搴忕粦瀹氬弬鏁扮敓鎴愭椂涓虹┖锛�',
+  `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯℃澘缂栫爜锛堝揩鐓э級',
+  `template_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯℃澘鍚嶇О锛堝揩鐓э級',
+  `record_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁板綍搴忓彿/鎵规鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `task_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_work_order_id` (`work_order_id`) USING BTREE,
+  KEY `idx_mes_pro_work_order_param_record_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟鍙傛暟璁板綍';
+
+-- ============ 琛細mes_pro_work_order_param_record_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_param_record_detail`;
+CREATE TABLE `mes_pro_work_order_param_record_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `record_id` bigint NOT NULL COMMENT '鍙傛暟璁板綍缂栧彿',
+  `template_detail_id` bigint DEFAULT NULL COMMENT '妯℃澘鏄庣粏缂栧彿锛堟函婧愮敤锛�',
+  `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟缂栫爜锛堝揩鐓э級',
+  `param_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鍚嶇О锛堝揩鐓э級',
+  `param_type` tinyint DEFAULT NULL COMMENT '鍙傛暟绫诲瀷锛堝揩鐓э級',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~锛堝揩鐓э級',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿锛堝揩鐓э級',
+  `param_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鍊�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_record_id` (`record_id`) USING BTREE,
+  KEY `idx_mes_pro_work_order_param_record_detail_record_id` (`record_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟鍙傛暟璁板綍鏄庣粏';
+
+-- ============ 琛細mes_pro_work_order_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_process`;
+CREATE TABLE `mes_pro_work_order_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `param_template_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟妯℃澘缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '搴忓彿',
+  `next_process_id` bigint DEFAULT NULL COMMENT '涓嬩竴閬撳伐搴忕紪鍙�',
+  `link_type` int DEFAULT NULL COMMENT '涓庝笅涓�閬撳伐搴忓叧绯�',
+  `prepare_time` int DEFAULT NULL COMMENT '鍑嗗鏃堕棿锛堝垎閽燂級',
+  `wait_time` int DEFAULT NULL COMMENT '绛夊緟鏃堕棿锛堝垎閽燂級',
+  `color_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢樼壒鍥炬樉绀洪鑹�',
+  `key_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏抽敭宸ュ簭',
+  `check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁璐ㄦ宸ュ簭',
+  `backflush_flag` bit(1) DEFAULT b'1' COMMENT '鏄惁鍊掑啿',
+  `output_item_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜у嚭浜у搧鐗╂枡缂栧彿锛屽涓敤閫楀彿鍒嗛殧',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_work_order_id` (`work_order_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟宸ュ簭';
+
+-- ============ 琛細mes_pro_work_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_record`;
+CREATE TABLE `mes_pro_work_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `type` int DEFAULT NULL COMMENT '褰撳墠鐘舵��',
+  `clock_in_time` datetime DEFAULT NULL COMMENT '涓婂伐鏃堕棿',
+  `clock_out_time` datetime DEFAULT NULL COMMENT '涓嬪伐鏃堕棿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢ㄦ埛宸ヤ綔绔欑粦瀹氬叧绯�';
+
+-- ============ 琛細mes_pro_work_record_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_record_log`;
+CREATE TABLE `mes_pro_work_record_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `type` int DEFAULT NULL COMMENT '鎿嶄綔绫诲瀷',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 涓婁笅宸ヨ褰曟祦姘�';
+
+-- ============ 琛細mes_qc_defect锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_defect`;
+CREATE TABLE `mes_qc_defect` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡缂栫爜',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡鎻忚堪',
+  `type` int DEFAULT NULL COMMENT '妫�娴嬮」绫诲瀷',
+  `level` int DEFAULT NULL COMMENT '缂洪櫡绛夌骇',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂洪櫡绫诲瀷';
+
+-- ============ 琛細mes_qc_defect_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_defect_record`;
+CREATE TABLE `mes_qc_defect_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `qc_type` int DEFAULT NULL COMMENT '妫�楠岀被鍨�',
+  `qc_id` bigint DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '妫�楠岃缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡鎻忚堪',
+  `level` int DEFAULT NULL COMMENT '缂洪櫡绛夌骇',
+  `quantity` int DEFAULT NULL COMMENT '缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ缂洪櫡璁板綍';
+
+-- ============ 琛細mes_qc_indicator锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_indicator`;
+CREATE TABLE `mes_qc_indicator` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬮」缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬮」鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '妫�娴嬮」绫诲瀷',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `result_type` int DEFAULT NULL COMMENT '缁撴灉鍊肩被鍨�',
+  `result_specification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁撴灉鍊煎睘鎬�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鎸囨爣';
+
+-- ============ 琛細mes_qc_indicator_result锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_indicator_result`;
+CREATE TABLE `mes_qc_indicator_result` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍峰搧缂栧彿',
+  `qc_id` bigint DEFAULT NULL COMMENT '鍏宠仈璐ㄦ鍗曠紪鍙�',
+  `qc_type` int DEFAULT NULL COMMENT '璐ㄦ绫诲瀷',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `sn` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╄祫 SN',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 妫�楠岀粨鏋滆褰�';
+
+-- ============ 琛細mes_qc_indicator_result_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_indicator_result_detail`;
+CREATE TABLE `mes_qc_indicator_result_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `result_id` bigint DEFAULT NULL COMMENT '鍏宠仈妫�楠岀粨鏋滅紪鍙�',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 妫�楠岀粨鏋滄槑缁嗚褰�';
+
+-- ============ 琛細mes_qc_ipqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_ipqc`;
+CREATE TABLE `mes_qc_ipqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `type` int DEFAULT NULL COMMENT 'IPQC 妫�楠岀被鍨�',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綅缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `labor_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '宸ュ簾鏁伴噺',
+  `material_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏂欏簾鏁伴噺',
+  `other_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍏朵粬搴熷搧鏁伴噺',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杩囩▼妫�楠屽崟';
+
+-- ============ 琛細mes_qc_ipqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_ipqc_line`;
+CREATE TABLE `mes_qc_ipqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `ipqc_id` bigint DEFAULT NULL COMMENT '杩囩▼妫�楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杩囩▼妫�楠屽崟琛�';
+
+-- ============ 琛細mes_qc_iqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_iqc`;
+CREATE TABLE `mes_qc_iqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `vendor_batch` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗘壒娆″彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `received_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鎺ユ敹鏁伴噺',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `receive_date` datetime DEFAULT NULL COMMENT '鏉ユ枡鏃ユ湡',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉ユ枡妫�楠屽崟';
+
+-- ============ 琛細mes_qc_iqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_iqc_line`;
+CREATE TABLE `mes_qc_iqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉ユ枡妫�楠屽崟琛�';
+
+-- ============ 琛細mes_qc_ncr锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_ncr`;
+CREATE TABLE `mes_qc_ncr` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'NCR鍗曞彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'NCR鍚嶇О',
+  `qc_type` int DEFAULT NULL COMMENT '妫�楠岀被鍨嬶紙IQC/IPQC/OQC/RQC锛夛紝瀛楀吀 mes_qc_type',
+  `qc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮妫�楠屽崟ID',
+  `qc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮妫�楠屽崟缂栧彿锛堝啑浣欙級',
+  `item_id` bigint DEFAULT NULL COMMENT '涓嶅悎鏍肩墿鏂橧D',
+  `defect_level` int DEFAULT NULL COMMENT '缂洪櫡绛夌骇锛堣嚧鍛�/涓ラ噸/杞诲井锛夛紝瀛楀吀 mes_defect_level',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍兼暟閲�',
+  `defect_description` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓嶅悎鏍兼弿杩�',
+  `disposition` int DEFAULT NULL COMMENT '澶勭疆鏂瑰紡锛堥��璐�/鎶ュ簾/杩斿伐/璁╂鎺ユ敹/闄嶇骇浣跨敤锛夛紝瀛楀吀 mes_ncr_disposition',
+  `responsible_dept_id` bigint DEFAULT NULL COMMENT '璐d换閮ㄩ棬ID',
+  `reviewer_user_id` bigint DEFAULT NULL COMMENT '璇勫浜篒D',
+  `review_date` datetime DEFAULT NULL COMMENT '璇勫鏃ユ湡',
+  `review_opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勫鎰忚',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭悊浜篒D',
+  `handle_date` datetime DEFAULT NULL COMMENT '澶勭悊鏃ユ湡',
+  `handle_result` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊缁撴灉璇存槑',
+  `root_cause` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍规湰鍘熷洜',
+  `corrective_action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绾犳鎺柦',
+  `preventive_action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰勯槻鎺柦',
+  `close_user_id` bigint DEFAULT NULL COMMENT '鍏抽棴浜篒D',
+  `close_date` datetime DEFAULT NULL COMMENT '鍏抽棴鏃ユ湡',
+  `close_opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏抽棴鎰忚',
+  `status` int DEFAULT NULL COMMENT '鐘舵�侊紙寰呰瘎瀹�/宸茶瘎瀹�/宸插缃�/宸插叧闂級锛屽瓧鍏� mes_ncr_status',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID锛堥鐣欙級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_qc_type_id` (`qc_type`,`qc_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_item_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 涓嶅悎鏍煎搧澶勭悊鍗�';
+
+-- ============ 琛細mes_qc_oqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_oqc`;
+CREATE TABLE `mes_qc_oqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `min_check_quantity` int DEFAULT NULL COMMENT '鏈�浣庢娴嬫暟',
+  `max_unqualified_quantity` int DEFAULT NULL COMMENT '鏈�澶т笉鍚堟牸鏁�',
+  `out_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鍑鸿揣鏁伴噺',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `out_date` datetime DEFAULT NULL COMMENT '鍑鸿揣鏃ユ湡',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍑鸿揣妫�楠屽崟';
+
+-- ============ 琛細mes_qc_oqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_oqc_line`;
+CREATE TABLE `mes_qc_oqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `oqc_id` bigint DEFAULT NULL COMMENT '鍑鸿揣妫�楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍑鸿揣妫�楠屽崟琛�';
+
+-- ============ 琛細mes_qc_rqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_rqc`;
+CREATE TABLE `mes_qc_rqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `type` int DEFAULT NULL COMMENT '妫�楠岀被鍨�',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍兼暟閲�',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閫�璐ф楠屽崟';
+
+-- ============ 琛細mes_qc_rqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_rqc_line`;
+CREATE TABLE `mes_qc_rqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `rqc_id` bigint DEFAULT NULL COMMENT '閫�璐ф楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閫�璐ф楠岃';
+
+-- ============ 琛細mes_qc_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_template`;
+CREATE TABLE `mes_qc_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规鍚嶇О',
+  `types` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬬绫�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鏂规';
+
+-- ============ 琛細mes_qc_template_indicator锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_template_indicator`;
+CREATE TABLE `mes_qc_template_indicator` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '璐ㄦ鏂规缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '璐ㄦ鎸囨爣缂栧彿',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `threshold_max` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `threshold_min` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `doc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇存槑鍥� URL',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鏂规妫�娴嬫寚鏍囬」';
+
+-- ============ 琛細mes_qc_template_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_template_item`;
+CREATE TABLE `mes_qc_template_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '璐ㄦ鏂规缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `quantity_check` int DEFAULT NULL COMMENT '鏈�浣庢娴嬫暟',
+  `quantity_unqualified` int DEFAULT NULL COMMENT '鏈�澶т笉鍚堟牸鏁�',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶ц嚧鍛界己闄风巼',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶т弗閲嶇己闄风巼',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶ц交寰己闄风巼',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鏂规浜у搧鍏宠仈';
+
+-- ============ 琛細mes_tm_tool锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_tm_tool`;
+CREATE TABLE `mes_tm_tool` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ叿缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ叿鍚嶇О',
+  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍝佺墝',
+  `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍨嬪彿瑙勬牸',
+  `tool_type_id` bigint DEFAULT NULL COMMENT '宸ュ叿绫诲瀷缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `available_quantity` int DEFAULT NULL COMMENT '鍙敤鏁伴噺',
+  `mainten_type` int DEFAULT NULL COMMENT '淇濆吇缁存姢绫诲瀷',
+  `next_mainten_period` int DEFAULT NULL COMMENT '涓嬫淇濆吇鍛ㄦ湡锛堟鏁帮級',
+  `next_mainten_date` datetime DEFAULT NULL COMMENT '涓嬫淇濆吇鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ュ叿鍙拌处';
+
+-- ============ 琛細mes_tm_tool_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_tm_tool_type`;
+CREATE TABLE `mes_tm_tool_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷鍚嶇О',
+  `code_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁缂栫爜绠$悊',
+  `mainten_type` int DEFAULT NULL COMMENT '淇濆吇缁存姢绫诲瀷',
+  `mainten_period` int DEFAULT NULL COMMENT '淇濆吇鍛ㄦ湡',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ュ叿绫诲瀷';
+
+-- ============ 琛細mes_wm_arrival_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_arrival_notice`;
+CREATE TABLE `mes_wm_arrival_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栫爜锛堝啑浣欏瓧娈碉級',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `arrival_date` datetime DEFAULT NULL COMMENT '棰勮鍒拌揣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `contact_telephone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜虹數璇�',
+  `contact_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍒拌揣閫氱煡鍗�';
+
+-- ============ 琛細mes_wm_arrival_notice_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_arrival_notice_line`;
+CREATE TABLE `mes_wm_arrival_notice_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `notice_id` bigint DEFAULT NULL COMMENT '鍒拌揣閫氱煡鍗� ID',
+  `purchase_order_item_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟琛岀紪鍙凤紙鍏宠仈 ERP 閲囪喘璁㈠崟鏄庣粏锛�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `arrival_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍒拌揣鏁伴噺',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鏁伴噺',
+  `iqc_check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `iqc_check_result` tinyint DEFAULT NULL COMMENT '璐ㄦ缁撴灉锛�1鍚堟牸 2鐗归噰 3涓嶅悎鏍奸��璐� 4涓嶅悎鏍兼姤搴�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_purchase_order_item_id` (`purchase_order_item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍒拌揣閫氱煡鍗曡';
+
+-- ============ 琛細mes_wm_barcode锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_barcode`;
+CREATE TABLE `mes_wm_barcode` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `config_id` bigint DEFAULT NULL COMMENT '鏉$爜閰嶇疆缂栧彿',
+  `format` int DEFAULT NULL COMMENT '鏉$爜鏍煎紡',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉$爜鍐呭',
+  `biz_id` bigint DEFAULT NULL COMMENT '涓氬姟缂栧彿',
+  `biz_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟缂栫爜',
+  `biz_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟鍚嶇О',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉$爜娓呭崟';
+
+-- ============ 琛細mes_wm_barcode_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_barcode_config`;
+CREATE TABLE `mes_wm_barcode_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `format` int DEFAULT NULL COMMENT '鏉$爜鏍煎紡',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `content_format` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍐呭鏍煎紡妯℃澘',
+  `content_example` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍐呭鏍蜂緥',
+  `auto_generate_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鑷姩鐢熸垚',
+  `default_template` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '榛樿鎵撳嵃妯℃澘',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉$爜閰嶇疆';
+
+-- ============ 琛細mes_wm_batch锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_batch`;
+CREATE TABLE `mes_wm_batch` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `produce_date` datetime DEFAULT NULL COMMENT '鐢熶骇鏃ユ湡',
+  `expire_date` datetime DEFAULT NULL COMMENT '澶辨晥鏃ユ湡',
+  `receipt_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛ID',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔橧D',
+  `tool_id` bigint DEFAULT NULL COMMENT '宸ュ叿ID',
+  `mold_id` bigint DEFAULT NULL COMMENT '妯″叿ID',
+  `lot_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `quality_status` tinyint DEFAULT NULL COMMENT '璐ㄩ噺鐘舵��',
+  `vendor_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鐮�',
+  `vendor_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鎵规';
+
+-- ============ 琛細mes_wm_item_consume锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_consume`;
+CREATE TABLE `mes_wm_item_consume` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `feedback_id` bigint DEFAULT NULL COMMENT '鎶ュ伐璁板綍缂栧彿',
+  `consume_date` datetime DEFAULT NULL COMMENT '娑堣�楁棩鏈�',
+  `return_date` datetime DEFAULT NULL COMMENT '閫�鏂欐棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�鏂欏崟';
+
+-- ============ 琛細mes_wm_item_consume_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_consume_detail`;
+CREATE TABLE `mes_wm_item_consume_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `consume_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�鏂欏崟鏄庣粏';
+
+-- ============ 琛細mes_wm_item_consume_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_consume_line`;
+CREATE TABLE `mes_wm_item_consume_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `consume_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_id` int DEFAULT NULL,
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�鏂欏崟琛�';
+
+-- ============ 琛細mes_wm_item_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_receipt`;
+CREATE TABLE `mes_wm_item_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `notice_id` bigint DEFAULT NULL COMMENT '鍒拌揣閫氱煡鍗曠紪鍙�',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟鍙�',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `receipt_date` datetime DEFAULT NULL COMMENT '閫�搴撴棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_process_instance_id` (`process_instance_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_item_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_receipt_detail`;
+CREATE TABLE `mes_wm_item_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�搴撳崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�搴撳崟鏄庣粏';
+
+-- ============ 琛細mes_wm_item_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_receipt_line`;
+CREATE TABLE `mes_wm_item_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�搴撳崟 ID',
+  `arrival_notice_line_id` bigint DEFAULT NULL COMMENT '鍒拌揣閫氱煡鍗曡缂栧彿',
+  `purchase_order_item_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟琛岀紪鍙凤紙瀹屾暣杩芥函閾撅級',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `received_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍏ュ簱鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规缂栫爜',
+  `production_date` datetime DEFAULT NULL COMMENT '鐢熶骇鏃ユ湡',
+  `expire_date` datetime DEFAULT NULL COMMENT '鏈夋晥鏈�',
+  `lot_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_purchase_order_item_id` (`purchase_order_item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�搴撳崟琛�';
+
+-- ============ 琛細mes_wm_material_stock锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_material_stock`;
+CREATE TABLE `mes_wm_material_stock` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_type_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规缂栫爜',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '搴撳瓨鏁伴噺',
+  `frozen_quantity` decimal(24,6) DEFAULT '0.000000' COMMENT '鍐荤粨鏁伴噺',
+  `reserved_quantity` decimal(24,6) DEFAULT '0.000000' COMMENT '鍗犵敤閲忥紙宸插垎閰嶅緟鍑哄簱锛�',
+  `in_transit_quantity` decimal(24,6) DEFAULT '0.000000' COMMENT '鍦ㄩ�旈噺锛堣皟鎷ㄥ湪閫旓級',
+  `erp_time` datetime DEFAULT NULL COMMENT 'ERP 璐︽湡',
+  `receipt_time` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃堕棿',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳瓨璁板綍';
+
+-- ============ 琛細mes_wm_misc_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_issue`;
+CREATE TABLE `mes_wm_misc_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `issue_date` datetime DEFAULT NULL COMMENT '鍑哄簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `type` int DEFAULT NULL,
+  `source_doc_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `source_doc_id` int DEFAULT NULL,
+  `source_doc_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍑哄簱鍗�';
+
+-- ============ 琛細mes_wm_misc_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_issue_detail`;
+CREATE TABLE `mes_wm_misc_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍑哄簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_misc_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_issue_line`;
+CREATE TABLE `mes_wm_misc_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍ID',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL,
+  `location_id` bigint DEFAULT NULL,
+  `area_id` bigint DEFAULT NULL,
+  `source_doc_line_id` bigint DEFAULT NULL,
+  `batch_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍑哄簱鍗曡';
+
+-- ============ 琛細mes_wm_misc_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_receipt`;
+CREATE TABLE `mes_wm_misc_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `receipt_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_misc_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_receipt_detail`;
+CREATE TABLE `mes_wm_misc_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍏ュ簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_misc_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_receipt_line`;
+CREATE TABLE `mes_wm_misc_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍏ュ簱鍗曡';
+
+-- ============ 琛細mes_wm_outsource_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_issue`;
+CREATE TABLE `mes_wm_outsource_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '澶栧崗宸ュ崟 ID',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `issue_date` datetime DEFAULT NULL COMMENT '鍙戞枡鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍙戞枡鍗�';
+
+-- ============ 琛細mes_wm_outsource_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_issue_detail`;
+CREATE TABLE `mes_wm_outsource_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍙戞枡鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍙戞枡鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_outsource_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_issue_line`;
+CREATE TABLE `mes_wm_outsource_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍙戞枡鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍙戞枡鍗曡';
+
+-- ============ 琛細mes_wm_outsource_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_receipt`;
+CREATE TABLE `mes_wm_outsource_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '澶栧崗宸ュ崟 ID',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `receipt_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_outsource_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_receipt_detail`;
+CREATE TABLE `mes_wm_outsource_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍏ュ簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_outsource_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_receipt_line`;
+CREATE TABLE `mes_wm_outsource_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `iqc_check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `quality_status` int DEFAULT NULL COMMENT '璐ㄩ噺鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍏ュ簱鍗曡';
+
+-- ============ 琛細mes_wm_package锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_package`;
+CREATE TABLE `mes_wm_package` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瑁呯鍗� ID',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '瑁呯鍗曠紪鍙�',
+  `parent_id` bigint DEFAULT '0' COMMENT '鐖剁 ID',
+  `package_date` datetime DEFAULT NULL COMMENT '瑁呯鏃ユ湡',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `invoice_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ缂栧彿',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `length` decimal(24,6) DEFAULT NULL COMMENT '绠遍暱搴�',
+  `width` decimal(24,6) DEFAULT NULL COMMENT '绠卞搴�',
+  `height` decimal(24,6) DEFAULT NULL COMMENT '绠遍珮搴�',
+  `size_unit_id` bigint DEFAULT NULL COMMENT '灏哄鍗曚綅 ID',
+  `net_weight` decimal(24,6) DEFAULT NULL COMMENT '鍑�閲�',
+  `gross_weight` decimal(24,6) DEFAULT NULL COMMENT '姣涢噸',
+  `weight_unit_id` bigint DEFAULT NULL COMMENT '閲嶉噺鍗曚綅 ID',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�鏌ュ憳鐢ㄦ埛 ID',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` bigint DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `updater` bigint DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 瑁呯鍗�';
+
+-- ============ 琛細mes_wm_package_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_package_line`;
+CREATE TABLE `mes_wm_package_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `package_id` bigint DEFAULT NULL COMMENT '鍖呰鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍖呰鍗曡';
+
+-- ============ 琛細mes_wm_product_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_issue`;
+CREATE TABLE `mes_wm_product_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `issue_date` datetime DEFAULT NULL COMMENT '棰嗘枡鏃ユ湡',
+  `required_time` datetime DEFAULT NULL COMMENT '闇�姹傛椂闂�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `workstation_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇棰嗘枡鍗�';
+
+-- ============ 琛細mes_wm_product_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_issue_detail`;
+CREATE TABLE `mes_wm_product_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '棰嗘枡鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇棰嗘枡鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_product_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_issue_line`;
+CREATE TABLE `mes_wm_product_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '棰嗘枡鍗� ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇棰嗘枡鍗曡';
+
+-- ============ 琛細mes_wm_product_produce锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_produce`;
+CREATE TABLE `mes_wm_product_produce` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `feedback_id` bigint DEFAULT NULL COMMENT '鎶ュ伐璁板綍 ID',
+  `produce_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `workstation_id` int DEFAULT NULL,
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭 ID',
+  `task_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_product_produce_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_produce_detail`;
+CREATE TABLE `mes_wm_product_produce_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `produce_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鍏ュ簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_product_produce_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_produce_line`;
+CREATE TABLE `mes_wm_product_produce_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `produce_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `feedback_id` bigint DEFAULT NULL COMMENT '鎶ュ伐璁板綍 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `expire_date` datetime DEFAULT NULL COMMENT '杩囨湡鏃ユ湡',
+  `lot_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `quality_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鍏ュ簱鍗曡';
+
+-- ============ 琛細mes_wm_product_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_receipt`;
+CREATE TABLE `mes_wm_product_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `receipt_date` datetime DEFAULT NULL COMMENT '閫�鏂欐棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `item_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟';
+
+-- ============ 琛細mes_wm_product_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_receipt_detail`;
+CREATE TABLE `mes_wm_product_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟鏄庣粏';
+
+-- ============ 琛細mes_wm_product_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_receipt_line`;
+CREATE TABLE `mes_wm_product_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `material_stock_id` int DEFAULT NULL,
+  `batch_id` int DEFAULT NULL,
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟琛�';
+
+-- ============ 琛細mes_wm_product_sales锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_sales`;
+CREATE TABLE `mes_wm_product_sales` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗旾D',
+  `notice_id` bigint DEFAULT NULL COMMENT '鍙戣揣閫氱煡鍗旾D',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿',
+  `sales_date` datetime DEFAULT NULL COMMENT '鍑哄簱鏃ユ湡',
+  `contact_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `contact_telephone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `contact_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣鍦板潃',
+  `carrier` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵胯繍鍟�',
+  `shipping_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杩愯緭鍗曞彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞嚭搴撳崟';
+
+-- ============ 琛細mes_wm_product_sales_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_sales_detail`;
+CREATE TABLE `mes_wm_product_sales_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `sales_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞嚭搴撳崟鏄庣粏';
+
+-- ============ 琛細mes_wm_product_sales_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_sales_line`;
+CREATE TABLE `mes_wm_product_sales_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `sales_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曟槑缁咺D',
+  `notice_line_id` bigint DEFAULT NULL COMMENT '鍙戣揣閫氱煡鍗曡ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `oqc_check_flag` tinyint(1) DEFAULT '0' COMMENT '鏄惁妫�楠�',
+  `oqc_id` bigint DEFAULT NULL COMMENT '鍑哄巶妫�楠屽崟ID',
+  `quality_status` int DEFAULT NULL COMMENT '璐ㄩ噺鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞嚭搴撳崟琛�';
+
+-- ============ 琛細mes_wm_return_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_issue`;
+CREATE TABLE `mes_wm_return_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `issue_date` datetime DEFAULT NULL COMMENT '閫�鏂欐棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `workstation_id` int DEFAULT NULL,
+  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `return_date` datetime DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟锛堝彂鏂欙級';
+
+-- ============ 琛細mes_wm_return_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_issue_detail`;
+CREATE TABLE `mes_wm_return_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟鏄庣粏锛堝彂鏂欙級';
+
+-- ============ 琛細mes_wm_return_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_issue_line`;
+CREATE TABLE `mes_wm_return_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `material_stock_id` int DEFAULT NULL,
+  `rqc_check_flag` tinyint(1) DEFAULT NULL,
+  `quality_status` int DEFAULT NULL,
+  `batch_id` int DEFAULT NULL,
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `rqc_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟琛岋紙鍙戞枡锛�';
+
+-- ============ 琛細mes_wm_return_sales锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_sales`;
+CREATE TABLE `mes_wm_return_sales` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `after_sale_return_id` bigint DEFAULT NULL COMMENT '鍞悗閫�璐х敵璇风紪鍙凤紝鍏宠仈 after_sale_return.id',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗� ID',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `return_date` datetime DEFAULT NULL COMMENT '閫�璐ф棩鏈�',
+  `return_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閫�璐у師鍥�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞��璐у崟';
+
+-- ============ 琛細mes_wm_return_sales_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_sales_detail`;
+CREATE TABLE `mes_wm_return_sales_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞��璐у崟鏄庣粏';
+
+-- ============ 琛細mes_wm_return_sales_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_sales_line`;
+CREATE TABLE `mes_wm_return_sales_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `rqc_check_flag` tinyint(1) DEFAULT NULL COMMENT '鏄惁闇�瑕佽川妫�',
+  `rqc_id` int DEFAULT NULL,
+  `quality_status` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞��璐у崟琛�';
+
+-- ============ 琛細mes_wm_return_vendor锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_vendor`;
+CREATE TABLE `mes_wm_return_vendor` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `return_date` datetime DEFAULT NULL COMMENT '閫�璐ф棩鏈�',
+  `return_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閫�璐у師鍥�',
+  `transport_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂祦鍗曞彿',
+  `transport_telephone` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂祦鑱旂郴鐢佃瘽',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘閫�璐у崟';
+
+-- ============ 琛細mes_wm_return_vendor_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_vendor_detail`;
+CREATE TABLE `mes_wm_return_vendor_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘閫�璐у崟鏄庣粏';
+
+-- ============ 琛細mes_wm_return_vendor_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_vendor_line`;
+CREATE TABLE `mes_wm_return_vendor_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘閫�璐у崟琛�';
+
+-- ============ 琛細mes_wm_sales_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_sales_notice`;
+CREATE TABLE `mes_wm_sales_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗旾D',
+  `sale_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿',
+  `sales_date` datetime DEFAULT NULL COMMENT '閿�鍞棩鏈�',
+  `recipient_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣浜�',
+  `recipient_telephone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鏂瑰紡',
+  `recipient_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣鍦板潃',
+  `delivery_date` datetime DEFAULT NULL COMMENT '棰勮鍙戣揣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `out_status` int DEFAULT '0' COMMENT '鍑哄簱鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞彂璐ч�氱煡鍗�';
+
+-- ============ 琛細mes_wm_sales_notice_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_sales_notice_line`;
+CREATE TABLE `mes_wm_sales_notice_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `notice_id` bigint DEFAULT NULL COMMENT '閿�鍞彂璐ч�氱煡鍗� ID',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曟槑缁咺D',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `out_count` decimal(24,6) DEFAULT '0.000000' COMMENT '宸插嚭搴撴暟閲�',
+  `oqc_check_flag` tinyint(1) DEFAULT '0' COMMENT '鏄惁妫�楠�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞彂璐ч�氱煡鍗曡';
+
+-- ============ 琛細mes_wm_sn锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_sn`;
+CREATE TABLE `mes_wm_sn` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `uuid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规UUID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴忓垪鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴忓垪鍙�';
+
+-- ============ 琛細mes_wm_stock_reserve锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_reserve`;
+CREATE TABLE `mes_wm_stock_reserve` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `material_stock_id` bigint NOT NULL COMMENT '搴撳瓨璁板綍ID',
+  `biz_type` int NOT NULL COMMENT '涓氬姟绫诲瀷锛�1閿�鍞嚭搴� 2鐢熶骇棰嗘枡 3澶栧崗鍙戞枡 4鏉傞」鍑哄簱 5杞Щ璋冩嫧锛�',
+  `biz_id` bigint NOT NULL COMMENT '涓氬姟鍗曟嵁ID',
+  `biz_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '涓氬姟鍗曞彿',
+  `biz_line_id` bigint DEFAULT NULL COMMENT '涓氬姟鍗曟嵁琛孖D',
+  `item_id` bigint NOT NULL COMMENT '鐗╂枡ID',
+  `quantity` decimal(24,6) NOT NULL COMMENT '鍗犵敤鏁伴噺',
+  `status` int NOT NULL DEFAULT '1' COMMENT '鐘舵�侊紙1鍗犵敤涓� 2宸查噴鏀� 3宸插嚭搴擄級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_material_stock` (`material_stock_id`) USING BTREE,
+  KEY `idx_biz` (`biz_type`,`biz_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳瓨鍗犵敤璁板綍';
+
+-- ============ 琛細mes_wm_stock_taking_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_plan`;
+CREATE TABLE `mes_wm_stock_taking_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣璁″垝缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣璁″垝鍚嶇О',
+  `plan_date` datetime DEFAULT NULL COMMENT '鐩樼偣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `type` int DEFAULT NULL COMMENT '鐩樼偣绫诲瀷',
+  `start_time` datetime DEFAULT NULL COMMENT '璁″垝寮�濮嬫椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '璁″垝缁撴潫鏃堕棿',
+  `blind_flag` bit(1) DEFAULT NULL COMMENT '鏄惁鐩茬洏',
+  `frozen` bit(1) DEFAULT NULL COMMENT '鏄惁鍐荤粨搴撳瓨',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣璁″垝';
+
+-- ============ 琛細mes_wm_stock_taking_plan_param锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_plan_param`;
+CREATE TABLE `mes_wm_stock_taking_plan_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鐩樼偣璁″垝 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `item_type_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `type` int DEFAULT NULL COMMENT '鍙傛暟鍊肩被鍨�',
+  `value_id` bigint DEFAULT NULL COMMENT '鍙傛暟鍊肩紪鍙�',
+  `value_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鍊肩紪鐮�',
+  `value_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鍊煎悕绉�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣璁″垝鍙傛暟';
+
+-- ============ 琛細mes_wm_stock_taking_task锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_task`;
+CREATE TABLE `mes_wm_stock_taking_task` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣浠诲姟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣浠诲姟鍚嶇О',
+  `plan_id` bigint DEFAULT NULL COMMENT '鐩樼偣璁″垝 ID',
+  `task_date` datetime DEFAULT NULL COMMENT '鐩樼偣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣浠诲姟';
+
+-- ============ 琛細mes_wm_stock_taking_task_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_task_line`;
+CREATE TABLE `mes_wm_stock_taking_task_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐩樼偣浠诲姟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '璐﹂潰鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣浠诲姟琛�';
+
+-- ============ 琛細mes_wm_stock_taking_task_result锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_task_result`;
+CREATE TABLE `mes_wm_stock_taking_task_result` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐩樼偣浠诲姟 ID',
+  `line_id` bigint DEFAULT NULL COMMENT '鐩樼偣浠诲姟琛� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '瀹炵洏鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣浠诲姟缁撴灉';
+
+-- ============ 琛細mes_wm_transaction锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transaction`;
+CREATE TABLE `mes_wm_transaction` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `type` int DEFAULT NULL COMMENT '浜嬪姟绫诲瀷',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `biz_id` bigint DEFAULT NULL COMMENT '鏉ユ簮涓氬姟涓诲崟 ID',
+  `biz_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮涓氬姟鍗曞彿',
+  `biz_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮涓氬姟琛� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍 ID',
+  `related_transaction_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勪簨鍔� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鍙樺姩鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `transaction_time` datetime DEFAULT NULL COMMENT '浜嬪姟鍙戠敓鏃堕棿',
+  `erp_time` datetime DEFAULT NULL COMMENT 'ERP 璐︽湡',
+  `receipt_time` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳瓨浜嬪姟娴佹按';
+
+-- ============ 琛細mes_wm_transfer锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transfer`;
+CREATE TABLE `mes_wm_transfer` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞Щ鍗曠紪鍙�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞Щ鍗曞悕绉�',
+  `type` int DEFAULT NULL COMMENT '杞Щ鍗曠被鍨�',
+  `delivery_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁閰嶉��',
+  `recipient_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣浜�',
+  `recipient_telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鏂瑰紡',
+  `destination_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩殑鍦�',
+  `carrier` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵胯繍鍟�',
+  `shipping_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杩愯緭鍗曞彿',
+  `confirm_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁宸茬‘璁�',
+  `transfer_date` datetime DEFAULT NULL COMMENT '杞Щ鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞Щ鍗�';
+
+-- ============ 琛細mes_wm_transfer_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transfer_detail`;
+CREATE TABLE `mes_wm_transfer_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '杞Щ鍗曡缂栧彿',
+  `transfer_id` bigint DEFAULT NULL COMMENT '杞Щ鍗曠紪鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '涓婃灦鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `to_warehouse_id` bigint DEFAULT NULL COMMENT '绉诲叆浠撳簱缂栧彿',
+  `to_location_id` bigint DEFAULT NULL COMMENT '绉诲叆搴撳尯缂栧彿',
+  `to_area_id` bigint DEFAULT NULL COMMENT '绉诲叆搴撲綅缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞Щ鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_transfer_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transfer_line`;
+CREATE TABLE `mes_wm_transfer_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `transfer_id` bigint DEFAULT NULL COMMENT '杞Щ鍗曠紪鍙�',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '杞Щ鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `from_warehouse_id` bigint DEFAULT NULL COMMENT '绉诲嚭浠撳簱缂栧彿',
+  `from_location_id` bigint DEFAULT NULL COMMENT '绉诲嚭搴撳尯缂栧彿',
+  `from_area_id` bigint DEFAULT NULL COMMENT '绉诲嚭搴撲綅缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞Щ鍗曡';
+
+-- ============ 琛細mes_wm_warehouse锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_warehouse`;
+CREATE TABLE `mes_wm_warehouse` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱鍚嶇О',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱鍦板潃',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浠撳簱';
+
+-- ============ 琛細mes_wm_warehouse_area锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_warehouse_area`;
+CREATE TABLE `mes_wm_warehouse_area` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撲綅缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撲綅鍚嶇О',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯缂栧彿',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н',
+  `max_load` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶ц浇閲�',
+  `position_x` int DEFAULT NULL COMMENT '浣嶇疆 X',
+  `position_y` int DEFAULT NULL COMMENT '浣嶇疆 Y',
+  `position_z` int DEFAULT NULL COMMENT '浣嶇疆 Z',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `allow_item_mixing` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏佽鐗╂枡娣锋斁',
+  `allow_batch_mixing` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏佽鎵规娣锋斁',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撲綅';
+
+-- ============ 琛細mes_wm_warehouse_location锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_warehouse_location`;
+CREATE TABLE `mes_wm_warehouse_location` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撳尯缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撳尯鍚嶇О',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱缂栧彿',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳尯';
+
+-- ============ 琛細oa_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `oa_notice`;
+CREATE TABLE `oa_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍏憡鏍囬',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍏憡鍐呭',
+  `type` tinyint NOT NULL COMMENT '鍏憡绫诲瀷锛�1閫氱煡 2鍏憡锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鑽夌 1宸插彂甯� 2宸叉挙閿�锛�',
+  `send_scope` tinyint NOT NULL COMMENT '鍙戦�佽寖鍥达紙1閫氱煡鎵�鏈変汉 2鎸囧畾浜猴級',
+  `is_top` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁缃《锛�0鍚� 1鏄級',
+  `publish_user_id` bigint DEFAULT NULL COMMENT '鍙戝竷浜篒D',
+  `publish_time` datetime DEFAULT NULL COMMENT '鍙戝竷鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_type` (`type`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_publish_time` (`publish_time`) USING BTREE,
+  KEY `idx_is_top` (`is_top`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA閫氱煡鍏憡琛�';
+
+-- ============ 琛細oa_notice_read锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `oa_notice_read`;
+CREATE TABLE `oa_notice_read` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `notice_id` bigint NOT NULL COMMENT '閫氱煡鍏憡ID',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛ID',
+  `read_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '闃呰鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_notice_user` (`notice_id`,`user_id`) USING BTREE,
+  KEY `idx_notice_id` (`notice_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA閫氱煡鍏憡宸茶璁板綍琛�';
+
+-- ============ 琛細oa_notice_user锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `oa_notice_user`;
+CREATE TABLE `oa_notice_user` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `notice_id` bigint NOT NULL COMMENT '閫氱煡鍏憡ID',
+  `user_id` bigint NOT NULL COMMENT '鎸囧畾鐢ㄦ埛ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_notice_id` (`notice_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA閫氱煡鍏憡鎸囧畾浜哄叧鑱旇〃';
+
+-- ============ 琛細qc_report_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_template`;
+CREATE TABLE `qc_report_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '妯℃澘缂栧彿',
+  `template_code` varchar(64) NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_name` varchar(128) NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `industry` varchar(32) DEFAULT NULL COMMENT '鎵�灞炶涓�',
+  `report_type` varchar(32) DEFAULT NULL COMMENT '鎶ュ憡绫诲瀷',
+  `page_size` varchar(16) NOT NULL DEFAULT 'A4' COMMENT '绾稿紶灏哄锛欰3/A4/A5/Letter',
+  `orientation` varchar(16) NOT NULL DEFAULT 'portrait' COMMENT '绾稿紶鏂瑰悜锛歱ortrait/landscape',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '妯℃澘鐘舵�侊細0鍚敤 1鍋滅敤',
+  `current_version` varchar(32) DEFAULT NULL COMMENT '褰撳墠鐗堟湰鍙�',
+  `description` varchar(512) DEFAULT NULL COMMENT '妯℃澘鎻忚堪',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_template_code` (`template_code`) USING BTREE,
+  KEY `idx_template_name` (`template_name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鎶ュ憡妯℃澘';
+
+-- ============ 琛細qc_report_template_version锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_template_version`;
+CREATE TABLE `qc_report_template_version` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐗堟湰缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `version` varchar(32) NOT NULL COMMENT '鐗堟湰鍙凤紝濡� v1.0',
+  `schema_json` longtext COMMENT '妯℃澘 Schema锛圙rapesJS JSON + 缁勪欢 + 鏁版嵁婧� + 缁戝畾 + 瑙勫垯 + 鏍峰紡锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐗堟湰鐘舵�侊細0鑽夌 1宸插彂甯� 2宸插仠鐢�',
+  `description` varchar(512) DEFAULT NULL COMMENT '鐗堟湰璇存槑',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_template_version` (`template_id`,`version`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-妯℃澘鐗堟湰';
+
+-- ============ 琛細qc_report_instance锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_instance`;
+CREATE TABLE `qc_report_instance` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀹炰緥缂栧彿',
+  `report_no` varchar(64) NOT NULL COMMENT '鎶ュ憡缂栧彿锛堜笟鍔″敮涓�锛�',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `template_version` varchar(32) NOT NULL COMMENT '鐢熸垚鏃朵娇鐢ㄧ殑妯℃澘鐗堟湰鍙�',
+  `business_id` varchar(64) DEFAULT NULL COMMENT '涓氬姟鍗曟嵁缂栧彿',
+  `business_type` varchar(64) DEFAULT NULL COMMENT '涓氬姟鍗曟嵁绫诲瀷锛屽 mes_qc_iqc',
+  `data_snapshot` longtext COMMENT '鏁版嵁蹇収锛氭覆鏌撴椂鐨勫畬鏁存暟鎹笂涓嬫枃',
+  `render_html` longtext COMMENT '娓叉煋浜х墿 HTML',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鎶ュ憡鐘舵�侊細0鐢熸垚涓� 1鐢熸垚鎴愬姛 2鐢熸垚澶辫触',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_report_no` (`report_no`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE,
+  KEY `idx_business` (`business_type`,`business_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鎶ュ憡瀹炰緥';
+
+-- ============ 琛細qc_report_data_source锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_data_source`;
+CREATE TABLE `qc_report_data_source` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `source_key` varchar(64) NOT NULL COMMENT '鏁版嵁婧愭爣璇嗭紝濡� inspectionItems',
+  `source_type` varchar(32) NOT NULL COMMENT '鏁版嵁婧愮被鍨嬶細BUILTIN/SQL/API',
+  `config` longtext COMMENT '鏁版嵁婧愰厤缃� JSON',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鏁版嵁婧�';
+
+-- ============ 琛細qc_report_rule锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_rule`;
+CREATE TABLE `qc_report_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `rule_name` varchar(128) NOT NULL COMMENT '瑙勫垯鍚嶇О',
+  `target_path` varchar(256) NOT NULL COMMENT '浣滅敤鐩爣璺緞锛屽 inspectionItems[].actualValue',
+  `expression` varchar(1024) NOT NULL COMMENT '鍒ゅ畾琛ㄨ揪寮忥紝濡� actualValue >= lowerLimit AND actualValue <= upperLimit',
+  `pass_value` varchar(64) DEFAULT 'PASS' COMMENT '鍚堟牸鏃惰緭鍑哄��',
+  `fail_value` varchar(64) DEFAULT 'FAIL' COMMENT '涓嶅悎鏍兼椂杈撳嚭鍊�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鍒ゅ畾瑙勫垯';
+
+-- ============ 琛細qc_report_render_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_render_record`;
+CREATE TABLE `qc_report_render_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `report_id` bigint DEFAULT NULL COMMENT '鎶ュ憡瀹炰緥缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '妯℃澘缂栧彿',
+  `business_id` varchar(64) DEFAULT NULL COMMENT '涓氬姟鍗曟嵁缂栧彿',
+  `render_start_time` datetime DEFAULT NULL COMMENT '娓叉煋寮�濮嬫椂闂�',
+  `render_end_time` datetime DEFAULT NULL COMMENT '娓叉煋缁撴潫鏃堕棿',
+  `render_duration` bigint DEFAULT NULL COMMENT '娓叉煋鑰楁椂锛堟绉掞級',
+  `pdf_duration` bigint DEFAULT NULL COMMENT 'PDF 鐢熸垚鑰楁椂锛堟绉掞級',
+  `browser_status` varchar(64) DEFAULT NULL COMMENT '娴忚鍣ㄧ姸鎬�',
+  `error_stack` longtext COMMENT '寮傚父鍫嗘爤',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_report_id` (`report_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-娓叉煋璁板綍';
+
+-- ============ 琛細qrtz_blob_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_blob_triggers`;
+CREATE TABLE `qrtz_blob_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `BLOB_DATA` blob,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_calendars锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_calendars`;
+CREATE TABLE `qrtz_calendars` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CALENDAR` blob NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_cron_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_cron_triggers`;
+CREATE TABLE `qrtz_cron_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_fired_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_fired_triggers`;
+CREATE TABLE `qrtz_fired_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `FIRED_TIME` bigint NOT NULL,
+  `SCHED_TIME` bigint NOT NULL,
+  `PRIORITY` int NOT NULL,
+  `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`) USING BTREE,
+  KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`) USING BTREE,
+  KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`) USING BTREE,
+  KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_job_details锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_job_details`;
+CREATE TABLE `qrtz_job_details` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_DATA` blob,
+  PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`) USING BTREE,
+  KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_locks锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_locks`;
+CREATE TABLE `qrtz_locks` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_paused_trigger_grps锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
+CREATE TABLE `qrtz_paused_trigger_grps` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_scheduler_state锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_scheduler_state`;
+CREATE TABLE `qrtz_scheduler_state` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `LAST_CHECKIN_TIME` bigint NOT NULL,
+  `CHECKIN_INTERVAL` bigint NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_simple_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_simple_triggers`;
+CREATE TABLE `qrtz_simple_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `REPEAT_COUNT` bigint NOT NULL,
+  `REPEAT_INTERVAL` bigint NOT NULL,
+  `TIMES_TRIGGERED` bigint NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_simprop_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
+CREATE TABLE `qrtz_simprop_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `INT_PROP_1` int DEFAULT NULL,
+  `INT_PROP_2` int DEFAULT NULL,
+  `LONG_PROP_1` bigint DEFAULT NULL,
+  `LONG_PROP_2` bigint DEFAULT NULL,
+  `DEC_PROP_1` decimal(13,4) DEFAULT NULL,
+  `DEC_PROP_2` decimal(13,4) DEFAULT NULL,
+  `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_triggers`;
+CREATE TABLE `qrtz_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `NEXT_FIRE_TIME` bigint DEFAULT NULL,
+  `PREV_FIRE_TIME` bigint DEFAULT NULL,
+  `PRIORITY` int DEFAULT NULL,
+  `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `START_TIME` bigint NOT NULL,
+  `END_TIME` bigint DEFAULT NULL,
+  `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `MISFIRE_INSTR` smallint DEFAULT NULL,
+  `JOB_DATA` blob,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`) USING BTREE,
+  KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`) USING BTREE,
+  CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細srm_bid_award锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_bid_award`;
+CREATE TABLE `srm_bid_award` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀹氭爣ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '涓爣渚涘簲鍟咺D',
+  `bid_id` bigint NOT NULL COMMENT '涓爣鎶曟爣ID',
+  `award_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓爣閫氱煡涔︾紪鍙�',
+  `award_status` int NOT NULL DEFAULT '0' COMMENT '瀹氭爣鐘舵��',
+  `award_amount` decimal(24,6) NOT NULL COMMENT '涓爣閲戦',
+  `award_time` datetime DEFAULT NULL COMMENT '瀹氭爣鏃堕棿',
+  `notice_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓爣閫氱煡涔︽枃浠跺悕',
+  `notice_file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓爣閫氱煡涔︽枃浠跺湴鍧�',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐢熸垚鐨勯噰璐鍗旾D',
+  `purchase_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐢熸垚鐨勯噰璐鍗曞彿',
+  `approver_id` bigint DEFAULT NULL COMMENT '瀹℃壒浜篒D',
+  `approval_time` datetime DEFAULT NULL COMMENT '瀹℃壒鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_award_no` (`award_no`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_purchase_order_id` (`purchase_order_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀹氭爣璁板綍琛�';
+
+-- ============ 琛細srm_bid_evaluation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_bid_evaluation`;
+CREATE TABLE `srm_bid_evaluation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇勬爣ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `bid_id` bigint NOT NULL COMMENT '鎶曟爣璁板綍ID',
+  `price_score` decimal(5,2) DEFAULT NULL COMMENT '浠锋牸璇勫垎',
+  `tech_score` decimal(5,2) DEFAULT NULL COMMENT '鎶�鏈瘎鍒�',
+  `delivery_score` decimal(5,2) DEFAULT NULL COMMENT '浜や粯璇勫垎',
+  `service_score` decimal(5,2) DEFAULT NULL COMMENT '鏈嶅姟璇勫垎',
+  `composite_score` decimal(5,2) DEFAULT NULL COMMENT '缁煎悎璇勫垎',
+  `ranking` int DEFAULT NULL COMMENT '鎺掑悕',
+  `evaluator_id` bigint DEFAULT NULL COMMENT '璇勬爣浜篒D',
+  `evaluator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勬爣浜哄鍚�',
+  `evaluation_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勬爣鎰忚',
+  `evaluation_time` datetime DEFAULT NULL COMMENT '璇勬爣鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_bid_id` (`bid_id`) USING BTREE,
+  KEY `idx_ranking` (`ranking`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='璇勬爣璁板綍琛�';
+
+-- ============ 琛細srm_bid_open锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_bid_open`;
+CREATE TABLE `srm_bid_open` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '寮�鏍嘔D',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `open_time` datetime NOT NULL COMMENT '寮�鏍囨椂闂�',
+  `open_person_id` bigint DEFAULT NULL COMMENT '寮�鏍囦汉鍛業D',
+  `open_person_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鏍囦汉鍛樺鍚�',
+  `open_record` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '寮�鏍囪褰�',
+  `attachment_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勪欢鍚嶇О',
+  `attachment_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勪欢鍦板潃',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='寮�鏍囪褰曡〃';
+
+-- ============ 琛細srm_delivery_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_delivery_plan`;
+CREATE TABLE `srm_delivery_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浜よ揣璁″垝ID',
+  `collaboration_id` bigint NOT NULL COMMENT '閲囪喘鍗忓悓ID',
+  `order_id` bigint NOT NULL COMMENT '閲囪喘璁㈠崟ID',
+  `order_item_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟椤笽D',
+  `product_id` bigint DEFAULT NULL COMMENT '鐗╂枡ID',
+  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О',
+  `planned_quantity` decimal(24,6) NOT NULL COMMENT '璁″垝鏁伴噺',
+  `actual_quantity` decimal(24,6) DEFAULT NULL COMMENT '瀹為檯鏁伴噺',
+  `planned_delivery_date` date NOT NULL COMMENT '璁″垝浜よ揣鏃ユ湡',
+  `actual_delivery_date` date DEFAULT NULL COMMENT '瀹為檯浜よ揣鏃ユ湡',
+  `delivery_status` int NOT NULL DEFAULT '0' COMMENT '浜よ揣鐘舵��',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_collaboration_id` (`collaboration_id`) USING BTREE,
+  KEY `idx_order_id` (`order_id`) USING BTREE,
+  KEY `idx_delivery_status` (`delivery_status`) USING BTREE,
+  KEY `idx_planned_delivery_date` (`planned_delivery_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='浜よ揣璁″垝琛�';
+
+-- ============ 琛細srm_purchase_collaboration锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_purchase_collaboration`;
+CREATE TABLE `srm_purchase_collaboration` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍗忓悓ID',
+  `order_id` bigint NOT NULL COMMENT '閲囪喘璁㈠崟ID',
+  `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閲囪喘璁㈠崟鍙�',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `collaboration_status` int NOT NULL DEFAULT '0' COMMENT '鍗忓悓鐘舵��',
+  `confirm_time` datetime DEFAULT NULL COMMENT '纭鏃堕棿',
+  `confirm_user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '纭浜�',
+  `reject_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎷掔粷鍘熷洜',
+  `planned_delivery_time` datetime DEFAULT NULL COMMENT '棰勮浜や粯鏃堕棿',
+  `actual_delivery_time` datetime DEFAULT NULL COMMENT '瀹為檯浜や粯鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_order_id` (`order_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_collaboration_status` (`collaboration_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閲囪喘鍗忓悓璁板綍琛�';
+
+-- ============ 琛細srm_supplier锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier`;
+CREATE TABLE `srm_supplier` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '渚涘簲鍟咺D',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗙紪鐮�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `short_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙畝绉�',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙被鍨�',
+  `company_nature` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼佷笟鎬ц川',
+  `registered_capital` decimal(24,6) DEFAULT NULL COMMENT '娉ㄥ唽璧勯噾锛堜竾鍏冿級',
+  `business_license_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '钀ヤ笟鎵х収缂栧彿',
+  `tax_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绋庡彿',
+  `legal_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娉曚汉浠h〃',
+  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏徃鍦板潃',
+  `website` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏徃缃戝潃',
+  `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `contact_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴烽摱琛�',
+  `bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閾惰璐﹀彿',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鍚敤 1绂佺敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `erp_supplier_id` bigint DEFAULT NULL COMMENT '鍏宠仈ERP渚涘簲鍟咺D',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_name` (`name`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_erp_supplier_id` (`erp_supplier_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗕富琛�';
+
+-- ============ 琛細srm_supplier_apply锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_apply`;
+CREATE TABLE `srm_supplier_apply` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `apply_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠缂栧彿',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟咺D',
+  `erp_supplier_id` bigint DEFAULT NULL COMMENT '鍏宠仈ERP渚涘簲鍟咺D',
+  `supplier_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `supplier_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙被鍨�',
+  `company_nature` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼佷笟鎬ц川',
+  `registered_capital` decimal(24,6) DEFAULT NULL COMMENT '娉ㄥ唽璧勯噾锛堜竾鍏冿級',
+  `business_license_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '钀ヤ笟鎵х収缂栧彿',
+  `tax_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绋庡彿',
+  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏徃鍦板潃',
+  `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴烽摱琛�',
+  `bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閾惰璐﹀彿',
+  `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `contact_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `apply_user_id` bigint DEFAULT NULL COMMENT '鐢宠浜篒D',
+  `apply_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠浜哄鍚�',
+  `apply_time` datetime DEFAULT NULL COMMENT '鐢宠鏃堕棿',
+  `apply_status` int NOT NULL DEFAULT '0' COMMENT '瀹℃牳鐘舵��',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `purchase_reviewer_id` bigint DEFAULT NULL COMMENT '閲囪喘瀹℃牳浜篒D',
+  `purchase_review_time` datetime DEFAULT NULL COMMENT '閲囪喘瀹℃牳鏃堕棿',
+  `purchase_review_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘瀹℃牳鎰忚',
+  `quality_reviewer_id` bigint DEFAULT NULL COMMENT '璐ㄩ噺瀹℃牳浜篒D',
+  `quality_review_time` datetime DEFAULT NULL COMMENT '璐ㄩ噺瀹℃牳鏃堕棿',
+  `quality_review_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐ㄩ噺瀹℃牳鎰忚',
+  `finance_reviewer_id` bigint DEFAULT NULL COMMENT '璐㈠姟瀹℃牳浜篒D',
+  `finance_review_time` datetime DEFAULT NULL COMMENT '璐㈠姟瀹℃牳鏃堕棿',
+  `finance_review_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐㈠姟瀹℃牳鎰忚',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_apply_no` (`apply_no`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_apply_status` (`apply_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗗噯鍏ョ敵璇疯〃';
+
+-- ============ 琛細srm_supplier_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_category`;
+CREATE TABLE `srm_supplier_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏宠仈ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `category_id` bigint NOT NULL COMMENT '鍒嗙被ID',
+  `category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鍚嶇О锛堝啑浣欙級',
+  `deleted` int NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎 0=鍚� 1=鏄�',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_category_id` (`category_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗗垎绫诲叧鑱旇〃';
+
+-- ============ 琛細srm_supplier_certificate锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_certificate`;
+CREATE TABLE `srm_supplier_certificate` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇佷功ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `certificate_type` int NOT NULL COMMENT '璇佷功绫诲瀷',
+  `certificate_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇佷功鍚嶇О',
+  `certificate_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佷功缂栧彿',
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鍚嶇О',
+  `file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鍦板潃',
+  `issuing_authority` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰佸彂鏈烘瀯',
+  `valid_start_date` date DEFAULT NULL COMMENT '鏈夋晥寮�濮嬫棩鏈�',
+  `valid_end_date` date DEFAULT NULL COMMENT '鏈夋晥缁撴潫鏃ユ湡',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_certificate_type` (`certificate_type`) USING BTREE,
+  KEY `idx_valid_end_date` (`valid_end_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗚祫璐ㄨ瘉涔﹁〃';
+
+-- ============ 琛細srm_supplier_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_contact`;
+CREATE TABLE `srm_supplier_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑱旂郴浜篒D',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜哄鍚�',
+  `position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱屼綅',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙风爜',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥哄畾鐢佃瘽',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊鍙�',
+  `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁榛樿鑱旂郴浜�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗚仈绯讳汉琛�';
+
+-- ============ 琛細srm_supplier_evaluation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_evaluation`;
+CREATE TABLE `srm_supplier_evaluation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇勪环ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `evaluation_period` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇勪环鍛ㄦ湡',
+  `quality_score` decimal(5,2) DEFAULT NULL COMMENT '璐ㄩ噺璇勫垎',
+  `quality_pass_rate` decimal(5,2) DEFAULT NULL COMMENT '鏉ユ枡鍚堟牸鐜�',
+  `quality_defect_count` int DEFAULT '0' COMMENT '涓嶈壇娆℃暟',
+  `delivery_score` decimal(5,2) DEFAULT NULL COMMENT '浜や粯璇勫垎',
+  `delivery_on_time_rate` decimal(5,2) DEFAULT NULL COMMENT '鍑嗘椂浜や粯鐜�',
+  `delivery_delay_count` int DEFAULT '0' COMMENT '寤惰繜娆℃暟',
+  `price_score` decimal(5,2) DEFAULT NULL COMMENT '浠锋牸璇勫垎',
+  `service_score` decimal(5,2) DEFAULT NULL COMMENT '鏈嶅姟璇勫垎',
+  `service_response_speed` int DEFAULT NULL COMMENT '鍝嶅簲閫熷害璇勫垎',
+  `composite_score` decimal(5,2) DEFAULT NULL COMMENT '缁煎悎璇勫垎',
+  `evaluation_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勪环绛夌骇',
+  `evaluator_id` bigint DEFAULT NULL COMMENT '璇勪环浜篒D',
+  `evaluation_time` datetime DEFAULT NULL COMMENT '璇勪环鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_evaluation_period` (`evaluation_period`) USING BTREE,
+  KEY `idx_composite_score` (`composite_score`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗙哗鏁堣瘎浠疯〃';
+
+-- ============ 琛細srm_supplier_quote锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_quote`;
+CREATE TABLE `srm_supplier_quote` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎶ヤ环ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `bid_id` bigint DEFAULT NULL COMMENT '鎶曟爣璁板綍ID',
+  `tender_material_id` bigint NOT NULL COMMENT '鎷涙爣鐗╂枡ID',
+  `quote_price` decimal(24,6) NOT NULL COMMENT '鎶ヤ环浠锋牸',
+  `tax_rate` decimal(5,2) DEFAULT NULL COMMENT '绋庣巼(%)',
+  `delivery_cycle` int DEFAULT NULL COMMENT '浜よ揣鍛ㄦ湡锛堝ぉ锛�',
+  `payment_terms` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠樻鏉′欢',
+  `warranty_period` int DEFAULT NULL COMMENT '璐ㄤ繚鏈燂紙鏈堬級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_bid_id` (`bid_id`) USING BTREE,
+  KEY `idx_tender_material_id` (`tender_material_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗘姤浠锋槑缁嗚〃';
+
+-- ============ 琛細srm_tender_bid锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_bid`;
+CREATE TABLE `srm_tender_bid` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎶曟爣ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `bid_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎶曟爣缂栧彿',
+  `bid_status` int NOT NULL DEFAULT '0' COMMENT '鎶曟爣鐘舵��',
+  `bid_time` datetime DEFAULT NULL COMMENT '鎶曟爣鏃堕棿',
+  `bid_total_amount` decimal(24,6) DEFAULT NULL COMMENT '鎶曟爣鎬婚噾棰�',
+  `bid_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶曟爣鏂囦欢鍚嶇О',
+  `bid_file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶曟爣鏂囦欢鍦板潃',
+  `withdraw_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎾ゆ爣鍘熷洜',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_bid_no` (`bid_no`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_bid_status` (`bid_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎶曟爣璁板綍琛�';
+
+-- ============ 琛細srm_tender_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_config`;
+CREATE TABLE `srm_tender_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閰嶇疆ID',
+  `default_bidding_mode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FULL' COMMENT '榛樿鎷涙姇鏍囨ā寮�: FULL-瀹屾暣鐗�, SIMPLE-绠�鏄撶増',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='SRM鎷涙姇鏍囬厤缃〃';
+
+-- ============ 琛細srm_tender_material锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_material`;
+CREATE TABLE `srm_tender_material` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐗╂枡鏄庣粏ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `product_id` bigint DEFAULT NULL COMMENT '鐗╂枡ID',
+  `product_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
+  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐗╂枡鍚嶇О',
+  `product_spec` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `quantity` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍗曚綅',
+  `tech_requirement` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎶�鏈姹�',
+  `estimated_price` decimal(24,6) DEFAULT NULL COMMENT '棰勪及鍗曚环',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_product_code` (`product_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎷涙爣鐗╂枡鏄庣粏琛�';
+
+-- ============ 琛細srm_tender_project锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_project`;
+CREATE TABLE `srm_tender_project` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎷涙爣椤圭洰ID',
+  `tender_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎷涙爣缂栧彿',
+  `tender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎷涙爣鍚嶇О',
+  `tender_type` int NOT NULL COMMENT '鎷涙爣绫诲瀷',
+  `purchase_org` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘缁勭粐',
+  `project_leader_id` bigint DEFAULT NULL COMMENT '椤圭洰璐熻矗浜篒D',
+  `project_leader_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰璐熻矗浜哄鍚�',
+  `tender_status` int NOT NULL DEFAULT '0' COMMENT '鎷涙爣鐘舵��',
+  `bidding_mode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FULL' COMMENT '鎷涙姇鏍囨ā寮�: FULL-瀹屾暣鐗�, SIMPLE-绠�鏄撶増',
+  `budget_amount` decimal(24,6) DEFAULT NULL COMMENT '棰勭畻閲戦',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '鎴鏃堕棿',
+  `bid_open_time` datetime DEFAULT NULL COMMENT '棰勮寮�鏍囨椂闂�',
+  `tender_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎷涙爣璇存槑',
+  `qualification_requirements` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '璧勮川瑕佹眰',
+  `purchase_request_id` bigint DEFAULT NULL COMMENT '鍏宠仈閲囪喘鐢宠ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_tender_no` (`tender_no`) USING BTREE,
+  KEY `idx_tender_status` (`tender_status`) USING BTREE,
+  KEY `idx_purchase_request_id` (`purchase_request_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎷涙爣椤圭洰琛�';
+
+-- ============ 琛細storage_attachment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `storage_attachment`;
+CREATE TABLE `storage_attachment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bigint NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎锛�0姝e父锛�',
+  `record_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍏宠仈鐨勮褰曠被鍨嬶紙瀵瑰簲RecordTypeEnum鐨則ype鍊硷級',
+  `record_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勮褰旾D',
+  `application` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鐢ㄩ�旓紙瀵瑰簲ApplicationTypeEnum鐨則ype鍊硷級锛屽 file/avatar/image',
+  `storage_blob_id` bigint DEFAULT NULL COMMENT '鍏宠仈storage_blob璁板綍ID',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_record` (`record_type`,`record_id`) USING BTREE COMMENT '涓氬姟璁板綍鏌ヨ绱㈠紩',
+  KEY `idx_blob_id` (`storage_blob_id`) USING BTREE COMMENT '鏂囦欢鍏宠仈绱㈠紩'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢鍏宠仈琛�';
+
+-- ============ 琛細storage_blob锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `storage_blob`;
+CREATE TABLE `storage_blob` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `resource_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '璧勬簮鍞竴鏍囪瘑锛堝叕鍏辫闂甼ey锛�',
+  `content_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬簮绫诲瀷锛屽 image/jpeg',
+  `original_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍘熸枃浠跺悕',
+  `uid_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍞竴鏂囦欢鍚嶏紙UUID_鍘熸枃浠跺悕锛�',
+  `byte_size` bigint DEFAULT NULL COMMENT '鏂囦欢澶у皬锛堝瓧鑺傦級',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鐩稿璺緞锛堝 2026/0430锛�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_uid_filename` (`uid_filename`) USING BTREE COMMENT '鍞竴鏂囦欢鍚嶇储寮�',
+  KEY `idx_resource_key` (`resource_key`) USING BTREE COMMENT '鍏叡璁块棶key绱㈠紩'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細system_dept锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_dept`;
+CREATE TABLE `system_dept` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閮ㄩ棬id',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閮ㄩ棬鍚嶇О',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖堕儴闂╥d',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鏄剧ず椤哄簭',
+  `leader_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜�',
+  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `status` tinyint NOT NULL COMMENT '閮ㄩ棬鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=129 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閮ㄩ棬琛�';
+
+-- ============ 琛細system_login_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_login_log`;
+CREATE TABLE `system_login_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁块棶ID',
+  `log_type` bigint NOT NULL COMMENT '鏃ュ織绫诲瀷',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鐢ㄦ埛璐﹀彿',
+  `result` tinyint NOT NULL COMMENT '鐧婚檰缁撴灉',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴忚鍣� UA',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_username` (`username`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绯荤粺璁块棶璁板綍';
+
+-- ============ 琛細system_mail_account锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_mail_account`;
+CREATE TABLE `system_mail_account` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭',
+  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鍚�',
+  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀵嗙爜',
+  `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SMTP 鏈嶅姟鍣ㄥ煙鍚�',
+  `port` int NOT NULL COMMENT 'SMTP 鏈嶅姟鍣ㄧ鍙�',
+  `ssl_enable` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁寮�鍚� SSL',
+  `starttls_enable` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁寮�鍚� STARTTLS',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閭璐﹀彿琛�';
+
+-- ============ 琛細system_mail_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_mail_log`;
+CREATE TABLE `system_mail_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `to_mails` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎺ユ敹閭鍦板潃',
+  `cc_mails` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶勯�侀偖绠卞湴鍧�',
+  `bcc_mails` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀵嗛�侀偖绠卞湴鍧�',
+  `account_id` bigint NOT NULL COMMENT '閭璐﹀彿缂栧彿',
+  `from_mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙戦�侀偖绠卞湴鍧�',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `template_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯$増鍙戦�佷汉鍚嶇О',
+  `template_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭欢鏍囬',
+  `template_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭欢鍐呭',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭欢鍙傛暟',
+  `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戦�佺姸鎬�',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `send_message_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戦�佽繑鍥炵殑娑堟伅 ID',
+  `send_exception` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戦�佸紓甯�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閭欢鏃ュ織琛�';
+
+-- ============ 琛細system_mail_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_mail_template`;
+CREATE TABLE `system_mail_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `account_id` bigint NOT NULL COMMENT '鍙戦�佺殑閭璐﹀彿缂栧彿',
+  `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戦�佷汉鍚嶇О',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鏍囬',
+  `content` varchar(10240) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍐呭',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鏁扮粍',
+  `status` tinyint NOT NULL COMMENT '寮�鍚姸鎬�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閭欢妯$増琛�';
+
+-- ============ 琛細system_menu锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_menu`;
+CREATE TABLE `system_menu` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑿滃崟ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑿滃崟鍚嶇О',
+  `permission` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鏉冮檺鏍囪瘑',
+  `type` tinyint NOT NULL COMMENT '鑿滃崟绫诲瀷',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鏄剧ず椤哄簭',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖惰彍鍗旾D',
+  `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璺敱鍦板潃',
+  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '#' COMMENT '鑿滃崟鍥炬爣',
+  `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁勪欢璺緞',
+  `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁勪欢鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鑿滃崟鐘舵��',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍙',
+  `keep_alive` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁缂撳瓨',
+  `always_show` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鎬绘槸鏄剧ず',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1075310 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鑿滃崟鏉冮檺琛�';
+
+-- ============ 琛細system_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_notice`;
+CREATE TABLE `system_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏憡ID',
+  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏憡鏍囬',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏憡鍐呭',
+  `type` tinyint NOT NULL COMMENT '鍏憡绫诲瀷锛�1閫氱煡 2鍏憡锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍏憡鐘舵�侊紙0姝e父 1鍏抽棴锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閫氱煡鍏憡琛�';
+
+-- ============ 琛細system_notify_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_notify_message`;
+CREATE TABLE `system_notify_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢ㄦ埛ID',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛id',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `template_id` bigint NOT NULL COMMENT '妯$増缂栧彿',
+  `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_nickname` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍙戦�佷汉鍚嶇О',
+  `template_content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍐呭',
+  `template_type` int NOT NULL COMMENT '妯$増绫诲瀷',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍙傛暟',
+  `read_status` bit(1) NOT NULL COMMENT '鏄惁宸茶',
+  `read_time` datetime DEFAULT NULL COMMENT '闃呰鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id_user_type_read_status` (`user_id`,`user_type`,`read_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绔欏唴淇℃秷鎭〃';
+
+-- ============ 琛細system_notify_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_notify_template`;
+CREATE TABLE `system_notify_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増缂栫爜',
+  `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙戦�佷汉鍚嶇О',
+  `content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍐呭',
+  `type` tinyint NOT NULL COMMENT '绫诲瀷',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鏁扮粍',
+  `status` tinyint NOT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绔欏唴淇℃ā鏉胯〃';
+
+-- ============ 琛細system_oauth2_access_token锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_access_token`;
+CREATE TABLE `system_oauth2_access_token` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `user_info` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛淇℃伅',
+  `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璁块棶浠ょ墝',
+  `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒锋柊浠ょ墝',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺堟潈鑼冨洿',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_access_token` (`access_token`) USING BTREE,
+  KEY `idx_refresh_token` (`refresh_token`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 璁块棶浠ょ墝';
+
+-- ============ 琛細system_oauth2_approve锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_approve`;
+CREATE TABLE `system_oauth2_approve` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scope` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鎺堟潈鑼冨洿',
+  `approved` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎺ュ彈',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id_user_type_client_id` (`user_id`,`user_type`,`client_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 鎵瑰噯琛�';
+
+-- ============ 琛細system_oauth2_client锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_client`;
+CREATE TABLE `system_oauth2_client` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔瘑閽�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍥炬爣',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴旂敤鎻忚堪',
+  `status` tinyint NOT NULL COMMENT '鐘舵��',
+  `access_token_validity_seconds` int NOT NULL COMMENT '璁块棶浠ょ墝鐨勬湁鏁堟湡',
+  `refresh_token_validity_seconds` int NOT NULL COMMENT '鍒锋柊浠ょ墝鐨勬湁鏁堟湡',
+  `redirect_uris` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙噸瀹氬悜鐨� URI 鍦板潃',
+  `authorized_grant_types` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎺堟潈绫诲瀷',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺堟潈鑼冨洿',
+  `auto_approve_scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷姩閫氳繃鐨勬巿鏉冭寖鍥�',
+  `authorities` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉冮檺',
+  `resource_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璧勬簮',
+  `additional_information` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勫姞淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_client_id` (`client_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 瀹㈡埛绔〃';
+
+-- ============ 琛細system_oauth2_code锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_code`;
+CREATE TABLE `system_oauth2_code` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎺堟潈鐮�',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎺堟潈鑼冨洿',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `redirect_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙噸瀹氬悜鐨� URI 鍦板潃',
+  `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_code` (`code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 鎺堟潈鐮佽〃';
+
+-- ============ 琛細system_oauth2_refresh_token锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_refresh_token`;
+CREATE TABLE `system_oauth2_refresh_token` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒锋柊浠ょ墝',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺堟潈鑼冨洿',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_refresh_token` (`refresh_token`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 鍒锋柊浠ょ墝';
+
+-- ============ 琛細system_operate_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_operate_log`;
+CREATE TABLE `system_operate_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏃ュ織涓婚敭',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎿嶄綔妯″潡绫诲瀷',
+  `sub_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎿嶄綔鍚�',
+  `biz_id` bigint NOT NULL COMMENT '鎿嶄綔鏁版嵁妯″潡缂栧彿',
+  `action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鎿嶄綔鍐呭',
+  `success` bit(1) NOT NULL DEFAULT b'1' COMMENT '鎿嶄綔缁撴灉',
+  `extra` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鎷撳睍瀛楁',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璇锋眰鏂规硶鍚�',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璇锋眰鍦板潃',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴忚鍣� UA',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎿嶄綔鏃ュ織璁板綍 V2 鐗堟湰';
+
+-- ============ 琛細system_post锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_post`;
+CREATE TABLE `system_post` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '宀椾綅ID',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '宀椾綅缂栫爜',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '宀椾綅鍚嶇О',
+  `sort` int NOT NULL COMMENT '鏄剧ず椤哄簭',
+  `status` tinyint NOT NULL COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='宀椾綅淇℃伅琛�';
+
+-- ============ 琛細system_role锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_role`;
+CREATE TABLE `system_role` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瑙掕壊ID',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瑙掕壊鍚嶇О',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瑙掕壊鏉冮檺瀛楃涓�',
+  `sort` int NOT NULL COMMENT '鏄剧ず椤哄簭',
+  `data_scope` tinyint NOT NULL DEFAULT '1' COMMENT '鏁版嵁鑼冨洿锛�1锛氬叏閮ㄦ暟鎹潈闄� 2锛氳嚜瀹氭暟鎹潈闄� 3锛氭湰閮ㄩ棬鏁版嵁鏉冮檺 4锛氭湰閮ㄩ棬鍙婁互涓嬫暟鎹潈闄愶級',
+  `data_scope_dept_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鏁版嵁鑼冨洿(鎸囧畾閮ㄩ棬鏁扮粍)',
+  `status` tinyint NOT NULL COMMENT '瑙掕壊鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `type` tinyint NOT NULL COMMENT '瑙掕壊绫诲瀷',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=167 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瑙掕壊淇℃伅琛�';
+
+-- ============ 琛細system_role_menu锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_role_menu`;
+CREATE TABLE `system_role_menu` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑷缂栧彿',
+  `role_id` bigint NOT NULL COMMENT '瑙掕壊ID',
+  `menu_id` bigint NOT NULL COMMENT '鑿滃崟ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_role_id` (`role_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8766 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瑙掕壊鍜岃彍鍗曞叧鑱旇〃';
+
+-- ============ 琛細system_sms_channel锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_channel`;
+CREATE TABLE `system_sms_channel` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `signature` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊绛惧悕',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娓犻亾缂栫爜',
+  `status` tinyint NOT NULL COMMENT '寮�鍚姸鎬�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `api_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊 API 鐨勮处鍙�',
+  `api_secret` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鐨勭閽�',
+  `callback_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊鍙戦�佸洖璋� URL',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐭俊娓犻亾';
+
+-- ============ 琛細system_sms_code锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_code`;
+CREATE TABLE `system_sms_code` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎵嬫満鍙�',
+  `code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '楠岃瘉鐮�',
+  `create_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒涘缓 IP',
+  `scene` tinyint NOT NULL COMMENT '鍙戦�佸満鏅�',
+  `today_index` tinyint NOT NULL COMMENT '浠婃棩鍙戦�佺殑绗嚑鏉�',
+  `used` tinyint NOT NULL COMMENT '鏄惁浣跨敤',
+  `used_time` datetime DEFAULT NULL COMMENT '浣跨敤鏃堕棿',
+  `used_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浣跨敤 IP',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_mobile` (`mobile`) USING BTREE COMMENT '鎵嬫満鍙�'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎵嬫満楠岃瘉鐮�';
+
+-- ============ 琛細system_sms_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_log`;
+CREATE TABLE `system_sms_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `channel_id` bigint NOT NULL COMMENT '鐭俊娓犻亾缂栧彿',
+  `channel_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊娓犻亾缂栫爜',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `template_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_type` tinyint NOT NULL COMMENT '鐭俊绫诲瀷',
+  `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊鍐呭',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊鍙傛暟',
+  `api_template_id` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊 API 鐨勬ā鏉跨紪鍙�',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎵嬫満鍙�',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戦�佺姸鎬�',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `api_send_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佺粨鏋滅殑缂栫爜',
+  `api_send_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佸け璐ョ殑鎻愮ず',
+  `api_request_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佽繑鍥炵殑鍞竴璇锋眰 ID',
+  `api_serial_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佽繑鍥炵殑搴忓彿',
+  `receive_status` tinyint NOT NULL DEFAULT '0' COMMENT '鎺ユ敹鐘舵��',
+  `receive_time` datetime DEFAULT NULL COMMENT '鎺ユ敹鏃堕棿',
+  `api_receive_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API 鎺ユ敹缁撴灉鐨勭紪鐮�',
+  `api_receive_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API 鎺ユ敹缁撴灉鐨勮鏄�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐭俊鏃ュ織';
+
+-- ============ 琛細system_sms_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_template`;
+CREATE TABLE `system_sms_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `type` tinyint NOT NULL COMMENT '妯℃澘绫诲瀷',
+  `status` tinyint NOT NULL COMMENT '寮�鍚姸鎬�',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍐呭',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鏁扮粍',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `api_template_id` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊 API 鐨勬ā鏉跨紪鍙�',
+  `channel_id` bigint NOT NULL COMMENT '鐭俊娓犻亾缂栧彿',
+  `channel_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊娓犻亾缂栫爜',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐭俊妯℃澘';
+
+-- ============ 琛細system_social_client锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_social_client`;
+CREATE TABLE `system_social_client` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `social_type` tinyint NOT NULL COMMENT '绀句氦骞冲彴鐨勭被鍨�',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `client_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔瘑閽�',
+  `agent_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠g悊缂栧彿',
+  `public_key` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publicKey 鍏挜',
+  `status` tinyint NOT NULL COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀句氦瀹㈡埛绔〃';
+
+-- ============ 琛細system_social_user锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_social_user`;
+CREATE TABLE `system_social_user` (
+  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭(鑷绛栫暐)',
+  `type` tinyint NOT NULL COMMENT '绀句氦骞冲彴鐨勭被鍨�',
+  `openid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绀句氦 openid',
+  `token` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绀句氦 token',
+  `raw_token_info` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍘熷 Token 鏁版嵁锛屼竴鑸槸 JSON 鏍煎紡',
+  `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鏄电О',
+  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢ㄦ埛澶村儚',
+  `raw_user_info` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍘熷鐢ㄦ埛鏁版嵁锛屼竴鑸槸 JSON 鏍煎紡',
+  `code` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏈�鍚庝竴娆$殑璁よ瘉 code',
+  `state` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庝竴娆$殑璁よ瘉 state',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_type_openid` (`type`,`openid`) USING BTREE,
+  KEY `idx_type_code_state` (`type`,`code`,`state`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀句氦鐢ㄦ埛琛�';
+
+-- ============ 琛細system_social_user_bind锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_social_user_bind`;
+CREATE TABLE `system_social_user_bind` (
+  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭(鑷绛栫暐)',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `social_type` tinyint NOT NULL COMMENT '绀句氦骞冲彴鐨勭被鍨�',
+  `social_user_id` bigint NOT NULL COMMENT '绀句氦鐢ㄦ埛鐨勭紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_type_social_user_id` (`user_type`,`social_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀句氦缁戝畾琛�';
+
+-- ============ 琛細system_storage_attachment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_storage_attachment`;
+CREATE TABLE `system_storage_attachment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `record_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐨勮褰曠被鍨�',
+  `record_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勮褰旾D',
+  `application` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鐢ㄩ��',
+  `storage_blob_id` bigint DEFAULT NULL COMMENT '鍏宠仈storage_blob璁板綍ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_record` (`record_type`,`record_id`) USING BTREE,
+  KEY `idx_blob_id` (`storage_blob_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢鍏宠仈琛�';
+
+-- ============ 琛細system_storage_blob锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_storage_blob`;
+CREATE TABLE `system_storage_blob` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `resource_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璧勬簮鍞竴鏍囪瘑锛堝叕鍏辫闂甼ey锛�',
+  `content_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璧勬簮绫诲瀷锛屽 image/jpeg',
+  `original_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍘熸枃浠跺悕',
+  `uid_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍞竴鏂囦欢鍚嶏紙UUID_鍘熸枃浠跺悕锛�',
+  `byte_size` bigint DEFAULT NULL COMMENT '鏂囦欢澶у皬锛堝瓧鑺傦級',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鐩稿璺緞锛堝 2026/0430锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_uid_filename` (`uid_filename`) USING BTREE,
+  KEY `idx_resource_key` (`resource_key`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細system_user_post锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_user_post`;
+CREATE TABLE `system_user_post` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛ID',
+  `post_id` bigint NOT NULL DEFAULT '0' COMMENT '宀椾綅ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=202 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛宀椾綅琛�';
+
+-- ============ 琛細system_user_role锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_user_role`;
+CREATE TABLE `system_user_role` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑷缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛ID',
+  `role_id` bigint NOT NULL COMMENT '瑙掕壊ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=131 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛鍜岃鑹插叧鑱旇〃';
+
+-- ============ 琛細system_users锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_users`;
+CREATE TABLE `system_users` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢ㄦ埛ID',
+  `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛璐﹀彿',
+  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀵嗙爜',
+  `nickname` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鏄电О',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `dept_id` bigint DEFAULT NULL COMMENT '閮ㄩ棬ID',
+  `post_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宀椾綅缂栧彿鏁扮粍',
+  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐢ㄦ埛閭',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎵嬫満鍙风爜',
+  `sex` tinyint DEFAULT '0' COMMENT '鐢ㄦ埛鎬у埆',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶村儚鍦板潃',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '甯愬彿鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏈�鍚庣櫥褰旾P',
+  `login_date` datetime DEFAULT NULL COMMENT '鏈�鍚庣櫥褰曟椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_username` (`username`) USING BTREE,
+  KEY `idx_mobile` (`mobile`) USING BTREE,
+  KEY `idx_email` (`email`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=297 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛淇℃伅琛�';
+
+-- ============ 琛細ums_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ums_application`;
+CREATE TABLE `ums_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠缂栧彿',
+  `member_type` tinyint NOT NULL COMMENT '浼氬憳绫诲瀷锛�1-涓汉 2-鍗曚綅',
+  `applicant_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠浜哄鍚嶏紙涓汉锛夋垨鍗曚綅鍚嶇О锛堝崟浣嶏級',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '閭',
+  `legal_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '娉曞畾浠h〃浜猴紙鍗曚綅涓撴湁锛�',
+  `organization_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁熶竴绀句細淇$敤浠g爜锛堝崟浣嶄笓鏈夛級',
+  `research_direction` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐮旂┒鏂瑰悜',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅锛堜釜浜轰笓鏈夛級',
+  `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О锛堜釜浜轰笓鏈夛級',
+  `member_grade` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐢宠绛夌骇',
+  `region_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍦板尯缂栫爜',
+  `industry` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '琛屼笟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸查�氳繃 35-宸查┏鍥�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BPM 娴佺▼瀹炰緥 ID',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_member_type` (`member_type`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='浼氬憳-鍏ヤ細鐢宠鍗�';
+
+-- ============ 琛細ums_member锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ums_member`;
+CREATE TABLE `ums_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浼氬憳缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鍏宠仈绯荤粺鐢ㄦ埛 ID',
+  `application_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鐢宠鍗� ID',
+  `member_type` tinyint NOT NULL COMMENT '浼氬憳绫诲瀷锛�1-涓汉 2-鍗曚綅',
+  `member_grade` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浼氬憳绛夌骇',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '濮撳悕锛堜釜浜猴級鎴栧崟浣嶅悕绉帮紙鍗曚綅锛�',
+  `contact_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴浜猴紙鍗曚綅鐢級',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '閭',
+  `legal_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '娉曞畾浠h〃浜猴紙鍗曚綅涓撴湁锛�',
+  `organization_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁熶竴绀句細淇$敤浠g爜',
+  `research_direction` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐮旂┒鏂瑰悜',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅锛堜釜浜轰笓鏈夛級',
+  `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О锛堜釜浜轰笓鏈夛級',
+  `unit_intro` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍗曚綅绠�浠嬶紙鍗曚綅涓撴湁锛�',
+  `region_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍦板尯缂栫爜',
+  `industry` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '琛屼笟',
+  `join_date` date DEFAULT NULL COMMENT '鍏ヤ細鏃ユ湡',
+  `expire_date` date DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細1-姝e父 0-鏆傚仠',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_region_code` (`region_code`) USING BTREE,
+  KEY `idx_industry` (`industry`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='浼氬憳';
+
+-- ============ 琛細research_guideline锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `research_guideline`;
+CREATE TABLE `research_guideline` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎸囧崡缂栧彿',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎸囧崡鍚嶇О',
+  `category` tinyint NOT NULL COMMENT '璇鹃绫诲埆锛�1-閲嶇偣璇鹃 2-涓�鑸棰�',
+  `apply_start_time` datetime DEFAULT NULL COMMENT '鐢虫姤寮�濮嬫椂闂�',
+  `apply_end_time` datetime DEFAULT NULL COMMENT '鐢虫姤鎴鏃堕棿',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎸囧崡姝f枃',
+  `publish_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戝竷鐘舵�侊細0-鑽夌 20-宸插彂甯� 30-宸叉埅姝�',
+  `publish_time` datetime DEFAULT NULL COMMENT '鍙戝竷鏃堕棿',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_category` (`category`) USING BTREE,
+  KEY `idx_publish_status` (`publish_status`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-鎸囧崡';
+
+-- ============ 琛細research_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `research_application`;
+CREATE TABLE `research_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢虫姤缂栧彿',
+  `guideline_id` bigint NOT NULL COMMENT '鎵�灞炶棰樻寚鍗� ID',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇鹃鍚嶇О',
+  `category` tinyint NOT NULL COMMENT '璇鹃绫诲埆锛�1-閲嶇偣璇鹃 2-涓�鑸棰橈紙鍐椾綑鑷寚鍗楋級',
+  `member_id` bigint DEFAULT NULL COMMENT '鐢虫姤浼氬憳 ID锛堝叧鑱� ums_member锛�',
+  `applicant_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢虫姤浜哄鍚�/鍗曚綅鍚嶇О',
+  `applicant_user_id` bigint DEFAULT NULL COMMENT '鐢虫姤鐧诲綍鐢ㄦ埛 ID',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅',
+  `job_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴閭',
+  `team_members` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '璇鹃缁勬垚鍛橈紙姣忚涓�鏉★細濮撳悕|鍗曚綅|鑱岀О锛�',
+  `budget_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鐢宠缁忚垂锛堝厓锛�',
+  `plan_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢虫姤涔︽鏂囷紙鐮旂┒鑳屾櫙/鐩爣/鏂规/棰勬湡鎴愭灉锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸茬珛椤� 35-宸查┏鍥�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BPM 娴佺▼瀹炰緥 ID',
+  `review_avg_score` decimal(6,2) DEFAULT NULL COMMENT '涓撳璇勫鍔犳潈鍧囧垎锛堝悗绔眹鎬伙級',
+  `review_pass` tinyint DEFAULT NULL COMMENT '璇勫缁撹锛�0-鏈�氳繃 1-鎺ㄨ崘绔嬮」锛堝悗绔眹鎬伙級',
+  `research_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '绔嬮」缂栧彿锛堝鎵归�氳繃鍚庣敓鎴愶級',
+  `approve_time` datetime DEFAULT NULL COMMENT '绔嬮」鏃堕棿',
+  `notice_id` bigint DEFAULT NULL COMMENT '宸插彂甯冪殑绔嬮」閫氱煡鍏憡 ID',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_guideline_id` (`guideline_id`) USING BTREE,
+  KEY `idx_member_id` (`member_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_applicant_user_id` (`applicant_user_id`) USING BTREE,
+  KEY `idx_research_no` (`research_no`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-鐢虫姤涔�';
+
+-- ============ 琛細research_topic_review锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `research_topic_review`;
+CREATE TABLE `research_topic_review` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `application_id` bigint NOT NULL COMMENT '璇鹃鐢虫姤涔� ID',
+  `evaluator_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓撳濮撳悕',
+  `evaluator_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '涓撳鎵�鍦ㄥ崟浣�',
+  `evaluator_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '涓撳鑱岀О',
+  `topic_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '閫夐浠峰�间笌鎰忎箟寰楀垎锛堟潈閲�0.3锛�',
+  `plan_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '鐮旂┒鏂规鍙鎬у緱鍒嗭紙鏉冮噸0.3锛�',
+  `team_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '鍥㈤槦涓庣爺绌跺熀纭�寰楀垎锛堟潈閲�0.2锛�',
+  `result_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '棰勬湡鎴愭灉涓庢晥鐩婂緱鍒嗭紙鏉冮噸0.2锛�',
+  `composite_score` decimal(6,2) DEFAULT NULL COMMENT '鍔犳潈鍚堣寰楀垎锛堝悗绔绠楋級',
+  `ranking` int DEFAULT NULL COMMENT '鏈敵鎶ュ崟鍐呰瘎鍒嗘帓鍚嶏紙鍚庣璁$畻锛�',
+  `conclusion` tinyint DEFAULT NULL COMMENT '璇勫缁撹锛�1-鎺ㄨ崘绔嬮」 2-涓嶆帹鑽愮珛椤�',
+  `opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璇勫鎰忚',
+  `review_time` datetime DEFAULT NULL COMMENT '璇勫鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_application_id` (`application_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-涓撳璇勫鏄庣粏';
+
+-- ============ 琛細research_fund_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `research_fund_record`;
+CREATE TABLE `research_fund_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `application_id` bigint NOT NULL COMMENT '璇鹃鐢虫姤涔� ID',
+  `batch_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎷ㄤ粯鎵规锛堝锛氱涓�鏈燂級',
+  `amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鎷ㄤ粯閲戦锛堝厓锛�',
+  `pay_date` date DEFAULT NULL COMMENT '鎷ㄤ粯鏃ユ湡',
+  `payee` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏀舵鍗曚綅/璐︽埛鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呮嫧浠� 20-宸叉嫧浠�',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_application_id` (`application_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-缁忚垂鎷ㄤ粯璁板綍';
+
+
+-- ============ 琛細yudao_demo01_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo01_contact`;
+CREATE TABLE `yudao_demo01_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `sex` tinyint(1) NOT NULL COMMENT '鎬у埆',
+  `birthday` datetime NOT NULL COMMENT '鍑虹敓骞�',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绠�浠�',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶村儚',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀轰緥鑱旂郴浜鸿〃';
+
+-- ============ 琛細yudao_demo02_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo02_category`;
+CREATE TABLE `yudao_demo02_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `parent_id` bigint NOT NULL COMMENT '鐖剁骇缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀轰緥鍒嗙被琛�';
+
+-- ============ 琛細yudao_demo03_course锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo03_course`;
+CREATE TABLE `yudao_demo03_course` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `student_id` bigint NOT NULL COMMENT '瀛︾敓缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `score` tinyint NOT NULL COMMENT '鍒嗘暟',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛︾敓璇剧▼琛�';
+
+-- ============ 琛細yudao_demo03_grade锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo03_grade`;
+CREATE TABLE `yudao_demo03_grade` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `student_id` bigint NOT NULL COMMENT '瀛︾敓缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `teacher` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐝富浠�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛︾敓鐝骇琛�';
+
+-- ============ 琛細yudao_demo03_student锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo03_student`;
+CREATE TABLE `yudao_demo03_student` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `sex` tinyint NOT NULL COMMENT '鎬у埆',
+  `birthday` datetime NOT NULL COMMENT '鍑虹敓鏃ユ湡',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绠�浠�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛︾敓琛�';
+
+SET FOREIGN_KEY_CHECKS = 1;
+SET SQL_MODE = @OLD_SQL_MODE;
+
+
+-- =======================================================================
+-- 闃舵浜岋細琛ュ韬唤/鑿滃崟/OAuth2锛堝師 test_identity_seed_20260904.sql 鍚堝苟浜庢锛�
+-- =======================================================================
+
+-- =======================================================================
+-- 鏂囦欢锛歵est_identity_seed_20260904.sql锛坅dmin 鍗曡处鍙疯韩浠�/鏉冮檺琛ュ锛�
+-- 鐢ㄩ�旓細缁欑洰鏍囩┖搴撹ˉ榻�"admin 璐﹀彿 + 鑿滃崟 + 鏉冮檺"鏁版嵁锛屾暟鎹簮锛歮om-jssm
+--       锛�0918 鐗堟暟鎹簮涓� ruoyi-vue-pro锛�0928 鐗堣捣鏀逛负 mom-jssm锛�
+-- 鍓嶆彁锛氱洰鏍囧簱宸叉墽琛岃繃鏈枃浠�"闃舵涓�"锛堝叏琛ㄧ粨鏋勫凡瀛樺湪锛屽瓧鍏稿凡瀵硷級锛�
+--       鏈剼鏈』鍦ㄢ�滃悓鏃跺瓨鍦� mom-jssm 涓庣洰鏍囧簱鈥濈殑鍚屼竴 MySQL 瀹炰緥涓婃墽琛屻��
+-- 瑕嗙洊锛堜粎 admin 涓�涓处鍙凤紝鍙婂叾鎷ユ湁鐨勮鑹蹭笌鏉冮檺锛夛細
+--   鈶� system_menu            鍏ㄩ儴鏈夋晥鑿滃崟锛堣秴绠$敱浠g爜杩斿洖鍏ㄩ儴鑿滃崟锛屾櫘閫氳鑹蹭緷璧� role_menu锛�
+--                             鍚� 0928 鐗堟柊澧炵殑 1075417~1075425 鎶ラ攢鍗曡彍鍗曘��1075490~1075503 浼氬憳绠$悊鑿滃崟
+--                             锛堥樁娈典竴涓嶅惈鑿滃崟锛屽彧鍦ㄦ澶勬潵锛�
+--   鈶� system_dept / post     鏉ユ簮搴撴湭鍒犻櫎鐨勬湁鏁堥儴闂�/宀椾綅琛岋紙admin 鐨� dept_id 钀藉湪鍏朵腑锛�
+--   鈶� system_role            浠� admin 鎷ユ湁鐨勮鑹诧紙super_admin銆乧ommon銆�001銆乧rm_admin 绛夛級
+--   鈶� system_users           浠� admin 璐﹀彿锛堝瘑鐮佸搱甯屼竴骞舵嫹璐濓紝鐧诲綍瀵嗙爜鍚屾潵婧愬簱锛�
+--   鈶� system_user_role       admin 涓庡叾瑙掕壊鐨勫叧鑱�
+--   鈶� system_role_menu       admin 鍚勮鑹茬殑鑿滃崟鍏宠仈锛堜繚璇佹櫘閫氳鑹叉潈闄愭甯革級
+--   鈶� system_oauth2_client   榛樿 OAuth2 瀹㈡埛绔紙鐧诲綍/鍒锋柊浠ょ墝蹇呴渶锛宑lient_id='default'锛�
+-- 瀛楀吀 system_dict_type / system_dict_data锛氶樁娈典竴宸插鍏ワ紙0918 鍩虹嚎 241/1157锛�
+--       0928 鐗堟柊澧� finance 2 绫诲瀷 + 10 鏉°�乽ms 6 绫诲瀷 + 25 鏉★紝鐜颁负 249/1192锛夛紝姝ゅ涓嶉噸澶嶅鐞嗐��
+-- 骞傜瓑锛氭瘡寮犺〃鍏� DELETE 鍐� INSERT锛屽彲閲嶅鎵ц锛涗笉褰卞搷鍏跺畠琛ㄣ��
+-- 鈿� 浠呬綔鐢ㄤ簬涓婅堪鍒楀嚭鐨勮〃锛屼笉浼氭竻绌哄叾瀹冭〃鏁版嵁銆�
+-- 鈿� 鏉ユ簮搴� system_dept / system_post / system_users / system_role 鍚蒋鍒犻櫎琛岋紝浠呮嫹璐濇湭鍒犻櫎(deleted=0)鐨勩��
+-- =======================================================================
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
+
+-- 鈶� 鑿滃崟锛堝叏閲忔湁鏁堬級
+DELETE FROM `system_menu`;
+INSERT INTO `system_menu`
+SELECT * FROM `mom-jssm`.`system_menu`
+WHERE `deleted` = b'0';
+
+-- 鈶燽 OAuth2 瀹㈡埛绔紙鐧诲綍蹇呴渶锛宑lient_id='default'锛�
+DELETE FROM `system_oauth2_client`;
+INSERT INTO `system_oauth2_client`
+SELECT * FROM `mom-jssm`.`system_oauth2_client`
+WHERE `deleted` = b'0';
+
+-- 鈶� 閮ㄩ棬 / 宀椾綅锛堜粎鏈垹闄ょ殑鏈夋晥琛岋級
+DELETE FROM `system_dept`;
+INSERT INTO `system_dept`
+SELECT * FROM `mom-jssm`.`system_dept`
+WHERE `deleted` = b'0';
+
+DELETE FROM `system_post`;
+INSERT INTO `system_post`
+SELECT * FROM `mom-jssm`.`system_post`
+WHERE `deleted` = b'0';
+
+-- 鈶� admin 鎷ユ湁鐨勮鑹�
+DELETE FROM `system_role`;
+INSERT INTO `system_role`
+SELECT * FROM `mom-jssm`.`system_role`
+WHERE `deleted` = b'0'
+  AND `id` IN (SELECT `role_id` FROM `mom-jssm`.`system_user_role`
+               WHERE `user_id` = (SELECT `id` FROM `mom-jssm`.`system_users` WHERE `username` = 'admin' LIMIT 1));
+
+-- 鈶� admin 璐﹀彿
+DELETE FROM `system_users`;
+INSERT INTO `system_users`
+SELECT * FROM `mom-jssm`.`system_users`
+WHERE `username` = 'admin' AND `deleted` = b'0';
+
+-- 鈶� 鐢ㄦ埛-瑙掕壊鍏宠仈锛坅dmin锛�
+DELETE FROM `system_user_role`;
+INSERT INTO `system_user_role`
+SELECT * FROM `mom-jssm`.`system_user_role`
+WHERE `user_id` = (SELECT `id` FROM `system_users` WHERE `username` = 'admin' LIMIT 1);
+
+-- 鈶� 瑙掕壊-鑿滃崟鍏宠仈锛坅dmin 鍚勮鑹诧紝淇濊瘉鏅�氳鑹叉潈闄愭甯革級
+DELETE FROM `system_role_menu`;
+-- 鈿� 涓嶈兘鍐欐垚 INNER JOIN `system_user_role`锛氭潵婧愬簱 system_user_role 鐨勪富閿彧鏄� id锛�
+--   鍚屼竴 (user_id, role_id) 鍙互瀛樺湪澶氳锛堝疄娴� admin 鐨� role_id=1 灏辨湁 2 琛岋級锛�
+--   JOIN 浼氭妸 system_role_menu 鐨勬瘡涓�琛屾斁澶ф垚 N 琛岋紝鎾� system_role_menu 涓婚敭瀵艰嚧鏁磋剼鏈腑鏂��
+--   鐢� IN锛堝瓙鏌ヨ澶╃劧鍘婚噸锛夎〃杈俱�岃繖浜涜鑹茬殑鑿滃崟銆嶏紝涓庤鏁版棤鍏炽��
+INSERT INTO `system_role_menu`
+SELECT rm.* FROM `mom-jssm`.`system_role_menu` rm
+WHERE rm.`role_id` IN (SELECT `role_id` FROM `system_user_role`);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/docs/sql/config_export_all_20260928.sql.bak b/docs/sql/config_export_all_20260928.sql.bak
new file mode 100644
index 0000000..ed97b2d
--- /dev/null
+++ b/docs/sql/config_export_all_20260928.sql.bak
@@ -0,0 +1,11650 @@
+-- =======================================================================
+-- 鏂囦欢锛歝onfig_export_all_20260928.sql
+-- 鐢ㄩ�旓細mom-jssm銆屽叏搴撹〃缁撴瀯 + 閰嶇疆鏁版嵁銆嶅鍑猴紝渚涘悓缁撴瀯鍏ㄦ柊搴撳垵濮嬪寲
+-- 鏉ユ簮搴擄細mom-jssm锛�0918 鐗堟潵婧愪负 ruoyi-vue-pro锛屾湰娆¤捣鏀逛互 mom-jssm 涓哄噯锛�
+-- 鍩虹嚎锛�2026-09-18 鐗堬紙419 寮犺〃锛夛紱
+-- 鏈涓�**琛ヤ竵鐗�**锛氬熀浜� 0918 鏂囦欢澧為噺淇敼锛屾湭閲嶈窇鍏ㄥ簱瀵煎嚭锛堥伩鍏嶆妸鏃犲叧琛ㄤ竴璧锋悈鍔級銆�
+-- 琛ヤ竵鍐呭锛�2026-09-28锛屼細鍛樼鐞嗘ā鍧� yudao-module-ums锛夛細
+--   鈶� 琛� 2 寮� ums_* 琛ㄧ粨鏋勶紙鍏ヤ細鐢宠鍗� + 浼氬憳锛屼粎寤虹┖缁撴瀯锛屾棤鏁版嵁锛夛細
+--      ums_application銆乽ms_member
+--   鈶� 琛� 6 涓瓧鍏哥被鍨� + 25 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細
+--      ums_application_status锛堣崏绋�/瀹℃壒涓�/宸查�氳繃/宸查┏鍥烇級
+--      ums_member_type锛堜釜浜轰細鍛�/鍗曚綅浼氬憳锛�
+--      ums_member_status锛堟甯�/鏆傚仠锛�
+--      ums_personal_grade锛堟櫘閫氫細鍛�/鐞嗕簨/甯稿姟鐞嗕簨/鍓悊浜嬮暱/鐞嗕簨闀匡級
+--      ums_unit_grade锛堟櫘閫氬崟浣�/鐞嗕簨鍗曚綅/鍓細闀垮崟浣�/浼氶暱鍗曚綅锛�
+--      ums_industry锛堟櫤鑳藉埗閫�/鏂拌兘婧�/鐢靛瓙淇℃伅/鐢熺墿鍖昏嵂/鏂版潗鏂�/鑺傝兘鐜繚/鍜ㄨ鏈嶅姟/鍏朵粬锛�
+--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細
+--      id=8001 '鍏ヤ細瀹℃壒' / code='ums_membership_approve'
+--   鈶� 琛� 14 鏉′細鍛樼鐞嗚彍鍗曪細1075490銆屼細鍛樼鐞嗐�嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/ums锛�
+--      + 1075491銆屽叆浼氱敵璇枫��/ 1075492銆屼細鍛樺垪琛ㄣ��/ 1075493銆屼細鍛橀�氳褰曘�嶏紙鑿滃崟锛屾寕 1075490 涓嬶級
+--      + 1075494~1075503 鍚勬煡璇�/鍒涘缓/鏇存柊/鍒犻櫎/鎻愪氦瀹℃壒/閫氳褰曟煡璇紙鎸夐挳鏉冮檺锛�
+--      + 榛樿閮ㄩ棬 129銆屽浼氫細鍛樸�嶏紙浼氬憳绯荤粺璐﹀彿褰掑睘閮ㄩ棬锛屽鎵归�氳繃鍚庤嚜鍔ㄥ缓鍙风敤锛夈��
+--      **鑿滃崟/閮ㄩ棬娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *
+--      FROM \`mom-jssm\`.system_menu WHERE deleted=b'0'`锛堥儴闂ㄥ悓鐞嗭級锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+-- 琛ヤ竵鍐呭锛�2026-09-28锛岃储鍔�-鍙戠エ鎶ラ攢妯″潡锛夛細
+--   鈶� 琛� 2 寮� finance_* 琛ㄧ粨鏋勶紙鎶ラ攢鍗曚富琛� + 鎶ラ攢鏄庣粏琛紝浠呭缓绌虹粨鏋勶紝鏃犳暟鎹級锛�
+--      finance_reimbursement銆乫inance_reimbursement_item
+--   鈶� 琛� 2 涓瓧鍏哥被鍨� + 10 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛夛細
+--      finance_reimbursement_status锛堣崏绋�/瀹℃壒涓�/宸查�氳繃/宸查┏鍥�/宸插綊妗o級
+--      finance_expense_type锛堝樊鏃�/鍔炲叕/鎷涘緟/浜ら��/鍏朵粬锛�
+--   鈶� 琛� 1 鏉� BPM 鍒嗙被锛堝苟鍏ラ樁娈典竴鐨� bpm_category锛夛細
+--      id=216 '鎶ラ攢瀹℃壒' / code='finance_reimbursement_approve'
+--   鈶� 琛� 9 鏉℃姤閿�鍗曡彍鍗曪細1075425銆岃储鍔℃姤閿�銆嶏紙**椤剁骇鐩綍**锛宲arent_id=0锛宲ath=/finance锛�
+--      + 1075417銆屾姤閿�鍗曘�嶏紙鑿滃崟锛屾寕 1075425 涓嬶紝璺敱 /finance/reimbursement锛�
+--      + 1075418~1075424 鏌ヨ/鍒涘缓/鏇存柊/鍒犻櫎/瀵煎嚭/鎻愪氦瀹℃壒/褰掓。锛堟寜閽潈闄愶級銆�
+--      鎶ラ攢鍗曚负鐙珛妯″潡锛屽埢鎰忎笉鎸� ERP 鐨� 2645銆岃储鍔$鐞嗐�嶄笅锛涜嫢鏉ユ簮搴撲粛鏄棫缁撴瀯
+--      锛�1075417.parent_id=2645锛夛紝璇峰厛鍦� mom-jssm 鎵ц涓嬭堪淇鍐嶇敓鎴�/鎵ц鏈剼鏈細
+--        INSERT INTO system_menu (id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,create_time,updater,update_time,deleted)
+--        VALUES (1075425,'璐㈠姟鎶ラ攢','',1,75,0,'/finance','ep:money','','',0,b'1',b'1',b'1','1',NOW(),'1',NOW(),b'0');
+--        UPDATE system_menu SET parent_id=1075425, icon='#', sort=1 WHERE id=1075417;
+--      **鑿滃崟娈垫湰鏂囦欢鏃犻渶涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT *
+--      FROM \`mom-jssm\`.system_menu WHERE deleted=b'0'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙鏉ユ簮搴� mom-jssm 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+--   鈶� **闃舵浜屾潵婧愬簱鐢� ruoyi-vue-pro 鏀逛负 mom-jssm**锛屼娇鍏ㄨ剼鏈暟鎹簮缁熶竴涓� mom-jssm銆�
+--      鎵ц鍓嶆彁闅忎箣鍙樹负锛氳剼鏈』鍦�**鍚屼竴 MySQL 瀹炰緥涓婂悓鏃跺瓨鍦� mom-jssm 涓庣洰鏍囧簱**鏃舵墽琛�
+--      锛堝師鍓嶆彁涓恒�屽悓鏃跺瓨鍦� ruoyi-vue-pro 涓庣洰鏍囧簱銆嶏級銆�
+-- 鍘嗗彶琛ヤ竵鍐呭锛�2026-09-18锛夛細
+--   鈶� 琛� 6 寮� qc_report_* 琛ㄧ粨鏋勶紙鏅鸿兘璐ㄦ鎶ュ憡璁捐骞冲彴锛�0904 瀵煎嚭鏃惰妯″潡灏氭湭寤烘垚锛屽睘閬楁紡鍥炲啓锛�
+--      鍏朵腑 qc_report_instance 鐨� pdf_file_url 鍒�**宸叉寜瑕佹眰鍒犻櫎**锛堟枃浠惰蛋 system_storage_attachment 涓棿琛級
+--   鈶� 琛� qc_report_* 鐨� 6 涓瓧鍏哥被鍨� + 21 鏉″瓧鍏告暟鎹紙骞跺叆闃舵涓�鐨� system_dict_type / system_dict_data锛�
+--   鈶� 鍙︿慨锛歲c_report_instance.id 鍒楁敞閲婄敱銆屾姤鍛婄紪鍙枫�嶆敼涓恒�屽疄渚嬬紪鍙枫�嶏紙report_no 鎵嶆槸鎶ュ憡缂栧彿锛�
+--   鈶� **淇闃舵浜屼竴涓棦鏈夌己闄凤紙0904 鍩虹嚎鍚屾牱瀛樺湪锛屼細瀵艰嚧鏁磋剼鏈腑鏂級**锛�
+--      鈶ャ�宎dmin 鍚勮鑹茬殑鑿滃崟鍏宠仈銆嶅師鍐欐硶鏄� INNER JOIN `system_user_role`锛�
+--      鑰屾簮搴� system_user_role 涓婚敭鍙湁 id銆佸悓涓� (user_id, role_id) 鍙湁澶氳
+--      锛堝疄娴� admin 鐨� role_id=1 灏辨湁 2 琛岋紝浜� 2026-09-02 閲嶅鍒嗛厤锛夛紝
+--      JOIN 鎶� system_role_menu 姣忚鏀惧ぇ鎴� N 琛� 鈫� 鎾炰富閿� "Duplicate entry '6352'"锛�
+--      鑴氭湰鍦� 11411 琛屼腑鏂紝**鏂板簱鍒濆鍖栧嚭鏉ユ槸鍗婃垚鍝�**銆傚凡鏀逛负 IN锛堝瓙鏌ヨ澶╃劧鍘婚噸锛夈��
+--   鈶� 琛� 6 鏉� qc_report 鑿滃崟锛�2026-09-19锛屾櫤鑳借川妫�鎶ュ憡璁捐骞冲彴鍓嶇鎺ュ叆锛夛細
+--      1075410 鎶ュ憡瀹炰緥锛堣彍鍗曪級+ 1075411~1075414 鏌ヨ/鍑轰欢/瀵煎嚭PDF/鍒犻櫎锛堟寜閽級
+--      + 1075415 鎶ュ憡妯℃澘AI瀵煎叆锛堟寜閽紝鎸傚湪 1075400 鎶ュ憡妯℃澘璁捐涓嬶級銆�
+--      **鏈枃浠舵棤闇�涓烘鏀瑰姩**锛氶樁娈碘憽 鐨勫啓娉曟槸 `INSERT INTO system_menu SELECT * FROM
+--      ruoyi-vue-pro.system_menu WHERE deleted=b'0'`锛屾槸鎵ц鏈熻法搴撳叏閲忔嫹璐濓紝
+--      鍙婧愬簱 ruoyi-vue-pro 鏈夎繖鍑犺灏变細琚甫杩囧幓 鈥斺�� 涓庨樁娈典竴鐨勫瓧闈㈤噺 INSERT 涓嶅悓銆�
+--      鍦ㄦ鐧昏鍙负璇存槑銆岃繖鐗堟枃浠剁‘瀹炶鐩栦簡璇ュ彉鏇淬�嶏紝閬垮厤鍚庢潵鑰呬互涓烘紡浜嗐��
+-- 楠岃瘉锛�0918 鐗堟浘鍦ㄥ叏鏂扮┖搴擄紙MySQL 8.4.6锛夋暣浠芥墽琛岄�氳繃 鈥斺�� 419 寮犺〃銆�6 寮� qc_report_*銆�
+--       6 涓瓧鍏哥被鍨� + 21 鏉″瓧鍏告暟鎹�乤dmin 璐﹀彿 / 1258 鏉¤彍鍗� / 2349 鏉� role_menu /
+--       榛樿 OAuth2 瀹㈡埛绔潎姝g‘钀藉簱銆�
+--       鈿� 鏈� 0928 鐗堜负鍦ㄥ叾涔嬩笂鐨勮ˉ涓侊紝**灏氭湭鍦ㄧ┖搴撴暣浠借窇杩�**锛涗笂绾�/鍒濆鍖栧墠璇峰厛鍦ㄥ彲瑕嗙洊绌哄簱楠岃瘉銆�
+-- 鑼冨洿锛氬叏搴� BASE TABLE 鍏� 423 寮狅紙0918 鐨� 419 寮� + 2 寮� finance_* + 2 寮� ums_*锛夛紝鍏ㄩ儴杈撳嚭 CREATE TABLE锛�
+--       浠呬互涓嬮厤缃被琛ㄥ甫鏁版嵁(INSERT)锛屽叾浣欎笟鍔�/绯荤粺/杩愯鍘嗗彶琛ㄥ彧淇濈暀绌鸿〃缁撴瀯锛�
+--     鈶� 鍗忓悓瀹℃壒娴佺▼锛堝紩鎿庡厓鏁版嵁+瀹氫箟锛屼粎婵�娲绘祦绋嬶紝鍓斿巻鍙�/杩愯/韬唤锛夛細act_ge_property銆乤ct_id_property銆乤ct_re_procdef銆乤ct_re_deployment銆乤ct_ge_bytearray銆乤ct_re_model銆乥pm_process_definition_info
+--     鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛夛細bpm_business_attach銆乥pm_category銆乥pm_form銆乥pm_user_group銆乥pm_process_listener銆乥pm_process_expression
+--     鈶� BI 鍐崇瓥澶у睆 / go-view锛歜i_dashboard銆乥i_chart_config銆乥i_data_source_config銆乥i_warehouse_coordinate銆乺eport_go_view_project
+--     鈶� MES 缂栫爜瑙勫垯锛堝墧娴佹按璁板綍锛夛細mes_md_auto_code_rule銆乵es_md_auto_code_part
+--     鈶� 绯荤粺閰嶇疆涓绘暟鎹紙瀛楀吀/绉熸埛/鍏徃閰嶇疆锛涘墧韬唤/鑿滃崟/鏃ュ織锛夛細system_dict_type銆乻ystem_dict_data銆乻ystem_tenant銆乻ystem_tenant_package銆乻ystem_company_config
+--     鈿� 韬唤/鏉冮檺绫昏〃锛坰ystem_users/role/menu/role_menu/user_role/dept/post/oauth2_client锛夋澶勪粎寤虹┖琛ㄧ粨鏋勶紝鏁版嵁鐢辨枃浠舵湯灏�"闃舵浜�"璺ㄥ簱琛ュ銆�
+--     鈶� AI 閰嶇疆锛堜粎妯″瀷+key锛�+ 鍩虹璁炬柦閰嶇疆绠$悊锛歛i_model銆乤i_api_key銆乮nfra_config銆乮nfra_job銆乮nfra_file_config銆乮nfra_data_source_config銆乮nfra_codegen_table銆乮nfra_codegen_column
+-- 杩囨护锛氬崗鍚屾祦绋嬩粎淇濈暀婵�娲�(SUSPENSION_STATE_=1)瀹氫箟鍙婂叾閮ㄧ讲/瀛楄妭/妯″瀷/鎵╁睍淇℃伅锛�
+--       缂栫爜瑙勫垯鍓旈櫎娴佹按璁板綍 mes_md_auto_code_record锛涜蒋鍒犻櫎琛ㄤ粎瀵� deleted=0銆�
+-- 鈿� 鑴氭湰鍚叏搴� DROP TABLE IF EXISTS锛屼細鎶婇櫎鏈剼鏈缓琛ㄥ鐨勬墍鏈夎〃鍒犻櫎閲嶅缓锛�
+--   涓氬姟琛ㄦ暟鎹皢鍏ㄩ儴娓呯┖锛屼粎鍙湪鍏ㄦ柊/鍙鐩栫殑绌哄簱鎵ц锛�
+-- =======================================================================
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
+
+
+-- ***********************************************************************
+-- 鈶� 鍗忓悓瀹℃壒娴佺▼锛堝紩鎿庡厓鏁版嵁+瀹氫箟锛屼粎婵�娲绘祦绋嬶紝鍓斿巻鍙�/杩愯/韬唤锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細act_ge_property锛堝鍑� 7 琛岋級 ============
+DROP TABLE IF EXISTS `act_ge_property`;
+CREATE TABLE `act_ge_property` (
+  `NAME_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VALUE_` varchar(300) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REV_` int DEFAULT NULL,
+  PRIMARY KEY (`NAME_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_ge_property` (`NAME_`, `VALUE_`, `REV_`) VALUES
+('cfg.execution-related-entities-count', 'true', '1'),
+('cfg.task-related-entities-count', 'true', '1'),
+('common.schema.version', '8.0.0.0', '1'),
+('eventregistry.schema.version', '8.0.0.0', '1'),
+('next.dbid', '1', '1'),
+('schema.history', 'upgrade(7.2.0.2->8.0.0.0)', '2'),
+('schema.version', '8.0.0.0', '2');
+
+-- ============ 琛細act_id_property锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `act_id_property`;
+CREATE TABLE `act_id_property` (
+  `NAME_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VALUE_` varchar(300) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REV_` int DEFAULT NULL,
+  PRIMARY KEY (`NAME_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_id_property` (`NAME_`, `VALUE_`, `REV_`) VALUES
+('schema.version', '8.0.0.0', '1');
+
+-- ============ 琛細act_re_procdef锛堝鍑� 21 琛岋級 ============
+DROP TABLE IF EXISTS `act_re_procdef`;
+CREATE TABLE `act_re_procdef` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VERSION_` int NOT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DGRM_RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HAS_START_FORM_KEY_` tinyint DEFAULT NULL,
+  `HAS_GRAPHICAL_NOTATION_` tinyint DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_VERSION_` int NOT NULL DEFAULT '0',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_UNIQ_PROCDEF` (`KEY_`,`VERSION_`,`DERIVED_VERSION_`,`TENANT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES
+('crm-contract-audit:1:dep_febd13bedc800a97127ae1c042eb557b', '1', 'contract_approve', '鍚堝悓瀹℃壒', 'crm-contract-audit', '1', 'dep_febd13bedc800a97127ae1c042eb557b', 'crm-contract-audit.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('crm-invoice-audit:1:c101d3e0-0001-11f2-8a27-00155dad6485', '1', 'crm_invoice_approve', '寮�绁ㄥ鎵规祦绋�', 'crm-invoice-audit', '1', 'c101d3e0-0001-11f2-8a27-00155dad6485', 'crm-invoice-audit.bpmn', NULL, NULL, '0', '0', '1', '', NULL, NULL, NULL, '0'),
+('crm-receivable-audit:1:7215184e-948c-11f1-9271-1ab6da3745b7', '1', '1111', '鍥炴瀹℃壒娴佺▼', 'crm-receivable-audit', '1', '7215184e-948c-11f1-9271-1ab6da3745b7', 'crm-receivable-audit.bpmn', NULL, NULL, '0', '0', '1', '', NULL, NULL, NULL, '0'),
+('erp-finance-payment-audit:1:f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', '1', 'erp_finance_payment_approve', '浠樻瀹℃壒娴佺▼', 'erp-finance-payment-audit', '1', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', 'erp-finance-payment-audit.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('erp-purchase-invoice-audit:1:0b7c7557949111f192711ab6da3745b7', '1', 'erp_purchase_invoice_approve', '鏉ョエ瀹℃壒娴佺▼', 'erp-purchase-invoice-audit', '1', '0b7c7557949111f192711ab6da3745b7', 'erp-purchase-invoice-audit.bpmn', '', '', '0', '0', '1', '', NULL, '', '', '0'),
+('hrm_attendance_approve:1:dep_d1d2025350ea9af098ca7dbe6e80b442', '1', 'hrm_attendance_approve', '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', '1', 'dep_d1d2025350ea9af098ca7dbe6e80b442', 'hrm_attendance_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_leave:1:dep_862c6766e8cd1b32946a1ed2956a68bf', '1', 'hrm_leave_approve', '璇峰亣瀹℃壒', 'hrm_leave', '1', 'dep_862c6766e8cd1b32946a1ed2956a68bf', 'hrm_leave.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_overtime:1:dep_ecb89d4a54da3ae23601fef85642b0ce', '1', 'overtime_approve', '鍔犵彮瀹℃壒', 'hrm_overtime', '1', 'dep_ecb89d4a54da3ae23601fef85642b0ce', 'hrm_overtime.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_resignation:1:dep_33d3b1649a923d986d89604267b79bbf', '1', 'hrm_resignation_approve', '绂昏亴瀹℃壒', 'hrm_resignation', '1', 'dep_33d3b1649a923d986d89604267b79bbf', 'hrm_resignation.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('hrm_transfer:1:dep_66ea9f27906591b4d0048d854c633a82', '1', 'hrm_transfer_approve', '璋冨姩瀹℃壒', 'hrm_transfer', '1', 'dep_66ea9f27906591b4d0048d854c633a82', 'hrm_transfer.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('item_receipt_approve:1:dep_c16d0eef322695bed1c0c20e1d0190ce', '1', 'item_receipt_approve', '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', '1', 'dep_c16d0eef322695bed1c0c20e1d0190ce', 'item_receipt_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('mes-pd-project-audit:1:ce99813cfeb29f270355dd39f8ef74f2', '1', 'mes_pd_project_approve', '浜у搧椤圭洰瀹℃壒娴佺▼', 'mes-pd-project-audit', '1', 'ce99813cfeb29f270355dd39f8ef74f2', 'mes-pd-project-audit.bpmn', NULL, NULL, '0', '1', '1', NULL, NULL, NULL, NULL, '0'),
+('mes-pro-feedback-audit:1:dep_08349f78d675f582f1ff5f08e7714a8d', '1', 'mes_pro_feedback_audit', '鎶ュ伐瀹℃壒', 'mes-pro-feedback-audit', '1', 'dep_08349f78d675f582f1ff5f08e7714a8d', 'mes-pro-feedback-audit.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('purchase_order_approve:1:dep_09ba42e32e7a436ee4e2a9b6eef0d232', '1', 'purchase_order_approve', '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', '1', 'dep_09ba42e32e7a436ee4e2a9b6eef0d232', 'purchase_order_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('purchase_request_approve:3:d239e27d-74fe-11f1-9120-00155dd68500', '2', 'purchase_request_approve', '閲囪喘瀹℃牳', 'purchase_request_approve', '3', 'd232b68a-74fe-11f1-9120-00155dd68500', 'purchase_request_approve.bpmn', 'purchase_request_approve.purchase_request_approve.png', NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('sale_order_approve:1:dep_b9d15a0bc2b775bebb84987fb4b07cad', '1', 'sale_order_approve', '閿�鍞鍗曞鎵�', 'sale_order_approve', '1', 'dep_b9d15a0bc2b775bebb84987fb4b07cad', 'sale_order_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('supplier_apply_approve:1:dep_b6e816103961b88392e4ac24c87dddf8', '1', 'supplier_apply_approve', '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', '1', 'dep_b6e816103961b88392e4ac24c87dddf8', 'supplier_apply_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('wms_inbound_approve:1:dep_6e0f473d28c042b8b372d00797549423', '1', 'wms_approve', '浠撳簱鍏ュ簱瀹℃壒', 'wms_inbound_approve', '1', 'dep_6e0f473d28c042b8b372d00797549423', 'wms_inbound_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('wms_outbound_approve:1:dep_bed6796545faa2cb7851a019948e4e49', '1', 'wms_approve', '浠撳簱鍑哄簱瀹℃壒', 'wms_outbound_approve', '1', 'dep_bed6796545faa2cb7851a019948e4e49', 'wms_outbound_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0'),
+('wms_transfer_approve:1:dep_9b3368e05f1d39dee636f464f2d65c16', '1', 'wms_approve', '浠撳簱璋冩嫧瀹℃壒', 'wms_transfer_approve', '1', 'dep_9b3368e05f1d39dee636f464f2d65c16', 'wms_transfer_approve.bpmn', NULL, NULL, '0', '1', '1', '', NULL, NULL, NULL, '0');
+
+INSERT INTO `act_re_procdef` (`ID_`, `REV_`, `CATEGORY_`, `NAME_`, `KEY_`, `VERSION_`, `DEPLOYMENT_ID_`, `RESOURCE_NAME_`, `DGRM_RESOURCE_NAME_`, `DESCRIPTION_`, `HAS_START_FORM_KEY_`, `HAS_GRAPHICAL_NOTATION_`, `SUSPENSION_STATE_`, `TENANT_ID_`, `ENGINE_VERSION_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `DERIVED_VERSION_`) VALUES ('ums_membership_approve:1:a5fd4795-bb16-11f1-81f2-00155dd68500', '2', 'ums_membership_approve', '鍏ヤ細瀹℃壒', 'ums_membership_approve', '1', 'a5ad52d2-bb16-11f1-81f2-00155dd68500', 'ums_membership_approve.bpmn', 'ums_membership_approve.ums_membership_approve.png', NULL, '0', '1', '1', '', NULL, NULL, NULL, '0');
+
+-- ============ 琛細act_re_deployment锛堝鍑� 21 琛岋級 ============
+DROP TABLE IF EXISTS `act_re_deployment`;
+CREATE TABLE `act_re_deployment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES
+('0b7c7557949111f192711ab6da3745b7', '鏉ョエ瀹℃壒娴佺▼', 'erp_purchase_invoice_approve', '', '', '2026-08-10 15:56:54.000', NULL, NULL, NULL, NULL),
+('7215184e-948c-11f1-9271-1ab6da3745b7', '鍥炴瀹℃壒娴佺▼', '1111', NULL, '', '2026-08-10 15:24:24.000', NULL, NULL, NULL, NULL),
+('c101d3e0-0001-11f2-8a27-00155dad6485', '寮�绁ㄥ鎵规祦绋�', 'crm_invoice_approve', NULL, '', '2026-08-10 14:35:22.000', NULL, NULL, NULL, NULL),
+('ce99813cfeb29f270355dd39f8ef74f2', '浜у搧椤圭洰瀹℃壒娴佺▼', 'mes_pd_project_approve', 'mes-pd-project-audit', NULL, '2026-08-13 16:12:13.000', NULL, NULL, NULL, NULL),
+('d232b68a-74fe-11f1-9120-00155dd68500', '閲囪喘瀹℃牳', 'purchase_request_approve', 'purchase_request_approve', '', '2026-07-01 19:42:02.225', NULL, NULL, 'd232b68a-74fe-11f1-9120-00155dd68500', NULL),
+('dep_08349f78d675f582f1ff5f08e7714a8d', '鎶ュ伐瀹℃壒', 'mes_pro_feedback_audit', 'mes-pro-feedback-audit', '', '2026-09-04 06:09:24.000', NULL, NULL, NULL, NULL),
+('dep_09ba42e32e7a436ee4e2a9b6eef0d232', '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', 'purchase_order_approve', '', '2026-09-04 06:07:01.000', NULL, NULL, NULL, NULL),
+('dep_33d3b1649a923d986d89604267b79bbf', '绂昏亴瀹℃壒', 'hrm_resignation_approve', 'hrm_resignation', '', '2026-09-04 06:08:24.000', NULL, NULL, NULL, NULL),
+('dep_66ea9f27906591b4d0048d854c633a82', '璋冨姩瀹℃壒', 'hrm_transfer_approve', 'hrm_transfer', '', '2026-09-04 06:08:31.000', NULL, NULL, NULL, NULL),
+('dep_6e0f473d28c042b8b372d00797549423', '浠撳簱鍏ュ簱瀹℃壒', 'wms_approve', 'wms_inbound_approve', '', '2026-09-04 06:08:56.000', NULL, NULL, NULL, NULL),
+('dep_862c6766e8cd1b32946a1ed2956a68bf', '璇峰亣瀹℃壒', 'hrm_leave_approve', 'hrm_leave', '', '2026-09-04 06:07:26.000', NULL, NULL, NULL, NULL),
+('dep_9b3368e05f1d39dee636f464f2d65c16', '浠撳簱璋冩嫧瀹℃壒', 'wms_approve', 'wms_transfer_approve', '', '2026-09-04 06:09:10.000', NULL, NULL, NULL, NULL),
+('dep_b6e816103961b88392e4ac24c87dddf8', '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', 'supplier_apply_approve', '', '2026-09-04 06:08:50.000', NULL, NULL, NULL, NULL),
+('dep_b9d15a0bc2b775bebb84987fb4b07cad', '閿�鍞鍗曞鎵�', 'sale_order_approve', 'sale_order_approve', '', '2026-09-04 06:06:43.000', NULL, NULL, NULL, NULL),
+('dep_bed6796545faa2cb7851a019948e4e49', '浠撳簱鍑哄簱瀹℃壒', 'wms_approve', 'wms_outbound_approve', '', '2026-09-04 06:09:03.000', NULL, NULL, NULL, NULL),
+('dep_c16d0eef322695bed1c0c20e1d0190ce', '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', 'item_receipt_approve', '', '2026-09-04 06:09:17.000', NULL, NULL, NULL, NULL),
+('dep_d1d2025350ea9af098ca7dbe6e80b442', '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', 'hrm_attendance_approve', '', '2026-09-04 06:08:38.000', NULL, NULL, NULL, NULL),
+('dep_ecb89d4a54da3ae23601fef85642b0ce', '鍔犵彮瀹℃壒', 'overtime_approve', 'hrm_overtime', '', '2026-09-04 06:07:33.000', NULL, NULL, NULL, NULL),
+('dep_febd13bedc800a97127ae1c042eb557b', '鍚堝悓瀹℃壒', 'contract_approve', 'crm-contract-audit', '', '2026-09-04 06:07:09.000', NULL, NULL, NULL, NULL),
+('f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', '浠樻瀹℃壒娴佺▼', 'erp_finance_payment_approve', 'erp-finance-payment-audit', '', '2026-08-10 17:35:43.000', NULL, NULL, NULL, NULL);
+
+INSERT INTO `act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('a5ad52d2-bb16-11f1-81f2-00155dd68500', '鍏ヤ細瀹℃壒', 'ums_membership_approve', 'ums_membership_approve', '', '2026-09-28 16:28:56.847', NULL, NULL, NULL, NULL);
+
+-- ============ 琛細act_ge_bytearray锛堝鍑� 22 琛岋級 ============
+DROP TABLE IF EXISTS `act_ge_bytearray`;
+CREATE TABLE `act_ge_bytearray` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTES_` longblob,
+  `GENERATED_` tinyint DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_BYTEAR_DEPL` (`DEPLOYMENT_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_BYTEARR_DEPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `act_re_deployment` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES
+('0b7c7572949111f192711ab6da3745b7', '1', 'erp-purchase-invoice-audit.bpmn', '0b7c7557949111f192711ab6da3745b7', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226572702d70757263686173652d696e766f6963652d617564697422206e616d653d22e69da5e7a5a8e5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6572702d70757263686173652d696e766f6963652d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226572702d70757263686173652d696e766f6963652d6175646974222069643d2242504d4e506c616e655f6572702d70757263686173652d696e766f6963652d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('72151877-948c-11f1-9271-1ab6da3745b7', '1', 'crm-receivable-audit.bpmn', '7215184e-948c-11f1-9271-1ab6da3745b7', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2263726d2d72656365697661626c652d617564697422206e616d653d22e59b9ee6acbee5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f63726d2d72656365697661626c652d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2263726d2d72656365697661626c652d6175646974222069643d2242504d4e506c616e655f63726d2d72656365697661626c652d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('c101d3e1-0001-11f2-8a27-00155dad6485', '1', 'crm-invoice-audit.bpmn', 'c101d3e0-0001-11f2-8a27-00155dad6485', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2263726d2d696e766f6963652d617564697422206e616d653d22e5bc80e7a5a8e5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f63726d2d696e766f6963652d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2263726d2d696e766f6963652d6175646974222069643d2242504d4e506c616e655f63726d2d696e766f6963652d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('44318b176050e94d2c4a86595763dde8', '1', 'mes-pd-project-audit.bpmn', 'ce99813cfeb29f270355dd39f8ef74f2', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226d65732d70642d70726f6a6563742d617564697422206e616d653d22e4baa7e59381e9a1b9e79baee5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6d65732d70642d70726f6a6563742d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226d65732d70642d70726f6a6563742d6175646974222069643d2242504d4e506c616e655f6d65732d70642d70726f6a6563742d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('d232b68b-74fe-11f1-9120-00155dd68500', '1', 'purchase_request_approve.bpmn', 'd232b68a-74fe-11f1-9120-00155dd68500', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2270757263686173655f726571756573745f617070726f766522206e616d653d22e98787e8b4ade5aea1e6a0b82220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22467971796d7171646f6c6e3261626322207469746c653d22e5a793e5908d22207065726d697373696f6e3d2232223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22466836676d7171646f6f793561656322207469746c653d22e5b9b4e9be8422207065726d697373696f6e3d2232223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d2246356d726d71716475746e6e61626322207469746c653d22e98089e68ba9e599a822207065726d697373696f6e3d2232223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c757365725461736b2069643d2241637469766974795f5f363936363337373834323137383238373732393237313622206e616d653d22e5aea1e689b9e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33305d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a63616e646964617465506172616d20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b3134325d5d3e3c2f666c6f7761626c653a63616e646964617465506172616d3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22467971796d7171646f6c6e3261626322207469746c653d22e5a793e5908d22207065726d697373696f6e3d2231223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d22466836676d7171646f6f793561656322207469746c653d22e5b9b4e9be8422207065726d697373696f6e3d2231223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a6669656c64735065726d697373696f6e20786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e22206669656c643d2246356d726d71716475746e6e61626322207469746c653d22e98089e68ba9e599a822207065726d697373696f6e3d2231223e3c2f666c6f7761626c653a6669656c64735065726d697373696f6e3e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e9809ae8bf872220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2274727565222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2274727565222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2274727565222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2274727565222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2274727565222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a617070726f76654d6574686f6420786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b345d5d3e3c2f666c6f7761626c653a617070726f76654d6574686f643e0a20202020202020203c666c6f7761626c653a72656a65637448616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a72656a65637448616e646c6572547970653e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a20202020202020203c666c6f7761626c653a61737369676e456d70747948616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a61737369676e456d70747948616e646c6572547970653e0a20202020202020203c666c6f7761626c653a7369676e456e61626c6520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b66616c73655d5d3e3c2f666c6f7761626c653a7369676e456e61626c653e0a20202020202020203c666c6f7761626c653a726561736f6e5265717569726520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b66616c73655d5d3e3c2f666c6f7761626c653a726561736f6e526571756972653e0a20202020202020203c666c6f7761626c653a6e6f64655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b31315d5d3e3c2f666c6f7761626c653a6e6f6465547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a2020202020203c6d756c7469496e7374616e63654c6f6f7043686172616374657269737469637320697353657175656e7469616c3d22747275652220666c6f7761626c653a636f6c6c656374696f6e3d22247b636f6c6c5f757365724c6973747d223e0a20202020202020203c6c6f6f7043617264696e616c6974793e313c2f6c6f6f7043617264696e616c6974793e0a20202020202020203c636f6d706c6574696f6e436f6e646974696f6e3e247b206e724f66436f6d706c65746564496e7374616e636573202667743b3d206e724f66496e7374616e636573207d3c2f636f6d706c6574696f6e436f6e646974696f6e3e0a2020202020203c2f6d756c7469496e7374616e63654c6f6f704368617261637465726973746963733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d37626264323239362d303635622d343334652d623536332d6131633164373035626435362220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d65623033353365322d356431392d346462662d623162642d6239646561343435613034372220736f757263655265663d225374617274557365724e6f646522207461726765745265663d2241637469766974795f5f3639363633373738343231373832383737323932373136223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d65616533333231612d313462392d343831632d393731652d3365656130663331626638332220736f757263655265663d2241637469766974795f5f363936363337373834323137383238373732393237313622207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f70757263686173655f726571756573745f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2270757263686173655f726571756573745f617070726f7665222069643d2242504d4e506c616e655f70757263686173655f726571756573745f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2241637469766974795f5f3639363633373738343231373832383737323932373136222069643d2242504d4e53686170655f41637469766974795f5f3639363633373738343231373832383737323932373136223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d223233302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223338302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d65623033353365322d356431392d346462662d623162642d623964656134343561303437222069643d2242504d4e456467655f73657175656e6365466c6f772d65623033353365322d356431392d346462662d623162642d623964656134343561303437223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d65616533333231612d313462392d343831632d393731652d336565613066333162663833222069643d2242504d4e456467655f73657175656e6365466c6f772d65616533333231612d313462392d343831632d393731652d336565613066333162663833223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223333302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223338302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d37626264323239362d303635622d343334652d623536332d613163316437303562643536222069643d2242504d4e456467655f73657175656e6365466c6f772d37626264323239362d303635622d343334652d623536332d613163316437303562643536223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('d2396d4c-74fe-11f1-9120-00155dd68500', '1', 'purchase_request_approve.purchase_request_approve.png', 'd232b68a-74fe-11f1-9120-00155dd68500', X'efbfbd504e470d0a1a0a0000000d49484452000001efbfbd000000460806000000efbfbdefbfbdefbfbd0800000b7649444154785eefbfbdefbfbd4f1cefbfbd19c6892b55efbfbdefbfbd7f10efbfbd2aefbfbdefbfbdefbfbd4aefbfbd72e18ba8efbfbdefbfbdefbfbd226cefbfbd5defbfbdefbfbd00efbfbd646c4befbfbdefbfbd42efbfbd4d516423efbfbd72efbfbdefbfbd44efbfbdefbfbd0ad592efbfbd25361fefbfbd604c1d70efbfbd15efbfbd0defbfbd260e04c7b10906efbfbd6d50efbfbd60efbfbdefbfbdefbfbdefbfbd54efbfbd7707efbfbdefbfbd1aefbfbdefbfbdefbfbdefbfbdefbfbd470befbfbd71efbfbd61efbfbdefbfbd397b66efbfbdefbfbd1415efbfbdefbfbd701cefbfbdefbfbdefbfbdefbfbdefbfbd7f1f1c1c5cefbfbdefbfbdefbfbd71efbfbdefbfbdefbfbdefbfbdefbfbd65efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdc7bdefbfbdefbfbd1fefbfbdefbfbd632befbfbdefbfbdefbfbd4befbfbdefbfbdefbfbd724c685c30efbfbd75efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd45efbfbdefbfbdcb9750c8a2efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd264876efbfbd636423efbfbdefbfbdefbfbd4befbfbdefbfbdefbfbd72efbfbd132cefbfbdefbfbdefbfbd190a5fefbfbdefbfbdefbfbd332638efbfbdefbfbd31efbfbd11efbfbd4aefbfbd34efbfbd0a28efbfbd4eefbfbdefbfbd13efbfbd0cefbfbd7130efbfbdefbfbdc48fefbfbdefbfbdefbfbd5772efbfbdefbfbd57403974efbfbdefbfbd1b18efbfbd3eefbfbdefbfbdefbfbdefbfbdefbfbd46efbfbd2b59efbfbdefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6cefbfbd19efbfbdefbfbdefbfbd3372efbfbdefbfbdeba29f6919efbfbd0eefbfbd4d5aefbfbd03efbfbdefbfbd252defbfbd02efbfbd09121cefbfbd73efbfbdefbfbde1ae93cebfefbfbd1e794defbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd2538efbfbd2b59efbfbdefbfbd2befbfbdefbfbd20efbfbdefbfbd70efbfbd2d2d345cefbfbd30efbfbd79efbfbdefbfbd50efbfbdefbfbd121cefbfbd2c69efbfbd15504eefbfbdefbfbdefbfbdefbfbdefbfbd3fefbfbd05efbfbd2b5ac7b7efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6449efbfbdefbfbdefbfbd72efbfbd04efbfbd7077435a60efbfbdefbfbd757c7b287b69090eefbfbd4aefbfbdefbfbdefbfbd0a2807efbfbd214b5aefbfbd03efbfbdefbfbd252defbfbd02efbfbd09121c34efbfbdefbfbd07efbfbd2b5ac7b7efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6449efbfbdefbfbdefbfbd72efbfbd04efbfbdefbfbd2fefbfbdefbfbd1618efbfbd681defbfbd1eefbfbd5e5aefbfbd03efbfbdefbfbd252defbfbd02efbfbd09121cefbfbdefbfbdefbfbdefbfbd0c7fefbfbdd0a065efbfbdefbfbd6f0f652f2defbfbd015fc992165f01efbfbd04090eefbfbd7777cea705072defbfbdefbfbd41efbfbd494b70efbfbd57efbfbdefbfbdefbfbd5741292e2eefbfbd456969efbfbd11efbfbdefbfbd48243264efbfbdefbfbdefbfbd49efbfbd0eefbfbd725a4fefbfbdefbfbd7d0befbfbdefbfbd38efbfbd0607077f7befbfbdefbfbdefbfbd2f1a1b1b67efbfbd1d3befbfbd585d5defbfbd460d4c24122befbfbdefbfbdefbfbd2fccb26fefbfbdefbfbdefbfbd3eefbfbdefbfbdefbfbd78efbfbdefaf9940efbfbdefbfbdefbfbdefbfbdefbfbd1fefbfbd735a70efbfbd325aefbfbdefbfbd3defbfbdefbfbdefbfbd04077c254b5a7cefbfbd19efbfbd73efbfbdefbfbdefbfbdefbfbdd89e3d7b4652efbfbd4f20efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdccbc623aefbfbd373b3b3b3f3979efbfbdefbfbd723c1e77ce9e3defbfbddcba75efbfbd191b1b736667671defbfbd5eefbfbd775a4eefbfbd63efbfbdefbfbd6a6d6defbfbd786565efbfbd07efbfbd3cefbfbd6c151c74efbfbdefbfbd375fefbfbd312d345cefbfbd3a5c55efbfbd3f69090eefbfbd4aefbfbdefbfbdefbfbd6a234cefbfbdefbfbdefbfbd742c777967efbfbdefbfbd521d53611eefbfbd613aefbfbdefbfbdcc8867efbfbdd0a143efbfbd191d39efbfbdefbfbdefbfbdefbfbd1defbfbd56efbfbd76efbfbd7d5d5defbfbdefbfbdefbfbdefbfbd07efbfbd32c3ba7779d99aefbfbd3038efbfbd27efbfbdefbfbdefbfbdefbfbdefbfbdd79defbfbdefbfbdc282efbfbdefbfbdefbfbd6defbfbd367769090eefbfbd4aefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdd0b0efbfbd7424cdbc73d9bf7fefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd33efbfbdefbfbd0620efbfbdefbfbdefbfbdefbfbd767c5f2aefbfbdefbfbdefbfbd7565efbfbdefbfbdf38daeaeefbfbdcfaaefbfbdefbfbdefbfbdefbfbdefbfbd76efbfbdd5ab57efbfbdefbfbd3801efbfbdefbfbd687fefbfbdefbfbd05efbfbdefbfbdefbfbd793d5aefbfbd0befbfbdefbfbd3eefbfbd6e247cefbfbdefbfbd5d5aefbfbd03efbfbdefbfbd252defbfbdefbfbd525c5cefbfbdefbfbd19305cefbfbd7626efbfbd58efbfbd4926efbfbdefbfbdefbfbdefbfbd32efbfbd745f683bda9eefbfbdefbfbd43efbfbd52efbfbdefbfbdce8c30efbfbd71efbfbdefbfbdefbfbd7f5657573befbfbdefbfbdefbfbdefbfbd756705efbfbd13efbfbdefbfbd7fefbfbd46efbfbd315eefbfbd06efbfbdefbfbd23c8a7d78d44efbfbdefbfbdefbfbdefbfbdefbfbd121cefbfbd2c69efbfbd0befbfbd604cefbfbd71efbfbddb89efbfbd3e7dda99efbfbdefbfbdefbfbd111e08da8fefbfbd67efbfbdefbfbd2b39efbfbdefbfbd6864efbfbd4824efbfbd1fdb9b4fefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd78efbfbdefbfbdefbfbd171c3c0c32152f0f0a2e2defbfbd015fc992165fefbfbd784fd399efbfbdefbfbd0b172e386b6b6b3cefbfbd33efbfbdefbfbdefbfbd72efbfbd3c4fefbfbdcdbcefbfbd400c0c0c7c44efbfbd51efbfbd46461c53efbfbdefbfbddebd7befbfbd65efbfbd6001efbfbd0b0e68efbfbdefbfbd2538efbfbd2b59efbfbdefbfbd2befbfbd7414efbfbdefbfbd2319efbfbd44efbfbd09efbfbdefbfbd464aefbfbd4d743065efbfbd79efbfbdd4a945efbfbdcea7efbfbd24efbfbdc9b96834efbfbdefbfbdefbfbd1904efbfbd2c69090eefbfbd4aefbfbdefbfbdefbfbdefbfbdefbfbd667b67efbfbdefbfbd69efbfbd5c47461c2aefbfbd7befbfbdefbfbd66efbfbd653425efbfbdefbfbdefbfbdefbfbd2f34efbfbd2eefbfbd090c41efbfbdefbfbdefbfbdefbfbdefbfbd744949c9af791b6c05efbfbd214b5aefbfbd03efbfbdefbfbd252defbfbd321d44efbfbdefbfbd28682242efbfbdefbfbd196d05efbfbdefbfbd263a04efbfbd4360efbfbdefbfbd75efbfbdc48965efbfbdefbfbd1d06376fefbfbd7c661aefbfbd0fefbfbd0e5b4170c892efbfbdefbfbdefbfbdefbfbd6449efbfbdefbfbdefbfbd17efbfbdefbfbdefbfbdefbfbdefbfbd78efbfbd2b54efbfbd77efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd6f2a2b2b035f67efbfbd2b544f5959efbfbd3333efbfbd7befbfbdefbfbd4512efbfbd4defbfbd6eefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbd25efbfbdefbfbd015fefbfbd290defbfbdefbfbd46efbfbdefbfbd743b08efbfbd7eefbfbdefbfbdefbfbd4242efbfbd7befbfbd53efbfbdefbfbd79efbfbdefbfbd3877efbfbd5c37efbfbd61214c1a1b1befbfbd4b4b4befbfbd795b24e1be895b1d6804efbfbd2c59101cefbfbdefbfbdefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbdcc99333cefbfbd0b02efbfbdefbfbd695b3d6f531a4d4d4defbfbd61efbfbdefbfbd73efbfbd76efbfbd1a0d1b2fefbfbd48efbfbdefbfbd266e7aefbfbd111cefbfbd645170efbfbd571649efbfbdefbfbdefbfbdefbfbd49773defbfbd69210cefbfbd1e4fefbfbdefbfbdefbfbdefbfbdefbfbd72efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd715e4e41191d1defbfbd30efbfbdefbfbdefbfbdefbfbd2209efbfbd03efbfbd7befbfbd111cefbfbd646170efbfbd571648efbfbdefbfbdefbfbdefbfbd6d777958efbfbd4fefbfbd78dab275efbfbd2712efbfbdefbfbdefbfbd4fefbfbdefbfbd720aefbfbdefbfbdefbfbdefbfbd69efbfbd23efbfbd1649efbfbd1c58efbfbdefbfbd03efbfbdefbfbdefbfbd25efbfbdefbfbd03efbfbd122c25efbfbdefbfbd717f0f2befbfbd1e4f1befbfbdefbfbdefbfbdefbfbdefbfbd72676565efbfbdefbfbd53504c7d2f7cefbfbd302befbfbdefbfbdefbfbd257e7c6c157c254befbfbdefbfbdd8aeefbfbd32efbfbdefbfbdefbfbdd4bbefbfbdefbfbdefbfbd34efbfbdefbfbdefbfbd56efbfbdefbfbd2d5defbfbdefbfbdefbfbdefbfbdefbfbd04efbfbd2defbfbd117e003defbfbd1eefbfbdefbfbd15efbfbdefbfbdefbfbdefbfbd2c7c25581a7c655e1fefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd4748efbfbd0f1f7e11efbfbdefbfbd44efbfbdefbfbd77efbfbdde890439efbfbdefbfbdefbfbd6c7660efbfbd480f0eefbfbd445fefbfbd6befbfbd3459181cefbfbdefbfbd7a69efbfbde0ab880defbfbd211d3f7eefbfbdefbfbdefbfbd67efbfbd5defbfbd74efbfbd1eefbfbd6befbfbd2cefbfbdefbfbd03efbfbdc586efbfbdefbfbd6c59efbfbdefbfbdc9a2efbfbdefbfbdefbfbd36592f4d1a7c15efbfbd61efbfbd5d6363efbfbdefbfbd615fefbfbd545353efbfbd6eefbfbd75481b1e582f080e59efbfbd2038efbfbd00efbfbd49efbfbdefbfbd22365cefbfbd545151efbfbd4e3c1e5f0defbfbd4e0d3fefbfbdefbfbd4d4befbfbd534350101cefbfbd243d38efbfbd025fc992065f6dc79d1aefbfbdefbfbddbb7efbfbdefbfbd19efbfbd4e0d446d6defbfbd7761efbfbdefbfbd6b6d6defbfbd6b04efbfbdefbfbd0b4d453eefbfbdefbfbdefbfbd65efbfbdefbfbdefbfbd260defbfbd41efbfbd57efbfbdefbfbdefbfbd57efbfbdefbfbd65475456567e505757efbfbd12efbfbdddbe1fefbfbdefbfbdefbfbdefbfbdddbeefbfbd53efbfbdefbfbd3fefbfbd7759efbfbdefbfbd494b70efbfbd57efbfbdefbfbdefbfbd57efbfbd10efbfbdefbfbd7defbfbdefbfbdefbfbd55efbfbd2eefbfbdefbfbdefbfbd65536a6a6aefbfbd6a6f6fefbfbdefbfbd315e67efbfbdefbfbdefbfbdefbfbd53d3b0765eefbfbdefbfbd203864494b70efbfbd57efbfbdefbfbdefbfbd57efbfbdefbfbd21efbfbd7fefbfbd24efbfbd7948043dc9951e335eefbfbd27efbfbddeb871efbfbd69efbfbd24efbfbd181befbfbd4c137defbfbdefbfbdefbfbdd2a42538efbfbd2b59efbfbdefbfbd2b2222efbfbdefbfbdefbfbd2eefbfbd277befbfbd0cefbfbd7eefbfbdefbfbdefbfbdefbfbd75efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd51efbfbd4b4a4aefbfbdefbfbd75da8eefbfbdefbfbdefbfbd69efbfbd121cefbfbd2c69efbfbdefbfbdefbfbd66efbfbd0866efbfbd13efbfbd75efbfbd44efbfbd533954efbfbdefbfbdefbfbd665e774644efbfbdd1981929efbfbdefbfbdefbfbd48293532efbfbd2befbfbd0fefbfbd34efbfbdefbfbdefbfbd252defbfbd015fc992165fefbfbd343434efbfbd32efbfbd7cefbfbd3befbfbdefbfbdefbfbd6cefbfbd7eefbfbd44efbfbd794fd3a574efbfbdefbfbdefbfbd75670cefbfbd64efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd5cefbfbd131d680243efbfbd3befbfbd1f35efbfbdefbfbd5c101cefbfbdefbfbd2538efbfbd2b59efbfbdefbfbd2b2fefbfbdefbfbdefbfbd6fefbfbdefbfbdefbfbd5eefbfbd762234efbfbdefbfbde4beb3efbfbdefbfbdefbfbd23efbfbd17da8eefbfbd6713181c2aefbfbdefbfbdefbfbd7566efbfbd29efbfbd5d335aefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd29efbfbdefbfbdefbfbd5a5b5b3f33efbfbdefbfbd6fefbfbd41efbfbdefbfbd35efbfbdefbfbdefbfbd252defbfbd015fc992165f716804efbfbd3d7de78aae536a696959efbfbdefbfbdefbfbdefbfbdefbfbd183defbfbd613defbfbdefbfbd7eefbfbdefbfbdefbfbd7befbfbdefbfbd2b2a2f2f23233f68efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdecb9a9efbfbdeb9e9eefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd676666164cefbfbdefbfbd3c79323e323272efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdda8eefbfbdefbfbd6e71deaf696aefbfbd66203864494b70efbfbde4ab85efbfbd056778783863efbfbd7eefbfbd2cefbfbdefbfbde2ab8d30efbfbdefbfbdefbfbd3befbfbd2e1befbfbdefbfbdefbfbd6e0243efbfbdd09d154c650933efbfbdefbfbdefbfbd0d19efbfbd3545efbfbd107a1d4a2d4f68efbfbd0343506c0aefbfbdefbfbd202defbfbd61efbfbdefbfbdefbfbd7329efbfbd31efbfbdefbfbd683f5eefbfbd5469efbfbdefbfbd66efbfbdefbfbd6cefbfbdefbfbd4c3befbfbdefbfbdefbfbdefbfbdefbfbdefbfbd76efbfbdefbfbd635370efbfbd0469090eefbfbd7cefbfbd11efbfbd3eefbfbdefbfbd1c33efbfbd38efbfbdefbfbd00efbfbdefbfbd6befbfbdefbfbdefbfbd7a6c0aefbfbdefbfbd202defbfbd015fc992165f01efbfbd203864494b70efbfbd57efbfbdefbfbdefbfbd574039080e59efbfbd121cefbfbd2c69efbfbd15500eefbfbd43efbfbdefbfbd04efbfbd4defbfbdefbfbd77480008efbfbdefbfbdefbfbdefbfbd09efbfbd121c36efbfbdefbfbd3aefbfbd22efbfbd59745befbfbdefbfbdefbfbd6549efbfbd165f01efbfbdefbfbd141c3b415aefbfbdefbfbd265f61efbfbd04efbfbd106c0aefbfbdefbfbd202defbfbd015fc992165f01efbfbd203864494b70efbfbd57efbfbdefbfbdefbfbd574039080e59efbfbd121cefbfbd2c69efbfbd15500eefbfbd43efbfbdefbfbd04efbfbd4defbfbdefbfbd77480008efbfbdefbfbdefbfbd676d717131efbfbdefbfbd50efbfbd32efbfbdefbfbd09efbfbd257eefbfbd6cefbfbd265f51efbfbd52efbfbd33efbfbd6e2befbfbd7eefbfbd2cefbfbdefbfbdefbfbd2befbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd5d6e62287c3d78efbfbdefbfbd04efbfbd103f463662efbfbdefbfbdefbfbdefbfbdefbfbd34efbfbd0a28efbfbdefbfbdefbfbdefbfbdc3beefbfbdefbfbde79393efbfbd33efbfbd7cefbfbdefbfbd26efbfbd4f4e4c4cefbfbdcd84efbfbdefbfbd46efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd57efbfbd2fefbfbdefbfbd023b00322b7defbfbd327a49e79aa1efbfbd45efbfbd3befbfbdefbfbdefbfbd42efbfbdefbfbdefbfbdefbfbdefbfbd055f6defbfbd54efbfbd0a000000000000000000000000000000000000000000000000000000000000000000000000efbfbd23efbfbd050befbfbd0816330fefbfbdefbfbd0000000049454e44efbfbd4260efbfbd', '1'),
+('byte_08349f78d675f582f1ff5f08e7714a8d', NULL, 'mes-pro-feedback-audit.bpmn', 'dep_08349f78d675f582f1ff5f08e7714a8d', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226d65732d70726f2d666565646261636b2d617564697422206e616d653d22e68aa5e5b7a5e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6d65732d70726f2d666565646261636b2d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226d65732d70726f2d666565646261636b2d6175646974222069643d2242504d4e506c616e655f6d65732d70726f2d666565646261636b2d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_09ba42e32e7a436ee4e2a9b6eef0d232', NULL, 'purchase_order_approve.bpmn', 'dep_09ba42e32e7a436ee4e2a9b6eef0d232', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2270757263686173655f6f726465725f617070726f766522206e616d653d22e98787e8b4ade8aea2e58d95e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f70757263686173655f6f726465725f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2270757263686173655f6f726465725f617070726f7665222069643d2242504d4e506c616e655f70757263686173655f6f726465725f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_33d3b1649a923d986d89604267b79bbf', NULL, 'hrm_resignation.bpmn', 'dep_33d3b1649a923d986d89604267b79bbf', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f72657369676e6174696f6e22206e616d653d22e7a6bbe8818ce5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f72657369676e6174696f6e223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f72657369676e6174696f6e222069643d2242504d4e506c616e655f68726d5f72657369676e6174696f6e223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_66ea9f27906591b4d0048d854c633a82', NULL, 'hrm_transfer.bpmn', 'dep_66ea9f27906591b4d0048d854c633a82', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f7472616e7366657222206e616d653d22e8b083e58aa8e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f7472616e73666572223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f7472616e73666572222069643d2242504d4e506c616e655f68726d5f7472616e73666572223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_6e0f473d28c042b8b372d00797549423', NULL, 'wms_inbound_approve.bpmn', 'dep_6e0f473d28c042b8b372d00797549423', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22776d735f696e626f756e645f617070726f766522206e616d653d22e4bb93e5ba93e585a5e5ba93e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f776d735f696e626f756e645f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22776d735f696e626f756e645f617070726f7665222069643d2242504d4e506c616e655f776d735f696e626f756e645f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_862c6766e8cd1b32946a1ed2956a68bf', NULL, 'hrm_leave.bpmn', 'dep_862c6766e8cd1b32946a1ed2956a68bf', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f6c6561766522206e616d653d22e8afb7e58187e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f6c65617665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f6c65617665222069643d2242504d4e506c616e655f68726d5f6c65617665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_9b3368e05f1d39dee636f464f2d65c16', NULL, 'wms_transfer_approve.bpmn', 'dep_9b3368e05f1d39dee636f464f2d65c16', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22776d735f7472616e736665725f617070726f766522206e616d653d22e4bb93e5ba93e8b083e68ba8e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f776d735f7472616e736665725f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22776d735f7472616e736665725f617070726f7665222069643d2242504d4e506c616e655f776d735f7472616e736665725f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_b6e816103961b88392e4ac24c87dddf8', NULL, 'supplier_apply_approve.bpmn', 'dep_b6e816103961b88392e4ac24c87dddf8', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22737570706c6965725f6170706c795f617070726f766522206e616d653d22e4be9be5ba94e59586e58786e585a5e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f737570706c6965725f6170706c795f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22737570706c6965725f6170706c795f617070726f7665222069643d2242504d4e506c616e655f737570706c6965725f6170706c795f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_b9d15a0bc2b775bebb84987fb4b07cad', NULL, 'sale_order_approve.bpmn', 'dep_b9d15a0bc2b775bebb84987fb4b07cad', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2273616c655f6f726465725f617070726f766522206e616d653d22e99480e594aee8aea2e58d95e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f73616c655f6f726465725f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2273616c655f6f726465725f617070726f7665222069643d2242504d4e506c616e655f73616c655f6f726465725f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_bed6796545faa2cb7851a019948e4e49', NULL, 'wms_outbound_approve.bpmn', 'dep_bed6796545faa2cb7851a019948e4e49', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d22776d735f6f7574626f756e645f617070726f766522206e616d653d22e4bb93e5ba93e587bae5ba93e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f776d735f6f7574626f756e645f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d22776d735f6f7574626f756e645f617070726f7665222069643d2242504d4e506c616e655f776d735f6f7574626f756e645f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_c16d0eef322695bed1c0c20e1d0190ce', NULL, 'item_receipt_approve.bpmn', 'dep_c16d0eef322695bed1c0c20e1d0190ce', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226974656d5f726563656970745f617070726f766522206e616d653d22e98787e8b4ade585a5e5ba93e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6974656d5f726563656970745f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226974656d5f726563656970745f617070726f7665222069643d2242504d4e506c616e655f6974656d5f726563656970745f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_d1d2025350ea9af098ca7dbe6e80b442', NULL, 'hrm_attendance_approve.bpmn', 'dep_d1d2025350ea9af098ca7dbe6e80b442', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f617474656e64616e63655f617070726f766522206e616d653d22e88083e58ba4e5bc82e5b8b8e5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f617474656e64616e63655f617070726f7665223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f617474656e64616e63655f617070726f7665222069643d2242504d4e506c616e655f68726d5f617474656e64616e63655f617070726f7665223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_ecb89d4a54da3ae23601fef85642b0ce', NULL, 'hrm_overtime.bpmn', 'dep_ecb89d4a54da3ae23601fef85642b0ce', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2268726d5f6f76657274696d6522206e616d653d22e58aa0e78fade5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f68726d5f6f76657274696d65223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2268726d5f6f76657274696d65222069643d2242504d4e506c616e655f68726d5f6f76657274696d65223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('byte_febd13bedc800a97127ae1c042eb557b', NULL, 'crm-contract-audit.bpmn', 'dep_febd13bedc800a97127ae1c042eb557b', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d2263726d2d636f6e74726163742d617564697422206e616d653d22e59088e5908ce5aea1e689b92220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f63726d2d636f6e74726163742d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d2263726d2d636f6e74726163742d6175646974222069643d2242504d4e506c616e655f63726d2d636f6e74726163742d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0'),
+('f1a1b2c3d4e5465f8a9b0c1d2e3f4a5c', '1', 'erp-finance-payment-audit.bpmn', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e0a3c646566696e6974696f6e7320786d6c6e733d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220786d6c6e733a62706d6e64693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f44492220786d6c6e733a6f6d6764633d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44432220786d6c6e733a6f6d6764693d22687474703a2f2f7777772e6f6d672e6f72672f737065632f44442f32303130303532342f44492220747970654c616e67756167653d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222065787072657373696f6e4c616e67756167653d22687474703a2f2f7777772e77332e6f72672f313939392f585061746822207461726765744e616d6573706163653d22687474703a2f2f7777772e6f6d672e6f72672f737065632f42504d4e2f32303130303532342f4d4f44454c223e0a20203c70726f636573732069643d226572702d66696e616e63652d7061796d656e742d617564697422206e616d653d22e4bb98e6acbee5aea1e689b9e6b581e7a88b2220697345786563757461626c653d2274727565223e0a202020203c73746172744576656e742069643d2253746172744576656e7422206e616d653d22e5bc80e5a78b223e3c2f73746172744576656e743e0a202020203c757365725461736b2069643d225374617274557365724e6f646522206e616d653d22e58f91e8b5b7e4baba223e0a2020202020203c657874656e73696f6e456c656d656e74733e0a20202020202020203c666c6f7761626c653a617070726f76655479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b315d5d3e3c2f666c6f7761626c653a617070726f7665547970653e0a20202020202020203c666c6f7761626c653a63616e646964617465537472617465677920786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b33365d5d3e3c2f666c6f7761626c653a63616e64696461746553747261746567793e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68f90e4baa42220656e61626c653d2274727565222069643d2231223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e68b92e7bb9d2220656e61626c653d2266616c7365222069643d2232223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e8bdace58a9e2220656e61626c653d2266616c7365222069643d2233223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e5a794e6b4be2220656e61626c653d2266616c7365222069643d2234223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e58aa0e7adbe2220656e61626c653d2266616c7365222069643d2235223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a627574746f6e7353657474696e6720786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e2220646973706c61794e616d653d22e98080e59b9e2220656e61626c653d2266616c7365222069643d2236223e3c2f666c6f7761626c653a627574746f6e7353657474696e673e0a20202020202020203c666c6f7761626c653a61737369676e53746172745573657248616e646c65725479706520786d6c6e733a666c6f7761626c653d22687474703a2f2f666c6f7761626c652e6f72672f62706d6e223e3c215b43444154415b325d5d3e3c2f666c6f7761626c653a61737369676e53746172745573657248616e646c6572547970653e0a2020202020203c2f657874656e73696f6e456c656d656e74733e0a202020203c2f757365725461736b3e0a202020203c656e644576656e742069643d22456e644576656e7422206e616d653d22e7bb93e69d9f223e3c2f656e644576656e743e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d312220736f757263655265663d2253746172744576656e7422207461726765745265663d225374617274557365724e6f6465223e3c2f73657175656e6365466c6f773e0a202020203c73657175656e6365466c6f772069643d2273657175656e6365466c6f772d322220736f757263655265663d225374617274557365724e6f646522207461726765745265663d22456e644576656e74223e3c2f73657175656e6365466c6f773e0a20203c2f70726f636573733e0a20203c62706d6e64693a42504d4e4469616772616d2069643d2242504d4e4469616772616d5f6572702d66696e616e63652d7061796d656e742d6175646974223e0a202020203c62706d6e64693a42504d4e506c616e652062706d6e456c656d656e743d226572702d66696e616e63652d7061796d656e742d6175646974222069643d2242504d4e506c616e655f6572702d66696e616e63652d7061796d656e742d6175646974223e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d225374617274557365724e6f6465222069643d2242504d4e53686170655f5374617274557365724e6f6465223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2236302e30222077696474683d223130302e302220783d2238302e302220793d22302e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d2253746172744576656e74222069643d2242504d4e53686170655f53746172744576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d22302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e53686170652062706d6e456c656d656e743d22456e644576656e74222069643d2242504d4e53686170655f456e644576656e74223e0a20202020202020203c6f6d6764633a426f756e6473206865696768743d2233302e30222077696474683d2233302e302220783d223233302e302220793d2231352e30223e3c2f6f6d6764633a426f756e64733e0a2020202020203c2f62706d6e64693a42504d4e53686170653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d32222069643d2242504d4e456467655f73657175656e6365466c6f772d32223e0a20202020202020203c6f6d6764693a776179706f696e7420783d223138302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d223233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a2020202020203c62706d6e64693a42504d4e456467652062706d6e456c656d656e743d2273657175656e6365466c6f772d31222069643d2242504d4e456467655f73657175656e6365466c6f772d31223e0a20202020202020203c6f6d6764693a776179706f696e7420783d2233302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a20202020202020203c6f6d6764693a776179706f696e7420783d2238302e302220793d2233302e30223e3c2f6f6d6764693a776179706f696e743e0a2020202020203c2f62706d6e64693a42504d4e456467653e0a202020203c2f62706d6e64693a42504d4e506c616e653e0a20203c2f62706d6e64693a42504d4e4469616772616d3e0a3c2f646566696e6974696f6e733e', '0');
+
+INSERT INTO `act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('a5ad52d3-bb16-11f1-81f2-00155dd68500', '1', 'ums_membership_approve.bpmn', 'a5ad52d2-bb16-11f1-81f2-00155dd68500', X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C646566696E6974696F6E7320786D6C6E733D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A7873643D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612220786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A6F6D6764633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A6F6D6764693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44492220747970654C616E67756167653D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61222065787072657373696F6E4C616E67756167653D22687474703A2F2F7777772E77332E6F72672F313939392F585061746822207461726765744E616D6573706163653D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C223E0A20203C70726F636573732069643D22756D735F6D656D626572736869705F617070726F766522206E616D653D22E585A5E4BC9AE5AEA1E689B92220697345786563757461626C653D2274727565223E0A202020203C73746172744576656E742069643D2253746172744576656E7422206E616D653D22E5BC80E5A78B223E3C2F73746172744576656E743E0A202020203C757365725461736B2069643D225374617274557365724E6F646522206E616D653D22E58F91E8B5B7E4BABA223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B33365D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68F90E4BAA42220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2266616C7365222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2266616C7365222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2266616C7365222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2266616C7365222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2266616C7365222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B325D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F73656372657461726961745F617564697422206E616D653D22E7A798E4B9A6E5A484E5889DE5AEA1223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C757365725461736B2069643D2241637469766974795F636F756E63696C5F72657669657722206E616D653D22E79086E4BA8BE4BC9AE5AEA1E8AEAE223E0A2020202020203C657874656E73696F6E456C656D656E74733E0A20202020202020203C666C6F7761626C653A617070726F76655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A617070726F7665547970653E0A20202020202020203C666C6F7761626C653A63616E646964617465537472617465677920786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31305D5D3E3C2F666C6F7761626C653A63616E64696461746553747261746567793E0A20202020202020203C666C6F7761626C653A63616E646964617465506172616D20786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A63616E646964617465506172616D3E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E9809AE8BF872220656E61626C653D2274727565222069643D2231223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E68B92E7BB9D2220656E61626C653D2274727565222069643D2232223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E8BDACE58A9E2220656E61626C653D2274727565222069643D2233223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E5A794E6B4BE2220656E61626C653D2274727565222069643D2234223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E58AA0E7ADBE2220656E61626C653D2274727565222069643D2235223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A627574746F6E7353657474696E6720786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E2220646973706C61794E616D653D22E98080E59B9E2220656E61626C653D2274727565222069643D2236223E3C2F666C6F7761626C653A627574746F6E7353657474696E673E0A20202020202020203C666C6F7761626C653A617070726F76654D6574686F6420786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B345D5D3E3C2F666C6F7761626C653A617070726F76654D6574686F643E0A20202020202020203C666C6F7761626C653A72656A65637448616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A72656A65637448616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E53746172745573657248616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E53746172745573657248616E646C6572547970653E0A20202020202020203C666C6F7761626C653A61737369676E456D70747948616E646C65725479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B315D5D3E3C2F666C6F7761626C653A61737369676E456D70747948616E646C6572547970653E0A20202020202020203C666C6F7761626C653A7369676E456E61626C6520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A7369676E456E61626C653E0A20202020202020203C666C6F7761626C653A726561736F6E5265717569726520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B66616C73655D5D3E3C2F666C6F7761626C653A726561736F6E526571756972653E0A20202020202020203C666C6F7761626C653A6E6F64655479706520786D6C6E733A666C6F7761626C653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C215B43444154415B31315D5D3E3C2F666C6F7761626C653A6E6F6465547970653E0A2020202020203C2F657874656E73696F6E456C656D656E74733E0A2020202020203C6D756C7469496E7374616E63654C6F6F7043686172616374657269737469637320697353657175656E7469616C3D22747275652220666C6F7761626C653A636F6C6C656374696F6E3D22247B636F6C6C5F757365724C6973747D223E0A20202020202020203C6C6F6F7043617264696E616C6974793E313C2F6C6F6F7043617264696E616C6974793E0A20202020202020203C636F6D706C6574696F6E436F6E646974696F6E3E247B206E724F66436F6D706C65746564496E7374616E636573202667743B3D206E724F66496E7374616E636573207D3C2F636F6D706C6574696F6E436F6E646974696F6E3E0A2020202020203C2F6D756C7469496E7374616E63654C6F6F704368617261637465726973746963733E0A202020203C2F757365725461736B3E0A202020203C656E644576656E742069643D22456E644576656E7422206E616D653D22E7BB93E69D9F223E3C2F656E644576656E743E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D312220736F757263655265663D2253746172744576656E7422207461726765745265663D225374617274557365724E6F6465223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D322220736F757263655265663D225374617274557365724E6F646522207461726765745265663D2241637469766974795F73656372657461726961745F6175646974223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D332220736F757263655265663D2241637469766974795F73656372657461726961745F617564697422207461726765745265663D2241637469766974795F636F756E63696C5F726576696577223E3C2F73657175656E6365466C6F773E0A202020203C73657175656E6365466C6F772069643D2273657175656E6365466C6F772D342220736F757263655265663D2241637469766974795F636F756E63696C5F72657669657722207461726765745265663D22456E644576656E74223E3C2F73657175656E6365466C6F773E0A20203C2F70726F636573733E0A20203C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F756D735F6D656D626572736869705F617070726F7665223E0A202020203C62706D6E64693A42504D4E506C616E652062706D6E456C656D656E743D22756D735F6D656D626572736869705F617070726F7665222069643D2242504D4E506C616E655F756D735F6D656D626572736869705F617070726F7665223E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2253746172744576656E74222069643D2242504D4E53686170655F53746172744576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D22302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D225374617274557365724E6F6465222069643D2242504D4E53686170655F5374617274557365724E6F6465223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D2238302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F73656372657461726961745F6175646974222069643D2242504D4E53686170655F41637469766974795F73656372657461726961745F6175646974223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223233302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D2241637469766974795F636F756E63696C5F726576696577222069643D2242504D4E53686170655F41637469766974795F636F756E63696C5F726576696577223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2236302E30222077696474683D223130302E302220783D223338302E302220793D22302E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E53686170652062706D6E456C656D656E743D22456E644576656E74222069643D2242504D4E53686170655F456E644576656E74223E0A20202020202020203C6F6D6764633A426F756E6473206865696768743D2233302E30222077696474683D2233302E302220783D223533302E302220793D2231352E30223E3C2F6F6D6764633A426F756E64733E0A2020202020203C2F62706D6E64693A42504D4E53686170653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D31222069643D2242504D4E456467655F73657175656E6365466C6F772D31223E0A20202020202020203C6F6D6764693A776179706F696E7420783D2233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D2238302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D32222069643D2242504D4E456467655F73657175656E6365466C6F772D32223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223138302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223233302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D33222069643D2242504D4E456467655F73657175656E6365466C6F772D33223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223333302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223338302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A2020202020203C62706D6E64693A42504D4E456467652062706D6E456C656D656E743D2273657175656E6365466C6F772D34222069643D2242504D4E456467655F73657175656E6365466C6F772D34223E0A20202020202020203C6F6D6764693A776179706F696E7420783D223438302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A20202020202020203C6F6D6764693A776179706F696E7420783D223533302E302220793D2233302E30223E3C2F6F6D6764693A776179706F696E743E0A2020202020203C2F62706D6E64693A42504D4E456467653E0A202020203C2F62706D6E64693A42504D4E506C616E653E0A20203C2F62706D6E64693A42504D4E4469616772616D3E0A3C2F646566696E6974696F6E733E0A', '0');
+
+-- ============ 琛細act_re_model锛堝鍑� 21 琛岋級 ============
+DROP TABLE IF EXISTS `act_re_model`;
+CREATE TABLE `act_re_model` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_FK_MODEL_SOURCE` (`EDITOR_SOURCE_VALUE_ID_`) USING BTREE,
+  KEY `ACT_FK_MODEL_SOURCE_EXTRA` (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) USING BTREE,
+  KEY `ACT_FK_MODEL_DEPLOYMENT` (`DEPLOYMENT_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_MODEL_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `act_re_deployment` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_MODEL_SOURCE` FOREIGN KEY (`EDITOR_SOURCE_VALUE_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_MODEL_SOURCE_EXTRA` FOREIGN KEY (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES
+('0b7c7577949111f192711ab6da3745b7', '1', '鏉ョエ瀹℃壒娴佺▼', 'erp-purchase-invoice-audit', 'erp_purchase_invoice_approve', '2026-08-10 15:57:11.000', '2026-08-10 15:57:11.000', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[1],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1785465606228,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":10,"visible":true}', '0b7c7557949111f192711ab6da3745b7', '0b7c7572949111f192711ab6da3745b7', NULL, ''),
+('23afd50c-8c89-11f1-8a27-00155dad6485', '5', '鍥炴瀹℃壒娴佺▼', 'crm-receivable-audit', '1111', '2026-07-31 18:40:06.233', '2026-08-10 15:25:04.000', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[1],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1785465606228,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":20,"visible":true}', '7215184e-948c-11f1-9271-1ab6da3745b7', '23d3fedd-8c89-11f1-8a27-00155dad6485', '23db9ffe-8c89-11f1-8a27-00155dad6485', ''),
+('44318b176050e94d2c4a86595763dde8', '1', '浜у搧椤圭洰瀹℃壒娴佺▼', 'mes-pd-project-audit', 'mes_pd_project_approve', '2026-08-13 16:12:35.000', '2026-08-13 16:12:35.000', '1', '{"type":10,"sort":1788501889992.000,"formType":10,"visible":true}', 'ce99813cfeb29f270355dd39f8ef74f2', NULL, NULL, NULL),
+('5ddab987-74f9-11f1-91b4-00155dd68500', '7', '閲囪喘瀹℃牳', 'purchase_request_approve', 'purchase_request_approve', '2026-07-01 19:02:59.548', '2026-07-01 19:42:02.328', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[142],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1782874979545,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":20,"visible":true}', 'd232b68a-74fe-11f1-9120-00155dd68500', '5dfd83c8-74f9-11f1-91b4-00155dd68500', '5dff7f99-74f9-11f1-91b4-00155dd68500', ''),
+('c101d3e2-0001-11f2-8a27-00155dad6485', '1', '寮�绁ㄥ鎵规祦绋�', 'crm-invoice-audit', 'crm_invoice_approve', '2026-08-10 14:35:45.000', '2026-08-10 14:35:45.000', '1', '{"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":1,"formType":10,"icon":null,"managerUserIds":[1],"printTemplateSetting":{"enable":false,"template":""},"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":{"enable":false,"infix":"","length":5,"postfix":"","prefix":""},"sort":1785465606228,"startDeptIds":[],"startUserIds":[],"summarySetting":{"enable":false,"summary":[]},"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":{"enable":false,"title":""},"type":10,"visible":true}', 'c101d3e0-0001-11f2-8a27-00155dad6485', 'c101d3e3-0001-11f2-8a27-00155dad6485', NULL, ''),
+('f1a1b2c3d4e5465f8a9b0c1d2e3f4a5c', '1', '浠樻瀹℃壒娴佺▼', 'erp-finance-payment-audit', 'erp_finance_payment_approve', '2026-08-10 17:35:58.000', '2026-08-10 17:35:58.000', '1', '{"type":10,"sort":1788501889992.000,"formType":10,"visible":true}', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', NULL, NULL, ''),
+('model_08349f78d675f582f1ff5f08e7714a8d', NULL, '鎶ュ伐瀹℃壒', 'mes-pro-feedback-audit', 'mes_pro_feedback_audit', '2026-09-04 06:09:24.000', '2026-09-04 06:09:24.000', '1', '{"type":10,"formType":10,"sort":1788502164266.000,"visible":true}', 'dep_08349f78d675f582f1ff5f08e7714a8d', NULL, NULL, ''),
+('model_09ba42e32e7a436ee4e2a9b6eef0d232', NULL, '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', 'purchase_order_approve', '2026-09-04 06:07:01.000', '2026-09-04 06:07:01.000', '1', '{"type":10,"formType":10,"sort":1788502021886.000,"visible":true,"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":null,"managerUserIds":[],"startUserIds":[],"startDeptIds":[],"icon":null,"processBeforeTriggerSetting":null,"processAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"taskAfterTriggerSetting":null,"printTemplateSetting":null,"summarySetting":null,"titleSetting":null,"processIdRule":null}', 'dep_09ba42e32e7a436ee4e2a9b6eef0d232', NULL, NULL, ''),
+('model_33d3b1649a923d986d89604267b79bbf', NULL, '绂昏亴瀹℃壒', 'hrm_resignation', 'hrm_resignation_approve', '2026-09-04 06:08:24.000', '2026-09-04 06:08:24.000', '1', '{"type":10,"formType":10,"sort":1788502104477.000,"visible":true}', 'dep_33d3b1649a923d986d89604267b79bbf', NULL, NULL, ''),
+('model_66ea9f27906591b4d0048d854c633a82', NULL, '璋冨姩瀹℃壒', 'hrm_transfer', 'hrm_transfer_approve', '2026-09-04 06:08:31.000', '2026-09-04 06:08:31.000', '1', '{"type":10,"formType":10,"sort":1788502111086.000,"visible":true}', 'dep_66ea9f27906591b4d0048d854c633a82', NULL, NULL, ''),
+('model_6e0f473d28c042b8b372d00797549423', NULL, '浠撳簱鍏ュ簱瀹℃壒', 'wms_inbound_approve', 'wms_approve', '2026-09-04 06:08:56.000', '2026-09-04 06:08:56.000', '1', '{"type":10,"formType":10,"sort":1788502136794.000,"visible":true}', 'dep_6e0f473d28c042b8b372d00797549423', NULL, NULL, ''),
+('model_862c6766e8cd1b32946a1ed2956a68bf', NULL, '璇峰亣瀹℃壒', 'hrm_leave', 'hrm_leave_approve', '2026-09-04 06:07:26.000', '2026-09-04 06:07:26.000', '1', '{"type":10,"formType":10,"sort":1788502046995.000,"visible":true}', 'dep_862c6766e8cd1b32946a1ed2956a68bf', NULL, NULL, ''),
+('model_9b3368e05f1d39dee636f464f2d65c16', NULL, '浠撳簱璋冩嫧瀹℃壒', 'wms_transfer_approve', 'wms_approve', '2026-09-04 06:09:10.000', '2026-09-04 06:09:10.000', '1', '{"type":10,"formType":10,"sort":1788502150287.000,"visible":true}', 'dep_9b3368e05f1d39dee636f464f2d65c16', NULL, NULL, ''),
+('model_b6e816103961b88392e4ac24c87dddf8', NULL, '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', 'supplier_apply_approve', '2026-09-04 06:08:50.000', '2026-09-04 06:08:50.000', '1', '{"type":10,"formType":10,"sort":1788502130293.000,"visible":true}', 'dep_b6e816103961b88392e4ac24c87dddf8', NULL, NULL, ''),
+('model_b9d15a0bc2b775bebb84987fb4b07cad', NULL, '閿�鍞鍗曞鎵�', 'sale_order_approve', 'sale_order_approve', '2026-09-04 06:06:43.000', '2026-09-04 06:06:43.000', '1', '{"type":10,"formType":10,"sort":1788502003324.000,"visible":true,"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":null,"managerUserIds":[],"startUserIds":[],"startDeptIds":[],"icon":null,"processBeforeTriggerSetting":null,"processAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"taskAfterTriggerSetting":null,"printTemplateSetting":null,"summarySetting":null,"titleSetting":null,"processIdRule":null}', 'dep_b9d15a0bc2b775bebb84987fb4b07cad', NULL, NULL, ''),
+('model_bed6796545faa2cb7851a019948e4e49', NULL, '浠撳簱鍑哄簱瀹℃壒', 'wms_outbound_approve', 'wms_approve', '2026-09-04 06:09:03.000', '2026-09-04 06:09:03.000', '1', '{"type":10,"formType":10,"sort":1788502143438.000,"visible":true}', 'dep_bed6796545faa2cb7851a019948e4e49', NULL, NULL, ''),
+('model_c16d0eef322695bed1c0c20e1d0190ce', NULL, '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', 'item_receipt_approve', '2026-09-04 06:09:17.000', '2026-09-04 06:09:17.000', '1', '{"type":10,"formType":10,"sort":1788502157420.000,"visible":true}', 'dep_c16d0eef322695bed1c0c20e1d0190ce', NULL, NULL, ''),
+('model_d1d2025350ea9af098ca7dbe6e80b442', NULL, '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', 'hrm_attendance_approve', '2026-09-04 06:08:38.000', '2026-09-04 06:08:38.000', '1', '{"type":10,"formType":10,"sort":1788502118154.000,"visible":true}', 'dep_d1d2025350ea9af098ca7dbe6e80b442', NULL, NULL, ''),
+('model_ecb89d4a54da3ae23601fef85642b0ce', NULL, '鍔犵彮瀹℃壒', 'hrm_overtime', 'overtime_approve', '2026-09-04 06:07:33.000', '2026-09-04 06:07:33.000', '1', '{"type":10,"formType":10,"sort":1788502053543.000,"visible":true}', 'dep_ecb89d4a54da3ae23601fef85642b0ce', NULL, NULL, ''),
+('model_febd13bedc800a97127ae1c042eb557b', NULL, '鍚堝悓瀹℃壒', 'crm-contract-audit', 'contract_approve', '2026-09-04 06:07:09.000', '2026-09-04 06:07:09.000', '1', '{"type":10,"formType":10,"sort":1788502029973.000,"visible":true,"allowCancelRunningProcess":true,"allowWithdrawTask":false,"autoApprovalType":0,"description":"","formCustomCreatePath":"","formCustomViewPath":"","formId":null,"managerUserIds":[],"startUserIds":[],"startDeptIds":[],"icon":null,"processBeforeTriggerSetting":null,"processAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"taskAfterTriggerSetting":null,"printTemplateSetting":null,"summarySetting":null,"titleSetting":null,"processIdRule":null}', 'dep_febd13bedc800a97127ae1c042eb557b', NULL, NULL, '');
+
+INSERT INTO `act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('a5892900-bb16-11f1-81f2-00155dd68500', '3', '鍏ヤ細瀹℃壒', 'ums_membership_approve', 'ums_membership_approve', '2026-09-28 16:28:56.610', '2026-09-28 16:28:57.434', '1', '{"allowCancelRunningProcess":null,"allowWithdrawTask":null,"autoApprovalType":null,"description":null,"formCustomCreatePath":"/ums/application/index","formCustomViewPath":"/ums/application/detail/approve/index.vue","formId":null,"formType":20,"icon":null,"managerUserIds":[1],"printTemplateSetting":null,"processAfterTriggerSetting":null,"processBeforeTriggerSetting":null,"processIdRule":null,"sort":1790584136609,"startDeptIds":null,"startUserIds":null,"summarySetting":null,"taskAfterTriggerSetting":null,"taskBeforeTriggerSetting":null,"titleSetting":null,"type":10,"visible":true}', 'a5ad52d2-bb16-11f1-81f2-00155dd68500', NULL, NULL, '');
+
+-- ============ 琛細bpm_process_definition_info锛堝鍑� 21 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_process_definition_info`;
+CREATE TABLE `bpm_process_definition_info` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹氫箟鐨勭紪鍙�',
+  `model_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼妯″瀷鐨勭紪鍙�',
+  `model_type` tinyint NOT NULL DEFAULT '10' COMMENT '娴佺▼妯″瀷鐨勭被鍨�',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼鍒嗙被鐨勭紪鐮�',
+  `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥炬爣',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `form_type` tinyint NOT NULL DEFAULT '10' COMMENT '琛ㄥ崟绫诲瀷锛�10鏅�氳〃鍗� 20鑷畾涔夎〃鍗曪級',
+  `form_id` bigint DEFAULT NULL COMMENT '鍔ㄦ�佽〃鍗曠紪鍙�',
+  `form_conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '琛ㄥ崟鐨勯厤缃�',
+  `form_fields` json DEFAULT NULL COMMENT '琛ㄥ崟椤圭殑鏁扮粍',
+  `form_custom_create_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鎻愪氦璺緞',
+  `form_custom_view_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鏌ョ湅璺緞',
+  `simple_model` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'SIMPLE 璁捐鍣ㄦā鍨嬫暟鎹�',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍙',
+  `sort` bigint NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `start_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧风敤鎴风紪鍙锋暟缁�',
+  `start_dept_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧烽儴闂ㄧ紪鍙锋暟缁�',
+  `manager_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙鐞嗙敤鎴风紪鍙锋暟缁�',
+  `allow_cancel_running_process` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽鎾ら攢瀹℃壒涓殑鐢宠',
+  `allow_withdraw_task` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽瀹℃壒浜烘挙鍥炰换鍔�',
+  `process_id_rule` json DEFAULT NULL COMMENT '娴佺▼ ID 瑙勫垯',
+  `auto_approval_type` tinyint DEFAULT NULL COMMENT '鑷姩鍘婚噸绫诲瀷',
+  `title_setting` json DEFAULT NULL COMMENT '鏍囬璁剧疆',
+  `summary_setting` json DEFAULT NULL COMMENT '鎽樿璁剧疆',
+  `process_before_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍓嶇疆閫氱煡璁剧疆',
+  `process_after_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍚庣疆閫氱煡璁剧疆',
+  `task_before_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍓嶇疆閫氱煡璁剧疆',
+  `task_after_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍚庣疆閫氱煡璁剧疆',
+  `print_template_setting` json DEFAULT NULL COMMENT '鑷畾涔夋墦鍗版ā鏉胯缃�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼瀹氫箟鎷撳睍淇℃伅琛�';
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('8', 'purchase_request_approve:3:d239e27d-74fe-11f1-9120-00155dd68500', '5ddab987-74f9-11f1-91b4-00155dd68500', '20', 'purchase_request_approve', NULL, '', '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"select\\"}"]', '', '', '{"buttonsSetting":[{"displayName":"鎻愪氦","enable":true,"id":1},{"displayName":"鎷掔粷","enable":false,"id":2},{"displayName":"杞姙","enable":false,"id":3},{"displayName":"濮旀淳","enable":false,"id":4},{"displayName":"鍔犵","enable":false,"id":5},{"displayName":"閫�鍥�","enable":false,"id":6}],"childNode":{"approveMethod":4,"approveType":1,"assignEmptyHandler":{"type":1,"userIds":null},"assignStartUserHandlerType":1,"buttonsSetting":[{"displayName":"閫氳繃","enable":true,"id":1},{"displayName":"鎷掔粷","enable":true,"id":2},{"displayName":"杞姙","enable":true,"id":3},{"displayName":"濮旀淳","enable":true,"id":4},{"displayName":"鍔犵","enable":true,"id":5},{"displayName":"閫�鍥�","enable":true,"id":6}],"candidateParam":"142","candidateStrategy":30,"childNode":{"id":"EndEvent","name":"缁撴潫","type":1},"fieldsPermission":[{"field":"Fyqymqqdoln2abc","title":"濮撳悕","permission":"1"},{"field":"Fh6gmqqdooy5aec","title":"骞撮緞","permission":"1"},{"field":"F5mrmqqdutnnabc","title":"閫夋嫨鍣�","permission":"1"}],"id":"Activity__69663778421782877292716","name":"瀹℃壒浜�","reasonRequire":false,"rejectHandler":{"returnNodeId":null,"type":1},"showText":"鎸囧畾鎴愬憳锛歵est01","signEnable":false,"skipExpression":"","taskAssignListener":{"body":[],"enable":false,"header":[],"path":null},"taskCompleteListener":{"body":[],"enable":false,"header":[],"path":null},"taskCreateListener":{"body":[],"enable":false,"header":[],"path":null},"timeoutHandler":{"enable":false,"maxRemindCount":null,"timeDuration":null,"type":null},"type":11},"fieldsPermission":[{"field":"Fyqymqqdoln2abc","title":"濮撳悕","permission":"2"},{"field":"Fh6gmqqdooy5aec","title":"骞撮緞","permission":"2"},{"field":"F5mrmqqdutnnabc","title":"閫夋嫨鍣�","permission":"2"}],"id":"StartUserNode","name":"鍙戣捣浜�","showText":"宸茶缃�","type":10}', X'01', '1782874979545', '', '', '142', X'01', X'00', '{"infix":"","enable":false,"length":5,"prefix":"","postfix":""}', '0', '{"title":"","enable":false}', '{"enable":false,"summary":[]}', NULL, NULL, NULL, NULL, '{"enable":false,"template":""}', '142', '2026-07-01 11:42:02', '142', '2026-07-01 11:42:02', X'00'),
+('15', 'crm-receivable-audit:1:7215184e-948c-11f1-9271-1ab6da3745b7', '23afd50c-8c89-11f1-8a27-00155dad6485', '10', '1111', NULL, '', '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', '', '', NULL, X'01', '1785465606228', '', '', '1', X'01', X'00', '{"infix":"","enable":false,"length":5,"prefix":"","postfix":""}', '0', '{"title":"","enable":false}', '{"enable":false,"summary":[]}', NULL, NULL, NULL, NULL, '{"enable":false,"template":""}', '1', '2026-07-31 10:40:16', '1', '2026-08-10 07:29:22', X'00'),
+('16', 'crm-invoice-audit:1:c101d3e0-0001-11f2-8a27-00155dad6485', 'c101d3e2-0001-11f2-8a27-00155dad6485', '10', 'crm_invoice_approve', NULL, NULL, '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', NULL, NULL, NULL, X'01', '1785465606228', NULL, NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-10 06:35:49', '1', '2026-08-10 06:42:48', X'00'),
+('17', 'erp-purchase-invoice-audit:1:0b7c7557949111f192711ab6da3745b7', '0b7c7577949111f192711ab6da3745b7', '10', 'erp_purchase_invoice_approve', NULL, NULL, '10', '1', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', NULL, NULL, NULL, X'01', '1785465606228', NULL, NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-10 07:57:25', '1', '2026-08-10 07:57:25', X'00'),
+('18', 'erp-finance-payment-audit:1:f1a1b2c3d4e5465f8a9b0c1d2e3f4a5b', 'f1a1b2c3d4e5465f8a9b0c1d2e3f4a5c', '10', 'erp_finance_payment_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1785465606228', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-10 09:36:01', '1', '2026-08-10 09:36:01', X'00'),
+('19', 'mes-pd-project-audit:1:ce99813cfeb29f270355dd39f8ef74f2', '44318b176050e94d2c4a86595763dde8', '10', 'mes_pd_project_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1786608755902', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-08-13 08:12:35', '1', '2026-08-13 08:12:35', X'00'),
+('26', 'sale_order_approve:1:dep_b9d15a0bc2b775bebb84987fb4b07cad', 'model_b9d15a0bc2b775bebb84987fb4b07cad', '10', 'sale_order_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502003364', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:06:43', '1', '2026-09-04 06:06:43', X'00'),
+('27', 'purchase_order_approve:1:dep_09ba42e32e7a436ee4e2a9b6eef0d232', 'model_09ba42e32e7a436ee4e2a9b6eef0d232', '10', 'purchase_order_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502021926', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:01', '1', '2026-09-04 06:07:01', X'00'),
+('28', 'crm-contract-audit:1:dep_febd13bedc800a97127ae1c042eb557b', 'model_febd13bedc800a97127ae1c042eb557b', '10', 'contract_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502030005', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:10', '1', '2026-09-04 06:07:10', X'00'),
+('29', 'hrm_leave:1:dep_862c6766e8cd1b32946a1ed2956a68bf', 'model_862c6766e8cd1b32946a1ed2956a68bf', '10', 'hrm_leave_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502047026', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:27', '1', '2026-09-04 06:07:27', X'00'),
+('30', 'hrm_overtime:1:dep_ecb89d4a54da3ae23601fef85642b0ce', 'model_ecb89d4a54da3ae23601fef85642b0ce', '10', 'overtime_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502053580', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:07:33', '1', '2026-09-04 06:07:33', X'00'),
+('31', 'hrm_resignation:1:dep_33d3b1649a923d986d89604267b79bbf', 'model_33d3b1649a923d986d89604267b79bbf', '10', 'hrm_resignation_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502104511', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:24', '1', '2026-09-04 06:08:24', X'00'),
+('32', 'hrm_transfer:1:dep_66ea9f27906591b4d0048d854c633a82', 'model_66ea9f27906591b4d0048d854c633a82', '10', 'hrm_transfer_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502111121', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:31', '1', '2026-09-04 06:08:31', X'00'),
+('33', 'hrm_attendance_approve:1:dep_d1d2025350ea9af098ca7dbe6e80b442', 'model_d1d2025350ea9af098ca7dbe6e80b442', '10', 'hrm_attendance_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502118186', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:38', '1', '2026-09-04 06:08:38', X'00'),
+('34', 'supplier_apply_approve:1:dep_b6e816103961b88392e4ac24c87dddf8', 'model_b6e816103961b88392e4ac24c87dddf8', '10', 'supplier_apply_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502130327', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:50', '1', '2026-09-04 06:08:50', X'00'),
+('35', 'wms_inbound_approve:1:dep_6e0f473d28c042b8b372d00797549423', 'model_6e0f473d28c042b8b372d00797549423', '10', 'wms_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502136828', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:08:56', '1', '2026-09-04 06:08:56', X'00'),
+('36', 'wms_outbound_approve:1:dep_bed6796545faa2cb7851a019948e4e49', 'model_bed6796545faa2cb7851a019948e4e49', '10', 'wms_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502143469', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:03', '1', '2026-09-04 06:09:03', X'00'),
+('37', 'wms_transfer_approve:1:dep_9b3368e05f1d39dee636f464f2d65c16', 'model_9b3368e05f1d39dee636f464f2d65c16', '10', 'wms_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502150320', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:10', '1', '2026-09-04 06:09:10', X'00'),
+('38', 'item_receipt_approve:1:dep_c16d0eef322695bed1c0c20e1d0190ce', 'model_c16d0eef322695bed1c0c20e1d0190ce', '10', 'item_receipt_approve', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502157451', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:17', '1', '2026-09-04 06:09:17', X'00'),
+('39', 'mes-pro-feedback-audit:1:dep_08349f78d675f582f1ff5f08e7714a8d', 'model_08349f78d675f582f1ff5f08e7714a8d', '10', 'mes_pro_feedback_audit', NULL, NULL, '10', NULL, NULL, NULL, NULL, NULL, NULL, X'01', '1788502164296', NULL, NULL, NULL, X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-04 06:09:24', '1', '2026-09-04 06:09:24', X'00');
+
+INSERT INTO `bpm_process_definition_info` (`id`, `process_definition_id`, `model_id`, `model_type`, `category`, `icon`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `simple_model`, `visible`, `sort`, `start_user_ids`, `start_dept_ids`, `manager_user_ids`, `allow_cancel_running_process`, `allow_withdraw_task`, `process_id_rule`, `auto_approval_type`, `title_setting`, `summary_setting`, `process_before_trigger_setting`, `process_after_trigger_setting`, `task_before_trigger_setting`, `task_after_trigger_setting`, `print_template_setting`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('40', 'ums_membership_approve:1:a5fd4795-bb16-11f1-81f2-00155dd68500', 'a5892900-bb16-11f1-81f2-00155dd68500', '10', 'ums_membership_approve', NULL, NULL, '20', NULL, NULL, NULL, '/ums/application/index', '/ums/application/detail/approve/index.vue', NULL, X'01', '1790584136609', '', NULL, '1', X'01', X'01', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-09-28 16:28:57', '1', '2026-09-28 16:28:57', X'00');
+
+-- ***********************************************************************
+-- 鈶� 鍗忓悓锛堜笟鍔¢檮浠堕厤缃� + 鍒嗙被 + 琛ㄥ崟 + 鎵╁睍閰嶇疆锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細bpm_business_attach锛堝鍑� 11 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_business_attach`;
+CREATE TABLE `bpm_business_attach` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹氫箟鐨� Key',
+  `business_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟绫诲瀷锛屼緥濡� erp_purchase_order',
+  `component_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟璇︽儏缁勪欢璺緞锛屼緥濡� /erp/purchase/order/detail/index.vue',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0寮�鍚� 1鍏抽棴锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `deleted` bit(1) NOT NULL DEFAULT b'0',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_process_definition_key` (`process_definition_key`,`deleted`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 涓氬姟闄勪欢閰嶇疆琛�';
+INSERT INTO `bpm_business_attach` (`id`, `process_definition_key`, `business_type`, `component_path`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', 'purchase_approve', 'erp_purchase_order', '/erp/purchase/order/detail/index.vue', '0', '閲囪喘璁㈠崟瀹℃壒灞曠ず閲囪喘璁㈠崟璇︽儏', '', '2026-08-14 06:11:59', '', '2026-08-14 06:11:59', X'00'),
+('2', 'purchase_request_approve', 'erp_purchase_request', '/erp/purchase/request/detail/index.vue', '0', '閲囪喘鐢宠瀹℃壒灞曠ず閲囪喘鐢宠璇︽儏', '', '2026-08-14 06:36:14', '1', '2026-08-14 15:06:16', X'00'),
+('3', 'contract_approve', 'crm_contract', '/crm/contract/detail/approve/index.vue', '0', '鍚堝悓瀹℃牳灞曠ず鍚堝悓璇︽儏', '', '2026-08-14 07:08:08', '', '2026-08-14 07:13:05', X'00'),
+('4', 'crm-invoice-audit', 'crm_invoice', '/crm/invoice/detail/approve/index.vue', '0', '寮�绁ㄥ鎵瑰睍绀哄紑绁ㄨ鎯�', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('5', 'crm-receivable-audit', 'crm_receivable', '/crm/receivable/detail/approve/index.vue', '0', '鍥炴瀹℃壒灞曠ず鍥炴璇︽儏', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('6', 'erp-finance-payment-audit', 'erp_finance_payment', '/erp/finance/payment/detail/approve/index.vue', '0', '浠樻瀹℃壒灞曠ず浠樻鍗曡鎯�', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('7', 'erp-purchase-invoice-audit', 'erp_purchase_invoice', '/erp/purchase/invoice/detail/approve/index.vue', '0', '鏉ョエ瀹℃壒灞曠ず鏉ョエ璇︽儏', '', '2026-08-14 07:22:40', '', '2026-08-14 07:22:40', X'00'),
+('8', 'hrm_leave', 'hrm_leave', '/hrm/leave/detail/approve/index.vue', '0', '璇峰亣瀹℃壒灞曠ず璇峰亣璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00'),
+('9', 'hrm_resignation', 'hrm_resignation', '/hrm/resignation/detail/approve/index.vue', '0', '绂昏亴瀹℃壒灞曠ず绂昏亴璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00'),
+('10', 'hrm_transfer', 'hrm_transfer', '/hrm/transfer/detail/approve/index.vue', '0', '璋冨矖瀹℃壒灞曠ず璋冨矖璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00'),
+('11', 'hrm_attendance_exception', 'hrm_attendance_exception', '/hrm/attendance/exception/detail/approve/index.vue', '0', '鑰冨嫟寮傚父瀹℃壒灞曠ず鑰冨嫟寮傚父璇︽儏', '', '2026-08-14 07:45:33', '', '2026-08-14 07:45:33', X'00');
+
+-- ============ 琛細bpm_category锛堝鍑� 24 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_category`;
+CREATE TABLE `bpm_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍒嗙被缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚�',
+  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鏍囧織',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍒嗙被鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鍒嗙被鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=216 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼鍒嗙被琛�';
+INSERT INTO `bpm_category` (`id`, `name`, `code`, `description`, `status`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '鍙戣揣瀹℃壒', '鍒嗙被1', '鍒嗙被1', '0', '1', '1', '2026-06-23 16:23:03', '1', '2026-07-08 13:36:20', X'00'),
+('2', '閲囪喘瀹℃牳', 'purchase_request_approve', NULL, '0', '2', '142', '2026-06-30 16:44:10', '142', '2026-07-01 11:02:23', X'00'),
+('3', '閿�鍞姤浠峰鎵�', 'sale_quotation_approve', NULL, '0', '3', '142', '2026-07-02 09:54:40', '142', '2026-07-02 09:54:40', X'00'),
+('4', '鍚堝悓瀹℃壒', 'contract_approve', '鍚堝悓瀹℃壒娴佺▼鍒嗙被', '0', '0', '1', '2026-07-02 03:34:03', '1', '2026-07-02 03:34:03', X'00'),
+('5', '浜哄姏璧勬簮', 'hrm', NULL, '0', '5', '1', '2026-07-06 13:13:03', '1', '2026-07-06 13:13:03', X'00'),
+('120', '浠撳簱瀹℃牳', 'wms_approve', '浠撳簱绠$悊瀹℃壒娴佺▼鍒嗙被', '0', '30', '1', '2026-07-09 02:25:58', '1', '2026-07-09 02:25:58', X'00'),
+('200', '鑰冨嫟寮傚父瀹℃壒', 'hrm_attendance_approve', 'HRM鑰冨嫟寮傚父瀹℃壒鍒嗙被', '0', '50', '1', '2026-07-08 02:05:39', '1', '2026-07-08 02:05:39', X'00'),
+('201', '璇峰亣瀹℃壒', '鍒嗙被2', '123123123', '0', '12', '1', '2026-07-08 13:56:23', '1', '2026-07-08 13:56:23', X'00'),
+('202', '閲囪喘鍏ュ簱瀹℃壒', 'item_receipt_approve', 'MES閲囪喘鍏ュ簱鍗曞鎵瑰垎绫�', '0', '0', '1', '2026-07-10 03:29:18', '1', '2026-07-10 03:29:18', X'00'),
+('203', '鍥炴瀹℃壒', '1111', '222', '0', '1', '1', '2026-07-31 10:38:55', '1', '2026-07-31 10:38:55', X'00'),
+('204', '寮�绁ㄥ鎵�', 'crm_invoice_approve', '寮�绁ㄥ鎵规祦绋嬪垎绫�', '0', '60', '1', '2026-08-10 06:34:18', '1', '2026-08-10 06:34:18', X'00'),
+('205', '鏉ョエ瀹℃壒', 'erp_purchase_invoice_approve', 'ERP閲囪喘鏉ョエ瀹℃壒鍒嗙被', '0', '70', '1', '2026-08-10 07:56:24', '1', '2026-08-10 07:56:24', X'00'),
+('206', '浠樻瀹℃牳', 'erp_finance_payment_approve', '浠樻鍗曞鎵�', '0', '80', '1', '2026-08-10 09:35:41', '1', '2026-08-10 09:35:41', X'00'),
+('207', '浜у搧椤圭洰瀹℃壒', 'mes_pd_project_approve', '浜у搧椤圭洰鏈�鍚庡鏍窧PM瀹℃壒', '0', '90', '1', '2026-08-13 08:12:13', '1', '2026-08-13 08:12:13', X'00'),
+('208', '渚涘簲鍟嗗噯鍏ュ鎵�', 'supplier_apply_approve', 'SRM渚涘簲鍟嗗噯鍏ョ敵璇峰鎵规祦绋嬪垎绫�', '0', '100', '1', '2026-09-02 08:30:00', '1', '2026-09-02 08:30:00', X'00'),
+('209', '閲囪喘璁㈠崟瀹℃壒', 'purchase_order_approve', 'ERP 閲囪喘璁㈠崟瀹℃壒', '0', '10', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('210', '閿�鍞鍗曞鎵�', 'sale_order_approve', 'ERP 閿�鍞鍗曞鎵�', '0', '20', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('211', '璇峰亣瀹℃壒', 'hrm_leave_approve', 'HRM 璇峰亣鐢宠瀹℃壒', '0', '30', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('212', '鍔犵彮瀹℃壒', 'overtime_approve', 'HRM 鍔犵彮鐢宠瀹℃壒', '0', '40', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('213', '绂昏亴瀹℃壒', 'hrm_resignation_approve', 'HRM 绂昏亴鐢宠瀹℃壒', '0', '50', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('214', '璋冨姩瀹℃壒', 'hrm_transfer_approve', 'HRM 璋冨姩鐢宠瀹℃壒', '0', '60', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('215', '鎶ュ伐瀹℃壒', 'mes_pro_feedback_audit', 'MES 鐢熶骇鎶ュ伐/宸ュ崟瀹℃壒', '0', '70', '1', '2026-09-04 06:05:04', '1', '2026-09-04 06:05:04', X'00'),
+('216', '鎶ラ攢瀹℃壒', 'finance_reimbursement_approve', NULL, '0', '0', '1', '2026-09-27 20:20:02', '', '2026-09-27 20:20:02', X'00'),
+('8001', '鍏ヤ細瀹℃壒', 'ums_membership_approve', '浼氬憳鍏ヤ細鐢宠涓ょ骇瀹℃壒锛堢涔﹀鍒濆鈫掔悊浜嬩細瀹¤锛�', '0', '1', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00');
+
+-- ============ 琛細bpm_form锛堝鍑� 4 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_form`;
+CREATE TABLE `bpm_form` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄥ崟鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄥ崟鐨勯厤缃�',
+  `fields` json NOT NULL COMMENT '琛ㄥ崟椤圭殑鏁扮粍',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 宸ヤ綔娴佽〃鍗曞畾涔夎〃';
+INSERT INTO `bpm_form` (`id`, `name`, `status`, `conf`, `fields`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '琛ㄥ崟1', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fyqymqqdoln2abc\\",\\"title\\":\\"濮撳悕\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fuplmqqdoln2acc\\",\\"name\\":\\"ref_F18omqqdoln2adc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"input\\",\\"field\\":\\"Fh6gmqqdooy5aec\\",\\"title\\":\\"骞撮緞\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F5whmqqdooy5afc\\",\\"name\\":\\"ref_Fltemqqdooy5agc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"select\\",\\"field\\":\\"F5mrmqqdutnnabc\\",\\"title\\":\\"閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"effect\\":{\\"fetch\\":\\"\\"},\\"$required\\":false,\\"options\\":[{\\"label\\":\\"閫夐」01\\",\\"value\\":\\"1\\"},{\\"label\\":\\"閫夐」02\\",\\"value\\":\\"2\\"},{\\"label\\":\\"閫夐」03\\",\\"value\\":\\"3\\"}],\\"_fc_id\\":\\"id_Fhnumqqdutnoacc\\",\\"name\\":\\"ref_Fd1wmqqdutnoadc\\",\\"_fc_drag_tag\\":\\"select\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"ApiSelect\\",\\"field\\":\\"dc4b501620bb4c8184aaaeb66398324a\\",\\"title\\":\\"鎺ュ彛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"method\\":\\"GET\\"},\\"_fc_id\\":\\"id_F6ewmrbn96xdc3c\\",\\"name\\":\\"ref_F1jomrbn96xdc4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"ApiSelect\\"}"]', NULL, '1', '2026-06-23 16:24:37', '1', '2026-07-08 13:35:39', X'00'),
+('2', '璇峰亣琛ㄥ崟', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"DeptSelect\\",\\"field\\":\\"ce674cb3f7604c5da893b347bf1ff855\\",\\"title\\":\\"閮ㄩ棬閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"returnType\\":\\"id\\",\\"defaultCurrentDept\\":false},\\"_fc_id\\":\\"id_Fgcgmrbnv9c4cbc\\",\\"name\\":\\"ref_F7c0mrbnv9c4ccc\\",\\"_fc_drag_tag\\":\\"DeptSelect\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"UserSelect\\",\\"field\\":\\"6ada8f47c5ad483ca7e2a15da2d922d1\\",\\"title\\":\\"鐢ㄦ埛閫夋嫨鍣╘\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"defaultCurrentUser\\":false},\\"_fc_id\\":\\"id_F0pdmrbnvboxcdc\\",\\"name\\":\\"ref_F6pamrbnvboxcec\\",\\"_fc_drag_tag\\":\\"UserSelect\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"datePicker\\",\\"field\\":\\"Fio0ms5fmwwnabc\\",\\"title\\":\\"寮�濮嬫棩鏈焅\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"showTime\\":true},\\"_fc_id\\":\\"id_F28vms5fmwwnacc\\",\\"name\\":\\"ref_Fhufms5fmwwnadc\\",\\"_fc_drag_tag\\":\\"datePicker\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"datePicker\\",\\"field\\":\\"Fpn0ms5fmyb4aec\\",\\"title\\":\\"缁撴潫鏃ユ湡\\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"showTime\\":true},\\"_fc_id\\":\\"id_Fxrgms5fmyb4afc\\",\\"name\\":\\"ref_Fffoms5fmyb4agc\\",\\"_fc_drag_tag\\":\\"datePicker\\",\\"display\\":true,\\"hidden\\":false}","{\\"type\\":\\"inputNumber\\",\\"field\\":\\"F3n6ms5fwzqaaqc\\",\\"title\\":\\"璇峰亣澶╂暟\\",\\"info\\":\\"\\",\\"$required\\":true,\\"props\\":{\\"min\\":1},\\"_fc_id\\":\\"id_Fas0ms5fwzqbarc\\",\\"name\\":\\"ref_Fz1mms5fwzqbasc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"inputNumber\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"F1noms5fo0j5ahc\\",\\"title\\":\\"璇峰亣浜嬬敱\\",\\"info\\":\\"\\",\\"$required\\":true,\\"_fc_id\\":\\"id_Fybxms5fo0j5aic\\",\\"name\\":\\"ref_Fcv7ms5fo0j5ajc\\",\\"_fc_drag_tag\\":\\"input\\",\\"display\\":true,\\"hidden\\":false}"]', '1111', '1', '2026-07-08 13:54:31', '1', '2026-07-29 10:06:22', X'00'),
+('3', '渚涘簲鍟嗗噯鍏�', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"},"formName":"渚涘簲鍟嗗噯鍏�"}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Ftvpmtjte8y4abc\\",\\"title\\":\\"鍚嶇О\\",\\"info\\":\\"鍏徃鍚嶅瓧\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fgxsmtjte8y4acc\\",\\"name\\":\\"ref_Fu8smtjte8y4adc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fe4zmtjtepcyaec\\",\\"title\\":\\"鍏徃浠嬬粛\\",\\"info\\":\\"鍏徃绠�浠媆\",\\"$required\\":false,\\"props\\":{\\"type\\":\\"textarea\\"},\\"_fc_id\\":\\"id_Fapymtjtepcyafc\\",\\"name\\":\\"ref_Fofimtjtepcyagc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"textarea\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fxoumtjtfdmsahc\\",\\"title\\":\\"鐢佃瘽\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F430mtjtfdmsaic\\",\\"name\\":\\"ref_Fjpwmtjtfdmsajc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fs0kmtjtficsakc\\",\\"title\\":\\"娉曚汉鍚嶇О\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fwmbmtjtficsalc\\",\\"name\\":\\"ref_Fcr1mtjtficsamc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"F3m4mtjtfqiqanc\\",\\"title\\":\\"鍏徃璐熻矗浜鸿仈绯绘柟寮廫\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fgh9mtjtfqiqaoc\\",\\"name\\":\\"ref_Fs96mtjtfqiqapc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}"]', NULL, '1', '2026-09-02 16:08:31', '1', '2026-09-02 16:08:31', X'00'),
+('4', '閲囪喘琛ㄥ崟', '0', '{"form":{"layout":"horizontal","labelAlign":"right","size":"middle","colon":false,"labelCol":{"style":{"width":"125px"}},"wrapperCol":{"span":24},"labelWidth":"100px"},"resetBtn":{"show":false,"innerText":"閲嶇疆"},"submitBtn":{"show":true,"innerText":"鎻愪氦"}}', '["{\\"type\\":\\"input\\",\\"field\\":\\"Fr9umtk0jqtyabc\\",\\"title\\":\\"閲囪喘鍗曞彿\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fqzrmtk0jqtzacc\\",\\"name\\":\\"ref_Fk3emtk0jqtzadc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"F5vrmtk0kaowaec\\",\\"title\\":\\"閲囪喘閮ㄩ棬\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F0qwmtk0kaowafc\\",\\"name\\":\\"ref_Fxpfmtk0kaowagc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"timePicker\\",\\"field\\":\\"Faoymtk0kvopahc\\",\\"title\\":\\"閲囪喘鏃堕棿\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fhmemtk0kvopaic\\",\\"name\\":\\"ref_Fa30mtk0kvopajc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"timePicker\\"}","{\\"type\\":\\"timePicker\\",\\"field\\":\\"Fseemtk0l4kpakc\\",\\"title\\":\\"鍒拌揣鏃堕棿\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_F4dfmtk0l4kpalc\\",\\"name\\":\\"ref_F3jqmtk0l4kpamc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"timePicker\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fjeimtk0lyj1awc\\",\\"title\\":\\"閲囪喘鏁伴噺\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fcs1mtk0lyj1axc\\",\\"name\\":\\"ref_Fx89mtk0lyj1ayc\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Fizgmtk0lz00azc\\",\\"title\\":\\"閲囪喘鍗曚环\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fklomtk0lz01b0c\\",\\"name\\":\\"ref_Fz4smtk0lz01b1c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Feejmtk0lzgmb2c\\",\\"title\\":\\"閲囪喘鎬讳环\\",\\"info\\":\\"\\",\\"$required\\":false,\\"_fc_id\\":\\"id_Fgpumtk0lzgmb3c\\",\\"name\\":\\"ref_Ffaomtk0lzgmb4c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"input\\"}","{\\"type\\":\\"input\\",\\"field\\":\\"Feo7mtk0m9sab5c\\",\\"title\\":\\"閲囪喘鏄庣粏\\",\\"info\\":\\"\\",\\"$required\\":false,\\"props\\":{\\"type\\":\\"textarea\\"},\\"_fc_id\\":\\"id_Fht3mtk0m9sab6c\\",\\"name\\":\\"ref_Fwwpmtk0m9sab7c\\",\\"display\\":true,\\"hidden\\":false,\\"_fc_drag_tag\\":\\"textarea\\"}"]', NULL, '1', '2026-09-02 19:30:15', '1', '2026-09-02 19:30:15', X'00');
+
+-- ============ 琛細bpm_user_group锛堝鍑� 3 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_user_group`;
+CREATE TABLE `bpm_user_group` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '缁勫悕',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `user_ids` json NOT NULL COMMENT '鎴愬憳鐢ㄦ埛缂栧彿鏁扮粍',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 鐢ㄦ埛缁勮〃';
+INSERT INTO `bpm_user_group` (`id`, `name`, `description`, `status`, `user_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '缁�1', NULL, '0', '[1,113,115,100]', '1', '2026-06-23 16:27:37', '1', '2026-08-06 16:51:20', X'00'),
+('2', '缁忚惀缁�', NULL, '0', '[247]', '1', '2026-09-02 15:58:35', '1', '2026-09-02 15:58:35', X'00'),
+('3', '缁忚惀閮�', NULL, '0', '[1,247,233]', '1', '2026-09-02 19:26:22', '1', '2026-09-03 13:37:13', X'00');
+
+-- ============ 琛細bpm_process_listener锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_process_listener`;
+CREATE TABLE `bpm_process_listener` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭 ID',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐩戝惉鍣ㄥ悕瀛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐩戝惉绫诲瀷锛坋xecution鎵ц鐩戝惉鍣ㄣ�乼ask浠诲姟鐩戝惉鍣級',
+  `event` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐩戝惉浜嬩欢',
+  `value_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍊肩被鍨嬶紙class绫汇�乨elegateExpression濮旀墭琛ㄨ揪寮忋�乪xpression琛ㄨ揪寮忥級',
+  `value` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍊�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼鐩戝惉鍣ㄨ〃';
+INSERT INTO `bpm_process_listener` (`id`, `name`, `status`, `type`, `event`, `value_type`, `value`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '娴嬭瘯鐩戝惉鍣�', '0', 'task', 'create', 'class', 'org.flowable.engine.delegate.TaskListener', '1', '2026-07-08 13:43:00', '1', '2026-07-08 13:43:00', X'00');
+
+-- ============ 琛細bpm_process_expression锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `bpm_process_expression`;
+CREATE TABLE `bpm_process_expression` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄨ揪寮忓悕瀛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '琛ㄨ揪寮忕姸鎬侊紙0姝e父 1鍋滅敤锛�',
+  `expression` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄨ揪寮�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BPM 娴佺▼琛ㄨ揪寮忚〃';
+INSERT INTO `bpm_process_expression` (`id`, `name`, `status`, `expression`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '閰掓硥', '0', '鐜板湪鎵�', '1', '2026-06-23 16:25:59', '1', '2026-06-23 16:25:59', X'00');
+
+-- ***********************************************************************
+-- 鈶� BI 鍐崇瓥澶у睆 / go-view锛圖DL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細bi_dashboard锛堝鍑� 5 琛岋級 ============
+DROP TABLE IF EXISTS `bi_dashboard`;
+CREATE TABLE `bi_dashboard` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠〃鐩樺悕绉�',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠〃鐩樼紪鐮侊紙鍞竴鏍囪瘑锛�',
+  `group_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎵�灞炲垎缁勶細purchase_sales/warehouse/production_equipment/quality/hr_oa',
+  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥炬爣',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細0-绂佺敤 1-鍚敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_group_code` (`group_code`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BI浠〃鐩樺畾涔夎〃';
+INSERT INTO `bi_dashboard` (`id`, `name`, `code`, `group_code`, `icon`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '閲囪喘閿�鍞敭鍚庡ぇ灞�', 'purchase_sales', 'purchase_sales', 'ep:trend-charts', '1', '1', '閲囪喘銆侀攢鍞�佸敭鍚庝笟鍔℃瑙�', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('2', '浠撳簱澶у睆', 'warehouse', 'warehouse', 'ep:warehouse', '2', '1', '浠撳偍鐗╂祦涓氬姟姒傝', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('3', '鐢熶骇璁惧澶у睆', 'production_equipment', 'production_equipment', 'ep:set-up', '3', '1', '鐢熶骇绠℃帶銆佽澶囩鐞嗕笟鍔℃瑙�', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('4', '璐ㄩ噺澶у睆', 'quality', 'quality', 'ep:circle-check', '4', '1', '璐ㄩ噺绠$悊涓氬姟姒傝', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00'),
+('5', '浜鸿祫鍔炲叕澶у睆', 'hr_oa', 'hr_oa', 'ep:office-building', '5', '1', '浜哄姏璧勬簮銆佸崗鍚屽姙鍏笟鍔℃瑙�', '1', '2026-08-05 06:24:55', '1', '2026-08-05 06:24:55', X'00');
+
+-- ============ 琛細bi_chart_config锛堝鍑� 36 琛岋級 ============
+DROP TABLE IF EXISTS `bi_chart_config`;
+CREATE TABLE `bi_chart_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `dashboard_id` bigint NOT NULL COMMENT '鎵�灞炰华琛ㄧ洏ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍥捐〃鍚嶇О',
+  `chart_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍥捐〃绫诲瀷锛歜ar/line/pie/scatter/gauge/table/number',
+  `data_source_id` bigint DEFAULT NULL COMMENT '鏁版嵁婧愰厤缃甀D',
+  `query_sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鏌ヨSQL锛堟敮鎸� {{param}} 鍗犱綅绗︼級',
+  `position` json DEFAULT NULL COMMENT '甯冨眬浣嶇疆 {x, y, w, h}',
+  `chart_options` json DEFAULT NULL COMMENT 'ECharts 閰嶇疆椤硅鐩�',
+  `refresh_interval` int NOT NULL DEFAULT '0' COMMENT '鍒锋柊闂撮殧锛堢锛夛紝0琛ㄧず涓嶈嚜鍔ㄥ埛鏂�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細0-绂佺敤 1-鍚敤',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_dashboard_id` (`dashboard_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BI鍥捐〃閰嶇疆琛�';
+INSERT INTO `bi_chart_config` (`id`, `dashboard_id`, `name`, `chart_type`, `data_source_id`, `query_sql`, `position`, `chart_options`, `refresh_interval`, `sort`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '1', '閲囪喘璁㈠崟鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM erp_purchase_order WHERE deleted = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '10', '1', '1', '1', '2026-08-05 07:07:40', '142', '2026-08-05 17:42:42', X'00'),
+('2', '1', '閿�鍞鍗曟�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM erp_sale_order WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:07:47', '1', '2026-08-05 07:07:47', X'00'),
+('3', '1', '瀹㈡埛鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM crm_customer WHERE deleted = 0', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:07:47', '1', '2026-08-05 07:07:47', X'00'),
+('4', '1', '渚涘簲鍟嗘�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM erp_supplier WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:07:47', '1', '2026-08-05 07:07:47', X'00'),
+('5', '1', '閲囪喘璁㈠崟鏈堝害瓒嬪娍', 'bar', NULL, 'SELECT DATE_FORMAT(order_time, \'%Y-%m\') AS name, COUNT(*) AS value FROM erp_purchase_order WHERE deleted = 0 AND order_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(order_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":7,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('6', '1', '閿�鍞鍗曟湀搴﹁秼鍔�', 'line', NULL, 'SELECT DATE_FORMAT(order_time, \'%Y-%m\') AS name, COUNT(*) AS value FROM erp_sale_order WHERE deleted = 0 AND order_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(order_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":5,"x":7,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('7', '1', '閲囪喘璁㈠崟鐘舵�佸垎甯�', 'pie', NULL, 'SELECT CASE status WHEN 0 THEN \'寰呭鎵筡' WHEN 1 THEN \'瀹℃壒涓璡' WHEN 2 THEN \'宸查�氳繃\' WHEN 3 THEN \'宸查┏鍥瀄' WHEN 4 THEN \'宸插叧闂璡' ELSE \'鏈煡\' END AS name, COUNT(*) AS value FROM erp_purchase_order WHERE deleted = 0 GROUP BY status', '{"h":8,"w":5,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('8', '1', '鏈�杩戦噰璐鍗�', 'table', NULL, 'SELECT no AS 璁㈠崟鍙�, total_price AS 閲戦, order_time AS 涓嬪崟鏃堕棿 FROM erp_purchase_order WHERE deleted = 0 ORDER BY order_time DESC LIMIT 10', '{"h":8,"w":7,"x":5,"y":12}', NULL, '0', '8', '1', '1', '2026-08-05 07:07:58', '1', '2026-08-05 07:07:58', X'00'),
+('9', '2', '浠撳簱鏁伴噺', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_warehouse WHERE deleted = 0 AND frozen = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('10', '2', '鐗╂枡搴撳瓨鍝佺鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_material_stock WHERE deleted = 0 AND quantity > 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('11', '2', '鍒拌揣閫氱煡鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_arrival_notice WHERE deleted = 0', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('12', '2', '鍑鸿揣閫氱煡鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_wm_sales_notice WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:08:31', '1', '2026-08-05 07:08:31', X'00'),
+('13', '2', '鍚勪粨搴撳簱瀛橀噺', 'bar', NULL, 'SELECT w.name, COALESCE(SUM(s.quantity), 0) AS value FROM mes_wm_warehouse w LEFT JOIN mes_wm_material_stock s ON w.id = s.warehouse_id AND s.deleted = 0 WHERE w.deleted = 0 GROUP BY w.id, w.name', '{"h":8,"w":7,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:08:46', '1', '2026-08-05 07:08:46', X'00'),
+('14', '2', '鍑哄叆搴撹秼鍔�', 'line', NULL, 'SELECT DATE_FORMAT(transaction_time, \'%Y-%m\') AS name, SUM(CASE WHEN type = 1 THEN quantity ELSE 0 END) AS \'鍏ュ簱\', SUM(CASE WHEN type = 2 THEN quantity ELSE 0 END) AS \'鍑哄簱\' FROM mes_wm_transaction WHERE deleted = 0 AND transaction_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(transaction_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":5,"x":7,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:08:47', '1', '2026-08-05 07:09:25', X'00'),
+('15', '2', '鏈�杩戝叆搴撹褰�', 'table', NULL, 'SELECT code AS 鍗曞彿, name AS 鍚嶇О, receipt_date AS 鍏ュ簱鏃ユ湡 FROM mes_wm_item_receipt WHERE deleted = 0 ORDER BY create_time DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:08:47', '1', '2026-08-05 07:09:11', X'00'),
+('16', '3', '宸ュ崟鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_pro_work_order WHERE deleted = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('17', '3', '璁惧鎬绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_dv_machinery WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('18', '3', '鏈湀鎶ュ伐鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_pro_feedback WHERE deleted = 0 AND MONTH(feedback_time) = MONTH(NOW()) AND YEAR(feedback_time) = YEAR(NOW())', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('19', '3', '宸ュ崟瀹屾垚鐜�', 'gauge', NULL, 'SELECT ROUND(SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 1) AS value FROM mes_pro_work_order WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:09:49', '1', '2026-08-05 07:09:49', X'00'),
+('20', '3', '宸ュ崟鐘舵�佸垎甯�', 'bar', NULL, 'SELECT CASE status WHEN 0 THEN \'鑽夌\' WHEN 1 THEN \'瀹℃壒涓璡' WHEN 2 THEN \'宸蹭笅杈綷' WHEN 3 THEN \'宸插畬鎴怽' WHEN 4 THEN \'宸插彇娑圽' ELSE \'鏈煡\' END AS name, COUNT(*) AS value FROM mes_pro_work_order WHERE deleted = 0 GROUP BY status', '{"h":8,"w":6,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:10:04', '1', '2026-08-05 07:10:04', X'00'),
+('21', '3', '宸ュ崟绫诲瀷鍒嗗竷', 'pie', NULL, 'SELECT CASE type WHEN 1 THEN \'鐢熶骇宸ュ崟\' WHEN 2 THEN \'杩斿伐宸ュ崟\' WHEN 3 THEN \'鏀瑰埗宸ュ崟\' WHEN 4 THEN \'缁翠慨宸ュ崟\' ELSE \'鍏朵粬\' END AS name, COUNT(*) AS value FROM mes_pro_work_order WHERE deleted = 0 GROUP BY type', '{"h":8,"w":6,"x":6,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:10:04', '1', '2026-08-05 07:10:04', X'00'),
+('22', '3', '鏈�杩戝伐鍗曞垪琛�', 'table', NULL, 'SELECT code AS 宸ュ崟鍙�, name AS 宸ュ崟鍚嶇О, quantity AS 鐢熶骇鏁伴噺, request_date AS 闇�姹傛棩鏈� FROM mes_pro_work_order WHERE deleted = 0 ORDER BY create_time DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:10:04', '1', '2026-08-05 07:10:04', X'00'),
+('23', '4', '鏉ユ枡妫�楠屾�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_qc_iqc WHERE deleted = 0', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('24', '4', '鍒剁▼妫�楠屾�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_qc_ipqc WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('25', '4', '鍑鸿揣妫�楠屾�绘暟', 'number', NULL, 'SELECT COUNT(*) AS value FROM mes_qc_oqc WHERE deleted = 0', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('26', '4', '鏉ユ枡鍚堟牸鐜�', 'gauge', NULL, 'SELECT COALESCE(ROUND(SUM(qualified_quantity) * 100.0 / NULLIF(SUM(check_quantity), 0), 1), 0) AS value FROM mes_qc_iqc WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:10:25', '1', '2026-08-05 07:10:25', X'00'),
+('27', '4', '妫�楠岀被鍨嬪垎甯�', 'pie', NULL, 'SELECT \'鏉ユ枡妫�楠孿' AS name, COUNT(*) AS value FROM mes_qc_iqc WHERE deleted = 0 UNION ALL SELECT \'鍒剁▼妫�楠孿', COUNT(*) FROM mes_qc_ipqc WHERE deleted = 0 UNION ALL SELECT \'鍑鸿揣妫�楠孿', COUNT(*) FROM mes_qc_oqc WHERE deleted = 0', '{"h":8,"w":5,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:10:34', '1', '2026-08-05 07:10:34', X'00'),
+('28', '4', '鏈堝害妫�楠岃秼鍔�', 'bar', NULL, 'SELECT DATE_FORMAT(create_time, \'%Y-%m\') AS name, COUNT(*) AS value FROM (SELECT create_time FROM mes_qc_iqc WHERE deleted = 0 UNION ALL SELECT create_time FROM mes_qc_ipqc WHERE deleted = 0 UNION ALL SELECT create_time FROM mes_qc_oqc WHERE deleted = 0) t WHERE create_time >= DATE_SUB(NOW(), INTERVAL 12 MONTH) GROUP BY DATE_FORMAT(create_time, \'%Y-%m\') ORDER BY name', '{"h":8,"w":7,"x":5,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:10:34', '1', '2026-08-05 07:10:34', X'00'),
+('29', '4', '鏈�杩戞楠岃褰�', 'table', NULL, 'SELECT * FROM (SELECT \'鏉ユ枡妫�楠孿' AS 绫诲瀷, code AS 鍗曞彿, name AS 鍚嶇О, inspect_date AS 妫�楠屾棩鏈� FROM mes_qc_iqc WHERE deleted = 0 UNION ALL SELECT \'鍒剁▼妫�楠孿', code, name, create_time FROM mes_qc_ipqc WHERE deleted = 0 UNION ALL SELECT \'鍑鸿揣妫�楠孿', code, name, create_time FROM mes_qc_oqc WHERE deleted = 0) t ORDER BY 妫�楠屾棩鏈� DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:10:35', '1', '2026-08-05 07:10:43', X'00'),
+('30', '5', '鍦ㄨ亴鍛樺伐鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_employee WHERE deleted = 0 AND employee_status IN (1, 2)', '{"h":4,"w":3,"x":0,"y":0}', NULL, '0', '1', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('31', '5', '璇峰亣鐢宠鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_leave_application WHERE deleted = 0', '{"h":4,"w":3,"x":3,"y":0}', NULL, '0', '2', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('32', '5', '鏈湀绂昏亴鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_employee WHERE deleted = 0 AND employee_status = 3 AND MONTH(leave_date) = MONTH(NOW()) AND YEAR(leave_date) = YEAR(NOW())', '{"h":4,"w":3,"x":6,"y":0}', NULL, '0', '3', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('33', '5', '鑰冨嫟寮傚父鏁�', 'number', NULL, 'SELECT COUNT(*) AS value FROM hrm_attendance_exception WHERE deleted = 0', '{"h":4,"w":3,"x":9,"y":0}', NULL, '0', '4', '1', '1', '2026-08-05 07:10:59', '1', '2026-08-05 07:10:59', X'00'),
+('34', '5', '閮ㄩ棬浜烘暟鍒嗗竷', 'pie', NULL, 'SELECT d.name, COUNT(*) AS value FROM hrm_employee e JOIN system_dept d ON e.dept_id = d.id WHERE e.deleted = 0 AND e.employee_status IN (1, 2) AND d.deleted = 0 GROUP BY d.id, d.name', '{"h":8,"w":5,"x":0,"y":4}', NULL, '0', '5', '1', '1', '2026-08-05 07:11:07', '1', '2026-08-05 07:11:07', X'00'),
+('35', '5', '璇峰亣绫诲瀷鍒嗗竷', 'bar', NULL, 'SELECT CASE leave_type WHEN 1 THEN \'浜嬪亣\' WHEN 2 THEN \'鐥呭亣\' WHEN 3 THEN \'骞村亣\' WHEN 4 THEN \'濠氬亣\' WHEN 5 THEN \'浜у亣\' WHEN 6 THEN \'涓у亣\' ELSE \'鍏朵粬\' END AS name, COUNT(*) AS value FROM hrm_leave_application WHERE deleted = 0 GROUP BY leave_type', '{"h":8,"w":7,"x":5,"y":4}', NULL, '0', '6', '1', '1', '2026-08-05 07:11:07', '1', '2026-08-05 07:11:07', X'00'),
+('36', '5', '鏈�杩戝叆鑱屽憳宸�', 'table', NULL, 'SELECT employee_no AS 宸ュ彿, name AS 濮撳悕, hire_date AS 鍏ヨ亴鏃ユ湡 FROM hrm_employee WHERE deleted = 0 ORDER BY hire_date DESC LIMIT 10', '{"h":8,"w":12,"x":0,"y":12}', NULL, '0', '7', '1', '1', '2026-08-05 07:11:07', '1', '2026-08-05 07:11:07', X'00');
+
+-- ============ 琛細bi_data_source_config锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `bi_data_source_config`;
+CREATE TABLE `bi_data_source_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏁版嵁婧愬悕绉�',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'mysql' COMMENT '绫诲瀷锛歮ysql/api',
+  `config` json DEFAULT NULL COMMENT '杩炴帴閰嶇疆',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細0-绂佺敤 1-鍚敤',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='BI鏁版嵁婧愰厤缃〃';
+
+-- ============ 琛細bi_warehouse_coordinate锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `bi_warehouse_coordinate`;
+CREATE TABLE `bi_warehouse_coordinate` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '浠撳簱鍚嶇О',
+  `longitude` decimal(10,6) NOT NULL COMMENT '缁忓害',
+  `latitude` decimal(10,6) NOT NULL COMMENT '绾害',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='BI浠撳簱鍧愭爣閰嶇疆琛�';
+INSERT INTO `bi_warehouse_coordinate` (`id`, `name`, `longitude`, `latitude`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '铏氭嫙绾胯竟浠撳簱', '110.313100', '32.344400', '1', '1', '2026-08-31 16:06:11', '1', '2026-08-31 16:06:11', X'00');
+
+-- ============ 琛細report_go_view_project锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `report_go_view_project`;
+CREATE TABLE `report_go_view_project` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '椤圭洰鍚嶇О',
+  `pic_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰勮鍥剧墖 URL',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎶ヨ〃鍐呭锛圝SON 閰嶇疆锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戝竷鐘舵�侊細0-宸插彂甯冿紝1-鏈彂甯�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='GoView 椤圭洰琛�';
+
+-- ***********************************************************************
+-- 鈶� MES 缂栫爜瑙勫垯锛堝墧娴佹按璁板綍锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細mes_md_auto_code_rule锛堝鍑� 52 琛岋級 ============
+DROP TABLE IF EXISTS `mes_md_auto_code_rule`;
+CREATE TABLE `mes_md_auto_code_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯鍚嶇О',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `max_length` int DEFAULT NULL COMMENT '鏈�澶ч暱搴�',
+  `padded` bit(1) DEFAULT b'0' COMMENT '鏄惁琛ラ綈',
+  `padded_char` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ラ綈瀛楃',
+  `padded_method` int DEFAULT NULL COMMENT '琛ラ綈鏂瑰紡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂栫爜瑙勫垯';
+INSERT INTO `mes_md_auto_code_rule` (`id`, `code`, `name`, `description`, `max_length`, `padded`, `padded_char`, `padded_method`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', 'MD_ITEM_TYPE_CODE', '鐗╂枡鍒嗙被缂栫爜', '鐗╂枡鍒嗙被鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('2', 'MD_ITEM_CODE', '鐗╂枡缂栫爜', '鐗╂枡鑷姩缂栫爜', '16', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '103', '2026-07-16 16:17:45', X'00'),
+('3', 'MD_VENDOR_CODE', '渚涘簲鍟嗙紪鐮�', '渚涘簲鍟嗚嚜鍔ㄧ紪鐮�', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('4', 'MD_CLIENT_CODE', '瀹㈡埛缂栫爜', '瀹㈡埛鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('5', 'MD_WORKSTATION_CODE', '宸ヤ綔绔欑紪鐮�', '宸ヤ綔绔欒嚜鍔ㄧ紪鐮�', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('6', 'MD_WORKSHOP_CODE', '杞﹂棿缂栫爜', '杞﹂棿鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('7', 'TM_TOOL_TYPE_CODE', '宸ュ叿绫诲瀷缂栫爜', '宸ュ叿绫诲瀷鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('10', 'WM_WAREHOUSE_CODE', '浠撳簱缂栫爜', '浠撳簱鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('11', 'WM_LOCATION_CODE', '搴撳尯缂栫爜', '搴撳尯鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('12', 'WM_AREA_CODE', '搴撲綅缂栫爜', '搴撲綅鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('13', 'WM_ARRIVAL_NOTICE_CODE', '鍒拌揣閫氱煡鍗曠紪鐮�', '鍒拌揣閫氱煡鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('14', 'WM_ITEM_RECEIPT_CODE', '閲囪喘鍏ュ簱鍗曠紪鐮�', '閲囪喘鍏ュ簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('15', 'WM_RETURN_VENDOR_CODE', '閲囪喘閫�璐у崟缂栫爜', '閲囪喘閫�璐у崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('16', 'WM_RETURN_ISSUE_CODE', '鐢熶骇閫�鏂欏崟缂栫爜', '鐢熶骇閫�鏂欏崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('17', 'WM_SN_CODE', 'SN鐮�', 'SN鐮佽嚜鍔ㄧ紪鐮�', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('18', 'WM_PACKAGE_CODE', '瑁呯鍗曠紪鐮�', '瑁呯鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('19', 'WM_BATCH_CODE', '鎵规缂栫爜', '鎵规鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('20', 'WM_PRODUCT_SALES_CODE', '閿�鍞嚭搴撳崟缂栫爜', '閿�鍞嚭搴撳崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('21', 'WM_MISC_RECEIPT_CODE', '鏉傞」鍏ュ簱鍗曠紪鐮�', '鏉傞」鍏ュ簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('22', 'WM_MISC_ISSUE_CODE', '鏉傞」鍑哄簱鍗曠紪鐮�', '鏉傞」鍑哄簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('23', 'WM_STOCK_TAKING_PLAN_CODE', '鐩樼偣鏂规缂栫爜', '鐩樼偣鏂规鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('24', 'WM_STOCK_TAKING_CODE', '鐩樼偣浠诲姟缂栫爜', '鐩樼偣浠诲姟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('25', 'TRANSFER_CODE', '杞Щ璋冩嫧鍗曠紪鐮�', '杞Щ璋冩嫧鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('26', 'WM_OUTSOURCE_ISSUE_CODE', '澶栧崗鍙戞枡鍗曠紪鐮�', '澶栧崗鍙戞枡鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('27', 'WM_OUTSOURCE_RECEIPT_CODE', '澶栧崗鍏ュ簱鍗曠紪鐮�', '澶栧崗鍏ュ簱鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('28', 'WM_SALES_NOTICE_CODE', '鍙戣揣閫氱煡鍗曠紪鐮�', '鍙戣揣閫氱煡鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('29', 'WM_RETURN_SALES_CODE', '閿�鍞��璐у崟缂栫爜', '閿�鍞��璐у崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('30', 'PRO_WORK_ORDER_CODE', '鐢熶骇宸ュ崟缂栫爜', '鐢熶骇宸ュ崟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('31', 'PRO_TASK_CODE', '鐢熶骇浠诲姟缂栫爜', '鐢熶骇浠诲姟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('32', 'PRO_ROUTE_CODE', '宸ヨ壓璺嚎缂栫爜', '宸ヨ壓璺嚎鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('33', 'PRO_FEEDBACK_CODE', '鐢熶骇鎶ュ伐鍗曠紪鐮�', '鐢熶骇鎶ュ伐鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('40', 'QC_IQC_CODE', '鏉ユ枡妫�楠屽崟缂栫爜', '鏉ユ枡妫�楠屽崟鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('41', 'QC_IPQC_CODE', '杩囩▼妫�楠屽崟缂栫爜', '杩囩▼妫�楠屽崟鑷姩缂栫爜', '16', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('42', 'QC_OQC_CODE', '鍑鸿揣妫�楠屽崟缂栫爜', '鍑鸿揣妫�楠屽崟鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('43', 'QC_RQC_CODE', '閫�璐ф楠屽崟缂栫爜', '閫�璐ф楠屽崟鑷姩缂栫爜', '15', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('44', 'QC_DEFECT_CODE', '缂洪櫡绫诲瀷缂栫爜', '缂洪櫡绫诲瀷鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('45', 'QC_INDICATOR_RESULT_CODE', '鏍峰搧妫�楠岀粨鏋滅紪鐮�', '鏍峰搧妫�楠岀粨鏋滆嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('50', 'DV_MACHINERY_CODE', '璁惧缂栫爜', '璁惧鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('51', 'DV_MACHINERY_TYPE_CODE', '璁惧绫诲瀷缂栫爜', '璁惧绫诲瀷鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('52', 'DV_SUBJECT_CODE', '鐐规淇濆吇椤圭洰缂栫爜', '鐐规淇濆吇椤圭洰鑷姩缂栫爜', '6', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('53', 'DV_REPAIR_CODE', '缁翠慨鍗曠紪鐮�', '缁翠慨鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('60', 'PD_DOCUMENT_AUDIT_CODE', '璧勬枡瀹℃牳鍗曠紪鐮�', '璧勬枡瀹℃牳鍗曡嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('61', 'PD_ARCHIVE_CODE', '褰掓。鍙拌处缂栫爜', '褰掓。鍙拌处鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('62', 'PD_PROCESS_PARAM_CODE', '宸ヨ壓鍙傛暟缂栫爜', '宸ヨ壓鍙傛暟鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:15:29', X'00'),
+('63', 'PD_PROCESS_PARAM_TEMPLATE_CODE', '宸ヨ壓鍙傛暟妯℃澘缂栫爜', '宸ヨ壓鍙傛暟妯℃澘鑷姩缂栫爜', '14', X'01', '0', '1', '0', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 16:06:38', X'00'),
+('64', 'WM_PRODUCT_ISSUE_CODE', '棰嗘枡鍗�', NULL, '15', X'01', '0', '1', '0', NULL, '103', '2026-07-16 16:58:14', '103', '2026-07-16 16:59:03', X'00'),
+('65', 'MPS', '鐢熶骇涓昏鍒掔紪鐮�', '鐢熶骇涓昏鍒掕嚜鍔ㄧ紪鐮�', '14', X'01', '0', '1', '0', '', '1', '2026-07-17 05:17:30', '1', '2026-07-17 05:17:30', X'00'),
+('66', 'QC_INDICATOR_CODE', '璐ㄦ鎸囨爣缂栫爜', NULL, '12', X'01', '0', '1', '0', NULL, '1', '2026-07-17 14:31:46', '1', '2026-07-17 14:32:23', X'00'),
+('67', 'QC_TEMPLATE_CODE', '璐ㄦ鏂规缂栫爜', NULL, '11', X'01', '0', '1', '0', NULL, '1', '2026-07-17 14:36:35', '1', '2026-07-17 14:37:05', X'00'),
+('68', 'SALESNOTICE_CODE', '閿�鍞�氱煡缂栫爜', '閿�鍞�氱煡鑷姩缂栫爜', '20', X'01', '0', '1', '0', '', 'admin', '2026-07-17 07:36:53', 'admin', '2026-07-17 07:36:53', X'00'),
+('69', 'CAL_TEAM_CODE', '鐝粍缂栫爜瑙勫垯', '鐝粍缂栫爜瑙勫垯', '10', X'01', '0', '1', '0', NULL, '1', '2026-07-31 09:57:04', '1', '2026-07-31 09:57:36', X'00'),
+('70', 'CAL_PLAN_CODE', '鎺掔彮璁″垝', NULL, '14', X'01', '0', '1', '0', NULL, '1', '2026-07-31 09:59:32', '1', '2026-07-31 10:00:17', X'00');
+
+-- ============ 琛細mes_md_auto_code_part锛堝鍑� 145 琛岋級 ============
+DROP TABLE IF EXISTS `mes_md_auto_code_part`;
+CREATE TABLE `mes_md_auto_code_part` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `rule_id` bigint DEFAULT NULL COMMENT '瑙勫垯缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鍒嗘搴忓彿',
+  `type` int DEFAULT NULL COMMENT '鍒嗘绫诲瀷',
+  `length` int DEFAULT NULL COMMENT '鍒嗘闀垮害',
+  `date_format` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏃ユ湡鏍煎紡',
+  `fix_character` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥哄畾瀛楃',
+  `serial_start_no` int DEFAULT NULL COMMENT '娴佹按鍙疯捣濮嬪��',
+  `serial_step` int DEFAULT NULL COMMENT '娴佹按鍙锋闀�',
+  `cycle_flag` bit(1) DEFAULT b'0' COMMENT '娴佹按鍙锋槸鍚﹀惊鐜�',
+  `cycle_method` int DEFAULT NULL COMMENT '寰幆鏂瑰紡',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=478 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂栫爜瑙勫垯缁勬垚';
+INSERT INTO `mes_md_auto_code_part` (`id`, `rule_id`, `sort`, `type`, `length`, `date_format`, `fix_character`, `serial_start_no`, `serial_step`, `cycle_flag`, `cycle_method`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('333', '1', '1', '3', '3', NULL, 'IT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('334', '1', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('335', '2', '1', '3', '5', NULL, 'ITEM_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-16 08:06:12', '103', '2026-07-16 16:17:41', X'00'),
+('336', '2', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('337', '2', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('338', '3', '1', '3', '4', NULL, 'VND_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('339', '3', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('340', '3', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('341', '4', '1', '3', '4', NULL, 'CLT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('342', '4', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('343', '4', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('344', '5', '1', '3', '3', NULL, 'WS_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('345', '5', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('346', '6', '1', '3', '3', NULL, 'WP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('347', '6', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('348', '7', '1', '3', '3', NULL, 'TL_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('349', '7', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('350', '10', '1', '3', '3', NULL, 'WH_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('351', '10', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('352', '11', '1', '3', '3', NULL, 'LC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('353', '11', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('354', '12', '1', '3', '3', NULL, 'AR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('355', '12', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('356', '13', '1', '3', '3', NULL, 'AN_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('357', '13', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('358', '13', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('359', '14', '1', '3', '3', NULL, 'IR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('360', '14', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('361', '14', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('362', '15', '1', '3', '3', NULL, 'RV_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('363', '15', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('364', '15', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('365', '16', '1', '3', '3', NULL, 'RI_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('366', '16', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('367', '16', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('368', '17', '1', '3', '3', NULL, 'SN_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('369', '17', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('370', '17', '3', '4', '4', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('371', '18', '1', '3', '3', NULL, 'PK_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('372', '18', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('373', '18', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('374', '19', '1', '3', '3', NULL, 'BT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('375', '19', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('376', '19', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('377', '20', '1', '3', '3', NULL, 'SL_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('378', '20', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('379', '20', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('380', '21', '1', '3', '3', NULL, 'MI_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('381', '21', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('382', '21', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('383', '22', '1', '3', '3', NULL, 'MO_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('384', '22', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('385', '22', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('386', '23', '1', '3', '3', NULL, 'SP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('387', '23', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('388', '23', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('389', '24', '1', '3', '3', NULL, 'ST_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('390', '24', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('391', '24', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('392', '25', '1', '3', '3', NULL, 'TF_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('393', '25', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('394', '25', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('395', '26', '1', '3', '3', NULL, 'OI_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('396', '26', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('397', '26', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('398', '27', '1', '3', '3', NULL, 'OR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('399', '27', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('400', '27', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('401', '28', '1', '3', '3', NULL, 'SN_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('402', '28', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('403', '28', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('404', '29', '1', '3', '3', NULL, 'RS_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('405', '29', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('406', '29', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('407', '30', '1', '3', '3', NULL, 'WO_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('408', '30', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('409', '30', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('410', '31', '1', '3', '3', NULL, 'TK_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('411', '31', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('412', '31', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('413', '32', '1', '3', '3', NULL, 'RT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('414', '32', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('415', '32', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('416', '33', '1', '3', '3', NULL, 'FB_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('417', '33', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('418', '33', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('419', '40', '1', '3', '4', NULL, 'IQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('420', '40', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('421', '40', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('422', '41', '1', '3', '5', NULL, 'IPQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('423', '41', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('424', '41', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('425', '42', '1', '3', '4', NULL, 'OQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('426', '42', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('427', '42', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('428', '43', '1', '3', '4', NULL, 'RQC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('429', '43', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('430', '43', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('431', '44', '1', '3', '3', NULL, 'DF_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('432', '44', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('433', '45', '1', '3', '3', NULL, 'IR_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('434', '45', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('435', '45', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('436', '50', '1', '3', '3', NULL, 'MC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('437', '50', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('438', '50', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('439', '51', '1', '3', '3', NULL, 'MT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('440', '51', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('441', '52', '1', '3', '3', NULL, 'SJ_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('442', '52', '2', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('443', '53', '1', '3', '3', NULL, 'RP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('444', '53', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('445', '53', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('446', '60', '1', '3', '3', NULL, 'DA_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('447', '60', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('448', '60', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('449', '61', '1', '3', '3', NULL, 'AC_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('450', '61', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('451', '61', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('452', '62', '1', '3', '3', NULL, 'PP_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('453', '62', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('454', '62', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('455', '63', '1', '3', '3', NULL, 'PT_', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('456', '63', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('457', '63', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-16 08:06:12', '1', '2026-07-16 08:06:12', X'00'),
+('458', '64', '1', '3', '3', NULL, 'LWL', NULL, NULL, X'00', NULL, NULL, '103', '2026-07-16 16:58:38', '103', '2026-07-16 16:58:38', X'00'),
+('459', '64', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, X'00', NULL, NULL, '103', '2026-07-16 16:58:48', '103', '2026-07-16 16:58:48', X'00'),
+('460', '64', '3', '4', '4', NULL, NULL, '1', '1', X'01', '3', NULL, '103', '2026-07-16 16:58:57', '103', '2026-07-16 16:58:57', X'00'),
+('461', '65', '1', '3', '3', NULL, 'MPS', NULL, NULL, NULL, NULL, NULL, '1', '2026-07-17 05:18:27', '1', '2026-07-17 05:18:27', X'00'),
+('462', '65', '2', '2', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2026-07-17 05:18:27', '1', '2026-07-17 05:18:27', X'00'),
+('463', '65', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, '1', '2026-07-17 05:18:27', '1', '2026-07-17 05:18:27', X'00'),
+('464', '66', '1', '3', '4', NULL, 'IND_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:31:57', '1', '2026-07-17 14:31:57', X'00'),
+('465', '66', '2', '3', '4', NULL, 'CAR_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:32:07', '1', '2026-07-17 14:32:07', X'00'),
+('466', '66', '3', '4', '4', NULL, NULL, '5', '1', X'00', NULL, NULL, '1', '2026-07-17 14:32:22', '1', '2026-07-17 14:32:22', X'00'),
+('467', '67', '1', '3', '3', NULL, 'QC_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:36:45', '1', '2026-07-17 14:36:45', X'00'),
+('468', '67', '2', '3', '4', NULL, 'CAR_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-17 14:36:54', '1', '2026-07-17 14:36:54', X'00'),
+('469', '67', '3', '4', '4', NULL, NULL, '2', '1', X'00', NULL, NULL, '1', '2026-07-17 14:37:04', '1', '2026-07-17 14:37:04', X'00'),
+('470', '68', '1', '3', '3', NULL, 'XSTZ', NULL, NULL, NULL, NULL, NULL, 'admin', '2026-07-17 07:37:20', 'admin', '2026-07-17 07:37:20', X'00'),
+('471', '68', '2', '1', '8', 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, 'admin', '2026-07-17 07:37:20', 'admin', '2026-07-17 07:37:20', X'00'),
+('472', '68', '3', '4', '3', NULL, NULL, '1', '1', X'01', '3', NULL, 'admin', '2026-07-17 07:37:20', 'admin', '2026-07-17 07:37:20', X'00'),
+('473', '69', '1', '3', '5', NULL, 'TEAM_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-31 09:57:21', '1', '2026-07-31 09:57:21', X'00'),
+('474', '69', '2', '4', '5', NULL, NULL, '1', '1', X'00', NULL, NULL, '1', '2026-07-31 09:57:31', '1', '2026-07-31 09:57:31', X'00'),
+('475', '70', '1', '3', '3', NULL, 'PB_', NULL, NULL, X'00', NULL, NULL, '1', '2026-07-31 09:59:47', '1', '2026-07-31 09:59:47', X'00'),
+('476', '70', '2', '2', '6', 'yyyyMM', NULL, NULL, NULL, X'00', NULL, NULL, '1', '2026-07-31 10:00:03', '1', '2026-07-31 10:00:03', X'00'),
+('477', '70', '3', '4', '5', NULL, NULL, '1', '1', X'01', '2', NULL, '1', '2026-07-31 10:00:13', '1', '2026-07-31 10:00:13', X'00');
+
+-- ***********************************************************************
+-- 鈶� 绯荤粺閰嶇疆涓绘暟鎹紙瀛楀吀/绉熸埛/鍏徃閰嶇疆锛涘墧韬唤/鑿滃崟/鏃ュ織锛夛紙DDL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細system_dict_type锛堝鍑� 249 琛岋級 ============
+DROP TABLE IF EXISTS `system_dict_type`;
+CREATE TABLE `system_dict_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀛楀吀涓婚敭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀鍚嶇О',
+  `type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `deleted_time` datetime DEFAULT NULL COMMENT '鍒犻櫎鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1065306 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛楀吀绫诲瀷琛�';
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES
+('1', '鐢ㄦ埛鎬у埆', 'system_user_sex', '0', NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-05-16 20:29:32', X'00', NULL),
+('6', '鍙傛暟绫诲瀷', 'infra_config_type', '0', NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:36:54', X'00', NULL),
+('7', '閫氱煡绫诲瀷', 'system_notice_type', '0', NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:35:26', X'00', NULL),
+('9', '鎿嶄綔绫诲瀷', 'infra_operate_type', '0', NULL, 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:01', X'00', NULL),
+('10', '绯荤粺鐘舵��', 'common_status', '0', NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:21:28', X'00', NULL),
+('11', 'Boolean 鏄惁绫诲瀷', 'infra_boolean_string', '0', 'boolean 杞槸鍚�', '', '2021-01-19 03:20:08', '', '2022-02-01 16:37:10', X'00', NULL),
+('104', '鐧婚檰缁撴灉', 'system_login_result', '0', '鐧婚檰缁撴灉', '', '2021-01-18 06:17:11', '', '2022-02-01 16:36:00', X'00', NULL),
+('106', '浠g爜鐢熸垚妯℃澘绫诲瀷', 'infra_codegen_template_type', '0', NULL, '', '2021-02-05 07:08:06', '1', '2022-05-16 20:26:50', X'00', NULL),
+('107', '瀹氭椂浠诲姟鐘舵��', 'infra_job_status', '0', NULL, '', '2021-02-07 07:44:16', '', '2022-02-01 16:51:11', X'00', NULL),
+('108', '瀹氭椂浠诲姟鏃ュ織鐘舵��', 'infra_job_log_status', '0', NULL, '', '2021-02-08 10:03:51', '', '2022-02-01 16:50:43', X'00', NULL),
+('109', '鐢ㄦ埛绫诲瀷', 'user_type', '0', NULL, '', '2021-02-26 00:15:51', '', '2021-02-26 00:15:51', X'00', NULL),
+('110', 'API 寮傚父鏁版嵁鐨勫鐞嗙姸鎬�', 'infra_api_error_log_process_status', '0', NULL, '', '2021-02-26 07:07:01', '', '2022-02-01 16:50:53', X'00', NULL),
+('111', '鐭俊娓犻亾缂栫爜', 'system_sms_channel_code', '0', NULL, '1', '2021-04-05 01:04:50', '1', '2022-02-16 02:09:08', X'00', NULL),
+('112', '鐭俊妯℃澘鐨勭被鍨�', 'system_sms_template_type', '0', NULL, '1', '2021-04-05 21:50:43', '1', '2022-02-01 16:35:06', X'00', NULL),
+('113', '鐭俊鍙戦�佺姸鎬�', 'system_sms_send_status', '0', NULL, '1', '2021-04-11 20:18:03', '1', '2022-02-01 16:35:09', X'00', NULL),
+('114', '鐭俊鎺ユ敹鐘舵��', 'system_sms_receive_status', '0', NULL, '1', '2021-04-11 20:27:14', '1', '2022-02-01 16:35:14', X'00', NULL),
+('116', '鐧婚檰鏃ュ織鐨勭被鍨�', 'system_login_type', '0', '鐧婚檰鏃ュ織鐨勭被鍨�', '1', '2021-10-06 00:50:46', '1', '2022-02-01 16:35:56', X'00', NULL),
+('117', 'OA 璇峰亣绫诲瀷', 'bpm_oa_leave_type', '0', NULL, '1', '2021-09-21 22:34:33', '1', '2022-01-22 10:41:37', X'00', NULL),
+('130', '鏀粯娓犻亾缂栫爜绫诲瀷', 'pay_channel_code', '0', '鏀粯娓犻亾鐨勭紪鐮�', '1', '2021-12-03 10:35:08', '1', '2023-07-10 10:11:39', X'00', NULL),
+('131', '鏀粯鍥炶皟鐘舵��', 'pay_notify_status', '0', '鏀粯鍥炶皟鐘舵�侊紙鍖呮嫭閫�娆惧洖璋冿級', '1', '2021-12-03 10:53:29', '1', '2023-07-19 18:09:43', X'00', NULL),
+('132', '鏀粯璁㈠崟鐘舵��', 'pay_order_status', '0', '鏀粯璁㈠崟鐘舵��', '1', '2021-12-03 11:17:50', '1', '2021-12-03 11:17:50', X'00', NULL),
+('134', '閫�娆捐鍗曠姸鎬�', 'pay_refund_status', '0', '閫�娆捐鍗曠姸鎬�', '1', '2021-12-10 16:42:50', '1', '2023-07-19 10:13:17', X'00', NULL),
+('139', '娴佺▼瀹炰緥鐨勭姸鎬�', 'bpm_process_instance_status', '0', '娴佺▼瀹炰緥鐨勭姸鎬�', '1', '2022-01-07 23:46:42', '1', '2022-01-07 23:46:42', X'00', NULL),
+('140', '娴佺▼瀹炰緥鐨勭粨鏋�', 'bpm_task_status', '0', '娴佺▼瀹炰緥鐨勭粨鏋�', '1', '2022-01-07 23:48:10', '1', '2024-03-08 22:42:03', X'00', NULL),
+('141', '娴佺▼鐨勮〃鍗曠被鍨�', 'bpm_model_form_type', '0', '娴佺▼鐨勮〃鍗曠被鍨�', '103', '2022-01-11 23:50:45', '103', '2022-01-11 23:50:45', X'00', NULL),
+('142', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨�', 'bpm_task_candidate_strategy', '0', 'BPM 浠诲姟鐨勫�欓�変汉鐨勭瓥鐣�', '103', '2022-01-12 23:21:04', '103', '2024-03-06 02:53:59', X'00', NULL),
+('144', '浠g爜鐢熸垚鐨勫満鏅灇涓�', 'infra_codegen_scene', '0', '浠g爜鐢熸垚鐨勫満鏅灇涓�', '1', '2022-02-02 13:14:45', '1', '2022-03-10 16:33:46', X'00', NULL),
+('145', '瑙掕壊绫诲瀷', 'system_role_type', '0', '瑙掕壊绫诲瀷', '1', '2022-02-16 13:01:46', '1', '2022-02-16 13:01:46', X'00', NULL),
+('146', '鏂囦欢瀛樺偍鍣�', 'infra_file_storage', '0', '鏂囦欢瀛樺偍鍣�', '1', '2022-03-15 00:24:38', '1', '2022-03-15 00:24:38', X'00', NULL),
+('147', 'OAuth 2.0 鎺堟潈绫诲瀷', 'system_oauth2_grant_type', '0', 'OAuth 2.0 鎺堟潈绫诲瀷锛堟ā寮忥級', '1', '2022-05-12 00:20:52', '1', '2022-05-11 16:25:49', X'00', NULL),
+('149', '鍟嗗搧 SPU 鐘舵��', 'product_spu_status', '0', '鍟嗗搧 SPU 鐘舵��', '1', '2022-10-24 21:19:04', '1', '2022-10-24 21:19:08', X'00', NULL),
+('150', '浼樻儬绫诲瀷', 'promotion_discount_type', '0', '浼樻儬绫诲瀷', '1', '2022-11-01 12:46:06', '1', '2022-11-01 12:46:06', X'00', NULL),
+('151', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨�', 'promotion_coupon_template_validity_type', '0', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨�', '1', '2022-11-02 00:06:20', '1', '2022-11-04 00:08:26', X'00', NULL),
+('152', '钀ラ攢鐨勫晢鍝佽寖鍥�', 'promotion_product_scope', '0', '钀ラ攢鐨勫晢鍝佽寖鍥�', '1', '2022-11-02 00:28:01', '1', '2022-11-02 00:28:01', X'00', NULL),
+('153', '浼樻儬鍔电殑鐘舵��', 'promotion_coupon_status', '0', '浼樻儬鍔电殑鐘舵��', '1', '2022-11-04 00:14:49', '1', '2022-11-04 00:14:49', X'00', NULL),
+('154', '浼樻儬鍔电殑棰嗗彇鏂瑰紡', 'promotion_coupon_take_type', '0', '浼樻儬鍔电殑棰嗗彇鏂瑰紡', '1', '2022-11-04 19:12:27', '1', '2022-11-04 19:12:27', X'00', NULL),
+('155', '淇冮攢娲诲姩鐨勭姸鎬�', 'promotion_activity_status', '0', '淇冮攢娲诲姩鐨勭姸鎬�', '1', '2022-11-04 22:54:23', '1', '2022-11-04 22:54:23', X'00', NULL),
+('156', '钀ラ攢鐨勬潯浠剁被鍨�', 'promotion_condition_type', '0', '钀ラ攢鐨勬潯浠剁被鍨�', '1', '2022-11-04 22:59:23', '1', '2022-11-04 22:59:23', X'00', NULL),
+('157', '浜ゆ槗鍞悗鐘舵��', 'trade_after_sale_status', '0', '浜ゆ槗鍞悗鐘舵��', '1', '2022-11-19 20:52:56', '1', '2022-11-19 20:52:56', X'00', NULL),
+('158', '浜ゆ槗鍞悗鐨勭被鍨�', 'trade_after_sale_type', '0', '浜ゆ槗鍞悗鐨勭被鍨�', '1', '2022-11-19 21:04:09', '1', '2022-11-19 21:04:09', X'00', NULL),
+('159', '浜ゆ槗鍞悗鐨勬柟寮�', 'trade_after_sale_way', '0', '浜ゆ槗鍞悗鐨勬柟寮�', '1', '2022-11-19 21:39:04', '1', '2022-11-19 21:39:04', X'00', NULL),
+('160', '缁堢', 'terminal', '0', '缁堢', '1', '2022-12-10 10:50:50', '1', '2022-12-10 10:53:11', X'00', NULL),
+('161', '浜ゆ槗璁㈠崟鐨勭被鍨�', 'trade_order_type', '0', '浜ゆ槗璁㈠崟鐨勭被鍨�', '1', '2022-12-10 16:33:54', '1', '2022-12-10 16:33:54', X'00', NULL),
+('162', '浜ゆ槗璁㈠崟鐨勭姸鎬�', 'trade_order_status', '0', '浜ゆ槗璁㈠崟鐨勭姸鎬�', '1', '2022-12-10 16:48:44', '1', '2022-12-10 16:48:44', X'00', NULL),
+('163', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵��', 'trade_order_item_after_sale_status', '0', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵��', '1', '2022-12-10 20:58:08', '1', '2022-12-10 20:58:08', X'00', NULL),
+('164', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮�', 'mp_auto_reply_request_match', '0', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮�', '1', '2023-01-16 23:29:56', '1', '2023-01-16 23:29:56', X'00', '1970-01-01 00:00:00'),
+('165', '鍏紬鍙风殑娑堟伅绫诲瀷', 'mp_message_type', '0', '鍏紬鍙风殑娑堟伅绫诲瀷', '1', '2023-01-17 22:17:09', '1', '2023-01-17 22:17:09', X'00', '1970-01-01 00:00:00'),
+('166', '閭欢鍙戦�佺姸鎬�', 'system_mail_send_status', '0', '閭欢鍙戦�佺姸鎬�', '1', '2023-01-26 09:53:13', '1', '2023-01-26 09:53:13', X'00', '1970-01-01 00:00:00'),
+('167', '绔欏唴淇℃ā鐗堢殑绫诲瀷', 'system_notify_template_type', '0', '绔欏唴淇℃ā鐗堢殑绫诲瀷', '1', '2023-01-28 10:35:10', '1', '2023-01-28 10:35:10', X'00', '1970-01-01 00:00:00'),
+('168', '浠g爜鐢熸垚鐨勫墠绔被鍨�', 'infra_codegen_front_type', '0', '', '1', '2023-04-12 23:57:52', '1', '2023-04-12 23:57:52', X'00', '1970-01-01 00:00:00'),
+('170', '蹇�掕璐规柟寮�', 'trade_delivery_express_charge_mode', '0', '鐢ㄤ簬鍟嗗煄浜ゆ槗妯″潡閰嶉�佺鐞�', '1', '2023-05-21 22:45:03', '1', '2023-05-21 22:45:03', X'00', '1970-01-01 00:00:00'),
+('171', '绉垎涓氬姟绫诲瀷', 'member_point_biz_type', '0', '', '1', '2023-06-10 12:15:00', '1', '2023-06-28 13:48:20', X'00', '1970-01-01 00:00:00'),
+('173', '鏀粯閫氱煡绫诲瀷', 'pay_notify_type', '0', NULL, '1', '2023-07-20 12:23:03', '1', '2023-07-20 12:23:03', X'00', '1970-01-01 00:00:00'),
+('174', '浼氬憳缁忛獙涓氬姟绫诲瀷', 'member_experience_biz_type', '0', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00', NULL),
+('175', '浜ゆ槗閰嶉�佺被鍨�', 'trade_delivery_type', '0', '', '1', '2023-08-23 00:03:14', '1', '2023-08-23 00:03:14', X'00', '1970-01-01 00:00:00'),
+('176', '鍒嗕剑妯″紡', 'brokerage_enabled_condition', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('177', '鍒嗛攢鍏崇郴缁戝畾妯″紡', 'brokerage_bind_mode', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('178', '浣i噾鎻愮幇绫诲瀷', 'brokerage_withdraw_type', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('179', '浣i噾璁板綍涓氬姟绫诲瀷', 'brokerage_record_biz_type', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('180', '浣i噾璁板綍鐘舵��', 'brokerage_record_status', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('181', '浣i噾鎻愮幇鐘舵��', 'brokerage_withdraw_status', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('182', '浣i噾鎻愮幇閾惰', 'brokerage_bank_name', '0', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00', NULL),
+('183', '鐮嶄环璁板綍鐨勭姸鎬�', 'promotion_bargain_record_status', '0', '', '1', '2023-10-05 10:41:08', '1', '2023-10-05 10:41:08', X'00', '1970-01-01 00:00:00'),
+('184', '鎷煎洟璁板綍鐨勭姸鎬�', 'promotion_combination_record_status', '0', '', '1', '2023-10-08 07:24:25', '1', '2023-10-08 07:24:25', X'00', '1970-01-01 00:00:00'),
+('185', '鍥炴-鍥炴鏂瑰紡', 'crm_receivable_return_type', '0', '鍥炴-鍥炴鏂瑰紡', '1', '2023-10-18 21:54:10', '1', '2023-10-18 21:54:10', X'00', '1970-01-01 00:00:00'),
+('186', 'CRM 瀹㈡埛琛屼笟', 'crm_customer_industry', '0', 'CRM 瀹㈡埛鎵�灞炶涓�', '1', '2023-10-28 22:57:07', '1', '2024-02-18 23:30:22', X'00', NULL),
+('187', '瀹㈡埛绛夌骇', 'crm_customer_level', '0', 'CRM 瀹㈡埛绛夌骇', '1', '2023-10-28 22:59:12', '1', '2023-10-28 15:11:16', X'00', NULL),
+('188', '瀹㈡埛鏉ユ簮', 'crm_customer_source', '0', 'CRM 瀹㈡埛鏉ユ簮', '1', '2023-10-28 23:00:34', '1', '2023-10-28 15:11:16', X'00', NULL),
+('600', 'Banner 浣嶇疆', 'promotion_banner_position', '0', '', '1', '2023-10-08 07:24:25', '1', '2023-11-04 13:04:02', X'00', '1970-01-01 00:00:00'),
+('601', '绀句氦绫诲瀷', 'system_social_type', '0', '', '1', '2023-11-04 13:03:54', '1', '2023-11-04 13:03:54', X'00', '1970-01-01 00:00:00'),
+('604', '浜у搧鐘舵��', 'crm_product_status', '0', '', '1', '2023-10-30 21:47:59', '1', '2023-10-30 21:48:45', X'00', '1970-01-01 00:00:00'),
+('605', 'CRM 鏁版嵁鏉冮檺鐨勭骇鍒�', 'crm_permission_level', '0', '', '1', '2023-11-30 09:51:59', '1', '2023-11-30 09:51:59', X'00', '1970-01-01 00:00:00'),
+('606', 'CRM 瀹℃壒鐘舵��', 'crm_audit_status', '0', '', '1', '2023-11-30 18:56:23', '1', '2023-11-30 18:56:23', X'00', '1970-01-01 00:00:00'),
+('607', 'CRM 浜у搧鍗曚綅', 'crm_product_unit', '0', '', '1', '2023-12-05 23:01:51', '1', '2023-12-05 23:01:51', X'00', '1970-01-01 00:00:00'),
+('608', 'CRM 璺熻繘鏂瑰紡', 'crm_follow_up_type', '0', '', '1', '2024-01-15 20:48:05', '1', '2024-01-15 20:48:05', X'00', '1970-01-01 00:00:00'),
+('610', '杞处璁㈠崟鐘舵��', 'pay_transfer_status', '0', '', '1', '2023-10-28 16:18:32', '1', '2023-10-28 16:18:32', X'00', '1970-01-01 00:00:00'),
+('611', 'ERP 搴撳瓨鏄庣粏鐨勪笟鍔$被鍨�', 'erp_stock_record_biz_type', '0', 'ERP 搴撳瓨鏄庣粏鐨勪笟鍔$被鍨�', '1', '2024-02-05 18:07:02', '1', '2024-02-05 18:07:02', X'00', '1970-01-01 00:00:00'),
+('612', 'ERP 瀹℃壒鐘舵��', 'erp_audit_status', '0', '', '1', '2024-02-06 00:00:07', '1', '2024-02-06 00:00:07', X'00', '1970-01-01 00:00:00'),
+('613', 'BPM 鐩戝惉鍣ㄧ被鍨�', 'bpm_process_listener_type', '0', '', '1', '2024-03-23 12:52:24', '1', '2024-03-09 15:54:28', X'00', '1970-01-01 00:00:00'),
+('615', 'BPM 鐩戝惉鍣ㄥ�肩被鍨�', 'bpm_process_listener_value_type', '0', '', '1', '2024-03-23 13:00:31', '1', '2024-03-23 13:00:31', X'00', '1970-01-01 00:00:00'),
+('616', '鏃堕棿闂撮殧', 'date_interval', '0', '', '1', '2024-03-29 22:50:09', '1', '2024-03-29 22:50:09', X'00', '1970-01-01 00:00:00'),
+('619', 'CRM 鍟嗘満缁撴潫鐘舵�佺被鍨�', 'crm_business_end_status_type', '0', '', '1', '2024-04-13 23:23:00', '1', '2024-04-13 23:23:00', X'00', '1970-01-01 00:00:00'),
+('620', 'AI 妯″瀷骞冲彴', 'ai_platform', '0', '', '1', '2024-05-09 22:27:38', '1', '2024-05-09 22:27:38', X'00', '1970-01-01 00:00:00'),
+('621', 'AI 缁樼敾鐘舵��', 'ai_image_status', '0', '', '1', '2024-06-26 20:51:23', '1', '2024-06-26 20:51:23', X'00', '1970-01-01 00:00:00'),
+('622', 'AI 闊充箰鐘舵��', 'ai_music_status', '0', '', '1', '2024-06-27 22:45:07', '1', '2024-06-28 00:56:27', X'00', '1970-01-01 00:00:00'),
+('623', 'AI 闊充箰鐢熸垚妯″紡', 'ai_generate_mode', '0', '', '1', '2024-06-27 22:46:21', '1', '2024-06-28 01:22:29', X'00', '1970-01-01 00:00:00'),
+('624', '鍐欎綔璇皵', 'ai_write_tone', '0', '', '1', '2024-07-07 15:19:02', '1', '2024-07-07 15:19:02', X'00', '1970-01-01 00:00:00'),
+('625', '鍐欎綔璇█', 'ai_write_language', '0', '', '1', '2024-07-07 15:18:52', '1', '2024-07-07 15:18:52', X'00', '1970-01-01 00:00:00'),
+('626', '鍐欎綔闀垮害', 'ai_write_length', '0', '', '1', '2024-07-07 15:18:41', '1', '2024-07-07 15:18:41', X'00', '1970-01-01 00:00:00'),
+('627', '鍐欎綔鏍煎紡', 'ai_write_format', '0', '', '1', '2024-07-07 15:14:34', '1', '2024-07-07 15:14:34', X'00', '1970-01-01 00:00:00'),
+('628', 'AI 鍐欎綔绫诲瀷', 'ai_write_type', '0', '', '1', '2024-07-10 21:25:29', '1', '2024-07-10 21:25:29', X'00', '1970-01-01 00:00:00'),
+('629', 'BPM 娴佺▼妯″瀷绫诲瀷', 'bpm_model_type', '0', '', '1', '2024-08-26 15:21:43', '1', '2024-08-26 15:21:43', X'00', '1970-01-01 00:00:00'),
+('640', 'AI 妯″瀷绫诲瀷', 'ai_model_type', '0', '', '1', '2025-03-03 12:24:07', '1', '2025-03-03 12:24:07', X'00', '1970-01-01 00:00:00'),
+('1001', 'IoT 浜у搧璁惧绫诲瀷', 'iot_product_device_type', '0', '', '1', '2024-08-10 11:54:30', '1', '2025-03-17 09:25:08', X'00', '1970-01-01 00:00:00'),
+('1002', 'IoT 浜у搧鐘舵��', 'iot_product_status', '0', '', '1', '2024-08-10 12:06:09', '1', '2025-03-17 09:25:10', X'00', '1970-01-01 00:00:00'),
+('1004', 'IoT 鑱旂綉鏂瑰紡', 'iot_net_type', '0', '', '1', '2024-09-06 22:04:13', '1', '2025-03-17 09:25:14', X'00', '1970-01-01 00:00:00'),
+('1006', 'IoT 璁惧鐘舵��', 'iot_device_state', '0', '', '1', '2024-09-21 08:12:55', '1', '2025-03-17 09:25:19', X'00', '1970-01-01 00:00:00'),
+('1007', 'IoT 鐗╂ā鍨嬪姛鑳界被鍨�', 'iot_thing_model_type', '0', '', '1', '2024-09-29 20:02:36', '1', '2025-03-17 09:25:24', X'00', '1970-01-01 00:00:00'),
+('1011', 'IoT 鐗╂ā鍨嬪崟浣�', 'iot_thing_model_unit', '0', '', '1', '2024-12-25 17:36:46', '1', '2025-03-17 09:25:35', X'00', '1970-01-01 00:00:00'),
+('1013', 'IoT 鏁版嵁娴佽浆鐩殑鐨勭被鍨嬫灇涓�', 'iot_data_sink_type_enum', '0', '', '1', '2025-03-09 12:39:36', '1', '2025-06-24 12:45:24', X'00', '1970-01-01 00:00:00'),
+('1014', 'IoT 鍦烘櫙娴佽浆鐨勮Е鍙戠被鍨嬫灇涓�', 'iot_rule_scene_trigger_type_enum', '0', '', '1', '2025-03-20 14:59:44', '1', '2025-03-20 14:59:44', X'00', '1970-01-01 00:00:00'),
+('1015', 'IoT 璁惧娑堟伅绫诲瀷鏋氫妇', 'iot_device_message_type_enum', '0', '', '1', '2025-03-20 15:01:15', '1', '2025-03-20 15:01:15', X'00', '1970-01-01 00:00:00'),
+('1016', 'IoT 瑙勫垯鍦烘櫙鐨勮Е鍙戠被鍨嬫灇涓�', 'iot_rule_scene_action_type_enum', '0', '', '1', '2025-03-28 15:26:54', '1', '2025-03-28 15:29:13', X'00', '1970-01-01 00:00:00'),
+('1017', 'MES 鐗╂枡娑堣�楄褰曠姸鎬�', 'mes_wm_item_consume_status', '0', 'MES 鐗╂枡娑堣�楄褰曠姸鎬�', '1', '2026-03-19 15:06:23', '1', '2026-03-19 15:06:23', X'00', NULL),
+('2001', 'IoT 鍛婅绾у埆', 'iot_alert_level', '0', '', '1', '2025-06-27 20:30:57', '1', '2025-06-27 20:30:57', X'00', '1970-01-01 00:00:00'),
+('2002', 'IoT 鍛婅', 'iot_alert_receive_type', '0', '', '1', '2025-06-27 22:49:19', '1', '2025-06-27 22:49:19', X'00', '1970-01-01 00:00:00'),
+('2003', 'IoT 鍥轰欢璁惧鑼冨洿', 'iot_ota_task_device_scope', '0', '', '1', '2025-07-02 09:42:49', '1', '2025-07-02 09:42:49', X'00', '1970-01-01 00:00:00'),
+('2004', 'IoT 鍥轰欢鍗囩骇浠诲姟鐘舵��', 'iot_ota_task_status', '0', '', '1', '2025-07-02 09:43:43', '1', '2025-07-02 09:43:43', X'00', '1970-01-01 00:00:00'),
+('2005', 'IoT 鍥轰欢鍗囩骇璁板綍鐘舵��', 'iot_ota_task_record_status', '0', '', '1', '2025-07-02 09:45:02', '1', '2025-07-02 09:45:02', X'00', '1970-01-01 00:00:00'),
+('2007', 'AI MCP 瀹㈡埛绔悕瀛�', 'ai_mcp_client_name', '0', '', '1', '2025-08-28 13:57:40', '1', '2025-08-28 13:57:40', X'00', '1970-01-01 00:00:00'),
+('2008', 'IoT 鍗忚绫诲瀷', 'iot_protocol_type', '0', 'IoT 璁惧鎺ュ叆鍗忚绫诲瀷', '1', '2026-02-04 00:31:33', '1', '2026-02-04 00:31:33', X'00', '1970-01-01 00:00:00'),
+('2009', 'IoT 搴忓垪鍖栫被鍨�', 'iot_serialize_type', '0', 'IoT 璁惧娑堟伅搴忓垪鍖栫被鍨�', '1', '2026-02-04 00:33:16', '1', '2026-02-04 00:33:16', X'00', '1970-01-01 00:00:00'),
+('2010', 'IoT Modbus 宸ヤ綔妯″紡', 'iot_modbus_mode', '0', 'Modbus 璁惧鏁版嵁閲囬泦妯″紡', '1', '2025-06-12 22:55:46', '1', '2025-06-12 22:55:46', X'00', '1970-01-01 00:00:00'),
+('2011', 'IoT Modbus 甯ф牸寮�', 'iot_modbus_frame_format', '0', 'Modbus 鏁版嵁甯у崗璁牸寮�', '1', '2025-06-12 22:55:46', '1', '2025-06-12 22:55:46', X'00', '1970-01-01 00:00:00'),
+('2012', 'MES 瀹㈡埛绫诲瀷', 'mes_client_type', '0', '', '1', '2026-02-15 14:38:25', '1', '2026-02-15 14:38:25', X'00', NULL),
+('2013', 'MES 渚涘簲鍟嗙骇鍒�', 'mes_vendor_level', '0', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00', NULL),
+('2014', 'MES 鍋囨湡绫诲瀷', 'mes_cal_holiday_type', '0', 'MES 鏃ュ巻鎺掔彮 - 鍋囨湡绫诲瀷锛圚OLIDAY=鍋囨湡锛學ORKDAY=宸ヤ綔鏃ワ級', '1', '2026-02-16 07:35:58', '1', '2026-02-16 07:35:58', X'00', NULL),
+('2015', 'MES 宸ュ叿鐘舵��', 'mes_tm_tool_status', '0', 'MES 宸ュ叿绠$悊 - 宸ュ叿鐘舵�侊紙1=鍦ㄥ簱锛�2=棰嗙敤涓紝3=缁翠慨涓紝4=鎶ュ簾锛�', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00', NULL),
+('2016', 'MES 淇濆吇缁存姢绫诲瀷', 'mes_tm_mainten_type', '0', 'MES 宸ュ叿绠$悊 - 淇濆吇缁存姢绫诲瀷锛�1=瀹氭湡缁存姢锛�2=鎸変娇鐢ㄦ鏁扮淮鎶わ級', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00', NULL),
+('2017', 'MES 璁惧鐘舵��', 'mes_dv_machinery_status', '0', 'MES 璁惧绠$悊 - 璁惧鐘舵�侊紙1=杩愯涓紝2=鍋滄満锛�3=鏁呴殰锛�', '1', '2026-02-17 01:00:06', '1', '2026-02-17 01:00:06', X'00', NULL),
+('2018', 'MES 妫�娴嬮」绫诲瀷', 'mes_indicator_type', '0', '', '1', '2026-02-17 02:16:22', '1', '2026-02-21 15:25:04', X'00', NULL),
+('2019', 'MES 缂洪櫡绛夌骇', 'mes_defect_level', '0', '', '1', '2026-02-17 02:16:22', '1', '2026-02-17 02:16:22', X'00', NULL),
+('2020', 'MES 杞彮鏂瑰紡', 'mes_cal_shift_type', '0', 'MES 鏃ュ巻鎺掔彮 - 杞彮鏂瑰紡', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2021', 'MES 鍊掔彮鏂瑰紡', 'mes_cal_shift_method', '0', 'MES 鏃ュ巻鎺掔彮 - 鍊掔彮鏂瑰紡', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2022', 'MES 鐝粍绫诲瀷', 'mes_cal_calendar_type', '0', 'MES 鏃ュ巻鎺掔彮 - 鐝粍绫诲瀷', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2023', 'MES 鎺掔彮璁″垝鐘舵��', 'mes_cal_plan_status', '0', 'MES 鏃ュ巻鎺掔彮 - 鎺掔彮璁″垝鐘舵��', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00', NULL),
+('2026', 'MES 妫�娴嬬绫�', 'mes_qc_type', '0', 'IQC/IPQC/OQC/RQC', '1', '2026-02-17 08:34:40', '1', '2026-02-17 08:34:40', X'00', NULL),
+('2027', 'MES 鐢熶骇宸ュ崟鐘舵��', 'mes_pro_work_order_status', '0', 'MES 鐢熶骇绠$悊 - 宸ュ崟鐘舵�侊紙0=鑽夌锛�1=宸茬‘璁わ紝2=宸插畬鎴愶紝3=宸插彇娑堬級', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00', NULL),
+('2028', 'MES 宸ュ崟鏉ユ簮绫诲瀷', 'mes_pro_work_order_source_type', '0', 'MES 鐢熶骇绠$悊 - 宸ュ崟鏉ユ簮绫诲瀷锛�1=瀹㈡埛璁㈠崟锛�2=搴撳瓨澶囪揣锛�', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00', NULL),
+('2029', 'MES 宸ュ崟绫诲瀷', 'mes_pro_work_order_type', '0', 'MES 鐢熶骇绠$悊 - 宸ュ崟绫诲瀷锛�1=鑷鐢熶骇锛�2=浠e伐锛�3=閲囪喘锛�', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00', NULL),
+('2036', 'MES 宸ュ簭鍏崇郴绫诲瀷', 'mes_pro_link_type', '0', '宸ヨ壓璺嚎涓伐搴忎箣闂寸殑鍏崇郴绫诲瀷', '1', '2026-02-19 04:24:53', '1', '2026-04-05 15:05:07', X'00', NULL),
+('2037', 'MES 鏃堕棿鍗曚綅', 'mes_time_unit_type', '0', '鐢熶骇鏃堕棿鐨勮閲忓崟浣�', '1', '2026-02-19 04:24:53', '1', '2026-04-05 15:04:57', X'00', NULL),
+('2038', 'MES 鐢熶骇浠诲姟鐘舵��', 'mes_pro_task_status', '0', 'MES 鐢熶骇绠$悊 - 浠诲姟鐘舵�侊紙0=鑽夌锛�4=宸插畬鎴愶紝5=宸插彇娑堬級', '1', '2026-02-19 15:25:27', '1', '2026-06-13 10:32:58', X'00', NULL),
+('2039', 'MES 鐐规淇濆吇椤圭洰绫诲瀷', 'mes_dv_subject_type', '0', 'MES 璁惧绠$悊 - 鐐规淇濆吇椤圭洰绫诲瀷锛�1=璁惧鐐规锛�2=璁惧淇濆吇锛�', '1', '2026-02-20 01:42:58', '1', '2026-02-20 01:42:58', X'00', NULL),
+('2040', 'MES 淇濆吇璁板綍鐘舵��', 'mes_mainten_record_status', '0', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00', NULL),
+('2041', 'MES 淇濆吇缁撴灉', 'mes_mainten_status', '0', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00', NULL),
+('2042', 'MES 鐐规淇濆吇鍛ㄦ湡绫诲瀷', 'mes_dv_cycle_type', '0', 'MES 璁惧绠$悊 - 鐐规淇濆吇鍛ㄦ湡绫诲瀷锛�1=澶╋紝2=鍛紝3=鏈堬紝4=骞达級', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00', NULL),
+('2043', 'MES 鐐规淇濆吇鏂规鐘舵��', 'mes_dv_check_plan_status', '0', 'MES 璁惧绠$悊 - 鐐规淇濆吇鏂规鐘舵�侊紙0=鑽夌锛�1=宸插惎鐢級', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00', NULL),
+('2044', 'MES 鐐规璁板綍鐘舵��', 'mes_dv_check_record_status', '0', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00', NULL),
+('2045', 'MES 鐐规缁撴灉', 'mes_dv_check_result', '0', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00', NULL),
+('2046', 'MES 缁翠慨宸ュ崟鐘舵��', 'mes_dv_repair_status', '0', 'MES 璁惧绠$悊 - 缁翠慨宸ュ崟鐘舵�侊紙10=寰呯淮淇紝20=缁翠慨涓紝30=宸插畬鎴愶紝40=宸查獙鏀讹級', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00', NULL),
+('2047', 'MES 缁翠慨缁撴灉', 'mes_dv_repair_result', '0', 'MES 璁惧绠$悊 - 缁翠慨缁撴灉锛�1=淇鎴愬姛锛�2=鎶ュ簾锛�', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00', NULL),
+('2049', 'MES 妫�娴嬬粨鏋�', 'mes_qc_check_result', '0', '鏉ユ枡妫�楠岀殑鏈�缁堢粨鏋滃垽瀹�', '1', '2026-02-20 11:23:35', '1', '2026-02-20 11:23:35', X'00', NULL),
+('2050', 'MES 鏉ユ簮鍗曟嵁绫诲瀷', 'mes_qc_source_doc_type', '0', 'IQC 鏉ユ枡妫�楠岀殑鏉ユ簮鍗曟嵁绫诲瀷', '1', '2026-02-20 11:23:35', '1', '2026-02-20 11:23:35', X'00', NULL),
+('2051', 'MES 瀹夌伅澶勭疆鐘舵��', 'mes_pro_andon_status', '0', 'MES 鐢熶骇绠$悊 - 瀹夌伅澶勭疆鐘舵�侊紙0=鏈缃紝1=宸插缃級', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00', NULL),
+('2052', 'MES 瀹夌伅绾у埆', 'mes_pro_andon_level', '0', 'MES 鐢熶骇绠$悊 - 瀹夌伅绾у埆锛�1=涓�绾э紝2=浜岀骇锛�3=涓夌骇锛�', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00', NULL),
+('2053', 'MES 鐢熶骇鎶ュ伐鐘舵��', 'mes_pro_feedback_status', '0', 'MES 鐢熶骇绠$悊 - 鎶ュ伐鐘舵�侊紙0=鑽夌锛�1=瀹℃壒涓紝2=寰呮楠岋紝3=宸插畬鎴愶紝4=宸插彇娑堬級', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00', NULL),
+('2054', 'MES 鐢熶骇鎶ュ伐绫诲瀷', 'mes_pro_feedback_type', '0', 'MES 鐢熶骇绠$悊 - 鎶ュ伐绫诲瀷锛�1=鑷鎶ュ伐锛�2=缁熶竴鎶ュ伐锛�', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00', NULL),
+('2055', 'MES 鐢熶骇鎶ュ伐閫斿緞', 'mes_pro_feedback_channel', '0', 'MES 鐢熶骇绠$悊 - 鎶ュ伐閫斿緞锛圥C/APP/PDA锛�', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00', NULL),
+('2056', 'MES 璐ㄦ鍊肩被鍨�', 'mes_qc_result_type', '0', '妫�楠岀粨鏋滄槑缁嗙殑鍊肩被鍨嬶細娴偣/鏁存暟/鏂囨湰/瀛楀吀/鏂囦欢', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00', NULL),
+('2057', 'MES 閫�璐ф楠岀被鍨�', 'mes_rqc_type', '0', 'MES 閫�璐ф楠岀被鍨�', '1', '2026-02-22 06:43:18', '1', '2026-02-22 06:43:18', X'00', NULL),
+('2062', 'MES IPQC 妫�楠岀被鍨�', 'mes_ipqc_type', '0', 'IPQC 杩囩▼妫�楠岀殑妫�楠岀被鍨�', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00', NULL),
+('2066', 'MES 鍒拌揣閫氱煡鍗曠姸鎬�', 'mes_wm_arrival_notice_status', '0', 'MES 鍒拌揣閫氱煡鍗曠姸鎬�', '1', '2026-02-22 14:53:18', '1', '2026-02-22 14:53:18', X'00', NULL),
+('2067', 'MES 閲囪喘鍏ュ簱鍗曠姸鎬�', 'mes_wm_item_receipt_status', '0', 'MES 閲囪喘鍏ュ簱鍗曠姸鎬�', '1', '2026-02-22 14:54:05', '1', '2026-02-22 14:54:05', X'00', NULL),
+('2068', 'MES 鍗曟嵁鐘舵��', 'mes_order_status', '0', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:17:37', X'00', NULL),
+('2069', 'MES 棰嗘枡鍑哄簱鍗曠姸鎬�', 'mes_wm_product_issue_status', '0', 'MES 棰嗘枡鍑哄簱鍗曠姸鎬�', '1', '2026-02-26 16:39:44', '1', '2026-04-05 15:05:11', X'00', NULL),
+('2073', 'MES 鐢熶骇閫�鏂欏崟鐘舵��', 'mes_wm_return_issue_status', '0', 'MES 鐢熶骇閫�鏂欏崟鐘舵��', '1', '2026-02-28 14:11:09', '1', '2026-04-05 15:05:14', X'00', NULL),
+('2074', 'MES 鐢熶骇閫�鏂欑被鍨�', 'mes_wm_return_issue_type', '0', 'MES 鐢熶骇閫�鏂欑被鍨�', '1', '2026-02-28 14:11:09', '1', '2026-04-05 15:05:16', X'00', NULL),
+('2075', 'MES 璐ㄩ噺鐘舵��', 'mes_wm_quality_status', '0', 'MES 璐ㄩ噺鐘舵�侊紙寰呮/鍚堟牸/涓嶅悎鏍硷級', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00', NULL),
+('2100', 'MES 浜у搧鍏ュ簱鍗曠姸鎬�', 'mes_wm_product_receipt_status', '0', 'MES 浜у搧鍏ュ簱鍗曠姸鎬�', '1', '2026-03-01 06:03:04', '1', '2026-04-05 15:05:49', X'00', NULL),
+('2102', 'MES 閿�鍞嚭搴撳崟鐘舵��', 'mes_wm_product_sales_status', '0', 'MES 閿�鍞嚭搴撳崟鐘舵��', '1', '2026-03-02 08:55:11', '1', '2026-04-05 15:05:18', X'00', NULL),
+('2105', 'MES 鏉傞」鍏ュ簱绫诲瀷', 'mes_wm_misc_receipt_type', '0', '鏉傞」鍏ュ簱绫诲瀷', '1', '2026-03-03 07:18:12', '1', '2026-04-05 15:05:23', X'00', NULL),
+('2106', 'MES 鏉傞」鍏ュ簱鐘舵��', 'mes_wm_misc_receipt_status', '0', '鏉傞」鍏ュ簱鐘舵��', '1', '2026-03-03 07:18:12', '1', '2026-04-05 15:05:25', X'00', NULL),
+('2109', 'MES 鏉傞」鍑哄簱绫诲瀷', 'mes_wm_misc_issue_type', '0', 'MES 鏉傞」鍑哄簱绫诲瀷', '1', '2026-03-03 07:34:33', '1', '2026-03-03 07:34:33', X'00', NULL),
+('2110', 'MES 澶栧崗鍏ュ簱鍗曠姸鎬�', 'mes_wm_outsource_receipt_status', '0', 'MES 澶栧崗鍏ュ簱鍗曠姸鎬�', '1', '2026-03-03 14:03:20', '1', '2026-03-03 14:03:20', X'00', NULL),
+('2112', 'MES 澶栧崗鍙戞枡鍗曠姸鎬�', 'mes_wm_outsource_issue_status', '0', 'MES 澶栧崗鍙戞枡鍗曠姸鎬�', '1', '2026-03-03 16:30:56', '1', '2026-04-05 15:05:47', X'00', NULL),
+('2113', 'MES 缂栫爜瑙勫垯鍒嗘绫诲瀷', 'mes_md_auto_code_part_type', '0', 'MES 缂栫爜瑙勫垯鍒嗘绫诲瀷', '1', '2026-03-04 14:45:46', '1', '2026-03-04 15:24:40', X'00', NULL),
+('2115', 'MES 缂栫爜瑙勫垯琛ラ綈鏂瑰紡', 'mes_md_auto_code_padded_method', '0', 'MES 缂栫爜瑙勫垯琛ラ綈鏂瑰紡', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00', NULL),
+('2116', 'MES 缂栫爜瑙勫垯寰幆鏂瑰紡', 'mes_md_auto_code_cycle_method', '0', 'MES 缂栫爜瑙勫垯寰幆鏂瑰紡', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00', NULL),
+('2117', 'MES 鏉$爜鏍煎紡', 'mes_wm_barcode_format', '0', 'MES 鏉$爜鏍煎紡', '1', '2026-03-05 14:37:20', '1', '2026-04-05 15:05:27', X'00', NULL),
+('2118', 'MES 鏉$爜涓氬姟绫诲瀷', 'mes_wm_barcode_biz_type', '0', 'MES 鏉$爜涓氬姟绫诲瀷', '1', '2026-03-05 14:37:20', '1', '2026-04-05 15:05:29', X'00', NULL),
+('2121', 'MES 瑁呯鍗曠姸鎬�', 'mes_wm_package_status', '0', 'MES 瑁呯鍗曠姸鎬�', '1', '2026-03-08 02:05:46', '1', '2026-04-05 15:05:35', X'00', NULL),
+('2122', 'MES 璋冩嫧鍗曠姸鎬�', 'mes_wm_transfer_status', '0', 'MES 璋冩嫧鍗曠姸鎬�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00', NULL),
+('2123', 'MES 璋冩嫧绫诲瀷', 'mes_wm_transfer_type', '0', 'MES 璋冩嫧绫诲瀷', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00', NULL),
+('2124', 'MES 鐩樼偣绫诲瀷', 'mes_wm_stock_taking_type', '0', 'MES 鐩樼偣绫诲瀷', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00', NULL),
+('2125', 'MES 鐩樼偣鏂规鍙傛暟绫诲瀷', 'mes_wm_stock_taking_plan_param_type', '0', 'MES 鐩樼偣鏂规鍙傛暟绫诲瀷', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00', NULL),
+('2126', 'MES 鐩樼偣浠诲姟鐘舵��', 'mes_wm_stock_taking_task_status', '0', 'MES 鐩樼偣浠诲姟鐘舵��', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00', NULL),
+('2127', 'MES 鐩樼偣浠诲姟琛岀姸鎬�', 'mes_wm_stock_taking_task_line_status', '0', 'MES 鐩樼偣浠诲姟琛岀姸鎬�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00', NULL),
+('2129', 'MES 鐗╂枡浜у搧鏍囪瘑', 'mes_md_item_or_product', '0', '鐗╂枡鍒嗙被锛氱墿鏂�(ITEM) / 浜у搧(PRODUCT)', '1', '2026-03-15 01:55:06', '1', '2026-03-15 01:55:06', X'00', NULL),
+('2130', 'MES 渚涘簲鍟嗛��璐у崟鐘舵��', 'mes_wm_return_vendor_status', '0', '閲囪喘閫�璐у崟鐘舵��', '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00', NULL),
+('2131', 'MES 鍙戣揣閫氱煡鍗曠姸鎬�', 'mes_wm_sales_notice_status', '0', 'MES 鍙戣揣閫氱煡鍗曠姸鎬�', '1', '2026-03-30 08:54:30', '1', '2026-04-05 15:53:46', X'00', NULL),
+('2132', 'MES 鏉傞」鍑哄簱鍗曠姸鎬�', 'mes_wm_misc_issue_status', '0', '鏉傞」鍑哄簱鍗曠姸鎬�', '1', '2026-03-30 15:00:18', '1', '2026-04-05 15:05:41', X'00', NULL),
+('2133', 'MES 閿�鍞��璐у崟鐘舵��', 'mes_wm_return_sales_status', '0', 'MES 閿�鍞��璐у崟鐘舵�佹灇涓�', '1', '2026-04-03 17:20:25', '1', '2026-04-05 15:05:39', X'00', NULL),
+('2135', 'MES 涓婁笅宸ョ姸鎬佺被鍨�', 'mes_pro_work_record_type', '0', 'MES 涓婁笅宸ョ姸鎬佺被鍨�', '1', '2026-04-05 14:07:27', '1', '2026-04-05 14:07:27', X'00', NULL),
+('2138', 'MES 鐢熶骇鍏ュ簱鍗曠姸鎬�', 'mes_wm_product_produce_status', '0', 'MES 鐢熶骇鍏ュ簱鍗曠姸鎬�', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00', '1970-01-01 00:00:00'),
+('2200', 'IM 鍐呭绫诲瀷', 'im_content_type', '0', '瀵瑰簲 ImContentTypeEnum', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-16 03:41:55', X'00', NULL),
+('2202', 'IM 娑堟伅鍥炴墽鐘舵��', 'im_message_receipt_status', '0', '瀵瑰簲 ImMessageReceiptStatusEnum', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-16 03:41:55', X'00', NULL),
+('2203', 'IM 濂藉弸鐘舵��', 'im_friend_status', '0', '0=姝e父 / 1=宸插垹闄�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00', NULL),
+('2204', 'IM 缇ょ姸鎬�', 'im_group_status', '0', '0=姝e父 / 1=宸茶В鏁�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00', NULL),
+('2205', 'IM 娑堟伅鐘舵��', 'im_message_status', '0', '瀵瑰簲 ImMessageStatusEnum锛�0=姝e父 / 2=宸叉挙鍥烇紙绉佽亰 / 缇よ亰鍏辩敤锛�', 'admin', '2026-04-30 15:14:36', 'admin', '2026-06-16 03:41:55', X'00', NULL),
+('2206', 'IM 缇ゆ垚鍛樿鑹�', 'im_group_member_role', '0', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00', NULL),
+('2207', 'IM 濂藉弸娣诲姞鏉ユ簮', 'im_friend_add_source', '0', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00', NULL),
+('2208', 'IM 濂藉弸鐢宠澶勭悊缁撴灉', 'im_friend_request_handle_result', '0', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00', NULL),
+('2209', 'IM 鍔犵兢鏉ユ簮', 'im_group_add_source', '0', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00', NULL),
+('2210', 'IM 鍔犵兢鐢宠澶勭悊缁撴灉', 'im_group_request_handle_result', '0', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00', NULL),
+('1061050', '寰�鏉ヤ紒涓氱被鍨�', 'merchant_type', '0', 'WMS 寰�鏉ヤ紒涓氱被鍨�', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00', NULL),
+('1061060', 'WMS 鍗曟嵁绫诲瀷', 'wms_order_type', '0', 'WMS 鍗曟嵁绫诲瀷', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00', NULL),
+('1061070', 'WMS 鍗曟嵁鐘舵��', 'wms_order_status', '0', 'WMS 鍗曟嵁鐘舵��', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00', NULL),
+('1061080', '鍏ュ簱鍗曠被鍨�', 'wms_receipt_order_type', '0', 'WMS 鍏ュ簱鍗曠被鍨�', '1', '2026-05-11 11:21:49', '1', '2026-05-12 13:40:29', X'00', NULL),
+('1061090', '鍑哄簱鍗曠被鍨�', 'wms_shipment_order_type', '0', 'WMS 鍑哄簱鍗曠被鍨�', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00', NULL),
+('1061092', 'IM 閫氳瘽濯掍綋绫诲瀷', 'im_rtc_call_media_type', '0', NULL, 'admin', '2026-05-16 11:34:50', 'admin', '2026-05-16 11:34:50', X'00', NULL),
+('1061093', 'IM 閫氳瘽浼氳瘽绫诲瀷', 'im_rtc_call_conversation_type', '0', '1=绉佽亰锛�2=缇よ亰', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061094', 'IM 閫氳瘽鐘舵��', 'im_rtc_call_status', '0', '10=鍒涘缓锛�20=杩涜涓紱30=宸茬粨鏉�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061095', 'IM 閫氳瘽缁撴潫鍘熷洜', 'im_rtc_call_end_reason', '0', '1=閫氳瘽缁撴潫锛�2=宸叉嫆缁濓紱3=宸插彇娑堬紱4=鏃犱汉鎺ュ惉锛�5=瀵规柟姝e繖锛�9=閫氳瘽寮傚父', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061096', 'IM 閫氳瘽鍙備笌瑙掕壊', 'im_rtc_participant_role', '0', '1=鍙戣捣浜猴紱2=琚個璇疯�咃紱3=涓诲姩鍔犲叆鑰�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061097', 'IM 閫氳瘽鍙備笌鐘舵��', 'im_rtc_participant_status', '0', '10=閭�璇蜂腑锛�20=宸插姞鍏ワ紱30=宸叉嫆缁濓紱40=鏈簲绛旓紱50=宸茬寮�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00', NULL),
+('1061098', 'IM 棰戦亾绱犳潗鍐呭绫诲瀷', 'im_channel_material_type', '0', '1=绔欏唴瀵屾枃鏈� / 2=澶栭摼', '1', '2026-05-19 14:09:25', '1', '2026-05-19 14:09:25', X'00', NULL),
+('1061099', 'WMS 搴撳瓨棰勭暀涓氬姟绫诲瀷', 'wms_reserve_biz_type', '0', '搴撳瓨棰勭暀鐨勪笟鍔℃潵婧愮被鍨�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00', NULL),
+('1061100', 'WMS 搴撳瓨浜嬪姟绫诲瀷', 'wms_transaction_type', '0', '搴撳瓨浜嬪姟娴佹按绫诲瀷', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00', NULL),
+('1061101', 'WMS 搴撳瓨棰勭暀鐘舵��', 'wms_reserve_status', '0', '搴撳瓨棰勭暀鐘舵��', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00', NULL),
+('1061102', 'MES 鍙傛暟鏍煎紡', 'mes_pd_param_type', '0', NULL, '1', '2026-07-02 13:59:05', '1', '2026-07-02 13:59:05', X'00', '1970-01-01 00:00:00'),
+('1061103', 'MES 鍙傛暟妯℃澘', 'mes_pd_template_type', '0', NULL, '1', '2026-07-02 14:02:13', '1', '2026-07-02 14:02:13', X'00', '1970-01-01 00:00:00'),
+('1061104', '璁捐椤圭洰鐘舵��', 'mes_pd_project_status', '0', '璁捐椤圭洰鐘舵��', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061105', '璧勬枡绫诲瀷', 'mes_pd_document_type', '0', '璧勬枡绫诲瀷', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061106', '璧勬枡瀹℃牳鐘舵��', 'mes_pd_document_audit_status', '0', '璧勬枡瀹℃牳鐘舵��', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061107', '褰掓。鐘舵��', 'mes_pd_archive_status', '0', '褰掓。鐘舵��', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00', NULL),
+('1061108', '鎬у埆', 'hrm_gender', '0', NULL, '1', '2026-07-06 11:00:21', '1', '2026-07-06 11:00:21', X'00', '1970-01-01 00:00:00'),
+('1061109', '鍛樺伐鐘舵��', 'hrm_employee_status', '0', NULL, '1', '2026-07-06 11:01:28', '1', '2026-07-06 11:01:28', X'00', '1970-01-01 00:00:00'),
+('1061110', '瀛﹀巻', 'hrm_degree', '0', NULL, '1', '2026-07-06 11:13:51', '1', '2026-07-06 11:13:51', X'00', '1970-01-01 00:00:00'),
+('1061111', '璇峰亣绫诲瀷', 'hrm_leave_type', '0', NULL, '1', '2026-07-06 11:15:50', '1', '2026-07-06 11:15:50', X'00', '1970-01-01 00:00:00'),
+('1061112', '璋冨矖绫诲瀷', 'hrm_transfer_type', '0', NULL, '1', '2026-07-06 11:18:02', '1', '2026-07-06 11:18:02', X'00', '1970-01-01 00:00:00'),
+('1061113', '绂昏亴绫诲瀷', 'hrm_resignation_type', '0', NULL, '1', '2026-07-06 11:18:32', '1', '2026-07-06 11:18:32', X'00', '1970-01-01 00:00:00'),
+('1061114', '鎵撳崱绫诲瀷', 'hrm_clock_type', '0', NULL, '1', '2026-07-06 11:20:57', '1', '2026-07-06 11:20:57', X'00', '1970-01-01 00:00:00'),
+('1061115', '钖祫鐘舵��', 'hrm_salary_status', '0', NULL, '1', '2026-07-06 11:21:41', '1', '2026-07-06 11:21:41', X'00', '1970-01-01 00:00:00'),
+('1061116', '浜ゆ帴鐘舵��', 'hrm_handover_status', '0', NULL, '1', '2026-07-06 11:22:47', '1', '2026-07-06 11:22:47', X'00', '1970-01-01 00:00:00'),
+('1061117', '鍙戞斁鏂瑰紡', 'hrm_payment_method', '0', NULL, '1', '2026-07-06 11:23:38', '1', '2026-07-06 11:23:38', X'00', '1970-01-01 00:00:00'),
+('1061118', '鐗╂枡绫诲瀷', 'MDM_ITEM_TYPE', '0', NULL, '1', '2026-07-14 12:04:18', '1', '2026-07-14 12:04:18', X'00', '1970-01-01 00:00:00'),
+('1061119', 'MPS 鐘舵��', 'mes_pro_mps_status', '0', 'MPS 鐘舵��', '1', '2026-07-17 02:04:12', '1', '2026-07-17 02:04:12', X'00', NULL),
+('1061120', 'MES NCR 鐘舵��', 'mes_ncr_status', '0', '涓嶅悎鏍煎搧澶勭悊鍗曠姸鎬�', '1', '2026-08-06 09:25:18', '1', '2026-08-06 09:25:18', X'00', NULL),
+('1061121', 'MES NCR 澶勭疆鏂瑰紡', 'mes_ncr_disposition', '0', '涓嶅悎鏍煎搧澶勭疆鏂瑰紡', '1', '2026-08-06 09:25:18', '1', '2026-08-06 09:25:18', X'00', NULL),
+('1061122', '鍙戠エ绫诲瀷', 'crm_invoice_type', '0', NULL, '1', '2026-08-10 14:04:10', '1', '2026-08-10 14:04:10', X'00', '1970-01-01 00:00:00'),
+('1061123', '鍚堝悓绫诲瀷', 'hrm_contract_type', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1061124', '鍚堝悓鏈熼檺绫诲瀷', 'hrm_contract_term_type', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1061125', '鍚堝悓鐘舵��', 'hrm_contract_status', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1061126', '瑙i櫎缁堟鐘舵��', 'hrm_contract_terminate_status', '0', NULL, '', '2026-08-10 07:51:38', '', '2026-08-10 07:51:38', X'00', NULL),
+('1065300', '閿�鍞洰鏍囧懆鏈熺被鍨�', 'crm_sales_target_period_type', '0', '閿�鍞洰鏍囩殑璁″垝鍛ㄦ湡绫诲瀷', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00', NULL),
+('1065301', '閿�鍞洰鏍囩淮搴�', 'crm_sales_target_dimension', '0', '閿�鍞洰鏍囨寜浠�涔堢淮搴﹁瀹�', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00', NULL),
+('1065302', '閿�鍞洰鏍囩姸鎬�', 'crm_sales_target_status', '0', '閿�鍞洰鏍囩殑鐢熷懡鍛ㄦ湡鐘舵��', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00', NULL),
+('1065303', 'MES 璁¢噺鍣ㄥ叿绫诲埆', 'mes_dv_metering_category', '0', '璁¢噺鍣ㄥ叿绫诲埆', '1', '2026-08-13 01:36:06', '1', '2026-08-13 01:36:06', X'00', NULL),
+('1065304', 'MES 璁¢噺鍣ㄥ叿鐘舵��', 'mes_dv_metering_status', '0', '璁¢噺鍣ㄥ叿鐘舵��', '1', '2026-08-13 01:36:06', '1', '2026-08-13 01:36:06', X'00', NULL),
+('1065305', 'MES 璁¢噺妫�娴嬬粨璁�', 'mes_dv_metering_check_result', '0', '璁¢噺妫�娴嬬粨璁�', '1', '2026-08-13 01:36:06', '1', '2026-08-13 01:36:06', X'00', NULL),
+('1065400', '璐ㄦ鎶ュ憡妯℃澘鐘舵��', 'qc_report_template_status', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065401', '璐ㄦ鎶ュ憡妯℃澘鐗堟湰鐘舵��', 'qc_report_version_status', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065402', '璐ㄦ鎶ュ憡瀹炰緥鐘舵��', 'qc_report_instance_status', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065403', '璐ㄦ鎶ュ憡绾稿紶灏哄', 'qc_report_page_size', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065404', '璐ㄦ鎶ュ憡绾稿紶鏂瑰悜', 'qc_report_orientation', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065405', '璐ㄦ鎶ュ憡閫傜敤琛屼笟', 'qc_report_industry', '0', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00', NULL),
+('1065406', '鎶ラ攢鐘舵��', 'finance_reimbursement_status', '0', '鎶ラ攢鍗曠姸鎬侊細鑽夌銆佸鎵逛腑銆佸凡閫氳繃銆佸凡椹冲洖銆佸凡褰掓。', '1', '2026-09-27 20:20:02', '', '2026-09-27 20:20:02', X'00', NULL),
+('1065407', '璐圭敤绫诲瀷', 'finance_expense_type', '0', '鎶ラ攢璐圭敤绫诲瀷锛氬樊鏃呫�佸姙鍏�佹嫑寰呫�佷氦閫氥�佸叾浠�', '1', '2026-09-27 20:20:02', '', '2026-09-27 20:20:02', X'00', NULL),
+('80001', '鍏ヤ細鐢宠鐘舵��', 'ums_application_status', '0', '鍏ヤ細鐢宠瀹℃壒鐘舵��', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80002', '浼氬憳绫诲瀷', 'ums_member_type', '0', '涓汉浼氬憳/鍗曚綅浼氬憳', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80003', '浼氬憳鐘舵��', 'ums_member_status', '0', '浼氬憳姝e父/鏆傚仠', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80004', '涓汉浼氬憳绛夌骇', 'ums_personal_grade', '0', '涓汉浼氬憳绾у埆', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80005', '鍗曚綅浼氬憳绛夌骇', 'ums_unit_grade', '0', '鍗曚綅浼氬憳绾у埆', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL),
+('80006', '浼氬憳琛屼笟', 'ums_industry', '0', '瀛︿細浼氬憳鎵�灞炶涓�', '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00', NULL);
+
+-- ============ 琛細system_dict_data锛堝鍑� 1192 琛岋級 ============
+DROP TABLE IF EXISTS `system_dict_data`;
+CREATE TABLE `system_dict_data` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀛楀吀缂栫爜',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '瀛楀吀鎺掑簭',
+  `label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀鏍囩',
+  `value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀閿��',
+  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `color_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '棰滆壊绫诲瀷',
+  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'css 鏍峰紡',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1065347 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛楀吀鏁版嵁琛�';
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '1', '鐢�', '1', 'system_user_sex', '0', 'primary', 'A', '鎬у埆鐢�', 'admin', '2021-01-05 17:03:48', '1', '2025-12-10 13:19:26', X'00'),
+('2', '2', '濂�', '2', 'system_user_sex', '0', 'success', '', '鎬у埆濂�', 'admin', '2021-01-05 17:03:48', '1', '2023-11-15 23:30:37', X'00'),
+('8', '1', '姝e父', '1', 'infra_job_status', '0', 'success', '', '姝e父鐘舵��', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:33:38', X'00'),
+('9', '2', '鏆傚仠', '2', 'infra_job_status', '0', 'danger', '', '鍋滅敤鐘舵��', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:33:45', X'00'),
+('12', '1', '绯荤粺鍐呯疆', '1', 'infra_config_type', '0', 'danger', '', '鍙傛暟绫诲瀷 - 绯荤粺鍐呯疆', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:06:02', X'00'),
+('13', '2', '鑷畾涔�', '2', 'infra_config_type', '0', 'primary', '', '鍙傛暟绫诲瀷 - 鑷畾涔�', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:06:07', X'00'),
+('14', '1', '閫氱煡', '1', 'system_notice_type', '0', 'success', '', '閫氱煡', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:05:57', X'00'),
+('15', '2', '鍏憡', '2', 'system_notice_type', '0', 'info', '', '鍏憡', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:06:01', X'00'),
+('16', '0', '鍏跺畠', '0', 'infra_operate_type', '0', 'default', '', '鍏跺畠鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:19', X'00'),
+('17', '1', '鏌ヨ', '1', 'infra_operate_type', '0', 'info', '', '鏌ヨ鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:20', X'00'),
+('18', '2', '鏂板', '2', 'infra_operate_type', '0', 'primary', '', '鏂板鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:21', X'00'),
+('19', '3', '淇敼', '3', 'infra_operate_type', '0', 'warning', '', '淇敼鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:22', X'00'),
+('20', '4', '鍒犻櫎', '4', 'infra_operate_type', '0', 'danger', '', '鍒犻櫎鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:23', X'00'),
+('22', '5', '瀵煎嚭', '5', 'infra_operate_type', '0', 'default', '', '瀵煎嚭鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:24', X'00'),
+('23', '6', '瀵煎叆', '6', 'infra_operate_type', '0', 'default', '', '瀵煎叆鎿嶄綔', 'admin', '2021-01-05 17:03:48', '1', '2024-03-14 12:44:25', X'00'),
+('27', '1', '寮�鍚�', '0', 'common_status', '0', 'primary', '', '寮�鍚姸鎬�', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 08:00:39', X'00'),
+('28', '2', '鍏抽棴', '1', 'common_status', '0', 'info', '', '鍏抽棴鐘舵��', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 08:00:44', X'00'),
+('29', '1', '鐩綍', '1', 'system_menu_type', '0', '', '', '鐩綍', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:45', X'00'),
+('30', '2', '鑿滃崟', '2', 'system_menu_type', '0', '', '', '鑿滃崟', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:41', X'00'),
+('31', '3', '鎸夐挳', '3', 'system_menu_type', '0', '', '', '鎸夐挳', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:39', X'00'),
+('32', '1', '鍐呯疆', '1', 'system_role_type', '0', 'danger', '', '鍐呯疆瑙掕壊', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:02:08', X'00'),
+('33', '2', '鑷畾涔�', '2', 'system_role_type', '0', 'primary', '', '鑷畾涔夎鑹�', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:02:12', X'00'),
+('34', '1', '鍏ㄩ儴鏁版嵁鏉冮檺', '1', 'system_data_scope', '0', '', '', '鍏ㄩ儴鏁版嵁鏉冮檺', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:17', X'00'),
+('35', '2', '鎸囧畾閮ㄩ棬鏁版嵁鏉冮檺', '2', 'system_data_scope', '0', '', '', '鎸囧畾閮ㄩ棬鏁版嵁鏉冮檺', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:18', X'00'),
+('36', '3', '鏈儴闂ㄦ暟鎹潈闄�', '3', 'system_data_scope', '0', '', '', '鏈儴闂ㄦ暟鎹潈闄�', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:16', X'00'),
+('37', '4', '鏈儴闂ㄥ強浠ヤ笅鏁版嵁鏉冮檺', '4', 'system_data_scope', '0', '', '', '鏈儴闂ㄥ強浠ヤ笅鏁版嵁鏉冮檺', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:21', X'00'),
+('38', '5', '浠呮湰浜烘暟鎹潈闄�', '5', 'system_data_scope', '0', '', '', '浠呮湰浜烘暟鎹潈闄�', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:23', X'00'),
+('39', '0', '鎴愬姛', '0', 'system_login_result', '0', 'success', '', '鐧婚檰缁撴灉 - 鎴愬姛', '', '2021-01-18 06:17:36', '1', '2022-02-16 13:23:49', X'00'),
+('40', '10', '璐﹀彿鎴栧瘑鐮佷笉姝g‘', '10', 'system_login_result', '0', 'primary', '', '鐧婚檰缁撴灉 - 璐﹀彿鎴栧瘑鐮佷笉姝g‘', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:27', X'00'),
+('41', '20', '鐢ㄦ埛琚鐢�', '20', 'system_login_result', '0', 'warning', '', '鐧婚檰缁撴灉 - 鐢ㄦ埛琚鐢�', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:23:57', X'00'),
+('42', '30', '楠岃瘉鐮佷笉瀛樺湪', '30', 'system_login_result', '0', 'info', '', '鐧婚檰缁撴灉 - 楠岃瘉鐮佷笉瀛樺湪', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:07', X'00'),
+('43', '31', '楠岃瘉鐮佷笉姝g‘', '31', 'system_login_result', '0', 'info', '', '鐧婚檰缁撴灉 - 楠岃瘉鐮佷笉姝g‘', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:11', X'00'),
+('44', '100', '鏈煡寮傚父', '100', 'system_login_result', '0', 'danger', '', '鐧婚檰缁撴灉 - 鏈煡寮傚父', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:23', X'00'),
+('45', '1', '鏄�', 'true', 'infra_boolean_string', '0', 'danger', '', 'Boolean 鏄惁绫诲瀷 - 鏄�', '', '2021-01-19 03:20:55', '1', '2022-03-15 23:01:45', X'00'),
+('46', '1', '鍚�', 'false', 'infra_boolean_string', '0', 'info', '', 'Boolean 鏄惁绫诲瀷 - 鍚�', '', '2021-01-19 03:20:55', '1', '2022-03-15 23:09:45', X'00'),
+('50', '1', '鍗曡〃锛堝鍒犳敼鏌ワ級', '1', 'infra_codegen_template_type', '0', '', '', NULL, '', '2021-02-05 07:09:06', '', '2022-03-10 16:33:15', X'00'),
+('51', '2', '鏍戣〃锛堝鍒犳敼鏌ワ級', '2', 'infra_codegen_template_type', '0', '', '', NULL, '', '2021-02-05 07:14:46', '', '2022-03-10 16:33:19', X'00'),
+('53', '0', '鍒濆鍖栦腑', '0', 'infra_job_status', '0', 'primary', '', NULL, '', '2021-02-07 07:46:49', '1', '2022-02-16 19:33:29', X'00'),
+('57', '0', '杩愯涓�', '0', 'infra_job_log_status', '0', 'primary', '', 'RUNNING', '', '2021-02-08 10:04:24', '1', '2022-02-16 19:07:48', X'00'),
+('58', '1', '鎴愬姛', '1', 'infra_job_log_status', '0', 'success', '', NULL, '', '2021-02-08 10:06:57', '1', '2022-02-16 19:07:52', X'00'),
+('59', '2', '澶辫触', '2', 'infra_job_log_status', '0', 'warning', '', '澶辫触', '', '2021-02-08 10:07:38', '1', '2022-02-16 19:07:56', X'00'),
+('60', '1', '浼氬憳', '1', 'user_type', '0', 'primary', '', NULL, '', '2021-02-26 00:16:27', '1', '2022-02-16 10:22:19', X'00'),
+('61', '2', '绠$悊鍛�', '2', 'user_type', '0', 'success', '', NULL, '', '2021-02-26 00:16:34', '1', '2025-04-06 18:37:43', X'00'),
+('62', '0', '鏈鐞�', '0', 'infra_api_error_log_process_status', '0', 'primary', '', NULL, '', '2021-02-26 07:07:19', '1', '2022-02-16 20:14:17', X'00'),
+('63', '1', '宸插鐞�', '1', 'infra_api_error_log_process_status', '0', 'success', '', NULL, '', '2021-02-26 07:07:26', '1', '2022-02-16 20:14:08', X'00'),
+('64', '2', '宸插拷鐣�', '2', 'infra_api_error_log_process_status', '0', 'danger', '', NULL, '', '2021-02-26 07:07:34', '1', '2022-02-16 20:14:14', X'00'),
+('66', '1', '闃块噷浜�', 'ALIYUN', 'system_sms_channel_code', '0', 'primary', '', NULL, '1', '2021-04-05 01:05:26', '1', '2024-07-22 22:23:25', X'00'),
+('67', '1', '楠岃瘉鐮�', '1', 'system_sms_template_type', '0', 'warning', '', NULL, '1', '2021-04-05 21:50:57', '1', '2022-02-16 12:48:30', X'00'),
+('68', '2', '閫氱煡', '2', 'system_sms_template_type', '0', 'primary', '', NULL, '1', '2021-04-05 21:51:08', '1', '2022-02-16 12:48:27', X'00'),
+('69', '0', '钀ラ攢', '3', 'system_sms_template_type', '0', 'danger', '', NULL, '1', '2021-04-05 21:51:15', '1', '2022-02-16 12:48:22', X'00'),
+('70', '0', '鍒濆鍖�', '0', 'system_sms_send_status', '0', 'primary', '', NULL, '1', '2021-04-11 20:18:33', '1', '2022-02-16 10:26:07', X'00'),
+('71', '1', '鍙戦�佹垚鍔�', '10', 'system_sms_send_status', '0', 'success', '', NULL, '1', '2021-04-11 20:18:43', '1', '2022-02-16 10:25:56', X'00'),
+('72', '2', '鍙戦�佸け璐�', '20', 'system_sms_send_status', '0', 'danger', '', NULL, '1', '2021-04-11 20:18:49', '1', '2022-02-16 10:26:03', X'00'),
+('73', '3', '涓嶅彂閫�', '30', 'system_sms_send_status', '0', 'info', '', NULL, '1', '2021-04-11 20:19:44', '1', '2022-02-16 10:26:10', X'00'),
+('74', '0', '绛夊緟缁撴灉', '0', 'system_sms_receive_status', '0', 'primary', '', NULL, '1', '2021-04-11 20:27:43', '1', '2022-02-16 10:28:24', X'00'),
+('75', '1', '鎺ユ敹鎴愬姛', '10', 'system_sms_receive_status', '0', 'success', '', NULL, '1', '2021-04-11 20:29:25', '1', '2022-02-16 10:28:28', X'00'),
+('76', '2', '鎺ユ敹澶辫触', '20', 'system_sms_receive_status', '0', 'danger', '', NULL, '1', '2021-04-11 20:29:31', '1', '2022-02-16 10:28:32', X'00'),
+('77', '0', '璋冭瘯(閽夐拤)', 'DEBUG_DING_TALK', 'system_sms_channel_code', '0', 'info', '', NULL, '1', '2021-04-13 00:20:37', '1', '2022-02-16 10:10:00', X'00'),
+('80', '100', '璐﹀彿鐧诲綍', '100', 'system_login_type', '0', 'primary', '', '璐﹀彿鐧诲綍', '1', '2021-10-06 00:52:02', '1', '2022-02-16 13:11:34', X'00'),
+('81', '101', '绀句氦鐧诲綍', '101', 'system_login_type', '0', 'info', '', '绀句氦鐧诲綍', '1', '2021-10-06 00:52:17', '1', '2022-02-16 13:11:40', X'00'),
+('83', '200', '涓诲姩鐧诲嚭', '200', 'system_login_type', '0', 'primary', '', '涓诲姩鐧诲嚭', '1', '2021-10-06 00:52:58', '1', '2022-02-16 13:11:49', X'00'),
+('85', '202', '寮哄埗鐧诲嚭', '202', 'system_login_type', '0', 'danger', '', '寮哄埗閫�鍑�', '1', '2021-10-06 00:53:41', '1', '2022-02-16 13:11:57', X'00'),
+('86', '0', '鐥呭亣', '1', 'bpm_oa_leave_type', '0', 'primary', '', NULL, '1', '2021-09-21 22:35:28', '1', '2022-02-16 10:00:41', X'00'),
+('87', '1', '浜嬪亣', '2', 'bpm_oa_leave_type', '0', 'info', '', NULL, '1', '2021-09-21 22:36:11', '1', '2022-02-16 10:00:49', X'00'),
+('88', '2', '濠氬亣', '3', 'bpm_oa_leave_type', '0', 'warning', '', NULL, '1', '2021-09-21 22:36:38', '1', '2022-02-16 10:00:53', X'00'),
+('112', '0', '寰俊 Wap 缃戠珯鏀粯', 'wx_wap', 'pay_channel_code', '0', 'success', '', '寰俊 Wap 缃戠珯鏀粯', '1', '2023-07-19 20:08:06', '1', '2023-07-19 20:09:08', X'00'),
+('113', '1', '寰俊鍏紬鍙锋敮浠�', 'wx_pub', 'pay_channel_code', '0', 'success', '', '寰俊鍏紬鍙锋敮浠�', '1', '2021-12-03 10:40:24', '1', '2023-07-19 20:08:47', X'00'),
+('114', '2', '寰俊灏忕▼搴忔敮浠�', 'wx_lite', 'pay_channel_code', '0', 'success', '', '寰俊灏忕▼搴忔敮浠�', '1', '2021-12-03 10:41:06', '1', '2023-07-19 20:08:50', X'00'),
+('115', '3', '寰俊 App 鏀粯', 'wx_app', 'pay_channel_code', '0', 'success', '', '寰俊 App 鏀粯', '1', '2021-12-03 10:41:20', '1', '2023-07-19 20:08:56', X'00'),
+('116', '10', '鏀粯瀹� PC 缃戠珯鏀粯', 'alipay_pc', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹� PC 缃戠珯鏀粯', '1', '2021-12-03 10:42:09', '1', '2023-07-19 20:09:12', X'00'),
+('117', '11', '鏀粯瀹� Wap 缃戠珯鏀粯', 'alipay_wap', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹� Wap 缃戠珯鏀粯', '1', '2021-12-03 10:42:26', '1', '2023-07-19 20:09:16', X'00'),
+('118', '12', '鏀粯瀹� App 鏀粯', 'alipay_app', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹� App 鏀粯', '1', '2021-12-03 10:42:55', '1', '2023-07-19 20:09:20', X'00'),
+('119', '14', '鏀粯瀹濇壂鐮佹敮浠�', 'alipay_qr', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹濇壂鐮佹敮浠�', '1', '2021-12-03 10:43:10', '1', '2023-07-19 20:09:28', X'00'),
+('120', '10', '閫氱煡鎴愬姛', '10', 'pay_notify_status', '0', 'success', '', '閫氱煡鎴愬姛', '1', '2021-12-03 11:02:41', '1', '2023-07-19 10:08:19', X'00'),
+('121', '20', '閫氱煡澶辫触', '20', 'pay_notify_status', '0', 'danger', '', '閫氱煡澶辫触', '1', '2021-12-03 11:02:59', '1', '2023-07-19 10:08:21', X'00'),
+('122', '0', '绛夊緟閫氱煡', '0', 'pay_notify_status', '0', 'info', '', '鏈�氱煡', '1', '2021-12-03 11:03:10', '1', '2023-07-19 10:08:24', X'00'),
+('123', '10', '鏀粯鎴愬姛', '10', 'pay_order_status', '0', 'success', '', '鏀粯鎴愬姛', '1', '2021-12-03 11:18:29', '1', '2023-07-19 18:04:28', X'00'),
+('124', '30', '鏀粯鍏抽棴', '30', 'pay_order_status', '0', 'info', '', '鏀粯鍏抽棴', '1', '2021-12-03 11:18:42', '1', '2023-07-19 18:05:07', X'00'),
+('125', '0', '绛夊緟鏀粯', '0', 'pay_order_status', '0', 'info', '', '鏈敮浠�', '1', '2021-12-03 11:18:18', '1', '2023-07-19 18:04:15', X'00'),
+('600', '5', '棣栭〉', '1', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('601', '4', '绉掓潃娲诲姩椤�', '2', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('602', '3', '鐮嶄环娲诲姩椤�', '3', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('603', '2', '闄愭椂鎶樻墸椤�', '4', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('604', '1', '婊″噺閫侀〉', '5', 'promotion_banner_position', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('1118', '0', '绛夊緟閫�娆�', '0', 'pay_refund_status', '0', 'info', '', '绛夊緟閫�娆�', '1', '2021-12-10 16:44:59', '1', '2023-07-19 10:14:39', X'00'),
+('1119', '20', '閫�娆惧け璐�', '20', 'pay_refund_status', '0', 'danger', '', '閫�娆惧け璐�', '1', '2021-12-10 16:45:10', '1', '2023-07-19 10:15:10', X'00'),
+('1124', '10', '閫�娆炬垚鍔�', '10', 'pay_refund_status', '0', 'success', '', '閫�娆炬垚鍔�', '1', '2021-12-10 16:46:26', '1', '2023-07-19 10:15:00', X'00'),
+('1127', '1', '瀹℃壒涓�', '1', 'bpm_process_instance_status', '0', 'default', '', '娴佺▼瀹炰緥鐨勭姸鎬� - 杩涜涓�', '1', '2022-01-07 23:47:22', '1', '2024-03-16 16:11:45', X'00'),
+('1128', '2', '瀹℃壒閫氳繃', '2', 'bpm_process_instance_status', '0', 'success', '', '娴佺▼瀹炰緥鐨勭姸鎬� - 宸插畬鎴�', '1', '2022-01-07 23:47:49', '1', '2024-03-16 16:11:54', X'00'),
+('1129', '1', '瀹℃壒涓�', '1', 'bpm_task_status', '0', 'primary', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 澶勭悊涓�', '1', '2022-01-07 23:48:32', '1', '2024-03-08 22:41:37', X'00'),
+('1130', '2', '瀹℃壒閫氳繃', '2', 'bpm_task_status', '0', 'success', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 閫氳繃', '1', '2022-01-07 23:48:45', '1', '2024-03-08 22:41:38', X'00'),
+('1131', '3', '瀹℃壒涓嶉�氳繃', '3', 'bpm_task_status', '0', 'danger', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 涓嶉�氳繃', '1', '2022-01-07 23:48:55', '1', '2024-03-08 22:41:38', X'00'),
+('1132', '4', '宸插彇娑�', '4', 'bpm_task_status', '0', 'info', '', '娴佺▼瀹炰緥鐨勭粨鏋� - 鎾ら攢', '1', '2022-01-07 23:49:06', '1', '2024-03-08 22:41:39', X'00'),
+('1133', '10', '娴佺▼琛ㄥ崟', '10', 'bpm_model_form_type', '0', '', '', '娴佺▼鐨勮〃鍗曠被鍨� - 娴佺▼琛ㄥ崟', '103', '2022-01-11 23:51:30', '103', '2022-01-11 23:51:30', X'00'),
+('1134', '20', '涓氬姟琛ㄥ崟', '20', 'bpm_model_form_type', '0', '', '', '娴佺▼鐨勮〃鍗曠被鍨� - 涓氬姟琛ㄥ崟', '103', '2022-01-11 23:51:47', '103', '2022-01-11 23:51:47', X'00'),
+('1135', '10', '瑙掕壊', '10', 'bpm_task_candidate_strategy', '0', 'info', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 瑙掕壊', '103', '2022-01-12 23:21:22', '1', '2024-03-06 02:53:16', X'00'),
+('1136', '20', '閮ㄩ棬鐨勬垚鍛�', '20', 'bpm_task_candidate_strategy', '0', 'primary', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 閮ㄩ棬鐨勬垚鍛�', '103', '2022-01-12 23:21:47', '1', '2024-03-06 02:53:17', X'00'),
+('1137', '21', '閮ㄩ棬鐨勮礋璐d汉', '21', 'bpm_task_candidate_strategy', '0', 'primary', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 閮ㄩ棬鐨勮礋璐d汉', '103', '2022-01-12 23:33:36', '1', '2024-03-06 02:53:18', X'00'),
+('1138', '30', '鐢ㄦ埛', '30', 'bpm_task_candidate_strategy', '0', 'info', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 鐢ㄦ埛', '103', '2022-01-12 23:34:02', '1', '2024-03-06 02:53:19', X'00'),
+('1139', '40', '鐢ㄦ埛缁�', '40', 'bpm_task_candidate_strategy', '0', 'warning', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 鐢ㄦ埛缁�', '103', '2022-01-12 23:34:21', '1', '2024-03-06 02:53:20', X'00'),
+('1140', '60', '娴佺▼琛ㄨ揪寮�', '60', 'bpm_task_candidate_strategy', '0', 'danger', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 娴佺▼琛ㄨ揪寮�', '103', '2022-01-12 23:34:43', '1', '2024-03-06 02:53:20', X'00'),
+('1141', '22', '宀椾綅', '22', 'bpm_task_candidate_strategy', '0', 'success', '', '浠诲姟鍒嗛厤瑙勫垯鐨勭被鍨� - 宀椾綅', '103', '2022-01-14 18:41:55', '1', '2024-03-06 02:53:21', X'00'),
+('1145', '1', '绠$悊鍚庡彴', '1', 'infra_codegen_scene', '0', '', '', '浠g爜鐢熸垚鐨勫満鏅灇涓� - 绠$悊鍚庡彴', '1', '2022-02-02 13:15:06', '1', '2022-03-10 16:32:59', X'00'),
+('1146', '2', '鐢ㄦ埛 APP', '2', 'infra_codegen_scene', '0', '', '', '浠g爜鐢熸垚鐨勫満鏅灇涓� - 鐢ㄦ埛 APP', '1', '2022-02-02 13:15:19', '1', '2022-03-10 16:33:03', X'00'),
+('1150', '1', '鏁版嵁搴�', '1', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:25:28', '1', '2022-03-15 00:25:28', X'00'),
+('1151', '10', '鏈湴纾佺洏', '10', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:25:41', '1', '2022-03-15 00:25:56', X'00'),
+('1152', '11', 'FTP 鏈嶅姟鍣�', '11', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:26:06', '1', '2022-03-15 00:26:10', X'00'),
+('1153', '12', 'SFTP 鏈嶅姟鍣�', '12', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:26:22', '1', '2022-03-15 00:26:22', X'00'),
+('1154', '20', 'S3 瀵硅薄瀛樺偍', '20', 'infra_file_storage', '0', 'default', '', NULL, '1', '2022-03-15 00:26:31', '1', '2022-03-15 00:26:45', X'00'),
+('1155', '103', '鐭俊鐧诲綍', '103', 'system_login_type', '0', 'default', '', NULL, '1', '2022-05-09 23:57:58', '1', '2022-05-09 23:58:09', X'00'),
+('1156', '1', 'password', 'password', 'system_oauth2_grant_type', '0', 'default', '', '瀵嗙爜妯″紡', '1', '2022-05-12 00:22:05', '1', '2022-05-11 16:26:01', X'00'),
+('1157', '2', 'authorization_code', 'authorization_code', 'system_oauth2_grant_type', '0', 'primary', '', '鎺堟潈鐮佹ā寮�', '1', '2022-05-12 00:22:59', '1', '2022-05-11 16:26:02', X'00'),
+('1158', '3', 'implicit', 'implicit', 'system_oauth2_grant_type', '0', 'success', '', '绠�鍖栨ā寮�', '1', '2022-05-12 00:23:40', '1', '2022-05-11 16:26:05', X'00'),
+('1159', '4', 'client_credentials', 'client_credentials', 'system_oauth2_grant_type', '0', 'default', '', '瀹㈡埛绔ā寮�', '1', '2022-05-12 00:23:51', '1', '2022-05-11 16:26:08', X'00'),
+('1160', '5', 'refresh_token', 'refresh_token', 'system_oauth2_grant_type', '0', 'info', '', '鍒锋柊妯″紡', '1', '2022-05-12 00:24:02', '1', '2022-05-11 16:26:11', X'00'),
+('1162', '1', '閿�鍞腑', '1', 'product_spu_status', '0', 'success', '', '鍟嗗搧 SPU 鐘舵�� - 閿�鍞腑', '1', '2022-10-24 21:19:47', '1', '2022-10-24 21:20:38', X'00'),
+('1163', '0', '浠撳簱涓�', '0', 'product_spu_status', '0', 'info', '', '鍟嗗搧 SPU 鐘舵�� - 浠撳簱涓�', '1', '2022-10-24 21:20:54', '1', '2022-10-24 21:21:22', X'00'),
+('1164', '0', '鍥炴敹绔�', '-1', 'product_spu_status', '0', 'default', '', '鍟嗗搧 SPU 鐘舵�� - 鍥炴敹绔�', '1', '2022-10-24 21:21:11', '1', '2022-10-24 21:21:11', X'00'),
+('1165', '1', '婊″噺', '1', 'promotion_discount_type', '0', 'success', '', '浼樻儬绫诲瀷 - 婊″噺', '1', '2022-11-01 12:46:41', '1', '2022-11-01 12:50:11', X'00'),
+('1166', '2', '鎶樻墸', '2', 'promotion_discount_type', '0', 'primary', '', '浼樻儬绫诲瀷 - 鎶樻墸', '1', '2022-11-01 12:46:51', '1', '2022-11-01 12:50:08', X'00'),
+('1167', '1', '鍥哄畾鏃ユ湡', '1', 'promotion_coupon_template_validity_type', '0', 'default', '', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨� - 鍥哄畾鏃ユ湡', '1', '2022-11-02 00:07:34', '1', '2022-11-04 00:07:49', X'00'),
+('1168', '2', '棰嗗彇涔嬪悗', '2', 'promotion_coupon_template_validity_type', '0', 'default', '', '浼樻儬鍔垫ā鏉跨殑鏈夐檺鏈熺被鍨� - 棰嗗彇涔嬪悗', '1', '2022-11-02 00:07:54', '1', '2022-11-04 00:07:52', X'00'),
+('1169', '1', '閫氱敤鍔�', '1', 'promotion_product_scope', '0', 'default', '', '钀ラ攢鐨勫晢鍝佽寖鍥� - 鍏ㄩ儴鍟嗗搧鍙備笌', '1', '2022-11-02 00:28:22', '1', '2023-09-28 00:27:42', X'00'),
+('1170', '2', '鍟嗗搧鍔�', '2', 'promotion_product_scope', '0', 'default', '', '钀ラ攢鐨勫晢鍝佽寖鍥� - 鎸囧畾鍟嗗搧鍙備笌', '1', '2022-11-02 00:28:34', '1', '2023-09-28 00:27:44', X'00'),
+('1171', '1', '鏈娇鐢�', '1', 'promotion_coupon_status', '0', 'primary', '', '浼樻儬鍔电殑鐘舵�� - 宸查鍙�', '1', '2022-11-04 00:15:08', '1', '2023-10-03 12:54:38', X'00'),
+('1172', '2', '宸蹭娇鐢�', '2', 'promotion_coupon_status', '0', 'success', '', '浼樻儬鍔电殑鐘舵�� - 宸蹭娇鐢�', '1', '2022-11-04 00:15:21', '1', '2022-11-04 19:16:08', X'00'),
+('1173', '3', '宸茶繃鏈�', '3', 'promotion_coupon_status', '0', 'info', '', '浼樻儬鍔电殑鐘舵�� - 宸茶繃鏈�', '1', '2022-11-04 00:15:43', '1', '2022-11-04 19:16:12', X'00'),
+('1174', '1', '鐩存帴棰嗗彇', '1', 'promotion_coupon_take_type', '0', 'primary', '', '浼樻儬鍔电殑棰嗗彇鏂瑰紡 - 鐩存帴棰嗗彇', '1', '2022-11-04 19:13:00', '1', '2022-11-04 19:13:25', X'00'),
+('1175', '2', '鎸囧畾鍙戞斁', '2', 'promotion_coupon_take_type', '0', 'success', '', '浼樻儬鍔电殑棰嗗彇鏂瑰紡 - 鎸囧畾鍙戞斁', '1', '2022-11-04 19:13:13', '1', '2022-11-04 19:14:48', X'00'),
+('1176', '10', '鏈紑濮�', '10', 'promotion_activity_status', '0', 'primary', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 鏈紑濮�', '1', '2022-11-04 22:54:49', '1', '2022-11-04 22:55:53', X'00'),
+('1177', '20', '杩涜涓�', '20', 'promotion_activity_status', '0', 'success', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 杩涜涓�', '1', '2022-11-04 22:55:06', '1', '2022-11-04 22:55:20', X'00'),
+('1178', '30', '宸茬粨鏉�', '30', 'promotion_activity_status', '0', 'info', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 宸茬粨鏉�', '1', '2022-11-04 22:55:41', '1', '2022-11-04 22:55:41', X'00'),
+('1179', '40', '宸插叧闂�', '40', 'promotion_activity_status', '0', 'warning', '', '淇冮攢娲诲姩鐨勭姸鎬佹灇涓� - 宸插叧闂�', '1', '2022-11-04 22:56:10', '1', '2022-11-04 22:56:18', X'00'),
+('1180', '10', '婊� N 鍏�', '10', 'promotion_condition_type', '0', 'primary', '', '钀ラ攢鐨勬潯浠剁被鍨� - 婊� N 鍏�', '1', '2022-11-04 22:59:45', '1', '2022-11-04 22:59:45', X'00'),
+('1181', '20', '婊� N 浠�', '20', 'promotion_condition_type', '0', 'success', '', '钀ラ攢鐨勬潯浠剁被鍨� - 婊� N 浠�', '1', '2022-11-04 23:00:02', '1', '2022-11-04 23:00:02', X'00'),
+('1182', '10', '鐢宠鍞悗', '10', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 鐢宠鍞悗', '1', '2022-11-19 20:53:33', '1', '2022-11-19 20:54:42', X'00'),
+('1183', '20', '鍟嗗搧寰呴��璐�', '20', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗搧寰呴��璐�', '1', '2022-11-19 20:54:36', '1', '2022-11-19 20:58:58', X'00'),
+('1184', '30', '鍟嗗寰呮敹璐�', '30', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗寰呮敹璐�', '1', '2022-11-19 20:56:56', '1', '2022-11-19 20:59:20', X'00'),
+('1185', '40', '绛夊緟閫�娆�', '40', 'trade_after_sale_status', '0', 'primary', '', '浜ゆ槗鍞悗鐘舵�� - 绛夊緟閫�娆�', '1', '2022-11-19 20:59:54', '1', '2022-11-19 21:00:01', X'00'),
+('1186', '50', '閫�娆炬垚鍔�', '50', 'trade_after_sale_status', '0', 'default', '', '浜ゆ槗鍞悗鐘舵�� - 閫�娆炬垚鍔�', '1', '2022-11-19 21:00:33', '1', '2022-11-19 21:00:33', X'00'),
+('1187', '61', '涔板鍙栨秷', '61', 'trade_after_sale_status', '0', 'info', '', '浜ゆ槗鍞悗鐘舵�� - 涔板鍙栨秷', '1', '2022-11-19 21:01:29', '1', '2022-11-19 21:01:29', X'00'),
+('1188', '62', '鍟嗗鎷掔粷', '62', 'trade_after_sale_status', '0', 'info', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗鎷掔粷', '1', '2022-11-19 21:02:17', '1', '2022-11-19 21:02:17', X'00'),
+('1189', '63', '鍟嗗鎷掓敹璐�', '63', 'trade_after_sale_status', '0', 'info', '', '浜ゆ槗鍞悗鐘舵�� - 鍟嗗鎷掓敹璐�', '1', '2022-11-19 21:02:37', '1', '2022-11-19 21:03:07', X'00'),
+('1190', '10', '鍞腑閫�娆�', '10', 'trade_after_sale_type', '0', 'success', '', '浜ゆ槗鍞悗鐨勭被鍨� - 鍞腑閫�娆�', '1', '2022-11-19 21:05:05', '1', '2022-11-19 21:38:23', X'00'),
+('1191', '20', '鍞悗閫�娆�', '20', 'trade_after_sale_type', '0', 'primary', '', '浜ゆ槗鍞悗鐨勭被鍨� - 鍞悗閫�娆�', '1', '2022-11-19 21:05:32', '1', '2022-11-19 21:38:32', X'00'),
+('1192', '10', '浠呴��娆�', '10', 'trade_after_sale_way', '0', 'primary', '', '浜ゆ槗鍞悗鐨勬柟寮� - 浠呴��娆�', '1', '2022-11-19 21:39:19', '1', '2022-11-19 21:39:19', X'00'),
+('1193', '20', '閫�璐ч��娆�', '20', 'trade_after_sale_way', '0', 'success', '', '浜ゆ槗鍞悗鐨勬柟寮� - 閫�璐ч��娆�', '1', '2022-11-19 21:39:38', '1', '2022-11-19 21:39:49', X'00'),
+('1194', '10', '寰俊灏忕▼搴�', '10', 'terminal', '0', 'default', '', '缁堢 - 寰俊灏忕▼搴�', '1', '2022-12-10 10:51:11', '1', '2022-12-10 10:51:57', X'00'),
+('1195', '20', 'H5 缃戦〉', '20', 'terminal', '0', 'default', '', '缁堢 - H5 缃戦〉', '1', '2022-12-10 10:51:30', '1', '2022-12-10 10:51:59', X'00'),
+('1196', '11', '寰俊鍏紬鍙�', '11', 'terminal', '0', 'default', '', '缁堢 - 寰俊鍏紬鍙�', '1', '2022-12-10 10:54:16', '1', '2022-12-10 10:52:01', X'00'),
+('1197', '31', '鑻规灉 App', '31', 'terminal', '0', 'default', '', '缁堢 - 鑻规灉 App', '1', '2022-12-10 10:54:42', '1', '2022-12-10 10:52:18', X'00'),
+('1198', '32', '瀹夊崜 App', '32', 'terminal', '0', 'default', '', '缁堢 - 瀹夊崜 App', '1', '2022-12-10 10:55:02', '1', '2022-12-10 10:59:17', X'00'),
+('1199', '0', '鏅�氳鍗�', '0', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 鏅�氳鍗�', '1', '2022-12-10 16:34:14', '1', '2022-12-10 16:34:14', X'00'),
+('1200', '1', '绉掓潃璁㈠崟', '1', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 绉掓潃璁㈠崟', '1', '2022-12-10 16:34:26', '1', '2022-12-10 16:34:26', X'00'),
+('1201', '2', '鐮嶄环璁㈠崟', '2', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 鎷煎洟璁㈠崟', '1', '2022-12-10 16:34:36', '1', '2024-09-07 14:18:39', X'00'),
+('1202', '3', '鎷煎洟璁㈠崟', '3', 'trade_order_type', '0', 'default', '', '浜ゆ槗璁㈠崟鐨勭被鍨� - 鐮嶄环璁㈠崟', '1', '2022-12-10 16:34:48', '1', '2024-09-07 14:18:32', X'00'),
+('1203', '0', '寰呮敮浠�', '0', 'trade_order_status', '0', 'default', '', '浜ゆ槗璁㈠崟鐘舵�� - 寰呮敮浠�', '1', '2022-12-10 16:49:29', '1', '2022-12-10 16:49:29', X'00'),
+('1204', '10', '寰呭彂璐�', '10', 'trade_order_status', '0', 'primary', '', '浜ゆ槗璁㈠崟鐘舵�� - 寰呭彂璐�', '1', '2022-12-10 16:49:53', '1', '2022-12-10 16:51:17', X'00'),
+('1205', '20', '宸插彂璐�', '20', 'trade_order_status', '0', 'primary', '', '浜ゆ槗璁㈠崟鐘舵�� - 宸插彂璐�', '1', '2022-12-10 16:50:13', '1', '2022-12-10 16:51:31', X'00'),
+('1206', '30', '宸插畬鎴�', '30', 'trade_order_status', '0', 'success', '', '浜ゆ槗璁㈠崟鐘舵�� - 宸插畬鎴�', '1', '2022-12-10 16:50:30', '1', '2022-12-10 16:51:06', X'00'),
+('1207', '40', '宸插彇娑�', '40', 'trade_order_status', '0', 'danger', '', '浜ゆ槗璁㈠崟鐘舵�� - 宸插彇娑�', '1', '2022-12-10 16:50:50', '1', '2022-12-10 16:51:00', X'00'),
+('1208', '0', '鏈敭鍚�', '0', 'trade_order_item_after_sale_status', '0', 'info', '', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵�� - 鏈敭鍚�', '1', '2022-12-10 20:58:42', '1', '2022-12-10 20:59:29', X'00'),
+('1209', '10', '鍞悗涓�', '10', 'trade_order_item_after_sale_status', '0', 'primary', '', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵�� - 鍞悗涓�', '1', '2022-12-10 20:59:21', '1', '2024-07-21 17:01:24', X'00'),
+('1210', '20', '宸查��娆�', '20', 'trade_order_item_after_sale_status', '0', 'success', '', '浜ゆ槗璁㈠崟椤圭殑鍞悗鐘舵�� - 宸查��娆�', '1', '2022-12-10 20:59:46', '1', '2024-07-21 17:01:35', X'00'),
+('1211', '1', '瀹屽叏鍖归厤', '1', 'mp_auto_reply_request_match', '0', 'primary', '', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮� - 瀹屽叏鍖归厤', '1', '2023-01-16 23:30:39', '1', '2023-01-16 23:31:00', X'00'),
+('1212', '2', '鍗婂尮閰�', '2', 'mp_auto_reply_request_match', '0', 'success', '', '鍏紬鍙疯嚜鍔ㄥ洖澶嶇殑璇锋眰鍏抽敭瀛楀尮閰嶆ā寮� - 鍗婂尮閰�', '1', '2023-01-16 23:30:55', '1', '2023-01-16 23:31:10', X'00'),
+('1213', '1', '鏂囨湰', 'text', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鏂囨湰', '1', '2023-01-17 22:17:32', '1', '2023-01-17 22:17:39', X'00'),
+('1214', '2', '鍥剧墖', 'image', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鍥剧墖', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:19:47', X'00'),
+('1215', '3', '璇煶', 'voice', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 璇煶', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:20:08', X'00'),
+('1216', '4', '瑙嗛', 'video', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 瑙嗛', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:21:08', X'00'),
+('1217', '5', '灏忚棰�', 'shortvideo', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 灏忚棰�', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:19:59', X'00'),
+('1218', '6', '鍥炬枃', 'news', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鍥炬枃', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:22:54', X'00'),
+('1219', '7', '闊充箰', 'music', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 闊充箰', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:22:54', X'00'),
+('1220', '8', '鍦扮悊浣嶇疆', 'location', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 鍦扮悊浣嶇疆', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:23:51', X'00'),
+('1221', '9', '閾炬帴', 'link', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 閾炬帴', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:24:49', X'00'),
+('1222', '10', '浜嬩欢', 'event', 'mp_message_type', '0', 'default', '', '鍏紬鍙风殑娑堟伅绫诲瀷 - 浜嬩欢', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:24:49', X'00'),
+('1223', '0', '鍒濆鍖�', '0', 'system_mail_send_status', '0', 'primary', '', '閭欢鍙戦�佺姸鎬� - 鍒濆鍖朶n', '1', '2023-01-26 09:53:49', '1', '2023-01-26 16:36:14', X'00'),
+('1224', '10', '鍙戦�佹垚鍔�', '10', 'system_mail_send_status', '0', 'success', '', '閭欢鍙戦�佺姸鎬� - 鍙戦�佹垚鍔�', '1', '2023-01-26 09:54:28', '1', '2023-01-26 16:36:22', X'00'),
+('1225', '20', '鍙戦�佸け璐�', '20', 'system_mail_send_status', '0', 'danger', '', '閭欢鍙戦�佺姸鎬� - 鍙戦�佸け璐�', '1', '2023-01-26 09:54:50', '1', '2023-01-26 16:36:26', X'00'),
+('1226', '30', '涓嶅彂閫�', '30', 'system_mail_send_status', '0', 'info', '', '閭欢鍙戦�佺姸鎬� -  涓嶅彂閫�', '1', '2023-01-26 09:55:06', '1', '2023-01-26 16:36:36', X'00'),
+('1227', '1', '閫氱煡鍏憡', '1', 'system_notify_template_type', '0', 'primary', '', '绔欏唴淇℃ā鐗堢殑绫诲瀷 - 閫氱煡鍏憡', '1', '2023-01-28 10:35:59', '1', '2023-01-28 10:35:59', X'00'),
+('1228', '2', '绯荤粺娑堟伅', '2', 'system_notify_template_type', '0', 'success', '', '绔欏唴淇℃ā鐗堢殑绫诲瀷 - 绯荤粺娑堟伅', '1', '2023-01-28 10:36:20', '1', '2023-01-28 10:36:25', X'00'),
+('1230', '13', '鏀粯瀹濇潯鐮佹敮浠�', 'alipay_bar', 'pay_channel_code', '0', 'primary', '', '鏀粯瀹濇潯鐮佹敮浠�', '1', '2023-02-18 23:32:24', '1', '2023-07-19 20:09:23', X'00'),
+('1231', '10', 'Vue2 Element UI 鏍囧噯妯$増', '10', 'infra_codegen_front_type', '0', '', '', '', '1', '2023-04-13 00:03:55', '1', '2023-04-13 00:03:55', X'00'),
+('1232', '20', 'Vue3 Element Plus 鏍囧噯妯$増', '20', 'infra_codegen_front_type', '0', '', '', '', '1', '2023-04-13 00:04:08', '1', '2023-04-13 00:04:08', X'00'),
+('1234', '30', 'Vben2.0 Ant Design Schema 妯$増', '30', 'infra_codegen_front_type', '1', '', '', '', '1', '2023-04-13 00:04:26', '1', '2025-07-27 10:55:14', X'00'),
+('1244', '0', '鎸変欢', '1', 'trade_delivery_express_charge_mode', '0', '', '', '', '1', '2023-05-21 22:46:40', '1', '2023-05-21 22:46:40', X'00'),
+('1245', '1', '鎸夐噸閲�', '2', 'trade_delivery_express_charge_mode', '0', '', '', '', '1', '2023-05-21 22:46:58', '1', '2023-05-21 22:46:58', X'00'),
+('1246', '2', '鎸変綋绉�', '3', 'trade_delivery_express_charge_mode', '0', '', '', '', '1', '2023-05-21 22:47:18', '1', '2023-05-21 22:47:18', X'00'),
+('1335', '11', '璁㈠崟绉垎鎶垫墸', '11', 'member_point_biz_type', '0', '', '', '', '1', '2023-06-10 12:15:27', '1', '2023-10-11 07:41:43', X'00'),
+('1336', '1', '绛惧埌', '1', 'member_point_biz_type', '0', '', '', '', '1', '2023-06-10 12:15:48', '1', '2023-08-20 11:59:53', X'00'),
+('1341', '20', '宸查��娆�', '20', 'pay_order_status', '0', 'danger', '', '宸查��娆�', '1', '2023-07-19 18:05:37', '1', '2023-07-19 18:05:37', X'00'),
+('1342', '21', '璇锋眰鎴愬姛锛屼絾鏄粨鏋滃け璐�', '21', 'pay_notify_status', '0', 'warning', '', '璇锋眰鎴愬姛锛屼絾鏄粨鏋滃け璐�', '1', '2023-07-19 18:10:47', '1', '2023-07-19 18:11:38', X'00'),
+('1343', '22', '璇锋眰澶辫触', '22', 'pay_notify_status', '0', 'warning', '', NULL, '1', '2023-07-19 18:11:05', '1', '2023-07-19 18:11:27', X'00'),
+('1344', '4', '寰俊鎵爜鏀粯', 'wx_native', 'pay_channel_code', '0', 'success', '', '寰俊鎵爜鏀粯', '1', '2023-07-19 20:07:47', '1', '2023-07-19 20:09:03', X'00'),
+('1345', '5', '寰俊鏉$爜鏀粯', 'wx_bar', 'pay_channel_code', '0', 'success', '', '寰俊鏉$爜鏀粯\n', '1', '2023-07-19 20:08:06', '1', '2023-07-19 20:09:08', X'00'),
+('1346', '1', '鏀粯鍗�', '1', 'pay_notify_type', '0', 'primary', '', '鏀粯鍗�', '1', '2023-07-20 12:23:17', '1', '2023-07-20 12:23:17', X'00'),
+('1347', '2', '閫�娆惧崟', '2', 'pay_notify_type', '0', 'danger', '', NULL, '1', '2023-07-20 12:23:26', '1', '2023-07-20 12:23:26', X'00'),
+('1348', '20', '妯℃嫙鏀粯', 'mock', 'pay_channel_code', '0', 'default', '', '妯℃嫙鏀粯', '1', '2023-07-29 11:10:51', '1', '2023-07-29 03:14:10', X'00'),
+('1349', '12', '璁㈠崟绉垎鎶垫墸锛堟暣鍗曞彇娑堬級', '12', 'member_point_biz_type', '0', '', '', '', '1', '2023-08-20 12:00:03', '1', '2023-10-11 07:42:01', X'00'),
+('1350', '0', '绠$悊鍛樿皟鏁�', '0', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1351', '1', '閭�鏂板鍔�', '1', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1352', '11', '涓嬪崟濂栧姳', '11', 'member_experience_biz_type', '0', 'success', '', NULL, '', '2023-08-22 12:41:01', '1', '2023-10-11 07:45:09', X'00'),
+('1353', '12', '涓嬪崟濂栧姳锛堟暣鍗曞彇娑堬級', '12', 'member_experience_biz_type', '0', 'warning', '', NULL, '', '2023-08-22 12:41:01', '1', '2023-10-11 07:45:01', X'00'),
+('1354', '4', '绛惧埌濂栧姳', '4', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1355', '5', '鎶藉濂栧姳', '5', 'member_experience_biz_type', '0', '', '', NULL, '', '2023-08-22 12:41:01', '', '2023-08-22 12:41:01', X'00'),
+('1356', '1', '蹇�掑彂璐�', '1', 'trade_delivery_type', '0', '', '', '', '1', '2023-08-23 00:04:55', '1', '2023-08-23 00:04:55', X'00'),
+('1357', '2', '鐢ㄦ埛鑷彁', '2', 'trade_delivery_type', '0', '', '', '', '1', '2023-08-23 00:05:05', '1', '2023-08-23 00:05:05', X'00'),
+('1358', '3', '鍝佺被鍔�', '3', 'promotion_product_scope', '0', 'default', '', '', '1', '2023-09-01 23:43:07', '1', '2023-09-28 00:27:47', X'00'),
+('1359', '1', '浜轰汉鍒嗛攢', '1', 'brokerage_enabled_condition', '0', '', '', '鎵�鏈夌敤鎴烽兘鍙互鍒嗛攢', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1360', '2', '鎸囧畾鍒嗛攢', '2', 'brokerage_enabled_condition', '0', '', '', '浠呭彲鍚庡彴鎵嬪姩璁剧疆鎺ㄥ箍鍛�', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1361', '1', '棣栨缁戝畾', '1', 'brokerage_bind_mode', '0', '', '', '鍙鐢ㄦ埛娌℃湁鎺ㄥ箍浜猴紝闅忔椂閮藉彲浠ョ粦瀹氭帹骞垮叧绯�', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1362', '2', '娉ㄥ唽缁戝畾', '2', 'brokerage_bind_mode', '0', '', '', '浠呮柊鐢ㄦ埛娉ㄥ唽鏃舵墠鑳界粦瀹氭帹骞垮叧绯�', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1363', '3', '瑕嗙洊缁戝畾', '3', 'brokerage_bind_mode', '0', '', '', '濡傛灉鐢ㄦ埛宸茬粡鏈夋帹骞夸汉锛屾帹骞夸汉浼氳鍙樻洿', '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1364', '1', '閽卞寘', '1', 'brokerage_withdraw_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1365', '2', '閾惰鍗�', '2', 'brokerage_withdraw_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1366', '3', '寰俊鏀舵鐮�', '3', 'brokerage_withdraw_type', '0', '', '', '鎵嬪姩鎵撴', '', '2023-09-28 02:46:05', '1', '2025-05-10 08:24:25', X'00'),
+('1367', '4', '鏀粯瀹濇敹娆剧爜', '4', 'brokerage_withdraw_type', '0', '', '', '鎵嬪姩鎵撴', '', '2023-09-28 02:46:05', '1', '2025-05-10 08:24:37', X'00'),
+('1368', '1', '璁㈠崟杩斾剑', '1', 'brokerage_record_biz_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1369', '2', '鐢宠鎻愮幇', '2', 'brokerage_record_biz_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1370', '3', '鐢宠鎻愮幇椹冲洖', '3', 'brokerage_record_biz_type', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1371', '0', '寰呯粨绠�', '0', 'brokerage_record_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1372', '1', '宸茬粨绠�', '1', 'brokerage_record_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1373', '2', '宸插彇娑�', '2', 'brokerage_record_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1374', '0', '瀹℃牳涓�', '0', 'brokerage_withdraw_status', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1375', '10', '瀹℃牳閫氳繃', '10', 'brokerage_withdraw_status', '0', 'success', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1376', '11', '鎻愮幇鎴愬姛', '11', 'brokerage_withdraw_status', '0', 'success', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1377', '20', '瀹℃牳涓嶉�氳繃', '20', 'brokerage_withdraw_status', '0', 'danger', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1378', '21', '鎻愮幇澶辫触', '21', 'brokerage_withdraw_status', '0', 'danger', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1379', '0', '宸ュ晢閾惰', '0', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1380', '1', '寤鸿閾惰', '1', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1381', '2', '鍐滀笟閾惰', '2', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1382', '3', '涓浗閾惰', '3', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1383', '4', '浜ら�氶摱琛�', '4', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1384', '5', '鎷涘晢閾惰', '5', 'brokerage_bank_name', '0', '', '', NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', X'00'),
+('1385', '21', '閽卞寘', 'wallet', 'pay_channel_code', '0', 'primary', '', '', '1', '2023-10-01 21:46:19', '1', '2023-10-01 21:48:01', X'00'),
+('1386', '1', '鐮嶄环涓�', '1', 'promotion_bargain_record_status', '0', 'default', '', '', '1', '2023-10-05 10:41:26', '1', '2023-10-05 10:41:26', X'00'),
+('1387', '2', '鐮嶄环鎴愬姛', '2', 'promotion_bargain_record_status', '0', 'success', '', '', '1', '2023-10-05 10:41:39', '1', '2023-10-05 10:41:39', X'00'),
+('1388', '3', '鐮嶄环澶辫触', '3', 'promotion_bargain_record_status', '0', 'warning', '', '', '1', '2023-10-05 10:41:57', '1', '2023-10-05 10:41:57', X'00'),
+('1389', '0', '鎷煎洟涓�', '0', 'promotion_combination_record_status', '0', '', '', '', '1', '2023-10-08 07:24:44', '1', '2024-10-13 10:08:17', X'00'),
+('1390', '1', '鎷煎洟鎴愬姛', '1', 'promotion_combination_record_status', '0', 'success', '', '', '1', '2023-10-08 07:24:56', '1', '2024-10-13 10:08:20', X'00'),
+('1391', '2', '鎷煎洟澶辫触', '2', 'promotion_combination_record_status', '0', 'warning', '', '', '1', '2023-10-08 07:25:11', '1', '2024-10-13 10:08:24', X'00'),
+('1392', '2', '绠$悊鍛樹慨鏀�', '2', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:41:34', '1', '2023-10-11 07:41:34', X'00'),
+('1393', '13', '璁㈠崟绉垎鎶垫墸锛堝崟涓��娆撅級', '13', 'member_point_biz_type', '0', '', '', '', '1', '2023-10-11 07:42:29', '1', '2023-10-11 07:42:29', X'00'),
+('1394', '21', '璁㈠崟绉垎濂栧姳', '21', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:42:44', '1', '2023-10-11 07:42:44', X'00'),
+('1395', '22', '璁㈠崟绉垎濂栧姳锛堟暣鍗曞彇娑堬級', '22', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:42:55', '1', '2023-10-11 07:43:01', X'00'),
+('1396', '23', '璁㈠崟绉垎濂栧姳锛堝崟涓��娆撅級', '23', 'member_point_biz_type', '0', 'default', '', '', '1', '2023-10-11 07:43:16', '1', '2023-10-11 07:43:16', X'00'),
+('1397', '13', '涓嬪崟濂栧姳锛堝崟涓��娆撅級', '13', 'member_experience_biz_type', '0', 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', X'00'),
+('1398', '5', '缃戜笂杞处', '5', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:24', '1', '2023-10-18 21:55:24', X'00'),
+('1399', '6', '鏀粯瀹�', '6', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:38', '1', '2023-10-18 21:55:38', X'00'),
+('1400', '7', '寰俊鏀粯', '7', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:53', '1', '2023-10-18 21:55:53', X'00'),
+('1401', '8', '鍏朵粬', '8', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:56:06', '1', '2023-10-18 21:56:06', X'00'),
+('1402', '1', 'IT', '1', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:15', '1', '2024-02-18 23:30:38', X'00'),
+('1403', '2', '閲戣瀺涓�', '2', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:29', '1', '2024-02-18 23:30:43', X'00'),
+('1404', '3', '鎴垮湴浜�', '3', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:41', '1', '2024-02-18 23:30:48', X'00'),
+('1405', '4', '鍟嗕笟鏈嶅姟', '4', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:02:54', '1', '2024-02-18 23:30:54', X'00'),
+('1406', '5', '杩愯緭/鐗╂祦', '5', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:03', '1', '2024-02-18 23:31:00', X'00'),
+('1407', '6', '鐢熶骇', '6', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:13', '1', '2024-02-18 23:31:08', X'00'),
+('1408', '7', '鏀垮簻', '7', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:27', '1', '2024-02-18 23:31:13', X'00'),
+('1409', '8', '鏂囧寲浼犲獟', '8', 'crm_customer_industry', '0', 'default', '', '', '1', '2023-10-28 23:03:37', '1', '2024-02-18 23:31:20', X'00'),
+('1422', '1', 'A 锛堥噸鐐瑰鎴凤級', '1', 'crm_customer_level', '0', 'primary', '', '', '1', '2023-10-28 23:07:13', '1', '2023-10-28 23:07:13', X'00'),
+('1423', '2', 'B 锛堟櫘閫氬鎴凤級', '2', 'crm_customer_level', '0', 'info', '', '', '1', '2023-10-28 23:07:35', '1', '2023-10-28 23:07:35', X'00'),
+('1424', '3', 'C 锛堥潪浼樺厛瀹㈡埛锛�', '3', 'crm_customer_level', '0', 'default', '', '', '1', '2023-10-28 23:07:53', '1', '2023-10-28 23:07:53', X'00'),
+('1425', '1', '淇冮攢', '1', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:29', '1', '2023-10-28 23:08:29', X'00'),
+('1426', '2', '鎼滅储寮曟搸', '2', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:39', '1', '2023-10-28 23:08:39', X'00'),
+('1427', '3', '骞垮憡', '3', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:47', '1', '2023-10-28 23:08:47', X'00'),
+('1428', '4', '杞粙缁�', '4', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:08:58', '1', '2023-10-28 23:08:58', X'00'),
+('1429', '5', '绾夸笂娉ㄥ唽', '5', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:09:12', '1', '2023-10-28 23:09:12', X'00'),
+('1430', '6', '绾夸笂鍜ㄨ', '6', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:09:22', '1', '2023-10-28 23:09:22', X'00'),
+('1431', '7', '棰勭害涓婇棬', '7', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:09:39', '1', '2023-10-28 23:09:39', X'00'),
+('1432', '8', '闄屾嫓', '8', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:10:04', '1', '2023-10-28 23:10:04', X'00'),
+('1433', '9', '鐢佃瘽鍜ㄨ', '9', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:10:18', '1', '2023-10-28 23:10:18', X'00'),
+('1434', '10', '閭欢鍜ㄨ', '10', 'crm_customer_source', '0', 'default', '', '', '1', '2023-10-28 23:10:33', '1', '2023-10-28 23:10:33', X'00'),
+('1435', '10', 'Gitee', '10', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:04:42', '1', '2023-11-04 13:04:42', X'00'),
+('1436', '20', '閽夐拤', '20', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:04:54', '1', '2023-11-04 13:04:54', X'00'),
+('1437', '30', '浼佷笟寰俊', '30', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:09', '1', '2023-11-04 13:05:09', X'00'),
+('1438', '31', '寰俊鍏紬骞冲彴', '31', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:18', '1', '2023-11-04 13:05:18', X'00'),
+('1439', '32', '寰俊寮�鏀惧钩鍙�', '32', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:30', '1', '2023-11-04 13:05:30', X'00'),
+('1440', '34', '寰俊灏忕▼搴�', '34', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', X'00'),
+('1441', '1', '涓婃灦', '1', 'crm_product_status', '0', 'success', '', '', '1', '2023-10-30 21:49:34', '1', '2023-10-30 21:49:34', X'00'),
+('1442', '0', '涓嬫灦', '0', 'crm_product_status', '0', 'success', '', '', '1', '2023-10-30 21:49:13', '1', '2023-10-30 21:49:13', X'00'),
+('1443', '15', '瀛愯〃', '15', 'infra_codegen_template_type', '0', 'default', '', '', '1', '2023-11-13 23:06:16', '1', '2023-11-13 23:06:16', X'00'),
+('1444', '10', '涓昏〃锛堟爣鍑嗘ā寮忥級', '10', 'infra_codegen_template_type', '0', 'default', '', '', '1', '2023-11-14 12:32:49', '1', '2023-11-14 12:32:49', X'00'),
+('1445', '11', '涓昏〃锛圗RP 妯″紡锛�', '11', 'infra_codegen_template_type', '0', 'default', '', '', '1', '2023-11-14 12:33:05', '1', '2023-11-14 12:33:05', X'00'),
+('1446', '12', '涓昏〃锛堝唴宓屾ā寮忥級', '12', 'infra_codegen_template_type', '0', '', '', '', '1', '2023-11-14 12:33:31', '1', '2023-11-14 12:33:31', X'00'),
+('1447', '1', '璐熻矗浜�', '1', 'crm_permission_level', '0', 'default', '', '', '1', '2023-11-30 09:53:12', '1', '2023-11-30 09:53:12', X'00'),
+('1448', '2', '鍙', '2', 'crm_permission_level', '0', '', '', '', '1', '2023-11-30 09:53:29', '1', '2023-11-30 09:53:29', X'00'),
+('1449', '3', '璇诲啓', '3', 'crm_permission_level', '0', '', '', '', '1', '2023-11-30 09:53:36', '1', '2023-11-30 09:53:36', X'00'),
+('1450', '0', '鏈彁浜�', '0', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:56:59', '1', '2023-11-30 18:56:59', X'00'),
+('1451', '10', '瀹℃壒涓�', '10', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:10', '1', '2023-11-30 18:57:10', X'00'),
+('1452', '20', '瀹℃牳閫氳繃', '20', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:24', '1', '2023-11-30 18:57:24', X'00'),
+('1453', '30', '瀹℃牳涓嶉�氳繃', '30', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:32', '1', '2023-11-30 18:57:32', X'00'),
+('1454', '40', '宸插彇娑�', '40', 'crm_audit_status', '0', '', '', '', '1', '2023-11-30 18:57:42', '1', '2023-11-30 18:57:42', X'00'),
+('1456', '1', '鏀エ', '1', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:54:29', '1', '2023-10-18 21:54:29', X'00'),
+('1457', '2', '鐜伴噾', '2', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:54:41', '1', '2023-10-18 21:54:41', X'00'),
+('1458', '3', '閭斂姹囨', '3', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:54:53', '1', '2023-10-18 21:54:53', X'00'),
+('1459', '4', '鐢垫眹', '4', 'crm_receivable_return_type', '0', 'default', '', '', '1', '2023-10-18 21:55:07', '1', '2023-10-18 21:55:07', X'00'),
+('1461', '1', '涓�', '1', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:02:26', '1', '2023-12-05 23:02:26', X'00'),
+('1462', '2', '鍧�', '2', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:02:34', '1', '2023-12-05 23:02:34', X'00'),
+('1463', '3', '鍙�', '3', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:02:57', '1', '2023-12-05 23:02:57', X'00'),
+('1464', '4', '鎶�', '4', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:05', '1', '2023-12-05 23:03:05', X'00'),
+('1465', '5', '鏋�', '5', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:14', '1', '2023-12-05 23:03:14', X'00'),
+('1466', '6', '鐡�', '6', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:20', '1', '2023-12-05 23:03:20', X'00'),
+('1467', '7', '鐩�', '7', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:30', '1', '2023-12-05 23:03:30', X'00'),
+('1468', '8', '鍙�', '8', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:41', '1', '2023-12-05 23:03:41', X'00'),
+('1469', '9', '鍚�', '9', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:03:48', '1', '2023-12-05 23:03:48', X'00'),
+('1470', '10', '鍗冨厠', '10', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:03', '1', '2023-12-05 23:04:03', X'00'),
+('1471', '11', '绫�', '11', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:12', '1', '2023-12-05 23:04:12', X'00'),
+('1472', '12', '绠�', '12', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:25', '1', '2023-12-05 23:04:25', X'00'),
+('1473', '13', '濂�', '13', 'crm_product_unit', '0', '', '', '', '1', '2023-12-05 23:04:34', '1', '2023-12-05 23:04:34', X'00'),
+('1474', '1', '鎵撶數璇�', '1', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:48:20', '1', '2024-01-15 20:48:20', X'00'),
+('1475', '2', '鍙戠煭淇�', '2', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:48:31', '1', '2024-01-15 20:48:31', X'00'),
+('1476', '3', '涓婇棬鎷滆', '3', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:49:07', '1', '2024-01-15 20:49:07', X'00'),
+('1477', '4', '寰俊娌熼��', '4', 'crm_follow_up_type', '0', '', '', '', '1', '2024-01-15 20:49:15', '1', '2024-01-15 20:49:15', X'00'),
+('1482', '4', '杞处澶辫触', '20', 'pay_transfer_status', '0', 'warning', '', '', '1', '2023-10-28 16:24:16', '1', '2025-05-08 12:59:01', X'00'),
+('1483', '3', '杞处鎴愬姛', '10', 'pay_transfer_status', '0', 'success', '', '', '1', '2023-10-28 16:23:50', '1', '2025-05-08 12:58:58', X'00'),
+('1484', '2', '杞处杩涜涓�', '5', 'pay_transfer_status', '0', 'info', '', '', '1', '2023-10-28 16:23:12', '1', '2025-05-08 12:58:54', X'00'),
+('1485', '1', '绛夊緟杞处', '0', 'pay_transfer_status', '0', 'default', '', '', '1', '2023-10-28 16:21:43', '1', '2023-10-28 16:23:22', X'00'),
+('1486', '10', '鍏跺畠鍏ュ簱', '10', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-05 18:07:25', '1', '2024-02-05 18:07:43', X'00'),
+('1487', '11', '鍏跺畠鍏ュ簱锛堜綔搴燂級', '11', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-05 18:08:07', '1', '2024-02-05 19:20:16', X'00'),
+('1488', '20', '鍏跺畠鍑哄簱', '20', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-05 18:08:51', '1', '2024-02-05 18:08:51', X'00'),
+('1489', '21', '鍏跺畠鍑哄簱锛堜綔搴燂級', '21', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-05 18:09:00', '1', '2024-02-05 19:20:10', X'00'),
+('1490', '10', '瀹℃壒涓�', '10', 'erp_audit_status', '0', 'default', '', '', '1', '2024-02-06 00:00:21', '1', '2026-06-26 08:46:48', X'00'),
+('1491', '20', '瀹℃壒閫氳繃', '20', 'erp_audit_status', '0', 'success', '', '', '1', '2024-02-06 00:00:35', '1', '2026-06-26 08:46:48', X'00'),
+('1492', '30', '璋冩嫧鍏ュ簱', '30', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-07 20:34:19', '1', '2024-02-07 12:36:31', X'00'),
+('1493', '31', '璋冩嫧鍏ュ簱锛堜綔搴燂級', '31', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-07 20:34:29', '1', '2024-02-07 20:37:11', X'00'),
+('1494', '32', '璋冩嫧鍑哄簱', '32', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-07 20:34:38', '1', '2024-02-07 12:36:33', X'00'),
+('1495', '33', '璋冩嫧鍑哄簱锛堜綔搴燂級', '33', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-07 20:34:49', '1', '2024-02-07 20:37:06', X'00'),
+('1496', '40', '鐩樼泩鍏ュ簱', '40', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-08 08:53:00', '1', '2024-02-08 08:53:09', X'00'),
+('1497', '41', '鐩樼泩鍏ュ簱锛堜綔搴燂級', '41', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-08 08:53:39', '1', '2024-02-16 19:40:54', X'00'),
+('1498', '42', '鐩樹簭鍑哄簱', '42', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-08 08:54:16', '1', '2024-02-08 08:54:16', X'00'),
+('1499', '43', '鐩樹簭鍑哄簱锛堜綔搴燂級', '43', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-08 08:54:31', '1', '2024-02-16 19:40:46', X'00'),
+('1500', '50', '閿�鍞嚭搴�', '50', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-11 21:47:25', '1', '2024-02-11 21:50:40', X'00'),
+('1501', '51', '閿�鍞嚭搴擄紙浣滃簾锛�', '51', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-11 21:47:37', '1', '2024-02-11 21:51:12', X'00'),
+('1502', '60', '閿�鍞��璐у叆搴�', '60', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-12 06:51:05', '1', '2024-02-12 06:51:05', X'00'),
+('1503', '61', '閿�鍞��璐у叆搴擄紙浣滃簾锛�', '61', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-12 06:51:18', '1', '2024-02-12 06:51:18', X'00'),
+('1504', '70', '閲囪喘鍏ュ簱', '70', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-16 13:10:02', '1', '2024-02-16 13:10:02', X'00'),
+('1505', '71', '閲囪喘鍏ュ簱锛堜綔搴燂級', '71', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-16 13:10:10', '1', '2024-02-16 19:40:40', X'00'),
+('1506', '80', '閲囪喘閫�璐у嚭搴�', '80', 'erp_stock_record_biz_type', '0', '', '', '', '1', '2024-02-16 13:10:17', '1', '2024-02-16 13:10:17', X'00'),
+('1507', '81', '閲囪喘閫�璐у嚭搴擄紙浣滃簾锛�', '81', 'erp_stock_record_biz_type', '0', 'danger', '', '', '1', '2024-02-16 13:10:26', '1', '2024-02-16 19:40:33', X'00'),
+('1509', '3', '瀹℃壒涓嶉�氳繃', '3', 'bpm_process_instance_status', '0', 'danger', '', '', '1', '2024-03-16 16:12:06', '1', '2024-03-16 16:12:06', X'00'),
+('1510', '4', '宸插彇娑�', '4', 'bpm_process_instance_status', '0', 'warning', '', '', '1', '2024-03-16 16:12:22', '1', '2024-03-16 16:12:22', X'00'),
+('1511', '5', '宸查��鍥�', '5', 'bpm_task_status', '0', 'warning', '', '', '1', '2024-03-16 19:10:46', '1', '2024-03-08 22:41:40', X'00'),
+('1512', '6', '濮旀淳涓�', '6', 'bpm_task_status', '0', 'primary', '', '', '1', '2024-03-17 10:06:22', '1', '2024-03-08 22:41:40', X'00'),
+('1513', '7', '瀹℃壒閫氳繃涓�', '7', 'bpm_task_status', '0', 'success', '', '', '1', '2024-03-17 10:06:47', '1', '2024-03-08 22:41:41', X'00'),
+('1514', '0', '寰呭鎵�', '0', 'bpm_task_status', '0', 'info', '', '', '1', '2024-03-17 10:07:11', '1', '2024-03-08 22:41:42', X'00'),
+('1515', '35', '鍙戣捣浜鸿嚜閫�', '35', 'bpm_task_candidate_strategy', '0', '', '', '', '1', '2024-03-22 19:45:16', '1', '2024-03-22 19:45:16', X'00'),
+('1516', '1', '鎵ц鐩戝惉鍣�', 'execution', 'bpm_process_listener_type', '0', 'primary', '', '', '1', '2024-03-23 12:54:03', '1', '2024-03-23 19:14:19', X'00'),
+('1517', '1', '浠诲姟鐩戝惉鍣�', 'task', 'bpm_process_listener_type', '0', 'success', '', '', '1', '2024-03-23 12:54:13', '1', '2024-03-23 19:14:24', X'00'),
+('1526', '1', 'Java 绫�', 'class', 'bpm_process_listener_value_type', '0', 'primary', '', '', '1', '2024-03-23 15:08:45', '1', '2024-03-23 19:14:32', X'00'),
+('1527', '2', '琛ㄨ揪寮�', 'expression', 'bpm_process_listener_value_type', '0', 'success', '', '', '1', '2024-03-23 15:09:06', '1', '2024-03-23 19:14:38', X'00'),
+('1528', '3', '浠g悊琛ㄨ揪寮�', 'delegateExpression', 'bpm_process_listener_value_type', '0', 'info', '', '', '1', '2024-03-23 15:11:23', '1', '2024-03-23 19:14:41', X'00'),
+('1529', '1', '澶�', '1', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:50:26', '1', '2024-03-29 22:50:26', X'00'),
+('1530', '2', '鍛�', '2', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:50:36', '1', '2024-03-29 22:50:36', X'00'),
+('1531', '3', '鏈�', '3', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:50:46', '1', '2024-03-29 22:50:54', X'00'),
+('1532', '4', '瀛e害', '4', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:51:01', '1', '2024-03-29 22:51:01', X'00'),
+('1533', '5', '骞�', '5', 'date_interval', '0', '', '', '', '1', '2024-03-29 22:51:07', '1', '2024-03-29 22:51:07', X'00'),
+('1537', '1', 'OpenAI', 'OpenAI', 'ai_platform', '0', '', '', '', '1', '2024-05-09 22:33:47', '1', '2024-05-09 22:58:46', X'00'),
+('1538', '2', 'Ollama', 'Ollama', 'ai_platform', '0', '', '', '', '1', '2024-05-17 23:02:55', '1', '2024-05-17 23:02:55', X'00'),
+('1539', '3', '鏂囧績涓�瑷�', 'YiYan', 'ai_platform', '0', '', '', '', '1', '2024-05-18 09:24:20', '1', '2024-05-18 09:29:01', X'00'),
+('1540', '4', '璁鏄熺伀', 'XingHuo', 'ai_platform', '0', '', '', '', '1', '2024-05-18 10:08:56', '1', '2024-05-18 10:08:56', X'00'),
+('1541', '5', '閫氫箟鍗冮棶', 'TongYi', 'ai_platform', '0', '', '', '', '1', '2024-05-18 10:32:29', '1', '2024-07-06 15:42:29', X'00'),
+('1542', '6', 'StableDiffusion', 'StableDiffusion', 'ai_platform', '0', '', '', '', '1', '2024-06-01 15:09:31', '1', '2024-06-01 15:10:25', X'00'),
+('1543', '10', '杩涜涓�', '10', 'ai_image_status', '0', 'primary', '', '', '1', '2024-06-26 20:51:41', '1', '2024-06-26 20:52:48', X'00'),
+('1544', '20', '宸插畬鎴�', '20', 'ai_image_status', '0', 'success', '', '', '1', '2024-06-26 20:52:07', '1', '2024-06-26 20:52:41', X'00'),
+('1545', '30', '宸插け璐�', '30', 'ai_image_status', '0', 'warning', '', '', '1', '2024-06-26 20:52:25', '1', '2024-06-26 20:52:35', X'00'),
+('1546', '7', 'Midjourney', 'Midjourney', 'ai_platform', '0', '', '', '', '1', '2024-06-26 22:14:46', '1', '2024-06-26 22:14:46', X'00'),
+('1547', '10', '杩涜涓�', '10', 'ai_music_status', '0', 'primary', '', '', '1', '2024-06-27 22:45:22', '1', '2024-06-28 00:56:17', X'00'),
+('1548', '20', '宸插畬鎴�', '20', 'ai_music_status', '0', 'success', '', '', '1', '2024-06-27 22:45:33', '1', '2024-06-28 00:56:18', X'00'),
+('1549', '30', '宸插け璐�', '30', 'ai_music_status', '0', 'danger', '', '', '1', '2024-06-27 22:45:44', '1', '2024-06-28 00:56:19', X'00'),
+('1550', '1', '姝岃瘝妯″紡', '1', 'ai_generate_mode', '0', '', '', '', '1', '2024-06-27 22:46:31', '1', '2024-06-28 01:22:25', X'00'),
+('1551', '2', '鎻忚堪妯″紡', '2', 'ai_generate_mode', '0', '', '', '', '1', '2024-06-27 22:46:37', '1', '2024-06-28 01:22:24', X'00'),
+('1552', '8', 'Suno', 'Suno', 'ai_platform', '0', '', '', '', '1', '2024-06-29 09:13:36', '1', '2024-06-29 09:13:41', X'00'),
+('1553', '9', 'DeepSeek', 'DeepSeek', 'ai_platform', '0', '', '', '', '1', '2024-07-06 12:04:30', '1', '2024-07-06 12:05:20', X'00'),
+('1554', '13', '鏅鸿氨', 'ZhiPu', 'ai_platform', '0', '', '', '', '1', '2024-07-06 18:00:35', '1', '2025-02-24 20:18:41', X'00'),
+('1555', '4', '闀�', '4', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:49:03', '1', '2024-07-07 15:49:03', X'00'),
+('1556', '5', '娈佃惤', '5', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:49:54', '1', '2024-07-07 15:49:54', X'00'),
+('1557', '6', '鏂囩珷', '6', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:05', '1', '2024-07-07 15:50:05', X'00'),
+('1558', '7', '鍗氬鏂囩珷', '7', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:23', '1', '2024-07-07 15:50:23', X'00'),
+('1559', '8', '鎯虫硶', '8', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:31', '1', '2024-07-07 15:50:31', X'00'),
+('1560', '9', '澶х翰', '9', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:50:37', '1', '2024-07-07 15:50:37', X'00'),
+('1561', '1', '鑷姩', '1', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:06', '1', '2024-07-07 15:51:06', X'00'),
+('1562', '2', '鍙嬪杽', '2', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:19', '1', '2024-07-07 15:51:19', X'00'),
+('1563', '3', '闅忔剰', '3', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:27', '1', '2024-07-07 15:51:27', X'00'),
+('1564', '4', '鍙嬪ソ', '4', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:37', '1', '2024-07-07 15:51:37', X'00'),
+('1565', '5', '涓撲笟', '5', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:51:49', '1', '2024-07-07 15:52:02', X'00'),
+('1566', '6', '璇欒皭', '6', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:52:15', '1', '2024-07-07 15:52:15', X'00'),
+('1567', '7', '鏈夎叮', '7', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:52:24', '1', '2024-07-07 15:52:24', X'00'),
+('1568', '8', '姝e紡', '8', 'ai_write_tone', '0', '', '', '', '1', '2024-07-07 15:54:33', '1', '2024-07-07 15:54:33', X'00'),
+('1570', '1', '鑷姩', '1', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:19:34', '1', '2024-07-07 15:19:34', X'00'),
+('1571', '2', '鐢靛瓙閭欢', '2', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:19:50', '1', '2024-07-07 15:49:30', X'00'),
+('1572', '3', '娑堟伅', '3', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:20:01', '1', '2024-07-07 15:49:38', X'00'),
+('1573', '4', '璇勮', '4', 'ai_write_format', '0', '', '', '', '1', '2024-07-07 15:20:13', '1', '2024-07-07 15:49:45', X'00'),
+('1574', '1', '鑷姩', '1', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:44:18', '1', '2024-07-07 15:44:18', X'00'),
+('1575', '2', '涓枃', '2', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:44:28', '1', '2024-07-07 15:44:28', X'00'),
+('1576', '3', '鑻辨枃', '3', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:44:37', '1', '2024-07-07 15:44:37', X'00'),
+('1577', '4', '闊╄', '4', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:46:28', '1', '2024-07-07 15:46:28', X'00'),
+('1578', '5', '鏃ヨ', '5', 'ai_write_language', '0', '', '', '', '1', '2024-07-07 15:46:44', '1', '2024-07-07 15:46:44', X'00'),
+('1579', '1', '鑷姩', '1', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:48:34', '1', '2024-07-07 15:48:34', X'00'),
+('1580', '2', '鐭�', '2', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:48:44', '1', '2024-07-07 15:48:44', X'00'),
+('1581', '3', '涓瓑', '3', 'ai_write_length', '0', '', '', '', '1', '2024-07-07 15:48:52', '1', '2024-07-07 15:48:52', X'00'),
+('1584', '1', '鎾板啓', '1', 'ai_write_type', '0', '', '', '', '1', '2024-07-10 21:26:00', '1', '2024-07-10 21:26:00', X'00'),
+('1585', '2', '鍥炲', '2', 'ai_write_type', '0', '', '', '', '1', '2024-07-10 21:26:06', '1', '2024-07-10 21:26:06', X'00'),
+('1586', '2', '鑵捐浜�', 'TENCENT', 'system_sms_channel_code', '0', '', '', '', '1', '2024-07-22 22:23:16', '1', '2024-07-22 22:23:16', X'00'),
+('1587', '3', '鍗庝负浜�', 'HUAWEI', 'system_sms_channel_code', '0', '', '', '', '1', '2024-07-22 22:23:46', '1', '2024-07-22 22:23:53', X'00'),
+('1588', '1', 'OpenAI 寰蒋', 'AzureOpenAI', 'ai_platform', '0', '', '', '', '1', '2024-08-10 14:07:41', '1', '2024-08-10 14:07:41', X'00'),
+('1589', '10', 'BPMN 璁捐鍣�', '10', 'bpm_model_type', '0', 'primary', '', '', '1', '2024-08-26 15:22:17', '1', '2024-08-26 16:46:02', X'00'),
+('1590', '20', 'SIMPLE 璁捐鍣�', '20', 'bpm_model_type', '0', 'success', '', '', '1', '2024-08-26 15:22:27', '1', '2024-08-26 16:45:58', X'00'),
+('1591', '4', '涓冪墰浜�', 'QINIU', 'system_sms_channel_code', '0', '', '', '', '1', '2024-08-31 08:45:03', '1', '2024-08-31 08:45:24', X'00'),
+('1592', '3', '鏂颁汉鍒�', '3', 'promotion_coupon_take_type', '0', 'info', '', '鏂颁汉娉ㄥ唽鍚庯紝鑷姩鍙戞斁', '1', '2024-09-03 11:57:16', '1', '2024-09-03 11:57:28', X'00'),
+('1593', '5', '寰俊闆堕挶', '5', 'brokerage_withdraw_type', '0', '', '', 'API 鎵撴', '1', '2024-10-13 11:06:48', '1', '2025-05-10 08:24:55', X'00'),
+('1683', '10', '瀛楄妭璞嗗寘', 'DouBao', 'ai_platform', '0', '', '', '', '1', '2025-02-23 19:51:40', '1', '2025-02-23 19:52:02', X'00'),
+('1684', '11', '鑵捐娣峰厓', 'HunYuan', 'ai_platform', '0', '', '', '', '1', '2025-02-23 20:58:04', '1', '2025-02-23 20:58:04', X'00'),
+('1685', '12', '纭呭熀娴佸姩', 'SiliconFlow', 'ai_platform', '0', '', '', '', '1', '2025-02-24 20:19:09', '1', '2025-02-24 20:19:09', X'00'),
+('1686', '1', '鑱婂ぉ', '1', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:26:34', '1', '2025-03-03 12:26:34', X'00'),
+('1687', '2', '鍥惧儚', '2', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:27:23', '1', '2025-03-03 12:27:23', X'00'),
+('1688', '3', '闊抽', '3', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:27:51', '1', '2025-03-03 12:27:51', X'00'),
+('1689', '4', '瑙嗛', '4', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:28:03', '1', '2025-03-03 12:28:03', X'00'),
+('1690', '5', '鍚戦噺', '5', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:28:15', '1', '2025-03-03 12:28:15', X'00'),
+('1691', '6', '閲嶆帓', '6', 'ai_model_type', '0', '', '', '', '1', '2025-03-03 12:28:26', '1', '2025-03-03 12:28:26', X'00'),
+('1692', '14', 'MiniMax', 'MiniMax', 'ai_platform', '0', '', '', '', '1', '2025-03-11 20:04:51', '1', '2025-03-11 20:04:51', X'00'),
+('1693', '15', '鏈堜箣鏆楅潰', 'Moonshot', 'ai_platform', '0', '', '', '', '1', '2025-03-11 20:05:08', '1', '2025-11-24 07:17:39', X'00'),
+('2002', '0', '鐩磋繛璁惧', '0', 'iot_product_device_type', '0', 'default', '', '', '1', '2024-08-10 11:54:58', '1', '2025-03-17 09:28:22', X'00'),
+('2003', '2', '缃戝叧璁惧', '2', 'iot_product_device_type', '0', 'default', '', '', '1', '2024-08-10 11:55:08', '1', '2025-03-17 09:28:28', X'00'),
+('2004', '1', '缃戝叧瀛愯澶�', '1', 'iot_product_device_type', '0', 'default', '', '', '1', '2024-08-10 11:55:20', '1', '2025-03-17 09:28:31', X'00'),
+('2005', '1', '宸插彂甯�', '1', 'iot_product_status', '0', 'success', '', '', '1', '2024-08-10 12:10:33', '1', '2025-03-17 09:28:34', X'00'),
+('2006', '0', '寮�鍙戜腑', '0', 'iot_product_status', '0', 'default', '', '', '1', '2024-08-10 14:19:18', '1', '2025-03-17 09:28:39', X'00'),
+('2009', '0', 'Wi-Fi', '0', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:04:47', '1', '2025-03-17 09:28:47', X'00'),
+('2010', '1', '绉诲姩缃戠粶', '1', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:05:14', '1', '2025-06-12 23:27:19', X'00'),
+('2011', '2', '浠ュお缃�', '2', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:05:35', '1', '2025-03-17 09:28:51', X'00'),
+('2012', '3', '鍏朵粬', '3', 'iot_net_type', '0', '', '', '', '1', '2024-09-06 22:05:52', '1', '2025-03-17 09:28:54', X'00'),
+('2018', '0', '鏈縺娲�', '0', 'iot_device_state', '0', '', '', '', '1', '2024-09-21 08:13:34', '1', '2025-03-17 09:29:09', X'00'),
+('2019', '1', '鍦ㄧ嚎', '1', 'iot_device_state', '0', '', '', '', '1', '2024-09-21 08:13:48', '1', '2025-03-17 09:29:12', X'00'),
+('2020', '2', '绂荤嚎', '2', 'iot_device_state', '0', '', '', '', '1', '2024-09-21 08:13:59', '1', '2025-03-17 09:29:14', X'00'),
+('2021', '1', '灞炴��', '1', 'iot_thing_model_type', '0', '', '', '', '1', '2024-09-29 20:03:01', '1', '2025-03-17 09:29:24', X'00'),
+('2022', '2', '鏈嶅姟', '2', 'iot_thing_model_type', '0', '', '', '', '1', '2024-09-29 20:03:11', '1', '2025-03-17 09:29:27', X'00'),
+('2023', '3', '浜嬩欢', '3', 'iot_thing_model_type', '0', '', '', '', '1', '2024-09-29 20:03:20', '1', '2025-03-17 09:29:29', X'00'),
+('2030', '1', '鍗囨瘡鍒嗛挓', 'L/min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:24', X'00'),
+('2031', '2', '姣厠姣忓崈鍏�', 'mg/kg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:27', X'00'),
+('2032', '3', '娴婂害', 'NTU', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:31', X'00'),
+('2033', '4', 'PH鍊�', 'pH', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:36', X'00'),
+('2034', '5', '鍦熷¥EC鍊�', 'dS/m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:34:43', X'00'),
+('2035', '6', '澶槼鎬昏緪灏�', 'W/銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:20', X'00'),
+('2036', '7', '闄嶉洦閲�', 'mm/hour', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:24', X'00'),
+('2037', '8', '涔�', 'var', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:27', X'00'),
+('2038', '9', '鍘樻硦', 'cP', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:36:33', X'00'),
+('2039', '10', '楗卞拰搴�', 'aw', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:11', X'00'),
+('2040', '11', '涓�', 'pcs', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:19', X'00'),
+('2041', '12', '鍘樻柉', 'cst', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:22', X'00'),
+('2042', '13', '宸�', 'bar', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:24', X'00'),
+('2043', '14', '绾冲厠姣忓崌', 'ppt', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:27', X'00'),
+('2044', '15', '鍗佷嚎鍒嗕箣涓�', 'ppb', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2045', '16', '寰タ姣忓帢绫�', 'uS/cm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:34', X'00'),
+('2046', '17', '鐗涢】姣忓簱浠�', 'N/C', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:38', X'00'),
+('2047', '18', '浼忕壒姣忕背', 'V/m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:43', X'00'),
+('2048', '19', '婊撮��', 'ml/min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:46', X'00'),
+('2049', '20', '姣背姹炴煴', 'mmHg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:48', X'00'),
+('2050', '21', '琛�绯�', 'mmol/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:37:54', X'00'),
+('2051', '22', '姣背姣忕', 'mm/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:02', X'00'),
+('2052', '23', '杞瘡绫�', 'turn/m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2053', '24', '娆�', 'count', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:09', X'00'),
+('2054', '25', '妗�', 'gear', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:11', X'00'),
+('2055', '26', '姝�', 'stepCount', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:13', X'00'),
+('2056', '27', '鏍囧噯绔嬫柟绫虫瘡灏忔椂', 'Nm3/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:15', X'00'),
+('2057', '28', '鍗冧紡', 'kV', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:20', X'00'),
+('2058', '29', '鍗冧紡瀹�', 'kVA', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:38:24', X'00'),
+('2060', '30', '鍗冧箯', 'kVar', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2061', '31', '寰摝姣忓钩鏂瑰帢绫�', 'uw/cm2', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2062', '32', '鍙�', '鍙�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2063', '33', '鐩稿婀垮害', '%RH', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2064', '34', '绔嬫柟绫虫瘡绉�', 'm鲁/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2065', '35', '鍏枻姣忕', 'kg/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2066', '36', '杞瘡鍒嗛挓', 'r/min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2067', '37', '鍚ㄦ瘡灏忔椂', 't/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2068', '38', '鍗冨崱姣忓皬鏃�', 'KCL/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2069', '39', '鍗囨瘡绉�', 'L/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2070', '40', '鍏嗗笗', 'MPa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2071', '41', '绔嬫柟绫虫瘡灏忔椂', 'm鲁/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2072', '42', '鍗冧箯鏃�', 'kvarh', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2073', '43', '寰厠姣忓崌', '渭g/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2074', '44', '鍗冨崱璺噷', 'kcal', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2075', '45', '鍚夊瓧鑺�', 'GB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2076', '46', '鍏嗗瓧鑺�', 'MB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2077', '47', '鍗冨瓧鑺�', 'KB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2078', '48', '瀛楄妭', 'B', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2079', '49', '寰厠姣忓钩鏂瑰垎绫虫瘡澶�', '渭g/(d銕÷穌)', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2080', '50', '鏃�', '', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2081', '51', '鐧句竾鍒嗙巼', 'ppm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2082', '52', '鍍忕礌', 'pixel', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2083', '53', '鐓у害', 'Lux', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2084', '54', '閲嶅姏鍔犻�熷害', 'grav', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2085', '55', '鍒嗚礉', 'dB', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2086', '56', '鐧惧垎姣�', '%', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2087', '57', '娴佹槑', 'lm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2088', '58', '姣旂壒', 'bit', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2089', '59', '鍏嬫瘡姣崌', 'g/mL', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2090', '60', '鍏嬫瘡鍗�', 'g/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2091', '61', '姣厠姣忓崌', 'mg/L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2092', '62', '寰厠姣忕珛鏂圭背', '渭g/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2093', '63', '姣厠姣忕珛鏂圭背', 'mg/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2094', '64', '鍏嬫瘡绔嬫柟绫�', 'g/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2095', '65', '鍗冨厠姣忕珛鏂圭背', 'kg/m鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2096', '66', '绾虫硶', 'nF', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2097', '67', '鐨硶', 'pF', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2098', '68', '寰硶', '渭F', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2099', '69', '娉曟媺', 'F', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2100', '70', '娆у', '惟', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2101', '71', '寰畨', '渭A', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2102', '72', '姣畨', 'mA', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2103', '73', '鍗冨畨', 'kA', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2104', '74', '瀹夊煿', 'A', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2105', '75', '姣紡', 'mV', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2106', '76', '浼忕壒', 'V', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2107', '77', '姣', 'ms', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2108', '78', '绉�', 's', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2109', '79', '鍒嗛挓', 'min', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2110', '80', '灏忔椂', 'h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2111', '81', '鏃�', 'day', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2112', '82', '鍛�', 'week', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2113', '83', '鏈�', 'month', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2114', '84', '骞�', 'year', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2115', '85', '鑺�', 'kn', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2116', '86', '鍗冪背姣忓皬鏃�', 'km/h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2117', '87', '绫虫瘡绉�', 'm/s', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2118', '88', '瑙掔', '鈥�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2119', '89', '鍒�', '鈥�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2120', '90', '搴�', '掳', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2121', '91', '寮у害', 'rad', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2122', '92', '璧吂', 'Hz', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2123', '93', '寰摝', '渭W', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2124', '94', '姣摝', 'mW', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2125', '95', '鍗冪摝鐗�', 'kW', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2126', '96', '鐡︾壒', 'W', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2127', '97', '鍗¤矾閲�', 'cal', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2128', '98', '鍗冪摝鏃�', 'kW路h', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2129', '99', '鐡︽椂', 'Wh', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2130', '100', '鐢靛瓙浼�', 'eV', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2131', '101', '鍗冪劍', 'kJ', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2132', '102', '鐒﹁��', 'J', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2133', '103', '鍗庢皬搴�', '鈩�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2134', '104', '寮�灏旀枃', 'K', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2135', '105', '鍚�', 't', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2136', '106', '鎽勬皬搴�', '掳C', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2137', '107', '姣笗', '1e-3Pa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2026-04-05 15:53:29', X'00'),
+('2138', '108', '鐧惧笗', 'hPa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2139', '109', '鍗冨笗', 'kPa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2140', '110', '甯曟柉鍗�', 'Pa', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2141', '111', '姣厠', 'mg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2142', '112', '鍏�', 'g', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2143', '113', '鍗冨厠', 'kg', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2144', '114', '鐗�', 'N', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2145', '115', '姣崌', 'mL', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2146', '116', '鍗�', 'L', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2147', '117', '绔嬫柟姣背', 'mm鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2148', '118', '绔嬫柟鍘樼背', 'cm鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2149', '119', '绔嬫柟鍗冪背', 'km鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2150', '120', '绔嬫柟绫�', 'm鲁', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2151', '121', '鍏》', 'h銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2152', '122', '骞虫柟鍘樼背', 'c銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2153', '123', '骞虫柟姣背', 'm銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2154', '124', '骞虫柟鍗冪背', 'k銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2155', '125', '骞虫柟绫�', '銕�', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2156', '126', '绾崇背', 'nm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2157', '127', '寰背', '渭m', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2158', '128', '姣背', 'mm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2159', '129', '鍘樼背', 'cm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2160', '130', '鍒嗙背', 'dm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2161', '131', '鍗冪背', 'km', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2162', '132', '绫�', 'm', 'iot_thing_model_unit', '0', '', '', '', '1', '2024-12-13 11:08:41', '1', '2025-03-17 09:40:46', X'00'),
+('2165', '1', 'HTTP', '1', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:39:54', '1', '2025-06-24 12:44:47', X'00'),
+('2166', '2', 'TCP', '2', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:40:06', '1', '2025-06-24 12:44:46', X'00'),
+('2167', '3', 'WebSocket', '3', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:40:24', '1', '2025-06-24 12:44:45', X'00'),
+('2168', '10', 'MQTT', '10', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:40:37', '1', '2025-06-24 12:44:44', X'00'),
+('2169', '20', 'Database', '20', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:05', '1', '2025-06-24 12:44:44', X'00'),
+('2170', '21', 'Redis Stream', '21', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:18', '1', '2025-06-24 12:44:43', X'00'),
+('2171', '30', 'RocketMQ', '30', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:30', '1', '2025-06-24 12:44:42', X'00'),
+('2172', '31', 'RabbitMQ', '31', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:47', '1', '2025-06-24 12:44:41', X'00'),
+('2173', '32', 'Kafka', '32', 'iot_data_sink_type_enum', '0', 'default', '', '', '1', '2025-03-09 12:41:59', '1', '2025-06-24 12:44:39', X'00'),
+('2174', '1', '璁惧涓婁笅绾垮彉鏇�', '1', 'iot_rule_scene_trigger_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:00:01', '"1"', '2025-07-06 10:28:16', X'00'),
+('2175', '2', '鐗╂ā鍨嬪睘鎬т笂鎶�', '2', 'iot_rule_scene_trigger_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:00:09', '"1"', '2025-07-06 10:28:22', X'00'),
+('2176', '1', '璁惧鐘舵��', 'state', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:24:58', '1', '2025-03-20 15:24:58', X'00'),
+('2177', '2', '璁惧灞炴��', 'property', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:09', '1', '2025-03-20 15:25:09', X'00'),
+('2178', '3', '璁惧浜嬩欢', 'event', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:23', '1', '2025-03-20 15:25:23', X'00'),
+('2179', '4', '璁惧鏈嶅姟', 'service', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:39', '1', '2025-03-20 15:25:39', X'00'),
+('2180', '5', '璁惧閰嶇疆', 'config', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:25:51', '1', '2025-03-20 15:25:57', X'00'),
+('2181', '6', '璁惧 OTA', 'ota', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:26:17', '1', '2025-03-20 15:26:17', X'00'),
+('2182', '7', '璁惧娉ㄥ唽', 'register', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:26:35', '1', '2025-03-20 15:26:35', X'00'),
+('2183', '8', '璁惧鎷撴墤', 'topology', 'iot_device_message_type_enum', '0', 'primary', '', '', '1', '2025-03-20 15:26:46', '1', '2025-03-20 15:26:46', X'00'),
+('2184', '1', '璁惧灞炴�ц缃�', '1', 'iot_rule_scene_action_type_enum', '0', 'primary', '', '', '1', '2025-03-28 15:27:12', '"1"', '2025-07-06 10:37:33', X'00'),
+('2185', '2', '璁惧鏈嶅姟璋冪敤', '2', 'iot_rule_scene_action_type_enum', '0', 'primary', '', '', '1', '2025-03-28 15:27:25', '"1"', '2025-07-06 10:37:41', X'00'),
+('2186', '100', '鍛婅瑙﹀彂', '100', 'iot_rule_scene_action_type_enum', '0', 'primary', '', '', '1', '2025-03-28 15:27:35', '"1"', '2025-07-06 10:37:50', X'00'),
+('3000', '16', '鐧惧窛鏅鸿兘', 'BaiChuan', 'ai_platform', '0', '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', X'00'),
+('3001', '40', 'Vben5.0 Ant Design Schema 妯$増', '40', 'infra_codegen_front_type', '0', '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-09-04 23:25:12', X'00'),
+('3002', '6', '鏀粯瀹濅綑棰�', '6', 'brokerage_withdraw_type', '0', '', '', 'API 鎵撴', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', X'00'),
+('3004', '3', 'WARN', '3', 'iot_alert_level', '0', 'warning', '', '', '1', '2025-06-27 20:32:22', '1', '2025-06-27 20:34:31', X'00'),
+('3005', '1', 'INFO', '1', 'iot_alert_level', '0', 'primary', '', '', '1', '2025-06-27 20:33:28', '1', '2025-06-27 20:34:35', X'00'),
+('3006', '5', 'ERROR', '5', 'iot_alert_level', '0', 'danger', '', '', '1', '2025-06-27 20:33:50', '1', '2025-06-27 20:33:50', X'00'),
+('3007', '1', '鐭俊', '1', 'iot_alert_receive_type', '0', '', '', '', '1', '2025-06-27 22:49:30', '1', '2025-06-27 22:49:30', X'00'),
+('3008', '2', '閭', '2', 'iot_alert_receive_type', '0', '', '', '', '1', '2025-06-27 22:49:39', '1', '2025-06-27 22:50:07', X'00'),
+('3009', '3', '绔欏唴淇�', '3', 'iot_alert_receive_type', '0', '', '', '', '1', '2025-06-27 22:50:20', '1', '2025-06-27 22:50:20', X'00'),
+('3010', '1', '鍏ㄩ儴璁惧', '1', 'iot_ota_task_device_scope', '0', '', '', '', '1', '2025-07-02 09:43:09', '1', '2025-07-02 09:43:09', X'00'),
+('3011', '2', '鎸囧畾璁惧', '2', 'iot_ota_task_device_scope', '0', '', '', '', '1', '2025-07-02 09:43:15', '1', '2025-07-02 09:43:15', X'00'),
+('3012', '10', '杩涜涓�', '10', 'iot_ota_task_status', '0', 'primary', '', '', '1', '2025-07-02 09:44:01', '"1"', '2025-07-02 09:44:21', X'00'),
+('3013', '20', '宸茬粨鏉�', '20', 'iot_ota_task_status', '0', 'success', '', '', '1', '2025-07-02 09:44:14', '"1"', '2025-07-02 23:56:12', X'00'),
+('3014', '30', '宸插彇娑�', '30', 'iot_ota_task_status', '0', 'danger', '', '', '1', '2025-07-02 09:44:36', '1', '2025-07-02 09:44:36', X'00'),
+('3015', '0', '寰呮帹閫�', '0', 'iot_ota_task_record_status', '0', '', '', '', '1', '2025-07-02 09:45:16', '1', '2025-07-02 09:45:16', X'00'),
+('3016', '10', '宸叉帹閫�', '10', 'iot_ota_task_record_status', '0', '', '', '', '1', '2025-07-02 09:45:25', '1', '2025-07-02 09:45:25', X'00'),
+('3017', '20', '鍗囩骇涓�', '20', 'iot_ota_task_record_status', '0', 'primary', '', '', '1', '2025-07-02 09:45:37', '1', '2025-07-02 09:45:37', X'00'),
+('3018', '30', '鍗囩骇鎴愬姛', '30', 'iot_ota_task_record_status', '0', 'success', '', '', '1', '2025-07-02 09:45:47', '1', '2025-07-02 09:45:47', X'00'),
+('3019', '40', '鍗囩骇澶辫触', '40', 'iot_ota_task_record_status', '0', 'danger', '', '', '1', '2025-07-02 09:46:02', '1', '2025-07-02 09:46:02', X'00'),
+('3020', '50', '鍗囩骇鍙栨秷', '50', 'iot_ota_task_record_status', '0', 'warning', '', '', '1', '2025-07-02 09:46:09', '"1"', '2025-07-02 09:46:27', X'00'),
+('3024', '3', '璁惧浜嬩欢涓婃姤', '3', 'iot_rule_scene_trigger_type_enum', '0', '', '', '', '1', '2025-07-06 10:28:29', '1', '2025-07-06 10:28:29', X'00'),
+('3025', '4', '璁惧鏈嶅姟璋冪敤', '4', 'iot_rule_scene_trigger_type_enum', '0', '', '', '', '1', '2025-07-06 10:28:35', '1', '2025-07-06 10:28:35', X'00'),
+('3026', '100', '瀹氭椂瑙﹀彂', '100', 'iot_rule_scene_trigger_type_enum', '0', '', '', '', '1', '2025-07-06 10:28:48', '1', '2025-07-06 10:28:48', X'00'),
+('3027', '101', '鍛婅鎭㈠', '101', 'iot_rule_scene_action_type_enum', '0', '', '', '', '1', '2025-07-06 10:37:57', '1', '2025-07-06 10:37:57', X'00'),
+('3028', '2', 'Anthropic', 'Anthropic', 'ai_platform', '0', '', '', '', '1', '2025-08-21 22:54:24', '1', '2025-08-21 22:57:58', X'00'),
+('3029', '2', '璋锋瓕 Gemini', 'Gemini', 'ai_platform', '0', '', '', '', '1', '2025-08-22 22:39:35', '1', '2025-08-22 22:44:49', X'00'),
+('3030', '1', '鏂囦欢绯荤粺', 'filesystem', 'ai_mcp_client_name', '0', '', '', '', '1', '2025-08-28 13:58:43', '1', '2025-08-28 21:19:42', X'00'),
+('3031', '41', 'Vben5.0 Ant Design 鏍囧噯妯$増', '41', 'infra_codegen_front_type', '0', '', '', '', '1', '2025-09-04 23:26:07', '1', '2025-09-04 23:26:07', X'00'),
+('3032', '50', 'Vben5.0 Element Plus Schema 妯$増', '50', 'infra_codegen_front_type', '0', '', '', '', '1', '2025-09-04 23:26:38', '1', '2025-09-04 23:26:38', X'00'),
+('3033', '51', 'Vben5.0 Element Plus 鏍囧噯妯$増', '51', 'infra_codegen_front_type', '0', '', '', '', '1', '2025-09-04 23:26:49', '1', '2025-09-04 23:26:49', X'00'),
+('3034', '1', 'ttt', 'tt', 'iot_ota_task_record_status', '0', 'success', '', NULL, '1', '2025-09-06 00:02:21', '1', '2025-09-06 00:02:31', X'00'),
+('3035', '40', '鏀粯瀹濆皬绋嬪簭', '40', 'system_social_type', '0', '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', X'00'),
+('3036', '60', 'Admin Uniapp 绉诲姩绔�', '60', 'infra_codegen_front_type', '0', '', '', NULL, '1', '2025-12-16 19:25:51', '1', '2025-12-17 09:46:15', X'00'),
+('3037', '42', 'Vben5.0 Antdv Next Schema 妯$増', '42', 'infra_codegen_front_type', '0', '', '', '', '1', '2026-05-23 13:52:25', '1', '2026-05-23 13:52:25', X'00'),
+('3038', '43', 'Vben5.0 Antdv Next 鏍囧噯妯$増', '43', 'infra_codegen_front_type', '0', '', '', '', '1', '2026-05-23 13:52:25', '1', '2026-05-23 13:52:25', X'00'),
+('3040', '1', 'UDP', 'udp', 'iot_protocol_type', '0', '', '', 'UDP 鍗忚', '1', '2026-02-04 00:32:47', '1', '2026-02-04 00:32:47', X'00'),
+('3041', '2', 'WebSocket', 'websocket', 'iot_protocol_type', '0', '', '', 'WebSocket 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3042', '3', 'HTTP', 'http', 'iot_protocol_type', '0', '', '', 'HTTP 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3043', '4', 'MQTT', 'mqtt', 'iot_protocol_type', '0', 'success', '', 'MQTT 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3044', '5', 'EMQX', 'emqx', 'iot_protocol_type', '0', 'success', '', 'EMQX 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3045', '6', 'CoAP', 'coap', 'iot_protocol_type', '0', '', '', 'CoAP 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-04 00:32:55', X'00'),
+('3046', '7', 'Modbus TCP Server', 'modbus_tcp_server', 'iot_protocol_type', '0', '', '', 'Modbus TCP Server 鍗忚', '1', '2026-02-04 00:32:55', '1', '2026-02-12 15:16:45', X'00'),
+('3047', '0', 'JSON', 'json', 'iot_serialize_type', '0', 'success', '', 'JSON 鏍煎紡', '1', '2026-02-04 00:33:19', '1', '2026-02-04 00:33:19', X'00'),
+('3048', '1', '浜岃繘鍒�', 'binary', 'iot_serialize_type', '0', 'warning', '', '浜岃繘鍒舵牸寮�', '1', '2026-02-04 00:33:19', '1', '2026-02-04 00:33:19', X'00'),
+('3049', '8', 'Modbus TCP Client', 'modbus_tcp_client', 'iot_protocol_type', '0', '', '', 'Modbus TCP Client 鍗忚', '1', '2026-02-08 18:29:46', '1', '2026-02-12 15:16:32', X'00'),
+('3050', '2', '杈圭紭閲囬泦', '2', 'iot_modbus_mode', '0', 'success', '', '璁惧涓诲姩涓婃姤鏁版嵁锛屾棤闇�杞', '1', '2025-06-12 22:56:06', '1', '2026-02-09 13:03:23', X'00'),
+('3051', '1', 'Modbus TCP', '1', 'iot_modbus_frame_format', '0', 'default', '', 'MBAP 澶撮儴鏍煎紡', '1', '2025-06-12 22:56:06', '1', '2025-06-12 22:56:06', X'00'),
+('3052', '2', 'Modbus RTU', '2', 'iot_modbus_frame_format', '0', 'warning', '', 'CRC16 鏍¢獙鏍煎紡', '1', '2025-06-12 22:56:06', '1', '2025-06-12 22:56:06', X'00'),
+('3053', '1', '浜戠杞', '1', 'iot_modbus_mode', '0', 'primary', '', '缃戝叧涓诲姩杞璇诲彇璁惧瀵勫瓨鍣�', '1', '2025-06-12 22:56:06', '1', '2025-06-12 22:56:06', X'00'),
+('3054', '1', '浼佷笟瀹㈡埛', '1', 'mes_client_type', '0', 'primary', '', '', '1', '2026-02-15 14:38:25', '1', '2026-02-15 14:38:25', X'00'),
+('3055', '2', '涓汉', '2', 'mes_client_type', '0', 'success', '', '', '1', '2026-02-15 14:38:25', '1', '2026-02-15 14:38:25', X'00'),
+('3056', '1', '浼樿川渚涘簲鍟�', 'A', 'mes_vendor_level', '0', 'success', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3057', '2', '姝e父', 'B', 'mes_vendor_level', '0', 'primary', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3058', '3', '閲嶇偣鍏虫敞', 'C', 'mes_vendor_level', '0', 'warning', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3059', '4', '鍔h川渚涘簲鍟�', 'D', 'mes_vendor_level', '0', 'danger', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3060', '5', '榛戝悕鍗�', 'E', 'mes_vendor_level', '0', 'info', '', '', '1', '2026-02-15 15:59:15', '1', '2026-02-15 15:59:15', X'00'),
+('3061', '1', '鍋囨湡', '2', 'mes_cal_holiday_type', '0', 'success', '', '', '1', '2026-02-16 07:35:58', '1', '2026-02-16 11:20:42', X'00'),
+('3062', '2', '宸ヤ綔鏃�', '1', 'mes_cal_holiday_type', '0', 'primary', '', '', '1', '2026-02-16 07:35:58', '1', '2026-02-16 11:20:40', X'00'),
+('3063', '1', '鍦ㄥ簱', '1', 'mes_tm_tool_status', '0', 'success', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3064', '2', '棰嗙敤涓�', '2', 'mes_tm_tool_status', '0', 'primary', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3065', '3', '缁翠慨涓�', '3', 'mes_tm_tool_status', '0', 'warning', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3066', '4', '鎶ュ簾', '4', 'mes_tm_tool_status', '0', 'danger', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3067', '1', '瀹氭湡缁存姢', '1', 'mes_tm_mainten_type', '0', 'primary', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3068', '2', '鎸変娇鐢ㄦ鏁扮淮鎶�', '2', 'mes_tm_mainten_type', '0', 'success', '', '', '1', '2026-02-16 11:10:55', '1', '2026-02-16 11:10:55', X'00'),
+('3069', '1', '鍋滄満', '1', 'mes_dv_machinery_status', '0', 'success', '', '', '1', '2026-02-17 01:00:06', '1', '2026-02-17 03:28:27', X'00'),
+('3070', '2', '鐢熶骇涓�', '2', 'mes_dv_machinery_status', '0', 'info', '', '', '1', '2026-02-17 01:00:06', '1', '2026-02-17 03:28:33', X'00'),
+('3071', '3', '缁存姢涓�', '3', 'mes_dv_machinery_status', '0', 'danger', '', '', '1', '2026-02-17 01:00:06', '1', '2026-02-17 03:28:41', X'00'),
+('3072', '1', '灏哄', '1', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3073', '2', '澶栬', '2', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3074', '3', '閲嶉噺', '3', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3075', '4', '鎬ц兘', '4', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3076', '5', '鎴愬垎', '5', 'mes_indicator_type', '0', '', '', '', '1', '2026-02-17 02:18:18', '1', '2026-04-09 14:38:53', X'00'),
+('3077', '1', '鑷村懡缂洪櫡', '1', 'mes_defect_level', '0', 'danger', '', '', '1', '2026-02-17 02:18:18', '1', '2026-02-21 12:21:12', X'00'),
+('3078', '2', '涓ラ噸缂洪櫡', '2', 'mes_defect_level', '0', 'warning', '', '', '1', '2026-02-17 02:18:18', '1', '2026-02-21 12:21:15', X'00'),
+('3079', '3', '杞诲井缂洪櫡', '3', 'mes_defect_level', '0', 'info', '', '', '1', '2026-02-17 02:18:18', '1', '2026-02-21 12:21:19', X'00'),
+('3080', '1', '鍗曠櫧鐝�', '1', 'mes_cal_shift_type', '0', 'primary', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3081', '2', '涓ょ彮鍊�', '2', 'mes_cal_shift_type', '0', 'success', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3082', '3', '涓夌彮鍊�', '3', 'mes_cal_shift_type', '0', 'warning', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3083', '1', '鎸夊搴�', '1', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3084', '2', '鎸夋湀', '2', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3085', '3', '鎸夊懆', '3', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3086', '4', '鎸夊ぉ', '4', 'mes_cal_shift_method', '0', '', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3089', '0', '鑽夌', '0', 'mes_cal_plan_status', '0', 'info', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3090', '1', '宸茬‘璁�', '1', 'mes_cal_plan_status', '0', 'success', '', '', '1', '2026-02-17 03:40:09', '1', '2026-02-17 03:40:09', X'00'),
+('3100', '0', '鑽夌', '0', 'mes_pro_work_order_status', '0', 'info', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3101', '1', '宸茬‘璁�', '1', 'mes_pro_work_order_status', '0', 'primary', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3102', '2', '宸插畬鎴�', '2', 'mes_pro_work_order_status', '0', 'success', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3103', '3', '宸插彇娑�', '3', 'mes_pro_work_order_status', '0', 'warning', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3104', '1', '瀹㈡埛璁㈠崟', '1', 'mes_pro_work_order_source_type', '0', 'primary', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3105', '2', '搴撳瓨澶囪揣', '2', 'mes_pro_work_order_source_type', '0', 'success', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3106', '1', '鑷鐢熶骇', '1', 'mes_pro_work_order_type', '0', 'primary', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3107', '2', '浠e伐', '2', 'mes_pro_work_order_type', '0', 'warning', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3108', '3', '閲囪喘', '3', 'mes_pro_work_order_type', '0', 'info', '', '', '1', '2026-02-17 11:43:47', '1', '2026-02-17 11:43:47', X'00'),
+('3121', '1', 'IQC锛堟潵鏂欐楠岋級', '1', 'mes_qc_type', '0', 'primary', '', '鏉ユ枡璐ㄩ噺妫�楠�', '1', '2026-02-18 14:12:05', '1', '2026-02-18 14:12:05', X'00'),
+('3122', '2', 'IPQC锛堣繃绋嬫楠岋級', '2', 'mes_qc_type', '0', 'warning', '', '鐢熶骇鍒剁▼璐ㄩ噺妫�楠�', '1', '2026-02-18 14:12:05', '1', '2026-03-24 15:21:34', X'00'),
+('3123', '3', 'OQC锛堝嚭璐ф楠岋級', '3', 'mes_qc_type', '0', 'success', '', '鍑鸿揣璐ㄩ噺妫�楠�', '1', '2026-02-18 14:12:05', '1', '2026-02-18 14:12:05', X'00'),
+('3124', '4', 'RQC锛堥��璐ф楠岋級', '4', 'mes_qc_type', '0', 'danger', '', '閫�璐ц川閲忔楠�', '1', '2026-02-18 14:12:05', '1', '2026-09-19 00:00:00', X'00'),
+('3125', '0', '寮�濮�-寮�濮�(SS)', '0', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭寮�濮嬪悗锛屽悗搴忓彲浠ュ紑濮�', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3126', '1', '缁撴潫-缁撴潫(FF)', '1', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭缁撴潫鍚庯紝鍚庡簭鎵嶈兘缁撴潫', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3127', '2', '寮�濮�-缁撴潫(SF)', '2', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭寮�濮嬪悗锛屽悗搴忔墠鑳界粨鏉�', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3128', '3', '缁撴潫-寮�濮�(FS)', '3', 'mes_pro_link_type', '0', 'default', '', '鍓嶅簭缁撴潫鍚庯紝鍚庡簭鎵嶈兘寮�濮�', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3129', '1', '鍒嗛挓', 'MINUTE', 'mes_time_unit_type', '0', 'default', '', '', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3130', '2', '灏忔椂', 'HOUR', 'mes_time_unit_type', '0', 'default', '', '', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3131', '3', '澶�', 'DAY', 'mes_time_unit_type', '0', 'default', '', '', '1', '2026-02-19 04:24:53', '1', '2026-02-19 04:24:53', X'00'),
+('3137', '1', '璁惧鐐规', '1', 'mes_dv_subject_type', '0', 'info', '', '', '1', '2026-02-20 01:42:58', '1', '2026-02-20 01:42:58', X'00'),
+('3138', '2', '璁惧淇濆吇', '2', 'mes_dv_subject_type', '0', 'success', '', '', '1', '2026-02-20 01:42:58', '1', '2026-02-20 01:42:58', X'00'),
+('3139', '1', '寰呬繚鍏�', '0', 'mes_mainten_record_status', '0', 'info', '', NULL, 'admin', '2026-02-20 02:59:55', '1', '2026-04-16 05:32:37', X'00'),
+('3140', '2', '宸插畬鎴�', '4', 'mes_mainten_record_status', '0', 'success', '', NULL, 'admin', '2026-02-20 02:59:55', '1', '2026-04-16 05:32:37', X'00'),
+('3141', '1', '姝e父', '1', 'mes_mainten_status', '0', 'success', '', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00'),
+('3142', '2', '寮傚父', '0', 'mes_mainten_status', '0', 'danger', '', NULL, 'admin', '2026-02-20 02:59:55', 'admin', '2026-02-20 02:59:55', X'00'),
+('3143', '1', '澶�', '1', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3144', '2', '鍛�', '2', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3145', '3', '鏈�', '3', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3146', '4', '骞�', '4', 'mes_dv_cycle_type', '0', 'default', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3147', '0', '鑽夌', '0', 'mes_dv_check_plan_status', '0', 'info', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3148', '1', '宸插惎鐢�', '1', 'mes_dv_check_plan_status', '0', 'success', '', '', '1', '2026-02-20 07:11:43', '1', '2026-02-20 07:11:43', X'00'),
+('3149', '1', '寰呯偣妫�', '10', 'mes_dv_check_record_status', '0', 'info', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3150', '2', '宸插畬鎴�', '20', 'mes_dv_check_record_status', '0', 'success', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3151', '1', '姝e父', '1', 'mes_dv_check_result', '0', 'success', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3152', '2', '寮傚父', '2', 'mes_dv_check_result', '0', 'danger', '', NULL, 'admin', '2026-02-20 09:46:19', 'admin', '2026-02-20 09:46:19', X'00'),
+('3157', '1', '淇鎴愬姛', '1', 'mes_dv_repair_result', '0', 'success', '', '', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00'),
+('3158', '2', '鎶ュ簾', '2', 'mes_dv_repair_result', '0', 'danger', '', '', '1', '2026-02-20 10:56:24', '1', '2026-02-20 10:56:24', X'00'),
+('3161', '1', '鏍¢獙閫氳繃', '1', 'mes_qc_check_result', '0', 'success', '', '', '1', '2026-02-20 11:23:35', '1', '2026-02-20 16:15:54', X'00'),
+('3162', '2', '鏍¢獙涓嶉�氳繃', '2', 'mes_qc_check_result', '0', 'danger', '', '', '1', '2026-02-20 11:23:35', '1', '2026-02-20 16:15:52', X'00'),
+('3166', '0', '鏈缃�', '0', 'mes_pro_andon_status', '0', 'danger', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3167', '1', '宸插缃�', '1', 'mes_pro_andon_status', '0', 'success', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3168', '1', '涓�绾�', '1', 'mes_pro_andon_level', '0', 'danger', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3169', '2', '浜岀骇', '2', 'mes_pro_andon_level', '0', 'warning', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3170', '3', '涓夌骇', '3', 'mes_pro_andon_level', '0', 'info', '', '', '1', '2026-02-21 00:08:38', '1', '2026-02-21 00:08:38', X'00'),
+('3171', '0', '鑽夌', '0', 'mes_pro_feedback_status', '0', 'info', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3172', '2', '瀹℃壒涓�', '2', 'mes_pro_feedback_status', '0', 'primary', '', '', '1', '2026-02-21 00:50:32', '1', '2026-03-19 00:51:54', X'00'),
+('3173', '3', '寰呮楠�', '3', 'mes_pro_feedback_status', '0', 'warning', '', '', '1', '2026-02-21 00:50:32', '1', '2026-03-19 00:51:54', X'00'),
+('3174', '4', '宸插畬鎴�', '4', 'mes_pro_feedback_status', '0', 'success', '', '', '1', '2026-02-21 00:50:32', '1', '2026-03-19 00:51:54', X'00'),
+('3176', '1', '鑷鎶ュ伐', '1', 'mes_pro_feedback_type', '0', 'primary', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3177', '2', '缁熶竴鎶ュ伐', '2', 'mes_pro_feedback_type', '0', 'success', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3178', '1', 'PC', 'PC', 'mes_pro_feedback_channel', '0', 'primary', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3179', '2', 'APP', 'APP', 'mes_pro_feedback_channel', '0', 'success', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3180', '3', 'PDA', 'PDA', 'mes_pro_feedback_channel', '0', 'info', '', '', '1', '2026-02-21 00:50:32', '1', '2026-02-21 00:50:32', X'00'),
+('3181', '1', '娴偣', '1', 'mes_qc_result_type', '0', 'primary', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3182', '2', '鏁存暟', '2', 'mes_qc_result_type', '0', 'success', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3183', '3', '鏂囨湰', '3', 'mes_qc_result_type', '0', 'info', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3184', '4', '瀛楀吀', '4', 'mes_qc_result_type', '0', 'warning', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3185', '5', '鏂囦欢', '5', 'mes_qc_result_type', '0', 'danger', '', '', '1', '2026-02-21 13:37:17', '1', '2026-02-21 13:37:17', X'00'),
+('3186', '1', '鐢熶骇閫�鏂�', '1', 'mes_rqc_type', '0', 'default', '', '鐢熶骇閫�鏂欐楠�', '1', '2026-02-22 06:44:09', '1', '2026-02-22 06:44:09', X'00'),
+('3187', '2', '閿�鍞��璐�', '2', 'mes_rqc_type', '0', 'default', '', '閿�鍞��璐ф楠�', '1', '2026-02-22 06:44:09', '1', '2026-02-22 06:44:09', X'00'),
+('3188', '1', '鑷埗宸ュ簭妫�楠�', '1', 'mes_ipqc_type', '0', 'primary', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3189', '2', '棣栨', '2', 'mes_ipqc_type', '0', 'success', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3190', '3', '宸℃', '3', 'mes_ipqc_type', '0', 'warning', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3191', '4', '鑷', '4', 'mes_ipqc_type', '0', 'info', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3192', '5', '鎴愬搧妫�楠�', '5', 'mes_ipqc_type', '0', 'danger', '', '', '1', '2026-02-22 07:01:04', '1', '2026-02-22 07:01:04', X'00'),
+('3205', '0', '鑽夌', '0', 'mes_wm_arrival_notice_status', '0', 'info', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-22 14:53:18', X'00'),
+('3206', '2', '寰呰川妫�', '2', 'mes_wm_arrival_notice_status', '0', 'warning', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-26 05:24:40', X'00'),
+('3207', '3', '寰呭叆搴�', '3', 'mes_wm_arrival_notice_status', '0', 'success', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-26 05:24:47', X'00'),
+('3208', '4', '宸插畬鎴�', '4', 'mes_wm_arrival_notice_status', '0', 'primary', '', '', '1', '2026-02-22 14:53:18', '1', '2026-02-26 05:24:52', X'00'),
+('3209', '0', '鑽夌', '0', 'mes_wm_item_receipt_status', '0', 'info', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-22 14:54:05', X'00'),
+('3210', '1', '寰呬笂鏋�', '2', 'mes_wm_item_receipt_status', '0', 'warning', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:35', X'00'),
+('3211', '2', '寰呮墽琛屽叆搴�', '3', 'mes_wm_item_receipt_status', '0', 'success', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:31', X'00'),
+('3212', '3', '宸插畬鎴�', '4', 'mes_wm_item_receipt_status', '0', 'primary', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:20', X'00'),
+('3213', '4', '宸插彇娑�', '5', 'mes_wm_item_receipt_status', '0', 'danger', '', '', '1', '2026-02-22 14:54:05', '1', '2026-02-26 08:03:24', X'00'),
+('3214', '1', '鑽夌', '0', 'mes_order_status', '0', 'info', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3215', '2', '宸茬‘璁�', '1', 'mes_order_status', '0', 'primary', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3216', '3', '瀹℃壒涓�', '2', 'mes_order_status', '0', 'warning', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3217', '4', '宸插鎵�', '3', 'mes_order_status', '0', 'success', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3218', '5', '宸插畬鎴�', '4', 'mes_order_status', '0', 'success', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3219', '6', '宸插彇娑�', '5', 'mes_order_status', '0', 'danger', '', '', '1', '2026-02-23 21:16:03', '1', '2026-02-23 21:16:03', X'00'),
+('3220', '1', '鑽夌', '0', 'mes_wm_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鏈畬鎴�', '1', '2026-02-26 15:54:25', '1', '2026-02-26 15:54:25', X'00'),
+('3221', '2', '宸插畬鎴�', '4', 'mes_wm_issue_status', '0', 'success', '', '宸插畬鎴愬嚭搴�', '1', '2026-02-26 15:54:25', '1', '2026-02-26 15:54:25', X'00'),
+('3222', '1', '鑽夌', '0', 'mes_wm_product_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3223', '2', '寰呮嫞璐�', '2', 'mes_wm_product_issue_status', '0', 'warning', '', '瀹℃壒涓紝鍙墽琛屾嫞璐�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3224', '3', '寰呮墽琛岄鍑�', '3', 'mes_wm_product_issue_status', '0', 'primary', '', '宸插鎵癸紝鎷h揣瀹屾垚', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3225', '4', '宸插畬鎴�', '4', 'mes_wm_product_issue_status', '0', 'success', '', '宸插畬鎴愬嚭搴�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3226', '5', '宸插彇娑�', '5', 'mes_wm_product_issue_status', '0', 'success', '', '宸插畬鎴愬嚭搴�', '1', '2026-02-26 16:39:12', '1', '2026-03-23 13:18:02', X'00'),
+('3232', '1', '鑽夌', '0', 'mes_wm_return_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:24', X'00'),
+('3233', '2', '寰呮楠�', '1', 'mes_wm_return_issue_status', '0', 'default', '', '宸茬‘璁わ紝绛夊緟璐ㄦ', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:28', X'00'),
+('3234', '3', '寰呬笂鏋�', '2', 'mes_wm_return_issue_status', '0', 'warning', '', '妫�楠屽畬鎴愶紝绛夊緟浠撳簱涓婃灦', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:31', X'00'),
+('3235', '4', '寰呮墽琛岄��鏂�', '3', 'mes_wm_return_issue_status', '0', 'primary', '', '涓婃灦瀹屾垚锛岀瓑寰呮墽琛岄��鏂欐搷浣�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:34', X'00'),
+('3236', '5', '宸插畬鎴�', '4', 'mes_wm_return_issue_status', '0', 'success', '', '閫�鏂欐墽琛屽畬鎴愶紝搴撳瓨宸叉洿鏂�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:37', X'00'),
+('3237', '6', '宸插彇娑�', '5', 'mes_wm_return_issue_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:28:40', X'00'),
+('3238', '1', '浣欐枡閫�鏂�', '1', 'mes_wm_return_issue_type', '0', 'success', '', '浣欐枡閫�鍥烇紝鐩存帴鍚堟牸', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:27:47', X'00'),
+('3239', '2', '涓嶈壇閫�鏂�', '2', 'mes_wm_return_issue_type', '0', 'danger', '', '涓嶈壇鍝侀��鍥�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:27:49', X'00'),
+('3240', '3', '鍏朵粬閫�鏂�', '3', 'mes_wm_return_issue_type', '0', 'info', '', '鍏朵粬鍘熷洜閫�鏂�', '1', '2026-02-28 14:11:12', '1', '2026-02-28 14:27:55', X'00'),
+('3241', '1', '寰呮', '0', 'mes_wm_quality_status', '0', 'warning', '', '寰呮鐘舵��', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00'),
+('3242', '2', '鍚堟牸', '1', 'mes_wm_quality_status', '0', 'success', '', '鍚堟牸鐘舵��', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00'),
+('3243', '3', '涓嶅悎鏍�', '2', 'mes_wm_quality_status', '0', 'danger', '', '涓嶅悎鏍肩姸鎬�', '1', '2026-02-28 15:00:53', '1', '2026-02-28 15:00:53', X'00'),
+('3244', '1', '鑽夌', '0', 'mes_wm_product_receipt_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3245', '2', '寰呬笂鏋�', '2', 'mes_wm_product_receipt_status', '0', 'primary', '', '寰呬笂鏋�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3246', '3', '寰呮墽琛屽叆搴�', '3', 'mes_wm_product_receipt_status', '0', 'warning', '', '寰呮墽琛屽叆搴�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3247', '4', '宸插畬鎴�', '4', 'mes_wm_product_receipt_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3248', '5', '宸插彇娑�', '5', 'mes_wm_product_receipt_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-03-01 06:03:07', '1', '2026-03-01 06:03:07', X'00'),
+('3252', '1', '鑽夌', '0', 'mes_wm_product_sales_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-02 08:55:11', '1', '2026-03-02 08:55:11', X'00'),
+('3253', '3', '寰呮嫞璐�', '2', 'mes_wm_product_sales_status', '0', 'warning', '', '寰呮嫞璐х姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3254', '4', '寰呭嚭搴�', '3', 'mes_wm_product_sales_status', '0', 'primary', '', '寰呭嚭搴撶姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3255', '5', '宸插畬鎴�', '4', 'mes_wm_product_sales_status', '0', 'success', '', '宸插畬鎴愮姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3256', '6', '宸插彇娑�', '5', 'mes_wm_product_sales_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-02 08:55:11', '1', '2026-03-27 11:44:48', X'00'),
+('3272', '1', '鑽夌', '0', 'mes_wm_misc_receipt_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:33:41', X'00'),
+('3273', '2', '寰呮墽琛屽叆搴�', '3', 'mes_wm_misc_receipt_status', '0', 'primary', '', '寰呮墽琛屽叆搴撶姸鎬�', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:37:34', X'00'),
+('3274', '3', '宸插畬鎴�', '4', 'mes_wm_misc_receipt_status', '0', 'success', '', '宸插畬鎴愮姸鎬�', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:33:41', X'00'),
+('3275', '4', '宸插彇娑�', '5', 'mes_wm_misc_receipt_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-03 07:33:41', '1', '2026-03-03 07:33:41', X'00'),
+('3277', '1', '搴撳瓨璋冩暣', '1', 'mes_wm_misc_receipt_type', '0', 'primary', '', '搴撳瓨璋冩暣鍏ュ簱', '1', '2026-03-03 07:34:33', '1', '2026-03-03 07:34:33', X'00'),
+('3278', '1', '搴撳瓨璋冩暣', '1', 'mes_wm_misc_issue_type', '0', 'primary', '', '搴撳瓨璋冩暣鍑哄簱', '1', '2026-03-03 07:34:33', '1', '2026-03-03 07:34:33', X'00'),
+('3279', '2', '鎶ュ簾鍑哄簱', '2', 'mes_wm_misc_issue_type', '0', 'danger', '', '鎶ュ簾鍑哄簱', '1', '2026-03-03 07:36:13', '1', '2026-03-03 07:36:13', X'00'),
+('3280', '1', '鑽夌', '0', 'mes_wm_outsource_receipt_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3281', '2', '寰呮楠�', '1', 'mes_wm_outsource_receipt_status', '0', 'warning', '', '宸茬‘璁わ紝绛夊緟璐ㄦ', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3282', '3', '寰呬笂鏋�', '2', 'mes_wm_outsource_receipt_status', '0', 'primary', '', '妫�楠屽畬鎴愶紝绛夊緟浠撳簱涓婃灦', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3283', '4', '寰呮墽琛屽叆搴�', '3', 'mes_wm_outsource_receipt_status', '0', 'warning', '', '涓婃灦瀹屾垚锛岀瓑寰呮墽琛屽叆搴撴搷浣�', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3284', '5', '宸插畬鎴�', '4', 'mes_wm_outsource_receipt_status', '0', 'success', '', '鍏ュ簱鎵ц瀹屾垚锛屽簱瀛樺凡鏇存柊', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3285', '6', '宸插彇娑�', '5', 'mes_wm_outsource_receipt_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-03-03 14:03:57', '1', '2026-03-03 14:03:57', X'00'),
+('3286', '1', '鑽夌', '0', 'mes_wm_outsource_issue_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈戙�佸垹闄ゃ�佹墽琛屽嚭搴�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3287', '2', '寰呮嫞璐�', '2', 'mes_wm_outsource_issue_status', '0', 'warning', '', '寰呮嫞璐х姸鎬�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3288', '3', '寰呮墽琛屽嚭搴�', '3', 'mes_wm_outsource_issue_status', '0', 'primary', '', '寰呮墽琛屽嚭搴撶姸鎬�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3289', '4', '宸插畬鎴�', '4', 'mes_wm_outsource_issue_status', '0', 'success', '', '宸插畬鎴愶紝搴撳瓨宸叉墸鍑�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3290', '5', '宸插彇娑�', '5', 'mes_wm_outsource_issue_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-03 16:31:00', '1', '2026-03-03 16:31:00', X'00'),
+('3301', '1', '杈撳叆瀛楃', '1', 'mes_md_auto_code_part_type', '0', 'default', '', '杈撳叆瀛楃', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3302', '2', '褰撳墠鏃ユ湡', '2', 'mes_md_auto_code_part_type', '0', 'primary', '', '褰撳墠鏃ユ湡鏃堕棿', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3303', '3', '鍥哄畾瀛楃', '3', 'mes_md_auto_code_part_type', '0', 'success', '', '鍥哄畾瀛楃', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3304', '4', '娴佹按鍙�', '4', 'mes_md_auto_code_part_type', '0', 'warning', '', '娴佹按鍙�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3305', '1', '宸﹁ˉ榻�', '1', 'mes_md_auto_code_padded_method', '0', 'primary', '', '宸﹁ˉ榻�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3306', '2', '鍙宠ˉ榻�', '2', 'mes_md_auto_code_padded_method', '0', 'success', '', '鍙宠ˉ榻�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3307', '1', '鎸夊勾', '1', 'mes_md_auto_code_cycle_method', '0', 'default', '', '鎸夊勾寰幆', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3308', '2', '鎸夋湀', '2', 'mes_md_auto_code_cycle_method', '0', 'primary', '', '鎸夋湀寰幆', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3309', '3', '鎸夊ぉ', '3', 'mes_md_auto_code_cycle_method', '0', 'success', '', '鎸夊ぉ寰幆', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3310', '4', '鎸夊皬鏃�', '4', 'mes_md_auto_code_cycle_method', '0', 'warning', '', '鎸夊皬鏃跺惊鐜�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3311', '5', '鎸夊垎閽�', '5', 'mes_md_auto_code_cycle_method', '0', 'danger', '', '鎸夊垎閽熷惊鐜�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3312', '10', '鎸変紶鍏ュ瓧绗�', '10', 'mes_md_auto_code_cycle_method', '0', 'info', '', '鎸変紶鍏ュ瓧绗﹀惊鐜�', '1', '2026-03-04 14:46:22', '1', '2026-03-04 15:24:40', X'00'),
+('3313', '1', '浜岀淮鐮�', '1', 'mes_wm_barcode_format', '0', 'primary', '', 'QR_CODE', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:21', X'00'),
+('3314', '2', 'EAN13 鍟嗗搧鏉$爜', '2', 'mes_wm_barcode_format', '0', 'success', '', 'EAN13', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:23', X'00'),
+('3315', '3', 'CODE39 宸ヤ笟鏉$爜', '3', 'mes_wm_barcode_format', '0', 'info', '', 'CODE39', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:25', X'00'),
+('3316', '4', 'UPC-A 缇庡浗鍟嗗搧鐮�', '4', 'mes_wm_barcode_format', '0', 'warning', '', 'UPC_A', '1', '2026-03-05 14:37:20', '1', '2026-03-06 13:18:28', X'00'),
+('3318', '3', '搴撲綅', '104', 'mes_wm_barcode_biz_type', '0', 'default', '', 'AREA', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3319', '4', '瑁呯鍗�', '105', 'mes_wm_barcode_biz_type', '0', 'default', '', 'PACKAGE', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3320', '5', '搴撳瓨', '106', 'mes_wm_barcode_biz_type', '0', 'default', '', 'STOCK', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3321', '6', '鎵规', '107', 'mes_wm_barcode_biz_type', '0', 'default', '', 'BATCH', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3322', '7', '娴佽浆鍗�', '300', 'mes_wm_barcode_biz_type', '0', 'primary', '', 'PROCARD', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3323', '8', '宸ュ崟', '301', 'mes_wm_barcode_biz_type', '0', 'primary', '', 'WORKORDER', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3324', '9', '娴佽浆鍗�', '302', 'mes_wm_barcode_biz_type', '0', 'primary', '', 'TRANSORDER', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3325', '10', '璁惧', '400', 'mes_wm_barcode_biz_type', '0', 'success', '', 'MACHINERY', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3327', '12', '浜у搧鐗╂枡', '600', 'mes_wm_barcode_biz_type', '0', 'info', '', 'ITEM', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3328', '13', '渚涘簲鍟�', '601', 'mes_wm_barcode_biz_type', '0', 'info', '', 'VENDOR', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3329', '14', '宸ヤ綔绔�', '602', 'mes_wm_barcode_biz_type', '0', 'info', '', 'WORKSTATION', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3330', '15', '杞﹂棿', '603', 'mes_wm_barcode_biz_type', '0', 'info', '', 'WORKSHOP', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3331', '16', '浜哄憳', '604', 'mes_wm_barcode_biz_type', '0', 'info', '', 'USER', '1', '2026-03-05 14:37:20', '1', '2026-03-07 06:25:19', X'00'),
+('3351', '1', '浠撳簱', '102', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:25:19', X'00'),
+('3352', '2', '搴撳尯', '103', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:25:19', X'00'),
+('3353', '11', '宸ュ叿', '500', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:22:27', X'00'),
+('3354', '17', '瀹㈡埛', '605', 'mes_wm_barcode_biz_type', '0', '', '', NULL, '', '2026-03-07 06:22:27', '', '2026-03-07 06:25:19', X'00'),
+('3355', '1', '鑽夌', '0', 'mes_wm_package_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-03-08 02:05:46', '1', '2026-03-08 02:05:46', X'00'),
+('3356', '2', '宸插畬鎴�', '4', 'mes_wm_package_status', '0', 'success', '', '瑁呯宸插畬鎴�', '1', '2026-03-08 02:05:46', '1', '2026-03-08 02:05:46', X'00'),
+('3357', '1', '鑽夌', '0', 'mes_wm_transfer_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙紪杈�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3358', '2', '寰呯‘璁�', '1', 'mes_wm_transfer_status', '0', 'warning', '', '澶栭儴璋冩嫧寰呯‘璁ゅ埌璐�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3359', '3', '寰呬笂鏋�', '2', 'mes_wm_transfer_status', '0', 'primary', '', '寰呯淮鎶ょ洰鏍囧簱浣嶆槑缁�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3360', '4', '寰呮墽琛�', '3', 'mes_wm_transfer_status', '0', 'success', '', '鐩爣搴撲綅宸插垎閰嶏紝寰呮墽琛岃皟鎷�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3361', '5', '宸插畬鎴�', '4', 'mes_wm_transfer_status', '0', 'success', '', '璋冩嫧宸插畬鎴�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3362', '6', '宸插彇娑�', '5', 'mes_wm_transfer_status', '0', 'danger', '', '璋冩嫧宸插彇娑�', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3363', '1', '鍐呴儴璋冩嫧', '1', 'mes_wm_transfer_type', '0', 'success', '', '鍐呴儴浠撳偍璋冩嫧', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3364', '2', '澶栭儴璋冩嫧', '2', 'mes_wm_transfer_type', '0', 'warning', '', '澶栭儴閰嶉��/澶栭儴鏀惰揣璋冩嫧', '1', '2026-03-08 11:55:25', '1', '2026-03-08 11:55:25', X'00'),
+('3365', '1', '闈欐�佺洏鐐�', '1', 'mes_wm_stock_taking_type', '0', 'primary', '', '闈欐�佺洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3366', '2', '鍔ㄦ�佺洏鐐�', '2', 'mes_wm_stock_taking_type', '0', 'success', '', '鍔ㄦ�佺洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3367', '1', '浠撳簱', '102', 'mes_wm_stock_taking_plan_param_type', '0', 'primary', '', '鎸変粨搴撶洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3368', '2', '搴撳尯', '103', 'mes_wm_stock_taking_plan_param_type', '0', 'success', '', '鎸夊簱鍖虹洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3369', '3', '搴撲綅', '104', 'mes_wm_stock_taking_plan_param_type', '0', 'info', '', '鎸夊簱浣嶇洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3370', '4', '鐗╂枡', '600', 'mes_wm_stock_taking_plan_param_type', '0', 'warning', '', '鎸夌墿鏂欑洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3371', '5', '鎵规', '107', 'mes_wm_stock_taking_plan_param_type', '0', 'danger', '', '鎸夋壒娆$洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3372', '1', '鑽夌', '0', 'mes_wm_stock_taking_task_status', '0', 'info', '', '鑽夌', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3373', '2', '瀹℃壒涓�', '2', 'mes_wm_stock_taking_task_status', '0', 'primary', '', '鐩樼偣浠诲姟瀹℃壒涓�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3374', '3', '宸插畬鎴�', '4', 'mes_wm_stock_taking_task_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3375', '4', '宸插彇娑�', '5', 'mes_wm_stock_taking_task_status', '0', 'danger', '', '宸插彇娑�', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3377', '1', '姝e父', '1', 'mes_wm_stock_taking_task_line_status', '0', 'success', '', '姝e父', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3378', '2', '鐩樼泩', '2', 'mes_wm_stock_taking_task_line_status', '0', 'primary', '', '鐩樼泩', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3379', '3', '鐩樹簭', '3', 'mes_wm_stock_taking_task_line_status', '0', 'danger', '', '鐩樹簭', '1', '2026-03-09 00:00:00', '1', '2026-04-05 15:02:18', X'00'),
+('3380', '6', '璐ㄩ噺鐘舵��', '900', 'mes_wm_stock_taking_plan_param_type', '0', 'default', '', '鎸夎川閲忕姸鎬佺洏鐐�', '1', '2026-03-09 00:00:00', '1', '2026-03-09 00:00:00', X'00'),
+('3381', '1', '鐗╂枡', 'ITEM', 'mes_md_item_or_product', '0', 'info', '', '', '1', '2026-03-15 01:55:06', '1', '2026-03-15 01:55:06', X'00'),
+('3382', '2', '浜у搧', 'PRODUCT', 'mes_md_item_or_product', '0', 'success', '', '', '1', '2026-03-15 01:55:06', '1', '2026-03-15 01:55:06', X'00'),
+('3383', '1', '鑽夌', '0', 'mes_wm_item_consume_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-19 15:06:23', '1', '2026-03-19 15:06:23', X'00'),
+('3384', '2', '宸插畬鎴�', '4', 'mes_wm_item_consume_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-03-19 15:06:23', '1', '2026-03-19 15:06:23', X'00'),
+('3385', '1', '鍒拌揣閫氱煡鍗�', '100', 'mes_qc_source_doc_type', '0', 'primary', '', 'IQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3386', '2', '澶栧崗鍏ュ簱鍗�', '121', 'mes_qc_source_doc_type', '0', 'warning', '', 'IQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3387', '3', '鐢熶骇鎶ュ伐', '304', 'mes_qc_source_doc_type', '0', 'success', '', 'IPQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3388', '4', '閿�鍞嚭搴撳崟', '118', 'mes_qc_source_doc_type', '0', 'info', '', 'OQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3389', '5', '鐢熶骇閫�鏂欏崟', '116', 'mes_qc_source_doc_type', '0', 'danger', '', 'RQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3390', '6', '閿�鍞��璐у崟', '119', 'mes_qc_source_doc_type', '0', 'default', '', 'RQC', '1', '2026-03-26 13:01:09', '1', '2026-03-26 13:01:09', X'00'),
+('3397', '2', '寰呮娴�', '1', 'mes_wm_product_sales_status', '0', 'warning', '', 'OQC 妫�楠屼腑', '1', '2026-03-27 11:44:48', '1', '2026-03-27 11:44:48', X'00'),
+('3398', '0', '鑽夌', '0', 'mes_wm_return_vendor_status', '0', 'info', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3399', '1', '寰呮嫞璐�', '2', 'mes_wm_return_vendor_status', '0', 'primary', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3400', '2', '寰呮墽琛岄��璐�', '3', 'mes_wm_return_vendor_status', '0', 'warning', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3401', '3', '宸插畬鎴�', '4', 'mes_wm_return_vendor_status', '0', 'success', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3402', '4', '宸插彇娑�', '5', 'mes_wm_return_vendor_status', '0', 'danger', '', NULL, '', '2026-03-29 13:49:57', '', '2026-04-05 15:53:46', X'00'),
+('3403', '1', '鑽夌', '0', 'mes_wm_sales_notice_status', '0', 'info', '', '鑽夌鐘舵�侊紝鍙互淇敼鍜屽垹闄�', '1', '2026-03-30 08:54:30', '1', '2026-04-05 15:53:46', X'00'),
+('3404', '2', '寰呭嚭搴�', '3', 'mes_wm_sales_notice_status', '0', 'success', '', '宸叉彁浜ょ姸鎬侊紝涓嶅彲淇敼鍜屽垹闄�', '1', '2026-03-30 08:54:30', '1', '2026-04-05 15:53:46', X'00'),
+('3405', '3', '宸插畬鎴�', '4', 'mes_wm_sales_notice_status', '0', '', '', NULL, '1', '2026-03-30 10:02:10', '1', '2026-04-05 15:53:46', X'00'),
+('3406', '1', '鑽夌', '0', 'mes_wm_misc_issue_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3407', '2', '寰呭嚭搴�', '3', 'mes_wm_misc_issue_status', '0', 'warning', '', '寰呭嚭搴撶姸鎬�', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3408', '3', '宸插畬鎴�', '4', 'mes_wm_misc_issue_status', '0', 'success', '', '鎵ц鍑哄簱鍚庣殑鐘舵��', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3409', '4', '宸插彇娑�', '5', 'mes_wm_misc_issue_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-03-30 15:00:18', '1', '2026-03-30 15:00:18', X'00'),
+('3415', '1', '娉ㄥ', '1', 'mes_cal_calendar_type', '0', 'primary', '', '', '1', '2026-04-01 15:23:14', '1', '2026-04-01 16:08:31', X'00'),
+('3416', '2', '鎶曟枡宸�', '2', 'mes_cal_calendar_type', '0', 'success', '', '', '1', '2026-04-01 15:23:14', '1', '2026-08-25 16:35:23', X'00'),
+('3417', '3', '缁勮', '3', 'mes_cal_calendar_type', '0', 'warning', '', '', '1', '2026-04-01 15:23:14', '1', '2026-04-01 16:08:33', X'00'),
+('3418', '4', '浠撳簱', '4', 'mes_cal_calendar_type', '0', 'danger', '', '', '1', '2026-04-01 15:23:14', '1', '2026-04-01 16:08:34', X'00'),
+('3419', '0', '鑽夌', '0', 'mes_dv_repair_status', '0', 'info', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3420', '1', '缁翠慨涓�', '1', 'mes_dv_repair_status', '0', 'primary', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3421', '2', '寰呴獙鏀�', '2', 'mes_dv_repair_status', '0', 'warning', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3422', '3', '宸茬‘璁�', '4', 'mes_dv_repair_status', '0', 'success', '', '', '1', '2026-04-03 17:20:23', '1', '2026-04-03 17:20:23', X'00'),
+('3423', '0', '鑽夌', '0', 'mes_wm_return_sales_status', '0', 'info', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3424', '1', '寰呮楠�', '1', 'mes_wm_return_sales_status', '0', 'warning', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3425', '2', '寰呮墽琛�', '2', 'mes_wm_return_sales_status', '0', 'warning', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3426', '3', '寰呬笂鏋�', '3', 'mes_wm_return_sales_status', '0', 'primary', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3427', '4', '宸插畬鎴�', '4', 'mes_wm_return_sales_status', '0', 'success', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3428', '5', '宸插彇娑�', '5', 'mes_wm_return_sales_status', '0', 'danger', '', '', '1', '2026-04-03 17:20:25', '1', '2026-04-03 17:20:25', X'00'),
+('3436', '1', '涓婂伐', '1', 'mes_pro_work_record_type', '0', 'success', '', '', '1', '2026-04-05 14:07:27', '1', '2026-04-05 14:07:27', X'00'),
+('3437', '2', '涓嬪伐', '2', 'mes_pro_work_record_type', '0', 'danger', '', '', '1', '2026-04-05 14:07:27', '1', '2026-04-05 14:07:27', X'00'),
+('3443', '1', '鑽夌', '0', 'mes_wm_product_produce_status', '0', 'info', '', '鑽夌鐘舵��', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00'),
+('3444', '2', '宸插畬鎴�', '4', 'mes_wm_product_produce_status', '0', 'success', '', '宸插畬鎴愮姸鎬�', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00'),
+('3445', '3', '宸插彇娑�', '5', 'mes_wm_product_produce_status', '0', 'danger', '', '宸插彇娑堢姸鎬�', '1', '2026-04-05 15:53:46', '1', '2026-04-05 15:53:46', X'00'),
+('3446', '0', '鑽夌', '0', 'mes_pro_task_status', '0', 'default', '', 'PREPARE', '1', '2026-04-16 09:47:00', '1', '2026-06-13 10:32:58', X'00'),
+('3447', '4', '宸插畬鎴�', '4', 'mes_pro_task_status', '0', 'success', '', 'FINISHED', '1', '2026-04-16 09:47:00', '1', '2026-07-22 08:00:26', X'00'),
+('3448', '2', '宸插彇娑�', '5', 'mes_pro_task_status', '0', 'danger', '', 'CANCELED', '1', '2026-04-16 09:47:00', '1', '2026-06-13 10:32:58', X'00'),
+('3525', '1', '姝e父', '0', 'im_message_status', '0', 'success', '', '姝e父锛堝垵濮嬬姸鎬侊級', 'admin', '2026-04-30 15:14:36', 'admin', '2026-06-16 03:41:55', X'00'),
+('3526', '2', '宸叉挙鍥�', '2', 'im_message_status', '0', 'danger', '', '宸叉挙鍥�', 'admin', '2026-04-30 15:14:36', 'admin', '2026-06-16 03:41:55', X'00'),
+('3530', '1', '涓嶉渶瑕佸洖鎵�', '0', 'im_message_receipt_status', '0', 'info', '', 'NO_RECEIPT', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-14 00:32:47', X'00'),
+('3531', '2', '寰呭畬鎴�', '1', 'im_message_receipt_status', '0', 'warning', '', 'PENDING', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-14 00:32:47', X'00'),
+('3532', '3', '宸插畬鎴�', '2', 'im_message_receipt_status', '0', 'success', '', 'DONE', 'admin', '2026-04-30 11:35:07', 'admin', '2026-06-14 00:32:47', X'00'),
+('3540', '1', '姝e父', '0', 'im_friend_status', '0', 'success', '', '姝e父濂藉弸鍏崇郴', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3541', '2', '宸插垹闄�', '1', 'im_friend_status', '0', 'danger', '', '宸插垹闄ゅソ鍙嬪叧绯�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3550', '1', '姝e父', '0', 'im_group_status', '0', 'success', '', '缇ゆ甯�', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3551', '2', '宸茶В鏁�', '1', 'im_group_status', '0', 'info', '', '缇ゅ凡瑙f暎', 'admin', '2026-04-30 11:35:07', 'admin', '2026-04-30 11:35:07', X'00'),
+('3552', '1', '缇や富', '1', 'im_group_member_role', '0', 'primary', '', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00'),
+('3553', '2', '绠$悊鍛�', '2', 'im_group_member_role', '0', 'warning', '', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00'),
+('3554', '3', '鏅�氭垚鍛�', '3', 'im_group_member_role', '0', 'info', '', NULL, '1', '2026-05-02 02:14:12', '1', '2026-05-02 02:14:12', X'00'),
+('3555', '1', '鎼滅储', '1', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:57', X'00'),
+('3556', '2', '缇よ亰', '2', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:53', X'00'),
+('3557', '3', '鎵爜', '3', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:50', X'00'),
+('3558', '4', '鍚嶇墖', '4', 'im_friend_add_source', '0', 'default', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-05 11:46:48', X'00'),
+('3559', '1', '绛夊緟楠岃瘉', '0', 'im_friend_request_handle_result', '0', 'warning', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00'),
+('3560', '2', '宸叉坊鍔�', '1', 'im_friend_request_handle_result', '0', 'success', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00'),
+('3561', '3', '宸叉嫆缁�', '2', 'im_friend_request_handle_result', '0', 'info', '', NULL, '1', '2026-05-04 02:43:41', '1', '2026-05-04 02:43:41', X'00'),
+('3562', '101', '鏂囨湰', '101', 'im_content_type', '0', '', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3563', '102', '鍥剧墖', '102', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3564', '103', '璇煶', '103', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3565', '104', '瑙嗛', '104', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3566', '105', '鏂囦欢', '105', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3568', '2101', '鎾ゅ洖', '2101', 'im_content_type', '0', 'danger', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3569', '2200', '鍥炴墽', '2200', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3570', '2201', '宸茶', '2201', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3571', '1501', '缇ゅ垱寤�', '1501', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3572', '1502', '缇や俊鎭彉鏇�', '1502', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3573', '1503', '鏀跺埌鏂扮殑鍏ョ兢鐢宠', '1503', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:47:00', X'00'),
+('3574', '1504', '鎴愬憳閫�缇�', '1504', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3575', '1505', '鍏ョ兢鐢宠琚悓鎰�', '1505', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:47:00', X'00'),
+('3576', '1506', '鍏ョ兢鐢宠琚嫆缁�', '1506', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:47:00', X'00'),
+('3577', '1507', '缇や富杞', '1507', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3578', '1508', '鎴愬憳琚Щ鍑�', '1508', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3579', '1509', '鎴愬憳鍔犲叆', '1509', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3580', '1510', '鑷敱杩涚兢', '1510', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3581', '1511', '缇よВ鏁�', '1511', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3582', '1512', '鎴愬憳绂佽█', '1512', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3583', '1513', '鎴愬憳鍙栨秷绂佽█', '1513', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3584', '1514', '鍏ㄧ兢绂佽█', '1514', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3585', '1515', '鍏ㄧ兢鍙栨秷绂佽█', '1515', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3586', '1516', '鎴愬憳鏄电О鍙樻洿', '1516', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3587', '1517', '娣诲姞绠$悊鍛�', '1517', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3588', '1518', '鎾ら攢绠$悊鍛�', '1518', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3589', '1519', '缇ゅ叕鍛婂彉鏇�', '1519', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3590', '1520', '缇ゅ悕鍙樻洿', '1520', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3591', '1531', '缇ゆ秷鎭疆椤�', '1531', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3592', '1532', '缇ゆ秷鎭彇娑堢疆椤�', '1532', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3593', '1533', '缇ゅ皝绂佸彉鏇�', '1533', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 11:52:30', 'admin', '2026-06-16 03:41:55', X'00'),
+('3594', '1204', '鏂板濂藉弸', '1204', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-05-05 13:26:53', 'admin', '2026-06-16 03:41:55', X'00'),
+('3595', '1205', '濂藉弸琚垹闄�', '1205', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-05-05 13:26:53', 'admin', '2026-06-16 03:41:55', X'00'),
+('3596', '1', '鎼滅储', '1', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3597', '2', '閭�璇�', '2', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3598', '3', '鎵爜', '3', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3599', '4', '鍒嗕韩閾炬帴', '4', 'im_group_add_source', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3600', '1', '鏈鐞�', '0', 'im_group_request_handle_result', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3601', '2', '鍚屾剰', '1', 'im_group_request_handle_result', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('3602', '3', '鎷掔粷', '2', 'im_group_request_handle_result', '0', '', '', NULL, '', '2026-05-06 09:26:36', '', '2026-05-06 09:26:36', X'00'),
+('1061051', '1', '瀹㈡埛', '1', 'merchant_type', '0', 'primary', '', '瀹㈡埛', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00'),
+('1061052', '2', '渚涘簲鍟�', '2', 'merchant_type', '0', 'success', '', '渚涘簲鍟�', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00'),
+('1061053', '3', '瀹㈡埛/渚涘簲鍟�', '3', 'merchant_type', '0', 'warning', '', '瀹㈡埛/渚涘簲鍟�', '1', '2026-05-10 15:26:09', '1', '2026-05-10 15:26:09', X'00'),
+('1061061', '1', '鍏ュ簱鍗�', '1', 'wms_order_type', '0', 'success', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061062', '2', '鍑哄簱鍗�', '2', 'wms_order_type', '0', 'danger', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061063', '3', '绉诲簱鍗�', '3', 'wms_order_type', '0', 'primary', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061064', '4', '鐩樺簱鍗�', '4', 'wms_order_type', '0', 'warning', '', '', '1', '2026-05-10 17:51:46', '1', '2026-05-14 08:14:09', X'00'),
+('1061071', '1', '鑽夌', '0', 'wms_order_status', '0', 'info', '', '鑽夌', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00'),
+('1061072', '2', '宸插畬鎴�', '4', 'wms_order_status', '0', 'success', '', '宸插畬鎴�', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00'),
+('1061073', '3', '宸蹭綔搴�', '5', 'wms_order_status', '0', 'danger', '', '宸蹭綔搴�', '1', '2026-05-12 13:40:29', '1', '2026-05-12 13:40:29', X'00'),
+('1061081', '1', '鐢熶骇鍏ュ簱', '100', 'wms_receipt_order_type', '0', 'success', '', '', '1', '2026-05-11 11:21:49', '1', '2026-05-14 02:21:20', X'00'),
+('1061082', '2', '閲囪喘鍏ュ簱', '101', 'wms_receipt_order_type', '0', 'primary', '', '', '1', '2026-05-11 11:21:49', '1', '2026-05-14 02:21:20', X'00'),
+('1061083', '3', '閫�璐у叆搴�', '102', 'wms_receipt_order_type', '0', 'warning', '', '', '1', '2026-05-11 11:21:49', '1', '2026-05-14 02:21:20', X'00'),
+('1061084', '4', '褰掕繕鍏ュ簱', '103', 'wms_receipt_order_type', '0', 'info', '', '', '1', '2026-05-13 16:02:33', '1', '2026-05-14 02:21:20', X'00'),
+('1061091', '1', '閫�璐у嚭搴�', '200', 'wms_shipment_order_type', '0', 'warning', '', '閫�璐у嚭搴�', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00'),
+('1061092', '2', '閿�鍞嚭搴�', '201', 'wms_shipment_order_type', '0', 'primary', '', '閿�鍞嚭搴�', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00'),
+('1061093', '3', '鐢熶骇鍑哄簱', '202', 'wms_shipment_order_type', '0', 'success', '', '鐢熶骇鍑哄簱', '1', '2026-05-12 17:48:35', '1', '2026-05-12 17:48:35', X'00'),
+('1061096', '1', '璇煶', '1', 'im_rtc_call_media_type', '0', '', '', '璇煶閫氳瘽', 'admin', '2026-05-16 11:34:50', 'admin', '2026-05-16 11:34:50', X'00'),
+('1061097', '2', '瑙嗛', '2', 'im_rtc_call_media_type', '0', '', '', '瑙嗛閫氳瘽', 'admin', '2026-05-16 11:34:50', 'admin', '2026-05-16 11:34:50', X'00'),
+('1061098', '1', '绉佽亰', '1', 'im_rtc_call_conversation_type', '0', 'primary', '', '涓�瀵逛竴绉佽亰閫氳瘽', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061099', '2', '缇よ亰', '2', 'im_rtc_call_conversation_type', '0', 'success', '', '缇ゅ唴澶氫汉閫氳瘽', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061100', '1', '鍒涘缓', '10', 'im_rtc_call_status', '0', 'info', '', '閫氳瘽宸插垱寤猴紝绛夊緟鎺ラ��', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061101', '2', '杩涜涓�', '20', 'im_rtc_call_status', '0', 'primary', '', '宸叉湁浜烘帴閫氾紝閫氳瘽涓�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061102', '3', '宸茬粨鏉�', '30', 'im_rtc_call_status', '0', 'success', '', '閫氳瘽缁撴潫', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061103', '1', '閫氳瘽缁撴潫', '1', 'im_rtc_call_end_reason', '0', 'success', '', '鎺ラ�氬悗浠讳竴鏂逛富鍔ㄦ寕鏂�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061104', '2', '宸叉嫆缁�', '2', 'im_rtc_call_end_reason', '0', 'warning', '', '琚彨鎺ラ�氬墠鐐规嫆鎺�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061105', '3', '宸插彇娑�', '3', 'im_rtc_call_end_reason', '0', 'info', '', '涓诲彨鎺ラ�氬墠涓诲姩鍙栨秷', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061106', '4', '鏃犱汉鎺ュ惉', '4', 'im_rtc_call_end_reason', '0', 'info', '', '鎸搩瓒呮椂鏈帴閫�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061107', '5', '瀵规柟姝e繖', '5', 'im_rtc_call_end_reason', '0', 'warning', '', '瀵规柟鍦ㄥ彟涓�閫氳瘽涓�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061108', '6', '閫氳瘽寮傚父', '9', 'im_rtc_call_end_reason', '0', 'danger', '', '缃戠粶涓柇銆佽澶囧け璐ョ瓑', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061109', '1', '鍙戣捣浜�', '1', 'im_rtc_participant_role', '0', 'primary', '', '閫氳瘽鍙戣捣鑰�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061110', '2', '琚個璇疯��', '2', 'im_rtc_participant_role', '0', 'info', '', '琚個璇峰姞鍏�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061111', '3', '涓诲姩鍔犲叆鑰�', '3', 'im_rtc_participant_role', '0', 'success', '', '缇ら�氳瘽鍦烘櫙锛屾梺瑙傝�呬富鍔ㄥ姞鍏�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061112', '1', '閭�璇蜂腑', '10', 'im_rtc_participant_status', '0', 'info', '', '宸插彂鍑� invite锛岀瓑寰呭搷搴�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061113', '2', '宸插姞鍏�', '20', 'im_rtc_participant_status', '0', 'primary', '', '宸叉帴閫氬苟杩涘叆鎴块棿', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1061114', '3', '宸叉嫆缁�', '30', 'im_rtc_participant_status', '0', 'warning', '', '鎺ラ�氬墠鐐规嫆鎺�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061115', '4', '鏈簲绛�', '40', 'im_rtc_participant_status', '0', 'info', '', '閫氳瘽宸茬粨鏉熶粛鏈簲绛�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061116', '5', '宸茬寮�', '50', 'im_rtc_participant_status', '0', 'success', '', '鎺ラ�氬悗鎸傛柇 / 绂诲紑', 'admin', '2026-05-18 03:36:12', 'admin', '2026-05-18 03:36:12', X'00'),
+('1061117', '1610', '閫氳瘽寮�濮�', '1610', 'im_content_type', '0', 'info', '', '鍏ユ秷鎭祦锛涚鑱婂畾鍚戦�氱煡锛岀兢鑱婂叏鍛樺箍鎾�', 'admin', '2026-05-18 03:36:12', 'admin', '2026-06-16 03:41:55', X'00'),
+('1061118', '1611', '閫氳瘽缁撴潫', '1611', 'im_content_type', '0', 'info', '', '鍏ユ秷鎭祦锛涚鑱婂噯姘旀场锛岀兢鑱婄郴缁� tip', 'admin', '2026-05-18 03:36:12', 'admin', '2026-06-16 03:41:55', X'00'),
+('1061119', '125', '绱犳潗', '125', 'im_content_type', '0', 'success', '', '棰戦亾杩愯惀鎺ㄩ�佺殑鍥炬枃鍗$墖娑堟伅', '1', '2026-05-18 13:14:34', 'admin', '2026-06-16 03:41:55', X'00'),
+('1061120', '1', '瀵屾枃鏈�', '1', 'im_channel_material_type', '0', 'primary', '', '', '1', '2026-05-19 14:09:25', '1', '2026-05-19 14:09:25', X'00'),
+('1061121', '2', '澶栭摼', '2', 'im_channel_material_type', '0', 'info', '', '', '1', '2026-05-19 14:09:25', '1', '2026-05-19 14:09:25', X'00'),
+('1061122', '7', 'SN 鐮�', '109', 'mes_wm_barcode_biz_type', '0', 'default', '', 'SN', '1', '2026-06-13 10:30:30', '1', '2026-06-13 10:30:30', X'00'),
+('1061123', '107', '鍚堝苟杞彂', '107', 'im_content_type', '0', '', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061124', '108', '鍚嶇墖', '108', 'im_content_type', '0', '', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061125', '115', '琛ㄦ儏', '115', 'im_content_type', '0', '', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061126', '1201', '濂藉弸鐢宠琚悓鎰�', '1201', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061127', '1202', '濂藉弸鐢宠琚嫆缁�', '1202', 'im_content_type', '0', 'warning', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061128', '1203', '鏀跺埌鏂扮殑濂藉弸鐢宠', '1203', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061129', '1207', '鍔犲叆榛戝悕鍗�', '1207', 'im_content_type', '0', 'danger', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061130', '1208', '绉诲嚭榛戝悕鍗�', '1208', 'im_content_type', '0', 'success', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061131', '1209', '濂藉弸璧勬枡鍙樻洿', '1209', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061132', '1210', '濂藉弸淇℃伅鎵归噺鏇存柊', '1210', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061133', '1530', '缇ゆ垚鍛樹釜浜鸿缃彉鏇�', '1530', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061134', '1601', '閫氳瘽淇′护', '1601', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061135', '1602', '閫氳瘽鍙備笌鑰呭姞鍏�', '1602', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061136', '1603', '閫氳瘽鍙備笌鑰呯寮�', '1603', 'im_content_type', '0', 'info', '', NULL, 'admin', '2026-06-16 03:47:00', 'admin', '2026-06-16 03:47:00', X'00'),
+('1061137', '10', '閿�鍞鐣�', '10', 'wms_reserve_biz_type', '0', 'primary', '', '閿�鍞鍗曢鐣欏簱瀛�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061138', '20', '鐢熶骇棰勭暀', '20', 'wms_reserve_biz_type', '0', 'success', '', '鐢熶骇宸ュ崟棰勭暀搴撳瓨', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061139', '10', '鍏ュ簱', '10', 'wms_transaction_type', '0', 'success', '', '搴撳瓨鍏ュ簱', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061140', '20', '鍑哄簱', '20', 'wms_transaction_type', '0', 'warning', '', '搴撳瓨鍑哄簱', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061141', '30', '棰勭暀', '30', 'wms_transaction_type', '0', 'primary', '', '搴撳瓨棰勭暀', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061142', '40', '閲婃斁', '40', 'wms_transaction_type', '0', 'info', '', '棰勭暀閲婃斁', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061143', '50', '鐩樼偣', '50', 'wms_transaction_type', '0', 'default', '', '搴撳瓨鐩樼偣', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061144', '60', '璋冩嫧', '60', 'wms_transaction_type', '0', 'default', '', '搴撳瓨璋冩嫧', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061145', '0', '棰勭暀涓�', '0', 'wms_reserve_status', '0', 'primary', '', '搴撳瓨棰勭暀涓�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061146', '1', '閮ㄥ垎浣跨敤', '1', 'wms_reserve_status', '0', 'warning', '', '閮ㄥ垎宸蹭娇鐢�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061147', '2', '宸蹭娇鐢�', '2', 'wms_reserve_status', '0', 'success', '', '宸插叏閮ㄤ娇鐢�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061148', '3', '宸查噴鏀�', '3', 'wms_reserve_status', '0', 'info', '', '棰勭暀宸查噴鏀�', '1', '2026-06-26 08:15:54', '1', '2026-06-26 08:15:54', X'00'),
+('1061149', '0', '鑽夌', '0', 'erp_audit_status', '0', 'info', '', '璁㈠崟鑽夌鐘舵��', '1', '2026-06-26 08:46:48', '1', '2026-06-26 08:46:48', X'00'),
+('1061150', '30', '瀹℃壒涓嶉�氳繃', '30', 'erp_audit_status', '0', 'danger', '', '瀹℃壒涓嶉�氳繃', '1', '2026-06-26 08:46:48', '1', '2026-06-26 08:46:48', X'00'),
+('1061151', '1', '瀹℃壒涓�', '1', 'mes_pro_work_order_status', '0', 'warning', '', 'MES鐢熶骇宸ュ崟鐘舵��-瀹℃壒涓�', '1', '2026-06-26 09:46:00', '1', '2026-06-26 09:46:00', X'00'),
+('1061152', '5', '瀹℃壒涓嶉�氳繃', '5', 'mes_pro_work_order_status', '0', 'danger', '', 'MES鐢熶骇宸ュ崟鐘舵��-瀹℃壒涓嶉�氳繃', '1', '2026-06-26 09:46:00', '1', '2026-06-26 09:46:00', X'00'),
+('1061153', '1', '鏁板�兼牸寮�', '1', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:00:17', '1', '2026-07-02 14:01:19', X'00'),
+('1061154', '2', '鏂囨湰鏍煎紡', '2', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:00:31', '1', '2026-07-02 14:01:15', X'00'),
+('1061155', '3', '涓嬫媺閫夐」', '3', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:01:00', '1', '2026-07-02 14:01:10', X'00'),
+('1061156', '4', '鏃堕棿鏍煎紡', '4', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:01:37', '1', '2026-07-02 14:01:37', X'00'),
+('1061157', '5', '鏃ユ湡鏍煎紡', '5', 'mes_pd_param_type', '0', '', '', NULL, '1', '2026-07-02 14:01:48', '1', '2026-07-02 14:01:48', X'00'),
+('1061158', '1', '鐢熶骇瑕佹眰', '1', 'mes_pd_template_type', '0', '', '', NULL, '1', '2026-07-02 14:02:31', '1', '2026-07-02 14:02:31', X'00'),
+('1061159', '2', '鑷瑕佹眰', '2', 'mes_pd_template_type', '0', '', '', NULL, '1', '2026-07-02 14:02:42', '1', '2026-07-02 14:02:42', X'00'),
+('1061160', '3', '宸℃瑕佹眰', '3', 'mes_pd_template_type', '0', '', '', NULL, '1', '2026-07-02 14:02:54', '1', '2026-07-02 14:02:54', X'00'),
+('1061161', '0', '寰呭彂甯�', '0', 'mes_pd_project_status', '0', 'info', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061162', '1', '寰呬笂浼�', '1', 'mes_pd_project_status', '0', 'primary', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061163', '2', '寰呭鏍�', '2', 'mes_pd_project_status', '0', 'warning', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061164', '4', '寰呭綊妗�', '3', 'mes_pd_project_status', '0', 'success', '', '', '1', '2026-07-03 02:17:25', '1', '2026-08-13 07:48:14', X'00'),
+('1061165', '5', '宸插綊妗�', '4', 'mes_pd_project_status', '0', 'danger', '', '', '1', '2026-07-03 02:17:25', '1', '2026-08-13 07:48:14', X'00'),
+('1061166', '0', '寰呭鏍�', '0', 'mes_pd_document_audit_status', '0', 'info', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061167', '1', '瀹℃牳閫氳繃', '1', 'mes_pd_document_audit_status', '0', 'success', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061168', '2', '瀹℃牳涓嶉�氳繃', '2', 'mes_pd_document_audit_status', '0', 'danger', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061169', '0', '寰呭綊妗�', '0', 'mes_pd_archive_status', '0', 'info', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061170', '1', '宸插綊妗�', '1', 'mes_pd_archive_status', '0', 'success', '', '', '1', '2026-07-03 02:17:25', '1', '2026-07-03 02:17:25', X'00'),
+('1061171', '1', '鐢�', '1', 'hrm_gender', '0', '', '', NULL, '1', '2026-07-06 11:00:38', '1', '2026-07-06 11:00:38', X'00'),
+('1061172', '2', '濂�', '2', 'hrm_gender', '0', '', '', NULL, '1', '2026-07-06 11:00:47', '1', '2026-07-06 11:00:47', X'00'),
+('1061173', '1', '鍦ㄨ亴', '1', 'hrm_employee_status', '0', '', '', NULL, '1', '2026-07-06 11:01:37', '1', '2026-07-06 11:01:37', X'00'),
+('1061174', '2', '璇曠敤', '2', 'hrm_employee_status', '0', '', '', NULL, '1', '2026-07-06 11:01:44', '1', '2026-07-06 11:01:44', X'00'),
+('1061175', '3', '绂昏亴', '3', 'hrm_employee_status', '0', '', '', NULL, '1', '2026-07-06 11:01:49', '1', '2026-07-06 11:01:49', X'00'),
+('1061176', '1', '楂樹腑', '1', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:01', '1', '2026-07-06 11:14:01', X'00'),
+('1061177', '2', '澶т笓', '2', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:15', '1', '2026-07-06 11:14:15', X'00'),
+('1061178', '3', '鏈', '3', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:26', '1', '2026-07-06 11:14:26', X'00'),
+('1061179', '4', '纭曞+', '4', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:32', '1', '2026-07-06 11:14:32', X'00'),
+('1061180', '5', '鍗氬+', '5', 'hrm_degree', '0', '', '', NULL, '1', '2026-07-06 11:14:40', '1', '2026-07-06 11:14:40', X'00'),
+('1061181', '1', '浜嬪亣', '1', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:16:00', '1', '2026-07-06 11:16:00', X'00'),
+('1061182', '2', '鐥呭亣', '2', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:02', '1', '2026-07-06 11:17:02', X'00'),
+('1061183', '3', '骞村亣', '3', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:19', '1', '2026-07-06 11:17:19', X'00'),
+('1061184', '4', '濠氬亣', '4', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:27', '1', '2026-07-06 11:17:27', X'00'),
+('1061185', '5', '浜у亣', '5', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:37', '1', '2026-07-06 11:17:37', X'00'),
+('1061186', '6', '涓у亣', '6', 'hrm_leave_type', '0', '', '', NULL, '1', '2026-07-06 11:17:44', '1', '2026-07-06 11:17:44', X'00'),
+('1061187', '1', '骞宠皟', '1', 'hrm_transfer_type', '0', '', '', NULL, '1', '2026-07-06 11:18:09', '1', '2026-07-06 11:18:09', X'00'),
+('1061188', '2', '鍗囪亴', '2', 'hrm_transfer_type', '0', '', '', NULL, '1', '2026-07-06 11:18:16', '1', '2026-07-06 11:18:16', X'00'),
+('1061189', '3', '闄嶈亴', '3', 'hrm_transfer_type', '0', '', '', NULL, '1', '2026-07-06 11:18:22', '1', '2026-07-06 11:18:22', X'00'),
+('1061190', '1', '涓诲姩绂昏亴', '1', 'hrm_resignation_type', '0', '', '', NULL, '1', '2026-07-06 11:20:26', '1', '2026-07-06 11:20:26', X'00'),
+('1061191', '2', '琚姩绂昏亴', '2', 'hrm_resignation_type', '0', '', '', NULL, '1', '2026-07-06 11:20:35', '1', '2026-07-06 11:20:35', X'00'),
+('1061192', '3', '鍚堝悓鍒版湡', '3', 'hrm_resignation_type', '0', '', '', NULL, '1', '2026-07-06 11:20:44', '1', '2026-07-06 11:20:44', X'00'),
+('1061193', '1', '姝e父', '1', 'hrm_clock_type', '0', '', '', NULL, '1', '2026-07-06 11:21:04', '1', '2026-07-06 11:21:04', X'00'),
+('1061194', '2', '杩熷埌/鏃╅��', '2', 'hrm_clock_type', '0', '', '', NULL, '1', '2026-07-06 11:21:19', '1', '2026-07-06 11:21:19', X'00'),
+('1061195', '3', '缂哄崱', '3', 'hrm_clock_type', '0', '', '', NULL, '1', '2026-07-06 11:21:26', '1', '2026-07-06 11:21:26', X'00'),
+('1061196', '0', '寰呯‘璁�', '0', 'hrm_salary_status', '0', '', '', NULL, '1', '2026-07-06 11:22:05', '1', '2026-07-06 11:22:05', X'00'),
+('1061197', '1', '宸茬‘璁�', '10', 'hrm_salary_status', '0', '', '', NULL, '1', '2026-07-06 11:22:16', '1', '2026-07-06 11:22:16', X'00'),
+('1061198', '2', '宸插彂鏀�', '20', 'hrm_salary_status', '0', '', '', NULL, '1', '2026-07-06 11:22:25', '1', '2026-07-06 11:22:25', X'00'),
+('1061199', '1', '鏈紑濮�', '0', 'hrm_handover_status', '0', '', '', NULL, '1', '2026-07-06 11:23:08', '1', '2026-07-06 11:23:08', X'00'),
+('1061200', '2', '杩涜涓�', '10', 'hrm_handover_status', '0', '', '', NULL, '1', '2026-07-06 11:23:18', '1', '2026-07-06 11:23:18', X'00'),
+('1061201', '3', '宸插畬鎴�', '20', 'hrm_handover_status', '0', '', '', NULL, '1', '2026-07-06 11:23:28', '1', '2026-07-06 11:23:28', X'00'),
+('1061202', '1', '閾惰杞处', '1', 'hrm_payment_method', '0', '', '', NULL, '1', '2026-07-06 11:23:45', '1', '2026-07-06 11:23:45', X'00'),
+('1061203', '2', '鐜伴噾', '2', 'hrm_payment_method', '0', '', '', NULL, '1', '2026-07-06 11:23:52', '1', '2026-07-06 11:23:52', X'00'),
+('1061204', '3', '鏀エ', '3', 'hrm_payment_method', '0', '', '', NULL, '1', '2026-07-06 11:23:59', '1', '2026-07-06 11:23:59', X'00'),
+('1061205', '1', '鍘熸枡', '1', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:04:36', '1', '2026-07-14 12:04:36', X'00'),
+('1061206', '2', '鍗婃垚鍝�', '2', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:04:47', '1', '2026-07-14 12:04:47', X'00'),
+('1061207', '3', '鎴愬搧', '3', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:04:54', '1', '2026-07-14 12:04:54', X'00'),
+('1061208', '4', '杈呮枡', '4', 'MDM_ITEM_TYPE', '0', '', '', NULL, '1', '2026-07-14 12:05:02', '1', '2026-07-14 12:05:02', X'00'),
+('1061209', '0', '鑽夌', '0', 'mes_pro_mps_status', '0', 'info', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061210', '1', '宸蹭笅鍙�', '1', 'mes_pro_mps_status', '0', 'success', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061211', '2', '宸插畬鎴�', '2', 'mes_pro_mps_status', '0', 'primary', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061212', '3', '宸插彇娑�', '3', 'mes_pro_mps_status', '0', 'danger', '', '', '1', '2026-07-17 02:04:33', '1', '2026-07-17 02:04:33', X'00'),
+('1061213', '1', '鎷滆', '1', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:15', '1', '2026-07-20 11:00:15', X'00'),
+('1061214', '2', '鎷熺绾�', '2', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:25', '1', '2026-07-20 11:00:25', X'00'),
+('1061215', '3', '绛剧害', '3', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:31', '1', '2026-07-20 11:00:31', X'00'),
+('1061216', '4', '澶辨晥', '4', 'crm_business_end_status_type', '0', '', '', NULL, '1', '2026-07-20 11:00:38', '1', '2026-07-20 11:00:38', X'00'),
+('1061217', '1', '鐢熶骇涓�', '1', 'mes_pro_task_status', '0', 'processing', '', '浠诲姟姝e湪鐢熶骇涓�', 'admin', '2026-07-22 07:59:56', 'admin', '2026-07-22 07:59:56', X'00'),
+('1061218', '2', '閮ㄥ垎瀹屾垚', '2', 'mes_pro_task_status', '0', 'warning', '', '浠诲姟閮ㄥ垎瀹屾垚', 'admin', '2026-07-22 08:00:15', 'admin', '2026-07-22 08:00:15', X'00'),
+('1061219', '1', '寰呰瘎瀹�', '0', 'mes_ncr_status', '0', '', '', '寰呰瘎瀹�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061220', '2', '宸茶瘎瀹�', '1', 'mes_ncr_status', '0', '', '', '宸茶瘎瀹�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061221', '3', '宸插缃�', '2', 'mes_ncr_status', '0', '', '', '宸插缃�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061222', '4', '宸插叧闂�', '3', 'mes_ncr_status', '0', '', '', '宸插叧闂�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061223', '1', '閫�璐�', '1', 'mes_ncr_disposition', '0', '', '', '閫�璐�', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061224', '2', '鎶ュ簾', '2', 'mes_ncr_disposition', '0', '', '', '鎶ュ簾', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061225', '3', '杩斿伐', '3', 'mes_ncr_disposition', '0', '', '', '杩斿伐', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061226', '4', '璁╂鎺ユ敹', '4', 'mes_ncr_disposition', '0', '', '', '璁╂鎺ユ敹', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061227', '5', '闄嶇骇浣跨敤', '5', 'mes_ncr_disposition', '0', '', '', '闄嶇骇浣跨敤', '1', '2026-08-06 09:25:25', '1', '2026-08-06 09:25:25', X'00'),
+('1061228', '1', '澧炲�肩◣涓撶敤鍙戠エ', '1', 'crm_invoice_type', '0', '', '', NULL, '1', '2026-08-10 14:04:20', '1', '2026-08-10 14:04:20', X'00'),
+('1061229', '2', '澧炲�肩◣鏅�氬彂绁�', '2', 'crm_invoice_type', '0', '', '', NULL, '1', '2026-08-10 14:04:25', '1', '2026-08-10 14:04:25', X'00'),
+('1061230', '3', '鐢靛瓙鍙戠エ', '3', 'crm_invoice_type', '0', '', '', NULL, '1', '2026-08-10 14:04:31', '1', '2026-08-10 14:04:31', X'00'),
+('1061231', '1', '鍔冲姩鍚堝悓', '1', 'hrm_contract_type', '0', 'primary', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061232', '2', '鍔冲姟鍚堝悓', '2', 'hrm_contract_type', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061233', '3', '瀹炰範鍗忚', '3', 'hrm_contract_type', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061234', '4', '鍔冲姟娲鹃仯', '4', 'hrm_contract_type', '0', 'info', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061235', '5', '鍏朵粬', '5', 'hrm_contract_type', '0', 'default', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061236', '1', '鍥哄畾鏈熼檺', '1', 'hrm_contract_term_type', '0', 'primary', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061237', '2', '鏃犲浐瀹氭湡闄�', '2', 'hrm_contract_term_type', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061238', '3', '浠ュ畬鎴愪竴瀹氬伐浣滀换鍔′负鏈熼檺', '3', 'hrm_contract_term_type', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061239', '1', '寰呯敓鏁�', '1', 'hrm_contract_status', '0', 'info', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061240', '2', '鐢熸晥涓�', '2', 'hrm_contract_status', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061241', '3', '鍗冲皢鍒版湡', '3', 'hrm_contract_status', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061242', '4', '宸插埌鏈�', '4', 'hrm_contract_status', '0', 'default', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061243', '5', '宸茶В闄�', '5', 'hrm_contract_status', '0', 'danger', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061244', '6', '宸茬粓姝�', '6', 'hrm_contract_status', '0', 'danger', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061245', '1', '姝e父', '0', 'hrm_contract_terminate_status', '0', 'success', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061246', '2', '宸茶В闄�', '1', 'hrm_contract_terminate_status', '0', 'danger', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1061247', '3', '宸茬粓姝�', '2', 'hrm_contract_terminate_status', '0', 'warning', '', NULL, '', '2026-08-10 07:52:13', '', '2026-08-10 07:52:13', X'00'),
+('1065310', '1', '骞村害', '1', 'crm_sales_target_period_type', '0', 'primary', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065311', '2', '瀛e害', '2', 'crm_sales_target_period_type', '0', 'success', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065312', '3', '鏈堝害', '3', 'crm_sales_target_period_type', '0', 'warning', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065320', '1', '涓汉', '1', 'crm_sales_target_dimension', '0', 'primary', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065321', '2', '閮ㄩ棬', '2', 'crm_sales_target_dimension', '0', 'success', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065322', '3', '浜у搧', '3', 'crm_sales_target_dimension', '0', 'warning', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065330', '0', '鏈敓鏁�', '0', 'crm_sales_target_status', '0', 'info', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065331', '1', '宸茬敓鏁�', '1', 'crm_sales_target_status', '0', 'success', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065332', '2', '宸茬粨鏉�', '2', 'crm_sales_target_status', '0', 'warning', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065333', '3', '宸蹭綔搴�', '3', 'crm_sales_target_status', '0', 'danger', '', '', '1', '2026-08-12 07:21:28', '1', '2026-08-12 07:21:28', X'00'),
+('1065334', '1', '鍗″昂', '1', 'mes_dv_metering_category', '0', '', '', '鍗″昂', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065335', '2', '鍗冨垎灏�', '2', 'mes_dv_metering_category', '0', '', '', '鍗冨垎灏�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065336', '3', '鍘嬪姏琛�', '3', 'mes_dv_metering_category', '0', '', '', '鍘嬪姏琛�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065337', '4', '娓╁害璁�', '4', 'mes_dv_metering_category', '0', '', '', '娓╁害璁�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065338', '5', '涓囩敤琛�', '5', 'mes_dv_metering_category', '0', '', '', '涓囩敤琛�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065339', '6', '澶╁钩鐮濈爜', '6', 'mes_dv_metering_category', '0', '', '', '澶╁钩鐮濈爜', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065340', '7', '鍏朵粬', '7', 'mes_dv_metering_category', '0', '', '', '鍏朵粬', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065341', '1', '鍦ㄧ敤', '1', 'mes_dv_metering_status', '0', 'success', '', '鍦ㄧ敤', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065342', '2', '鍋滅敤', '2', 'mes_dv_metering_status', '0', 'info', '', '鍋滅敤', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065343', '3', '鎶ュ簾', '3', 'mes_dv_metering_status', '0', 'danger', '', '鎶ュ簾', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065344', '1', '鍚堟牸', '1', 'mes_dv_metering_check_result', '0', 'success', '', '鍚堟牸', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065345', '2', '涓嶅悎鏍�', '2', 'mes_dv_metering_check_result', '0', 'danger', '', '涓嶅悎鏍�', '1', '2026-08-13 01:36:15', '1', '2026-08-13 01:36:15', X'00'),
+('1065346', '3', '瀹℃壒涓�', '5', 'mes_pd_project_status', '0', 'processing', '', 'BPM 瀹℃壒涓姸鎬�', '1', '2026-08-13 07:48:27', '1', '2026-08-13 07:48:27', X'00'),
+('1065410', '1', '鍚敤', '0', 'qc_report_template_status', '0', 'success', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065411', '2', '鍋滅敤', '1', 'qc_report_template_status', '0', 'info', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065420', '1', '鑽夌', '0', 'qc_report_version_status', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065421', '2', '宸插彂甯�', '1', 'qc_report_version_status', '0', 'success', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065422', '3', '宸插仠鐢�', '2', 'qc_report_version_status', '0', 'info', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065430', '1', '鐢熸垚涓�', '0', 'qc_report_instance_status', '0', 'processing', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065431', '2', '鐢熸垚鎴愬姛', '1', 'qc_report_instance_status', '0', 'success', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065432', '3', '鐢熸垚澶辫触', '2', 'qc_report_instance_status', '0', 'error', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065440', '1', 'A3', 'A3', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065441', '2', 'A4', 'A4', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065442', '3', 'A5', 'A5', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065443', '4', 'Letter', 'Letter', 'qc_report_page_size', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065450', '1', '绾靛悜', 'portrait', 'qc_report_orientation', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065451', '2', '妯悜', 'landscape', 'qc_report_orientation', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065460', '1', '閫氱敤', 'general', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065461', '2', '鐢靛瓙鐢靛櫒', 'electronics', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065462', '3', '浜旈噾鏈烘', 'hardware', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065463', '4', '姹借溅闆堕儴浠�', 'auto', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065464', '5', '濉戣兌鍒跺搧', 'plastic', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065465', '6', '椋熷搧楗枡', 'food', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065466', '7', '鍖昏嵂鍖荤枟', 'pharma', 'qc_report_industry', '0', 'default', '', NULL, '1', '2026-09-18 02:09:52', '1', '2026-09-18 02:09:52', X'00'),
+('1065467', '1', '鑽夌', '0', 'finance_reimbursement_status', '0', 'info', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065468', '2', '瀹℃壒涓�', '15', 'finance_reimbursement_status', '0', 'primary', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065469', '3', '宸查�氳繃', '20', 'finance_reimbursement_status', '0', 'success', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065470', '4', '宸查┏鍥�', '35', 'finance_reimbursement_status', '0', 'danger', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065471', '5', '宸插綊妗�', '40', 'finance_reimbursement_status', '0', 'warning', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065472', '1', '宸梾', '1', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065473', '2', '鍔炲叕', '2', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065474', '3', '鎷涘緟', '3', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065475', '4', '浜ら��', '4', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('1065476', '5', '鍏朵粬', '5', 'finance_expense_type', '0', 'default', '', NULL, '1', '2026-09-27 20:20:11', '', '2026-09-27 20:20:11', X'00'),
+('8000101', '1', '鑽夌', '0', 'ums_application_status', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000102', '2', '瀹℃壒涓�', '15', 'ums_application_status', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000103', '3', '宸查�氳繃', '20', 'ums_application_status', '0', 'success', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000104', '4', '宸查┏鍥�', '35', 'ums_application_status', '0', 'danger', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000201', '1', '涓汉浼氬憳', '1', 'ums_member_type', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000202', '2', '鍗曚綅浼氬憳', '2', 'ums_member_type', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000301', '1', '姝e父', '1', 'ums_member_status', '0', 'success', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000302', '2', '鏆傚仠', '0', 'ums_member_status', '0', 'warning', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000401', '1', '鏅�氫細鍛�', '1', 'ums_personal_grade', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000402', '2', '鐞嗕簨', '2', 'ums_personal_grade', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000403', '3', '甯稿姟鐞嗕簨', '3', 'ums_personal_grade', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000404', '4', '鍓悊浜嬮暱', '4', 'ums_personal_grade', '0', 'warning', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000405', '5', '鐞嗕簨闀�', '5', 'ums_personal_grade', '0', 'danger', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000501', '1', '鏅�氬崟浣�', '1', 'ums_unit_grade', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000502', '2', '鐞嗕簨鍗曚綅', '2', 'ums_unit_grade', '0', 'processing', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000503', '3', '鍓細闀垮崟浣�', '3', 'ums_unit_grade', '0', 'warning', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000504', '4', '浼氶暱鍗曚綅', '4', 'ums_unit_grade', '0', 'danger', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000601', '1', '鏅鸿兘鍒堕��', '1', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000602', '2', '鏂拌兘婧�', '2', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000603', '3', '鐢靛瓙淇℃伅', '3', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000604', '4', '鐢熺墿鍖昏嵂', '4', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000605', '5', '鏂版潗鏂�', '5', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000606', '6', '鑺傝兘鐜繚', '6', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000607', '7', '鍜ㄨ鏈嶅姟', '7', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00'),
+('8000608', '8', '鍏朵粬', '8', 'ums_industry', '0', 'default', '', NULL, '1', '2026-09-28 14:50:00', '1', '2026-09-28 14:50:00', X'00');
+
+-- ============ 琛細system_tenant锛堝鍑� 3 琛岋級 ============
+DROP TABLE IF EXISTS `system_tenant`;
+CREATE TABLE `system_tenant` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '绉熸埛缂栧彿',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绉熸埛鍚�',
+  `contact_user_id` bigint DEFAULT NULL COMMENT '鑱旂郴浜虹殑鐢ㄦ埛缂栧彿',
+  `contact_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜�',
+  `contact_mobile` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鎵嬫満',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '绉熸埛鐘舵��',
+  `websites` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁戝畾鍩熷悕鏁扮粍',
+  `package_id` bigint NOT NULL COMMENT '绉熸埛濂楅缂栧彿',
+  `expire_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `account_count` int NOT NULL COMMENT '璐﹀彿鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=162 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绉熸埛琛�';
+INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `websites`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '瓒呯骇绠$悊鍛�', NULL, '绠$悊鍛�', '17321315478', '0', 'www.iocoder.cn,127.0.0.1:3000,wxc4598c446f8a9cb3', '0', '2099-02-19 17:14:16', '9999', '1', '2021-01-05 17:03:47', '1', '2026-08-06 09:21:19', X'00'),
+('121', '灏忕鎴�', '110', '灏忕帇2', '15601691300', '0', 'zsxq.iocoder.cn,123321', '111', '2026-07-10 00:00:00', '30', '1', '2022-02-22 00:56:14', '1', '2025-08-19 21:19:29', X'00'),
+('122', '娴嬭瘯绉熸埛', '113', '鑺嬮亾', '15601691300', '0', 'test.iocoder.cn,222,333', '111', '2023-04-29 00:00:00', '50', '1', '2022-03-07 21:37:58', '1', '2026-06-01 23:29:35', X'00');
+
+-- ============ 琛細system_tenant_package锛堝鍑� 2 琛岋級 ============
+DROP TABLE IF EXISTS `system_tenant_package`;
+CREATE TABLE `system_tenant_package` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '濂楅缂栧彿',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '濂楅鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '绉熸埛鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `menu_ids` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏宠仈鐨勮彍鍗曠紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绉熸埛濂楅琛�';
+INSERT INTO `system_tenant_package` (`id`, `name`, `status`, `remark`, `menu_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('111', '鏅�氬椁�', '0', '灏忓姛鑳�', '[1,2,5,1031,1032,1033,1034,1035,1036,1037,1038,1039,1050,1051,1052,1053,1054,1056,1057,1058,1059,1060,1063,1064,1065,1066,1067,1070,1075,1077,1078,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1117,1118,1119,1120,100,101,102,1126,103,1127,1128,1129,106,1130,107,1132,1133,110,1134,111,1135,112,1136,113,1137,2161,114,1138,1139,115,1140,116,1141,1142,1143,1150,1161,1162,1166,1173,1174,2713,2714,1178,2715,2716,2717,2718,2720,2721,1185,2722,1186,1187,2723,1188,2724,1189,2725,1190,2726,1191,2727,1192,2728,2729,1193,1194,2730,1195,2731,2732,1197,2733,1198,2734,1199,2735,1200,1201,1202,2739,2740,1207,1208,1209,2745,1210,2746,1211,2747,1212,2748,1213,1215,1216,1217,1218,1219,1220,2756,1221,2757,1222,1224,1225,1226,1227,1228,1229,1237,1238,2262,1239,1240,1241,1242,1243,2275,2276,2277,1255,1256,1257,2281,1258,2282,1259,2283,1260,2284,2285,2287,2288,2293,2294,2297,2300,2301,2302,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2363,2364,5011,5012,2472,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2497,2525,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,2549,1014,2550,1015,2551,1016,2552,1017,2553,1018,2554,1019,2555,1020,2556,2557,2558,2559]', '1', '2022-02-22 00:54:00', '1', '2025-09-06 20:52:25', X'00'),
+('113', '娴嬭瘯濂楅锛堝暐閮芥病鏈夛級', '0', '', '[2160,1254,2159]', '1', '2026-06-01 23:22:39', '1', '2026-06-09 14:44:00', X'00');
+
+-- ============ 琛細system_company_config锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `system_company_config`;
+CREATE TABLE `system_company_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `company_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍏徃鍚嶇О',
+  `logo_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'logo姘镐箙鍏紑閾炬帴(previewURL)',
+  `logo_blob_id` bigint DEFAULT NULL COMMENT 'logo瀵瑰簲blob璁板綍ID',
+  `login_title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐧诲綍椤垫爣棰�',
+  `login_description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐧诲綍椤垫弿杩�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍏徃鍝佺墝淇℃伅閰嶇疆琛�';
+
+-- ***********************************************************************
+-- 鈶� AI 閰嶇疆锛堜粎妯″瀷+key锛�+ 鍩虹璁炬柦閰嶇疆绠$悊锛圖DL + 鏁版嵁锛�
+-- ***********************************************************************
+
+-- ============ 琛細ai_model锛堝鍑� 4 琛岋級 ============
+DROP TABLE IF EXISTS `ai_model`;
+CREATE TABLE `ai_model` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `key_id` bigint NOT NULL COMMENT 'API 绉橀挜缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '妯″瀷鍚嶇О',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '妯″瀷鏍囧織',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `type` tinyint NOT NULL COMMENT '绫诲瀷',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `temperature` double DEFAULT NULL COMMENT '娓╁害鍙傛暟',
+  `max_tokens` int DEFAULT NULL COMMENT '鍗曟潯鍥炲鐨勬渶澶� Token 鏁伴噺',
+  `max_contexts` int DEFAULT NULL COMMENT '涓婁笅鏂囩殑鏈�澶� Message 鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 妯″瀷琛�';
+INSERT INTO `ai_model` (`id`, `key_id`, `name`, `model`, `platform`, `type`, `sort`, `status`, `temperature`, `max_tokens`, `max_contexts`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '1', '閫氫箟鍗冮棶鍚戦噺妯″瀷', 'text-embedding-v3', 'TongYi', '5', '0', '0', NULL, NULL, NULL, '1', '2026-07-31 01:17:22', '142', '2026-07-31 11:13:39', X'00'),
+('2', '1', '閫氫箟鍗冮棶瀵硅瘽妯″瀷', 'qwen-max', 'TongYi', '1', '0', '0', '0.7', '4096', '20', '', '2026-07-31 07:51:42', '142', '2026-07-31 15:57:16', X'00'),
+('3', '1', '閫氫箟鍗冮棶鍥惧儚妯″瀷', 'qwen-plus', 'TongYi', '2', '1', '0', NULL, NULL, NULL, '142', '2026-07-31 17:37:16', '142', '2026-07-31 17:37:45', X'00'),
+('4', '1', '閫氫箟鍗冮棶瑙嗚妯″瀷', 'qwen-vl-plus', 'TongYi', '1', '1', '0', '0.7', '4096', '10', '', '2026-07-31 09:44:21', '', '2026-07-31 09:44:21', X'00');
+
+-- ============ 琛細ai_api_key锛堝鍑� 1 琛岋級 ============
+DROP TABLE IF EXISTS `ai_api_key`;
+CREATE TABLE `ai_api_key` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶇О',
+  `api_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀵嗛挜',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API 鍦板潃',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI API 绉橀挜琛�';
+INSERT INTO `ai_api_key` (`id`, `name`, `api_key`, `platform`, `url`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('1', '閫氫箟鍗冮棶', 'sk-bd235cc13cd74e2388aa8984c84f691f', 'TongYi', NULL, '0', '1', '2026-07-31 01:17:19', '142', '2026-07-31 16:00:35', X'00');
+
+-- ============ 琛細infra_config锛堝鍑� 8 琛岋級 ============
+DROP TABLE IF EXISTS `infra_config`;
+CREATE TABLE `infra_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍙傛暟涓婚敭',
+  `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鍒嗙粍',
+  `type` tinyint NOT NULL COMMENT '鍙傛暟绫诲瀷',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟鍚嶇О',
+  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟閿悕',
+  `value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟閿��',
+  `visible` bit(1) NOT NULL COMMENT '鏄惁鍙',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_config_key` (`config_key`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍙傛暟閰嶇疆琛�';
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('2', 'biz', '1', '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'system.user.init-password', '123456', X'00', '鍒濆鍖栧瘑鐮� 123456', 'admin', '2021-01-05 17:03:48', '1', '2024-07-20 17:22:47', X'00'),
+('7', 'url', '2', 'MySQL 鐩戞帶鐨勫湴鍧�', 'url.druid', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:33:38', X'00'),
+('8', 'url', '2', 'SkyWalking 鐩戞帶鐨勫湴鍧�', 'url.skywalking', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:57:03', X'00'),
+('9', 'url', '2', 'Spring Boot Admin 鐩戞帶鐨勫湴鍧�', 'url.spring-boot-admin', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:52:07', X'00'),
+('10', 'url', '2', 'Swagger 鎺ュ彛鏂囨。鐨勫湴鍧�', 'url.swagger', '', X'01', '', '1', '2023-04-07 13:41:16', '1', '2023-04-07 14:59:00', X'00'),
+('12', 'test2', '2', 'test3', 'test4', 'test5', X'01', 'test6', '1', '2023-12-03 09:55:16', '1', '2025-04-06 21:00:09', X'00'),
+('13', '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', '2', '鐢ㄦ埛绠$悊-娉ㄥ唽寮�鍏�', 'system.user.register-enabled', 'true', X'00', '', '1', '2025-04-26 17:23:41', '1', '2025-04-26 17:23:41', X'00'),
+('14', 'biz', '2', 'MES 璁¢噺鍣ㄥ叿鍒版湡鎻愰啋澶╂暟', 'mes.dv-metering.remind-days', '1', X'00', '璁¢噺鍣ㄥ叿涓嬫妫�娴嬫棩鏈熷埌鏈熷墠 N 澶╂彁閱掞紙绔欏唴淇″彂閫佺粰璐d换浜猴級', '1', '2026-08-13 01:36:45', '1', '2026-08-13 10:29:56', X'00');
+
+-- ============ 琛細infra_job锛堝鍑� 18 琛岋級 ============
+DROP TABLE IF EXISTS `infra_job`;
+CREATE TABLE `infra_job` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浠诲姟缂栧彿',
+  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠诲姟鍚嶇О',
+  `status` tinyint NOT NULL COMMENT '浠诲姟鐘舵��',
+  `handler_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '澶勭悊鍣ㄧ殑鍚嶅瓧',
+  `handler_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鍣ㄧ殑鍙傛暟',
+  `cron_expression` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'CRON 琛ㄨ揪寮�',
+  `retry_count` int NOT NULL DEFAULT '0' COMMENT '閲嶈瘯娆℃暟',
+  `retry_interval` int NOT NULL DEFAULT '0' COMMENT '閲嶈瘯闂撮殧',
+  `monitor_timeout` int NOT NULL DEFAULT '0' COMMENT '鐩戞帶瓒呮椂鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀹氭椂浠诲姟琛�';
+INSERT INTO `infra_job` (`id`, `name`, `status`, `handler_name`, `handler_param`, `cron_expression`, `retry_count`, `retry_interval`, `monitor_timeout`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('5', '鏀粯閫氱煡 Job', '2', 'payNotifyJob', NULL, '* * * * * ?', '0', '0', '0', '1', '2021-10-27 08:34:42', '1', '2024-09-12 13:32:48', X'00'),
+('17', '鏀粯璁㈠崟鍚屾 Job', '2', 'payOrderSyncJob', NULL, '0 0/1 * * * ?', '0', '0', '0', '1', '2023-07-22 14:36:26', '1', '2023-07-22 15:39:08', X'00'),
+('18', '鏀粯璁㈠崟杩囨湡 Job', '2', 'payOrderExpireJob', NULL, '0 0/1 * * * ?', '0', '0', '0', '1', '2023-07-22 15:36:23', '1', '2023-07-22 15:39:54', X'00'),
+('19', '閫�娆捐鍗曠殑鍚屾 Job', '2', 'payRefundSyncJob', NULL, '0 0/1 * * * ?', '0', '0', '0', '1', '2023-07-23 21:03:44', '1', '2023-07-23 21:09:00', X'00'),
+('21', 'Mall 浜ゆ槗璁㈠崟鐨勮嚜鍔ㄨ繃鏈� Job', '2', 'tradeOrderAutoCancelJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-25 23:43:26', '1', '2025-10-02 11:08:34', X'00'),
+('22', 'Mall 浜ゆ槗璁㈠崟鐨勮嚜鍔ㄦ敹璐� Job', '2', 'tradeOrderAutoReceiveJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-26 19:23:53', '1', '2025-10-02 11:08:36', X'00'),
+('23', 'Mall 浜ゆ槗璁㈠崟鐨勮嚜鍔ㄨ瘎璁� Job', '2', 'tradeOrderAutoCommentJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-26 23:38:29', '1', '2025-10-02 11:08:38', X'00'),
+('24', 'Mall 浣i噾瑙e喕 Job', '2', 'brokerageRecordUnfreezeJob', '', '0 * * * * ?', '3', '0', '0', '1', '2023-09-28 22:01:46', '1', '2025-10-02 11:08:04', X'00'),
+('25', '璁块棶鏃ュ織娓呯悊 Job', '2', 'accessLogCleanJob', '', '0 0 0 * * ?', '3', '0', '0', '1', '2023-10-03 10:59:41', '1', '2023-10-03 11:01:10', X'00'),
+('26', '閿欒鏃ュ織娓呯悊 Job', '2', 'errorLogCleanJob', '', '0 0 0 * * ?', '3', '0', '0', '1', '2023-10-03 11:00:43', '1', '2023-10-03 11:01:12', X'00'),
+('27', '浠诲姟鏃ュ織娓呯悊 Job', '2', 'jobLogCleanJob', '', '0 0 0 * * ?', '3', '0', '0', '1', '2023-10-03 11:01:33', '1', '2024-09-12 13:40:34', X'00'),
+('33', 'demoJob', '2', 'demoJob', '', '0 * * * * ?', '1', '1', '0', '1', '2024-10-27 19:38:46', '1', '2025-05-10 18:13:54', X'00'),
+('35', '杞处璁㈠崟鐨勫悓姝� Job', '2', 'payTransferSyncJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-05-10 17:35:54', '1', '2025-05-10 18:13:52', X'00'),
+('36', 'IoT 璁惧绂荤嚎妫�鏌� Job', '2', 'iotDeviceOfflineCheckJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-07-03 23:48:44', '"1"', '2025-07-03 23:48:47', X'00'),
+('37', 'IoT OTA 鍗囩骇鎺ㄩ�� Job', '2', 'iotOtaUpgradeJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-07-03 23:49:07', '"1"', '2025-07-03 23:49:13', X'00'),
+('38', 'Mall 鎷煎洟杩囨湡 Job', '2', 'combinationRecordExpireJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-10-02 11:07:11', '1', '2025-10-02 11:07:14', X'00'),
+('39', 'Mall 浼樻儬鍒歌繃鏈� Job', '2', 'couponExpireJob', '', '0 * * * * ?', '0', '0', '0', '1', '2025-10-02 11:07:34', '1', '2025-10-02 11:07:37', X'00'),
+('40', 'Mall 鍟嗗搧缁熻 Job', '2', 'productStatisticsJob', '', '0 0 0 * * ?', '0', '0', '0', '1', '2025-11-22 18:51:25', '1', '2025-11-22 18:56:21', X'00');
+
+-- ============ 琛細infra_file_config锛堝鍑� 11 琛岋級 ============
+DROP TABLE IF EXISTS `infra_file_config`;
+CREATE TABLE `infra_file_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閰嶇疆鍚�',
+  `storage` tinyint NOT NULL COMMENT '瀛樺偍鍣�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `master` bit(1) NOT NULL COMMENT '鏄惁涓轰富閰嶇疆',
+  `config` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛樺偍閰嶇疆',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢閰嶇疆琛�';
+INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
+('4', '鏁版嵁搴擄紙绀轰緥锛�', '1', '鎴戞槸鏁版嵁搴�', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.db.DBFileClientConfig","domain":"http://127.0.0.1:48080"}', '1', '2022-03-15 23:56:24', '1', '2026-07-03 11:47:08', X'00'),
+('22', '涓冪墰瀛樺偍鍣紙绀轰緥锛�', '20', '璇锋崲鎴愪綘鑷繁鐨勫瘑閽ワ紒锛侊紒', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3.cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"3TvrJ70gl2Gt6IBe7_IZT1F6i_k0iMuRtyEv4EyS","accessSecret":"wd0tbVBYlp0S-ihA8Qg2hPLncoP83wyrIq24OZuY","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-01-13 22:11:12', '1', '2026-07-03 11:47:08', X'00'),
+('24', '鑵捐浜戝瓨鍌紙绀轰緥锛�', '20', '璇锋崲鎴愪綘鐨勫瘑閽ワ紒锛侊紒', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"https://cos.ap-shanghai.myqcloud.com","domain":"http://tengxun-oss.iocoder.cn","bucket":"aoteman-1255880240","accessKey":"AKIDAF6WSh1uiIjwqtrOsGSN3WryqTM6cTMt","accessSecret":"X","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 16:03:22', '1', '2026-07-03 11:47:08', X'00'),
+('25', '闃块噷浜戝瓨鍌紙绀轰緥锛�', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"oss-cn-beijing.aliyuncs.com","domain":"http://ali-oss.iocoder.cn","bucket":"yunai-aoteman","accessKey":"LTAI5tEQLgnDyjh3WpNcdMKA","accessSecret":"X","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 16:47:08', '1', '2026-07-03 11:47:08', X'00'),
+('26', '鐏北浜戝瓨鍌紙绀轰緥锛�', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"tos-s3-cn-beijing.volces.com","domain":null,"bucket":"yunai","accessKey":"AKLTZjc3Zjc4MzZmMjU3NDk0ZTgxYmIyMmFkNTIwMDI1ZGE","accessSecret":"X==","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 16:56:42', '1', '2026-07-03 11:47:08', X'00'),
+('27', '鍗庝负浜戝瓨鍌紙绀轰緥锛�', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"obs.cn-east-3.myhuaweicloud.com","domain":"","bucket":"yudao","accessKey":"PVDONDEIOTW88LF8DC4U","accessSecret":"X","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 17:18:41', '1', '2026-07-03 11:47:08', X'00'),
+('28', 'MinIO 瀛樺偍锛堢ず渚嬶級', '20', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"http://127.0.0.1:9000","domain":"http://127.0.0.1:9000/yudao","bucket":"yudao","accessKey":"admin","accessSecret":"password","enablePathStyleAccess":false,"enablePublicAccess":true}', '1', '2024-11-09 17:43:10', '1', '2026-07-03 11:47:08', X'00'),
+('29', '鏈湴瀛樺偍锛堢ず渚嬶級', '10', 'mac/linux 浣跨敤 /锛寃indows 浣跨敤 \\', X'01', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.local.LocalFileClientConfig","basePath":"/Users/yunai/tmp/file","domain":"http://127.0.0.1:48080"}', '1', '2025-05-02 11:25:45', '1', '2026-07-03 11:47:08', X'00'),
+('30', 'SFTP 瀛樺偍锛堢ず渚嬶級', '12', '', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.sftp.SftpFileClientConfig","basePath":"/upload","domain":"http://127.0.0.1:48080","host":"127.0.0.1","port":2222,"username":"foo","password":"pass"}', '1', '2025-05-02 16:34:10', '1', '2026-07-03 11:47:08', X'00'),
+('34', '涓冪墰浜戝瓨鍌ㄣ�愮鏈夈�戯紙绀轰緥锛�', '20', '璇锋崲鎴愪綘鑷繁鐨勫瘑閽ワ紒锛侊紒', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3.cn-south-1.qiniucs.com","domain":"http://t151glocd.hn-bkt.clouddn.com","bucket":"ruoyi-vue-pro-private","accessKey":"3TvrJ70gl2Gt6IBe7_IZT1F6i_k0iMuRtyEv4EyS","accessSecret":"wd0tbVBYlp0S-ihA8Qg2hPLncoP83wyrIq24OZuY","enablePathStyleAccess":false,"enablePublicAccess":false}', '1', '2025-08-17 21:22:00', '1', '2026-07-03 11:47:08', X'00'),
+('35', '1', '20', '1', X'00', '{"@class":"cn.iocoder.yudao.module.infra.framework.file.core.client.s3.S3FileClientConfig","endpoint":"http://www.baidu.com","domain":"http://www.xxx.com","bucket":"1","accessKey":"2","accessSecret":"3","enablePathStyleAccess":false,"enablePublicAccess":false,"region":"1"}', '1', '2025-10-02 14:32:12', '1', '2026-07-03 11:47:08', X'00');
+
+-- ============ 琛細infra_data_source_config锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `infra_data_source_config`;
+CREATE TABLE `infra_data_source_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍙傛暟鍚嶇О',
+  `url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏁版嵁婧愯繛鎺�',
+  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鍚�',
+  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀵嗙爜',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版嵁婧愰厤缃〃';
+
+-- ============ 琛細infra_codegen_table锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `infra_codegen_table`;
+CREATE TABLE `infra_codegen_table` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `data_source_config_id` bigint NOT NULL COMMENT '鏁版嵁婧愰厤缃殑缂栧彿',
+  `scene` tinyint NOT NULL DEFAULT '1' COMMENT '鐢熸垚鍦烘櫙',
+  `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '琛ㄥ悕绉�',
+  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '琛ㄦ弿杩�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯″潡鍚�',
+  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟鍚�',
+  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '绫诲悕绉�',
+  `class_comment` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绫绘弿杩�',
+  `author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浣滆��',
+  `template_type` tinyint NOT NULL DEFAULT '1' COMMENT '妯℃澘绫诲瀷',
+  `front_type` tinyint NOT NULL COMMENT '鍓嶇绫诲瀷',
+  `parent_menu_id` bigint DEFAULT NULL COMMENT '鐖惰彍鍗曠紪鍙�',
+  `master_table_id` bigint DEFAULT NULL COMMENT '涓昏〃鐨勭紪鍙�',
+  `sub_join_column_id` bigint DEFAULT NULL COMMENT '瀛愯〃鍏宠仈涓昏〃鐨勫瓧娈电紪鍙�',
+  `sub_join_many` bit(1) DEFAULT NULL COMMENT '涓昏〃涓庡瓙琛ㄦ槸鍚︿竴瀵瑰',
+  `tree_parent_column_id` bigint DEFAULT NULL COMMENT '鏍戣〃鐨勭埗瀛楁缂栧彿',
+  `tree_name_column_id` bigint DEFAULT NULL COMMENT '鏍戣〃鐨勫悕瀛楀瓧娈电紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=210 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='浠g爜鐢熸垚琛ㄥ畾涔�';
+
+-- ============ 琛細infra_codegen_column锛堝鍑� 0 琛岋級 ============
+DROP TABLE IF EXISTS `infra_codegen_column`;
+CREATE TABLE `infra_codegen_column` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `table_id` bigint NOT NULL COMMENT '琛ㄧ紪鍙�',
+  `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛楁鍚�',
+  `data_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛楁绫诲瀷',
+  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛楁鎻忚堪',
+  `nullable` bit(1) NOT NULL COMMENT '鏄惁鍏佽涓虹┖',
+  `primary_key` bit(1) NOT NULL COMMENT '鏄惁涓婚敭',
+  `ordinal_position` int NOT NULL COMMENT '鎺掑簭',
+  `java_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Java 灞炴�х被鍨�',
+  `java_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Java 灞炴�у悕',
+  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
+  `example` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏁版嵁绀轰緥',
+  `create_operation` bit(1) NOT NULL COMMENT '鏄惁涓� Create 鍒涘缓鎿嶄綔鐨勫瓧娈�',
+  `update_operation` bit(1) NOT NULL COMMENT '鏄惁涓� Update 鏇存柊鎿嶄綔鐨勫瓧娈�',
+  `list_operation` bit(1) NOT NULL COMMENT '鏄惁涓� List 鏌ヨ鎿嶄綔鐨勫瓧娈�',
+  `list_operation_condition` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '=' COMMENT 'List 鏌ヨ鎿嶄綔鐨勬潯浠剁被鍨�',
+  `list_operation_result` bit(1) NOT NULL COMMENT '鏄惁涓� List 鏌ヨ鎿嶄綔鐨勮繑鍥炲瓧娈�',
+  `html_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏄剧ず绫诲瀷',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_table_id` (`table_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2880 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='浠g爜鐢熸垚琛ㄥ瓧娈靛畾涔�';
+
+-- ***********************************************************************
+-- 鍏朵綑 382 寮犺〃锛堜粎琛ㄧ粨鏋勶紝鏃犳暟鎹級
+-- ***********************************************************************
+
+-- ============ 琛細act_evt_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_evt_log`;
+CREATE TABLE `act_evt_log` (
+  `LOG_NR_` bigint NOT NULL AUTO_INCREMENT,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DATA_` longblob,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `IS_PROCESSED_` tinyint DEFAULT '0',
+  PRIMARY KEY (`LOG_NR_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_actinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_actinst`;
+CREATE TABLE `act_hi_actinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALL_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `COMPLETED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `TRANSACTION_ORDER_` int DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_START` (`START_TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_END` (`END_TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_PROCINST` (`PROC_INST_ID_`,`ACT_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_ACT_INST_EXEC` (`EXECUTION_ID_`,`ACT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_attachment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_attachment`;
+CREATE TABLE `act_hi_attachment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `URL_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CONTENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TIME_` datetime(3) DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_comment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_comment`;
+CREATE TABLE `act_hi_comment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TIME_` datetime(3) NOT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACTION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `MESSAGE_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `FULL_MSG_` longblob,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_detail`;
+CREATE TABLE `act_hi_detail` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VAR_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REV_` int DEFAULT NULL,
+  `TIME_` datetime(3) NOT NULL,
+  `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DOUBLE_` double DEFAULT NULL,
+  `LONG_` bigint DEFAULT NULL,
+  `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_PROC_INST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_ACT_INST` (`ACT_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_TIME` (`TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_NAME` (`NAME_`) USING BTREE,
+  KEY `ACT_IDX_HI_DETAIL_TASK_ID` (`TASK_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_entitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_entitylink`;
+CREATE TABLE `act_hi_entitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LINK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HIERARCHY_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_REF_SCOPE` (`REF_SCOPE_ID_`,`REF_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_ROOT_SCOPE` (`ROOT_SCOPE_ID_`,`ROOT_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_ENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_identitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_identitylink`;
+CREATE TABLE `act_hi_identitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_USER` (`USER_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_TASK` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_IDENT_LNK_PROCINST` (`PROC_INST_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_procinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_procinst`;
+CREATE TABLE `act_hi_procinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `BUSINESS_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `START_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `END_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUPER_PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALLBACK_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALLBACK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BUSINESS_STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `END_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `STATE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `PROC_INST_ID_` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PRO_INST_END` (`END_TIME_`) USING BTREE,
+  KEY `ACT_IDX_HI_PRO_I_BUSKEY` (`BUSINESS_KEY_`) USING BTREE,
+  KEY `ACT_IDX_HI_PRO_SUPER_PROCINST` (`SUPER_PROCESS_INSTANCE_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_taskinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_taskinst`;
+CREATE TABLE `act_hi_taskinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `STATE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `IN_PROGRESS_TIME_` datetime(3) DEFAULT NULL,
+  `IN_PROGRESS_STARTED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CLAIM_TIME_` datetime(3) DEFAULT NULL,
+  `CLAIMED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUSPENDED_TIME_` datetime(3) DEFAULT NULL,
+  `SUSPENDED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `COMPLETED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PRIORITY_` int DEFAULT NULL,
+  `IN_PROGRESS_DUE_DATE_` datetime(3) DEFAULT NULL,
+  `DUE_DATE_` datetime(3) DEFAULT NULL,
+  `FORM_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_TASK_INST_PROCINST` (`PROC_INST_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_tsk_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_tsk_log`;
+CREATE TABLE `act_hi_tsk_log` (
+  `ID_` bigint NOT NULL AUTO_INCREMENT,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TIME_STAMP_` timestamp(3) NOT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DATA_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_ACT_HI_TSK_LOG_TASK` (`TASK_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_hi_varinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_hi_varinst`;
+CREATE TABLE `act_hi_varinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VAR_TYPE_` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DOUBLE_` double DEFAULT NULL,
+  `LONG_` bigint DEFAULT NULL,
+  `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_NAME_TYPE` (`NAME_`,`VAR_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_PROC_INST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_TASK_ID` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_IDX_HI_PROCVAR_EXE` (`EXECUTION_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_bytearray锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_bytearray`;
+CREATE TABLE `act_id_bytearray` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTES_` longblob,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_group锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_group`;
+CREATE TABLE `act_id_group` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_info锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_info`;
+CREATE TABLE `act_id_info` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `USER_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `VALUE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PASSWORD_` longblob,
+  `PARENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_membership锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_membership`;
+CREATE TABLE `act_id_membership` (
+  `USER_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `GROUP_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  PRIMARY KEY (`USER_ID_`,`GROUP_ID_`) USING BTREE,
+  KEY `ACT_FK_MEMB_GROUP` (`GROUP_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_MEMB_GROUP` FOREIGN KEY (`GROUP_ID_`) REFERENCES `act_id_group` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_MEMB_USER` FOREIGN KEY (`USER_ID_`) REFERENCES `act_id_user` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_priv锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_priv`;
+CREATE TABLE `act_id_priv` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_UNIQ_PRIV_NAME` (`NAME_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_priv_mapping锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_priv_mapping`;
+CREATE TABLE `act_id_priv_mapping` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PRIV_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_FK_PRIV_MAPPING` (`PRIV_ID_`) USING BTREE,
+  KEY `ACT_IDX_PRIV_USER` (`USER_ID_`) USING BTREE,
+  KEY `ACT_IDX_PRIV_GROUP` (`GROUP_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_PRIV_MAPPING` FOREIGN KEY (`PRIV_ID_`) REFERENCES `act_id_priv` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_token锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_token`;
+CREATE TABLE `act_id_token` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `TOKEN_VALUE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TOKEN_DATE_` timestamp(3) NULL DEFAULT NULL,
+  `IP_ADDRESS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_AGENT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TOKEN_DATA_` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_id_user锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_id_user`;
+CREATE TABLE `act_id_user` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `FIRST_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LAST_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DISPLAY_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EMAIL_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PWD_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PICTURE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_procdef_info锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_procdef_info`;
+CREATE TABLE `act_procdef_info` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `INFO_JSON_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_UNIQ_INFO_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  KEY `ACT_IDX_INFO_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  KEY `ACT_FK_INFO_JSON_BA` (`INFO_JSON_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_INFO_JSON_BA` FOREIGN KEY (`INFO_JSON_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_INFO_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_actinst锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_actinst`;
+CREATE TABLE `act_ru_actinst` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT '1',
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALL_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `COMPLETED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) NOT NULL,
+  `END_TIME_` datetime(3) DEFAULT NULL,
+  `DURATION_` bigint DEFAULT NULL,
+  `TRANSACTION_ORDER_` int DEFAULT NULL,
+  `DELETE_REASON_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_START` (`START_TIME_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_END` (`END_TIME_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_PROC` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_PROC_ACT` (`PROC_INST_ID_`,`ACT_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_EXEC` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_EXEC_ACT` (`EXECUTION_ID_`,`ACT_ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_ACTI_TASK` (`TASK_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_deadletter_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_deadletter_job`;
+CREATE TABLE `act_ru_deadletter_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_DEADLETTER_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_DEADLETTER_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_DEADLETTER_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_DJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_DJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_DJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_DEADLETTER_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_DEADLETTER_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_entitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_entitylink`;
+CREATE TABLE `act_ru_entitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `LINK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REF_SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HIERARCHY_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_REF_SCOPE` (`REF_SCOPE_ID_`,`REF_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_ROOT_SCOPE` (`ROOT_SCOPE_ID_`,`ROOT_SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`,`LINK_TYPE_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_event_subscr锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_event_subscr`;
+CREATE TABLE `act_ru_event_subscr` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `EVENT_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EVENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACTIVITY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CONFIGURATION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATED_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_CONFIG_` (`CONFIGURATION_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_EXEC_ID` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_PROC_ID` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_EVENT_SUBSCR_SCOPEREF_` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_execution锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_execution`;
+CREATE TABLE `act_ru_execution` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BUSINESS_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUPER_EXEC_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ROOT_PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IS_ACTIVE_` tinyint DEFAULT NULL,
+  `IS_CONCURRENT_` tinyint DEFAULT NULL,
+  `IS_SCOPE_` tinyint DEFAULT NULL,
+  `IS_EVENT_SCOPE_` tinyint DEFAULT NULL,
+  `IS_MI_ROOT_` tinyint DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `CACHED_ENT_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_ACT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `START_TIME_` datetime(3) DEFAULT NULL,
+  `START_USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IS_COUNT_ENABLED_` tinyint DEFAULT NULL,
+  `EVT_SUBSCR_COUNT_` int DEFAULT NULL,
+  `TASK_COUNT_` int DEFAULT NULL,
+  `JOB_COUNT_` int DEFAULT NULL,
+  `TIMER_JOB_COUNT_` int DEFAULT NULL,
+  `SUSP_JOB_COUNT_` int DEFAULT NULL,
+  `DEADLETTER_JOB_COUNT_` int DEFAULT NULL,
+  `EXTERNAL_WORKER_JOB_COUNT_` int DEFAULT NULL,
+  `VAR_COUNT_` int DEFAULT NULL,
+  `ID_LINK_COUNT_` int DEFAULT NULL,
+  `CALLBACK_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CALLBACK_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `REFERENCE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BUSINESS_STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_EXEC_BUSKEY` (`BUSINESS_KEY_`) USING BTREE,
+  KEY `ACT_IDC_EXEC_ROOT` (`ROOT_PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_IDX_EXEC_REF_ID_` (`REFERENCE_ID_`) USING BTREE,
+  KEY `ACT_FK_EXE_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_FK_EXE_PARENT` (`PARENT_ID_`) USING BTREE,
+  KEY `ACT_FK_EXE_SUPER` (`SUPER_EXEC_`) USING BTREE,
+  KEY `ACT_FK_EXE_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE CASCADE ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_EXE_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `ACT_FK_EXE_SUPER` FOREIGN KEY (`SUPER_EXEC_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE CASCADE ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_external_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_external_job`;
+CREATE TABLE `act_ru_external_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_EXTERNAL_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_EXTERNAL_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_EXTERNAL_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_EJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_EJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_EJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  CONSTRAINT `ACT_FK_EXTERNAL_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_EXTERNAL_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_history_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_history_job`;
+CREATE TABLE `act_ru_history_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ADV_HANDLER_CFG_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_identitylink锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_identitylink`;
+CREATE TABLE `act_ru_identitylink` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `GROUP_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `USER_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_USER` (`USER_ID_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_GROUP` (`GROUP_ID_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_IDENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_ATHRZ_PROCEDEF` (`PROC_DEF_ID_`) USING BTREE,
+  KEY `ACT_FK_TSKASS_TASK` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_FK_IDL_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_ATHRZ_PROCEDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_IDL_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TSKASS_TASK` FOREIGN KEY (`TASK_ID_`) REFERENCES `act_ru_task` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_job`;
+CREATE TABLE `act_ru_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_JOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_JOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_JOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_suspended_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_suspended_job`;
+CREATE TABLE `act_ru_suspended_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_SUSPENDED_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_SUSPENDED_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_SUSPENDED_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_SJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_SJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_SJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_SUSPENDED_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_SUSPENDED_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_task锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_task`;
+CREATE TABLE `act_ru_task` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROPAGATED_STAGE_INST_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `STATE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_DEF_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ASSIGNEE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DELEGATION_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PRIORITY_` int DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `IN_PROGRESS_TIME_` datetime(3) DEFAULT NULL,
+  `IN_PROGRESS_STARTED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CLAIM_TIME_` datetime(3) DEFAULT NULL,
+  `CLAIMED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUSPENDED_TIME_` datetime(3) DEFAULT NULL,
+  `SUSPENDED_BY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IN_PROGRESS_DUE_DATE_` datetime(3) DEFAULT NULL,
+  `DUE_DATE_` datetime(3) DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `FORM_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `IS_COUNT_ENABLED_` tinyint DEFAULT NULL,
+  `VAR_COUNT_` int DEFAULT NULL,
+  `ID_LINK_COUNT_` int DEFAULT NULL,
+  `SUB_TASK_COUNT_` int DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_TASK_CREATE` (`CREATE_TIME_`) USING BTREE,
+  KEY `ACT_IDX_TASK_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TASK_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TASK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_TASK_EXE` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_TASK_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  KEY `ACT_FK_TASK_PROCDEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_TASK_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TASK_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TASK_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_timer_job锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_timer_job`;
+CREATE TABLE `act_ru_timer_job` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LOCK_OWNER_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCLUSIVE_` tinyint(1) DEFAULT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROCESS_INSTANCE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_DEF_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ELEMENT_NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_DEFINITION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CORRELATION_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RETRIES_` int DEFAULT NULL,
+  `EXCEPTION_STACK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EXCEPTION_MSG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DUEDATE_` timestamp(3) NULL DEFAULT NULL,
+  `REPEAT_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HANDLER_CFG_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CUSTOM_VALUES_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_CORRELATION_ID` (`CORRELATION_ID_`) USING BTREE,
+  KEY `ACT_IDX_TIMER_JOB_DUEDATE` (`DUEDATE_`) USING BTREE,
+  KEY `ACT_IDX_TJOB_SCOPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_TJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_TIMER_JOB_EXECUTION` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`) USING BTREE,
+  KEY `ACT_FK_TIMER_JOB_PROC_DEF` (`PROC_DEF_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_TIMER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `act_re_procdef` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細act_ru_variable锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `act_ru_variable`;
+CREATE TABLE `act_ru_variable` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `EXECUTION_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PROC_INST_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TASK_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTEARRAY_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DOUBLE_` double DEFAULT NULL,
+  `LONG_` bigint DEFAULT NULL,
+  `TEXT_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TEXT2_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `ACT_IDX_RU_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_IDX_RU_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`,`SCOPE_TYPE_`) USING BTREE,
+  KEY `ACT_FK_VAR_BYTEARRAY` (`BYTEARRAY_ID_`) USING BTREE,
+  KEY `ACT_IDX_VARIABLE_TASK_ID` (`TASK_ID_`) USING BTREE,
+  KEY `ACT_FK_VAR_EXE` (`EXECUTION_ID_`) USING BTREE,
+  KEY `ACT_FK_VAR_PROCINST` (`PROC_INST_ID_`) USING BTREE,
+  CONSTRAINT `ACT_FK_VAR_BYTEARRAY` FOREIGN KEY (`BYTEARRAY_ID_`) REFERENCES `act_ge_bytearray` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+  CONSTRAINT `ACT_FK_VAR_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `act_ru_execution` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細after_sale_permission锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_permission`;
+CREATE TABLE `after_sale_permission` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `biz_type` tinyint NOT NULL COMMENT '鏁版嵁绫诲瀷: 1-鍞悗宸ュ崟 2-閫�璐х敵璇� 3-缁翠慨璁板綍',
+  `biz_id` bigint NOT NULL COMMENT '鏁版嵁缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `level` tinyint NOT NULL COMMENT '鏉冮檺绾у埆: 1-璐熻矗浜� 2-鍙 3-璇诲啓',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_biz` (`biz_type`,`biz_id`) USING BTREE,
+  KEY `idx_user` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗鏁版嵁鏉冮檺琛�';
+
+-- ============ 琛細after_sale_repair锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_repair`;
+CREATE TABLE `after_sale_repair` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缁翠慨璁板綍缂栧彿',
+  `ticket_id` bigint NOT NULL COMMENT '鍏宠仈宸ュ崟缂栧彿锛屽叧鑱� after_sale_ticket.id',
+  `repair_type` tinyint NOT NULL COMMENT '缁翠慨绫诲瀷: 1-鐜板満缁翠慨 2-杩斿巶缁翠慨 3-杩滅▼鎸囧',
+  `fault_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鏁呴殰鎻忚堪',
+  `repair_action` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '缁翠慨鎺柦',
+  `repair_result` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨缁撴灉: 宸蹭慨澶�/鏃犳硶淇/閮ㄥ垎淇',
+  `repair_cost` decimal(10,2) DEFAULT '0.00' COMMENT '缁翠慨璐圭敤',
+  `repair_user_id` bigint DEFAULT NULL COMMENT '缁翠慨浜�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��: 0-寰呭鐞� 10-缁翠慨涓� 20-宸插畬鎴� 30-宸插叧闂�',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬬淮淇椂闂�',
+  `finish_time` datetime DEFAULT NULL COMMENT '瀹屾垚缁翠慨鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_ticket_id` (`ticket_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗缁翠慨璁板綍琛�';
+
+-- ============ 琛細after_sale_return锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_return`;
+CREATE TABLE `after_sale_return` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閫�璐х敵璇风紪鍙�',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閫�璐у崟鍙�',
+  `ticket_id` bigint NOT NULL COMMENT '鍏宠仈宸ュ崟缂栧彿',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '鍏宠仈閿�鍞鍗曠紪鍙�',
+  `return_type` tinyint NOT NULL COMMENT '閫�璐х被鍨�: 1-閫�娆鹃��璐� 2-鎹㈣揣 3-浠呴��娆�',
+  `return_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閫�璐у師鍥�',
+  `defect_category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡鍒嗙被',
+  `total_return_price` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '搴旈��鎬婚噾棰�',
+  `actual_refund_price` decimal(12,2) DEFAULT '0.00' COMMENT '瀹為��閲戦',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��: 0-鑽夌 10-閿�鍞鏍镐腑 20-瀹℃牳閫氳繃宸插悓姝ES 30-妫�楠屼腑 40-妫�楠屽畬鎴� 50-宸插叆搴� 60-閫�娆�/鎹㈣揣瀹屾垚 70-宸插叧闂� 99-宸插彇娑�',
+  `audit_user_id` bigint DEFAULT NULL COMMENT '瀹℃牳浜�',
+  `audit_time` datetime DEFAULT NULL COMMENT '瀹℃牳鏃堕棿',
+  `mes_return_id` bigint DEFAULT NULL COMMENT 'MES閫�璐у崟缂栧彿',
+  `mes_return_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'MES閫�璐у崟鍙�(鍐椾綑)',
+  `quality_result` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐ㄦ缁撹',
+  `quality_report_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐ㄦ鎶ュ憡闄勪欢URL',
+  `return_inbound_time` datetime DEFAULT NULL COMMENT '閫�璐у叆搴撳畬鎴愭椂闂�',
+  `refund_time` datetime DEFAULT NULL COMMENT '閫�娆�/鎹㈣揣瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_ticket_id` (`ticket_id`) USING BTREE,
+  KEY `idx_mes_return_id` (`mes_return_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗閫�璐х敵璇疯〃';
+
+-- ============ 琛細after_sale_return_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_return_item`;
+CREATE TABLE `after_sale_return_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `return_id` bigint NOT NULL COMMENT '閫�璐х敵璇风紪鍙�',
+  `ticket_item_id` bigint NOT NULL COMMENT '宸ュ崟鏄庣粏琛岀紪鍙�',
+  `item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜(鍐椾綑)',
+  `item_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О(鍐椾綑)',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `return_quantity` decimal(10,3) NOT NULL COMMENT '閫�璐ф暟閲�',
+  `unit_price` decimal(12,2) NOT NULL COMMENT '閿�鍞崟浠�',
+  `return_price` decimal(12,2) NOT NULL COMMENT '閫�璐ч噾棰�',
+  `mes_return_line_id` bigint DEFAULT NULL COMMENT 'MES閫�璐у崟琛岀紪鍙�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_return_id` (`return_id`) USING BTREE,
+  KEY `idx_ticket_item_id` (`ticket_item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗閫�璐ф槑缁嗚琛�';
+
+-- ============ 琛細after_sale_ticket锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_ticket`;
+CREATE TABLE `after_sale_ticket` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '宸ュ崟缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '宸ュ崟鍗曞彿',
+  `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ュ崟涓婚/鏍囬',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿锛屽叧鑱� crm_customer.id',
+  `contact_id` bigint DEFAULT NULL COMMENT '鑱旂郴浜虹紪鍙凤紝鍏宠仈 crm_contact.id',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙凤紝鍏宠仈 erp_sale_order.id',
+  `sale_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿(鍐椾綑)',
+  `contract_id` bigint DEFAULT NULL COMMENT '鍚堝悓缂栧彿锛屽叧鑱� crm_contract.id',
+  `issue_type` tinyint NOT NULL DEFAULT '0' COMMENT '闂绫诲瀷: 0-鏈垽瀹� 1-涓�鑸棶棰� 2-缁翠慨闂 3-閫�璐ч棶棰�',
+  `issue_category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闂鍒嗙被',
+  `issue_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '闂鎻忚堪',
+  `severity_level` tinyint DEFAULT '0' COMMENT '涓ラ噸绋嬪害: 0-杞诲井 1-涓�鑸� 2-涓ラ噸 3-鑷村懡',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��: 0-鑽夌 10-澶勭悊涓� 30-寰呴��璐� 40-寰呴��娆�/鎹㈣揣 50-宸插畬缁� 60-宸插叧闂� 99-宸插彇娑�',
+  `owner_user_id` bigint NOT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭悊浜虹敤鎴风紪鍙�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM宸ヤ綔娴佸疄渚嬬紪鍙�',
+  `return_id` bigint DEFAULT NULL COMMENT '鍏宠仈閫�璐х敵璇风紪鍙�',
+  `repair_id` bigint DEFAULT NULL COMMENT '鍏宠仈缁翠慨璁板綍缂栧彿',
+  `resolved_time` datetime DEFAULT NULL COMMENT '瑙e喅鏃堕棿',
+  `closed_time` datetime DEFAULT NULL COMMENT '鍏抽棴鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_customer_id` (`customer_id`) USING BTREE,
+  KEY `idx_sale_order_id` (`sale_order_id`) USING BTREE,
+  KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗宸ュ崟涓昏〃';
+
+-- ============ 琛細after_sale_ticket_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `after_sale_ticket_item`;
+CREATE TABLE `after_sale_ticket_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `ticket_id` bigint NOT NULL COMMENT '宸ュ崟缂栧彿锛屽叧鑱� after_sale_ticket.id',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曡缂栧彿',
+  `item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜(鍐椾綑)',
+  `item_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О(鍐椾綑)',
+  `batch_id` bigint DEFAULT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵规鍙�',
+  `sale_quantity` decimal(10,3) NOT NULL DEFAULT '0.000' COMMENT '閿�鍞暟閲�',
+  `return_quantity` decimal(10,3) DEFAULT '0.000' COMMENT '閫�璐ф暟閲�',
+  `need_repair` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁闇�瑕佺淮淇�',
+  `need_return` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁闇�瑕侀��璐�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_ticket_id` (`ticket_id`) USING BTREE,
+  KEY `idx_item_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鍞悗宸ュ崟鏄庣粏琛岃〃';
+
+-- ============ 琛細ai_chat_conversation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_chat_conversation`;
+CREATE TABLE `ai_chat_conversation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID 缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '鏂板璇�' COMMENT '瀵硅瘽鏍囬',
+  `pinned` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁缃《',
+  `pinned_time` datetime DEFAULT NULL COMMENT '缃《鏃堕棿',
+  `role_id` bigint DEFAULT NULL COMMENT '瑙掕壊缂栧彿',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囧織',
+  `system_message` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊璁惧畾',
+  `temperature` double DEFAULT NULL COMMENT '娓╁害鍙傛暟',
+  `max_tokens` int DEFAULT NULL COMMENT '鍗曟潯鍥炲鐨勬渶澶� Token 鏁伴噺',
+  `max_contexts` int DEFAULT NULL COMMENT '涓婁笅鏂囩殑鏈�澶� Message 鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI Chat 瀵硅瘽琛�';
+
+-- ============ 琛細ai_chat_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_chat_message`;
+CREATE TABLE `ai_chat_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `conversation_id` bigint NOT NULL COMMENT '瀵硅瘽缂栧彿',
+  `reply_id` bigint DEFAULT NULL COMMENT '鍥炲娑堟伅缂栧彿',
+  `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `role_id` bigint DEFAULT NULL COMMENT '瑙掕壊缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囧織',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鑱婂ぉ鍐呭',
+  `reasoning_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎺ㄧ悊鍐呭',
+  `use_context` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎼哄甫涓婁笅鏂�',
+  `segment_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭ヨ瘑搴撴钀界紪鍙锋暟缁�',
+  `web_search_pages` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鑱旂綉鎼滅储鐨勭綉椤靛唴瀹规暟缁�',
+  `attachment_urls` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勪欢 URL 鏁扮粍',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI Chat 娑堟伅琛�';
+
+-- ============ 琛細ai_chat_role锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_chat_role`;
+CREATE TABLE `ai_chat_role` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瑙掕壊鍚嶇О',
+  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊澶村儚',
+  `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瑙掕壊鍒嗙被',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊鎻忚堪',
+  `system_message` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊璁惧畾',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `knowledge_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮曠敤鐨勭煡璇嗗簱缂栧彿鍒楄〃',
+  `tool_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮曠敤鐨勫伐鍏风紪鍙峰垪琛�',
+  `mcp_client_names` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮曠敤鐨� MCP Client 鍚嶅瓧鍒楄〃',
+  `public_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏紑',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鑱婂ぉ瑙掕壊琛�';
+
+-- ============ 琛細ai_image锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_image`;
+CREATE TABLE `ai_image` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎻愮ず璇�',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囪瘑',
+  `width` int DEFAULT NULL COMMENT '鍥剧墖瀹藉害',
+  `height` int DEFAULT NULL COMMENT '鍥剧墖楂樺害',
+  `status` tinyint NOT NULL COMMENT '鐢熸垚鐘舵��',
+  `finish_time` datetime DEFAULT NULL COMMENT '瀹屾垚鏃堕棿',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁樼敾閿欒淇℃伅',
+  `pic_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `public_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏紑',
+  `options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '缁樺埗鍙傛暟',
+  `buttons` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'mj buttons 鎸夐挳',
+  `task_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 缁樼敾琛�';
+
+-- ============ 琛細ai_knowledge锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_knowledge`;
+CREATE TABLE `ai_knowledge` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鐭ヨ瘑搴撳悕绉�',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭ヨ瘑搴撴弿杩�',
+  `embedding_model_id` bigint DEFAULT NULL COMMENT '鍚戦噺妯″瀷缂栧彿',
+  `embedding_model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷鏍囪瘑',
+  `top_k` int DEFAULT NULL COMMENT 'topK',
+  `similarity_threshold` double DEFAULT NULL COMMENT '鐩镐技搴﹂槇鍊�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鐭ヨ瘑搴撹〃';
+
+-- ============ 琛細ai_knowledge_document锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_knowledge_document`;
+CREATE TABLE `ai_knowledge_document` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `knowledge_id` bigint NOT NULL COMMENT '鐭ヨ瘑搴撶紪鍙�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鏂囨。鍚嶇О',
+  `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢 URL',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍐呭',
+  `content_length` int DEFAULT NULL COMMENT '鏂囨。闀垮害',
+  `tokens` int DEFAULT NULL COMMENT '鏂囨。 token 鏁伴噺',
+  `segment_max_tokens` int DEFAULT NULL COMMENT '鍒嗙墖鏈�澶� Token 鏁�',
+  `retrieval_count` int NOT NULL DEFAULT '0' COMMENT '鍙洖娆℃暟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鐭ヨ瘑搴撴枃妗h〃';
+
+-- ============ 琛細ai_knowledge_segment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_knowledge_segment`;
+CREATE TABLE `ai_knowledge_segment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `knowledge_id` bigint NOT NULL COMMENT '鐭ヨ瘑搴撶紪鍙�',
+  `document_id` bigint NOT NULL COMMENT '鏂囨。缂栧彿',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍒囩墖鍐呭',
+  `content_length` int DEFAULT NULL COMMENT '鍒囩墖鍐呭闀垮害',
+  `vector_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍚戦噺搴撶殑缂栧彿',
+  `tokens` int DEFAULT NULL COMMENT 'token 鏁伴噺',
+  `retrieval_count` int NOT NULL DEFAULT '0' COMMENT '鍙洖娆℃暟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鐭ヨ瘑搴撴枃妗e垎娈佃〃';
+
+-- ============ 琛細ai_mind_map锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_mind_map`;
+CREATE TABLE `ai_mind_map` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷',
+  `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鍐呭鎻愮ず',
+  `generated_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鐨勫唴瀹�',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿欒淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鎬濈淮瀵煎浘琛�';
+
+-- ============ 琛細ai_music锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_music`;
+CREATE TABLE `ai_music` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闊充箰鍚嶇О',
+  `lyric` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '姝岃瘝',
+  `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `audio_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闊抽鍦板潃',
+  `video_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙嗛鍦板潃',
+  `status` tinyint NOT NULL COMMENT '闊充箰鐘舵��',
+  `generate_mode` tinyint NOT NULL COMMENT '鐢熸垚妯″紡',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪璇�',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷',
+  `tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闊充箰椋庢牸鏍囩',
+  `duration` double DEFAULT NULL COMMENT '闊充箰鏃堕暱',
+  `public_status` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏紑',
+  `task_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟缂栧彿',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿欒淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 闊充箰琛�';
+
+-- ============ 琛細ai_tool锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_tool`;
+CREATE TABLE `ai_tool` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '宸ュ叿缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ュ叿鍚嶇О',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ叿鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 宸ュ叿琛�';
+
+-- ============ 琛細ai_workflow锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_workflow`;
+CREATE TABLE `ai_workflow` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ヤ綔娴佸悕绉�',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '宸ヤ綔娴佹爣璇�',
+  `graph` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '宸ヤ綔娴佹ā鍨� JSON 鏁版嵁',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 宸ヤ綔娴佽〃';
+
+-- ============ 琛細ai_write锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ai_write`;
+CREATE TABLE `ai_write` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `type` tinyint NOT NULL COMMENT '鍐欎綔绫诲瀷',
+  `platform` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞冲彴',
+  `model_id` bigint DEFAULT NULL COMMENT '妯″瀷缂栧彿',
+  `model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯″瀷',
+  `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鍐呭鎻愮ず',
+  `generated_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢熸垚鐨勫唴瀹�',
+  `original_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍘熸枃',
+  `length` tinyint DEFAULT NULL COMMENT '闀垮害鎻愮ず璇�',
+  `format` tinyint DEFAULT NULL COMMENT '鏍煎紡鎻愮ず璇�',
+  `tone` tinyint DEFAULT NULL COMMENT '璇皵鎻愮ず璇�',
+  `language` tinyint DEFAULT NULL COMMENT '璇█鎻愮ず璇�',
+  `error_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿欒淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='AI 鍐欎綔琛�';
+
+-- ============ 琛細bpm_bak_20260904_bytearray锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_bytearray`;
+CREATE TABLE `bpm_bak_20260904_bytearray` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BYTES_` longblob,
+  `GENERATED_` tinyint DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_category`;
+CREATE TABLE `bpm_bak_20260904_category` (
+  `id` bigint NOT NULL DEFAULT '0' COMMENT '鍒嗙被缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚�',
+  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鏍囧織',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鎻忚堪',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍒嗙被鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鍒嗙被鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_deployment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_deployment`;
+CREATE TABLE `bpm_bak_20260904_deployment` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_model锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_model`;
+CREATE TABLE `bpm_bak_20260904_model` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `META_INFO_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT ''
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_procdef锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_procdef`;
+CREATE TABLE `bpm_bak_20260904_procdef` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `VERSION_` int NOT NULL,
+  `DEPLOYMENT_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DGRM_RESOURCE_NAME_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DESCRIPTION_` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `HAS_START_FORM_KEY_` tinyint DEFAULT NULL,
+  `HAS_GRAPHICAL_NOTATION_` tinyint DEFAULT NULL,
+  `SUSPENSION_STATE_` int DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  `ENGINE_VERSION_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_FROM_ROOT_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `DERIVED_VERSION_` int NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_bak_20260904_procinfo锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_bak_20260904_procinfo`;
+CREATE TABLE `bpm_bak_20260904_procinfo` (
+  `id` bigint NOT NULL DEFAULT '0' COMMENT '缂栧彿',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹氫箟鐨勭紪鍙�',
+  `model_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼妯″瀷鐨勭紪鍙�',
+  `model_type` tinyint NOT NULL DEFAULT '10' COMMENT '娴佺▼妯″瀷鐨勭被鍨�',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼鍒嗙被鐨勭紪鐮�',
+  `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥炬爣',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎻忚堪',
+  `form_type` tinyint NOT NULL DEFAULT '10' COMMENT '琛ㄥ崟绫诲瀷锛�10鏅�氳〃鍗� 20鑷畾涔夎〃鍗曪級',
+  `form_id` bigint DEFAULT NULL COMMENT '鍔ㄦ�佽〃鍗曠紪鍙�',
+  `form_conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '琛ㄥ崟鐨勯厤缃�',
+  `form_fields` json DEFAULT NULL COMMENT '琛ㄥ崟椤圭殑鏁扮粍',
+  `form_custom_create_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鎻愪氦璺緞',
+  `form_custom_view_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷畾涔夎〃鍗曠殑鏌ョ湅璺緞',
+  `simple_model` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'SIMPLE 璁捐鍣ㄦā鍨嬫暟鎹�',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍙',
+  `sort` bigint NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍊�',
+  `start_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧风敤鎴风紪鍙锋暟缁�',
+  `start_dept_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙彂璧烽儴闂ㄧ紪鍙锋暟缁�',
+  `manager_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙鐞嗙敤鎴风紪鍙锋暟缁�',
+  `allow_cancel_running_process` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽鎾ら攢瀹℃壒涓殑鐢宠',
+  `allow_withdraw_task` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍏佽瀹℃壒浜烘挙鍥炰换鍔�',
+  `process_id_rule` json DEFAULT NULL COMMENT '娴佺▼ ID 瑙勫垯',
+  `auto_approval_type` tinyint DEFAULT NULL COMMENT '鑷姩鍘婚噸绫诲瀷',
+  `title_setting` json DEFAULT NULL COMMENT '鏍囬璁剧疆',
+  `summary_setting` json DEFAULT NULL COMMENT '鎽樿璁剧疆',
+  `process_before_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍓嶇疆閫氱煡璁剧疆',
+  `process_after_trigger_setting` json DEFAULT NULL COMMENT '娴佺▼鍚庣疆閫氱煡璁剧疆',
+  `task_before_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍓嶇疆閫氱煡璁剧疆',
+  `task_after_trigger_setting` json DEFAULT NULL COMMENT '浠诲姟鍚庣疆閫氱煡璁剧疆',
+  `print_template_setting` json DEFAULT NULL COMMENT '鑷畾涔夋墦鍗版ā鏉胯缃�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ============ 琛細bpm_oa_leave锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_oa_leave`;
+CREATE TABLE `bpm_oa_leave` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇峰亣琛ㄥ崟涓婚敭',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜虹殑鐢ㄦ埛缂栧彿',
+  `type` tinyint NOT NULL COMMENT '璇峰亣绫诲瀷',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍘熷洜',
+  `start_time` datetime NOT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime NOT NULL COMMENT '缁撴潫鏃堕棿',
+  `day` bigint NOT NULL COMMENT '璇峰亣澶╂暟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '瀹℃壒缁撴灉',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀵瑰簲鐨勬祦绋嬬紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OA 璇峰亣鐢宠琛�';
+
+-- ============ 琛細bpm_process_instance_copy锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `bpm_process_instance_copy`;
+CREATE TABLE `bpm_process_instance_copy` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `start_user_id` bigint NOT NULL COMMENT '鍙戣捣浜� Id',
+  `process_instance_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼鍚�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹炰緥鐨勭紪鍙�',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴佺▼瀹炰緥鐨勬祦绋嬪畾涔夌紪鍙�',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼鍒嗙被',
+  `activity_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼娲诲姩鐨勭紪鍙�',
+  `activity_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼娲诲姩鐨勫悕瀛�',
+  `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼浠诲姟鐨勭紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿锛堣鎶勯�佺殑鐢ㄦ埛缂栧彿锛�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶勯�佹剰瑙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='娴佺▼鎶勯�佽〃';
+
+-- ============ 琛細crm_business锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business`;
+CREATE TABLE `crm_business` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍟嗘満鍚嶇О',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `follow_up_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '璺熻繘鐘舵��',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `status_type_id` bigint NOT NULL COMMENT '鍟嗘満鐘舵�佺粍缂栧彿',
+  `status_id` bigint NOT NULL COMMENT '鍟嗘満鐘舵�佺紪鍙�',
+  `end_status` int DEFAULT NULL COMMENT '缁撴潫鐘舵��',
+  `end_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁撴潫鏃剁殑澶囨敞',
+  `deal_time` datetime DEFAULT NULL COMMENT '棰勮鎴愪氦鏃ユ湡',
+  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鎬婚噾棰濓紝鍗曚綅锛氬厓',
+  `discount_percent` decimal(24,6) DEFAULT NULL COMMENT '鏁村崟鎶樻墸锛岀櫨鍒嗘瘮',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鍟嗘満鎬婚噾棰濓紝鍗曚綅锛氬厓',
+  `order_id` bigint DEFAULT NULL COMMENT '鍏宠仈 ERP 閿�鍞鍗曠紪鍙�',
+  `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ERP 閿�鍞鍗曞崟鍙�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満琛�';
+
+-- ============ 琛細crm_business_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business_product`;
+CREATE TABLE `crm_business_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `business_id` bigint NOT NULL COMMENT '鍟嗘満缂栧彿',
+  `item_id` bigint NOT NULL COMMENT 'MDM 鐗╂枡缂栧彿',
+  `item_unit_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_price` decimal(24,6) DEFAULT NULL COMMENT '鐗╂枡鍘熶环锛屽崟浣嶏細鍏�',
+  `business_price` decimal(24,6) DEFAULT NULL COMMENT '鍟嗘満浠锋牸锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎬昏浠锋牸锛屽崟浣嶏細鍏�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満浜у搧鍏宠仈琛�';
+
+-- ============ 琛細crm_business_status锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business_status`;
+CREATE TABLE `crm_business_status` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `type_id` bigint NOT NULL COMMENT '鐘舵�佺被鍨嬬紪鍙�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐘舵�佸悕',
+  `percent` int DEFAULT NULL COMMENT '璧㈠崟鐜囷紝鐧惧垎姣�',
+  `sort` int DEFAULT NULL COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満鐘舵�佽〃';
+
+-- ============ 琛細crm_business_status_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_business_status_type`;
+CREATE TABLE `crm_business_status_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐘舵�佺被鍨嬪悕',
+  `dept_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浣跨敤鐨勯儴闂ㄧ紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍟嗘満鐘舵�佺粍琛�';
+
+-- ============ 琛細crm_clue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_clue`;
+CREATE TABLE `crm_clue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿锛屼富閿嚜澧�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绾跨储鍚嶇О',
+  `follow_up_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '璺熻繘鐘舵��',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_last_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庤窡杩涘唴瀹�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `transform_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '杞寲鐘舵��',
+  `customer_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙�',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢佃瘽',
+  `qq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'QQ',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `area_id` int DEFAULT NULL COMMENT '鎵�鍦ㄥ湴',
+  `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鍦板潃',
+  `industry_id` int DEFAULT NULL COMMENT '鎵�灞炶涓�',
+  `level` int DEFAULT NULL COMMENT '瀹㈡埛绛夌骇',
+  `source` int DEFAULT NULL COMMENT '瀹㈡埛鏉ユ簮',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 绾跨储琛�';
+
+-- ============ 琛細crm_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contact`;
+CREATE TABLE `crm_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜哄鍚�',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_last_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庤窡杩涘唴瀹�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙�',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢佃瘽',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢靛瓙閭',
+  `qq` bigint DEFAULT NULL COMMENT 'QQ',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊',
+  `area_id` int DEFAULT NULL COMMENT '鎵�鍦ㄥ湴',
+  `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鍦板潃',
+  `sex` int DEFAULT NULL COMMENT '鎬у埆',
+  `master` tinyint(1) DEFAULT NULL COMMENT '鏄惁鍏抽敭鍐崇瓥浜�',
+  `post` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱屼綅',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐩村睘涓婄骇',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鑱旂郴浜鸿〃';
+
+-- ============ 琛細crm_contact_business锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contact_business`;
+CREATE TABLE `crm_contact_business` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `contact_id` bigint NOT NULL COMMENT '鑱旂郴浜虹紪鍙�',
+  `business_id` bigint NOT NULL COMMENT '鍟嗘満缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鑱旂郴浜轰笌鍟嗘満鍏宠仈琛�';
+
+-- ============ 琛細crm_contract锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contract`;
+CREATE TABLE `crm_contract` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍚堝悓缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍚堝悓鍚嶇О',
+  `no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `business_id` bigint DEFAULT NULL COMMENT '鍟嗘満缂栧彿',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `audit_status` int DEFAULT NULL COMMENT '瀹℃壒鐘舵��',
+  `order_date` datetime DEFAULT NULL COMMENT '涓嬪崟鏃ユ湡',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '缁撴潫鏃堕棿',
+  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鎬婚噾棰濓紝鍗曚綅锛氬厓',
+  `discount_percent` decimal(24,6) DEFAULT NULL COMMENT '鏁村崟鎶樻墸',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鍚堝悓鎬婚噾棰濓紝鍗曚綅锛氬垎',
+  `deposit_price` decimal(24,6) DEFAULT NULL COMMENT '瀹氶噾閲戦锛屽崟浣嶏細鍏�',
+  `order_id` bigint DEFAULT NULL COMMENT '鍏宠仈 ERP 閿�鍞鍗曠紪鍙�',
+  `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ERP 閿�鍞鍗曞崟鍙�',
+  `sign_contact_id` bigint DEFAULT NULL COMMENT '瀹㈡埛绛剧害浜�',
+  `sign_user_id` bigint DEFAULT NULL COMMENT '鍏徃绛剧害浜�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍚堝悓琛�';
+
+-- ============ 琛細crm_contract_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contract_config`;
+CREATE TABLE `crm_contract_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `notify_enabled` tinyint(1) DEFAULT NULL COMMENT '鏄惁寮�鍚彁鍓嶆彁閱�',
+  `notify_days` int DEFAULT NULL COMMENT '鎻愬墠鎻愰啋澶╂暟',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍚堝悓閰嶇疆琛�';
+
+-- ============ 琛細crm_contract_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_contract_product`;
+CREATE TABLE `crm_contract_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_unit_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_price` decimal(24,6) DEFAULT NULL COMMENT '鐗╂枡鍘熶环锛堝啑浣欙級',
+  `contract_price` decimal(24,6) DEFAULT NULL COMMENT '鍚堝悓浠锋牸锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎬昏浠锋牸锛屽崟浣嶏細鍏�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍚堝悓浜у搧鍏宠仈琛�';
+
+-- ============ 琛細crm_customer锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_customer`;
+CREATE TABLE `crm_customer` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛鍚嶇О',
+  `follow_up_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '璺熻繘鐘舵��',
+  `contact_last_time` datetime DEFAULT NULL COMMENT '鏈�鍚庤窡杩涙椂闂�',
+  `contact_last_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庤窡杩涘唴瀹�',
+  `contact_next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹殑鐢ㄦ埛缂栧彿',
+  `owner_time` datetime DEFAULT NULL COMMENT '鎴愪负璐熻矗浜虹殑鏃堕棿',
+  `lock_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '閿佸畾鐘舵��',
+  `deal_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鎴愪氦鐘舵��',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢佃瘽',
+  `qq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'QQ',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `area_id` int DEFAULT NULL COMMENT '鎵�鍦ㄥ湴',
+  `detail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鍦板潃',
+  `industry_id` int DEFAULT NULL COMMENT '鎵�灞炶涓�',
+  `level` int DEFAULT NULL COMMENT '瀹㈡埛绛夌骇',
+  `source` int DEFAULT NULL COMMENT '瀹㈡埛鏉ユ簮',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 瀹㈡埛琛�';
+
+-- ============ 琛細crm_customer_limit_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_customer_limit_config`;
+CREATE TABLE `crm_customer_limit_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `type` int NOT NULL COMMENT '瑙勫垯绫诲瀷',
+  `user_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯閫傜敤浜虹兢',
+  `dept_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勫垯閫傜敤閮ㄩ棬',
+  `max_count` int DEFAULT NULL COMMENT '鏁伴噺涓婇檺',
+  `deal_count_enabled` tinyint(1) DEFAULT NULL COMMENT '鎴愪氦瀹㈡埛鏄惁鍗犳湁鎷ユ湁瀹㈡埛鏁�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 瀹㈡埛闄愬埗閰嶇疆琛�';
+
+-- ============ 琛細crm_customer_pool_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_customer_pool_config`;
+CREATE TABLE `crm_customer_pool_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍚敤瀹㈡埛鍏捣',
+  `contact_expire_days` int DEFAULT NULL COMMENT '鏈窡杩涙斁鍏ュ叕娴峰ぉ鏁�',
+  `deal_expire_days` int DEFAULT NULL COMMENT '鏈垚浜ゆ斁鍏ュ叕娴峰ぉ鏁�',
+  `notify_enabled` tinyint(1) DEFAULT NULL COMMENT '鏄惁寮�鍚彁鍓嶆彁閱�',
+  `notify_days` int DEFAULT NULL COMMENT '鎻愬墠鎻愰啋澶╂暟',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 瀹㈡埛鍏捣閰嶇疆琛�';
+
+-- ============ 琛細crm_follow_up_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_follow_up_record`;
+CREATE TABLE `crm_follow_up_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `biz_type` int NOT NULL COMMENT '鏁版嵁绫诲瀷',
+  `biz_id` bigint NOT NULL COMMENT '鏁版嵁缂栧彿',
+  `type` int DEFAULT NULL COMMENT '璺熻繘绫诲瀷',
+  `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璺熻繘鍐呭',
+  `next_time` datetime DEFAULT NULL COMMENT '涓嬫鑱旂郴鏃堕棿',
+  `pic_urls` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖',
+  `business_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐨勫晢鏈虹紪鍙锋暟缁�',
+  `contact_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐨勮仈绯讳汉缂栧彿鏁扮粍',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 璺熻繘璁板綍琛�';
+
+-- ============ 琛細crm_invoice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_invoice`;
+CREATE TABLE `crm_invoice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '寮�绁ㄧ紪鍙�',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `owner_user_id` bigint NOT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `invoice_type` int NOT NULL COMMENT '鍙戠エ绫诲瀷锛堝瓧鍏� crm_invoice_type锛�',
+  `invoice_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鍙风爜',
+  `invoice_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鎶ご',
+  `price` decimal(18,2) NOT NULL COMMENT '寮�绁ㄩ噾棰濓紙鍏冿級',
+  `invoice_time` datetime DEFAULT NULL COMMENT '寮�绁ㄦ棩鏈�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `audit_status` int NOT NULL COMMENT '瀹℃壒鐘舵�侊紙crm_audit_status锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 寮�绁�';
+
+-- ============ 琛細crm_permission锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_permission`;
+CREATE TABLE `crm_permission` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿锛屼富閿嚜澧�',
+  `biz_type` int NOT NULL COMMENT '鏁版嵁绫诲瀷',
+  `biz_id` bigint NOT NULL COMMENT '鏁版嵁缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `level` int NOT NULL COMMENT '鏉冮檺绾у埆',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鏁版嵁鏉冮檺琛�';
+
+-- ============ 琛細crm_receivable锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_receivable`;
+CREATE TABLE `crm_receivable` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍥炴缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鍥炴璁″垝缂栧彿',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `invoice_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勫紑绁ㄧ紪鍙凤紝鍏宠仈 crm_invoice.id',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `return_time` datetime DEFAULT NULL COMMENT '鍥炴鏃ユ湡',
+  `return_type` int DEFAULT NULL COMMENT '鍥炴鏂瑰紡',
+  `price` decimal(24,6) DEFAULT NULL COMMENT '璁″垝鍥炴閲戦锛屽崟浣嶏細鍏�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `audit_status` int DEFAULT NULL COMMENT '瀹℃壒鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍥炴琛�';
+
+-- ============ 琛細crm_receivable_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_receivable_plan`;
+CREATE TABLE `crm_receivable_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `period` int DEFAULT NULL COMMENT '鏈熸暟',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `return_time` datetime DEFAULT NULL COMMENT '璁″垝鍥炴鏃ユ湡',
+  `return_type` int DEFAULT NULL COMMENT '璁″垝鍥炴绫诲瀷',
+  `price` decimal(24,6) DEFAULT NULL COMMENT '璁″垝鍥炴閲戦锛屽崟浣嶏細鍏�',
+  `receivable_id` bigint DEFAULT NULL COMMENT '鍥炴缂栧彿',
+  `remind_days` int DEFAULT NULL COMMENT '鎻愬墠鍑犲ぉ鎻愰啋',
+  `remind_time` datetime DEFAULT NULL COMMENT '鎻愰啋鏃ユ湡',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 鍥炴璁″垝琛�';
+
+-- ============ 琛細crm_sale_quotation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_sale_quotation`;
+CREATE TABLE `crm_sale_quotation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎶ヤ环鍗曞彿',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎶ヤ环鍗曞悕绉�',
+  `customer_id` bigint NOT NULL COMMENT '瀹㈡埛缂栧彿',
+  `business_id` bigint DEFAULT NULL COMMENT '鍟嗘満缂栧彿',
+  `contact_id` bigint DEFAULT NULL COMMENT '鑱旂郴浜虹紪鍙�',
+  `owner_user_id` bigint NOT NULL COMMENT '璐熻矗浜虹紪鍙�',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鑽夌 10瀹℃壒涓� 20宸查�氳繃 30宸叉嫆缁� 40宸插彇娑� 50宸茶浆鍚堝悓锛�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙�',
+  `quotation_time` datetime DEFAULT NULL COMMENT '鎶ヤ环鏃ユ湡',
+  `valid_until` datetime DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',
+  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鎬婚噾棰�',
+  `discount_percent` decimal(10,2) DEFAULT '0.00' COMMENT '鏁村崟鎶樻墸(%)',
+  `discount_price` decimal(24,6) DEFAULT '0.000000' COMMENT '浼樻儬閲戦',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎶ヤ环鎬婚噾棰�',
+  `tax_rate` decimal(10,2) DEFAULT NULL COMMENT '绋庣巼(%)',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨',
+  `contract_id` bigint DEFAULT NULL COMMENT '鍏宠仈鍚堝悓缂栧彿',
+  `contract_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍏宠仈鍚堝悓鍗曞彿',
+  `remark` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_customer_id` (`customer_id`) USING BTREE,
+  KEY `idx_business_id` (`business_id`) USING BTREE,
+  KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 閿�鍞姤浠峰崟';
+
+-- ============ 琛細crm_sale_quotation_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_sale_quotation_product`;
+CREATE TABLE `crm_sale_quotation_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `quotation_id` bigint NOT NULL COMMENT '鎶ヤ环鍗曠紪鍙�',
+  `item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡缂栧彿',
+  `item_unit_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_price` decimal(24,6) NOT NULL COMMENT '鐗╂枡鍘熶环锛堝啑浣欙級',
+  `quotation_price` decimal(24,6) NOT NULL COMMENT '鎶ヤ环鍗曚环',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '灏忚閲戦',
+  `tax_percent` decimal(10,2) DEFAULT NULL COMMENT '绋庣巼(%)',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨',
+  `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_quotation_id` (`quotation_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 閿�鍞姤浠峰崟浜у搧鏄庣粏';
+
+-- ============ 琛細crm_sales_target锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `crm_sales_target`;
+CREATE TABLE `crm_sales_target` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鐩爣鍚嶇О',
+  `period_type` int NOT NULL COMMENT '鍛ㄦ湡绫诲瀷(瀛楀吀 crm_sales_target_period_type: 1骞�/2瀛e害/3鏈�)',
+  `period_value` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍛ㄦ湡鍊硷紝濡� 2026 / 2026-Q1 / 2026-07',
+  `start_time` datetime NOT NULL COMMENT '鍛ㄦ湡寮�濮嬫椂闂�(淇濆瓨鏃剁敱鍛ㄦ湡璁$畻鍐欏叆)',
+  `end_time` datetime NOT NULL COMMENT '鍛ㄦ湡缁撴潫鏃堕棿(淇濆瓨鏃剁敱鍛ㄦ湡璁$畻鍐欏叆)',
+  `target_dimension` int NOT NULL COMMENT '鐩爣缁村害(瀛楀吀 crm_sales_target_dimension: 1涓汉/2閮ㄩ棬/3浜у搧)',
+  `target_user_id` bigint DEFAULT NULL COMMENT '鐩爣鐢ㄦ埛缂栧彿(缁村害=涓汉)',
+  `target_dept_id` bigint DEFAULT NULL COMMENT '鐩爣閮ㄩ棬缂栧彿(缁村害=閮ㄩ棬)',
+  `target_item_id` bigint DEFAULT NULL COMMENT '鐩爣鐗╂枡缂栧彿(缁村害=浜у搧锛屽叧鑱� MDM)',
+  `contract_target` decimal(18,2) DEFAULT NULL COMMENT '鍚堝悓閲戦鐩爣(鍏�)',
+  `receivable_target` decimal(18,2) DEFAULT NULL COMMENT '鍥炴閲戦鐩爣(鍏�)',
+  `business_target` decimal(18,2) DEFAULT NULL COMMENT '鍟嗘満閲戦鐩爣(鍏�)',
+  `customer_target` int DEFAULT NULL COMMENT '鏂板瀹㈡埛鏁扮洰鏍�',
+  `contract_count_target` int DEFAULT NULL COMMENT '鏂板鍚堝悓鏁扮洰鏍�',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵��(瀛楀吀 crm_sales_target_status: 0鏈敓鏁�/1宸茬敓鏁�/2宸茬粨鏉�/3宸蹭綔搴�)',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏈�鍚庢洿鏂版椂闂�',
+  `deleted` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_period` (`period_type`,`period_value`) USING BTREE,
+  KEY `idx_dimension` (`target_dimension`,`target_user_id`,`target_dept_id`,`target_item_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='CRM 閿�鍞洰鏍�';
+
+-- ============ 琛細erp_account锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_account`;
+CREATE TABLE `erp_account` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缁撶畻璐︽埛缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璐︽埛鍚嶇О',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璐︽埛缂栫爜',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` int NOT NULL COMMENT '寮�鍚姸鎬�',
+  `sort` int NOT NULL COMMENT '鎺掑簭',
+  `default_status` tinyint(1) NOT NULL COMMENT '鏄惁榛樿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 缁撶畻璐︽埛';
+
+-- ============ 琛細erp_finance_payment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_payment`;
+CREATE TABLE `erp_finance_payment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠樻鍗曞彿',
+  `status` int NOT NULL COMMENT '浠樻鐘舵��',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔娴佺紪鍙凤紝鍏宠仈 BPM 娴佺▼瀹炰緥',
+  `payment_time` datetime NOT NULL COMMENT '浠樻鏃堕棿',
+  `finance_user_id` bigint DEFAULT NULL COMMENT '璐㈠姟浜哄憳缂栧彿',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `invoice_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勬潵绁ㄧ紪鍙凤紝鍏宠仈 erp_purchase_invoice.id',
+  `account_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠樻璐︽埛',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鍚堣浠锋牸锛屽崟浣嶏細鍏�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `payment_price` decimal(24,6) NOT NULL COMMENT '瀹炰粯閲戦锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 浠樻鍗�';
+
+-- ============ 琛細erp_finance_payment_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_payment_item`;
+CREATE TABLE `erp_finance_payment_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏ュ簱椤圭紪鍙�',
+  `payment_id` bigint DEFAULT NULL COMMENT '浠樻鍗曠紪鍙�',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `biz_id` bigint DEFAULT NULL COMMENT '涓氬姟缂栧彿',
+  `biz_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟鍗曞彿',
+  `total_price` decimal(24,6) NOT NULL COMMENT '搴斾粯閲戦锛屽崟浣嶏細鍒�',
+  `paid_price` decimal(24,6) NOT NULL COMMENT '宸蹭粯閲戦锛屽崟浣嶏細鍒�',
+  `payment_price` decimal(24,6) NOT NULL COMMENT '鏈浠樻锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 浠樻椤�';
+
+-- ============ 琛細erp_finance_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_receipt`;
+CREATE TABLE `erp_finance_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏀舵鍗曞彿',
+  `status` int NOT NULL COMMENT '鏀舵鐘舵��',
+  `receipt_time` datetime NOT NULL COMMENT '鏀舵鏃堕棿',
+  `finance_user_id` bigint DEFAULT NULL COMMENT '璐㈠姟浜哄憳缂栧彿',
+  `customer_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `account_id` bigint DEFAULT NULL COMMENT '鏀舵璐︽埛缂栧彿',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鍚堣浠锋牸锛屽崟浣嶏細鍏�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `receipt_price` decimal(24,6) NOT NULL COMMENT '瀹炴敹閲戦锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 鏀舵鍗�';
+
+-- ============ 琛細erp_finance_receipt_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_finance_receipt_item`;
+CREATE TABLE `erp_finance_receipt_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏ュ簱椤圭紪鍙�',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鏀舵鍗曠紪鍙�',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `biz_id` bigint DEFAULT NULL COMMENT '涓氬姟缂栧彿',
+  `biz_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟鍗曞彿',
+  `total_price` decimal(24,6) NOT NULL COMMENT '搴旀敹閲戦锛屽崟浣嶏細鍒�',
+  `receipted_price` decimal(24,6) NOT NULL COMMENT '宸叉敹閲戦锛屽崟浣嶏細鍒�',
+  `receipt_price` decimal(24,6) NOT NULL COMMENT '鏈鏀舵锛屽崟浣嶏細鍒�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 鏀舵椤�';
+
+-- ============ 琛細erp_purchase_invoice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_invoice`;
+CREATE TABLE `erp_purchase_invoice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏉ョエ缂栧彿',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `purchase_order_id` bigint NOT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `invoice_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鍙风爜',
+  `invoice_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ鎶ご',
+  `price` decimal(24,6) NOT NULL COMMENT '鏉ョエ閲戦锛屽崟浣嶏細鍏�',
+  `invoice_time` datetime NOT NULL COMMENT '鏉ョエ鏃ユ湡',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='閲囪喘鏉ョエ';
+
+-- ============ 琛細erp_purchase_order锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_order`;
+CREATE TABLE `erp_purchase_order` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閲囪喘璁㈠崟鍙�',
+  `status` int NOT NULL COMMENT '閲囪喘鐘舵��',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `account_id` bigint DEFAULT NULL COMMENT '缁撶畻璐︽埛缂栧彿',
+  `order_time` datetime NOT NULL COMMENT '涓嬪崟鏃堕棿',
+  `total_count` decimal(24,6) NOT NULL COMMENT '鍚堣鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鏈�缁堝悎璁′环鏍硷紝鍗曚綅锛氬厓',
+  `total_product_price` decimal(24,6) NOT NULL COMMENT '鍚堣浜у搧浠锋牸锛屽崟浣嶏細鍏�',
+  `total_tax_price` decimal(24,6) NOT NULL COMMENT '鍚堣绋庨锛屽崟浣嶏細鍏�',
+  `discount_percent` decimal(24,6) NOT NULL COMMENT '浼樻儬鐜囷紝鐧惧垎姣�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `deposit_price` decimal(24,6) NOT NULL COMMENT '瀹氶噾閲戦锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `source_type` int DEFAULT NULL COMMENT '鏉ユ簮绫诲瀷',
+  `source_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曞彿',
+  `source_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `in_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘鍏ュ簱鏁伴噺',
+  `return_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘閫�璐ф暟閲�',
+  `in_status` tinyint DEFAULT '0' COMMENT '鍏ュ簱鐘舵�侊紙0:鏈叆搴� 1:閮ㄥ垎鍏ュ簱 2:鍏ㄩ儴鍏ュ簱锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘璁㈠崟';
+
+-- ============ 琛細erp_purchase_order_items锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_order_items`;
+CREATE TABLE `erp_purchase_order_items` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `request_item_id` bigint DEFAULT NULL COMMENT '閲囪喘鐢宠鏄庣粏缂栧彿',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧缂栧彿',
+  `product_unit_id` bigint DEFAULT NULL COMMENT '浜у搧鍗曚綅缂栧彿',
+  `product_price` decimal(24,6) NOT NULL COMMENT '浜у搧鍗曚綅鍗曚环锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鎬讳环锛屽崟浣嶏細鍏�',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼锛岀櫨鍒嗘瘮',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `in_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘鍏ュ簱鏁伴噺',
+  `return_count` decimal(24,6) DEFAULT NULL COMMENT '閲囪喘閫�璐ф暟閲�',
+  `qc_check_flag` tinyint(1) DEFAULT '0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘璁㈠崟椤�';
+
+-- ============ 琛細erp_purchase_request锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_request`;
+CREATE TABLE `erp_purchase_request` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閲囪喘鐢宠鍗曞彿',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0:鏈彁浜� 10:瀹℃壒涓� 20:瀹℃牳閫氳繃 30:瀹℃牳涓嶉�氳繃 40:宸插彇娑堬級',
+  `request_user_id` bigint NOT NULL COMMENT '鐢宠浜虹紪鍙�',
+  `request_dept_id` bigint DEFAULT NULL COMMENT '鐢宠閮ㄩ棬缂栧彿',
+  `request_time` datetime NOT NULL COMMENT '鐢宠鏃堕棿',
+  `request_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠鐞嗙敱',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙凤紙鍙�夛級',
+  `total_count` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣浠锋牸',
+  `total_product_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣浜у搧浠锋牸',
+  `total_tax_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '鍚堣绋庨',
+  `discount_percent` decimal(24,6) DEFAULT '0.000000' COMMENT '浼樻儬鐜囷紝鐧惧垎姣�',
+  `discount_price` decimal(24,6) DEFAULT '0.000000' COMMENT '浼樻儬閲戦',
+  `deposit_price` decimal(24,6) DEFAULT '0.000000' COMMENT '瀹氶噾閲戦',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `order_id` bigint DEFAULT NULL COMMENT '鐢熸垚鐨勯噰璐鍗曠紪鍙�',
+  `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熸垚鐨勯噰璐鍗曞彿',
+  `in_status` tinyint DEFAULT '0' COMMENT '鍏ュ簱鐘舵�侊紙0:鏈叆搴� 1:閮ㄥ垎鍏ュ簱 2:鍏ㄩ儴鍏ュ簱锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘鐢宠琛�';
+
+-- ============ 琛細erp_purchase_request_items锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_purchase_request_items`;
+CREATE TABLE `erp_purchase_request_items` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `request_id` bigint NOT NULL COMMENT '閲囪喘鐢宠缂栧彿',
+  `product_id` bigint NOT NULL COMMENT '浜у搧缂栧彿',
+  `product_unit_id` bigint DEFAULT NULL COMMENT '浜у搧鍗曚綅缂栧彿',
+  `product_price` decimal(24,6) DEFAULT NULL COMMENT '浜у搧鍙傝�冨崟浠�',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) DEFAULT NULL COMMENT '鎬讳环',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼锛岀櫨鍒嗘瘮',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨',
+  `demand_time` datetime DEFAULT NULL COMMENT '闇�姹傛棩鏈�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `qc_check_flag` tinyint DEFAULT '0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `in_count` decimal(24,6) DEFAULT '0.000000' COMMENT '鍏ュ簱鏁伴噺',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_request_id` (`request_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閲囪喘鐢宠鏄庣粏琛�';
+
+-- ============ 琛細erp_sale_order锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_sale_order`;
+CREATE TABLE `erp_sale_order` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閿�鍞鍗曞彿',
+  `status` int NOT NULL COMMENT '閿�鍞姸鎬�',
+  `customer_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `contract_id` bigint DEFAULT NULL COMMENT '鍏宠仈 CRM 鍚堝悓缂栧彿',
+  `contract_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'CRM 鍚堝悓鍗曞彿',
+  `account_id` bigint DEFAULT NULL COMMENT '缁撶畻璐︽埛缂栧彿',
+  `sale_user_id` bigint DEFAULT NULL COMMENT '閿�鍞憳缂栧彿',
+  `order_time` datetime NOT NULL COMMENT '涓嬪崟鏃堕棿',
+  `total_count` decimal(24,6) NOT NULL COMMENT '鍚堣鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鏈�缁堝悎璁′环鏍硷紝鍗曚綅锛氬厓',
+  `total_product_price` decimal(24,6) NOT NULL COMMENT '鍚堣浜у搧浠锋牸锛屽崟浣嶏細鍏�',
+  `total_tax_price` decimal(24,6) NOT NULL COMMENT '鍚堣绋庨锛屽崟浣嶏細鍏�',
+  `discount_percent` decimal(24,6) NOT NULL COMMENT '浼樻儬鐜囷紝鐧惧垎姣�',
+  `discount_price` decimal(24,6) NOT NULL COMMENT '浼樻儬閲戦锛屽崟浣嶏細鍏�',
+  `deposit_price` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '瀹氶噾閲戦锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `out_count` decimal(24,6) DEFAULT '0.000000' COMMENT '閿�鍞嚭搴撴暟閲�',
+  `out_status` tinyint DEFAULT '0' COMMENT '鍑哄簱鐘舵�侊紙0:鏈嚭搴� 1:閮ㄥ垎鍑哄簱 2:鍏ㄩ儴鍏ュ簱锛�',
+  `production_status` tinyint DEFAULT '0' COMMENT '鐢熶骇鐘舵�侊細0-鏈畬鎴愶紝1-宸插畬鎴�',
+  `production_finish_time` datetime DEFAULT NULL COMMENT '鐢熶骇瀹屾垚鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閿�鍞鍗�';
+
+-- ============ 琛細erp_sale_order_items锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_sale_order_items`;
+CREATE TABLE `erp_sale_order_items` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧缂栧彿',
+  `product_unit_id` bigint DEFAULT NULL COMMENT '浜у搧鍗曚綅缂栧彿',
+  `product_price` decimal(24,6) NOT NULL COMMENT '浜у搧鍗曚綅鍗曚环锛屽崟浣嶏細鍏�',
+  `count` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `total_price` decimal(24,6) NOT NULL COMMENT '鎬讳环锛屽崟浣嶏細鍏�',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼锛岀櫨鍒嗘瘮',
+  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '绋庨锛屽崟浣嶏細鍏�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `out_count` decimal(24,6) DEFAULT '0.000000' COMMENT '閿�鍞嚭搴撴暟閲�',
+  `need_production` tinyint DEFAULT '0' COMMENT '鏄惁闇�瑕佺敓浜э紙0=鍚� 1=鏄級',
+  `mps_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨凪PS缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 閿�鍞鍗曢」';
+
+-- ============ 琛細erp_supplier锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `erp_supplier`;
+CREATE TABLE `erp_supplier` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '渚涘簲鍟嗙紪鍙�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `contact` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙风爜',
+  `telephone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢靛瓙閭',
+  `fax` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼犵湡',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` int NOT NULL COMMENT '寮�鍚姸鎬�',
+  `sort` int NOT NULL COMMENT '鎺掑簭',
+  `tax_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绾崇◣浜鸿瘑鍒彿',
+  `tax_percent` decimal(24,6) DEFAULT NULL COMMENT '绋庣巼',
+  `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴疯',
+  `bank_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴疯处鍙�',
+  `bank_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴峰湴鍧�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='ERP 渚涘簲鍟�';
+
+-- ============ 琛細finance_reimbursement锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `finance_reimbursement`;
+CREATE TABLE `finance_reimbursement` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `no` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎶ラ攢鍗曞彿',
+  `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎶ラ攢鏍囬',
+  `total_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鎶ラ攢鎬婚噾棰�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸查�氳繃 35-宸查┏鍥� 40-宸插綊妗�',
+  `applicant_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `apply_date` date NOT NULL COMMENT '鐢宠鏃ユ湡',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `archive_time` datetime DEFAULT NULL COMMENT '褰掓。鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_applicant_id` (`applicant_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='璐㈠姟-鎶ラ攢鍗�';
+
+-- ============ 琛細finance_reimbursement_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `finance_reimbursement_item`;
+CREATE TABLE `finance_reimbursement_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `reimbursement_id` bigint NOT NULL COMMENT '鎶ラ攢鍗旾D',
+  `expense_type` tinyint NOT NULL COMMENT '璐圭敤绫诲瀷锛�1-宸梾 2-鍔炲叕 3-鎷涘緟 4-浜ら�� 5-鍏朵粬',
+  `invoice_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戠エ鍙风爜',
+  `invoice_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鍙戠エ閲戦',
+  `invoice_date` date DEFAULT NULL COMMENT '鍙戠エ鏃ユ湡',
+  `drawer` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�绁ㄦ柟',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐圭敤璇存槑',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_reimbursement_id` (`reimbursement_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='璐㈠姟-鎶ラ攢鏄庣粏';
+
+-- ============ 琛細flw_channel_definition锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_channel_definition`;
+CREATE TABLE `flw_channel_definition` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `TYPE_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `IMPLEMENTATION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DESCRIPTION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_IDX_CHANNEL_DEF_UNIQ` (`KEY_`,`VERSION_`,`TENANT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_event_definition锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_event_definition`;
+CREATE TABLE `flw_event_definition` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `VERSION_` int DEFAULT NULL,
+  `KEY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `RESOURCE_NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DESCRIPTION_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  UNIQUE KEY `ACT_IDX_EVENT_DEF_UNIQ` (`KEY_`,`VERSION_`,`TENANT_ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_event_deployment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_event_deployment`;
+CREATE TABLE `flw_event_deployment` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `CATEGORY_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOY_TIME_` datetime(3) DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `PARENT_DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_event_resource锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_event_resource`;
+CREATE TABLE `flw_event_resource` (
+  `ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `NAME_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `DEPLOYMENT_ID_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `RESOURCE_BYTES_` longblob,
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `FLW_IDX_EVENT_RSRC_DPL` (`DEPLOYMENT_ID_`) USING BTREE,
+  CONSTRAINT `FLW_FK_EVENT_RSRC_DPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `flw_event_deployment` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_ru_batch锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_ru_batch`;
+CREATE TABLE `flw_ru_batch` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `SEARCH_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SEARCH_KEY2_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) NOT NULL,
+  `COMPLETE_TIME_` datetime(3) DEFAULT NULL,
+  `STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `BATCH_DOC_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細flw_ru_batch_part锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `flw_ru_batch_part`;
+CREATE TABLE `flw_ru_batch_part` (
+  `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `REV_` int DEFAULT NULL,
+  `BATCH_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+  `SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SUB_SCOPE_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SCOPE_TYPE_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SEARCH_KEY_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `SEARCH_KEY2_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `CREATE_TIME_` datetime(3) NOT NULL,
+  `COMPLETE_TIME_` datetime(3) DEFAULT NULL,
+  `STATUS_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `RESULT_DOC_ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+  `TENANT_ID_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT '',
+  PRIMARY KEY (`ID_`) USING BTREE,
+  KEY `FLW_IDX_BATCH_PART` (`BATCH_ID_`) USING BTREE,
+  CONSTRAINT `FLW_FK_BATCH_PART_PARENT` FOREIGN KEY (`BATCH_ID_`) REFERENCES `flw_ru_batch` (`ID_`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細hrm_attendance_exception锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_exception`;
+CREATE TABLE `hrm_attendance_exception` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `type` tinyint NOT NULL COMMENT '寮傚父绫诲瀷锛�1-琛ュ崱锛�2-鍔犵彮锛�3-鍑哄樊',
+  `exception_date` date NOT NULL COMMENT '寮傚父鏃ユ湡',
+  `exception_time` datetime DEFAULT NULL COMMENT '寮傚父鏃堕棿鐐�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍘熷洜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE,
+  KEY `idx_dept_date` (`dept_id`,`exception_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟寮傚父鐢宠琛�';
+
+-- ============ 琛細hrm_attendance_holiday锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_holiday`;
+CREATE TABLE `hrm_attendance_holiday` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑺傚亣鏃D',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑺傚亣鏃ュ悕绉�',
+  `date` date NOT NULL COMMENT '鏃ユ湡',
+  `type` tinyint NOT NULL DEFAULT '1' COMMENT '绫诲瀷锛�1-浼戞伅鏃ワ紝2-宸ヤ綔鏃�',
+  `is_legal` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁娉曞畾鑺傚亣鏃ワ細0-鍚︼紝1-鏄�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_date` (`date`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟鑺傚亣鏃ラ厤缃〃';
+
+-- ============ 琛細hrm_attendance_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_record`;
+CREATE TABLE `hrm_attendance_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `date` date NOT NULL COMMENT '鑰冨嫟鏃ユ湡',
+  `clock_in_time` datetime DEFAULT NULL COMMENT '涓婄彮鎵撳崱鏃堕棿',
+  `clock_out_time` datetime DEFAULT NULL COMMENT '涓嬬彮鎵撳崱鏃堕棿',
+  `clock_in_type` tinyint DEFAULT NULL COMMENT '涓婄彮鎵撳崱绫诲瀷锛�1-姝e父锛�2-杩熷埌锛�3-缂哄崱',
+  `clock_out_type` tinyint DEFAULT NULL COMMENT '涓嬬彮鎵撳崱绫诲瀷锛�1-姝e父锛�2-鏃╅��锛�3-缂哄崱',
+  `work_hours` decimal(4,2) DEFAULT NULL COMMENT '宸ヤ綔鏃堕暱锛堝皬鏃讹級',
+  `overtime_hours` decimal(4,2) DEFAULT '0.00' COMMENT '鍔犵彮鏃堕暱锛堝皬鏃讹級',
+  `location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵撳崱鍦扮偣',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `data_source` tinyint DEFAULT '1' COMMENT '鏁版嵁鏉ユ簮锛�1-鎵撳崱锛�2-瀵煎叆',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_date` (`user_id`,`date`) USING BTREE,
+  KEY `idx_dept_date` (`dept_id`,`date`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟鎵撳崱璁板綍琛�';
+
+-- ============ 琛細hrm_attendance_rule锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_rule`;
+CREATE TABLE `hrm_attendance_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瑙勫垯ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瑙勫垯鍚嶇О',
+  `dept_id` bigint DEFAULT NULL COMMENT '閫傜敤閮ㄩ棬ID锛堢┖琛ㄧず鍏ㄥ眬锛�',
+  `work_start_time` time NOT NULL COMMENT '涓婄彮鏃堕棿',
+  `work_end_time` time NOT NULL COMMENT '涓嬬彮鏃堕棿',
+  `late_allow_minutes` tinyint DEFAULT '0' COMMENT '杩熷埌鍏佽鍒嗛挓鏁�',
+  `early_allow_minutes` tinyint DEFAULT '0' COMMENT '鏃╅��鍏佽鍒嗛挓鏁�',
+  `overtime_threshold` decimal(4,2) DEFAULT '1.00' COMMENT '鍔犵彮璧风畻鏃堕暱锛堝皬鏃讹級',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟瑙勫垯閰嶇疆琛�';
+
+-- ============ 琛細hrm_attendance_summary锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_attendance_summary`;
+CREATE TABLE `hrm_attendance_summary` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '姹囨�籌D',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `year_month` varchar(7) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '骞存湀锛屾牸寮忥細yyyy-MM',
+  `work_days` int NOT NULL DEFAULT '0' COMMENT '搴斿嚭鍕ゅぉ鏁�',
+  `actual_days` int NOT NULL DEFAULT '0' COMMENT '瀹為檯鍑哄嫟澶╂暟',
+  `late_count` int NOT NULL DEFAULT '0' COMMENT '杩熷埌娆℃暟',
+  `early_count` int NOT NULL DEFAULT '0' COMMENT '鏃╅��娆℃暟',
+  `absent_count` int NOT NULL DEFAULT '0' COMMENT '缂哄崱娆℃暟',
+  `overtime_hours` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '鍔犵彮鏃堕暱锛堝皬鏃讹級',
+  `leave_hours` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '璇峰亣鏃堕暱锛堝皬鏃讹級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_year_month` (`user_id`,`year_month`,`deleted`) USING BTREE,
+  KEY `idx_dept_year_month` (`dept_id`,`year_month`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鑰冨嫟缁熻姹囨�昏〃';
+
+-- ============ 琛細hrm_employee锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee`;
+CREATE TABLE `hrm_employee` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍛樺伐ID',
+  `user_id` bigint DEFAULT NULL COMMENT '绯荤粺鐢ㄦ埛id',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `post_id` bigint DEFAULT NULL COMMENT '宀椾綅ID',
+  `post_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宀椾綅ID鍒楄〃锛圝SON鏍煎紡锛�',
+  `employee_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍛樺伐缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍛樺伐濮撳悕',
+  `gender` tinyint DEFAULT NULL COMMENT '鎬у埆锛�1-鐢凤紝2-濂�',
+  `birthday` date DEFAULT NULL COMMENT '鍑虹敓鏃ユ湡',
+  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙风爜',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `id_card` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '韬唤璇佸彿',
+  `nation` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '姘戞棌',
+  `marriage_status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '濠氬Щ鐘舵��',
+  `age` int DEFAULT NULL COMMENT '骞撮緞',
+  `education` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀛﹀巻',
+  `political_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀挎不闈㈣矊',
+  `hire_date` date NOT NULL COMMENT '鍏ヨ亴鏃ユ湡',
+  `regular_date` date DEFAULT NULL COMMENT '杞鏃ユ湡',
+  `leave_date` date DEFAULT NULL COMMENT '绂昏亴鏃ユ湡',
+  `employee_status` tinyint NOT NULL DEFAULT '1' COMMENT '鍛樺伐鐘舵�侊細1-鍦ㄨ亴锛�2-璇曠敤锛�3-绂昏亴',
+  `annual_leave_balance` decimal(4,2) DEFAULT '0.00' COMMENT '骞村亣浣欓锛堝ぉ锛�',
+  `sick_leave_balance` decimal(4,2) DEFAULT '0.00' COMMENT '鐥呭亣浣欓锛堝ぉ锛�',
+  `salary_structure_id` bigint DEFAULT NULL COMMENT '钖叕缁撴瀯ID',
+  `base_salary` decimal(12,2) DEFAULT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `role_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙掕壊ID鍒楄〃锛圝SON鏍煎紡锛�',
+  `bank_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴烽摱琛�',
+  `bank_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閾惰璐﹀彿',
+  `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灞呬綇鍦板潃',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_employee_no` (`employee_no`) USING BTREE,
+  UNIQUE KEY `uk_phone` (`phone`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE,
+  KEY `idx_employee_status` (`employee_status`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐淇℃伅琛�';
+
+-- ============ 琛細hrm_employee_contract锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_contract`;
+CREATE TABLE `hrm_employee_contract` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍚堝悓ID',
+  `parent_id` bigint DEFAULT NULL COMMENT '缁涓婁竴浠藉悎鍚孖D',
+  `is_current` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁褰撳墠鐢熸晥鍚堝悓',
+  `contract_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍚堝悓缂栧彿',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `contract_type` tinyint NOT NULL COMMENT '鍚堝悓绫诲瀷锛�1-鍔冲姩鍚堝悓锛�2-鍔冲姟鍚堝悓锛�3-瀹炰範鍗忚锛�4-鍔冲姟娲鹃仯锛�5-鍏朵粬',
+  `contract_term_type` tinyint NOT NULL COMMENT '鍚堝悓鏈熼檺绫诲瀷锛�1-鍥哄畾鏈熼檺锛�2-鏃犲浐瀹氭湡闄愶紝3-浠ュ畬鎴愪竴瀹氬伐浣滀换鍔′负鏈熼檺',
+  `sign_company` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绛剧害涓讳綋锛堝叕鍙稿叏绉帮級',
+  `sign_date` date DEFAULT NULL COMMENT '绛捐鏃ユ湡',
+  `start_date` date NOT NULL COMMENT '鍚堝悓寮�濮嬫棩鏈�',
+  `end_date` date DEFAULT NULL COMMENT '鍚堝悓缁撴潫鏃ユ湡锛堟棤鍥哄畾鏈熼檺鍙负绌猴級',
+  `probation_start_date` date DEFAULT NULL COMMENT '璇曠敤鏈熷紑濮嬫棩鏈�',
+  `probation_end_date` date DEFAULT NULL COMMENT '璇曠敤鏈熺粨鏉熸棩鏈�',
+  `probation_salary` decimal(10,2) DEFAULT NULL COMMENT '璇曠敤鏈熷伐璧�',
+  `regular_salary` decimal(10,2) DEFAULT NULL COMMENT '杞宸ヨ祫',
+  `terminate_status` tinyint NOT NULL DEFAULT '0' COMMENT '瑙i櫎/缁堟鐘舵�侊細0-姝e父锛�1-宸茶В闄わ紝2-宸茬粓姝�',
+  `terminate_date` date DEFAULT NULL COMMENT '瑙i櫎/缁堟鏃ユ湡',
+  `terminate_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙i櫎/缁堟鍘熷洜',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_contract_no` (`contract_no`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE,
+  KEY `idx_end_date` (`end_date`) USING BTREE,
+  KEY `idx_terminate_status` (`terminate_status`) USING BTREE,
+  KEY `idx_parent_id` (`parent_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐鍚堝悓琛�';
+
+-- ============ 琛細hrm_employee_education锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_education`;
+CREATE TABLE `hrm_employee_education` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `school_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀛︽牎鍚嶇О',
+  `major` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓撲笟',
+  `degree` tinyint NOT NULL COMMENT '瀛﹀巻锛�1-楂樹腑锛�2-澶т笓锛�3-鏈锛�4-纭曞+锛�5-鍗氬+',
+  `start_date` date NOT NULL COMMENT '鍏ュ鏃堕棿',
+  `end_date` date NOT NULL COMMENT '姣曚笟鏃堕棿',
+  `certificate_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佷功缂栧彿',
+  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐鏁欒偛缁忓巻琛�';
+
+-- ============ 琛細hrm_employee_emergency_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_emergency_contact`;
+CREATE TABLE `hrm_employee_emergency_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜哄鍚�',
+  `relationship` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓庡憳宸ュ叧绯�',
+  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鍦板潃',
+  `sort` tinyint DEFAULT '1' COMMENT '鎺掑簭锛堝彲璁剧疆澶氫釜绱ф�ヨ仈绯讳汉锛�',
+  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐绱ф�ヨ仈绯讳汉琛�';
+
+-- ============ 琛細hrm_employee_salary锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_salary`;
+CREATE TABLE `hrm_employee_salary` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '妗fID',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `salary_structure_id` bigint NOT NULL COMMENT '钖叕缁撴瀯ID',
+  `base_salary` decimal(12,2) NOT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `performance_salary` decimal(12,2) DEFAULT NULL COMMENT '缁╂晥宸ヨ祫',
+  `meal_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '椁愯ˉ',
+  `transport_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '浜ら�氳ˉ璐�',
+  `other_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '鍏朵粬琛ヨ创',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_effective` (`user_id`,`effective_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐钖叕妗f琛�';
+
+-- ============ 琛細hrm_employee_schedule锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_schedule`;
+CREATE TABLE `hrm_employee_schedule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎺掔彮ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID锛屽叧鑱� hrm_employee.id',
+  `date` date NOT NULL COMMENT '鎺掔彮鏃ユ湡',
+  `shift_id` bigint DEFAULT NULL COMMENT '鐝ID锛屽叧鑱� hrm_shift.id锛屼负绌鸿〃绀轰紤鎭�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_employee_date` (`employee_id`,`date`) USING BTREE,
+  KEY `idx_date` (`date`) USING BTREE,
+  KEY `idx_shift_id` (`shift_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐鎺掔彮鏄庣粏琛�';
+
+-- ============ 琛細hrm_employee_social_security锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_social_security`;
+CREATE TABLE `hrm_employee_social_security` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '妗fID',
+  `user_id` bigint NOT NULL COMMENT '绯荤粺鐢ㄦ埛ID',
+  `social_security_scheme_id` bigint NOT NULL COMMENT '绀句繚鍏Н閲戞柟妗圛D',
+  `social_security_base` decimal(12,2) NOT NULL COMMENT '绀句繚缂寸撼鍩烘暟',
+  `housing_fund_base` decimal(12,2) NOT NULL COMMENT '鍏Н閲戠即绾冲熀鏁�',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_effective` (`user_id`,`effective_date`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_scheme_id` (`social_security_scheme_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐绀句繚鍏Н閲戞。妗堣〃';
+
+-- ============ 琛細hrm_employee_work_history锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_employee_work_history`;
+CREATE TABLE `hrm_employee_work_history` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁板綍ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `company_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏徃鍚嶇О',
+  `position` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱屼綅',
+  `start_date` date NOT NULL COMMENT '鍏ヨ亴鏃堕棿',
+  `end_date` date DEFAULT NULL COMMENT '绂昏亴鏃堕棿',
+  `work_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔鍐呭',
+  `leave_reason` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绂昏亴鍘熷洜',
+  `reference_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佹槑浜哄鍚�',
+  `reference_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佹槑浜虹數璇�',
+  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_employee_id` (`employee_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍛樺伐宸ヤ綔缁忓巻琛�';
+
+-- ============ 琛細hrm_leave_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_leave_application`;
+CREATE TABLE `hrm_leave_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `leave_type` tinyint NOT NULL COMMENT '璇峰亣绫诲瀷锛�1-浜嬪亣锛�2-鐥呭亣锛�3-骞村亣锛�4-濠氬亣锛�5-浜у亣锛�6-涓у亣',
+  `start_time` datetime NOT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime NOT NULL COMMENT '缁撴潫鏃堕棿',
+  `duration` decimal(4,2) NOT NULL COMMENT '璇峰亣鏃堕暱锛堝ぉ锛�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇峰亣鍘熷洜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE,
+  KEY `idx_dept_time` (`dept_id`,`start_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM璇峰亣鐢宠琛�';
+
+-- ============ 琛細hrm_leave_type_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_leave_type_config`;
+CREATE TABLE `hrm_leave_type_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `leave_type` int NOT NULL COMMENT '璇峰亣绫诲瀷锛�1-浜嬪亣, 2-鐥呭亣, 3-骞村亣, 4-濠氬亣, 5-浜у亣, 6-涓у亣',
+  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '绫诲瀷鍚嶇О',
+  `deduction_ratio` decimal(5,4) NOT NULL DEFAULT '0.0000' COMMENT '鎵f姣斾緥锛�0-1涔嬮棿锛屽0.5琛ㄧず鎵�50%锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤, 1-绂佺敤',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓浜�',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊浜�',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='璇峰亣绫诲瀷鎵f閰嶇疆';
+
+-- ============ 琛細hrm_overtime_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_overtime_application`;
+CREATE TABLE `hrm_overtime_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '绯荤粺鐢ㄦ埛ID',
+  `employee_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `overtime_date` date NOT NULL COMMENT '鍔犵彮鏃ユ湡',
+  `start_time` time NOT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` time NOT NULL COMMENT '缁撴潫鏃堕棿',
+  `duration` decimal(6,1) NOT NULL COMMENT '鎵i櫎鐢ㄩ鍚庣殑鍔犵彮鏃堕暱锛�0.5灏忔椂鍙栨暣锛�',
+  `overtime_type` tinyint NOT NULL COMMENT '1-宸ヤ綔鏃ワ紝2-浼戞伅鏃ワ紝3-娉曞畾鑺傚亣鏃�',
+  `cross_day` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁璺ㄥぉ',
+  `meal_deduction` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎵i櫎鐢ㄩ鏃堕棿',
+  `meal_deduction_hours` decimal(4,1) NOT NULL DEFAULT '0.0' COMMENT '鐢ㄩ鎵i櫎灏忔椂鏁�',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍔犵彮鍘熷洜',
+  `related_type` tinyint DEFAULT NULL COMMENT '鍏宠仈绫诲瀷锛�1-椤圭洰锛�2-宸ュ崟',
+  `related_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰/宸ュ崟缂栧彿',
+  `work_content` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔鍐呭绠�杩�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗忓悓鍔炲叕娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_hrm_overtime_no` (`no`) USING BTREE,
+  KEY `idx_hrm_overtime_user_date_status` (`user_id`,`overtime_date`,`status`) USING BTREE,
+  KEY `idx_hrm_overtime_process_instance` (`process_instance_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鍔犵彮鐢宠琛�';
+
+-- ============ 琛細hrm_resignation_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_resignation_application`;
+CREATE TABLE `hrm_resignation_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `resignation_type` tinyint NOT NULL COMMENT '绂昏亴绫诲瀷锛�1-涓诲姩绂昏亴锛�2-琚姩绂昏亴锛�3-鍚堝悓鍒版湡',
+  `expected_date` date NOT NULL COMMENT '棰勮绂昏亴鏃ユ湡',
+  `actual_date` date DEFAULT NULL COMMENT '瀹為檯绂昏亴鏃ユ湡',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绂昏亴鍘熷洜',
+  `handover_user_id` bigint DEFAULT NULL COMMENT '浜ゆ帴浜篒D',
+  `handover_status` tinyint DEFAULT '0' COMMENT '浜ゆ帴鐘舵�侊細0-鏈紑濮嬶紝10-杩涜涓紝20-宸插畬鎴�',
+  `handover_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浜ゆ帴璇存槑',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE,
+  KEY `idx_dept_time` (`dept_id`,`expected_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM绂昏亴鐢宠琛�';
+
+-- ============ 琛細hrm_salary_calculation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_calculation`;
+CREATE TABLE `hrm_salary_calculation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏍哥畻ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏍哥畻鍗曞彿',
+  `period` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏍哥畻鍛ㄦ湡锛堝2024-01锛�',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint NOT NULL COMMENT '閮ㄩ棬ID',
+  `base_salary` decimal(12,2) NOT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `performance_salary` decimal(12,2) DEFAULT NULL COMMENT '缁╂晥宸ヨ祫',
+  `overtime_pay` decimal(12,2) DEFAULT '0.00' COMMENT '鍔犵彮宸ヨ祫',
+  `meal_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '椁愯ˉ',
+  `transport_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '浜ら�氳ˉ璐�',
+  `other_allowance` decimal(12,2) DEFAULT '0.00' COMMENT '鍏朵粬琛ヨ创',
+  `social_security_deduction` decimal(12,2) DEFAULT NULL COMMENT '绀句繚鎵i櫎',
+  `housing_fund_deduction` decimal(12,2) DEFAULT NULL COMMENT '鍏Н閲戞墸闄�',
+  `tax_deduction` decimal(12,2) DEFAULT NULL COMMENT '涓◣鎵i櫎',
+  `other_deduction` decimal(12,2) DEFAULT '0.00' COMMENT '鍏朵粬鎵i櫎',
+  `leave_deduction` decimal(10,2) DEFAULT '0.00' COMMENT '璇峰亣鎵f',
+  `actual_salary` decimal(12,2) NOT NULL COMMENT '瀹炲彂宸ヨ祫',
+  `work_days` tinyint DEFAULT NULL COMMENT '鍑哄嫟澶╂暟',
+  `overtime_hours` decimal(4,2) DEFAULT NULL COMMENT '鍔犵彮鏃堕暱',
+  `total_work_hours` decimal(8,2) DEFAULT NULL COMMENT '鎺掔彮鎬诲伐鏃讹紙灏忔椂锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呯‘璁わ紝10-宸茬‘璁わ紝20-宸插彂鏀�',
+  `confirm_time` datetime DEFAULT NULL COMMENT '纭鏃堕棿',
+  `confirm_user_id` bigint DEFAULT NULL COMMENT '纭浜篒D',
+  `payment_time` datetime DEFAULT NULL COMMENT '鍙戞斁鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_period` (`user_id`,`period`) USING BTREE,
+  KEY `idx_dept_period` (`dept_id`,`period`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM钖叕鏍哥畻璁板綍琛�';
+
+-- ============ 琛細hrm_salary_payment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_payment`;
+CREATE TABLE `hrm_salary_payment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍙戞斁ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戞斁鍗曞彿',
+  `period` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戞斁鍛ㄦ湡',
+  `total_amount` decimal(14,2) DEFAULT NULL COMMENT '鍙戞斁鎬婚噾棰�',
+  `total_count` int DEFAULT NULL COMMENT '鍙戞斁浜烘暟',
+  `payment_method` tinyint DEFAULT NULL COMMENT '鍙戞斁鏂瑰紡锛�1-閾惰杞处锛�2-鐜伴噾',
+  `payment_time` datetime DEFAULT NULL COMMENT '鍙戞斁鏃堕棿',
+  `status` tinyint DEFAULT '0' COMMENT '鐘舵�侊細0-寰呭彂鏀撅紝10-宸插彂鏀�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_period` (`period`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM钖祫鍙戞斁鍙拌处琛�';
+
+-- ============ 琛細hrm_salary_payment_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_payment_detail`;
+CREATE TABLE `hrm_salary_payment_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `payment_id` bigint NOT NULL COMMENT '鍙戞斁鍙拌处ID',
+  `calculation_id` bigint NOT NULL COMMENT '钖叕鏍哥畻ID',
+  `user_id` bigint NOT NULL COMMENT '鍛樺伐ID',
+  `dept_id` bigint DEFAULT NULL COMMENT '閮ㄩ棬ID',
+  `actual_salary` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '瀹炲彂宸ヨ祫',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鍙戞斁鐘舵�侊細0-寰呭彂鏀撅紝10-宸插彂鏀�',
+  `payment_time` datetime DEFAULT NULL COMMENT '鍙戞斁鏃堕棿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓浜�',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊浜�',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_payment_id` (`payment_id`) USING BTREE,
+  KEY `idx_calculation_id` (`calculation_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='钖祫鍙戞斁鏄庣粏';
+
+-- ============ 琛細hrm_salary_structure锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_salary_structure`;
+CREATE TABLE `hrm_salary_structure` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缁撴瀯ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '缁撴瀯鍚嶇О',
+  `base_salary` decimal(12,2) NOT NULL COMMENT '鍩烘湰宸ヨ祫',
+  `performance_ratio` decimal(4,2) DEFAULT '0.00' COMMENT '缁╂晥宸ヨ祫鍗犳瘮锛�%锛�',
+  `overtime_pay_ratio` decimal(4,2) DEFAULT '1.50' COMMENT '鍔犵彮宸ヨ祫鍊嶇巼',
+  `rest_day_overtime_pay_ratio` decimal(4,2) DEFAULT '2.00' COMMENT '浼戞伅鏃ュ姞鐝伐璧勫�嶇巼',
+  `legal_holiday_overtime_pay_ratio` decimal(4,2) DEFAULT '3.00' COMMENT '娉曞畾鑺傚亣鏃ュ姞鐝伐璧勫�嶇巼',
+  `social_security_base` decimal(12,2) DEFAULT NULL COMMENT '绀句繚鍩烘暟',
+  `housing_fund_base` decimal(12,2) DEFAULT NULL COMMENT '鍏Н閲戝熀鏁�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM钖叕缁撴瀯琛�';
+
+-- ============ 琛細hrm_shift锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_shift`;
+CREATE TABLE `hrm_shift` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐝鍚嶇О',
+  `start_time` time NOT NULL COMMENT '涓婄彮鏃堕棿',
+  `end_time` time NOT NULL COMMENT '涓嬬彮鏃堕棿',
+  `work_hours` decimal(5,2) DEFAULT NULL COMMENT '鏍囧噯宸ユ椂锛堝皬鏃讹級',
+  `cross_day` tinyint(1) NOT NULL DEFAULT '0' COMMENT '鏄惁璺ㄥぉ',
+  `color` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囩棰滆壊锛堝崄鍏繘鍒讹級',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM鐝瀹氫箟琛�';
+
+-- ============ 琛細hrm_social_security_scheme锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_social_security_scheme`;
+CREATE TABLE `hrm_social_security_scheme` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏂规ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂规鍚嶇О',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `pension_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.1600' COMMENT '鍏昏�佷繚闄╀紒涓氱即绾虫瘮渚�',
+  `pension_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.0800' COMMENT '鍏昏�佷繚闄╀釜浜虹即绾虫瘮渚�',
+  `medical_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.0950' COMMENT '鍖荤枟淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `medical_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.0200' COMMENT '鍖荤枟淇濋櫓涓汉缂寸撼姣斾緥',
+  `unemployment_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '澶变笟淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `unemployment_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '澶变笟淇濋櫓涓汉缂寸撼姣斾緥',
+  `work_injury_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '宸ヤ激淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `maternity_ratio` decimal(5,4) NOT NULL DEFAULT '0.0050' COMMENT '鐢熻偛淇濋櫓浼佷笟缂寸撼姣斾緥',
+  `housing_fund_company_ratio` decimal(5,4) NOT NULL DEFAULT '0.1200' COMMENT '鍏Н閲戜紒涓氱即绾虫瘮渚�',
+  `housing_fund_personal_ratio` decimal(5,4) NOT NULL DEFAULT '0.1200' COMMENT '鍏Н閲戜釜浜虹即绾虫瘮渚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_effective_date` (`effective_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM绀句繚鍏Н閲戞柟妗堣〃';
+
+-- ============ 琛細hrm_tax_rate_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_tax_rate_config`;
+CREATE TABLE `hrm_tax_rate_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閰嶇疆ID',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閰嶇疆鍚嶇О',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `level` tinyint NOT NULL COMMENT '绋庣巼绾ф暟锛�1-7',
+  `min_amount` decimal(12,2) NOT NULL COMMENT '搴旂撼绋庢墍寰楅涓嬮檺锛堝惈锛�',
+  `max_amount` decimal(12,2) NOT NULL COMMENT '搴旂撼绋庢墍寰楅涓婇檺锛堜笉鍚級锛�0琛ㄧず鏃犱笂闄�',
+  `tax_rate` decimal(5,4) NOT NULL COMMENT '绋庣巼',
+  `quick_deduction` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '閫熺畻鎵i櫎鏁�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鍚敤锛�1-绂佺敤',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_effective_date` (`effective_date`) USING BTREE,
+  KEY `idx_level` (`level`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM涓◣绋庣巼閰嶇疆琛�';
+
+-- ============ 琛細hrm_transfer_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `hrm_transfer_application`;
+CREATE TABLE `hrm_transfer_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠鍗曞彿',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜篒D',
+  `current_dept_id` bigint NOT NULL COMMENT '鍘熼儴闂↖D',
+  `current_post_id` bigint NOT NULL COMMENT '鍘熷矖浣岻D',
+  `target_dept_id` bigint NOT NULL COMMENT '鐩爣閮ㄩ棬ID',
+  `target_post_id` bigint NOT NULL COMMENT '鐩爣宀椾綅ID',
+  `transfer_type` tinyint NOT NULL COMMENT '璋冨矖绫诲瀷锛�1-骞宠皟锛�2-鍗囪亴锛�3-闄嶈亴',
+  `effective_date` date NOT NULL COMMENT '鐢熸晥鏃ユ湡',
+  `reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璋冨矖鍘熷洜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌锛�10-瀹℃壒涓紝20-閫氳繃锛�30-椹冲洖锛�40-鎾ら攢',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID',
+  `approve_time` datetime DEFAULT NULL COMMENT '瀹℃壒瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_status` (`user_id`,`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='HRM璋冨矖鐢宠琛�';
+
+-- ============ 琛細im_channel锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_channel`;
+CREATE TABLE `im_channel` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '棰戦亾涓氬姟鐮�',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '棰戦亾鍚嶇О',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰戦亾澶村儚',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 棰戦亾琛�';
+
+-- ============ 琛細im_channel_material锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_channel_material`;
+CREATE TABLE `im_channel_material` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `channel_id` bigint NOT NULL COMMENT '棰戦亾缂栧彿',
+  `type` tinyint NOT NULL COMMENT '绱犳潗鍐呭绫诲瀷',
+  `title` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏍囬',
+  `cover_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灏侀潰鍥�',
+  `summary` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎽樿',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '瀵屾枃鏈� HTML',
+  `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璺宠浆閾炬帴',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_channel_id` (`channel_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 棰戦亾绱犳潗琛�';
+
+-- ============ 琛細im_channel_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_channel_message`;
+CREATE TABLE `im_channel_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `channel_id` bigint NOT NULL COMMENT '棰戦亾缂栧彿',
+  `material_id` bigint DEFAULT NULL COMMENT '鍏宠仈绱犳潗缂栧彿',
+  `type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '娑堟伅鍐呭 JSON',
+  `receiver_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺ユ敹浜虹紪鍙峰垪琛�',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_channel_id` (`channel_id`) USING BTREE,
+  KEY `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 棰戦亾娑堟伅琛�';
+
+-- ============ 琛細im_conversation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_conversation`;
+CREATE TABLE `im_conversation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浼氳瘽缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `conversation_type` tinyint NOT NULL COMMENT '浼氳瘽绫诲瀷锛�1绉佽亰 2缇よ亰锛�',
+  `target_id` bigint NOT NULL COMMENT '鐩爣缂栧彿锛堢鑱婁负鐢ㄦ埛ID锛岀兢鑱婁负缇D锛�',
+  `last_message_id` bigint DEFAULT NULL COMMENT '鏈�鍚庢秷鎭紪鍙�',
+  `last_message_time` datetime DEFAULT NULL COMMENT '鏈�鍚庢秷鎭椂闂�',
+  `unread_count` int NOT NULL DEFAULT '0' COMMENT '鏈娑堟伅鏁�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_target_type` (`user_id`,`target_id`,`conversation_type`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='浼氳瘽琛�';
+
+-- ============ 琛細im_conversation_read锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_conversation_read`;
+CREATE TABLE `im_conversation_read` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `conversation_type` tinyint NOT NULL COMMENT '浼氳瘽绫诲瀷锛�1绉佽亰 2缇よ亰 3棰戦亾锛�',
+  `target_id` bigint NOT NULL COMMENT '鐩爣缂栧彿',
+  `message_id` bigint NOT NULL COMMENT '鏈�澶у凡璇绘秷鎭紪鍙�',
+  `read_time` datetime DEFAULT NULL COMMENT '鏈�杩戝凡璇绘椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_conv` (`user_id`,`conversation_type`,`target_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 浼氳瘽璇讳綅缃〃';
+
+-- ============ 琛細im_face_pack锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_face_pack`;
+CREATE TABLE `im_face_pack` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄦ儏鍖呭悕绉�',
+  `icon` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ㄦ儏鍖呭浘鏍�',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 琛ㄦ儏鍖呰〃';
+
+-- ============ 琛細im_face_pack_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_face_pack_item`;
+CREATE TABLE `im_face_pack_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `pack_id` bigint NOT NULL COMMENT '鎵�灞炶〃鎯呭寘缂栧彿',
+  `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄦ儏鍥� URL',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ㄦ儏鍚�',
+  `width` int DEFAULT NULL COMMENT '娓叉煋瀹藉害锛堝儚绱狅級',
+  `height` int DEFAULT NULL COMMENT '娓叉煋楂樺害锛堝儚绱狅級',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_pack_id` (`pack_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 琛ㄦ儏鍖呴」琛�';
+
+-- ============ 琛細im_face_user_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_face_user_item`;
+CREATE TABLE `im_face_user_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鎵�灞炵敤鎴风紪鍙�',
+  `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '琛ㄦ儏鍥� URL',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '琛ㄦ儏鍚�',
+  `width` int DEFAULT NULL COMMENT '娓叉煋瀹藉害锛堝儚绱狅級',
+  `height` int DEFAULT NULL COMMENT '娓叉煋楂樺害锛堝儚绱狅級',
+  `sort` int DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 鐢ㄦ埛绉佹湁琛ㄦ儏琛�';
+
+-- ============ 琛細im_friend锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_friend`;
+CREATE TABLE `im_friend` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `friend_user_id` bigint NOT NULL COMMENT '濂藉弸鐢ㄦ埛缂栧彿',
+  `silent` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏嶆墦鎵�',
+  `display_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '濂藉弸灞曠ず澶囨敞',
+  `add_source` tinyint DEFAULT NULL COMMENT '娣诲姞鏉ユ簮',
+  `pinned` bit(1) DEFAULT b'0' COMMENT '鏄惁缃《鑱旂郴浜�',
+  `blocked` bit(1) DEFAULT b'0' COMMENT '鏄惁鎷夐粦',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '濂藉弸鐘舵�侊紙0姝e父 1绂佺敤/宸插垹闄わ級',
+  `add_time` datetime DEFAULT NULL COMMENT '娣诲姞濂藉弸鏃堕棿',
+  `delete_time` datetime DEFAULT NULL COMMENT '鍒犻櫎濂藉弸鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_friend` (`user_id`,`friend_user_id`) USING BTREE,
+  KEY `idx_friend_user_id` (`friend_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 濂藉弸鍏崇郴琛�';
+
+-- ============ 琛細im_friend_request锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_friend_request`;
+CREATE TABLE `im_friend_request` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `from_user_id` bigint NOT NULL COMMENT '鍙戣捣鏂圭敤鎴风紪鍙�',
+  `to_user_id` bigint NOT NULL COMMENT '鎺ユ敹鏂圭敤鎴风紪鍙�',
+  `apply_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠鐞嗙敱',
+  `display_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戣捣鏂瑰鎺ユ敹鏂圭殑澶囨敞',
+  `add_source` tinyint DEFAULT NULL COMMENT '娣诲姞鏉ユ簮',
+  `handle_result` tinyint DEFAULT NULL COMMENT '澶勭悊缁撴灉',
+  `handle_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鐞嗙敱',
+  `handle_time` datetime DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_from_user_id` (`from_user_id`) USING BTREE,
+  KEY `idx_to_user_id` (`to_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 濂藉弸鐢宠璁板綍琛�';
+
+-- ============ 琛細im_group锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group`;
+CREATE TABLE `im_group` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '缇ゅ悕绉�',
+  `owner_user_id` bigint NOT NULL COMMENT '缇や富鐢ㄦ埛缂栧彿',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ゅご鍍�',
+  `notice` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ゅ叕鍛�',
+  `join_approval` bit(1) DEFAULT b'0' COMMENT '杩涚兢鏄惁闇�瀹℃壒',
+  `banned` bit(1) DEFAULT b'0' COMMENT '鏄惁灏佺',
+  `banned_reason` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '灏佺鍘熷洜',
+  `banned_time` datetime DEFAULT NULL COMMENT '灏佺鏃堕棿',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '缇ょ姸鎬侊紙0姝e父 1宸茶В鏁o級',
+  `dissolved_time` datetime DEFAULT NULL COMMENT '瑙f暎鏃堕棿',
+  `muted_all` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏ㄧ兢绂佽█',
+  `pinned_message_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ょ疆椤舵秷鎭紪鍙峰垪琛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 缇や俊鎭〃';
+
+-- ============ 琛細im_group_member锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_member`;
+CREATE TABLE `im_group_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `group_id` bigint NOT NULL COMMENT '缇ょ紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `display_user_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁勫唴鏄剧ず鍚�',
+  `group_remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缇ゅ娉�',
+  `silent` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏嶆墦鎵�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鎴愬憳鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `role` tinyint NOT NULL DEFAULT '0' COMMENT '鎴愬憳瑙掕壊锛�0鏅�氭垚鍛� 1绠$悊鍛� 2缇や富锛�',
+  `join_time` datetime DEFAULT NULL COMMENT '鍏ョ兢鏃堕棿',
+  `add_source` tinyint DEFAULT NULL COMMENT '鍔犲叆鏉ユ簮',
+  `inviter_user_id` bigint DEFAULT NULL COMMENT '閭�璇蜂汉鐢ㄦ埛缂栧彿',
+  `quit_time` datetime DEFAULT NULL COMMENT '閫�缇ゆ椂闂�',
+  `mute_end_time` datetime DEFAULT NULL COMMENT '绂佽█鍒版湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_group_user` (`group_id`,`user_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 缇ゆ垚鍛樿〃';
+
+-- ============ 琛細im_group_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_message`;
+CREATE TABLE `im_group_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `client_message_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀹㈡埛绔秷鎭紪鍙�',
+  `sender_id` bigint NOT NULL COMMENT '鍙戦�佷汉缂栧彿',
+  `group_id` bigint NOT NULL COMMENT '缇ょ紪鍙�',
+  `type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '娑堟伅鍐呭 JSON',
+  `status` tinyint DEFAULT NULL COMMENT '娑堟伅鐘舵��',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `receiver_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀹氬悜鎺ユ敹鐢ㄦ埛缂栧彿鍒楄〃',
+  `at_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '@鐩爣鐢ㄦ埛缂栧彿鍒楄〃',
+  `receipt_status` tinyint DEFAULT NULL COMMENT '鍥炴墽鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_client_message_id` (`client_message_id`) USING BTREE,
+  KEY `idx_group_id` (`group_id`) USING BTREE,
+  KEY `idx_sender_id` (`sender_id`) USING BTREE,
+  KEY `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 缇よ亰娑堟伅琛�';
+
+-- ============ 琛細im_group_message_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_message_receipt`;
+CREATE TABLE `im_group_message_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `message_id` bigint NOT NULL COMMENT '缇ゆ秷鎭紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `read_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '宸茶鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_message_user` (`message_id`,`user_id`) USING BTREE,
+  KEY `idx_message_id` (`message_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='缇ゆ秷鎭洖鎵ц〃';
+
+-- ============ 琛細im_group_request锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_group_request`;
+CREATE TABLE `im_group_request` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `group_id` bigint NOT NULL COMMENT '缇ょ紪鍙�',
+  `user_id` bigint NOT NULL COMMENT '鐢宠浜�/琚個璇蜂汉鐢ㄦ埛缂栧彿',
+  `inviter_user_id` bigint DEFAULT NULL COMMENT '閭�璇蜂汉鐢ㄦ埛缂栧彿',
+  `apply_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠鐞嗙敱',
+  `add_source` tinyint DEFAULT NULL COMMENT '鍔犲叆鏉ユ簮',
+  `handle_result` tinyint DEFAULT NULL COMMENT '澶勭悊缁撴灉',
+  `handle_user_id` bigint DEFAULT NULL COMMENT '澶勭悊浜虹敤鎴风紪鍙�',
+  `handle_content` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鐞嗙敱',
+  `handle_time` datetime DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_group_id` (`group_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 鍔犵兢鐢宠璁板綍琛�';
+
+-- ============ 琛細im_message_file锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_message_file`;
+CREATE TABLE `im_message_file` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `message_id` bigint NOT NULL COMMENT '娑堟伅缂栧彿',
+  `message_type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷锛�102鍥剧墖 103璇煶 104瑙嗛 105鏂囦欢锛�',
+  `file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏂囦欢URL',
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鍚�',
+  `file_size` bigint DEFAULT NULL COMMENT '鏂囦欢澶у皬锛堝瓧鑺傦級',
+  `file_duration` int DEFAULT NULL COMMENT '鏂囦欢鏃堕暱锛堢锛岃闊�/瑙嗛锛�',
+  `width` int DEFAULT NULL COMMENT '瀹藉害锛堝浘鐗�/瑙嗛锛�',
+  `height` int DEFAULT NULL COMMENT '楂樺害锛堝浘鐗�/瑙嗛锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_message_id` (`message_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='娑堟伅鏂囦欢琛�';
+
+-- ============ 琛細im_private_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_private_message`;
+CREATE TABLE `im_private_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `client_message_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀹㈡埛绔秷鎭紪鍙�',
+  `sender_id` bigint NOT NULL COMMENT '鍙戦�佷汉缂栧彿',
+  `receiver_id` bigint NOT NULL COMMENT '鎺ユ敹浜虹紪鍙�',
+  `type` tinyint NOT NULL COMMENT '娑堟伅绫诲瀷',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '娑堟伅鍐呭 JSON',
+  `status` tinyint DEFAULT NULL COMMENT '娑堟伅鐘舵��',
+  `receipt_status` tinyint DEFAULT NULL COMMENT '鍥炴墽鐘舵��',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_client_message_id` (`client_message_id`) USING BTREE,
+  KEY `idx_sender_id` (`sender_id`) USING BTREE,
+  KEY `idx_receiver_id` (`receiver_id`) USING BTREE,
+  KEY `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 绉佽亰娑堟伅琛�';
+
+-- ============ 琛細im_rtc_call锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_rtc_call`;
+CREATE TABLE `im_rtc_call` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `room` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟閫氳瘽缂栧彿锛圲UID锛�',
+  `conversation_type` tinyint NOT NULL COMMENT '浼氳瘽绫诲瀷',
+  `media_type` tinyint NOT NULL COMMENT '濯掍綋绫诲瀷',
+  `inviter_user_id` bigint NOT NULL COMMENT '鍙戣捣浜虹敤鎴风紪鍙�',
+  `group_id` bigint DEFAULT NULL COMMENT '缇ょ紪鍙�',
+  `status` tinyint NOT NULL COMMENT '閫氳瘽鐘舵��',
+  `end_reason` tinyint DEFAULT NULL COMMENT '缁撴潫鍘熷洜',
+  `start_time` datetime DEFAULT NULL COMMENT '鍙戣捣鏃堕棿',
+  `accept_time` datetime DEFAULT NULL COMMENT '鎺ラ�氭椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '閫氳瘽缁撴潫鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_room` (`room`) USING BTREE,
+  KEY `idx_inviter_user_id` (`inviter_user_id`) USING BTREE,
+  KEY `idx_group_id` (`group_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 閫氳瘽璁板綍琛�';
+
+-- ============ 琛細im_rtc_participant锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_rtc_participant`;
+CREATE TABLE `im_rtc_participant` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `call_id` bigint NOT NULL COMMENT '閫氳瘽缂栧彿',
+  `room` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓氬姟閫氳瘽缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鍙備笌鑰呯敤鎴风紪鍙�',
+  `role` tinyint NOT NULL COMMENT '鍙備笌瑙掕壊',
+  `status` tinyint NOT NULL COMMENT '鍙備笌鐘舵��',
+  `invite_time` datetime DEFAULT NULL COMMENT '琚個璇锋椂闂�',
+  `accept_time` datetime DEFAULT NULL COMMENT '鎺ュ惉鏃堕棿',
+  `leave_time` datetime DEFAULT NULL COMMENT '绂诲紑鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_call_id` (`call_id`) USING BTREE,
+  KEY `idx_room` (`room`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 閫氳瘽鍙備笌鑰呰〃';
+
+-- ============ 琛細im_sensitive_word锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_sensitive_word`;
+CREATE TABLE `im_sensitive_word` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `word` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏁忔劅璇�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1绂佺敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_word` (`word`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='IM 鏁忔劅璇嶈〃';
+
+-- ============ 琛細im_user_online锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `im_user_online`;
+CREATE TABLE `im_user_online` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `online_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍦ㄧ嚎鐘舵�侊紙0绂荤嚎 1鍦ㄧ嚎锛�',
+  `last_online_time` datetime DEFAULT NULL COMMENT '鏈�鍚庡湪绾挎椂闂�',
+  `last_offline_time` datetime DEFAULT NULL COMMENT '鏈�鍚庣绾挎椂闂�',
+  `device_type` tinyint DEFAULT NULL COMMENT '璁惧绫诲瀷锛�1Web 2Android 3iOS锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_user_id` (`user_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛鍦ㄧ嚎鐘舵�佽〃';
+
+-- ============ 琛細infra_api_access_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_api_access_log`;
+CREATE TABLE `infra_api_access_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏃ュ織涓婚敭',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '璇锋眰鏂规硶鍚�',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '璇锋眰鍦板潃',
+  `request_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '璇锋眰鍙傛暟',
+  `response_body` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鍝嶅簲缁撴灉',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴忚鍣� UA',
+  `operate_module` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎿嶄綔妯″潡',
+  `operate_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎿嶄綔鍚�',
+  `operate_type` tinyint DEFAULT '0' COMMENT '鎿嶄綔鍒嗙被',
+  `begin_time` datetime NOT NULL COMMENT '寮�濮嬭姹傛椂闂�',
+  `end_time` datetime NOT NULL COMMENT '缁撴潫璇锋眰鏃堕棿',
+  `duration` int NOT NULL COMMENT '鎵ц鏃堕暱',
+  `result_code` int NOT NULL DEFAULT '0' COMMENT '缁撴灉鐮�',
+  `result_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁撴灉鎻愮ず',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='API 璁块棶鏃ュ織琛�';
+
+-- ============ 琛細infra_api_error_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_api_error_log`;
+CREATE TABLE `infra_api_error_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇锋眰鏂规硶鍚�',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇锋眰鍦板潃',
+  `request_params` varchar(8000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇锋眰鍙傛暟',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴忚鍣� UA',
+  `exception_time` datetime NOT NULL COMMENT '寮傚父鍙戠敓鏃堕棿',
+  `exception_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '寮傚父鍚�',
+  `exception_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父瀵艰嚧鐨勬秷鎭�',
+  `exception_root_cause_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父瀵艰嚧鐨勬牴娑堟伅',
+  `exception_stack_trace` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鐨勬爤杞ㄨ抗',
+  `exception_class_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鍙戠敓鐨勭被鍏ㄥ悕',
+  `exception_file_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鍙戠敓鐨勭被鏂囦欢',
+  `exception_method_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '寮傚父鍙戠敓鐨勬柟娉曞悕',
+  `exception_line_number` int NOT NULL COMMENT '寮傚父鍙戠敓鐨勬柟娉曟墍鍦ㄨ',
+  `process_status` tinyint NOT NULL COMMENT '澶勭悊鐘舵��',
+  `process_time` datetime DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+  `process_user_id` int DEFAULT '0' COMMENT '澶勭悊鐢ㄦ埛缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绯荤粺寮傚父鏃ュ織';
+
+-- ============ 琛細infra_file锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_file`;
+CREATE TABLE `infra_file` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏂囦欢缂栧彿',
+  `config_id` bigint DEFAULT NULL COMMENT '閰嶇疆缂栧彿',
+  `name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鍚�',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂囦欢璺緞',
+  `url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂囦欢 URL',
+  `type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢绫诲瀷',
+  `size` int NOT NULL COMMENT '鏂囦欢澶у皬',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細infra_file_content锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_file_content`;
+CREATE TABLE `infra_file_content` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `config_id` bigint NOT NULL COMMENT '閰嶇疆缂栧彿',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏂囦欢璺緞',
+  `content` mediumblob NOT NULL COMMENT '鏂囦欢鍐呭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_config_id_path` (`config_id`,`path`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細infra_job_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `infra_job_log`;
+CREATE TABLE `infra_job_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏃ュ織缂栧彿',
+  `job_id` bigint NOT NULL COMMENT '浠诲姟缂栧彿',
+  `handler_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '澶勭悊鍣ㄧ殑鍚嶅瓧',
+  `handler_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊鍣ㄧ殑鍙傛暟',
+  `execute_index` tinyint NOT NULL DEFAULT '1' COMMENT '绗嚑娆℃墽琛�',
+  `begin_time` datetime NOT NULL COMMENT '寮�濮嬫墽琛屾椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '缁撴潫鎵ц鏃堕棿',
+  `duration` int DEFAULT NULL COMMENT '鎵ц鏃堕暱',
+  `status` tinyint NOT NULL COMMENT '浠诲姟鐘舵��',
+  `result` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁撴灉鏁版嵁',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_job_id` (`job_id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀹氭椂浠诲姟鏃ュ織琛�';
+
+-- ============ 琛細mdm_brand锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_brand`;
+CREATE TABLE `mdm_brand` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍝佺墝缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍝佺墝缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍝佺墝鍚嶇О',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鍝佺墝琛�';
+
+-- ============ 琛細mdm_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item`;
+CREATE TABLE `mdm_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐗╂枡缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐗╂枡缂栫爜',
+  `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐗╂枡鍚嶇О',
+  `bar_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鏉$爜',
+  `specification` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `category_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被缂栧彿',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `unit_measure_id2` bigint DEFAULT NULL COMMENT '杈呭崟浣�1缂栧彿',
+  `unit_measure_rate1` decimal(24,6) DEFAULT NULL COMMENT '杈呭崟浣�1鎹㈢畻姣旂巼',
+  `unit_measure_id3` bigint DEFAULT NULL COMMENT '杈呭崟浣�2缂栧彿',
+  `unit_measure_rate2` decimal(24,6) DEFAULT NULL COMMENT '杈呭崟浣�2鎹㈢畻姣旂巼',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '榛樿浠撳簱缂栧彿',
+  `warehouse_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '榛樿浠撳簱缂栫爜',
+  `brand_id` bigint DEFAULT NULL COMMENT '鍝佺墝缂栧彿',
+  `item_type` tinyint NOT NULL DEFAULT '1' COMMENT '鐗╂枡绫诲瀷锛�1:鐗╂枡 2:浜у搧 3:鍗婃垚鍝侊級',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `purchase_price` decimal(24,2) DEFAULT NULL COMMENT '閲囪喘浠�',
+  `sales_price` decimal(24,2) DEFAULT NULL COMMENT '閿�鍞环',
+  `cost_price` decimal(24,2) DEFAULT NULL COMMENT '鎴愭湰浠�',
+  `min_price` decimal(24,2) DEFAULT NULL COMMENT '鏈�浣庝环',
+  `safety_stock` decimal(24,6) DEFAULT NULL COMMENT '瀹夊叏搴撳瓨',
+  `min_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�浣庡簱瀛橀噺',
+  `max_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�楂樺簱瀛橀噺',
+  `min_order_qty` decimal(24,6) DEFAULT NULL COMMENT '鏈�灏忚璐ч噺',
+  `lead_time` int DEFAULT NULL COMMENT '閲囪喘鎻愬墠鏈燂紙澶╋級',
+  `is_batch_managed` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎵规绠$悊',
+  `is_serial_managed` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁搴忓垪鍙风鐞�',
+  `barcode_rule_id` bigint DEFAULT NULL COMMENT '鏉$爜瑙勫垯ID',
+  `expiry_day` int DEFAULT NULL COMMENT '淇濊川鏈熷ぉ鏁�',
+  `high_value` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁楂樺�肩墿鏂�',
+  `weight` decimal(24,6) DEFAULT NULL COMMENT '閲嶉噺(kg)',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_name` (`name`) USING BTREE,
+  KEY `idx_category_id` (`category_id`) USING BTREE,
+  KEY `idx_item_type` (`item_type`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡涓绘暟鎹〃';
+
+-- ============ 琛細mdm_item_batch_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_batch_config`;
+CREATE TABLE `mdm_item_batch_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閰嶇疆缂栧彿',
+  `item_id` bigint NOT NULL COMMENT '鐗╂枡缂栧彿',
+  `produce_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鐢熶骇鏃ユ湡',
+  `expire_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤澶辨晥鏃ユ湡',
+  `receipt_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鍏ュ簱鏃ユ湡',
+  `vendor_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤渚涘簲鍟�',
+  `client_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤瀹㈡埛',
+  `sales_order_code_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤閿�鍞鍗曞彿',
+  `purchase_order_code_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤閲囪喘璁㈠崟鍙�',
+  `work_order_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鐢熶骇宸ュ崟',
+  `task_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鐢熶骇浠诲姟',
+  `workstation_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤宸ヤ綅',
+  `tool_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤宸ヨ澶瑰叿',
+  `mold_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤妯″叿',
+  `lot_number_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤鎵规鍙�',
+  `quality_status_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍚敤璐ㄩ噺鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_item_id` (`item_id`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡鎵规灞炴�ч厤缃〃';
+
+-- ============ 琛細mdm_item_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_category`;
+CREATE TABLE `mdm_item_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍒嗙被缂栧彿',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖跺垎绫荤紪鍙凤紙鏍硅妭鐐�=0锛�',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒嗙被鍚嶇О',
+  `item_type` tinyint DEFAULT NULL COMMENT '閫傜敤鐗╂枡绫诲瀷锛�1:鐗╂枡 2:浜у搧 3:鍗婃垚鍝� NULL:鍏ㄩ儴锛�',
+  `item_or_product` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡/浜у搧鏍囪瘑(鍏煎MES: ITEM/PRODUCT)',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_parent_id` (`parent_id`) USING BTREE,
+  KEY `idx_code` (`code`) USING BTREE,
+  KEY `idx_item_or_product` (`item_or_product`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡鍒嗙被琛�';
+
+-- ============ 琛細mdm_item_migration_map锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_migration_map`;
+CREATE TABLE `mdm_item_migration_map` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏄犲皠ID',
+  `source_module` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏉ユ簮妯″潡(ERP/MES/WMS)',
+  `source_table` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏉ユ簮琛ㄥ悕',
+  `source_id` bigint NOT NULL COMMENT '鍘烮D',
+  `target_item_id` bigint NOT NULL COMMENT 'MDM鐗╂枡ID',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_source` (`source_module`,`source_table`,`source_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐗╂枡杩佺Щ鏄犲皠琛�';
+
+-- ============ 琛細mdm_item_sku锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_item_sku`;
+CREATE TABLE `mdm_item_sku` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'SKU缂栧彿',
+  `item_id` bigint NOT NULL COMMENT '鐗╂枡缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SKU缂栫爜',
+  `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SKU鍚嶇О',
+  `bar_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'SKU鏉$爜',
+  `length` decimal(24,6) DEFAULT NULL COMMENT '闀垮害锛坈m锛�',
+  `width` decimal(24,6) DEFAULT NULL COMMENT '瀹藉害锛坈m锛�',
+  `height` decimal(24,6) DEFAULT NULL COMMENT '楂樺害锛坈m锛�',
+  `gross_weight` decimal(24,6) DEFAULT NULL COMMENT '姣涢噸锛坘g锛�',
+  `net_weight` decimal(24,6) DEFAULT NULL COMMENT '鍑�閲嶏紙kg锛�',
+  `cost_price` decimal(24,2) DEFAULT NULL COMMENT '鎴愭湰浠�',
+  `sale_price` decimal(24,2) DEFAULT NULL COMMENT '閿�鍞环',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE,
+  KEY `idx_item_id` (`item_id`) USING BTREE,
+  KEY `idx_bar_code` (`bar_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 鐗╂枡SKU琛�';
+
+-- ============ 琛細mdm_unit_measure锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_unit_measure`;
+CREATE TABLE `mdm_unit_measure` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍗曚綅缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍗曚綅缂栫爜',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍗曚綅鍚嶇О',
+  `primary_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁涓诲崟浣�',
+  `primary_id` bigint DEFAULT NULL COMMENT '涓诲崟浣嶇紪鍙�',
+  `change_rate` decimal(24,6) DEFAULT '1.000000' COMMENT '涓庝富鍗曚綅鎹㈢畻姣斾緥',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE,
+  KEY `idx_name` (`name`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 璁¢噺鍗曚綅琛�';
+
+-- ============ 琛細mdm_warehouse锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mdm_warehouse`;
+CREATE TABLE `mdm_warehouse` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浠撳簱缂栧彿',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠撳簱缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浠撳簱鍚嶇О',
+  `type` tinyint DEFAULT NULL COMMENT '浠撳簱绫诲瀷',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴稩D',
+  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱鍦板潃',
+  `area` decimal(10,2) DEFAULT NULL COMMENT '闈㈢Н锛堝钩鏂圭背锛�',
+  `principal` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐熻矗浜�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`,`deleted`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MDM 浠撳簱琛�';
+
+-- ============ 琛細mes_cal_holiday锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_holiday`;
+CREATE TABLE `mes_cal_holiday` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `day` datetime DEFAULT NULL COMMENT '鏃ユ湡',
+  `type` int DEFAULT NULL COMMENT '鏃ユ湡绫诲瀷',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍋囨湡璁剧疆';
+
+-- ============ 琛細mes_cal_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_plan`;
+CREATE TABLE `mes_cal_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁″垝缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁″垝缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁″垝鍚嶇О',
+  `calendar_type` int DEFAULT NULL COMMENT '鐝粍绫诲瀷',
+  `start_date` datetime DEFAULT NULL COMMENT '寮�濮嬫棩鏈�',
+  `end_date` datetime DEFAULT NULL COMMENT '缁撴潫鏃ユ湡',
+  `shift_type` int DEFAULT NULL COMMENT '杞彮鏂瑰紡',
+  `shift_method` int DEFAULT NULL COMMENT '鍊掔彮鏂瑰紡',
+  `shift_count` int DEFAULT NULL COMMENT '鍊掔彮澶╂暟',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `exclude_weekend` tinyint(1) DEFAULT '1' COMMENT '鏄惁鎺掗櫎鍛ㄦ湯: 1鏄� 0鍚�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鎺掔彮璁″垝';
+
+-- ============ 琛細mes_cal_plan_shift锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_plan_shift`;
+CREATE TABLE `mes_cal_plan_shift` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鎺掔彮璁″垝缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鏄剧ず椤哄簭',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐝鍚嶇О',
+  `start_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�濮嬫椂闂达紙HH:mm 鏍煎紡锛�',
+  `end_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁撴潫鏃堕棿锛圚H:mm 鏍煎紡锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁″垝鐝';
+
+-- ============ 琛細mes_cal_plan_team锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_plan_team`;
+CREATE TABLE `mes_cal_plan_team` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鎺掔彮璁″垝缂栧彿',
+  `team_id` bigint DEFAULT NULL COMMENT '鐝粍缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁″垝鐝粍鍏宠仈';
+
+-- ============ 琛細mes_cal_team锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_team`;
+CREATE TABLE `mes_cal_team` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝粍缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐝粍缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐝粍鍚嶇О',
+  `calendar_type` int DEFAULT NULL COMMENT '鐝粍绫诲瀷',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐝粍';
+
+-- ============ 琛細mes_cal_team_member锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_team_member`;
+CREATE TABLE `mes_cal_team_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐝粍鎴愬憳缂栧彿',
+  `team_id` bigint DEFAULT NULL COMMENT '鐝粍缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐝粍鎴愬憳';
+
+-- ============ 琛細mes_cal_team_shift锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_cal_team_shift`;
+CREATE TABLE `mes_cal_team_shift` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鎺掔彮璁″垝缂栧彿',
+  `team_id` bigint DEFAULT NULL COMMENT '鐝粍缂栧彿',
+  `shift_id` bigint DEFAULT NULL COMMENT '鐝缂栧彿',
+  `day` datetime DEFAULT NULL COMMENT '鏃ユ湡',
+  `sort` int DEFAULT NULL COMMENT '鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐝粍鎺掔彮';
+
+-- ============ 琛細mes_dv_check_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_plan`;
+CREATE TABLE `mes_dv_check_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '鏂规绫诲瀷',
+  `start_date` datetime DEFAULT NULL COMMENT '寮�濮嬫棩鏈�',
+  `end_date` datetime DEFAULT NULL COMMENT '缁撴潫鏃ユ湡',
+  `cycle_type` int DEFAULT NULL COMMENT '鍛ㄦ湡绫诲瀷',
+  `cycle_count` int DEFAULT NULL COMMENT '鍛ㄦ湡鏁伴噺',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇鏂规';
+
+-- ============ 琛細mes_dv_check_plan_machinery锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_plan_machinery`;
+CREATE TABLE `mes_dv_check_plan_machinery` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鏂规缂栧彿',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇鏂规璁惧';
+
+-- ============ 琛細mes_dv_check_plan_subject锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_plan_subject`;
+CREATE TABLE `mes_dv_check_plan_subject` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鏂规缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '椤圭洰缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇鏂规椤圭洰';
+
+-- ============ 琛細mes_dv_check_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_record`;
+CREATE TABLE `mes_dv_check_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鐐规璁″垝缂栧彿',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `check_time` datetime DEFAULT NULL COMMENT '鐐规鏃堕棿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐐规浜虹紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧鐐规璁板綍';
+
+-- ============ 琛細mes_dv_check_record_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_check_record_line`;
+CREATE TABLE `mes_dv_check_record_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `record_id` bigint DEFAULT NULL COMMENT '鐐规璁板綍缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '鐐规椤圭洰缂栧彿',
+  `check_status` int DEFAULT NULL COMMENT '鐐规缁撴灉',
+  `check_result` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮傚父鎻忚堪',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧鐐规璁板綍鏄庣粏';
+
+-- ============ 琛細mes_dv_machinery锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_machinery`;
+CREATE TABLE `mes_dv_machinery` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁惧缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁惧鍚嶇О',
+  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍝佺墝',
+  `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `machinery_type_id` bigint DEFAULT NULL COMMENT '璁惧绫诲瀷缂栧彿',
+  `workshop_id` bigint DEFAULT NULL COMMENT '鎵�灞炶溅闂寸紪鍙�',
+  `status` int DEFAULT NULL COMMENT '璁惧鐘舵��',
+  `last_mainten_time` datetime DEFAULT NULL COMMENT '鏈�杩戜繚鍏绘椂闂�',
+  `last_check_time` datetime DEFAULT NULL COMMENT '鏈�杩戠偣妫�鏃堕棿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `production_efficiency` decimal(10,2) DEFAULT NULL COMMENT '鐢熶骇鏁堢巼锛堟瘡鍒嗛挓锛�',
+  `conveyor_belt` int DEFAULT NULL COMMENT '浼犻�佸饱甯︼紙2=鍙屽�嶆晥鐜囷級',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧鍙拌处';
+
+-- ============ 琛細mes_dv_machinery_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_machinery_type`;
+CREATE TABLE `mes_dv_machinery_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷鍚嶇О',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐖剁被鍨嬬紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `sort` int DEFAULT NULL COMMENT '鏄剧ず鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧绫诲瀷';
+
+-- ============ 琛細mes_dv_mainten_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_mainten_record`;
+CREATE TABLE `mes_dv_mainten_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '璁″垝缂栧彿',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `mainten_time` datetime DEFAULT NULL COMMENT '淇濆吇鏃堕棿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧淇濆吇璁板綍';
+
+-- ============ 琛細mes_dv_mainten_record_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_mainten_record_line`;
+CREATE TABLE `mes_dv_mainten_record_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `record_id` bigint DEFAULT NULL COMMENT '淇濆吇璁板綍缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '椤圭洰缂栧彿',
+  `status` int DEFAULT NULL COMMENT '淇濆吇缁撴灉',
+  `result` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮傚父鎻忚堪',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁惧淇濆吇璁板綍鏄庣粏';
+
+-- ============ 琛細mes_dv_metering锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_metering`;
+CREATE TABLE `mes_dv_metering` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璁¢噺鍣ㄥ叿缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璁¢噺鍣ㄥ叿鍚嶇О',
+  `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍝佺墝/鐢熶骇鍘傚',
+  `category` int DEFAULT NULL COMMENT '鍣ㄥ叿绫诲埆锛堝崱灏�/鍗冨垎灏�/鍘嬪姏琛ㄧ瓑锛夛紝瀛楀吀 mes_dv_metering_category',
+  `precision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绮惧害',
+  `range` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲忕▼',
+  `dept_id` bigint DEFAULT NULL COMMENT '浣跨敤閮ㄩ棬缂栧彿',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐d换浜虹紪鍙凤紙绔欏唴淇″彂閫佸璞★級',
+  `check_cycle_count` int NOT NULL COMMENT '鏍″噯鍛ㄦ湡锛堟湀锛�',
+  `use_date` date DEFAULT NULL COMMENT '鎶曞叆浣跨敤鏃ユ湡',
+  `last_check_date` date DEFAULT NULL COMMENT '涓婃妫�娴嬫棩鏈�',
+  `next_check_date` date DEFAULT NULL COMMENT '涓嬫妫�娴嬫棩鏈燂紙鍒版湡鏃ワ級',
+  `status` int NOT NULL COMMENT '鐘舵�侊紙鍦ㄧ敤/鍋滅敤/鎶ュ簾锛夛紝瀛楀吀 mes_dv_metering_status',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE,
+  KEY `idx_charge_user_id` (`charge_user_id`) USING BTREE,
+  KEY `idx_next_check_date` (`next_check_date`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁¢噺鍣ㄥ叿';
+
+-- ============ 琛細mes_dv_metering_check锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_metering_check`;
+CREATE TABLE `mes_dv_metering_check` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `metering_id` bigint NOT NULL COMMENT '璁¢噺鍣ㄥ叿ID',
+  `check_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妫�娴嬬紪鍙�',
+  `check_date` date DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `check_org` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫満鏋�',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨璁猴紙鍚堟牸/涓嶅悎鏍硷級锛屽瓧鍏� mes_dv_metering_check_result',
+  `cert_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佷功缂栧彿',
+  `check_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉缂栧彿',
+  `next_check_date` date DEFAULT NULL COMMENT '涓嬫妫�娴嬫棩鏈燂紙鑷姩璁$畻鎴栨墜鍔ㄦ寚瀹氾級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_check_code` (`check_code`) USING BTREE,
+  KEY `idx_metering_id` (`metering_id`) USING BTREE,
+  KEY `idx_check_date` (`check_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁¢噺妫�娴嬭褰�';
+
+-- ============ 琛細mes_dv_repair锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_repair`;
+CREATE TABLE `mes_dv_repair` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨宸ュ崟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨宸ュ崟鍚嶇О',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `require_date` datetime DEFAULT NULL COMMENT '鎶ヤ慨鏃ユ湡',
+  `finish_date` datetime DEFAULT NULL COMMENT '缁翠慨瀹屾垚鏃ユ湡',
+  `confirm_date` datetime DEFAULT NULL COMMENT '楠屾敹鏃ユ湡',
+  `result` int DEFAULT NULL COMMENT '缁翠慨缁撴灉',
+  `accepted_user_id` bigint DEFAULT NULL COMMENT '缁翠慨浜虹敤鎴风紪鍙�',
+  `confirm_user_id` bigint DEFAULT NULL COMMENT '楠屾敹浜虹敤鎴风紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栫爜',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缁翠慨宸ュ崟';
+
+-- ============ 琛細mes_dv_repair_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_repair_line`;
+CREATE TABLE `mes_dv_repair_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `repair_id` bigint DEFAULT NULL COMMENT '缁翠慨宸ュ崟缂栧彿',
+  `subject_id` bigint DEFAULT NULL COMMENT '鐐规淇濆吇椤圭洰缂栧彿',
+  `malfunction` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏁呴殰鎻忚堪',
+  `malfunction_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏁呴殰鍥剧墖 URL',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁翠慨鎻忚堪',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缁翠慨宸ュ崟琛�';
+
+-- ============ 琛細mes_dv_subject锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_dv_subject`;
+CREATE TABLE `mes_dv_subject` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '椤圭洰绫诲瀷',
+  `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰鍐呭',
+  `standard` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囧噯',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐐规淇濆吇椤圭洰';
+
+-- ============ 琛細mes_md_auto_code_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_auto_code_record`;
+CREATE TABLE `mes_md_auto_code_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `rule_id` bigint DEFAULT NULL COMMENT '瑙勫垯缂栧彿',
+  `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熸垚鐨勭紪鐮�',
+  `serial_no` bigint DEFAULT NULL COMMENT '鐢熸垚鐨勬祦姘村彿',
+  `input_char` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼犲叆鐨勫弬鏁�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂栫爜鐢熸垚璁板綍';
+
+-- ============ 琛細mes_md_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_item`;
+CREATE TABLE `mes_md_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `mdm_item_id` bigint DEFAULT NULL COMMENT 'MDM 鐗╂枡 ID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О',
+  `specification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `item_type_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `safe_stock_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍚敤瀹夊叏搴撳瓨',
+  `min_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�浣庡簱瀛橀噺',
+  `max_stock` decimal(24,6) DEFAULT NULL COMMENT '鏈�楂樺簱瀛橀噺',
+  `high_value` bit(1) DEFAULT b'0' COMMENT '鏄惁楂樺�肩墿鏂�',
+  `batch_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍚敤鎵规绠$悊',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡浜у搧';
+
+-- ============ 琛細mes_md_item_batch_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_item_batch_config`;
+CREATE TABLE `mes_md_item_batch_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+  `produce_date_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇鏃ユ湡',
+  `expire_date_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鏈夋晥鏈�',
+  `receipt_date_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鍏ュ簱鏃ユ湡',
+  `vendor_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-渚涘簲鍟�',
+  `client_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-瀹㈡埛',
+  `sales_order_code_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-閿�鍞鍗曠紪鍙�',
+  `purchase_order_code_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-閲囪喘璁㈠崟缂栧彿',
+  `work_order_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇宸ュ崟',
+  `task_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇浠诲姟',
+  `workstation_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-宸ヤ綔绔�',
+  `tool_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-宸ュ叿',
+  `mold_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-妯″叿',
+  `lot_number_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-鐢熶骇鎵瑰彿',
+  `quality_status_flag` bit(1) DEFAULT b'0' COMMENT '鎵规灞炴��-璐ㄩ噺鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡鎵规灞炴�ч厤缃�';
+
+-- ============ 琛細mes_md_item_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_item_type`;
+CREATE TABLE `mes_md_item_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鍚嶇О',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐖跺垎绫荤紪鍙�',
+  `item_or_product` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡/浜у搧鏍囪瘑',
+  `sort` int DEFAULT NULL COMMENT '鏄剧ず鎺掑簭',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡浜у搧鍒嗙被';
+
+-- ============ 琛細mes_md_product_bom锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_product_bom`;
+CREATE TABLE `mes_md_product_bom` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡浜у搧缂栧彿',
+  `bom_item_id` bigint DEFAULT NULL COMMENT 'BOM鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鐗╂枡浣跨敤姣斾緥',
+  `status` int DEFAULT NULL COMMENT '鏄惁鍚敤',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浜у搧 BOM';
+
+-- ============ 琛細mes_md_product_sip锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_product_sip`;
+CREATE TABLE `mes_md_product_sip` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡浜у搧缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鎺掑垪椤哄簭',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囬',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鎻忚堪',
+  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浜у搧 SIP';
+
+-- ============ 琛細mes_md_product_sop锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_product_sop`;
+CREATE TABLE `mes_md_product_sop` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡浜у搧缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '鎺掑垪椤哄簭',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍囬',
+  `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇︾粏鎻忚堪',
+  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥剧墖鍦板潃',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浜у搧 SOP';
+
+-- ============ 琛細mes_md_unit_measure锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_unit_measure`;
+CREATE TABLE `mes_md_unit_measure` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曚綅缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曚綅鍚嶇О',
+  `primary_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁涓诲崟浣�',
+  `primary_id` bigint DEFAULT NULL COMMENT '涓诲崟浣嶇紪鍙�',
+  `change_rate` decimal(24,6) DEFAULT NULL COMMENT '涓庝富鍗曚綅鎹㈢畻姣斾緥',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁¢噺鍗曚綅';
+
+-- ============ 琛細mes_md_vendor锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_vendor`;
+CREATE TABLE `mes_md_vendor` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鐮�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `nickname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙畝绉�',
+  `english_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗚嫳鏂囧悕绉�',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙畝浠�',
+  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟哃OGO鍦板潃',
+  `level` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙瓑绾�',
+  `score` int DEFAULT NULL COMMENT '渚涘簲鍟嗚瘎鍒�',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗湴鍧�',
+  `website` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗畼缃戝湴鍧�',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗛偖绠卞湴鍧�',
+  `telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙數璇�',
+  `contact1_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�1',
+  `contact1_telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�1-鐢佃瘽',
+  `contact1_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�1-閭',
+  `contact2_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�2',
+  `contact2_telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�2-鐢佃瘽',
+  `contact2_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�2-閭',
+  `credit_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁熶竴绀句細淇$敤浠g爜',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 渚涘簲鍟�';
+
+-- ============ 琛細mes_md_workshop锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workshop`;
+CREATE TABLE `mes_md_workshop` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞﹂棿缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞﹂棿鍚嶇О',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н锛堝钩鏂圭背锛�',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞﹂棿';
+
+-- ============ 琛細mes_md_workstation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation`;
+CREATE TABLE `mes_md_workstation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鐮�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔绔欏悕绉�',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヤ綔绔欏湴鐐�',
+  `workshop_id` bigint DEFAULT NULL COMMENT '鎵�鍦ㄨ溅闂寸紪鍙�',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '绾胯竟搴撶紪鍙�',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯缂栧彿',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔�';
+
+-- ============ 琛細mes_md_workstation_machine锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation_machine`;
+CREATE TABLE `mes_md_workstation_machine` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `machinery_id` bigint DEFAULT NULL COMMENT '璁惧缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔欒澶囪祫婧�';
+
+-- ============ 琛細mes_md_workstation_tool锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation_tool`;
+CREATE TABLE `mes_md_workstation_tool` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `tool_type_id` bigint DEFAULT NULL COMMENT '宸ュ叿绫诲瀷缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔欏伐瑁呭す鍏疯祫婧�';
+
+-- ============ 琛細mes_md_workstation_worker锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_md_workstation_worker`;
+CREATE TABLE `mes_md_workstation_worker` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `post_id` bigint DEFAULT NULL COMMENT '宀椾綅缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヤ綔绔欎汉鍔涜祫婧�';
+
+-- ============ 琛細mes_pd_archive锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_archive`;
+CREATE TABLE `mes_pd_archive` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `archive_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '褰掓。缂栧彿',
+  `project_id` bigint NOT NULL COMMENT '璁捐椤圭洰ID',
+  `archiver` bigint DEFAULT NULL COMMENT '褰掓。浜�',
+  `archive_status` tinyint DEFAULT NULL COMMENT '褰掓。鐘舵��',
+  `archive_time` datetime DEFAULT NULL COMMENT '褰掓。鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 褰掓。鍙拌处';
+
+-- ============ 琛細mes_pd_document锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_document`;
+CREATE TABLE `mes_pd_document` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `project_id` bigint NOT NULL COMMENT '璁捐椤圭洰ID',
+  `document_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡绫诲瀷',
+  `document_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡鍚嶇О',
+  `document_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐗堟湰',
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鍚�',
+  `upload_user_id` bigint DEFAULT NULL COMMENT '涓婁紶浜�',
+  `upload_time` datetime DEFAULT NULL COMMENT '涓婁紶鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁捐璧勬枡';
+
+-- ============ 琛細mes_pd_document_audit锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_document_audit`;
+CREATE TABLE `mes_pd_document_audit` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `audit_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '瀹℃牳鍗曞彿',
+  `document_id` bigint NOT NULL COMMENT '璧勬枡ID',
+  `document_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡鍚嶇О锛堝啑浣欙級',
+  `document_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬枡鐗堟湰锛堝啑浣欙級',
+  `reviewer` bigint DEFAULT NULL COMMENT '瀹℃牳浜�',
+  `audit_status` tinyint DEFAULT NULL COMMENT '瀹℃牳鐘舵��',
+  `audit_time` datetime DEFAULT NULL COMMENT '瀹℃牳鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璧勬枡瀹℃牳';
+
+-- ============ 琛細mes_pd_process_param锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_process_param`;
+CREATE TABLE `mes_pd_process_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙傛暟缂栫爜',
+  `param_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍙傛暟鍚嶇О',
+  `param_type` tinyint DEFAULT NULL COMMENT '鍙傛暟绫诲瀷锛堝瓧鍏� mes_pd_process_param_type锛�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅ID锛堝叧鑱� mes_md_unit_measure锛�',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓鍙傛暟';
+
+-- ============ 琛細mes_pd_process_param_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_process_param_template`;
+CREATE TABLE `mes_pd_process_param_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '妯℃澘缂栫爜',
+  `template_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `template_type` tinyint DEFAULT NULL COMMENT '妯℃澘绫诲瀷锛堝瓧鍏� mes_pd_process_param_template_type锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓鍙傛暟妯℃澘';
+
+-- ============ 琛細mes_pd_process_param_template_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_process_param_template_detail`;
+CREATE TABLE `mes_pd_process_param_template_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘ID锛堝叧鑱� mes_pd_process_param_template锛�',
+  `process_param_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟ID锛堜粎浣滄函婧愶紝涓嶅奖鍝嶅揩鐓у�硷級',
+  `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙傛暟缂栫爜锛堝揩鐓э級',
+  `param_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙傛暟鍚嶇О锛堝揩鐓э級',
+  `param_type` tinyint DEFAULT NULL COMMENT '鍙傛暟绫诲瀷锛堝揩鐓э級',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅ID锛堝揩鐓э級',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~锛堝揩鐓э級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞锛堝揩鐓э級',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓鍙傛暟妯℃澘鏄庣粏';
+
+-- ============ 琛細mes_pd_project锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pd_project`;
+CREATE TABLE `mes_pd_project` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浠诲姟缂栫爜',
+  `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浠诲姟鍚嶇О',
+  `product_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜у搧缂栫爜',
+  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜у搧鍚嶇О',
+  `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐗堟湰鍙�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0=寰呭彂甯� 1=寰呬笂浼� 2=寰呭鏍� 3=寰呭綊妗� 4=宸插綊妗o級',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹氫箟 Key',
+  `chief_designer` bigint DEFAULT NULL COMMENT '涓昏璁″笀',
+  `reviewer` bigint DEFAULT NULL COMMENT '瀹℃牳浜�',
+  `plan_finish_time` datetime DEFAULT NULL COMMENT '璁″垝瀹屾垚鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璁捐椤圭洰';
+
+-- ============ 琛細mes_pro_andon_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_andon_config`;
+CREATE TABLE `mes_pro_andon_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍛煎彨鍘熷洜',
+  `level` int DEFAULT NULL COMMENT '绾у埆',
+  `handler_role_id` bigint DEFAULT NULL COMMENT '澶勭疆浜鸿鑹茬紪鍙�',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭疆浜虹紪鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 瀹夌伅鍛煎彨閰嶇疆';
+
+-- ============ 琛細mes_pro_andon_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_andon_record`;
+CREATE TABLE `mes_pro_andon_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `config_id` bigint DEFAULT NULL COMMENT '瀹夌伅閰嶇疆缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `user_id` bigint DEFAULT NULL COMMENT '鍙戣捣鐢ㄦ埛缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍛煎彨鍘熷洜',
+  `level` int DEFAULT NULL COMMENT '绾у埆',
+  `status` int DEFAULT NULL COMMENT '澶勭疆鐘舵��',
+  `handle_time` datetime DEFAULT NULL COMMENT '澶勭疆鏃堕棿',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭疆浜虹紪鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 瀹夌伅鍛煎彨璁板綍';
+
+-- ============ 琛細mes_pro_bag_code锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_bag_code`;
+CREATE TABLE `mes_pro_bag_code` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `uuid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢熸垚缁� UUID锛堟爣璁板悓涓�娆$敓鎴愮殑鏁版嵁鍖咃級',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '琚嬬爜锛堜簩缁寸爜鍐呭锛氭壒娆″彿-琚嬪簭鍙凤紝鍏ㄥ眬鍞竴锛�',
+  `bag_no` int NOT NULL COMMENT '鎵规鍐呰搴忓彿',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鎵规鍙凤紙鍐椾綑锛屼究浜庡睍绀猴級',
+  `pallet_id` bigint DEFAULT NULL COMMENT '缁戝畾鎵樼洏缂栧彿锛屽叧鑱� mes_pro_pallet.id',
+  `pallet_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鎵樼洏鐮侊紙鍐椾綑锛屼究浜庡睍绀猴級',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '鐘舵�侊紙瀛楀吀 mes_pro_bag_code_status锛�10 宸茬敓鎴� 20 宸插鍑哄嵃鍒� 30 宸蹭綔搴燂級',
+  `print_time` datetime DEFAULT NULL COMMENT '瀵煎嚭锛堜氦浠樺嵃鍒凤級鏃堕棿',
+  `cancel_time` datetime DEFAULT NULL COMMENT '浣滃簾鏃堕棿',
+  `cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浣滃簾鍘熷洜',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE,
+  KEY `idx_uuid` (`uuid`) USING BTREE,
+  KEY `idx_pallet_id` (`pallet_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 琚嬬爜璧嬬爜锛堜竴琚嬩竴鐮侊級';
+
+-- ============ 琛細mes_pro_bag_code_replace锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_bag_code_replace`;
+CREATE TABLE `mes_pro_bag_code_replace` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `replace_uuid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏇挎崲缁� UUID',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢熶骇鎵规鍙�',
+  `old_bag_code_id` bigint NOT NULL COMMENT '鏃ц鐮佺紪鍙�',
+  `old_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏃ц鐮�',
+  `old_bag_no` int NOT NULL COMMENT '鏃ц搴忓彿',
+  `old_status` tinyint NOT NULL COMMENT '鏃ц鐮佷綔搴熷墠鐘舵��',
+  `old_pallet_id` bigint DEFAULT NULL COMMENT '鏃ц鐮佸師鎵樼洏缂栧彿',
+  `old_pallet_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏃ц鐮佸師鎵樼洏鐮�',
+  `new_bag_code_id` bigint NOT NULL COMMENT '鏂拌鐮佺紪鍙�',
+  `new_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏂拌鐮�',
+  `new_bag_no` int NOT NULL COMMENT '鏂拌搴忓彿',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鏇挎崲鍘熷洜',
+  `replace_time` datetime NOT NULL COMMENT '鏇挎崲鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_old_bag_code_id` (`old_bag_code_id`) USING BTREE,
+  UNIQUE KEY `uk_new_bag_code_id` (`new_bag_code_id`) USING BTREE,
+  KEY `idx_replace_uuid` (`replace_uuid`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE,
+  KEY `idx_old_code` (`old_code`) USING BTREE,
+  KEY `idx_new_code` (`new_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 琚嬬爜鏇挎崲璁板綍';
+
+-- ============ 琛細mes_pro_batch锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_batch`;
+CREATE TABLE `mes_pro_batch` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎵规鍙凤紙鑷姩鐢熸垚锛氬墠缂�+鏃ユ湡+浜х嚎+娴佹按鍙凤級',
+  `item_id` bigint DEFAULT NULL COMMENT '鍝佺锛堢墿鏂欙級缂栧彿锛屽叧鑱� mdm_item.id',
+  `line_id` bigint DEFAULT NULL COMMENT '浜х嚎缂栧彿锛屽叧鑱� mes_pro_line.id',
+  `line_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜х嚎缂栫爜锛堟墜濉紝鍙備笌鎵规鍙风敓鎴愶級',
+  `line_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜х嚎鍚嶇О锛堟墜濉級',
+  `produce_date` datetime DEFAULT NULL COMMENT '鐢熶骇鏃ユ湡',
+  `plan_quantity` decimal(24,6) DEFAULT NULL COMMENT '璁″垝鏁伴噺',
+  `owner_user_id` bigint DEFAULT NULL COMMENT '璐d换浜虹敤鎴风紪鍙凤紙璐d换钀藉疄鍒颁汉锛夛紝鍏宠仈 system_users.id',
+  `bag_quantity` int NOT NULL DEFAULT '0' COMMENT '宸茬敓鎴愯鐮佹暟閲忥紙涓�琚嬩竴鐮侊級',
+  `pallet_quantity` int NOT NULL DEFAULT '0' COMMENT '宸茬敓鎴愭墭鐩樼爜鏁伴噺',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '鎵规鐘舵�侊紙瀛楀吀 mes_pro_batch_status锛�10 鑽夌 20 鐢熶骇涓� 30 宸插畬鎴� 40 宸蹭綔搴燂級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鎵规';
+
+-- ============ 琛細mes_pro_batch_worker锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_batch_worker`;
+CREATE TABLE `mes_pro_batch_worker` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+  `user_id` bigint NOT NULL COMMENT '鐢熶骇浜哄憳鐢ㄦ埛缂栧彿锛屽叧鑱� system_users.id',
+  `worker_type` tinyint NOT NULL COMMENT '宀椾綅绫诲瀷锛堝瓧鍏� mes_pro_batch_worker_type锛�10 缁勯暱 20 鎿嶄綔宸� 30 鍖呰宸� 40 璐ㄦ鍛� 50 鍏朵粬锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鎵规浜哄憳閰嶇疆';
+
+-- ============ 琛細mes_pro_card锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_card`;
+CREATE TABLE `mes_pro_card` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佽浆鍗$紪鐮�',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `transfered_quantity` decimal(24,6) DEFAULT NULL COMMENT '娴佽浆鏁伴噺',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇娴佽浆鍗�';
+
+-- ============ 琛細mes_pro_card_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_card_process`;
+CREATE TABLE `mes_pro_card_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `card_id` bigint DEFAULT NULL COMMENT '娴佽浆鍗$紪鍙�',
+  `sort` int DEFAULT NULL COMMENT '搴忓彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `input_time` datetime DEFAULT NULL COMMENT '杩涘叆宸ュ簭鏃堕棿',
+  `output_time` datetime DEFAULT NULL COMMENT '鍑哄伐搴忔椂闂�',
+  `input_quantity` decimal(24,6) DEFAULT NULL COMMENT '鎶曞叆鏁伴噺',
+  `output_quantity` decimal(24,6) DEFAULT NULL COMMENT '浜у嚭鏁伴噺',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綅缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鎿嶄綔浜虹紪鍙�',
+  `ipqc_id` bigint DEFAULT NULL COMMENT '杩囩▼妫�楠屽崟缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 娴佽浆鍗″伐搴忚褰�';
+
+-- ============ 琛細mes_pro_feedback锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_feedback`;
+CREATE TABLE `mes_pro_feedback` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶ュ伐鍗曠紪鍙�',
+  `type` int DEFAULT NULL COMMENT '鎶ュ伐绫诲瀷',
+  `channel` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶ュ伐閫斿緞',
+  `feedback_time` datetime DEFAULT NULL COMMENT '鎶ュ伐鏃堕棿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `expire_date` datetime DEFAULT NULL COMMENT '杩囨湡鏃ユ湡',
+  `lot_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `scheduled_quantity` decimal(24,6) DEFAULT NULL COMMENT '鎺掍骇鏁伴噺',
+  `feedback_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鎶ュ伐鏁伴噺',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶈壇鍝佹暟閲�',
+  `uncheck_quantity` decimal(24,6) DEFAULT NULL COMMENT '寰呮娴嬫暟閲�',
+  `labor_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '宸ュ簾鏁伴噺',
+  `material_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏂欏簾鏁伴噺',
+  `other_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍏朵粬搴熷搧鏁伴噺',
+  `feedback_user_id` bigint DEFAULT NULL COMMENT '鎶ュ伐鐢ㄦ埛缂栧彿',
+  `approve_user_id` bigint DEFAULT NULL COMMENT '瀹℃牳鐢ㄦ埛缂栧彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹氫箟 Key',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE,
+  KEY `idx_work_order_id` (`work_order_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鎶ュ伐';
+
+-- ============ 琛細mes_pro_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_line`;
+CREATE TABLE `mes_pro_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '浜х嚎缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '浜х嚎鍚嶇О',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鍚敤 1鍋滅敤锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='浜х嚎缁存姢';
+
+-- ============ 琛細mes_pro_mps锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_mps`;
+CREATE TABLE `mes_pro_mps` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'MPS 缂栫爜',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0=鑽夌 1=宸蹭笅鍙� 2=宸插畬鎴� 3=宸插彇娑堬級',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗旾D',
+  `sale_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曟槑缁咺D',
+  `product_id` bigint NOT NULL COMMENT '浜у搧缂栧彿',
+  `quantity` decimal(24,6) NOT NULL COMMENT '璁″垝鐢熶骇鏁伴噺',
+  `quantity_produced` decimal(24,6) DEFAULT '0.000000' COMMENT '宸茬敓浜ф暟閲�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅ID',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `request_date` datetime DEFAULT NULL COMMENT '闇�姹傛棩鏈�',
+  `issue_date` datetime DEFAULT NULL COMMENT '涓嬪彂鏃ユ湡',
+  `finish_date` datetime DEFAULT NULL COMMENT '瀹屾垚鏃ユ湡',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟ID',
+  `work_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栫爜',
+  `merge_flag` tinyint DEFAULT '0' COMMENT '鏄惁鍚堝苟涓嬪彂锛�0=鍚� 1=鏄級',
+  `merge_batch_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍚堝苟鎵规鍙�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_sale_order_item_id` (`sale_order_item_id`) USING BTREE,
+  KEY `idx_product_id` (`product_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_merge_batch_no` (`merge_batch_no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇涓昏鍒�';
+
+-- ============ 琛細mes_pro_mps_merge_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_mps_merge_item`;
+CREATE TABLE `mes_pro_mps_merge_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `merge_batch_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍚堝苟鎵规鍙�',
+  `mps_id` bigint NOT NULL COMMENT 'MPS 缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熸垚鐨勭敓浜у伐鍗旾D',
+  `quantity` decimal(24,6) NOT NULL COMMENT '鍒嗛厤鏁伴噺',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_merge_batch_no` (`merge_batch_no`) USING BTREE,
+  KEY `idx_mps_id` (`mps_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MPS 鍚堝苟涓嬪彂鏄庣粏';
+
+-- ============ 琛細mes_pro_pallet锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_pallet`;
+CREATE TABLE `mes_pro_pallet` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鎵樼洏鐮侊紙鎵规鍙�-P+鎵樼洏搴忓彿锛屽叏灞�鍞竴锛�',
+  `batch_id` bigint NOT NULL COMMENT '鐢熶骇鎵规缂栧彿锛屽叧鑱� mes_pro_batch.id',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鎵规鍙凤紙鍐椾綑锛屼究浜庡睍绀猴級',
+  `pallet_no` int NOT NULL COMMENT '鎵规鍐呮墭鐩樺簭鍙�',
+  `capacity` int DEFAULT NULL COMMENT '鍙琚嬫暟锛堣/鎵樼洏锛�',
+  `bag_count` int NOT NULL DEFAULT '0' COMMENT '宸茬粦瀹氳鐮佹暟閲�',
+  `status` tinyint NOT NULL DEFAULT '10' COMMENT '鐘舵�侊紙瀛楀吀 mes_pro_pallet_status锛�10 鍚敤 20 浣滃簾锛�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_batch_id` (`batch_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鎵樼洏鐮�';
+
+-- ============ 琛細mes_pro_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_process`;
+CREATE TABLE `mes_pro_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ簭缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ簭鍚嶇О',
+  `attention` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓瑕佹眰',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ簭';
+
+-- ============ 琛細mes_pro_process_content锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_process_content`;
+CREATE TABLE `mes_pro_process_content` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '椤哄簭缂栧彿',
+  `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '姝ラ璇存槑',
+  `device` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杈呭姪璁惧',
+  `material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杈呭姪鏉愭枡',
+  `doc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉愭枡鏂囨。 URL',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ簭鍐呭';
+
+-- ============ 琛細mes_pro_process_param锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_process_param`;
+CREATE TABLE `mes_pro_process_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_id` bigint NOT NULL COMMENT '宸ュ簭缂栧彿锛堝叧鑱� mes_pro_process锛�',
+  `process_param_id` bigint NOT NULL COMMENT '宸ヨ壓鍙傛暟缂栧彿锛堝叧鑱� mes_pd_process_param锛�',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~',
+  `sort` int DEFAULT NULL COMMENT '鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_process_id` (`process_id`) USING BTREE,
+  KEY `idx_process_param_id` (`process_param_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ュ簭-宸ヨ壓鍙傛暟缁戝畾';
+
+-- ============ 琛細mes_pro_route锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route`;
+CREATE TABLE `mes_pro_route` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓璺嚎鍚嶇О',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ヨ壓璺嚎璇存槑',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎';
+
+-- ============ 琛細mes_pro_route_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route_process`;
+CREATE TABLE `mes_pro_route_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `param_template_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟妯℃澘缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '搴忓彿',
+  `next_process_id` bigint DEFAULT NULL COMMENT '涓嬩竴閬撳伐搴忕紪鍙�',
+  `link_type` int DEFAULT NULL COMMENT '涓庝笅涓�閬撳伐搴忓叧绯�',
+  `prepare_time` int DEFAULT NULL COMMENT '鍑嗗鏃堕棿锛堝垎閽燂級',
+  `wait_time` int DEFAULT NULL COMMENT '绛夊緟鏃堕棿锛堝垎閽燂級',
+  `color_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢樼壒鍥炬樉绀洪鑹�',
+  `key_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏抽敭宸ュ簭',
+  `check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁璐ㄦ宸ュ簭',
+  `backflush_flag` bit(1) DEFAULT b'1' COMMENT '鏄惁鍊掑啿',
+  `output_item_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浜у嚭浜у搧鐗╂枡缂栧彿锛屽涓敤閫楀彿鍒嗛殧',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_output_item_id` (`output_item_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎宸ュ簭';
+
+-- ============ 琛細mes_pro_route_product锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route_product`;
+CREATE TABLE `mes_pro_route_product` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鐢熶骇鏁伴噺',
+  `production_time` decimal(24,6) DEFAULT NULL COMMENT '鐢熶骇鐢ㄦ椂',
+  `time_unit_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏃堕棿鍗曚綅',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎浜у搧';
+
+-- ============ 琛細mes_pro_route_product_bom锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_route_product_bom`;
+CREATE TABLE `mes_pro_route_product_bom` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT 'BOM 鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鐢ㄦ枡姣斾緥',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ヨ壓璺嚎浜у搧 BOM';
+
+-- ============ 琛細mes_pro_task锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task`;
+CREATE TABLE `mes_pro_task` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠诲姟鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `param_template_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟妯℃澘缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鎺掍骇鏁伴噺',
+  `produced_quantity` decimal(24,6) DEFAULT NULL COMMENT '宸茬敓浜ф暟閲�',
+  `qualify_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualify_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶈壇鍝佹暟閲�',
+  `changed_quantity` decimal(24,6) DEFAULT NULL COMMENT '璋冩暣鏁伴噺',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬬敓浜ф椂闂�',
+  `duration` int DEFAULT NULL COMMENT '鐢熶骇鏃堕暱',
+  `end_time` datetime DEFAULT NULL COMMENT '缁撴潫鐢熶骇鏃堕棿',
+  `color_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢樼壒鍥炬樉绀洪鑹�',
+  `finish_date` datetime DEFAULT NULL COMMENT '瀹屾垚鏃ユ湡',
+  `cancel_date` datetime DEFAULT NULL COMMENT '鍙栨秷鏃ユ湡',
+  `first_feedback_time` datetime DEFAULT NULL COMMENT '棣栨鎶ュ伐鏃堕棿',
+  `last_feedback_time` datetime DEFAULT NULL COMMENT '鏈�杩戞姤宸ユ椂闂�',
+  `status` int DEFAULT NULL COMMENT '浠诲姟鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_work_order_process` (`work_order_id`,`process_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇浠诲姟';
+
+-- ============ 琛細mes_pro_task_assignee锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task_assignee`;
+CREATE TABLE `mes_pro_task_assignee` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟 ID',
+  `user_id` bigint DEFAULT NULL COMMENT '绯荤粺鐢ㄦ埛 ID (鎸囧畾鎶ュ伐浜哄憳)',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鐢熶骇浠诲姟鎸囧畾鎶ュ伐浜哄憳琛�';
+
+-- ============ 琛細mes_pro_task_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task_issue`;
+CREATE TABLE `mes_pro_task_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `source_doc_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栫爜',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶曟枡鎵规',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '鍗曚綅缂栧彿',
+  `issued_quantity` decimal(24,6) DEFAULT NULL COMMENT '鎬绘姇鏂欐暟閲�',
+  `available_quantity` decimal(24,6) DEFAULT NULL COMMENT '褰撳墠鍙敤鏁伴噺',
+  `used_quantity` decimal(24,6) DEFAULT NULL COMMENT '褰撳墠浣跨敤鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇浠诲姟鎶曟枡';
+
+-- ============ 琛細mes_pro_task_pause_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_task_pause_record`;
+CREATE TABLE `mes_pro_task_pause_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint NOT NULL COMMENT '浠诲姟缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '宸ュ崟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍋滃伐鍘熷洜',
+  `pause_time` datetime NOT NULL COMMENT '鍋滃伐鏃堕棿',
+  `pause_user_id` bigint NOT NULL COMMENT '鍋滃伐鎿嶄綔浜篒D',
+  `resume_time` datetime DEFAULT NULL COMMENT '澶嶅伐鏃堕棿',
+  `resume_user_id` bigint DEFAULT NULL COMMENT '澶嶅伐鎿嶄綔浜篒D',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢熶骇浠诲姟鍋滃伐璁板綍琛�';
+
+-- ============ 琛細mes_pro_work_order锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order`;
+CREATE TABLE `mes_pro_work_order` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ崟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ崟鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '宸ュ崟绫诲瀷',
+  `order_source_type` int DEFAULT NULL COMMENT '鏉ユ簮绫诲瀷',
+  `order_source_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `product_id` bigint DEFAULT NULL COMMENT '浜у搧缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鐢熶骇鏁伴噺',
+  `quantity_produced` decimal(24,6) DEFAULT NULL COMMENT '宸茬敓浜ф暟閲�',
+  `quantity_changed` decimal(24,6) DEFAULT NULL COMMENT '璋冩暣鏁伴噺',
+  `quantity_scheduled` decimal(24,6) DEFAULT NULL COMMENT '宸叉帓浜ф暟閲�',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `route_id` bigint DEFAULT NULL COMMENT '宸ヨ壓璺嚎缂栧彿',
+  `auto_finish_flag` tinyint(1) DEFAULT '1' COMMENT '鏄惁鑷姩瀹屾垚',
+  `request_date` datetime DEFAULT NULL COMMENT '闇�姹傛棩鏈�',
+  `parent_id` bigint DEFAULT NULL COMMENT '鐖跺伐鍗曠紪鍙�',
+  `finish_date` datetime DEFAULT NULL COMMENT '瀹屾垚鏃堕棿',
+  `cancel_date` datetime DEFAULT NULL COMMENT '鍙栨秷鏃堕棿',
+  `status` int DEFAULT NULL COMMENT '宸ュ崟鐘舵��',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `is_feedback_approve` tinyint(1) DEFAULT NULL COMMENT '鏄惁寮�鍚姤宸ュ鎵� (1: 寮�鍚�, 0/NULL: 鍏抽棴)',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹氫箟 Key',
+  `feedback_role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶ュ伐瑙掕壊 (澶氫釜瑙掕壊浠ラ�楀彿鍒嗛殧)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟';
+
+-- ============ 琛細mes_pro_work_order_bom锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_bom`;
+CREATE TABLE `mes_pro_work_order_bom` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT 'BOM 鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '棰勮浣跨敤閲�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟 BOM';
+
+-- ============ 琛細mes_pro_work_order_param_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_param_record`;
+CREATE TABLE `mes_pro_work_order_param_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `work_order_id` bigint NOT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '鍙傛暟妯℃澘缂栧彿锛堝伐搴忕粦瀹氬弬鏁扮敓鎴愭椂涓虹┖锛�',
+  `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯℃澘缂栫爜锛堝揩鐓э級',
+  `template_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯℃澘鍚嶇О锛堝揩鐓э級',
+  `record_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璁板綍搴忓彿/鎵规鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `task_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_work_order_id` (`work_order_id`) USING BTREE,
+  KEY `idx_mes_pro_work_order_param_record_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟鍙傛暟璁板綍';
+
+-- ============ 琛細mes_pro_work_order_param_record_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_param_record_detail`;
+CREATE TABLE `mes_pro_work_order_param_record_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `record_id` bigint NOT NULL COMMENT '鍙傛暟璁板綍缂栧彿',
+  `template_detail_id` bigint DEFAULT NULL COMMENT '妯℃澘鏄庣粏缂栧彿锛堟函婧愮敤锛�',
+  `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟缂栫爜锛堝揩鐓э級',
+  `param_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鍚嶇О锛堝揩鐓э級',
+  `param_type` tinyint DEFAULT NULL COMMENT '鍙傛暟绫诲瀷锛堝揩鐓э級',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~锛堝揩鐓э級',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿锛堝揩鐓э級',
+  `param_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鍊�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_record_id` (`record_id`) USING BTREE,
+  KEY `idx_mes_pro_work_order_param_record_detail_record_id` (`record_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟鍙傛暟璁板綍鏄庣粏';
+
+-- ============ 琛細mes_pro_work_order_process锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_order_process`;
+CREATE TABLE `mes_pro_work_order_process` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `param_template_id` bigint DEFAULT NULL COMMENT '宸ヨ壓鍙傛暟妯℃澘缂栧彿',
+  `sort` int DEFAULT NULL COMMENT '搴忓彿',
+  `next_process_id` bigint DEFAULT NULL COMMENT '涓嬩竴閬撳伐搴忕紪鍙�',
+  `link_type` int DEFAULT NULL COMMENT '涓庝笅涓�閬撳伐搴忓叧绯�',
+  `prepare_time` int DEFAULT NULL COMMENT '鍑嗗鏃堕棿锛堝垎閽燂級',
+  `wait_time` int DEFAULT NULL COMMENT '绛夊緟鏃堕棿锛堝垎閽燂級',
+  `color_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鐢樼壒鍥炬樉绀洪鑹�',
+  `key_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏抽敭宸ュ簭',
+  `check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁璐ㄦ宸ュ簭',
+  `backflush_flag` bit(1) DEFAULT b'1' COMMENT '鏄惁鍊掑啿',
+  `output_item_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '浜у嚭浜у搧鐗╂枡缂栧彿锛屽涓敤閫楀彿鍒嗛殧',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_work_order_id` (`work_order_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇宸ュ崟宸ュ簭';
+
+-- ============ 琛細mes_pro_work_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_record`;
+CREATE TABLE `mes_pro_work_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `type` int DEFAULT NULL COMMENT '褰撳墠鐘舵��',
+  `clock_in_time` datetime DEFAULT NULL COMMENT '涓婂伐鏃堕棿',
+  `clock_out_time` datetime DEFAULT NULL COMMENT '涓嬪伐鏃堕棿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢ㄦ埛宸ヤ綔绔欑粦瀹氬叧绯�';
+
+-- ============ 琛細mes_pro_work_record_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_pro_work_record_log`;
+CREATE TABLE `mes_pro_work_record_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `type` int DEFAULT NULL COMMENT '鎿嶄綔绫诲瀷',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 涓婁笅宸ヨ褰曟祦姘�';
+
+-- ============ 琛細mes_qc_defect锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_defect`;
+CREATE TABLE `mes_qc_defect` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡缂栫爜',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡鎻忚堪',
+  `type` int DEFAULT NULL COMMENT '妫�娴嬮」绫诲瀷',
+  `level` int DEFAULT NULL COMMENT '缂洪櫡绛夌骇',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 缂洪櫡绫诲瀷';
+
+-- ============ 琛細mes_qc_defect_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_defect_record`;
+CREATE TABLE `mes_qc_defect_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `qc_type` int DEFAULT NULL COMMENT '妫�楠岀被鍨�',
+  `qc_id` bigint DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '妫�楠岃缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缂洪櫡鎻忚堪',
+  `level` int DEFAULT NULL COMMENT '缂洪櫡绛夌骇',
+  `quantity` int DEFAULT NULL COMMENT '缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ缂洪櫡璁板綍';
+
+-- ============ 琛細mes_qc_indicator锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_indicator`;
+CREATE TABLE `mes_qc_indicator` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬮」缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬮」鍚嶇О',
+  `type` int DEFAULT NULL COMMENT '妫�娴嬮」绫诲瀷',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `result_type` int DEFAULT NULL COMMENT '缁撴灉鍊肩被鍨�',
+  `result_specification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁撴灉鍊煎睘鎬�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鎸囨爣';
+
+-- ============ 琛細mes_qc_indicator_result锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_indicator_result`;
+CREATE TABLE `mes_qc_indicator_result` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍峰搧缂栧彿',
+  `qc_id` bigint DEFAULT NULL COMMENT '鍏宠仈璐ㄦ鍗曠紪鍙�',
+  `qc_type` int DEFAULT NULL COMMENT '璐ㄦ绫诲瀷',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `sn` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╄祫 SN',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 妫�楠岀粨鏋滆褰�';
+
+-- ============ 琛細mes_qc_indicator_result_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_indicator_result_detail`;
+CREATE TABLE `mes_qc_indicator_result_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `result_id` bigint DEFAULT NULL COMMENT '鍏宠仈妫�楠岀粨鏋滅紪鍙�',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 妫�楠岀粨鏋滄槑缁嗚褰�';
+
+-- ============ 琛細mes_qc_ipqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_ipqc`;
+CREATE TABLE `mes_qc_ipqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `type` int DEFAULT NULL COMMENT 'IPQC 妫�楠岀被鍨�',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綅缂栧彿',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `labor_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '宸ュ簾鏁伴噺',
+  `material_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏂欏簾鏁伴噺',
+  `other_scrap_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍏朵粬搴熷搧鏁伴噺',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杩囩▼妫�楠屽崟';
+
+-- ============ 琛細mes_qc_ipqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_ipqc_line`;
+CREATE TABLE `mes_qc_ipqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `ipqc_id` bigint DEFAULT NULL COMMENT '杩囩▼妫�楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杩囩▼妫�楠屽崟琛�';
+
+-- ============ 琛細mes_qc_iqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_iqc`;
+CREATE TABLE `mes_qc_iqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `vendor_batch` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗘壒娆″彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `received_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鎺ユ敹鏁伴噺',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `receive_date` datetime DEFAULT NULL COMMENT '鏉ユ枡鏃ユ湡',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉ユ枡妫�楠屽崟';
+
+-- ============ 琛細mes_qc_iqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_iqc_line`;
+CREATE TABLE `mes_qc_iqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉ユ枡妫�楠屽崟琛�';
+
+-- ============ 琛細mes_qc_ncr锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_ncr`;
+CREATE TABLE `mes_qc_ncr` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'NCR鍗曞彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'NCR鍚嶇О',
+  `qc_type` int DEFAULT NULL COMMENT '妫�楠岀被鍨嬶紙IQC/IPQC/OQC/RQC锛夛紝瀛楀吀 mes_qc_type',
+  `qc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮妫�楠屽崟ID',
+  `qc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮妫�楠屽崟缂栧彿锛堝啑浣欙級',
+  `item_id` bigint DEFAULT NULL COMMENT '涓嶅悎鏍肩墿鏂橧D',
+  `defect_level` int DEFAULT NULL COMMENT '缂洪櫡绛夌骇锛堣嚧鍛�/涓ラ噸/杞诲井锛夛紝瀛楀吀 mes_defect_level',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍兼暟閲�',
+  `defect_description` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓嶅悎鏍兼弿杩�',
+  `disposition` int DEFAULT NULL COMMENT '澶勭疆鏂瑰紡锛堥��璐�/鎶ュ簾/杩斿伐/璁╂鎺ユ敹/闄嶇骇浣跨敤锛夛紝瀛楀吀 mes_ncr_disposition',
+  `responsible_dept_id` bigint DEFAULT NULL COMMENT '璐d换閮ㄩ棬ID',
+  `reviewer_user_id` bigint DEFAULT NULL COMMENT '璇勫浜篒D',
+  `review_date` datetime DEFAULT NULL COMMENT '璇勫鏃ユ湡',
+  `review_opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勫鎰忚',
+  `handler_user_id` bigint DEFAULT NULL COMMENT '澶勭悊浜篒D',
+  `handle_date` datetime DEFAULT NULL COMMENT '澶勭悊鏃ユ湡',
+  `handle_result` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶勭悊缁撴灉璇存槑',
+  `root_cause` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏍规湰鍘熷洜',
+  `corrective_action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绾犳鎺柦',
+  `preventive_action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰勯槻鎺柦',
+  `close_user_id` bigint DEFAULT NULL COMMENT '鍏抽棴浜篒D',
+  `close_date` datetime DEFAULT NULL COMMENT '鍏抽棴鏃ユ湡',
+  `close_opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏抽棴鎰忚',
+  `status` int DEFAULT NULL COMMENT '鐘舵�侊紙寰呰瘎瀹�/宸茶瘎瀹�/宸插缃�/宸插叧闂級锛屽瓧鍏� mes_ncr_status',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM娴佺▼瀹炰緥ID锛堥鐣欙級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_qc_type_id` (`qc_type`,`qc_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_item_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 涓嶅悎鏍煎搧澶勭悊鍗�';
+
+-- ============ 琛細mes_qc_oqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_oqc`;
+CREATE TABLE `mes_qc_oqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛缂栧彿',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `min_check_quantity` int DEFAULT NULL COMMENT '鏈�浣庢娴嬫暟',
+  `max_unqualified_quantity` int DEFAULT NULL COMMENT '鏈�澶т笉鍚堟牸鏁�',
+  `out_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鍑鸿揣鏁伴噺',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍煎搧鏁伴噺',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `out_date` datetime DEFAULT NULL COMMENT '鍑鸿揣鏃ユ湡',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍑鸿揣妫�楠屽崟';
+
+-- ============ 琛細mes_qc_oqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_oqc_line`;
+CREATE TABLE `mes_qc_oqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `oqc_id` bigint DEFAULT NULL COMMENT '鍑鸿揣妫�楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍑鸿揣妫�楠屽崟琛�';
+
+-- ============ 琛細mes_qc_rqc锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_rqc`;
+CREATE TABLE `mes_qc_rqc` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�楠屽崟鍚嶇О',
+  `template_id` bigint DEFAULT NULL COMMENT '妫�楠屾ā鏉跨紪鍙�',
+  `source_doc_type` int DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁绫诲瀷',
+  `source_doc_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `source_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁琛岀紪鍙�',
+  `source_doc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮鍗曟嵁缂栧彿',
+  `type` int DEFAULT NULL COMMENT '妫�楠岀被鍨�',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `check_quantity` decimal(24,6) DEFAULT NULL COMMENT '妫�娴嬫暟閲�',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鍝佹暟閲�',
+  `unqualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '涓嶅悎鏍兼暟閲�',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鑷村懡缂洪櫡鐜�',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鐜�',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '杞诲井缂洪櫡鐜�',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `check_result` int DEFAULT NULL COMMENT '妫�娴嬬粨鏋�',
+  `inspect_date` datetime DEFAULT NULL COMMENT '妫�娴嬫棩鏈�',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�娴嬩汉鍛樼敤鎴风紪鍙�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閫�璐ф楠屽崟';
+
+-- ============ 琛細mes_qc_rqc_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_rqc_line`;
+CREATE TABLE `mes_qc_rqc_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `rqc_id` bigint DEFAULT NULL COMMENT '閫�璐ф楠屽崟缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '妫�娴嬫寚鏍囩紪鍙�',
+  `tool` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬪伐鍏�',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `max_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `min_threshold` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `critical_quantity` int DEFAULT NULL COMMENT '鑷村懡缂洪櫡鏁伴噺',
+  `major_quantity` int DEFAULT NULL COMMENT '涓ラ噸缂洪櫡鏁伴噺',
+  `minor_quantity` int DEFAULT NULL COMMENT '杞诲井缂洪櫡鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閫�璐ф楠岃';
+
+-- ============ 琛細mes_qc_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_template`;
+CREATE TABLE `mes_qc_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂规鍚嶇О',
+  `types` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬬绫�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鏂规';
+
+-- ============ 琛細mes_qc_template_indicator锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_template_indicator`;
+CREATE TABLE `mes_qc_template_indicator` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '璐ㄦ鏂规缂栧彿',
+  `indicator_id` bigint DEFAULT NULL COMMENT '璐ㄦ鎸囨爣缂栧彿',
+  `check_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妫�娴嬫柟娉�',
+  `standard_value` decimal(24,6) DEFAULT NULL COMMENT '鏍囧噯鍊�',
+  `unit_measure_id` bigint DEFAULT NULL COMMENT '璁¢噺鍗曚綅缂栧彿',
+  `threshold_max` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓婇檺',
+  `threshold_min` decimal(24,6) DEFAULT NULL COMMENT '璇樊涓嬮檺',
+  `doc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇存槑鍥� URL',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鏂规妫�娴嬫寚鏍囬」';
+
+-- ============ 琛細mes_qc_template_item锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_qc_template_item`;
+CREATE TABLE `mes_qc_template_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '璐ㄦ鏂规缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '浜у搧鐗╂枡缂栧彿',
+  `quantity_check` int DEFAULT NULL COMMENT '鏈�浣庢娴嬫暟',
+  `quantity_unqualified` int DEFAULT NULL COMMENT '鏈�澶т笉鍚堟牸鏁�',
+  `critical_rate` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶ц嚧鍛界己闄风巼',
+  `major_rate` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶т弗閲嶇己闄风巼',
+  `minor_rate` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶ц交寰己闄风巼',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 璐ㄦ鏂规浜у搧鍏宠仈';
+
+-- ============ 琛細mes_tm_tool锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_tm_tool`;
+CREATE TABLE `mes_tm_tool` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ叿缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宸ュ叿鍚嶇О',
+  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍝佺墝',
+  `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍨嬪彿瑙勬牸',
+  `tool_type_id` bigint DEFAULT NULL COMMENT '宸ュ叿绫诲瀷缂栧彿',
+  `quantity` int DEFAULT NULL COMMENT '鏁伴噺',
+  `available_quantity` int DEFAULT NULL COMMENT '鍙敤鏁伴噺',
+  `mainten_type` int DEFAULT NULL COMMENT '淇濆吇缁存姢绫诲瀷',
+  `next_mainten_period` int DEFAULT NULL COMMENT '涓嬫淇濆吇鍛ㄦ湡锛堟鏁帮級',
+  `next_mainten_date` datetime DEFAULT NULL COMMENT '涓嬫淇濆吇鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ュ叿鍙拌处';
+
+-- ============ 琛細mes_tm_tool_type锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_tm_tool_type`;
+CREATE TABLE `mes_tm_tool_type` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绫诲瀷鍚嶇О',
+  `code_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁缂栫爜绠$悊',
+  `mainten_type` int DEFAULT NULL COMMENT '淇濆吇缁存姢绫诲瀷',
+  `mainten_period` int DEFAULT NULL COMMENT '淇濆吇鍛ㄦ湡',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 宸ュ叿绫诲瀷';
+
+-- ============ 琛細mes_wm_arrival_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_arrival_notice`;
+CREATE TABLE `mes_wm_arrival_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栫爜锛堝啑浣欏瓧娈碉級',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `arrival_date` datetime DEFAULT NULL COMMENT '棰勮鍒拌揣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `contact_telephone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜虹數璇�',
+  `contact_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍒拌揣閫氱煡鍗�';
+
+-- ============ 琛細mes_wm_arrival_notice_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_arrival_notice_line`;
+CREATE TABLE `mes_wm_arrival_notice_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `notice_id` bigint DEFAULT NULL COMMENT '鍒拌揣閫氱煡鍗� ID',
+  `purchase_order_item_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟琛岀紪鍙凤紙鍏宠仈 ERP 閲囪喘璁㈠崟鏄庣粏锛�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `arrival_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍒拌揣鏁伴噺',
+  `qualified_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍚堟牸鏁伴噺',
+  `iqc_check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `iqc_check_result` tinyint DEFAULT NULL COMMENT '璐ㄦ缁撴灉锛�1鍚堟牸 2鐗归噰 3涓嶅悎鏍奸��璐� 4涓嶅悎鏍兼姤搴�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_purchase_order_item_id` (`purchase_order_item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍒拌揣閫氱煡鍗曡';
+
+-- ============ 琛細mes_wm_barcode锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_barcode`;
+CREATE TABLE `mes_wm_barcode` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `config_id` bigint DEFAULT NULL COMMENT '鏉$爜閰嶇疆缂栧彿',
+  `format` int DEFAULT NULL COMMENT '鏉$爜鏍煎紡',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉$爜鍐呭',
+  `biz_id` bigint DEFAULT NULL COMMENT '涓氬姟缂栧彿',
+  `biz_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟缂栫爜',
+  `biz_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓氬姟鍚嶇О',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉$爜娓呭崟';
+
+-- ============ 琛細mes_wm_barcode_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_barcode_config`;
+CREATE TABLE `mes_wm_barcode_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `format` int DEFAULT NULL COMMENT '鏉$爜鏍煎紡',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `content_format` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍐呭鏍煎紡妯℃澘',
+  `content_example` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍐呭鏍蜂緥',
+  `auto_generate_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁鑷姩鐢熸垚',
+  `default_template` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '榛樿鎵撳嵃妯℃澘',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鏉$爜閰嶇疆';
+
+-- ============ 琛細mes_wm_batch锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_batch`;
+CREATE TABLE `mes_wm_batch` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `produce_date` datetime DEFAULT NULL COMMENT '鐢熶骇鏃ユ湡',
+  `expire_date` datetime DEFAULT NULL COMMENT '澶辨晥鏃ユ湡',
+  `receipt_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛ID',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔橧D',
+  `tool_id` bigint DEFAULT NULL COMMENT '宸ュ叿ID',
+  `mold_id` bigint DEFAULT NULL COMMENT '妯″叿ID',
+  `lot_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `quality_status` tinyint DEFAULT NULL COMMENT '璐ㄩ噺鐘舵��',
+  `vendor_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鐮�',
+  `vendor_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鎵规';
+
+-- ============ 琛細mes_wm_item_consume锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_consume`;
+CREATE TABLE `mes_wm_item_consume` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟缂栧彿',
+  `workstation_id` bigint DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭缂栧彿',
+  `feedback_id` bigint DEFAULT NULL COMMENT '鎶ュ伐璁板綍缂栧彿',
+  `consume_date` datetime DEFAULT NULL COMMENT '娑堣�楁棩鏈�',
+  `return_date` datetime DEFAULT NULL COMMENT '閫�鏂欐棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�鏂欏崟';
+
+-- ============ 琛細mes_wm_item_consume_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_consume_detail`;
+CREATE TABLE `mes_wm_item_consume_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `consume_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�鏂欏崟鏄庣粏';
+
+-- ============ 琛細mes_wm_item_consume_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_consume_line`;
+CREATE TABLE `mes_wm_item_consume_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `consume_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_id` int DEFAULT NULL,
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�鏂欏崟琛�';
+
+-- ============ 琛細mes_wm_item_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_receipt`;
+CREATE TABLE `mes_wm_item_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `notice_id` bigint DEFAULT NULL COMMENT '鍒拌揣閫氱煡鍗曠紪鍙�',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟鍙�',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `receipt_date` datetime DEFAULT NULL COMMENT '閫�搴撴棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_process_instance_id` (`process_instance_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_item_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_receipt_detail`;
+CREATE TABLE `mes_wm_item_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�搴撳崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�搴撳崟鏄庣粏';
+
+-- ============ 琛細mes_wm_item_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_item_receipt_line`;
+CREATE TABLE `mes_wm_item_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�搴撳崟 ID',
+  `arrival_notice_line_id` bigint DEFAULT NULL COMMENT '鍒拌揣閫氱煡鍗曡缂栧彿',
+  `purchase_order_item_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟琛岀紪鍙凤紙瀹屾暣杩芥函閾撅級',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `received_quantity` decimal(24,6) DEFAULT NULL COMMENT '鍏ュ簱鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规缂栫爜',
+  `production_date` datetime DEFAULT NULL COMMENT '鐢熶骇鏃ユ湡',
+  `expire_date` datetime DEFAULT NULL COMMENT '鏈夋晥鏈�',
+  `lot_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_purchase_order_item_id` (`purchase_order_item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐗╂枡閫�搴撳崟琛�';
+
+-- ============ 琛細mes_wm_material_stock锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_material_stock`;
+CREATE TABLE `mes_wm_material_stock` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `item_type_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规缂栫爜',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟嗙紪鍙�',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '搴撳瓨鏁伴噺',
+  `frozen_quantity` decimal(24,6) DEFAULT '0.000000' COMMENT '鍐荤粨鏁伴噺',
+  `reserved_quantity` decimal(24,6) DEFAULT '0.000000' COMMENT '鍗犵敤閲忥紙宸插垎閰嶅緟鍑哄簱锛�',
+  `in_transit_quantity` decimal(24,6) DEFAULT '0.000000' COMMENT '鍦ㄩ�旈噺锛堣皟鎷ㄥ湪閫旓級',
+  `erp_time` datetime DEFAULT NULL COMMENT 'ERP 璐︽湡',
+  `receipt_time` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃堕棿',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳瓨璁板綍';
+
+-- ============ 琛細mes_wm_misc_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_issue`;
+CREATE TABLE `mes_wm_misc_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `issue_date` datetime DEFAULT NULL COMMENT '鍑哄簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `type` int DEFAULT NULL,
+  `source_doc_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `source_doc_id` int DEFAULT NULL,
+  `source_doc_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍑哄簱鍗�';
+
+-- ============ 琛細mes_wm_misc_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_issue_detail`;
+CREATE TABLE `mes_wm_misc_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍑哄簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_misc_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_issue_line`;
+CREATE TABLE `mes_wm_misc_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍ID',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL,
+  `location_id` bigint DEFAULT NULL,
+  `area_id` bigint DEFAULT NULL,
+  `source_doc_line_id` bigint DEFAULT NULL,
+  `batch_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍑哄簱鍗曡';
+
+-- ============ 琛細mes_wm_misc_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_receipt`;
+CREATE TABLE `mes_wm_misc_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `receipt_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_misc_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_receipt_detail`;
+CREATE TABLE `mes_wm_misc_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍏ュ簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_misc_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_misc_receipt_line`;
+CREATE TABLE `mes_wm_misc_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍏朵粬鍏ュ簱鍗曡';
+
+-- ============ 琛細mes_wm_outsource_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_issue`;
+CREATE TABLE `mes_wm_outsource_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '澶栧崗宸ュ崟 ID',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `issue_date` datetime DEFAULT NULL COMMENT '鍙戞枡鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍙戞枡鍗�';
+
+-- ============ 琛細mes_wm_outsource_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_issue_detail`;
+CREATE TABLE `mes_wm_outsource_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍙戞枡鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍙戞枡鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_outsource_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_issue_line`;
+CREATE TABLE `mes_wm_outsource_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '鍙戞枡鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍙戞枡鍗曡';
+
+-- ============ 琛細mes_wm_outsource_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_receipt`;
+CREATE TABLE `mes_wm_outsource_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '澶栧崗宸ュ崟 ID',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `receipt_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_outsource_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_receipt_detail`;
+CREATE TABLE `mes_wm_outsource_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍏ュ簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_outsource_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_outsource_receipt_line`;
+CREATE TABLE `mes_wm_outsource_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `iqc_id` bigint DEFAULT NULL COMMENT '鏉ユ枡妫�楠屽崟缂栧彿',
+  `iqc_check_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁闇�瑕佹潵鏂欐楠�',
+  `quality_status` int DEFAULT NULL COMMENT '璐ㄩ噺鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 澶栧崗鍏ュ簱鍗曡';
+
+-- ============ 琛細mes_wm_package锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_package`;
+CREATE TABLE `mes_wm_package` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瑁呯鍗� ID',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '瑁呯鍗曠紪鍙�',
+  `parent_id` bigint DEFAULT '0' COMMENT '鐖剁 ID',
+  `package_date` datetime DEFAULT NULL COMMENT '瑁呯鏃ユ湡',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `invoice_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍙戠エ缂栧彿',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `length` decimal(24,6) DEFAULT NULL COMMENT '绠遍暱搴�',
+  `width` decimal(24,6) DEFAULT NULL COMMENT '绠卞搴�',
+  `height` decimal(24,6) DEFAULT NULL COMMENT '绠遍珮搴�',
+  `size_unit_id` bigint DEFAULT NULL COMMENT '灏哄鍗曚綅 ID',
+  `net_weight` decimal(24,6) DEFAULT NULL COMMENT '鍑�閲�',
+  `gross_weight` decimal(24,6) DEFAULT NULL COMMENT '姣涢噸',
+  `weight_unit_id` bigint DEFAULT NULL COMMENT '閲嶉噺鍗曚綅 ID',
+  `inspector_user_id` bigint DEFAULT NULL COMMENT '妫�鏌ュ憳鐢ㄦ埛 ID',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` bigint DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `updater` bigint DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 瑁呯鍗�';
+
+-- ============ 琛細mes_wm_package_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_package_line`;
+CREATE TABLE `mes_wm_package_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `package_id` bigint DEFAULT NULL COMMENT '鍖呰鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鍖呰鍗曡';
+
+-- ============ 琛細mes_wm_product_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_issue`;
+CREATE TABLE `mes_wm_product_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `issue_date` datetime DEFAULT NULL COMMENT '棰嗘枡鏃ユ湡',
+  `required_time` datetime DEFAULT NULL COMMENT '闇�姹傛椂闂�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `workstation_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇棰嗘枡鍗�';
+
+-- ============ 琛細mes_wm_product_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_issue_detail`;
+CREATE TABLE `mes_wm_product_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '棰嗘枡鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇棰嗘枡鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_product_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_issue_line`;
+CREATE TABLE `mes_wm_product_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '棰嗘枡鍗� ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇棰嗘枡鍗曡';
+
+-- ============ 琛細mes_wm_product_produce锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_produce`;
+CREATE TABLE `mes_wm_product_produce` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `feedback_id` bigint DEFAULT NULL COMMENT '鎶ュ伐璁板綍 ID',
+  `produce_date` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `workstation_id` int DEFAULT NULL,
+  `process_id` bigint DEFAULT NULL COMMENT '宸ュ簭 ID',
+  `task_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鍏ュ簱鍗�';
+
+-- ============ 琛細mes_wm_product_produce_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_produce_detail`;
+CREATE TABLE `mes_wm_product_produce_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `produce_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鍏ュ簱鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_product_produce_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_produce_line`;
+CREATE TABLE `mes_wm_product_produce_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `produce_id` bigint DEFAULT NULL COMMENT '鍏ュ簱鍗� ID',
+  `feedback_id` bigint DEFAULT NULL COMMENT '鎶ュ伐璁板綍 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `expire_date` datetime DEFAULT NULL COMMENT '杩囨湡鏃ユ湡',
+  `lot_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢熶骇鎵瑰彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `quality_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇鍏ュ簱鍗曡';
+
+-- ============ 琛細mes_wm_product_receipt锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_receipt`;
+CREATE TABLE `mes_wm_product_receipt` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `receipt_date` datetime DEFAULT NULL COMMENT '閫�鏂欐棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `item_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟';
+
+-- ============ 琛細mes_wm_product_receipt_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_receipt_detail`;
+CREATE TABLE `mes_wm_product_receipt_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟鏄庣粏';
+
+-- ============ 琛細mes_wm_product_receipt_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_receipt_line`;
+CREATE TABLE `mes_wm_product_receipt_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `receipt_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `material_stock_id` int DEFAULT NULL,
+  `batch_id` int DEFAULT NULL,
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟琛�';
+
+-- ============ 琛細mes_wm_product_sales锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_sales`;
+CREATE TABLE `mes_wm_product_sales` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗旾D',
+  `notice_id` bigint DEFAULT NULL COMMENT '鍙戣揣閫氱煡鍗旾D',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿',
+  `sales_date` datetime DEFAULT NULL COMMENT '鍑哄簱鏃ユ湡',
+  `contact_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `contact_telephone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `contact_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣鍦板潃',
+  `carrier` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵胯繍鍟�',
+  `shipping_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杩愯緭鍗曞彿',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞嚭搴撳崟';
+
+-- ============ 琛細mes_wm_product_sales_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_sales_detail`;
+CREATE TABLE `mes_wm_product_sales_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `sales_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞嚭搴撳崟鏄庣粏';
+
+-- ============ 琛細mes_wm_product_sales_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_product_sales_line`;
+CREATE TABLE `mes_wm_product_sales_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `sales_id` bigint DEFAULT NULL COMMENT '鍑哄簱鍗� ID',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曟槑缁咺D',
+  `notice_line_id` bigint DEFAULT NULL COMMENT '鍙戣揣閫氱煡鍗曡ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `oqc_check_flag` tinyint(1) DEFAULT '0' COMMENT '鏄惁妫�楠�',
+  `oqc_id` bigint DEFAULT NULL COMMENT '鍑哄巶妫�楠屽崟ID',
+  `quality_status` int DEFAULT NULL COMMENT '璐ㄩ噺鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞嚭搴撳崟琛�';
+
+-- ============ 琛細mes_wm_return_issue锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_issue`;
+CREATE TABLE `mes_wm_return_issue` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `issue_date` datetime DEFAULT NULL COMMENT '閫�鏂欐棩鏈�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `workstation_id` int DEFAULT NULL,
+  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `return_date` datetime DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟锛堝彂鏂欙級';
+
+-- ============ 琛細mes_wm_return_issue_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_issue_detail`;
+CREATE TABLE `mes_wm_return_issue_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `issue_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟鏄庣粏锛堝彂鏂欙級';
+
+-- ============ 琛細mes_wm_return_issue_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_issue_line`;
+CREATE TABLE `mes_wm_return_issue_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `issue_id` bigint DEFAULT NULL COMMENT '閫�鏂欏崟 ID',
+  `task_id` bigint DEFAULT NULL COMMENT '鐢熶骇浠诲姟ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `material_stock_id` int DEFAULT NULL,
+  `rqc_check_flag` tinyint(1) DEFAULT NULL,
+  `quality_status` int DEFAULT NULL,
+  `batch_id` int DEFAULT NULL,
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `rqc_id` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐢熶骇閫�鏂欏崟琛岋紙鍙戞枡锛�';
+
+-- ============ 琛細mes_wm_return_sales锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_sales`;
+CREATE TABLE `mes_wm_return_sales` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `after_sale_return_id` bigint DEFAULT NULL COMMENT '鍞悗閫�璐х敵璇风紪鍙凤紝鍏宠仈 after_sale_return.id',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `sales_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曠紪鍙�',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗� ID',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `return_date` datetime DEFAULT NULL COMMENT '閫�璐ф棩鏈�',
+  `return_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閫�璐у師鍥�',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞��璐у崟';
+
+-- ============ 琛細mes_wm_return_sales_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_sales_detail`;
+CREATE TABLE `mes_wm_return_sales_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞��璐у崟鏄庣粏';
+
+-- ============ 琛細mes_wm_return_sales_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_sales_line`;
+CREATE TABLE `mes_wm_return_sales_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `rqc_check_flag` tinyint(1) DEFAULT NULL COMMENT '鏄惁闇�瑕佽川妫�',
+  `rqc_id` int DEFAULT NULL,
+  `quality_status` int DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞��璐у崟琛�';
+
+-- ============ 琛細mes_wm_return_vendor锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_vendor`;
+CREATE TABLE `mes_wm_return_vendor` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `vendor_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟� ID',
+  `purchase_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟缂栧彿',
+  `return_date` datetime DEFAULT NULL COMMENT '閫�璐ф棩鏈�',
+  `return_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閫�璐у師鍥�',
+  `transport_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂祦鍗曞彿',
+  `transport_telephone` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂祦鑱旂郴鐢佃瘽',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘閫�璐у崟';
+
+-- ============ 琛細mes_wm_return_vendor_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_vendor_detail`;
+CREATE TABLE `mes_wm_return_vendor_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '琛� ID',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `batch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘閫�璐у崟鏄庣粏';
+
+-- ============ 琛細mes_wm_return_vendor_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_return_vendor_line`;
+CREATE TABLE `mes_wm_return_vendor_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `return_id` bigint DEFAULT NULL COMMENT '閫�璐у崟 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閲囪喘閫�璐у崟琛�';
+
+-- ============ 琛細mes_wm_sales_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_sales_notice`;
+CREATE TABLE `mes_wm_sales_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍗曞彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍚嶇О',
+  `client_id` bigint DEFAULT NULL COMMENT '瀹㈡埛 ID',
+  `sale_order_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗旾D',
+  `sale_order_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閿�鍞鍗曞彿',
+  `sales_date` datetime DEFAULT NULL COMMENT '閿�鍞棩鏈�',
+  `recipient_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣浜�',
+  `recipient_telephone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鏂瑰紡',
+  `recipient_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣鍦板潃',
+  `delivery_date` datetime DEFAULT NULL COMMENT '棰勮鍙戣揣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `out_status` int DEFAULT '0' COMMENT '鍑哄簱鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞彂璐ч�氱煡鍗�';
+
+-- ============ 琛細mes_wm_sales_notice_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_sales_notice_line`;
+CREATE TABLE `mes_wm_sales_notice_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `notice_id` bigint DEFAULT NULL COMMENT '閿�鍞彂璐ч�氱煡鍗� ID',
+  `sale_order_item_id` bigint DEFAULT NULL COMMENT '閿�鍞鍗曟槑缁咺D',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规ID',
+  `batch_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏁伴噺',
+  `out_count` decimal(24,6) DEFAULT '0.000000' COMMENT '宸插嚭搴撴暟閲�',
+  `oqc_check_flag` tinyint(1) DEFAULT '0' COMMENT '鏄惁妫�楠�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 閿�鍞彂璐ч�氱煡鍗曡';
+
+-- ============ 琛細mes_wm_sn锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_sn`;
+CREATE TABLE `mes_wm_sn` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `uuid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规UUID',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴忓垪鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `work_order_id` bigint DEFAULT NULL COMMENT '鐢熶骇宸ュ崟缂栧彿',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴忓垪鍙�';
+
+-- ============ 琛細mes_wm_stock_reserve锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_reserve`;
+CREATE TABLE `mes_wm_stock_reserve` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `material_stock_id` bigint NOT NULL COMMENT '搴撳瓨璁板綍ID',
+  `biz_type` int NOT NULL COMMENT '涓氬姟绫诲瀷锛�1閿�鍞嚭搴� 2鐢熶骇棰嗘枡 3澶栧崗鍙戞枡 4鏉傞」鍑哄簱 5杞Щ璋冩嫧锛�',
+  `biz_id` bigint NOT NULL COMMENT '涓氬姟鍗曟嵁ID',
+  `biz_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '涓氬姟鍗曞彿',
+  `biz_line_id` bigint DEFAULT NULL COMMENT '涓氬姟鍗曟嵁琛孖D',
+  `item_id` bigint NOT NULL COMMENT '鐗╂枡ID',
+  `quantity` decimal(24,6) NOT NULL COMMENT '鍗犵敤鏁伴噺',
+  `status` int NOT NULL DEFAULT '1' COMMENT '鐘舵�侊紙1鍗犵敤涓� 2宸查噴鏀� 3宸插嚭搴擄級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_material_stock` (`material_stock_id`) USING BTREE,
+  KEY `idx_biz` (`biz_type`,`biz_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳瓨鍗犵敤璁板綍';
+
+-- ============ 琛細mes_wm_stock_taking_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_plan`;
+CREATE TABLE `mes_wm_stock_taking_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣璁″垝缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣璁″垝鍚嶇О',
+  `plan_date` datetime DEFAULT NULL COMMENT '鐩樼偣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `type` int DEFAULT NULL COMMENT '鐩樼偣绫诲瀷',
+  `start_time` datetime DEFAULT NULL COMMENT '璁″垝寮�濮嬫椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '璁″垝缁撴潫鏃堕棿',
+  `blind_flag` bit(1) DEFAULT NULL COMMENT '鏄惁鐩茬洏',
+  `frozen` bit(1) DEFAULT NULL COMMENT '鏄惁鍐荤粨搴撳瓨',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣璁″垝';
+
+-- ============ 琛細mes_wm_stock_taking_plan_param锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_plan_param`;
+CREATE TABLE `mes_wm_stock_taking_plan_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `plan_id` bigint DEFAULT NULL COMMENT '鐩樼偣璁″垝 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `item_type_id` bigint DEFAULT NULL COMMENT '鐗╂枡鍒嗙被 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `type` int DEFAULT NULL COMMENT '鍙傛暟鍊肩被鍨�',
+  `value_id` bigint DEFAULT NULL COMMENT '鍙傛暟鍊肩紪鍙�',
+  `value_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鍊肩紪鐮�',
+  `value_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鍊煎悕绉�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣璁″垝鍙傛暟';
+
+-- ============ 琛細mes_wm_stock_taking_task锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_task`;
+CREATE TABLE `mes_wm_stock_taking_task` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣浠诲姟缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩樼偣浠诲姟鍚嶇О',
+  `plan_id` bigint DEFAULT NULL COMMENT '鐩樼偣璁″垝 ID',
+  `task_date` datetime DEFAULT NULL COMMENT '鐩樼偣鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣浠诲姟';
+
+-- ============ 琛細mes_wm_stock_taking_task_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_task_line`;
+CREATE TABLE `mes_wm_stock_taking_task_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐩樼偣浠诲姟 ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '璐﹂潰鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣浠诲姟琛�';
+
+-- ============ 琛細mes_wm_stock_taking_task_result锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_stock_taking_task_result`;
+CREATE TABLE `mes_wm_stock_taking_task_result` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint DEFAULT NULL COMMENT '鐩樼偣浠诲姟 ID',
+  `line_id` bigint DEFAULT NULL COMMENT '鐩樼偣浠诲姟琛� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨 ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '瀹炵洏鏁伴噺',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 鐩樼偣浠诲姟缁撴灉';
+
+-- ============ 琛細mes_wm_transaction锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transaction`;
+CREATE TABLE `mes_wm_transaction` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `type` int DEFAULT NULL COMMENT '浜嬪姟绫诲瀷',
+  `biz_type` int DEFAULT NULL COMMENT '涓氬姟绫诲瀷',
+  `biz_id` bigint DEFAULT NULL COMMENT '鏉ユ簮涓氬姟涓诲崟 ID',
+  `biz_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉ユ簮涓氬姟鍗曞彿',
+  `biz_line_id` bigint DEFAULT NULL COMMENT '鏉ユ簮涓氬姟琛� ID',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍 ID',
+  `related_transaction_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勪簨鍔� ID',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡 ID',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '鏈鍙樺姩鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规 ID',
+  `batch_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵规鍙�',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱 ID',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯 ID',
+  `area_id` bigint DEFAULT NULL COMMENT '搴撲綅 ID',
+  `transaction_time` datetime DEFAULT NULL COMMENT '浜嬪姟鍙戠敓鏃堕棿',
+  `erp_time` datetime DEFAULT NULL COMMENT 'ERP 璐︽湡',
+  `receipt_time` datetime DEFAULT NULL COMMENT '鍏ュ簱鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳瓨浜嬪姟娴佹按';
+
+-- ============ 琛細mes_wm_transfer锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transfer`;
+CREATE TABLE `mes_wm_transfer` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞Щ鍗曠紪鍙�',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杞Щ鍗曞悕绉�',
+  `type` int DEFAULT NULL COMMENT '杞Щ鍗曠被鍨�',
+  `delivery_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁閰嶉��',
+  `recipient_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏀惰揣浜�',
+  `recipient_telephone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鏂瑰紡',
+  `destination_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐩殑鍦�',
+  `carrier` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵胯繍鍟�',
+  `shipping_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '杩愯緭鍗曞彿',
+  `confirm_flag` bit(1) DEFAULT b'0' COMMENT '鏄惁宸茬‘璁�',
+  `transfer_date` datetime DEFAULT NULL COMMENT '杞Щ鏃ユ湡',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹炰緥ID',
+  `process_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴佺▼瀹氫箟Key',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞Щ鍗�';
+
+-- ============ 琛細mes_wm_transfer_detail锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transfer_detail`;
+CREATE TABLE `mes_wm_transfer_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `line_id` bigint DEFAULT NULL COMMENT '杞Щ鍗曡缂栧彿',
+  `transfer_id` bigint DEFAULT NULL COMMENT '杞Щ鍗曠紪鍙�',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '涓婃灦鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `to_warehouse_id` bigint DEFAULT NULL COMMENT '绉诲叆浠撳簱缂栧彿',
+  `to_location_id` bigint DEFAULT NULL COMMENT '绉诲叆搴撳尯缂栧彿',
+  `to_area_id` bigint DEFAULT NULL COMMENT '绉诲叆搴撲綅缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞Щ鍗曟槑缁�';
+
+-- ============ 琛細mes_wm_transfer_line锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_transfer_line`;
+CREATE TABLE `mes_wm_transfer_line` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `transfer_id` bigint DEFAULT NULL COMMENT '杞Щ鍗曠紪鍙�',
+  `material_stock_id` bigint DEFAULT NULL COMMENT '搴撳瓨璁板綍缂栧彿',
+  `item_id` bigint DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+  `quantity` decimal(24,6) DEFAULT NULL COMMENT '杞Щ鏁伴噺',
+  `batch_id` bigint DEFAULT NULL COMMENT '鎵规缂栧彿',
+  `from_warehouse_id` bigint DEFAULT NULL COMMENT '绉诲嚭浠撳簱缂栧彿',
+  `from_location_id` bigint DEFAULT NULL COMMENT '绉诲嚭搴撳尯缂栧彿',
+  `from_area_id` bigint DEFAULT NULL COMMENT '绉诲嚭搴撲綅缂栧彿',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 杞Щ鍗曡';
+
+-- ============ 琛細mes_wm_warehouse锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_warehouse`;
+CREATE TABLE `mes_wm_warehouse` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱鍚嶇О',
+  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠撳簱鍦板潃',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н',
+  `charge_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜虹敤鎴风紪鍙�',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 浠撳簱';
+
+-- ============ 琛細mes_wm_warehouse_area锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_warehouse_area`;
+CREATE TABLE `mes_wm_warehouse_area` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撲綅缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撲綅鍚嶇О',
+  `location_id` bigint DEFAULT NULL COMMENT '搴撳尯缂栧彿',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н',
+  `max_load` decimal(24,6) DEFAULT NULL COMMENT '鏈�澶ц浇閲�',
+  `position_x` int DEFAULT NULL COMMENT '浣嶇疆 X',
+  `position_y` int DEFAULT NULL COMMENT '浣嶇疆 Y',
+  `position_z` int DEFAULT NULL COMMENT '浣嶇疆 Z',
+  `status` int DEFAULT NULL COMMENT '鐘舵��',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `allow_item_mixing` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏佽鐗╂枡娣锋斁',
+  `allow_batch_mixing` bit(1) DEFAULT b'0' COMMENT '鏄惁鍏佽鎵规娣锋斁',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撲綅';
+
+-- ============ 琛細mes_wm_warehouse_location锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `mes_wm_warehouse_location`;
+CREATE TABLE `mes_wm_warehouse_location` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撳尯缂栫爜',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴撳尯鍚嶇О',
+  `warehouse_id` bigint DEFAULT NULL COMMENT '浠撳簱缂栧彿',
+  `area` decimal(24,6) DEFAULT NULL COMMENT '闈㈢Н',
+  `frozen` bit(1) DEFAULT b'0' COMMENT '鏄惁鍐荤粨',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES 搴撳尯';
+
+-- ============ 琛細oa_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `oa_notice`;
+CREATE TABLE `oa_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍏憡鏍囬',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍏憡鍐呭',
+  `type` tinyint NOT NULL COMMENT '鍏憡绫诲瀷锛�1閫氱煡 2鍏憡锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鑽夌 1宸插彂甯� 2宸叉挙閿�锛�',
+  `send_scope` tinyint NOT NULL COMMENT '鍙戦�佽寖鍥达紙1閫氱煡鎵�鏈変汉 2鎸囧畾浜猴級',
+  `is_top` tinyint NOT NULL DEFAULT '0' COMMENT '鏄惁缃《锛�0鍚� 1鏄級',
+  `publish_user_id` bigint DEFAULT NULL COMMENT '鍙戝竷浜篒D',
+  `publish_time` datetime DEFAULT NULL COMMENT '鍙戝竷鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_type` (`type`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_publish_time` (`publish_time`) USING BTREE,
+  KEY `idx_is_top` (`is_top`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA閫氱煡鍏憡琛�';
+
+-- ============ 琛細oa_notice_read锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `oa_notice_read`;
+CREATE TABLE `oa_notice_read` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `notice_id` bigint NOT NULL COMMENT '閫氱煡鍏憡ID',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛ID',
+  `read_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '闃呰鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_notice_user` (`notice_id`,`user_id`) USING BTREE,
+  KEY `idx_notice_id` (`notice_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA閫氱煡鍏憡宸茶璁板綍琛�';
+
+-- ============ 琛細oa_notice_user锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `oa_notice_user`;
+CREATE TABLE `oa_notice_user` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+  `notice_id` bigint NOT NULL COMMENT '閫氱煡鍏憡ID',
+  `user_id` bigint NOT NULL COMMENT '鎸囧畾鐢ㄦ埛ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_notice_id` (`notice_id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA閫氱煡鍏憡鎸囧畾浜哄叧鑱旇〃';
+
+-- ============ 琛細qc_report_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_template`;
+CREATE TABLE `qc_report_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '妯℃澘缂栧彿',
+  `template_code` varchar(64) NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_name` varchar(128) NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `industry` varchar(32) DEFAULT NULL COMMENT '鎵�灞炶涓�',
+  `report_type` varchar(32) DEFAULT NULL COMMENT '鎶ュ憡绫诲瀷',
+  `page_size` varchar(16) NOT NULL DEFAULT 'A4' COMMENT '绾稿紶灏哄锛欰3/A4/A5/Letter',
+  `orientation` varchar(16) NOT NULL DEFAULT 'portrait' COMMENT '绾稿紶鏂瑰悜锛歱ortrait/landscape',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '妯℃澘鐘舵�侊細0鍚敤 1鍋滅敤',
+  `current_version` varchar(32) DEFAULT NULL COMMENT '褰撳墠鐗堟湰鍙�',
+  `description` varchar(512) DEFAULT NULL COMMENT '妯℃澘鎻忚堪',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_template_code` (`template_code`) USING BTREE,
+  KEY `idx_template_name` (`template_name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鎶ュ憡妯℃澘';
+
+-- ============ 琛細qc_report_template_version锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_template_version`;
+CREATE TABLE `qc_report_template_version` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐗堟湰缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `version` varchar(32) NOT NULL COMMENT '鐗堟湰鍙凤紝濡� v1.0',
+  `schema_json` longtext COMMENT '妯℃澘 Schema锛圙rapesJS JSON + 缁勪欢 + 鏁版嵁婧� + 缁戝畾 + 瑙勫垯 + 鏍峰紡锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐗堟湰鐘舵�侊細0鑽夌 1宸插彂甯� 2宸插仠鐢�',
+  `description` varchar(512) DEFAULT NULL COMMENT '鐗堟湰璇存槑',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_template_version` (`template_id`,`version`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-妯℃澘鐗堟湰';
+
+-- ============ 琛細qc_report_instance锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_instance`;
+CREATE TABLE `qc_report_instance` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀹炰緥缂栧彿',
+  `report_no` varchar(64) NOT NULL COMMENT '鎶ュ憡缂栧彿锛堜笟鍔″敮涓�锛�',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `template_version` varchar(32) NOT NULL COMMENT '鐢熸垚鏃朵娇鐢ㄧ殑妯℃澘鐗堟湰鍙�',
+  `business_id` varchar(64) DEFAULT NULL COMMENT '涓氬姟鍗曟嵁缂栧彿',
+  `business_type` varchar(64) DEFAULT NULL COMMENT '涓氬姟鍗曟嵁绫诲瀷锛屽 mes_qc_iqc',
+  `data_snapshot` longtext COMMENT '鏁版嵁蹇収锛氭覆鏌撴椂鐨勫畬鏁存暟鎹笂涓嬫枃',
+  `render_html` longtext COMMENT '娓叉煋浜х墿 HTML',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鎶ュ憡鐘舵�侊細0鐢熸垚涓� 1鐢熸垚鎴愬姛 2鐢熸垚澶辫触',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_report_no` (`report_no`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE,
+  KEY `idx_business` (`business_type`,`business_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鎶ュ憡瀹炰緥';
+
+-- ============ 琛細qc_report_data_source锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_data_source`;
+CREATE TABLE `qc_report_data_source` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `source_key` varchar(64) NOT NULL COMMENT '鏁版嵁婧愭爣璇嗭紝濡� inspectionItems',
+  `source_type` varchar(32) NOT NULL COMMENT '鏁版嵁婧愮被鍨嬶細BUILTIN/SQL/API',
+  `config` longtext COMMENT '鏁版嵁婧愰厤缃� JSON',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鏁版嵁婧�';
+
+-- ============ 琛細qc_report_rule锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_rule`;
+CREATE TABLE `qc_report_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `rule_name` varchar(128) NOT NULL COMMENT '瑙勫垯鍚嶇О',
+  `target_path` varchar(256) NOT NULL COMMENT '浣滅敤鐩爣璺緞锛屽 inspectionItems[].actualValue',
+  `expression` varchar(1024) NOT NULL COMMENT '鍒ゅ畾琛ㄨ揪寮忥紝濡� actualValue >= lowerLimit AND actualValue <= upperLimit',
+  `pass_value` varchar(64) DEFAULT 'PASS' COMMENT '鍚堟牸鏃惰緭鍑哄��',
+  `fail_value` varchar(64) DEFAULT 'FAIL' COMMENT '涓嶅悎鏍兼椂杈撳嚭鍊�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_template_id` (`template_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-鍒ゅ畾瑙勫垯';
+
+-- ============ 琛細qc_report_render_record锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qc_report_render_record`;
+CREATE TABLE `qc_report_render_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `report_id` bigint DEFAULT NULL COMMENT '鎶ュ憡瀹炰緥缂栧彿',
+  `template_id` bigint DEFAULT NULL COMMENT '妯℃澘缂栧彿',
+  `business_id` varchar(64) DEFAULT NULL COMMENT '涓氬姟鍗曟嵁缂栧彿',
+  `render_start_time` datetime DEFAULT NULL COMMENT '娓叉煋寮�濮嬫椂闂�',
+  `render_end_time` datetime DEFAULT NULL COMMENT '娓叉煋缁撴潫鏃堕棿',
+  `render_duration` bigint DEFAULT NULL COMMENT '娓叉煋鑰楁椂锛堟绉掞級',
+  `pdf_duration` bigint DEFAULT NULL COMMENT 'PDF 鐢熸垚鑰楁椂锛堟绉掞級',
+  `browser_status` varchar(64) DEFAULT NULL COMMENT '娴忚鍣ㄧ姸鎬�',
+  `error_stack` longtext COMMENT '寮傚父鍫嗘爤',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_report_id` (`report_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏅鸿兘璐ㄦ鎶ュ憡-娓叉煋璁板綍';
+
+-- ============ 琛細qrtz_blob_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_blob_triggers`;
+CREATE TABLE `qrtz_blob_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `BLOB_DATA` blob,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_calendars锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_calendars`;
+CREATE TABLE `qrtz_calendars` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CALENDAR` blob NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_cron_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_cron_triggers`;
+CREATE TABLE `qrtz_cron_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_fired_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_fired_triggers`;
+CREATE TABLE `qrtz_fired_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `FIRED_TIME` bigint NOT NULL,
+  `SCHED_TIME` bigint NOT NULL,
+  `PRIORITY` int NOT NULL,
+  `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`) USING BTREE,
+  KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`) USING BTREE,
+  KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`) USING BTREE,
+  KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_job_details锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_job_details`;
+CREATE TABLE `qrtz_job_details` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_DATA` blob,
+  PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`) USING BTREE,
+  KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_locks锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_locks`;
+CREATE TABLE `qrtz_locks` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_paused_trigger_grps锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
+CREATE TABLE `qrtz_paused_trigger_grps` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_scheduler_state锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_scheduler_state`;
+CREATE TABLE `qrtz_scheduler_state` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `LAST_CHECKIN_TIME` bigint NOT NULL,
+  `CHECKIN_INTERVAL` bigint NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_simple_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_simple_triggers`;
+CREATE TABLE `qrtz_simple_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `REPEAT_COUNT` bigint NOT NULL,
+  `REPEAT_INTERVAL` bigint NOT NULL,
+  `TIMES_TRIGGERED` bigint NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_simprop_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
+CREATE TABLE `qrtz_simprop_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `INT_PROP_1` int DEFAULT NULL,
+  `INT_PROP_2` int DEFAULT NULL,
+  `LONG_PROP_1` bigint DEFAULT NULL,
+  `LONG_PROP_2` bigint DEFAULT NULL,
+  `DEC_PROP_1` decimal(13,4) DEFAULT NULL,
+  `DEC_PROP_2` decimal(13,4) DEFAULT NULL,
+  `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細qrtz_triggers锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `qrtz_triggers`;
+CREATE TABLE `qrtz_triggers` (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `NEXT_FIRE_TIME` bigint DEFAULT NULL,
+  `PREV_FIRE_TIME` bigint DEFAULT NULL,
+  `PRIORITY` int DEFAULT NULL,
+  `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `START_TIME` bigint NOT NULL,
+  `END_TIME` bigint DEFAULT NULL,
+  `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+  `MISFIRE_INSTR` smallint DEFAULT NULL,
+  `JOB_DATA` blob,
+  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`) USING BTREE,
+  KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`) USING BTREE,
+  KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`) USING BTREE,
+  KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`) USING BTREE,
+  CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+-- ============ 琛細srm_bid_award锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_bid_award`;
+CREATE TABLE `srm_bid_award` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瀹氭爣ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '涓爣渚涘簲鍟咺D',
+  `bid_id` bigint NOT NULL COMMENT '涓爣鎶曟爣ID',
+  `award_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓爣閫氱煡涔︾紪鍙�',
+  `award_status` int NOT NULL DEFAULT '0' COMMENT '瀹氭爣鐘舵��',
+  `award_amount` decimal(24,6) NOT NULL COMMENT '涓爣閲戦',
+  `award_time` datetime DEFAULT NULL COMMENT '瀹氭爣鏃堕棿',
+  `notice_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓爣閫氱煡涔︽枃浠跺悕',
+  `notice_file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '涓爣閫氱煡涔︽枃浠跺湴鍧�',
+  `purchase_order_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐢熸垚鐨勯噰璐鍗旾D',
+  `purchase_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐢熸垚鐨勯噰璐鍗曞彿',
+  `approver_id` bigint DEFAULT NULL COMMENT '瀹℃壒浜篒D',
+  `approval_time` datetime DEFAULT NULL COMMENT '瀹℃壒鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_award_no` (`award_no`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_purchase_order_id` (`purchase_order_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀹氭爣璁板綍琛�';
+
+-- ============ 琛細srm_bid_evaluation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_bid_evaluation`;
+CREATE TABLE `srm_bid_evaluation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇勬爣ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `bid_id` bigint NOT NULL COMMENT '鎶曟爣璁板綍ID',
+  `price_score` decimal(5,2) DEFAULT NULL COMMENT '浠锋牸璇勫垎',
+  `tech_score` decimal(5,2) DEFAULT NULL COMMENT '鎶�鏈瘎鍒�',
+  `delivery_score` decimal(5,2) DEFAULT NULL COMMENT '浜や粯璇勫垎',
+  `service_score` decimal(5,2) DEFAULT NULL COMMENT '鏈嶅姟璇勫垎',
+  `composite_score` decimal(5,2) DEFAULT NULL COMMENT '缁煎悎璇勫垎',
+  `ranking` int DEFAULT NULL COMMENT '鎺掑悕',
+  `evaluator_id` bigint DEFAULT NULL COMMENT '璇勬爣浜篒D',
+  `evaluator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勬爣浜哄鍚�',
+  `evaluation_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勬爣鎰忚',
+  `evaluation_time` datetime DEFAULT NULL COMMENT '璇勬爣鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_bid_id` (`bid_id`) USING BTREE,
+  KEY `idx_ranking` (`ranking`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='璇勬爣璁板綍琛�';
+
+-- ============ 琛細srm_bid_open锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_bid_open`;
+CREATE TABLE `srm_bid_open` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '寮�鏍嘔D',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `open_time` datetime NOT NULL COMMENT '寮�鏍囨椂闂�',
+  `open_person_id` bigint DEFAULT NULL COMMENT '寮�鏍囦汉鍛業D',
+  `open_person_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鏍囦汉鍛樺鍚�',
+  `open_record` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '寮�鏍囪褰�',
+  `attachment_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勪欢鍚嶇О',
+  `attachment_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勪欢鍦板潃',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='寮�鏍囪褰曡〃';
+
+-- ============ 琛細srm_delivery_plan锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_delivery_plan`;
+CREATE TABLE `srm_delivery_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '浜よ揣璁″垝ID',
+  `collaboration_id` bigint NOT NULL COMMENT '閲囪喘鍗忓悓ID',
+  `order_id` bigint NOT NULL COMMENT '閲囪喘璁㈠崟ID',
+  `order_item_id` bigint DEFAULT NULL COMMENT '閲囪喘璁㈠崟椤笽D',
+  `product_id` bigint DEFAULT NULL COMMENT '鐗╂枡ID',
+  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡鍚嶇О',
+  `planned_quantity` decimal(24,6) NOT NULL COMMENT '璁″垝鏁伴噺',
+  `actual_quantity` decimal(24,6) DEFAULT NULL COMMENT '瀹為檯鏁伴噺',
+  `planned_delivery_date` date NOT NULL COMMENT '璁″垝浜よ揣鏃ユ湡',
+  `actual_delivery_date` date DEFAULT NULL COMMENT '瀹為檯浜よ揣鏃ユ湡',
+  `delivery_status` int NOT NULL DEFAULT '0' COMMENT '浜よ揣鐘舵��',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_collaboration_id` (`collaboration_id`) USING BTREE,
+  KEY `idx_order_id` (`order_id`) USING BTREE,
+  KEY `idx_delivery_status` (`delivery_status`) USING BTREE,
+  KEY `idx_planned_delivery_date` (`planned_delivery_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='浜よ揣璁″垝琛�';
+
+-- ============ 琛細srm_purchase_collaboration锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_purchase_collaboration`;
+CREATE TABLE `srm_purchase_collaboration` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍗忓悓ID',
+  `order_id` bigint NOT NULL COMMENT '閲囪喘璁㈠崟ID',
+  `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閲囪喘璁㈠崟鍙�',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `collaboration_status` int NOT NULL DEFAULT '0' COMMENT '鍗忓悓鐘舵��',
+  `confirm_time` datetime DEFAULT NULL COMMENT '纭鏃堕棿',
+  `confirm_user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '纭浜�',
+  `reject_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎷掔粷鍘熷洜',
+  `planned_delivery_time` datetime DEFAULT NULL COMMENT '棰勮浜や粯鏃堕棿',
+  `actual_delivery_time` datetime DEFAULT NULL COMMENT '瀹為檯浜や粯鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_order_id` (`order_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_collaboration_status` (`collaboration_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閲囪喘鍗忓悓璁板綍琛�';
+
+-- ============ 琛細srm_supplier锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier`;
+CREATE TABLE `srm_supplier` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '渚涘簲鍟咺D',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗙紪鐮�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `short_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙畝绉�',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙被鍨�',
+  `company_nature` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼佷笟鎬ц川',
+  `registered_capital` decimal(24,6) DEFAULT NULL COMMENT '娉ㄥ唽璧勯噾锛堜竾鍏冿級',
+  `business_license_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '钀ヤ笟鎵х収缂栧彿',
+  `tax_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绋庡彿',
+  `legal_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娉曚汉浠h〃',
+  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏徃鍦板潃',
+  `website` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏徃缃戝潃',
+  `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `contact_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴烽摱琛�',
+  `bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閾惰璐﹀彿',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵�侊紙0鍚敤 1绂佺敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `erp_supplier_id` bigint DEFAULT NULL COMMENT '鍏宠仈ERP渚涘簲鍟咺D',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_code` (`code`) USING BTREE,
+  KEY `idx_name` (`name`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_erp_supplier_id` (`erp_supplier_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗕富琛�';
+
+-- ============ 琛細srm_supplier_apply锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_apply`;
+CREATE TABLE `srm_supplier_apply` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢宠ID',
+  `apply_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠缂栧彿',
+  `supplier_id` bigint DEFAULT NULL COMMENT '渚涘簲鍟咺D',
+  `erp_supplier_id` bigint DEFAULT NULL COMMENT '鍏宠仈ERP渚涘簲鍟咺D',
+  `supplier_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渚涘簲鍟嗗悕绉�',
+  `supplier_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渚涘簲鍟嗙被鍨�',
+  `company_nature` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浼佷笟鎬ц川',
+  `registered_capital` decimal(24,6) DEFAULT NULL COMMENT '娉ㄥ唽璧勯噾锛堜竾鍏冿級',
+  `business_license_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '钀ヤ笟鎵х収缂栧彿',
+  `tax_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绋庡彿',
+  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏徃鍦板潃',
+  `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寮�鎴烽摱琛�',
+  `bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閾惰璐﹀彿',
+  `contact_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `contact_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `apply_user_id` bigint DEFAULT NULL COMMENT '鐢宠浜篒D',
+  `apply_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢宠浜哄鍚�',
+  `apply_time` datetime DEFAULT NULL COMMENT '鐢宠鏃堕棿',
+  `apply_status` int NOT NULL DEFAULT '0' COMMENT '瀹℃牳鐘舵��',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'BPM 娴佺▼瀹炰緥缂栧彿',
+  `purchase_reviewer_id` bigint DEFAULT NULL COMMENT '閲囪喘瀹℃牳浜篒D',
+  `purchase_review_time` datetime DEFAULT NULL COMMENT '閲囪喘瀹℃牳鏃堕棿',
+  `purchase_review_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘瀹℃牳鎰忚',
+  `quality_reviewer_id` bigint DEFAULT NULL COMMENT '璐ㄩ噺瀹℃牳浜篒D',
+  `quality_review_time` datetime DEFAULT NULL COMMENT '璐ㄩ噺瀹℃牳鏃堕棿',
+  `quality_review_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐ㄩ噺瀹℃牳鎰忚',
+  `finance_reviewer_id` bigint DEFAULT NULL COMMENT '璐㈠姟瀹℃牳浜篒D',
+  `finance_review_time` datetime DEFAULT NULL COMMENT '璐㈠姟瀹℃牳鏃堕棿',
+  `finance_review_opinion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璐㈠姟瀹℃牳鎰忚',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_apply_no` (`apply_no`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_apply_status` (`apply_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗗噯鍏ョ敵璇疯〃';
+
+-- ============ 琛細srm_supplier_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_category`;
+CREATE TABLE `srm_supplier_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏宠仈ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `category_id` bigint NOT NULL COMMENT '鍒嗙被ID',
+  `category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍒嗙被鍚嶇О锛堝啑浣欙級',
+  `deleted` int NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎 0=鍚� 1=鏄�',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_category_id` (`category_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗗垎绫诲叧鑱旇〃';
+
+-- ============ 琛細srm_supplier_certificate锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_certificate`;
+CREATE TABLE `srm_supplier_certificate` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇佷功ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `certificate_type` int NOT NULL COMMENT '璇佷功绫诲瀷',
+  `certificate_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇佷功鍚嶇О',
+  `certificate_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇佷功缂栧彿',
+  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鍚嶇О',
+  `file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鍦板潃',
+  `issuing_authority` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '棰佸彂鏈烘瀯',
+  `valid_start_date` date DEFAULT NULL COMMENT '鏈夋晥寮�濮嬫棩鏈�',
+  `valid_end_date` date DEFAULT NULL COMMENT '鏈夋晥缁撴潫鏃ユ湡',
+  `status` int NOT NULL DEFAULT '0' COMMENT '鐘舵��',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_certificate_type` (`certificate_type`) USING BTREE,
+  KEY `idx_valid_end_date` (`valid_end_date`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗚祫璐ㄨ瘉涔﹁〃';
+
+-- ============ 琛細srm_supplier_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_contact`;
+CREATE TABLE `srm_supplier_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑱旂郴浜篒D',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑱旂郴浜哄鍚�',
+  `position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱屼綅',
+  `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎵嬫満鍙风爜',
+  `telephone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍥哄畾鐢佃瘽',
+  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `wechat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '寰俊鍙�',
+  `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁榛樿鑱旂郴浜�',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗚仈绯讳汉琛�';
+
+-- ============ 琛細srm_supplier_evaluation锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_evaluation`;
+CREATE TABLE `srm_supplier_evaluation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璇勪环ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `evaluation_period` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇勪环鍛ㄦ湡',
+  `quality_score` decimal(5,2) DEFAULT NULL COMMENT '璐ㄩ噺璇勫垎',
+  `quality_pass_rate` decimal(5,2) DEFAULT NULL COMMENT '鏉ユ枡鍚堟牸鐜�',
+  `quality_defect_count` int DEFAULT '0' COMMENT '涓嶈壇娆℃暟',
+  `delivery_score` decimal(5,2) DEFAULT NULL COMMENT '浜や粯璇勫垎',
+  `delivery_on_time_rate` decimal(5,2) DEFAULT NULL COMMENT '鍑嗘椂浜や粯鐜�',
+  `delivery_delay_count` int DEFAULT '0' COMMENT '寤惰繜娆℃暟',
+  `price_score` decimal(5,2) DEFAULT NULL COMMENT '浠锋牸璇勫垎',
+  `service_score` decimal(5,2) DEFAULT NULL COMMENT '鏈嶅姟璇勫垎',
+  `service_response_speed` int DEFAULT NULL COMMENT '鍝嶅簲閫熷害璇勫垎',
+  `composite_score` decimal(5,2) DEFAULT NULL COMMENT '缁煎悎璇勫垎',
+  `evaluation_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璇勪环绛夌骇',
+  `evaluator_id` bigint DEFAULT NULL COMMENT '璇勪环浜篒D',
+  `evaluation_time` datetime DEFAULT NULL COMMENT '璇勪环鏃堕棿',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_evaluation_period` (`evaluation_period`) USING BTREE,
+  KEY `idx_composite_score` (`composite_score`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗙哗鏁堣瘎浠疯〃';
+
+-- ============ 琛細srm_supplier_quote锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_supplier_quote`;
+CREATE TABLE `srm_supplier_quote` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎶ヤ环ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `bid_id` bigint DEFAULT NULL COMMENT '鎶曟爣璁板綍ID',
+  `tender_material_id` bigint NOT NULL COMMENT '鎷涙爣鐗╂枡ID',
+  `quote_price` decimal(24,6) NOT NULL COMMENT '鎶ヤ环浠锋牸',
+  `tax_rate` decimal(5,2) DEFAULT NULL COMMENT '绋庣巼(%)',
+  `delivery_cycle` int DEFAULT NULL COMMENT '浜よ揣鍛ㄦ湡锛堝ぉ锛�',
+  `payment_terms` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠樻鏉′欢',
+  `warranty_period` int DEFAULT NULL COMMENT '璐ㄤ繚鏈燂紙鏈堬級',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_bid_id` (`bid_id`) USING BTREE,
+  KEY `idx_tender_material_id` (`tender_material_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='渚涘簲鍟嗘姤浠锋槑缁嗚〃';
+
+-- ============ 琛細srm_tender_bid锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_bid`;
+CREATE TABLE `srm_tender_bid` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎶曟爣ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `supplier_id` bigint NOT NULL COMMENT '渚涘簲鍟咺D',
+  `bid_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎶曟爣缂栧彿',
+  `bid_status` int NOT NULL DEFAULT '0' COMMENT '鎶曟爣鐘舵��',
+  `bid_time` datetime DEFAULT NULL COMMENT '鎶曟爣鏃堕棿',
+  `bid_total_amount` decimal(24,6) DEFAULT NULL COMMENT '鎶曟爣鎬婚噾棰�',
+  `bid_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶曟爣鏂囦欢鍚嶇О',
+  `bid_file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶曟爣鏂囦欢鍦板潃',
+  `withdraw_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎾ゆ爣鍘熷洜',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_bid_no` (`bid_no`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_supplier_id` (`supplier_id`) USING BTREE,
+  KEY `idx_bid_status` (`bid_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎶曟爣璁板綍琛�';
+
+-- ============ 琛細srm_tender_config锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_config`;
+CREATE TABLE `srm_tender_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閰嶇疆ID',
+  `default_bidding_mode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FULL' COMMENT '榛樿鎷涙姇鏍囨ā寮�: FULL-瀹屾暣鐗�, SIMPLE-绠�鏄撶増',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='SRM鎷涙姇鏍囬厤缃〃';
+
+-- ============ 琛細srm_tender_material锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_material`;
+CREATE TABLE `srm_tender_material` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐗╂枡鏄庣粏ID',
+  `tender_project_id` bigint NOT NULL COMMENT '鎷涙爣椤圭洰ID',
+  `product_id` bigint DEFAULT NULL COMMENT '鐗╂枡ID',
+  `product_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
+  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐗╂枡鍚嶇О',
+  `product_spec` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+  `quantity` decimal(24,6) NOT NULL COMMENT '鏁伴噺',
+  `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍗曚綅',
+  `tech_requirement` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎶�鏈姹�',
+  `estimated_price` decimal(24,6) DEFAULT NULL COMMENT '棰勪及鍗曚环',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鎺掑簭',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_tender_project_id` (`tender_project_id`) USING BTREE,
+  KEY `idx_product_code` (`product_code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎷涙爣鐗╂枡鏄庣粏琛�';
+
+-- ============ 琛細srm_tender_project锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `srm_tender_project`;
+CREATE TABLE `srm_tender_project` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鎷涙爣椤圭洰ID',
+  `tender_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎷涙爣缂栧彿',
+  `tender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎷涙爣鍚嶇О',
+  `tender_type` int NOT NULL COMMENT '鎷涙爣绫诲瀷',
+  `purchase_org` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閲囪喘缁勭粐',
+  `project_leader_id` bigint DEFAULT NULL COMMENT '椤圭洰璐熻矗浜篒D',
+  `project_leader_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '椤圭洰璐熻矗浜哄鍚�',
+  `tender_status` int NOT NULL DEFAULT '0' COMMENT '鎷涙爣鐘舵��',
+  `bidding_mode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FULL' COMMENT '鎷涙姇鏍囨ā寮�: FULL-瀹屾暣鐗�, SIMPLE-绠�鏄撶増',
+  `budget_amount` decimal(24,6) DEFAULT NULL COMMENT '棰勭畻閲戦',
+  `start_time` datetime DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
+  `end_time` datetime DEFAULT NULL COMMENT '鎴鏃堕棿',
+  `bid_open_time` datetime DEFAULT NULL COMMENT '棰勮寮�鏍囨椂闂�',
+  `tender_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎷涙爣璇存槑',
+  `qualification_requirements` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '璧勮川瑕佹眰',
+  `purchase_request_id` bigint DEFAULT NULL COMMENT '鍏宠仈閲囪喘鐢宠ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_tender_no` (`tender_no`) USING BTREE,
+  KEY `idx_tender_status` (`tender_status`) USING BTREE,
+  KEY `idx_purchase_request_id` (`purchase_request_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎷涙爣椤圭洰琛�';
+
+-- ============ 琛細storage_attachment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `storage_attachment`;
+CREATE TABLE `storage_attachment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bigint NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎锛�0姝e父锛�',
+  `record_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍏宠仈鐨勮褰曠被鍨嬶紙瀵瑰簲RecordTypeEnum鐨則ype鍊硷級',
+  `record_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勮褰旾D',
+  `application` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鐢ㄩ�旓紙瀵瑰簲ApplicationTypeEnum鐨則ype鍊硷級锛屽 file/avatar/image',
+  `storage_blob_id` bigint DEFAULT NULL COMMENT '鍏宠仈storage_blob璁板綍ID',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_record` (`record_type`,`record_id`) USING BTREE COMMENT '涓氬姟璁板綍鏌ヨ绱㈠紩',
+  KEY `idx_blob_id` (`storage_blob_id`) USING BTREE COMMENT '鏂囦欢鍏宠仈绱㈠紩'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢鍏宠仈琛�';
+
+-- ============ 琛細storage_blob锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `storage_blob`;
+CREATE TABLE `storage_blob` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `resource_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '璧勬簮鍞竴鏍囪瘑锛堝叕鍏辫闂甼ey锛�',
+  `content_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '璧勬簮绫诲瀷锛屽 image/jpeg',
+  `original_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鍘熸枃浠跺悕',
+  `uid_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '鍞竴鏂囦欢鍚嶏紙UUID_鍘熸枃浠跺悕锛�',
+  `byte_size` bigint DEFAULT NULL COMMENT '鏂囦欢澶у皬锛堝瓧鑺傦級',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '鏂囦欢鐩稿璺緞锛堝 2026/0430锛�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_uid_filename` (`uid_filename`) USING BTREE COMMENT '鍞竴鏂囦欢鍚嶇储寮�',
+  KEY `idx_resource_key` (`resource_key`) USING BTREE COMMENT '鍏叡璁块棶key绱㈠紩'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細system_dept锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_dept`;
+CREATE TABLE `system_dept` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '閮ㄩ棬id',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閮ㄩ棬鍚嶇О',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖堕儴闂╥d',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鏄剧ず椤哄簭',
+  `leader_user_id` bigint DEFAULT NULL COMMENT '璐熻矗浜�',
+  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '閭',
+  `status` tinyint NOT NULL COMMENT '閮ㄩ棬鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=129 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閮ㄩ棬琛�';
+
+-- ============ 琛細system_login_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_login_log`;
+CREATE TABLE `system_login_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '璁块棶ID',
+  `log_type` bigint NOT NULL COMMENT '鏃ュ織绫诲瀷',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鐢ㄦ埛璐﹀彿',
+  `result` tinyint NOT NULL COMMENT '鐧婚檰缁撴灉',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娴忚鍣� UA',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_username` (`username`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绯荤粺璁块棶璁板綍';
+
+-- ============ 琛細system_mail_account锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_mail_account`;
+CREATE TABLE `system_mail_account` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭',
+  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鍚�',
+  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀵嗙爜',
+  `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SMTP 鏈嶅姟鍣ㄥ煙鍚�',
+  `port` int NOT NULL COMMENT 'SMTP 鏈嶅姟鍣ㄧ鍙�',
+  `ssl_enable` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁寮�鍚� SSL',
+  `starttls_enable` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁寮�鍚� STARTTLS',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閭璐﹀彿琛�';
+
+-- ============ 琛細system_mail_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_mail_log`;
+CREATE TABLE `system_mail_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `to_mails` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎺ユ敹閭鍦板潃',
+  `cc_mails` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎶勯�侀偖绠卞湴鍧�',
+  `bcc_mails` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '瀵嗛�侀偖绠卞湴鍧�',
+  `account_id` bigint NOT NULL COMMENT '閭璐﹀彿缂栧彿',
+  `from_mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙戦�侀偖绠卞湴鍧�',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `template_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '妯$増鍙戦�佷汉鍚嶇О',
+  `template_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭欢鏍囬',
+  `template_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭欢鍐呭',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '閭欢鍙傛暟',
+  `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戦�佺姸鎬�',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `send_message_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戦�佽繑鍥炵殑娑堟伅 ID',
+  `send_exception` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戦�佸紓甯�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閭欢鏃ュ織琛�';
+
+-- ============ 琛細system_mail_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_mail_template`;
+CREATE TABLE `system_mail_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `account_id` bigint NOT NULL COMMENT '鍙戦�佺殑閭璐﹀彿缂栧彿',
+  `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙戦�佷汉鍚嶇О',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鏍囬',
+  `content` varchar(10240) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍐呭',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鏁扮粍',
+  `status` tinyint NOT NULL COMMENT '寮�鍚姸鎬�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閭欢妯$増琛�';
+
+-- ============ 琛細system_menu锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_menu`;
+CREATE TABLE `system_menu` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑿滃崟ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鑿滃崟鍚嶇О',
+  `permission` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鏉冮檺鏍囪瘑',
+  `type` tinyint NOT NULL COMMENT '鑿滃崟绫诲瀷',
+  `sort` int NOT NULL DEFAULT '0' COMMENT '鏄剧ず椤哄簭',
+  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '鐖惰彍鍗旾D',
+  `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璺敱鍦板潃',
+  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '#' COMMENT '鑿滃崟鍥炬爣',
+  `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁勪欢璺緞',
+  `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缁勪欢鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鑿滃崟鐘舵��',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鍙',
+  `keep_alive` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁缂撳瓨',
+  `always_show` bit(1) NOT NULL DEFAULT b'1' COMMENT '鏄惁鎬绘槸鏄剧ず',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1075310 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鑿滃崟鏉冮檺琛�';
+
+-- ============ 琛細system_notice锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_notice`;
+CREATE TABLE `system_notice` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鍏憡ID',
+  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏憡鏍囬',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍏憡鍐呭',
+  `type` tinyint NOT NULL COMMENT '鍏憡绫诲瀷锛�1閫氱煡 2鍏憡锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鍏憡鐘舵�侊紙0姝e父 1鍏抽棴锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='閫氱煡鍏憡琛�';
+
+-- ============ 琛細system_notify_message锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_notify_message`;
+CREATE TABLE `system_notify_message` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢ㄦ埛ID',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛id',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `template_id` bigint NOT NULL COMMENT '妯$増缂栧彿',
+  `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_nickname` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍙戦�佷汉鍚嶇О',
+  `template_content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍐呭',
+  `template_type` int NOT NULL COMMENT '妯$増绫诲瀷',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍙傛暟',
+  `read_status` bit(1) NOT NULL COMMENT '鏄惁宸茶',
+  `read_time` datetime DEFAULT NULL COMMENT '闃呰鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id_user_type_read_status` (`user_id`,`user_type`,`read_status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绔欏唴淇℃秷鎭〃';
+
+-- ============ 琛細system_notify_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_notify_template`;
+CREATE TABLE `system_notify_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増缂栫爜',
+  `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙戦�佷汉鍚嶇О',
+  `content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯$増鍐呭',
+  `type` tinyint NOT NULL COMMENT '绫诲瀷',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙傛暟鏁扮粍',
+  `status` tinyint NOT NULL COMMENT '鐘舵��',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绔欏唴淇℃ā鏉胯〃';
+
+-- ============ 琛細system_oauth2_access_token锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_access_token`;
+CREATE TABLE `system_oauth2_access_token` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `user_info` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛淇℃伅',
+  `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璁块棶浠ょ墝',
+  `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒锋柊浠ょ墝',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺堟潈鑼冨洿',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_access_token` (`access_token`) USING BTREE,
+  KEY `idx_refresh_token` (`refresh_token`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 璁块棶浠ょ墝';
+
+-- ============ 琛細system_oauth2_approve锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_approve`;
+CREATE TABLE `system_oauth2_approve` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scope` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鎺堟潈鑼冨洿',
+  `approved` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鎺ュ彈',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id_user_type_client_id` (`user_id`,`user_type`,`client_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 鎵瑰噯琛�';
+
+-- ============ 琛細system_oauth2_client锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_client`;
+CREATE TABLE `system_oauth2_client` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔瘑閽�',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍥炬爣',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '搴旂敤鎻忚堪',
+  `status` tinyint NOT NULL COMMENT '鐘舵��',
+  `access_token_validity_seconds` int NOT NULL COMMENT '璁块棶浠ょ墝鐨勬湁鏁堟湡',
+  `refresh_token_validity_seconds` int NOT NULL COMMENT '鍒锋柊浠ょ墝鐨勬湁鏁堟湡',
+  `redirect_uris` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙噸瀹氬悜鐨� URI 鍦板潃',
+  `authorized_grant_types` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎺堟潈绫诲瀷',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺堟潈鑼冨洿',
+  `auto_approve_scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鑷姩閫氳繃鐨勬巿鏉冭寖鍥�',
+  `authorities` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏉冮檺',
+  `resource_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璧勬簮',
+  `additional_information` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '闄勫姞淇℃伅',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_client_id` (`client_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 瀹㈡埛绔〃';
+
+-- ============ 琛細system_oauth2_code锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_code`;
+CREATE TABLE `system_oauth2_code` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎺堟潈鐮�',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎺堟潈鑼冨洿',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `redirect_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍙噸瀹氬悜鐨� URI 鍦板潃',
+  `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_code` (`code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 鎺堟潈鐮佽〃';
+
+-- ============ 琛細system_oauth2_refresh_token锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_oauth2_refresh_token`;
+CREATE TABLE `system_oauth2_refresh_token` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒锋柊浠ょ墝',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鎺堟潈鑼冨洿',
+  `expires_time` datetime NOT NULL COMMENT '杩囨湡鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_refresh_token` (`refresh_token`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='OAuth2 鍒锋柊浠ょ墝';
+
+-- ============ 琛細system_operate_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_operate_log`;
+CREATE TABLE `system_operate_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鏃ュ織涓婚敭',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '閾捐矾杩借釜缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛绫诲瀷',
+  `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎿嶄綔妯″潡绫诲瀷',
+  `sub_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎿嶄綔鍚�',
+  `biz_id` bigint NOT NULL COMMENT '鎿嶄綔鏁版嵁妯″潡缂栧彿',
+  `action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鎿嶄綔鍐呭',
+  `success` bit(1) NOT NULL DEFAULT b'1' COMMENT '鎿嶄綔缁撴灉',
+  `extra` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鎷撳睍瀛楁',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璇锋眰鏂规硶鍚�',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璇锋眰鍦板潃',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢ㄦ埛 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '娴忚鍣� UA',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_create_time` (`create_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎿嶄綔鏃ュ織璁板綍 V2 鐗堟湰';
+
+-- ============ 琛細system_post锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_post`;
+CREATE TABLE `system_post` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '宀椾綅ID',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '宀椾綅缂栫爜',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '宀椾綅鍚嶇О',
+  `sort` int NOT NULL COMMENT '鏄剧ず椤哄簭',
+  `status` tinyint NOT NULL COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='宀椾綅淇℃伅琛�';
+
+-- ============ 琛細system_role锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_role`;
+CREATE TABLE `system_role` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '瑙掕壊ID',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瑙掕壊鍚嶇О',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瑙掕壊鏉冮檺瀛楃涓�',
+  `sort` int NOT NULL COMMENT '鏄剧ず椤哄簭',
+  `data_scope` tinyint NOT NULL DEFAULT '1' COMMENT '鏁版嵁鑼冨洿锛�1锛氬叏閮ㄦ暟鎹潈闄� 2锛氳嚜瀹氭暟鎹潈闄� 3锛氭湰閮ㄩ棬鏁版嵁鏉冮檺 4锛氭湰閮ㄩ棬鍙婁互涓嬫暟鎹潈闄愶級',
+  `data_scope_dept_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鏁版嵁鑼冨洿(鎸囧畾閮ㄩ棬鏁扮粍)',
+  `status` tinyint NOT NULL COMMENT '瑙掕壊鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `type` tinyint NOT NULL COMMENT '瑙掕壊绫诲瀷',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=167 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瑙掕壊淇℃伅琛�';
+
+-- ============ 琛細system_role_menu锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_role_menu`;
+CREATE TABLE `system_role_menu` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑷缂栧彿',
+  `role_id` bigint NOT NULL COMMENT '瑙掕壊ID',
+  `menu_id` bigint NOT NULL COMMENT '鑿滃崟ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_role_id` (`role_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8766 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瑙掕壊鍜岃彍鍗曞叧鑱旇〃';
+
+-- ============ 琛細system_sms_channel锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_channel`;
+CREATE TABLE `system_sms_channel` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `signature` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊绛惧悕',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '娓犻亾缂栫爜',
+  `status` tinyint NOT NULL COMMENT '寮�鍚姸鎬�',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `api_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊 API 鐨勮处鍙�',
+  `api_secret` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鐨勭閽�',
+  `callback_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊鍙戦�佸洖璋� URL',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐭俊娓犻亾';
+
+-- ============ 琛細system_sms_code锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_code`;
+CREATE TABLE `system_sms_code` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎵嬫満鍙�',
+  `code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '楠岃瘉鐮�',
+  `create_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍒涘缓 IP',
+  `scene` tinyint NOT NULL COMMENT '鍙戦�佸満鏅�',
+  `today_index` tinyint NOT NULL COMMENT '浠婃棩鍙戦�佺殑绗嚑鏉�',
+  `used` tinyint NOT NULL COMMENT '鏄惁浣跨敤',
+  `used_time` datetime DEFAULT NULL COMMENT '浣跨敤鏃堕棿',
+  `used_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浣跨敤 IP',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_mobile` (`mobile`) USING BTREE COMMENT '鎵嬫満鍙�'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鎵嬫満楠岃瘉鐮�';
+
+-- ============ 琛細system_sms_log锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_log`;
+CREATE TABLE `system_sms_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `channel_id` bigint NOT NULL COMMENT '鐭俊娓犻亾缂栧彿',
+  `channel_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊娓犻亾缂栫爜',
+  `template_id` bigint NOT NULL COMMENT '妯℃澘缂栧彿',
+  `template_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `template_type` tinyint NOT NULL COMMENT '鐭俊绫诲瀷',
+  `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊鍐呭',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊鍙傛暟',
+  `api_template_id` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊 API 鐨勬ā鏉跨紪鍙�',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎵嬫満鍙�',
+  `user_id` bigint DEFAULT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戦�佺姸鎬�',
+  `send_time` datetime DEFAULT NULL COMMENT '鍙戦�佹椂闂�',
+  `api_send_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佺粨鏋滅殑缂栫爜',
+  `api_send_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佸け璐ョ殑鎻愮ず',
+  `api_request_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佽繑鍥炵殑鍞竴璇锋眰 ID',
+  `api_serial_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐭俊 API 鍙戦�佽繑鍥炵殑搴忓彿',
+  `receive_status` tinyint NOT NULL DEFAULT '0' COMMENT '鎺ユ敹鐘舵��',
+  `receive_time` datetime DEFAULT NULL COMMENT '鎺ユ敹鏃堕棿',
+  `api_receive_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API 鎺ユ敹缁撴灉鐨勭紪鐮�',
+  `api_receive_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'API 鎺ユ敹缁撴灉鐨勮鏄�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐭俊鏃ュ織';
+
+-- ============ 琛細system_sms_template锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_sms_template`;
+CREATE TABLE `system_sms_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `type` tinyint NOT NULL COMMENT '妯℃澘绫诲瀷',
+  `status` tinyint NOT NULL COMMENT '寮�鍚姸鎬�',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘缂栫爜',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍚嶇О',
+  `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '妯℃澘鍐呭',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍙傛暟鏁扮粍',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `api_template_id` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊 API 鐨勬ā鏉跨紪鍙�',
+  `channel_id` bigint NOT NULL COMMENT '鐭俊娓犻亾缂栧彿',
+  `channel_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐭俊娓犻亾缂栫爜',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐭俊妯℃澘';
+
+-- ============ 琛細system_social_client锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_social_client`;
+CREATE TABLE `system_social_client` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搴旂敤鍚�',
+  `social_type` tinyint NOT NULL COMMENT '绀句氦骞冲彴鐨勭被鍨�',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔紪鍙�',
+  `client_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '瀹㈡埛绔瘑閽�',
+  `agent_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '浠g悊缂栧彿',
+  `public_key` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'publicKey 鍏挜',
+  `status` tinyint NOT NULL COMMENT '鐘舵��',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀句氦瀹㈡埛绔〃';
+
+-- ============ 琛細system_social_user锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_social_user`;
+CREATE TABLE `system_social_user` (
+  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭(鑷绛栫暐)',
+  `type` tinyint NOT NULL COMMENT '绀句氦骞冲彴鐨勭被鍨�',
+  `openid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绀句氦 openid',
+  `token` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绀句氦 token',
+  `raw_token_info` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍘熷 Token 鏁版嵁锛屼竴鑸槸 JSON 鏍煎紡',
+  `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鏄电О',
+  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鐢ㄦ埛澶村儚',
+  `raw_user_info` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍘熷鐢ㄦ埛鏁版嵁锛屼竴鑸槸 JSON 鏍煎紡',
+  `code` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鏈�鍚庝竴娆$殑璁よ瘉 code',
+  `state` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏈�鍚庝竴娆$殑璁よ瘉 state',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_type_openid` (`type`,`openid`) USING BTREE,
+  KEY `idx_type_code_state` (`type`,`code`,`state`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀句氦鐢ㄦ埛琛�';
+
+-- ============ 琛細system_social_user_bind锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_social_user_bind`;
+CREATE TABLE `system_social_user_bind` (
+  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭(鑷绛栫暐)',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛缂栧彿',
+  `user_type` tinyint NOT NULL COMMENT '鐢ㄦ埛绫诲瀷',
+  `social_type` tinyint NOT NULL COMMENT '绀句氦骞冲彴鐨勭被鍨�',
+  `social_user_id` bigint NOT NULL COMMENT '绀句氦鐢ㄦ埛鐨勭紪鍙�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_type_social_user_id` (`user_type`,`social_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀句氦缁戝畾琛�';
+
+-- ============ 琛細system_storage_attachment锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_storage_attachment`;
+CREATE TABLE `system_storage_attachment` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `record_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍏宠仈鐨勮褰曠被鍨�',
+  `record_id` bigint DEFAULT NULL COMMENT '鍏宠仈鐨勮褰旾D',
+  `application` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鐢ㄩ��',
+  `storage_blob_id` bigint DEFAULT NULL COMMENT '鍏宠仈storage_blob璁板綍ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_record` (`record_type`,`record_id`) USING BTREE,
+  KEY `idx_blob_id` (`storage_blob_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢鍏宠仈琛�';
+
+-- ============ 琛細system_storage_blob锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_storage_blob`;
+CREATE TABLE `system_storage_blob` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+  `resource_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璧勬簮鍞竴鏍囪瘑锛堝叕鍏辫闂甼ey锛�',
+  `content_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '璧勬簮绫诲瀷锛屽 image/jpeg',
+  `original_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鍘熸枃浠跺悕',
+  `uid_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鍞竴鏂囦欢鍚嶏紙UUID_鍘熸枃浠跺悕锛�',
+  `byte_size` bigint DEFAULT NULL COMMENT '鏂囦欢澶у皬锛堝瓧鑺傦級',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '鏂囦欢鐩稿璺緞锛堝 2026/0430锛�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_uid_filename` (`uid_filename`) USING BTREE,
+  KEY `idx_resource_key` (`resource_key`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鏂囦欢琛�';
+
+-- ============ 琛細system_user_post锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_user_post`;
+CREATE TABLE `system_user_post` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `user_id` bigint NOT NULL DEFAULT '0' COMMENT '鐢ㄦ埛ID',
+  `post_id` bigint NOT NULL DEFAULT '0' COMMENT '宀椾綅ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=202 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛宀椾綅琛�';
+
+-- ============ 琛細system_user_role锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_user_role`;
+CREATE TABLE `system_user_role` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鑷缂栧彿',
+  `user_id` bigint NOT NULL COMMENT '鐢ㄦ埛ID',
+  `role_id` bigint NOT NULL COMMENT '瑙掕壊ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=131 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛鍜岃鑹插叧鑱旇〃';
+
+-- ============ 琛細system_users锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `system_users`;
+CREATE TABLE `system_users` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '鐢ㄦ埛ID',
+  `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛璐﹀彿',
+  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '瀵嗙爜',
+  `nickname` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢ㄦ埛鏄电О',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶囨敞',
+  `dept_id` bigint DEFAULT NULL COMMENT '閮ㄩ棬ID',
+  `post_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宀椾綅缂栧彿鏁扮粍',
+  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐢ㄦ埛閭',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎵嬫満鍙风爜',
+  `sex` tinyint DEFAULT '0' COMMENT '鐢ㄦ埛鎬у埆',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶村儚鍦板潃',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '甯愬彿鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+  `login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏈�鍚庣櫥褰旾P',
+  `login_date` datetime DEFAULT NULL COMMENT '鏈�鍚庣櫥褰曟椂闂�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_username` (`username`) USING BTREE,
+  KEY `idx_mobile` (`mobile`) USING BTREE,
+  KEY `idx_email` (`email`) USING BTREE,
+  KEY `idx_dept_id` (`dept_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=297 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='鐢ㄦ埛淇℃伅琛�';
+
+-- ============ 琛細ums_application锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ums_application`;
+CREATE TABLE `ums_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠缂栧彿',
+  `member_type` tinyint NOT NULL COMMENT '浼氬憳绫诲瀷锛�1-涓汉 2-鍗曚綅',
+  `applicant_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠浜哄鍚嶏紙涓汉锛夋垨鍗曚綅鍚嶇О锛堝崟浣嶏級',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '閭',
+  `legal_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '娉曞畾浠h〃浜猴紙鍗曚綅涓撴湁锛�',
+  `organization_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁熶竴绀句細淇$敤浠g爜锛堝崟浣嶄笓鏈夛級',
+  `research_direction` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐮旂┒鏂瑰悜',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅锛堜釜浜轰笓鏈夛級',
+  `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О锛堜釜浜轰笓鏈夛級',
+  `member_grade` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐢宠绛夌骇',
+  `region_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍦板尯缂栫爜',
+  `industry` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '琛屼笟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸查�氳繃 35-宸查┏鍥�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BPM 娴佺▼瀹炰緥 ID',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_member_type` (`member_type`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='浼氬憳-鍏ヤ細鐢宠鍗�';
+
+-- ============ 琛細ums_member锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `ums_member`;
+CREATE TABLE `ums_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浼氬憳缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鍏宠仈绯荤粺鐢ㄦ埛 ID',
+  `application_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鐢宠鍗� ID',
+  `member_type` tinyint NOT NULL COMMENT '浼氬憳绫诲瀷锛�1-涓汉 2-鍗曚綅',
+  `member_grade` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浼氬憳绛夌骇',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '濮撳悕锛堜釜浜猴級鎴栧崟浣嶅悕绉帮紙鍗曚綅锛�',
+  `contact_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴浜猴紙鍗曚綅鐢級',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '閭',
+  `legal_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '娉曞畾浠h〃浜猴紙鍗曚綅涓撴湁锛�',
+  `organization_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁熶竴绀句細淇$敤浠g爜',
+  `research_direction` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐮旂┒鏂瑰悜',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅锛堜釜浜轰笓鏈夛級',
+  `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О锛堜釜浜轰笓鏈夛級',
+  `unit_intro` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍗曚綅绠�浠嬶紙鍗曚綅涓撴湁锛�',
+  `region_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍦板尯缂栫爜',
+  `industry` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '琛屼笟',
+  `join_date` date DEFAULT NULL COMMENT '鍏ヤ細鏃ユ湡',
+  `expire_date` date DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細1-姝e父 0-鏆傚仠',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_region_code` (`region_code`) USING BTREE,
+  KEY `idx_industry` (`industry`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='浼氬憳';
+
+-- ============ 琛細yudao_demo01_contact锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo01_contact`;
+CREATE TABLE `yudao_demo01_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `sex` tinyint(1) NOT NULL COMMENT '鎬у埆',
+  `birthday` datetime NOT NULL COMMENT '鍑虹敓骞�',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绠�浠�',
+  `avatar` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '澶村儚',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀轰緥鑱旂郴浜鸿〃';
+
+-- ============ 琛細yudao_demo02_category锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo02_category`;
+CREATE TABLE `yudao_demo02_category` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `parent_id` bigint NOT NULL COMMENT '鐖剁骇缂栧彿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='绀轰緥鍒嗙被琛�';
+
+-- ============ 琛細yudao_demo03_course锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo03_course`;
+CREATE TABLE `yudao_demo03_course` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `student_id` bigint NOT NULL COMMENT '瀛︾敓缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `score` tinyint NOT NULL COMMENT '鍒嗘暟',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛︾敓璇剧▼琛�';
+
+-- ============ 琛細yudao_demo03_grade锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo03_grade`;
+CREATE TABLE `yudao_demo03_grade` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `student_id` bigint NOT NULL COMMENT '瀛︾敓缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `teacher` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐝富浠�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛︾敓鐝骇琛�';
+
+-- ============ 琛細yudao_demo03_student锛堜粎 DDL锛屾棤鏁版嵁锛� ============
+DROP TABLE IF EXISTS `yudao_demo03_student`;
+CREATE TABLE `yudao_demo03_student` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '鍚嶅瓧',
+  `sex` tinyint NOT NULL COMMENT '鎬у埆',
+  `birthday` datetime NOT NULL COMMENT '鍑虹敓鏃ユ湡',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绠�浠�',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '绉熸埛缂栧彿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='瀛︾敓琛�';
+
+SET FOREIGN_KEY_CHECKS = 1;
+SET SQL_MODE = @OLD_SQL_MODE;
+
+
+-- =======================================================================
+-- 闃舵浜岋細琛ュ韬唤/鑿滃崟/OAuth2锛堝師 test_identity_seed_20260904.sql 鍚堝苟浜庢锛�
+-- =======================================================================
+
+-- =======================================================================
+-- 鏂囦欢锛歵est_identity_seed_20260904.sql锛坅dmin 鍗曡处鍙疯韩浠�/鏉冮檺琛ュ锛�
+-- 鐢ㄩ�旓細缁欑洰鏍囩┖搴撹ˉ榻�"admin 璐﹀彿 + 鑿滃崟 + 鏉冮檺"鏁版嵁锛屾暟鎹簮锛歮om-jssm
+--       锛�0918 鐗堟暟鎹簮涓� ruoyi-vue-pro锛�0928 鐗堣捣鏀逛负 mom-jssm锛�
+-- 鍓嶆彁锛氱洰鏍囧簱宸叉墽琛岃繃鏈枃浠�"闃舵涓�"锛堝叏琛ㄧ粨鏋勫凡瀛樺湪锛屽瓧鍏稿凡瀵硷級锛�
+--       鏈剼鏈』鍦ㄢ�滃悓鏃跺瓨鍦� mom-jssm 涓庣洰鏍囧簱鈥濈殑鍚屼竴 MySQL 瀹炰緥涓婃墽琛屻��
+-- 瑕嗙洊锛堜粎 admin 涓�涓处鍙凤紝鍙婂叾鎷ユ湁鐨勮鑹蹭笌鏉冮檺锛夛細
+--   鈶� system_menu            鍏ㄩ儴鏈夋晥鑿滃崟锛堣秴绠$敱浠g爜杩斿洖鍏ㄩ儴鑿滃崟锛屾櫘閫氳鑹蹭緷璧� role_menu锛�
+--                             鍚� 0928 鐗堟柊澧炵殑 1075417~1075425 鎶ラ攢鍗曡彍鍗曘��1075490~1075503 浼氬憳绠$悊鑿滃崟
+--                             锛堥樁娈典竴涓嶅惈鑿滃崟锛屽彧鍦ㄦ澶勬潵锛�
+--   鈶� system_dept / post     鏉ユ簮搴撴湭鍒犻櫎鐨勬湁鏁堥儴闂�/宀椾綅琛岋紙admin 鐨� dept_id 钀藉湪鍏朵腑锛�
+--   鈶� system_role            浠� admin 鎷ユ湁鐨勮鑹诧紙super_admin銆乧ommon銆�001銆乧rm_admin 绛夛級
+--   鈶� system_users           浠� admin 璐﹀彿锛堝瘑鐮佸搱甯屼竴骞舵嫹璐濓紝鐧诲綍瀵嗙爜鍚屾潵婧愬簱锛�
+--   鈶� system_user_role       admin 涓庡叾瑙掕壊鐨勫叧鑱�
+--   鈶� system_role_menu       admin 鍚勮鑹茬殑鑿滃崟鍏宠仈锛堜繚璇佹櫘閫氳鑹叉潈闄愭甯革級
+--   鈶� system_oauth2_client   榛樿 OAuth2 瀹㈡埛绔紙鐧诲綍/鍒锋柊浠ょ墝蹇呴渶锛宑lient_id='default'锛�
+-- 瀛楀吀 system_dict_type / system_dict_data锛氶樁娈典竴宸插鍏ワ紙0918 鍩虹嚎 241/1157锛�
+--       0928 鐗堟柊澧� finance 2 绫诲瀷 + 10 鏉°�乽ms 6 绫诲瀷 + 25 鏉★紝鐜颁负 249/1192锛夛紝姝ゅ涓嶉噸澶嶅鐞嗐��
+-- 骞傜瓑锛氭瘡寮犺〃鍏� DELETE 鍐� INSERT锛屽彲閲嶅鎵ц锛涗笉褰卞搷鍏跺畠琛ㄣ��
+-- 鈿� 浠呬綔鐢ㄤ簬涓婅堪鍒楀嚭鐨勮〃锛屼笉浼氭竻绌哄叾瀹冭〃鏁版嵁銆�
+-- 鈿� 鏉ユ簮搴� system_dept / system_post / system_users / system_role 鍚蒋鍒犻櫎琛岋紝浠呮嫹璐濇湭鍒犻櫎(deleted=0)鐨勩��
+-- =======================================================================
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
+
+-- 鈶� 鑿滃崟锛堝叏閲忔湁鏁堬級
+DELETE FROM `system_menu`;
+INSERT INTO `system_menu`
+SELECT * FROM `mom-jssm`.`system_menu`
+WHERE `deleted` = b'0';
+
+-- 鈶燽 OAuth2 瀹㈡埛绔紙鐧诲綍蹇呴渶锛宑lient_id='default'锛�
+DELETE FROM `system_oauth2_client`;
+INSERT INTO `system_oauth2_client`
+SELECT * FROM `mom-jssm`.`system_oauth2_client`
+WHERE `deleted` = b'0';
+
+-- 鈶� 閮ㄩ棬 / 宀椾綅锛堜粎鏈垹闄ょ殑鏈夋晥琛岋級
+DELETE FROM `system_dept`;
+INSERT INTO `system_dept`
+SELECT * FROM `mom-jssm`.`system_dept`
+WHERE `deleted` = b'0';
+
+DELETE FROM `system_post`;
+INSERT INTO `system_post`
+SELECT * FROM `mom-jssm`.`system_post`
+WHERE `deleted` = b'0';
+
+-- 鈶� admin 鎷ユ湁鐨勮鑹�
+DELETE FROM `system_role`;
+INSERT INTO `system_role`
+SELECT * FROM `mom-jssm`.`system_role`
+WHERE `deleted` = b'0'
+  AND `id` IN (SELECT `role_id` FROM `mom-jssm`.`system_user_role`
+               WHERE `user_id` = (SELECT `id` FROM `mom-jssm`.`system_users` WHERE `username` = 'admin' LIMIT 1));
+
+-- 鈶� admin 璐﹀彿
+DELETE FROM `system_users`;
+INSERT INTO `system_users`
+SELECT * FROM `mom-jssm`.`system_users`
+WHERE `username` = 'admin' AND `deleted` = b'0';
+
+-- 鈶� 鐢ㄦ埛-瑙掕壊鍏宠仈锛坅dmin锛�
+DELETE FROM `system_user_role`;
+INSERT INTO `system_user_role`
+SELECT * FROM `mom-jssm`.`system_user_role`
+WHERE `user_id` = (SELECT `id` FROM `system_users` WHERE `username` = 'admin' LIMIT 1);
+
+-- 鈶� 瑙掕壊-鑿滃崟鍏宠仈锛坅dmin 鍚勮鑹诧紝淇濊瘉鏅�氳鑹叉潈闄愭甯革級
+DELETE FROM `system_role_menu`;
+-- 鈿� 涓嶈兘鍐欐垚 INNER JOIN `system_user_role`锛氭潵婧愬簱 system_user_role 鐨勪富閿彧鏄� id锛�
+--   鍚屼竴 (user_id, role_id) 鍙互瀛樺湪澶氳锛堝疄娴� admin 鐨� role_id=1 灏辨湁 2 琛岋級锛�
+--   JOIN 浼氭妸 system_role_menu 鐨勬瘡涓�琛屾斁澶ф垚 N 琛岋紝鎾� system_role_menu 涓婚敭瀵艰嚧鏁磋剼鏈腑鏂��
+--   鐢� IN锛堝瓙鏌ヨ澶╃劧鍘婚噸锛夎〃杈俱�岃繖浜涜鑹茬殑鑿滃崟銆嶏紝涓庤鏁版棤鍏炽��
+INSERT INTO `system_role_menu`
+SELECT rm.* FROM `mom-jssm`.`system_role_menu` rm
+WHERE rm.`role_id` IN (SELECT `role_id` FROM `system_user_role`);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/docs/sql/finance_reimbursement_approve.bpmn b/docs/sql/finance_reimbursement_approve.bpmn
new file mode 100644
index 0000000..b822a71
--- /dev/null
+++ b/docs/sql/finance_reimbursement_approve.bpmn
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
+  <process id="finance_reimbursement_approve" name="鎶ラ攢瀹℃壒" isExecutable="true">
+    <startEvent id="StartEvent" name="寮�濮�"></startEvent>
+    <userTask id="StartUserNode" name="鍙戣捣浜�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[36]]></flowable:candidateStrategy>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎻愪氦" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="false" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="false" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="false" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="false" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="false" id="6"></flowable:buttonsSetting>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[2]]></flowable:assignStartUserHandlerType>
+      </extensionElements>
+    </userTask>
+    <userTask id="Activity_finance_review" name="璐㈠姟瀹℃牳">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <userTask id="Activity_finance_approve" name="璐㈠姟涓荤瀹℃壒">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <endEvent id="EndEvent" name="缁撴潫"></endEvent>
+    <sequenceFlow id="sequenceFlow-1" sourceRef="StartEvent" targetRef="StartUserNode"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-2" sourceRef="StartUserNode" targetRef="Activity_finance_review"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-3" sourceRef="Activity_finance_review" targetRef="Activity_finance_approve"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-4" sourceRef="Activity_finance_approve" targetRef="EndEvent"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_finance_reimbursement_approve">
+    <bpmndi:BPMNPlane bpmnElement="finance_reimbursement_approve" id="BPMNPlane_finance_reimbursement_approve">
+      <bpmndi:BPMNShape bpmnElement="StartEvent" id="BPMNShape_StartEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="0.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="StartUserNode" id="BPMNShape_StartUserNode">
+        <omgdc:Bounds height="60.0" width="100.0" x="80.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_finance_review" id="BPMNShape_Activity_finance_review">
+        <omgdc:Bounds height="60.0" width="100.0" x="230.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_finance_approve" id="BPMNShape_Activity_finance_approve">
+        <omgdc:Bounds height="60.0" width="100.0" x="380.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="EndEvent" id="BPMNShape_EndEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="530.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-1" id="BPMNEdge_sequenceFlow-1">
+        <omgdi:waypoint x="30.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="80.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-2" id="BPMNEdge_sequenceFlow-2">
+        <omgdi:waypoint x="180.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="230.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-3" id="BPMNEdge_sequenceFlow-3">
+        <omgdi:waypoint x="330.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="380.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-4" id="BPMNEdge_sequenceFlow-4">
+        <omgdi:waypoint x="480.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="530.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
diff --git a/docs/sql/research_fund_finance_migration.sql b/docs/sql/research_fund_finance_migration.sql
new file mode 100644
index 0000000..7f9ac51
--- /dev/null
+++ b/docs/sql/research_fund_finance_migration.sql
@@ -0,0 +1,73 @@
+-- =====================================================
+-- 璇鹃缁忚垂鎷ㄤ粯瀵规帴璐㈠姟鎶ラ攢 - 寮�鍙戝簱澧為噺鑴氭湰
+--
+-- 鑳屾櫙锛氭瘡鏉� `research_fund_record` 鎷ㄦ璁板綍鏀逛负鑷姩鐢熸垚骞舵彁浜や竴寮犺储鍔℃姤閿�鍗�
+--       锛坒inance_reimbursement锛�1:1銆侀噾棰濅竴鑷达級锛岃储鍔″鎵圭粨鏋滅敱
+--       ResearchFundStatusListener 鍥炲啓鏈彴璐︾姸鎬併��
+--
+-- 鎵ц搴擄細鑴氭湰鐢� DATABASE() 鍒ゅ畾锛屼笌搴撳悕鏃犲叧锛屾晠鍙浠绘剰鐩爣搴撴墽琛屻��
+--         2026-09-29 宸插湪 application-local.yaml 鎸囧悜鐨� mom-jssm 鎵ц骞舵牳瀵归�氳繃锛�
+--         鍏朵綑鐜锛坉ev/test 鎸囧悜 ruoyi-vue-pro锛寉zfx/wtxc/zsjc/chdl/kyzn 鎸囧悜鍚勮嚜 mom-* 搴擄級鎸夐渶鍙﹁窇銆�
+--         鏈剼鏈箓绛夛紝鍙噸澶嶆墽琛屻��
+-- 鍐呭锛氣憼 research_fund_record 鏂板 4 鍒� + status 娉ㄩ噴鏇存柊 + 绱㈠紩
+--       鈶� system_dict_data 鐨� research_fund_status 琛ャ�屾姤閿�瀹℃壒涓�/宸查┏鍥炪��
+-- 娉ㄦ剰锛氭湰鑴氭湰涓嶅惈 tenant_id锛堥」鐩笉浣跨敤澶氱鎴锋ā寮忥級銆�
+-- =====================================================
+
+-- ----- 1. research_fund_record 鏂板 4 鍒楋紙ALTER TABLE ADD COLUMN 涓嶆敮鎸� IF NOT EXISTS锛岀敤 information_schema 瀹堝崼锛� -----
+
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'research_fund_record' AND column_name = 'reimbursement_id');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE research_fund_record ADD COLUMN reimbursement_id bigint DEFAULT NULL COMMENT ''鍏宠仈璐㈠姟鎶ラ攢鍗� ID锛坒inance_reimbursement.id锛�'' AFTER status',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'research_fund_record' AND column_name = 'reimbursement_no');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE research_fund_record ADD COLUMN reimbursement_no varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '''' COMMENT ''鍏宠仈璐㈠姟鎶ラ攢鍗曞彿'' AFTER reimbursement_id',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'research_fund_record' AND column_name = 'reject_reason');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE research_fund_record ADD COLUMN reject_reason varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '''' COMMENT ''鎶ラ攢椹冲洖鍘熷洜锛圔PM 鍥炲啓锛�'' AFTER reimbursement_no',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @c = (SELECT COUNT(*) FROM information_schema.columns
+          WHERE table_schema = DATABASE() AND table_name = 'research_fund_record' AND column_name = 'reject_time');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE research_fund_record ADD COLUMN reject_time datetime DEFAULT NULL COMMENT ''鎶ラ攢椹冲洖鏃堕棿'' AFTER reject_reason',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- status 鍒楁敞閲婃洿鏂颁负銆�0-寰呮嫧浠� 15-鎶ラ攢瀹℃壒涓� 20-宸叉嫧浠� 30-宸查┏鍥炪��
+ALTER TABLE research_fund_record
+  MODIFY COLUMN status tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呮嫧浠� 15-鎶ラ攢瀹℃壒涓� 20-宸叉嫧浠� 30-宸查┏鍥�';
+
+-- 鎸夋姤閿�鍗曞彿鍥炴煡鍙拌处鐨勭储寮�
+SET @c = (SELECT COUNT(*) FROM information_schema.statistics
+          WHERE table_schema = DATABASE() AND table_name = 'research_fund_record' AND index_name = 'idx_reimbursement_id');
+SET @sql = IF(@c = 0,
+    'ALTER TABLE research_fund_record ADD INDEX idx_reimbursement_id (reimbursement_id) USING BTREE',
+    'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ----- 2. 瀛楀吀 research_fund_status 琛� 2 鏉� + 鎺掑簭璋冩暣 + 绫诲瀷澶囨敞 -----
+
+UPDATE system_dict_type SET remark = '璇鹃缁忚垂寰呮嫧浠�/鎶ラ攢瀹℃壒涓�/宸叉嫧浠�/宸查┏鍥�', update_time = NOW()
+WHERE `type` = 'research_fund_status';
+
+-- 鍏堝垹鍚庢彃锛屼繚璇佸箓绛夛紙鍚� research_module.sql 鐨勫啓娉曪級
+DELETE FROM system_dict_data WHERE dict_type = 'research_fund_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100401, 1, '寰呮嫧浠�', '0', 'research_fund_status', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100403, 2, '鎶ラ攢瀹℃壒涓�', '15', 'research_fund_status', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100402, 3, '宸叉嫧浠�', '20', 'research_fund_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100404, 4, '宸查┏鍥�', '30', 'research_fund_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
diff --git a/docs/sql/research_module.sql b/docs/sql/research_module.sql
new file mode 100644
index 0000000..a9a6edc
--- /dev/null
+++ b/docs/sql/research_module.sql
@@ -0,0 +1,249 @@
+-- =========================================
+-- 璇鹃绠$悊妯″潡锛坹udao-module-research锛変竴鏈�
+-- 寤鸿〃 + 瀛楀吀鏁版嵁 + BPM 鍒嗙被 + 鑿滃崟
+-- 瑕嗙洊闇�姹傦細1.璇鹃鎸囧崡鍙戝竷 2.璇鹃鍦ㄧ嚎鐢虫姤 3.璇鹃璇勫娴佺▼ 4.绔嬮」瀹℃壒 5.缁忚垂鎷ㄤ粯
+-- 浜屾湡锛堢粨椤归獙鏀�/缁撻」璇佷功銆佹垚鏋滃綊妗g煡璇嗗簱锛変笉鍦ㄦ鑴氭湰鍐�
+-- =========================================
+
+-- ----- 1. 璇鹃鎸囧崡琛� -----
+DROP TABLE IF EXISTS `research_guideline`;
+CREATE TABLE `research_guideline` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎸囧崡缂栧彿',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎸囧崡鍚嶇О',
+  `category` tinyint NOT NULL COMMENT '璇鹃绫诲埆锛�1-閲嶇偣璇鹃 2-涓�鑸棰�',
+  `apply_start_time` datetime DEFAULT NULL COMMENT '鐢虫姤寮�濮嬫椂闂�',
+  `apply_end_time` datetime DEFAULT NULL COMMENT '鐢虫姤鎴鏃堕棿',
+  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鎸囧崡姝f枃',
+  `publish_status` tinyint NOT NULL DEFAULT '0' COMMENT '鍙戝竷鐘舵�侊細0-鑽夌 20-宸插彂甯� 30-宸叉埅姝�',
+  `publish_time` datetime DEFAULT NULL COMMENT '鍙戝竷鏃堕棿',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_category` (`category`) USING BTREE,
+  KEY `idx_publish_status` (`publish_status`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-鎸囧崡';
+
+-- ----- 2. 璇鹃鐢虫姤涔﹁〃 -----
+DROP TABLE IF EXISTS `research_application`;
+CREATE TABLE `research_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢虫姤缂栧彿',
+  `guideline_id` bigint NOT NULL COMMENT '鎵�灞炶棰樻寚鍗� ID',
+  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '璇鹃鍚嶇О',
+  `category` tinyint NOT NULL COMMENT '璇鹃绫诲埆锛�1-閲嶇偣璇鹃 2-涓�鑸棰橈紙鍐椾綑鑷寚鍗楋級',
+  `member_id` bigint DEFAULT NULL COMMENT '鐢虫姤浼氬憳 ID锛堝叧鑱� ums_member锛�',
+  `applicant_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢虫姤浜哄鍚�/鍗曚綅鍚嶇О',
+  `applicant_user_id` bigint DEFAULT NULL COMMENT '鐢虫姤鐧诲綍鐢ㄦ埛 ID',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅',
+  `job_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴閭',
+  `team_members` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '璇鹃缁勬垚鍛橈紙姣忚涓�鏉★細濮撳悕|鍗曚綅|鑱岀О锛�',
+  `budget_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鐢宠缁忚垂锛堝厓锛�',
+  `plan_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '鐢虫姤涔︽鏂囷紙鐮旂┒鑳屾櫙/鐩爣/鏂规/棰勬湡鎴愭灉锛�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸茬珛椤� 35-宸查┏鍥�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BPM 娴佺▼瀹炰緥 ID',
+  `review_avg_score` decimal(6,2) DEFAULT NULL COMMENT '涓撳璇勫鍔犳潈鍧囧垎锛堝悗绔眹鎬伙級',
+  `review_pass` tinyint DEFAULT NULL COMMENT '璇勫缁撹锛�0-鏈�氳繃 1-鎺ㄨ崘绔嬮」锛堝悗绔眹鎬伙級',
+  `research_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '绔嬮」缂栧彿锛堝鎵归�氳繃鍚庣敓鎴愶級',
+  `approve_time` datetime DEFAULT NULL COMMENT '绔嬮」鏃堕棿',
+  `notice_id` bigint DEFAULT NULL COMMENT '宸插彂甯冪殑绔嬮」閫氱煡鍏憡 ID',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_guideline_id` (`guideline_id`) USING BTREE,
+  KEY `idx_member_id` (`member_id`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_applicant_user_id` (`applicant_user_id`) USING BTREE,
+  KEY `idx_research_no` (`research_no`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-鐢虫姤涔�';
+
+-- ----- 3. 涓撳璇勫鏄庣粏琛紙涓�涓诲崟鎸傚琛岋紝姣忚涓�浣嶄笓瀹讹級 -----
+DROP TABLE IF EXISTS `research_topic_review`;
+CREATE TABLE `research_topic_review` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `application_id` bigint NOT NULL COMMENT '璇鹃鐢虫姤涔� ID',
+  `evaluator_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '涓撳濮撳悕',
+  `evaluator_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '涓撳鎵�鍦ㄥ崟浣�',
+  `evaluator_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '涓撳鑱岀О',
+  `topic_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '閫夐浠峰�间笌鎰忎箟寰楀垎锛堟潈閲�0.3锛�',
+  `plan_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '鐮旂┒鏂规鍙鎬у緱鍒嗭紙鏉冮噸0.3锛�',
+  `team_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '鍥㈤槦涓庣爺绌跺熀纭�寰楀垎锛堟潈閲�0.2锛�',
+  `result_score` decimal(6,2) NOT NULL DEFAULT '0.00' COMMENT '棰勬湡鎴愭灉涓庢晥鐩婂緱鍒嗭紙鏉冮噸0.2锛�',
+  `composite_score` decimal(6,2) DEFAULT NULL COMMENT '鍔犳潈鍚堣寰楀垎锛堝悗绔绠楋級',
+  `ranking` int DEFAULT NULL COMMENT '鏈敵鎶ュ崟鍐呰瘎鍒嗘帓鍚嶏紙鍚庣璁$畻锛�',
+  `conclusion` tinyint DEFAULT NULL COMMENT '璇勫缁撹锛�1-鎺ㄨ崘绔嬮」 2-涓嶆帹鑽愮珛椤�',
+  `opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '璇勫鎰忚',
+  `review_time` datetime DEFAULT NULL COMMENT '璇勫鏃堕棿',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_application_id` (`application_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-涓撳璇勫鏄庣粏';
+
+-- ----- 4. 缁忚垂鎷ㄤ粯璁板綍琛� -----
+DROP TABLE IF EXISTS `research_fund_record`;
+CREATE TABLE `research_fund_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `application_id` bigint NOT NULL COMMENT '璇鹃鐢虫姤涔� ID',
+  `batch_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鎷ㄤ粯鎵规锛堝锛氱涓�鏈燂級',
+  `amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '鎷ㄤ粯閲戦锛堝厓锛�',
+  `pay_date` date DEFAULT NULL COMMENT '鎷ㄤ粯鏃ユ湡',
+  `payee` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏀舵鍗曚綅/璐︽埛鍚�',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-寰呮嫧浠� 15-鎶ラ攢瀹℃壒涓� 20-宸叉嫧浠� 30-宸查┏鍥�',
+  `reimbursement_id` bigint DEFAULT NULL COMMENT '鍏宠仈璐㈠姟鎶ラ攢鍗� ID锛坒inance_reimbursement.id锛�',
+  `reimbursement_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍏宠仈璐㈠姟鎶ラ攢鍗曞彿',
+  `reject_reason` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鎶ラ攢椹冲洖鍘熷洜锛圔PM 鍥炲啓锛�',
+  `reject_time` datetime DEFAULT NULL COMMENT '鎶ラ攢椹冲洖鏃堕棿',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_application_id` (`application_id`) USING BTREE,
+  KEY `idx_reimbursement_id` (`reimbursement_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='璇鹃-缁忚垂鎷ㄤ粯璁板綍';
+
+-- ----- 5. 瀛楀吀鏁版嵁 -----
+
+-- research_guideline_category锛堣棰樻寚鍗楃被鍒級
+DELETE FROM system_dict_type WHERE `type` = 'research_guideline_category';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (81000, '璇鹃鎸囧崡绫诲埆', 'research_guideline_category', 0, '閲嶇偣璇鹃/涓�鑸棰樺垎绫绘爣娉�', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'research_guideline_category';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100001, 1, '閲嶇偣璇鹃', '1', 'research_guideline_category', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100002, 2, '涓�鑸棰�', '2', 'research_guideline_category', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+
+-- research_guideline_status锛堣棰樻寚鍗楀彂甯冪姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'research_guideline_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (81001, '璇鹃鎸囧崡鐘舵��', 'research_guideline_status', 0, '璇鹃鎸囧崡鍙戝竷鐘舵��', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'research_guideline_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100101, 1, '鑽夌', '0', 'research_guideline_status', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100102, 2, '宸插彂甯�', '20', 'research_guideline_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100103, 3, '宸叉埅姝�', '30', 'research_guideline_status', 0, 'info', '', '1', NOW(), '1', NOW(), b'0');
+
+-- research_application_status锛堣棰樼敵鎶ヤ功鐘舵�侊級
+DELETE FROM system_dict_type WHERE `type` = 'research_application_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (81002, '璇鹃鐢虫姤鐘舵��', 'research_application_status', 0, '璇鹃鐢虫姤涔﹀鎵圭姸鎬�', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'research_application_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100201, 1, '鑽夌', '0', 'research_application_status', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100202, 2, '瀹℃壒涓�', '15', 'research_application_status', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100203, 3, '宸茬珛椤�', '20', 'research_application_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100204, 4, '宸查┏鍥�', '35', 'research_application_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- research_review_conclusion锛堜笓瀹惰瘎瀹$粨璁猴級
+DELETE FROM system_dict_type WHERE `type` = 'research_review_conclusion';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (81003, '涓撳璇勫缁撹', 'research_review_conclusion', 0, '涓撳璇勫鎺ㄨ崘绔嬮」/涓嶆帹鑽愮珛椤�', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'research_review_conclusion';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100301, 1, '鎺ㄨ崘绔嬮」', '1', 'research_review_conclusion', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100302, 2, '涓嶆帹鑽愮珛椤�', '2', 'research_review_conclusion', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- research_fund_status锛堢粡璐规嫧浠樼姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'research_fund_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (81004, '缁忚垂鎷ㄤ粯鐘舵��', 'research_fund_status', 0, '璇鹃缁忚垂寰呮嫧浠�/鎶ラ攢瀹℃壒涓�/宸叉嫧浠�/宸查┏鍥�', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'research_fund_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100401, 1, '寰呮嫧浠�', '0', 'research_fund_status', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100403, 2, '鎶ラ攢瀹℃壒涓�', '15', 'research_fund_status', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100402, 3, '宸叉嫧浠�', '20', 'research_fund_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8100404, 4, '宸查┏鍥�', '30', 'research_fund_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 6. BPM 鍒嗙被 -----
+DELETE FROM bpm_category WHERE `code` = 'research_topic_approve';
+INSERT INTO bpm_category (id, name, code, description, status, sort, creator, create_time, updater, update_time, deleted)
+VALUES (8002, '璇鹃绔嬮」瀹℃壒', 'research_topic_approve', '璇鹃鐢虫姤涓夌骇瀹℃壒锛堢涔﹀褰㈠紡瀹℃煡鈫掍笓瀹惰瘎瀹♀啋瀛︿細绔嬮」瀹℃壒锛�', 0, 2, '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 7. 鑿滃崟 -----
+-- 娉ㄦ剰锛氳彍鍗� ID 涓嶈涓庣幇鏈夎彍鍗曞啿绐侊紙璇鹃绠$悊鍗犵敤 1075510~1075553锛�
+-- 椤剁骇鐩綍锛坱ype=1锛夛紝parent_id=0锛屽浘鏍� ep:notebook
+DELETE FROM system_menu WHERE id BETWEEN 1075510 AND 1075559;
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075510, '璇鹃绠$悊', '', 1, 81, 0, '/research', 'ep:notebook', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
+
+-- 璇鹃鎸囧崡锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075511, '璇鹃鎸囧崡', '', 2, 1, 1075510, 'guideline', 'ep:document', 'research/guideline/index', 'ResearchGuideline', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 璇鹃鐢虫姤锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075512, '璇鹃鐢虫姤', '', 2, 2, 1075510, 'application', 'ep:edit-pen', 'research/application/index', 'ResearchApplication', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺锛坱ype=3锛夆�斺�� 璇鹃鎸囧崡
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075520, '璇鹃鎸囧崡鏌ヨ', 'research:guideline:query', 3, 1, 1075511, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075521, '璇鹃鎸囧崡鍒涘缓', 'research:guideline:create', 3, 2, 1075511, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075522, '璇鹃鎸囧崡鏇存柊', 'research:guideline:update', 3, 3, 1075511, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075523, '璇鹃鎸囧崡鍒犻櫎', 'research:guideline:delete', 3, 4, 1075511, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075524, '璇鹃鎸囧崡鍙戝竷/鎴', 'research:guideline:publish', 3, 5, 1075511, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 璇鹃鐢虫姤
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075530, '璇鹃鐢虫姤鏌ヨ', 'research:application:query', 3, 1, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075531, '璇鹃鐢虫姤鍒涘缓', 'research:application:create', 3, 2, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075532, '璇鹃鐢虫姤鏇存柊', 'research:application:update', 3, 3, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075533, '璇鹃鐢虫姤鍒犻櫎', 'research:application:delete', 3, 4, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075534, '璇鹃鐢虫姤鎻愪氦瀹℃壒', 'research:application:submit', 3, 5, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075535, '鍙戝竷绔嬮」閫氱煡', 'research:application:notice', 3, 6, 1075512, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 涓撳璇勫鏄庣粏
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075540, '涓撳璇勫鏌ヨ', 'research:review:query', 3, 7, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075541, '涓撳璇勫褰曞叆', 'research:review:create', 3, 8, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075542, '涓撳璇勫淇敼', 'research:review:update', 3, 9, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075543, '涓撳璇勫鍒犻櫎', 'research:review:delete', 3, 10, 1075512, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 缁忚垂鎷ㄤ粯
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075550, '缁忚垂鎷ㄤ粯鏌ヨ', 'research:fund:query', 3, 11, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075551, '缁忚垂鎷ㄤ粯鐧昏', 'research:fund:create', 3, 12, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075552, '缁忚垂鎷ㄤ粯淇敼', 'research:fund:update', 3, 13, 1075512, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075553, '缁忚垂鎷ㄤ粯鍒犻櫎', 'research:fund:delete', 3, 14, 1075512, '1', NOW(), '1', NOW(), b'0');
diff --git a/docs/sql/research_topic_approve.bpmn b/docs/sql/research_topic_approve.bpmn
new file mode 100644
index 0000000..253966c
--- /dev/null
+++ b/docs/sql/research_topic_approve.bpmn
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
+  <process id="research_topic_approve" name="璇鹃绔嬮」瀹℃壒" isExecutable="true">
+    <startEvent id="StartEvent" name="寮�濮�"></startEvent>
+    <userTask id="StartUserNode" name="鍙戣捣浜�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[36]]></flowable:candidateStrategy>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎻愪氦" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="false" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="false" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="false" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="false" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="false" id="6"></flowable:buttonsSetting>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[2]]></flowable:assignStartUserHandlerType>
+      </extensionElements>
+    </userTask>
+    <userTask id="Activity_secretariat_review" name="绉樹功澶勫舰寮忓鏌�">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <userTask id="Activity_expert_review" name="涓撳璇勫">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <userTask id="Activity_council_approve" name="瀛︿細绔嬮」瀹℃壒">
+      <extensionElements>
+        <flowable:approveType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:approveType>
+        <flowable:candidateStrategy xmlns:flowable="http://flowable.org/bpmn"><![CDATA[10]]></flowable:candidateStrategy>
+        <flowable:candidateParam xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:candidateParam>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫氳繃" enable="true" id="1"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鎷掔粷" enable="true" id="2"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="杞姙" enable="true" id="3"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="濮旀淳" enable="true" id="4"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="鍔犵" enable="true" id="5"></flowable:buttonsSetting>
+        <flowable:buttonsSetting xmlns:flowable="http://flowable.org/bpmn" displayName="閫�鍥�" enable="true" id="6"></flowable:buttonsSetting>
+        <flowable:approveMethod xmlns:flowable="http://flowable.org/bpmn"><![CDATA[4]]></flowable:approveMethod>
+        <flowable:rejectHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:rejectHandlerType>
+        <flowable:assignStartUserHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignStartUserHandlerType>
+        <flowable:assignEmptyHandlerType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[1]]></flowable:assignEmptyHandlerType>
+        <flowable:signEnable xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:signEnable>
+        <flowable:reasonRequire xmlns:flowable="http://flowable.org/bpmn"><![CDATA[false]]></flowable:reasonRequire>
+        <flowable:nodeType xmlns:flowable="http://flowable.org/bpmn"><![CDATA[11]]></flowable:nodeType>
+      </extensionElements>
+      <multiInstanceLoopCharacteristics isSequential="true" flowable:collection="${coll_userList}">
+        <loopCardinality>1</loopCardinality>
+        <completionCondition>${ nrOfCompletedInstances &gt;= nrOfInstances }</completionCondition>
+      </multiInstanceLoopCharacteristics>
+    </userTask>
+    <endEvent id="EndEvent" name="缁撴潫"></endEvent>
+    <sequenceFlow id="sequenceFlow-1" sourceRef="StartEvent" targetRef="StartUserNode"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-2" sourceRef="StartUserNode" targetRef="Activity_secretariat_review"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-3" sourceRef="Activity_secretariat_review" targetRef="Activity_expert_review"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-4" sourceRef="Activity_expert_review" targetRef="Activity_council_approve"></sequenceFlow>
+    <sequenceFlow id="sequenceFlow-5" sourceRef="Activity_council_approve" targetRef="EndEvent"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_research_topic_approve">
+    <bpmndi:BPMNPlane bpmnElement="research_topic_approve" id="BPMNPlane_research_topic_approve">
+      <bpmndi:BPMNShape bpmnElement="StartEvent" id="BPMNShape_StartEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="0.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="StartUserNode" id="BPMNShape_StartUserNode">
+        <omgdc:Bounds height="60.0" width="100.0" x="80.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_secretariat_review" id="BPMNShape_Activity_secretariat_review">
+        <omgdc:Bounds height="60.0" width="100.0" x="230.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_expert_review" id="BPMNShape_Activity_expert_review">
+        <omgdc:Bounds height="60.0" width="100.0" x="380.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="Activity_council_approve" id="BPMNShape_Activity_council_approve">
+        <omgdc:Bounds height="60.0" width="100.0" x="530.0" y="0.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="EndEvent" id="BPMNShape_EndEvent">
+        <omgdc:Bounds height="30.0" width="30.0" x="680.0" y="15.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-1" id="BPMNEdge_sequenceFlow-1">
+        <omgdi:waypoint x="30.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="80.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-2" id="BPMNEdge_sequenceFlow-2">
+        <omgdi:waypoint x="180.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="230.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-3" id="BPMNEdge_sequenceFlow-3">
+        <omgdi:waypoint x="330.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="380.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-4" id="BPMNEdge_sequenceFlow-4">
+        <omgdi:waypoint x="480.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="530.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sequenceFlow-5" id="BPMNEdge_sequenceFlow-5">
+        <omgdi:waypoint x="630.0" y="30.0"></omgdi:waypoint>
+        <omgdi:waypoint x="680.0" y="30.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
diff --git a/docs/sql/ums_module.sql b/docs/sql/ums_module.sql
new file mode 100644
index 0000000..385d4bc
--- /dev/null
+++ b/docs/sql/ums_module.sql
@@ -0,0 +1,215 @@
+-- =========================================
+-- UMS 浼氬憳绠$悊妯″潡锛坹udao-module-ums锛�
+-- 寤鸿〃 + 瀛楀吀鏁版嵁 + BPM 鍒嗙被 + 鑿滃崟
+-- =========================================
+
+-- ----- 1. 鍏ヤ細鐢宠鍗曡〃 -----
+DROP TABLE IF EXISTS `ums_application`;
+CREATE TABLE `ums_application` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠缂栧彿',
+  `member_type` tinyint NOT NULL COMMENT '浼氬憳绫诲瀷锛�1-涓汉 2-鍗曚綅',
+  `applicant_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鐢宠浜哄鍚嶏紙涓汉锛夋垨鍗曚綅鍚嶇О锛堝崟浣嶏級',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '閭',
+  `legal_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '娉曞畾浠h〃浜猴紙鍗曚綅涓撴湁锛�',
+  `organization_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁熶竴绀句細淇$敤浠g爜锛堝崟浣嶄笓鏈夛級',
+  `research_direction` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐮旂┒鏂瑰悜',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅锛堜釜浜轰笓鏈夛級',
+  `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О锛堜釜浜轰笓鏈夛級',
+  `member_grade` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐢宠绛夌骇',
+  `region_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍦板尯缂栫爜',
+  `industry` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '琛屼笟',
+  `status` tinyint NOT NULL DEFAULT '0' COMMENT '鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-宸查�氳繃 35-宸查┏鍥�',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'BPM 娴佺▼瀹炰緥 ID',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_status` (`status`) USING BTREE,
+  KEY `idx_member_type` (`member_type`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='浼氬憳-鍏ヤ細鐢宠鍗�';
+
+-- ----- 2. 浼氬憳琛� -----
+DROP TABLE IF EXISTS `ums_member`;
+CREATE TABLE `ums_member` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浼氬憳缂栧彿',
+  `user_id` bigint DEFAULT NULL COMMENT '鍏宠仈绯荤粺鐢ㄦ埛 ID',
+  `application_id` bigint DEFAULT NULL COMMENT '鏉ユ簮鐢宠鍗� ID',
+  `member_type` tinyint NOT NULL COMMENT '浼氬憳绫诲瀷锛�1-涓汉 2-鍗曚綅',
+  `member_grade` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浼氬憳绛夌骇',
+  `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '濮撳悕锛堜釜浜猴級鎴栧崟浣嶅悕绉帮紙鍗曚綅锛�',
+  `contact_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴浜猴紙鍗曚綅鐢級',
+  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱旂郴鐢佃瘽',
+  `contact_email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '閭',
+  `legal_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '娉曞畾浠h〃浜猴紙鍗曚綅涓撴湁锛�',
+  `organization_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '缁熶竴绀句細淇$敤浠g爜',
+  `research_direction` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鐮旂┒鏂瑰悜',
+  `work_unit` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '宸ヤ綔鍗曚綅锛堜釜浜轰笓鏈夛級',
+  `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鑱岀О锛堜釜浜轰笓鏈夛級',
+  `unit_intro` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍗曚綅绠�浠嬶紙鍗曚綅涓撴湁锛�',
+  `region_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍦板尯缂栫爜',
+  `industry` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '琛屼笟',
+  `join_date` date DEFAULT NULL COMMENT '鍏ヤ細鏃ユ湡',
+  `expire_date` date DEFAULT NULL COMMENT '鏈夋晥鏈熻嚦',
+  `status` tinyint NOT NULL DEFAULT '1' COMMENT '鐘舵�侊細1-姝e父 0-鏆傚仠',
+  `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_no` (`no`) USING BTREE,
+  KEY `idx_user_id` (`user_id`) USING BTREE,
+  KEY `idx_region_code` (`region_code`) USING BTREE,
+  KEY `idx_industry` (`industry`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='浼氬憳';
+
+-- ----- 3. 瀛楀吀鏁版嵁 -----
+
+-- ums_application_status锛堝叆浼氱敵璇风姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'ums_application_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (80001, '鍏ヤ細鐢宠鐘舵��', 'ums_application_status', 0, '鍏ヤ細鐢宠瀹℃壒鐘舵��', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'ums_application_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000101, 1, '鑽夌', '0', 'ums_application_status', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000102, 2, '瀹℃壒涓�', '15', 'ums_application_status', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000103, 3, '宸查�氳繃', '20', 'ums_application_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000104, 4, '宸查┏鍥�', '35', 'ums_application_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ums_member_type锛堜細鍛樼被鍨嬶級
+DELETE FROM system_dict_type WHERE `type` = 'ums_member_type';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (80002, '浼氬憳绫诲瀷', 'ums_member_type', 0, '涓汉浼氬憳/鍗曚綅浼氬憳', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'ums_member_type';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000201, 1, '涓汉浼氬憳', '1', 'ums_member_type', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000202, 2, '鍗曚綅浼氬憳', '2', 'ums_member_type', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ums_member_status锛堜細鍛樼姸鎬侊級
+DELETE FROM system_dict_type WHERE `type` = 'ums_member_status';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (80003, '浼氬憳鐘舵��', 'ums_member_status', 0, '浼氬憳姝e父/鏆傚仠', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'ums_member_status';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000301, 1, '姝e父', '1', 'ums_member_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000302, 2, '鏆傚仠', '0', 'ums_member_status', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ums_personal_grade锛堜釜浜轰細鍛樼瓑绾э級
+DELETE FROM system_dict_type WHERE `type` = 'ums_personal_grade';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (80004, '涓汉浼氬憳绛夌骇', 'ums_personal_grade', 0, '涓汉浼氬憳绾у埆', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'ums_personal_grade';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000401, 1, '鏅�氫細鍛�', '1', 'ums_personal_grade', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000402, 2, '鐞嗕簨', '2', 'ums_personal_grade', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000403, 3, '甯稿姟鐞嗕簨', '3', 'ums_personal_grade', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000404, 4, '鍓悊浜嬮暱', '4', 'ums_personal_grade', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000405, 5, '鐞嗕簨闀�', '5', 'ums_personal_grade', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ums_unit_grade锛堝崟浣嶄細鍛樼瓑绾э級
+DELETE FROM system_dict_type WHERE `type` = 'ums_unit_grade';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (80005, '鍗曚綅浼氬憳绛夌骇', 'ums_unit_grade', 0, '鍗曚綅浼氬憳绾у埆', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'ums_unit_grade';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000501, 1, '鏅�氬崟浣�', '1', 'ums_unit_grade', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000502, 2, '鐞嗕簨鍗曚綅', '2', 'ums_unit_grade', 0, 'processing', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000503, 3, '鍓細闀垮崟浣�', '3', 'ums_unit_grade', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000504, 4, '浼氶暱鍗曚綅', '4', 'ums_unit_grade', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ums_industry锛堣涓氾級
+DELETE FROM system_dict_type WHERE `type` = 'ums_industry';
+INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted)
+VALUES (80006, '浼氬憳琛屼笟', 'ums_industry', 0, '瀛︿細浼氬憳鎵�灞炶涓�', '1', NOW(), '1', NOW(), b'0');
+DELETE FROM system_dict_data WHERE dict_type = 'ums_industry';
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000601, 1, '鏅鸿兘鍒堕��', '1', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000602, 2, '鏂拌兘婧�', '2', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000603, 3, '鐢靛瓙淇℃伅', '3', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000604, 4, '鐢熺墿鍖昏嵂', '4', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000605, 5, '鏂版潗鏂�', '5', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000606, 6, '鑺傝兘鐜繚', '6', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000607, 7, '鍜ㄨ鏈嶅姟', '7', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, remark, creator, create_time, updater, update_time, deleted)
+VALUES (8000608, 8, '鍏朵粬', '8', 'ums_industry', 0, 'default', '', '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 4. BPM 鍒嗙被 -----
+DELETE FROM bpm_category WHERE `code` = 'ums_membership_approve';
+INSERT INTO bpm_category (id, name, code, description, status, sort, creator, create_time, updater, update_time, deleted)
+VALUES (8001, '鍏ヤ細瀹℃壒', 'ums_membership_approve', '浼氬憳鍏ヤ細鐢宠涓ょ骇瀹℃壒锛堢涔﹀鍒濆鈫掔悊浜嬩細瀹¤锛�', 0, 1, '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 5. 鑿滃崟 -----
+-- 娉ㄦ剰锛氳彍鍗� ID 涓嶈涓庣幇鏈夎彍鍗曞啿绐�
+-- 椤剁骇鐩綍锛坱ype=1锛夛紝parent_id=0锛屽浘鏍� ep:user
+DELETE FROM system_menu WHERE id BETWEEN 1075490 AND 1075503;
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075490, '浼氬憳绠$悊', '', 1, 80, 0, '/ums', 'ep:user', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
+
+-- 鍏ヤ細鐢宠锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075491, '鍏ヤ細鐢宠', '', 2, 1, 1075490, 'application', 'ep:edit', 'ums/application/index', 'UmsApplication', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 浼氬憳绠$悊锛堣彍鍗曪紝type=2锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075492, '浼氬憳鍒楄〃', '', 2, 2, 1075490, 'member', 'ep:user-filled', 'ums/member/index', 'UmsMember', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 浼氬憳閫氳褰曪紙鑿滃崟锛宼ype=2锛屽彧璇伙級
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+VALUES (1075493, '浼氬憳閫氳褰�', '', 2, 3, 1075490, 'directory', 'ep:notebook', 'ums/member/directory', 'UmsMemberDirectory', 0, b'1', b'1', b'0', '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺锛坱ype=3锛夆�斺�� 鍏ヤ細鐢宠
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075494, '鍏ヤ細鐢宠鏌ヨ', 'ums:application:query', 3, 1, 1075491, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075495, '鍏ヤ細鐢宠鍒涘缓', 'ums:application:create', 3, 2, 1075491, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075496, '鍏ヤ細鐢宠鎻愪氦瀹℃壒', 'ums:application:submit', 3, 3, 1075491, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075501, '鍏ヤ細鐢宠鏇存柊', 'ums:application:update', 3, 4, 1075491, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075502, '鍏ヤ細鐢宠鍒犻櫎', 'ums:application:delete', 3, 5, 1075491, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 浼氬憳绠$悊
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075497, '浼氬憳鏌ヨ', 'ums:member:query', 3, 1, 1075492, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075498, '浼氬憳鍒涘缓', 'ums:member:create', 3, 2, 1075492, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075499, '浼氬憳鏇存柊', 'ums:member:update', 3, 3, 1075492, '1', NOW(), '1', NOW(), b'0');
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075503, '浼氬憳鍒犻櫎', 'ums:member:delete', 3, 4, 1075492, '1', NOW(), '1', NOW(), b'0');
+
+-- 鎸夐挳鏉冮檺 鈥斺�� 閫氳褰曪紙鍙锛�
+INSERT INTO system_menu (id, name, permission, type, sort, parent_id, creator, create_time, updater, update_time, deleted)
+VALUES (1075500, '閫氳褰曟煡璇�', 'ums:member:directory', 3, 1, 1075493, '1', NOW(), '1', NOW(), b'0');
+
+-- ----- 6. 榛樿閮ㄩ棬锛堜細鍛樼郴缁熻处鍙锋墍灞為儴闂級 -----
+DELETE FROM system_dept WHERE id = 129;
+INSERT INTO system_dept (id, name, parent_id, sort, leader_user_id, phone, email, status, creator, create_time, updater, update_time, deleted)
+VALUES (129, '瀛︿細浼氬憳', 0, 99, NULL, '', '', 0, '1', NOW(), '1', NOW(), b'0');
\ No newline at end of file
diff --git "a/docs/\346\213\233\346\240\207\346\212\200\346\234\257\346\226\207\346\241\243.md" "b/docs/\346\213\233\346\240\207\346\212\200\346\234\257\346\226\207\346\241\243.md"
new file mode 100644
index 0000000..6d72c24
--- /dev/null
+++ "b/docs/\346\213\233\346\240\207\346\212\200\346\234\257\346\226\207\346\241\243.md"
@@ -0,0 +1,1071 @@
+# 瀛︿細涓氬姟绠$悊骞冲彴 鎶曟爣鎶�鏈柟妗�
+
+> 瑕嗙洊绯荤粺锛氬崗鍚屽姙鍏�佽储鍔℃姤閿�銆佷細鍛樼鐞嗐�佷紒涓氬井淇°�佽棰樼鐞嗐�佹。妗堢鐞嗐�佺郴缁熺鐞�
+
+| 椤圭洰 | 鍐呭 |
+|---|---|
+| 鏂囨。鍚嶇О | 瀛︿細涓氬姟绠$悊骞冲彴鎶曟爣鎶�鏈柟妗� |
+| 鏂囨。绫诲瀷 | 鎶曟爣鎶�鏈枃浠讹紙鎶�鏈柟妗堝垎鍐岋級 |
+| 缂栧埗鏃ユ湡 | 2026-09-29 |
+| 鐗堟湰 | V1.0 |
+| 鎶曟爣浜� | 銆愭姇鏍囧崟浣嶅叏绉般�� |
+| 鎷涙爣浜� | 銆愭嫑鏍囧崟浣嶅叏绉般�� |
+
+> 璇存槑锛氭枃涓� `銆愩�慲 涓哄緟濉崰浣嶅唴瀹癸紙鍗曚綅鍚嶇О銆佸搧鐗屻�佷环鏍笺�佸伐鏈熺瓑锛夛紝鐢辨姇鏍囦汉瀹氱鏃舵浛鎹€�傛湰鏂囨墍杩板叏閮ㄥ姛鑳姐�佹妧鏈粍浠躲�佹暟鎹ā鍨嬨�佹祦绋嬪畾涔夈�佹潈闄愮偣銆佸瓧鍏哥紪鐮侊紝鍧囧彇鑷姇鏍囦汉鐜版湁绯荤粺鐨勫疄闄呬唬鐮佷笌杩愯搴擄紝鏃犳帹娴嬫�ф弿杩般��
+
+---
+
+## 涓�銆侀」鐩杩�
+
+### 1.1 寤鸿鑳屾櫙
+
+瀛︿細锛堝崗浼氾級鏃ュ父涓氬姟闀挎湡渚濊禆绾夸笅鍙拌处涓庡垎鏁g殑 Excel 琛ㄦ牸杩愯浆锛屽瓨鍦ㄥ洓绫荤獊鍑洪棶棰橈細
+
+| 搴忓彿 | 鐜扮姸闂 | 鍏蜂綋琛ㄧ幇 |
+|---|---|---|
+| 1 | 浼氬憳淇℃伅鍒嗘暎 | 鍏ヤ細鐢宠璧扮焊璐ㄨ〃鍗曟垨閭欢锛屾壒鍑嗗悗闈犱汉宸ュ缓琛ㄧ淮鎶や細鍛樺悕褰曪紝绛夌骇锛堟櫘閫氫細鍛橈紡鐞嗕簨锛忓父鍔$悊浜嬶紡鐞嗕簨闀匡級涓庡崟浣嶄細鍛樹俊鎭毦浠ョ粺涓�褰掓。 |
+| 2 | 璇鹃绠$悊鏂摼 | 璇鹃鎸囧崡鍙戝竷銆佺敵鎶ヤ功鏀堕泦銆佷笓瀹惰瘎瀹℃墦鍒嗐�佺珛椤归�氱煡銆佺粡璐规嫧浠樺悇鐜妭鍒嗙锛岃瘎瀹″垎鏁颁笌绔嬮」缁撹闈犱汉宸ユ眹鎬伙紝杩囩▼涓嶅彲杩芥函 |
+| 3 | 璐㈠姟鎶ラ攢鏃犵暀鐥� | 鎶ラ攢鍗曢潬绾歌川绮樿创鍙戠エ娴佽浆锛屽鎵瑰眰绾т笌閲戦瑙勫垯闈犱汉宸ュ垽鏂紝鎶ラ攢鍑瘉鏃犳硶涓庢。妗堝叧鑱� |
+| 4 | 妗f涓庡�熼槄澶辨帶 | 绾歌川妗f鏃犵數瀛愬彴璐︼紝鍊熷嚭闈犳墜宸ョ櫥璁帮紝閫炬湡鏃犱汉鎻愰啋锛涙晱鎰熸。妗堬紙濡傝储鍔″嚟璇侊級鏃犳潈闄愰殧绂伙紝瀛樺湪瓒婃潈鏌ラ槄椋庨櫓 |
+
+鍚屾椂锛岀Щ鍔ㄧ瑙﹁揪鑳藉姏缂哄け锛岄�氱煡鍙戝竷渚濊禆閫愪竴杞彂锛涚粍缁囦汉鍛樹笌娴佺▼鐨勬潈闄愯竟鐣屼笉娓咃紝鏃犵粺涓�瀹¤銆�
+
+### 1.2 寤鸿鐩爣
+
+鏈柟妗堢殑寤鸿鐩爣涓猴細**浠ョ粺涓�瀹℃壒寮曟搸涓庣粺涓�妗f搴曞骇涓烘牳蹇冿紝鏋勫缓涓�浣撳寲銆佸彲杩芥函銆佹湁鏉冮檺杈圭晫鐨勫浼氫笟鍔$鐞嗗钩鍙�**锛屽叿浣撳垎瑙d负浜斾釜鍙獙璇佺洰鏍囷細
+
+1. **涓氬姟鍦ㄧ嚎鍖�**锛氫細鍛樺叆浼氥�佽棰樼珛椤广�佽储鍔℃姤閿�銆佹。妗堝�熼槄鍥涚被鏍稿績涓氬姟鍏ㄩ儴绾夸笂娴佽浆锛屾浛浠g焊璐ㄥ彴璐︺��
+2. **瀹℃壒缁熶竴鍖�**锛氬洓绫讳笟鍔″叡鐢ㄤ竴濂楀伐浣滄祦寮曟搸锛屽鎵硅鍒欙紙瀹℃壒浜恒�佸眰绾с�佷細绛炬柟寮忋�侀┏鍥炵瓥鐣ワ級鍙厤缃�佸彲杩芥函锛屾棤闇�涓烘瘡绫讳笟鍔″崟鐙紑鍙戝鎵归�昏緫銆�
+3. **妗f闆嗕腑鍖�**锛氳棰樸�佷細鍛樸�佽储鍔′笁绫讳笟鍔$殑鎴愭灉鏉愭枡涓�閿綊妗h嚦缁熶竴妗f搴擄紝褰㈡垚"涓氬姟浜х敓妗f銆佹。妗堝弽鍝烘绱�"鐨勯棴鐜紱妗f鍊熼槄璧颁袱绾у鎵瑰苟瀹炴椂璁$畻閫炬湡銆�
+4. **鏉冮檺绮剧粏鍖�**锛氫互 RBAC 瑙掕壊鏉冮檺涓哄熀纭�锛屽彔鍔犲瘑绾х鎺т笌鐙珛鏁忔劅鏉冮檺鐐癸紝瀹炵幇"鍏紑锛忓唴閮紡淇濆瘑"涓夌骇妗f鐨勫彲瑙佹�ч殧绂伙紝骞跺彲瀹¤銆�
+5. **瑙﹁揪绉诲姩鍖�**锛氬�熷姪浼佷笟寰俊灏嗘椿鍔ㄣ�侀�氱煡鐩存帴鎺ㄩ�佽嚦鎴愬憳锛屾垚鍛樺彲鍦ㄧ嚎鎶ュ悕銆佺鍒帮紝褰㈡垚绉诲姩绔笟鍔″叆鍙c��
+
+### 1.3 寤鸿鑼冨洿涓庢ā鍧楁�昏
+
+鏈湡寤鸿鑼冨洿鍗虫湰鏂规鐨勪竷澶у瓙绯荤粺锛屽潎浠ョ幇鏈夎彍鍗曟爲涓轰弗鏍间緷鎹細
+
+| 搴忓彿 | 瀛愮郴缁� | 鑿滃崟璺緞 | 鑿滃崟 ID | 浜岀骇鍔熻兘椤� | 瀹氫綅浜庝笟鍔¢摼涓殑瑙掕壊 |
+|---|---|---|---|---|---|
+| 1 | 鍗忓悓鍔炲叕 | `/bpm` | 1185 | 娴佺▼绠$悊銆佸鎵逛腑蹇冦�侀�氱煡鍏憡銆丱A 搴旂敤 | 鍏ㄥ钩鍙�**瀹℃壒涓庢祦绋嬪簳搴�** |
+| 2 | 璐㈠姟鎶ラ攢 | `/finance` | 1075425 | 鎶ラ攢鍗� | 缁忚垂鏀嚭鐨�**鐢宠涓庡鎵�** |
+| 3 | 浼氬憳绠$悊 | `/ums` | 1075490 | 鍏ヤ細鐢宠銆佷細鍛樺垪琛ㄣ�佷細鍛橀�氳褰� | 瀛︿細**涓讳綋锛堜汉锛忓崟浣嶏級**绠$悊 |
+| 4 | 浼佷笟寰俊 | `/wxcp` | 6100000 | 娲诲姩绠$悊銆侀�氱煡绠$悊 | 瀵逛細鍛橈紡鎴愬憳鐨�**绉诲姩瑙﹁揪** |
+| 5 | 璇鹃绠$悊 | `/research` | 1075510 | 璇鹃鎸囧崡銆佽棰樼敵鎶ワ紙鍚笓瀹惰瘎瀹°�佺粡璐规嫧浠橈級 | 瀛︽湳涓氬姟鐨�**涓荤嚎娴佺▼** |
+| 6 | 妗f绠$悊 | `/archive` | 1075600 | 妗f鍒嗙被銆佹。妗堢鐞嗐�佸�熼槄鐧昏銆佹。妗堢粺璁� | 鍏ㄥ钩鍙扮殑**妗f褰掗泦涓庡�熼槄搴曞骇** |
+| 7 | 绯荤粺绠$悊 | `/system` | 1 | 鐢ㄦ埛銆佽鑹层�佽彍鍗曘�侀儴闂ㄣ�佸矖浣嶃�佸瓧鍏搞�佺紪鐮佽鍒欍�佸璁℃棩蹇椼�佹秷鎭腑蹇冦�丱Auth2銆佷笁鏂圭櫥褰曘�佹枃浠跺瓨鍌ㄣ�佸湴鍖恒�佸叕鍙镐俊鎭厤缃� | 骞冲彴**鍩虹鏀拺涓庢不鐞�** |
+
+**涓冨ぇ瀛愮郴缁熶箣闂寸殑鍏崇郴锛堜竴鍙ヨ瘽姒傛嫭锛�**锛氫細鍛樼鐞嗘彁渚�"浜�"銆佽棰樼鐞嗘彁渚�"浜�"銆佽储鍔℃姤閿�鎻愪緵"閽�"锛屼笁鑰呭潎鍦ㄥ崗鍚屽姙鍏殑瀹℃壒寮曟搸涓婃祦杞紝骞跺湪鏀跺彛鏃跺悜妗f绠$悊褰掗泦褰㈡垚"妗f"锛涗紒涓氬井淇¤礋璐f妸"浜�"涓�"閫氱煡"鎺ㄩ�佸埌浜猴紱绯荤粺绠$悊涓轰互涓婂叏閮ㄦ彁渚涜韩浠姐�佹潈闄愩�佸瓧鍏搞�佺紪鐮佷笌瀹¤鑳藉姏銆�
+
+### 1.4 鏈涓庣缉鐣ヨ
+
+| 鏈 | 璇存槑 |
+|---|---|
+| BPM | Business Process Management锛屼笟鍔℃祦绋嬬鐞嗭紝鏈柟妗堟寚鍩轰簬 Flowable 鐨勫鎵瑰紩鎿� |
+| BPMN 2.0 | 涓氬姟娴佺▼寤烘ā涓庢爣娉ㄦ爣鍑嗭紝鏈柟妗堢殑娴佺▼鍥句氦鎹㈡牸寮� |
+| RBAC | 鍩轰簬瑙掕壊鐨勮闂帶鍒讹紝鐢ㄦ埛 鈥� 瑙掕壊 鈥� 鑿滃崟锛忔潈闄愮偣涓夊眰妯″瀷 |
+| 瀵嗙骇 | 妗f鐨勬晱鎰熺骇鍒紝鍒嗗叕寮�锛�1锛夛紡鍐呴儴锛�2锛夛紡淇濆瘑锛�3锛変笁绾� |
+| 鍗曟嵁蹇収 | 涓氬姟鍗曟嵁鍦ㄦ祦杞椂瀵瑰叧鑱斿璞″叧閿瓧娈电殑鍐椾綑瀛樺偍锛岄伩鍏嶅洜涓绘暟鎹彉鏇村鑷村巻鍙插彲璇绘�т笅闄� |
+| 褰掓。鑱斿姩 | 涓氬姟鍗曟嵁瀹℃壒瀹屾垚鍚庯紝涓�閿敓鎴愬搴旀。妗堝苟鍚戞潵婧愯〃鍥炲啓妗f ID 鐨勬満鍒� |
+| 閫炬湡 | 鍊熼槄鍗曞浜�"鍊熷嚭涓�"涓斿綊杩樻湡闄愭棭浜庡綋鍓嶆棩鏈熺殑鐘舵�侊紙瀹炴椂璁$畻锛屼笉钀藉簱锛� |
+
+---
+
+## 浜屻�佹�讳綋鎶�鏈灦鏋�
+
+### 2.1 璁捐鍘熷垯
+
+| 鍘熷垯 | 钀藉湴鏂瑰紡 |
+|---|---|
+| **骞冲彴鍖栥�佸彲澶嶇敤** | 瀹℃壒銆侀檮浠躲�佺紪鐮併�佸瓧鍏搞�佹秷鎭簲绫昏兘鍔涙娊涓哄钩鍙扮骇鍏叡鏈嶅姟锛屼笟鍔℃ā鍧楀彧鍋氱粍鍚堣皟鐢紝閬垮厤閲嶅寤鸿 |
+| **妯″潡鍖栥�佷綆鑰﹀悎** | Maven 澶氭ā鍧楁媶鍒嗭紝妯″潡闂撮�氳繃 `-api` 瀛愭ā鍧楃殑鎺ュ彛閫氫俊锛岀姝㈣法妯″潡鐩存帴璁块棶瀵规柟鐨� Mapper锛廌O |
+| **閰嶇疆浼樺厛** | 瀹℃壒瑙勫垯銆佸崟鎹姸鎬併�佷笟鍔″垎绫诲潎浠ュ瓧鍏镐笌娴佺▼閰嶇疆椹卞姩锛屽墠鍙版寜閰嶇疆娓叉煋锛屽噺灏戠‖缂栫爜 |
+| **寮轰竴鑷翠笌骞傜瓑** | 鍏抽敭鐘舵�佸彉鏇撮噰鐢ㄦ潯浠舵洿鏂帮紙`UPDATE ... WHERE status = 鏈熸湜鍊糮锛変繚璇佸苟鍙戝畨鍏紱褰掓。銆佹彁浜ょ瓑鍐欐搷浣滃潎鍋氬箓绛夌煭璺� |
+| **鏉冮檺鍓嶇疆** | 鏉冮檺鏍¢獙涓嬫矇鍒版帴鍙e眰锛堟敞瑙e紡锛夛紝鏁忔劅鏁版嵁杩囨护涓嬫矇鍒版煡璇㈠眰锛屽弻閲嶄繚闄� |
+| **鍙璁�** | 鍏抽敭鎺ュ彛璁板綍鎿嶄綔鏃ュ織锛岀櫥褰曡涓鸿褰曠櫥褰曟棩蹇楋紝鍗曟嵁娴佽浆淇濈暀瀹屾暣瀹℃壒璁板綍 |
+
+### 2.2 鎬讳綋鏋舵瀯
+
+閲囩敤"鍗曚綋澶氭ā鍧� + 鍓嶅悗绔垎绂�"鏋舵瀯锛岄儴缃蹭负涓�涓悗绔湇鍔″疄渚嬶紙鍙寜闇�妯悜鎵╁睍涓哄瀹炰緥锛夛紝鍓嶇涓虹嫭绔嬮潤鎬佽祫婧愩��
+
+```
+鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹�  鎺ュ叆灞�   娴忚鍣紙PC锛�       浼佷笟寰俊锛堢Щ鍔ㄧ锛�      绗笁鏂圭郴缁燂紙OpenAPI锛夆攤
+鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+                           鈹�  HTTPS
+鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹粹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹�  缃戝叧锛忔帴鍏�  鍙嶅悜浠g悊锛圢ginx锛� 路 缁熶竴閴存潈杩囨护鍣� 路 璇锋眰鏃ュ織 路 璺ㄥ煙鎺у埗   鈹�
+鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹粹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹�  搴旂敤灞傦紙涓氬姟妯″潡锛�                                                    鈹�
+鈹�  鍗忓悓鍔炲叕(bpm) 鈹� 璐㈠姟鎶ラ攢(finance) 鈹� 浼氬憳绠$悊(ums) 鈹� 璇鹃绠$悊(research)鈹�
+鈹�  妗f绠$悊(archive) 鈹� 浼佷笟寰俊(wxcp) 鈹� 绯荤粺绠$悊(system)                 鈹�
+鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹粹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹�  骞冲彴鏈嶅姟灞傦紙framework锛�                                               鈹�
+鈹�  宸ヤ綔娴佸紩鎿�(Flowable) 鈹� 闄勪欢涓績 鈹� 缂栫爜瑙勫垯 鈹� 瀛楀吀 鈹� 娑堟伅閫氱煡          鈹�
+鈹�  缁熶竴閴存潈 鈹� 缁熶竴寮傚父涓庤繑鍥炰綋 鈹� Excel 瀵煎叆瀵煎嚭 鈹� 鎿嶄綔鏃ュ織锛忚闂棩蹇�      鈹�
+鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹粹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+鈹�  鏁版嵁灞�   MySQL 8.4.8锛堜笟鍔′笌娴佺▼鏁版嵁锛� 路 Redis锛堢紦瀛橈紡浠ょ墝锛忎細璇濓級      鈹�
+鈹�          鏈湴锛忓璞″瓨鍌紙闄勪欢浜岃繘鍒讹級                                   鈹�
+鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+```
+
+### 2.3 鎶�鏈爤閫夊瀷
+
+**鍚庣**
+
+| 鍒嗙被 | 缁勪欢 | 鐗堟湰 | 閫夊瀷璇存槑 |
+|---|---|---|---|
+| 璇█锛忚繍琛屾椂 | Java | 25 | 闀挎湡鏀寔鐗堟湰锛屽叿澶囪櫄鎷熺嚎绋嬭兘鍔涳紝鍒╀簬楂樺苟鍙� IO 鍦烘櫙 |
+| 搴旂敤妗嗘灦 | Spring Boot | 4.1.0 | 鐢熸�佹垚鐔熴�佺粍浠堕綈鍏紝绀惧尯涓庝紒涓氭敮鎸佸懆鏈熼暱 |
+| 鏋勫缓 | Maven锛堝妯″潡锛� | 3.9+ | 妯″潡鍖栨媶鍒嗕笌缁熶竴渚濊禆鐗堟湰绠$悊锛坄yudao-dependencies` BOM锛� |
+| 鎸佷箙灞� | MyBatis-Plus | 3.5.16 | 鍏奸【 SQL 鍙帶鎬т笌鍗曡〃 CRUD 鏁堢巼锛屾敮鎸侀�昏緫鍒犻櫎銆佸垎椤点�佷箰瑙傞攣 |
+| 宸ヤ綔娴佸紩鎿� | Flowable | 8.0.0 | 瀹屾暣瀹炵幇 BPMN 2.0锛屾敮鎸佷細绛俱�佹垨绛俱�佷緷娆″鎵广�佸姞绛捐浆娲俱�佹祦绋嬪浘杞ㄨ抗 |
+| 鏁版嵁搴� | MySQL | 8.4.8 | 涓诲閮ㄧ讲锛屼笟鍔′笌娴佺▼鏁版嵁鍚屽簱锛屼究浜庝簨鍔′竴鑷存�� |
+| 缂撳瓨 | Redis | 6.x+ | 浠ょ墝銆侀獙璇佺爜銆佸瓧鍏镐笌鐑偣鏁版嵁缂撳瓨 |
+| 瀵硅薄瀛樺偍 | 鏈湴纾佺洏锛廠3 鍏煎 | 鈥� | 閫氳繃缁熶竴闄勪欢涓績鎶借薄锛屽瓨鍌ㄩ厤缃彲鍒囨崲 |
+| 鎺ュ彛鏂囨。 | SpringDoc OpenAPI | 闅忔鏋� | 鎸夋ā鍧楀垎缁勶紙GroupedOpenApi锛夎嚜鍔ㄧ敓鎴愬湪绾挎帴鍙f枃妗� |
+
+**鍓嶇**
+
+| 鍒嗙被 | 缁勪欢 | 鐗堟湰 | 閫夊瀷璇存槑 |
+|---|---|---|---|
+| 鍩虹妗嗘灦 | Vue | 3.5.35 | Composition API锛岀粍鍚堝紡閫昏緫澶嶇敤 |
+| 鑴氭墜鏋� | Vben Admin | 5.7.0 | 鎴愮啛鐨勪腑鍚庡彴鏂规锛屽惈鏉冮檺銆佸瓧鍏搞�佸竷灞�銆佷富棰樿兘鍔� |
+| 鏋勫缓宸ュ叿 | Vite | 8.0.10 | 鍐峰惎鍔ㄤ笌鐑洿鏂板揩锛屾瀯寤轰骇鐗╂寜闇�鍒嗗寘 |
+| 璇█ | TypeScript | 6.0.3 | 鍏ㄩ噺绫诲瀷绾︽潫锛宍any` 绂佺敤锛岄檷浣庤繍琛屾湡閿欒 |
+| UI 缁勪欢搴� | Ant Design Vue | 4.2.6 | 琛ㄦ牸銆佽〃鍗曘�佸脊绐楃粍浠跺畬澶囷紝绗﹀悎鍚庡彴鎿嶄綔涔犳儻 |
+| 鐘舵�佺鐞� | Pinia | 3.0.4 | 杞婚噺銆佺被鍨嬪弸濂斤紝閰嶅悎鎸佷箙鍖栨彃浠朵繚瀛樼櫥褰曟�� |
+| 璺敱 | Vue Router | 5.1.0 | 鍔ㄦ�佽矾鐢辩敱鍚庣鑿滃崟椹卞姩锛屾棤闇�鍓嶇鎵嬪伐缁存姢璺敱琛� |
+| 鏍峰紡 | Tailwind CSS | 4.3.0 | 鍘熷瓙鍖栨牱寮忥紝缁熶竴闂磋窛涓庤壊鏉� |
+| 鍥捐〃 | ECharts | 6.1.0 | 缁熻鐪嬫澘鐨勯ゼ鍥撅紡鏌卞浘锛忚秼鍔垮浘 |
+| 娴佺▼璁捐鍣� | bpmn-js | 18.16.1 | 鍦ㄧ嚎缁樺埗 BPMN 2.0 娴佺▼鍥� |
+| 瀵屾枃鏈� | TinyMCE / Tiptap | 7.9 / 3.26 | 閫氱煡銆佸叕鍛娿�佹寚鍗楁鏂囩紪杈� |
+| 鍖呯鐞� | pnpm | 11.0.9 | 渚濊禆鎵佸钩鍖栥�佸畨瑁呭揩銆佺鐩樺崰鐢ㄤ綆 |
+
+### 2.4 搴旂敤妯″潡鍒掑垎
+
+鍚庣浠� Maven 澶氭ā鍧楃粍缁囷紝鍏� **30 涓ā鍧�**锛堝惈妗嗘灦涓庝緷璧栫鐞嗘ā鍧楋級锛屼笟鍔℃ā鍧椾笌骞冲彴妯″潡瑙h�︼細
+
+| 绫诲埆 | 妯″潡 | 鑱岃矗 |
+|---|---|---|
+| 渚濊禆绠$悊 | `yudao-dependencies` | 缁熶竴渚濊禆鐗堟湰锛圔OM锛夛紝閿佸畾涓婁笅娓哥粍浠剁増鏈� |
+| 妗嗘灦 | `yudao-framework` | 缁熶竴杩斿洖浣撱�佸紓甯搞�侀壌鏉冦�佸畨鍏ㄣ�丒xcel銆佹棩蹇椼�丮yBatis 鎵╁睍銆丷edis 灏佽绛� |
+| 鏈嶅姟涓荤▼搴� | `yudao-server` | 鍞竴鍚姩妯″潡锛岃仛鍚堝叏閮ㄤ笟鍔℃ā鍧椾笌閰嶇疆 |
+| **鏈湡涓冨ぇ瀛愮郴缁�** | `yudao-module-bpm` | 鍗忓悓鍔炲叕锛氬伐浣滄祦寮曟搸涓庢祦绋嬭璁★紡瀹℃壒涓績 |
+| | `yudao-module-finance` (+`-api`) | 璐㈠姟鎶ラ攢 |
+| | `yudao-module-ums` | 浼氬憳绠$悊 |
+| | `yudao-module-research` | 璇鹃绠$悊 |
+| | `yudao-module-archive` (+`-api`) | 妗f绠$悊涓庡綊妗h仈鍔ㄥ澶栨帴鍙� |
+| | `yudao-module-wxcp` | 浼佷笟寰俊 |
+| | `yudao-module-system` | 绯荤粺绠$悊锛氳韩浠姐�佹潈闄愩�佸瓧鍏搞�侀檮浠躲�佹秷鎭�佸璁� |
+| 骞冲彴鍩虹 | `yudao-module-infra` | 鍩虹璁炬柦锛氭枃浠躲�佷唬鐮佺敓鎴愩�佸畾鏃朵换鍔°�侀厤缃�丄PI 鏃ュ織 |
+| 鍏跺畠涓氬姟锛堟湰鏈熶笉鍦ㄨ寖鍥达級 | `crm` / `erp` / `mes` / `mdm` / `hrm` / `srm` / `aftersales` / `bi` / `ai` / `im` / `member` / `qcreport` | 宸ュ巶渚т笟鍔′笌骞冲彴澧炲己鑳藉姏锛屼笌鏈柟妗堜竷澶у瓙绯荤粺鍏辩敤鍚屼竴鎶�鏈簳搴э紝鍙寜闇�鍚敤 |
+
+> 妯″潡鍒掑垎鐨勪环鍊硷細鏈湡涓冨ぇ瀛愮郴缁熷彲鐙珛缂栬瘧銆佺嫭绔嬫祴璇曘�佺嫭绔嬪崌绾э紱鍚庣画濡傞渶鎵╁睍锛堝鏂板閲囪喘銆佺敓浜х被涓氬姟锛夛紝澶嶇敤鍚屼竴濂楀鎵广�侀檮浠躲�佹。妗堣兘鍔涘嵆鍙紝鏃犻渶閲嶆瀯銆�
+
+### 2.5 鏁版嵁鏋舵瀯
+
+褰撳墠杩愯搴撳叡 **430 寮犺〃**锛屾寜涓氬姟鍩熷垝鍒嗗涓嬶紙鑺傞�夋湰鏈熺浉鍏抽儴鍒嗭級锛�
+
+| 涓氬姟鍩� | 琛ㄥ墠缂�锛忔暟閲� | 鏈湡鐩稿叧琛� | 璇存槑 |
+|---|---|---|---|
+| 绯荤粺娌荤悊 | `system_*` | `system_users`銆乣system_role`銆乣system_menu`銆乣system_dict_type`銆乣system_dict_data`銆乣system_dept`銆乣system_post`銆乣system_storage_blob`銆乣system_storage_attachment`銆乣system_oauth2_client` 绛� | 韬唤銆佹潈闄愩�佸瓧鍏搞�侀檮浠跺厓鏁版嵁 |
+| 宸ヤ綔娴� | `bpm_*` + `act_*` | `bpm_category`銆乣bpm_process_definition_info`銆乣act_re_procdef`銆乣act_ru_task`銆乣act_hi_taskinst` 绛� | 娴佺▼閰嶇疆涓� Flowable 杩愯锛忓巻鍙叉暟鎹� |
+| 鍗忓悓鍔炲叕 | `bpm_oa_*` | `bpm_oa_notice`銆乣bpm_oa_leave` | 閫氱煡鍏憡銆佽鍋� |
+| 璐㈠姟鎶ラ攢 | `finance_*` | `finance_reimbursement`锛堣储鍔�-鎶ラ攢鍗曪級銆乣finance_reimbursement_item`锛堣储鍔�-鎶ラ攢鏄庣粏锛� | 涓昏〃 + 鏄庣粏琛紝涓�鍗曞琛岃垂鐢� |
+| 浼氬憳绠$悊 | `ums_*` | `ums_application`锛堜細鍛�-鍏ヤ細鐢宠鍗曪級銆乣ums_member`锛堜細鍛橈級 | 鐢宠鍗曚笌浼氬憳妗f鍒嗙锛岀敵璇烽�氳繃鍚庢墠鐢熸垚浼氬憳 |
+| 璇鹃绠$悊 | `research_*` | `research_guideline`锛堣棰�-鎸囧崡锛夈�乣research_application`锛堣棰�-鐢虫姤涔︼級銆乣research_topic_review`锛堣棰�-涓撳璇勫鏄庣粏锛夈�乣research_fund_record`锛堣棰�-缁忚垂鎷ㄤ粯璁板綍锛� | 鎸囧崡 鈫� 鐢虫姤 鈫� 璇勫 鈫� 绔嬮」 鈫� 缁忚垂 鍏ㄩ摼璺暀鐥� |
+| 浼佷笟寰俊 | `wxcp_*` | `wxcp_activity`锛堜紒涓氬井淇℃椿鍔級銆乣wxcp_activity_signup`锛堜紒涓氬井淇℃椿鍔ㄦ姤鍚嶈褰曪級銆乣wxcp_notice`锛堜紒涓氬井淇¢�氱煡锛� | 娲诲姩涓庨�氱煡鍙婂叾鎶ュ悕鏄庣粏 |
+| 妗f绠$悊 | `archive_*` | `archive_category`锛堟。妗�-鍒嗙被锛夈�乣archive_document`锛堟。妗�-妗f涓昏〃锛夈�乣archive_borrow`锛堟。妗�-鍊熼槄鍗曪級 | 鍒嗙被鏍� + 妗f涓昏〃 + 鍊熼槄鍗曪紝鍊熼槄涓庡綊杩樺悎涓� |
+
+**鏁版嵁寤烘ā瑕佺偣**锛�
+
+1. **涓昏〃 + 鏄庣粏琛�**锛氭姤閿�鍗曪紙`finance_reimbursement`锛変笌鎶ラ攢鏄庣粏锛坄finance_reimbursement_item`锛夊垎绂伙紝鏀寔涓�鍗曞琛岃垂鐢ㄩ」涓庤嚜鍔ㄥ悎璁¢噾棰濄��
+2. **鐢宠涓庣粨鏋滃垎绂�**锛氬叆浼氱敵璇凤紙`ums_application`锛変笌浼氬憳锛坄ums_member`锛夊垎绂伙紝瀹℃壒閫氳繃鍚庢墠钀戒細鍛橈紝閬垮厤"鏈壒鍑嗙殑鐢宠浜�"姹℃煋浼氬憳搴撱��
+3. **蹇収鍐椾綑**锛氬�熼槄鍗曚腑鍐椾綑瀛樺偍 `document_no`銆乣document_title`锛堟。妗堢紪鍙蜂笌鏍囬锛夛紝鍗充娇妗f鏀瑰悕锛屽巻鍙插�熼槄璁板綍浠嶄繚鎸佸綋鏃剁殑涓氬姟璇箟銆�
+4. **闄勪欢涓嶈惤鍒�**锛氫换浣曚笟鍔¤〃鍧囦笉璁剧疆 `file_url`锛廯file_urls` 绛夋枃浠跺湴鍧�鍒楋紝鏂囦欢涓庝笟鍔$殑鍏宠仈缁熶竴閫氳繃涓棿琛� `system_storage_attachment`锛坄record_type` + `record_id` + `storage_blob_id`锛夋壙杞斤紝鏀寔涓�涓崟鎹闄勪欢銆佸鐢ㄩ�斿垎绫伙紝涓斿瓨鍌ㄤ粙璐ㄥ垏鎹紙鏈湴锛忓璞″瓨鍌級涓嶅奖鍝嶄笟鍔¤〃缁撴瀯銆�
+5. **閫昏緫鍒犻櫎**锛氬叏琛ㄧ粺涓� `deleted` 鏍囪锛屽巻鍙叉暟鎹彲杩芥函銆佸彲鎭㈠銆�
+6. **鍗曠鎴烽儴缃�**锛氭鏋跺叿澶囧绉熸埛闅旂鑳藉姏锛屾湰鏈熶笟鍔¤〃鎸夊崟绉熸埛妯″紡閮ㄧ讲锛屼繚鐣欐湭鏉ョ鎴烽殧绂荤殑鎵╁睍绌洪棿銆�
+
+### 2.6 閮ㄧ讲鏋舵瀯
+
+| 灞傛 | 閮ㄧ讲褰㈡�� | 璇存槑 |
+|---|---|---|
+| 鍓嶇 | Nginx 鎵樼闈欐�佽祫婧� | 涓庡悗绔垎绂婚儴缃诧紝鍙嫭绔嬪彂甯冿紱鍚屼竴 Nginx 鍙嶅悜浠g悊 `/admin-api` 鑷冲悗绔� |
+| 鍚庣 | 鍗曚釜 Spring Boot 鏈嶅姟瀹炰緥锛堝彲澶氬疄渚嬫í鍚戞墿灞曪級 | 鏃犵姸鎬佽璁★紝浼氳瘽涓庝护鐗岀疆浜� Redis锛屽瀹炰緥鍙叡浜� |
+| 鏁版嵁搴� | MySQL 8.4.8 涓诲 | 涓氬姟琛ㄤ笌 Flowable 娴佺▼琛ㄥ悓搴擄紝淇濊瘉"涓氬姟鐘舵�� + 娴佺▼鐘舵��"鍦ㄥ悓涓�浜嬪姟鍐呬竴鑷� |
+| 缂撳瓨 | Redis | 浠ょ墝銆侀獙璇佺爜銆佸瓧鍏哥紦瀛� |
+| 瀛樺偍 | 鏈湴纾佺洏鎴� S3 鍏煎瀵硅薄瀛樺偍 | 缁忛檮浠朵腑蹇冩娊璞★紝閰嶇疆鍒囨崲锛屼笟鍔′唬鐮佹棤鎰� |
+| 鎿嶄綔绯荤粺 | 鍏煎 Windows Server 涓庝富娴� Linux 鍙戣鐗� | 鍚庣 JVM 璺ㄥ钩鍙帮紝鍓嶇涓洪潤鎬佽祫婧� |
+
+---
+
+## 涓夈�佹妧鏈灦鏋勪笌闆嗘垚
+
+鏈珷璇存槑涓冨ぇ瀛愮郴缁熷苟闈炰竷濂楃嫭绔嬬郴缁燂紝鑰屾槸**鍏变韩骞冲彴鑳藉姏銆佸郊姝ゆ暟鎹疮閫�**鐨勪竴涓暣浣撱�備互涓嬮�愰」缁欏嚭鍏变韩鏈哄埗涓庨泦鎴愭柟寮忋��
+
+### 3.1 缁熶竴韬唤璁よ瘉涓庢潈闄愪綋绯�
+
+**璁よ瘉**锛氬熀浜� OAuth2 鐨勪护鐗屾満鍒讹紝鏀寔璐﹀彿瀵嗙爜鐧诲綍銆佷笁鏂圭櫥褰曪紙`system_social_client` / `system_social_user`锛夈�備护鐗屼笌鍒锋柊浠ょ墝鐢� Redis 鎵胯浇锛屾敮鎸佷护鐗岀鐞嗕笌寮哄埗涓嬬嚎锛坄/system/oauth2/token`锛夈��
+
+**鎺堟潈**锛氶噰鐢�"鐢ㄦ埛 鈥� 瑙掕壊 鈥� 鑿滃崟锛忔潈闄愮偣"涓夊眰 RBAC锛�
+
+- 鐢ㄦ埛鍙粦瀹氬涓鑹诧紝瑙掕壊鍙粦瀹氬涓彍鍗曚笌鏉冮檺鐐癸紱
+- 鏉冮檺鐐逛互瀛楃涓叉爣璇嗭紙褰㈠ `archive:borrow:submit`锛夛紝鍚庣浠ユ敞瑙e紡鏍¢獙锛坄@PreAuthorize("@ss.hasPermission('...')")`锛夊墠缃嫤鎴紝**鏃犳潈闄愬嵆鎷掔粷璋冪敤锛屼笉渚濊禆鍓嶇闅愯棌鎸夐挳**锛�
+- 鍓嶇鎸夋潈闄愮偣鎺у埗鎸夐挳鍙鎬э紝浣滀负浣撻獙浼樺寲鑰岄潪瀹夊叏杈圭晫銆�
+
+**鏉冮檺鐐硅妯�**锛氭湰鏈熷叚澶т笟鍔″瓙绯荤粺鍏卞畾涔� **68 涓潈闄愮偣**锛岃鐩栧銆佸垹銆佹敼銆佹煡銆佹彁浜ゃ�佸鍑恒�佸綊妗c�佹帹閫併�佸綊杩樼瓑鍏ㄩ儴鍔ㄤ綔锛堝畬鏁存竻鍗曡闄勫綍 A锛夈�傚叾涓� `archive:document:sensitive` 涓虹嫭绔嬬殑**鏁忔劅妗f鏌ラ槄鏉冮檺**锛岀敤浜庡瘑绾х鎺э紙璇﹁ 3.1.3锛夈��
+
+**鏁版嵁鏉冮檺**锛氭敮鎸佹寜閮ㄩ棬銆佹寜鐢ㄦ埛缁村害鐨勬暟鎹寖鍥存帶鍒讹紱"鎴戠殑鏁版嵁"绫绘煡璇㈤�氳繃浜哄憳浜ゆ帴鎺ュ彛鎵╁睍鍙鑼冨洿锛屼繚璇佺宀椾汉鍛樼殑鍘嗗彶涓氬姟鏁版嵁鍙浜ゆ帴浜烘帴绠★紝涓氬姟涓嶄腑鏂��
+
+**3.1.3 瀵嗙骇绠℃帶锛堟。妗堟晱鎰熸暟鎹殧绂伙級**
+
+妗f瀵嗙骇鍒嗕笁绾э細**鍏紑锛�1锛夛紡鍐呴儴锛�2锛夛紡淇濆瘑锛�3锛�**銆傜鎺ч噰鍙�"涓ゅ钀界偣銆佺粺涓�灏佽"绛栫暐锛岄伩鍏嶈繃婊ら�昏緫鏁h惤瀵艰嚧婕忕綉锛�
+
+| 钀界偣 | 绠℃帶瑙勫垯 |
+|---|---|
+| 璇︽儏璇诲彇 | 璇锋眰瀵嗙骇涓�"淇濆瘑"鐨勬。妗堟椂锛岃嫢褰撳墠鐢ㄦ埛涓嶅叿澶� `archive:document:sensitive` 鏉冮檺锛岀洿鎺ユ嫆缁濆苟杩斿洖鏄庣‘鎻愮ず锛堟寚寮曡仈绯荤鐞嗗憳寮�閫氭潈闄愶級 |
+| 鍒楄〃锛忓鍑� | 鐢ㄦ埛涓嶅叿澶囪鏉冮檺鏃讹紝鏌ヨ鏉′欢琚己鍒惰拷鍔�"瀵嗙骇涓嶇瓑浜庝繚瀵�"锛屼繚瀵嗘。妗堝湪鍒楄〃涓庡鍑虹粨鏋滀腑涓嶅彲瑙� |
+
+鍒ゅ畾閫昏緫鐢辨湇鍔″眰缁熶竴灏佽锛堝瘑绾ц繃婊や笌瀵嗙骇鍙鎬ф牎楠屼袱涓柟娉曪級锛�**鍚庣画浠讳綍鏂板鐨勬。妗堣鍙栧叆鍙i兘蹇呴』璧板悓涓�灏佽**锛屼粠鏈哄埗涓婃潨缁濊秺鏉冦��
+
+**璐㈠姟妗f榛樿淇濆瘑**锛氭。妗堝垎绫讳腑"璐㈠姟妗f"鍒嗙被鐨勯粯璁ゅ瘑绾ц棰勭疆涓�"淇濆瘑锛�3锛�"锛屽洜姝ょ敱璐㈠姟鎶ラ攢褰掓。鐢熸垚鐨勬。妗堣嚜鍔ㄧ户鎵夸繚瀵嗙骇鍒紝鏃犻渶浜哄伐璁剧疆锛岀鍚堣储鍔″嚟璇佺殑鍚堣瑕佹眰銆�
+
+### 3.2 缁熶竴宸ヤ綔娴佸紩鎿�
+
+**寮曟搸**锛欶lowable 8.0.0锛屽畬鏁存敮鎸� BPMN 2.0銆�
+
+**娴佺▼璁捐**锛氶�氳繃"娴佺▼妯″瀷"椤靛湪绾跨粯鍒舵祦绋嬪浘锛坆pmn-js锛夛紝鏀寔鐢ㄦ埛浠诲姟銆佹潯浠跺垎鏀�佸苟琛岀綉鍏炽�佷細绛撅紙澶氫汉鍚屾椂瀹℃壒锛夈�佹垨绛撅紙浠讳竴浜哄鎵瑰嵆鍙級銆佷緷娆″鎵癸紙鎸夐『搴忛�愪竴瀹℃壒锛夌瓑鑺傜偣妯″紡锛涘鎵逛汉鍙厤缃负鎸囧畾瑙掕壊銆佹寚瀹氶儴闂ㄣ�佹寚瀹氱敤鎴枫�佺敤鎴风粍銆佸彂璧蜂汉鑷�夈�佷笂绾т富绠°�佽繛缁绾т富绠$瓑绛栫暐銆�
+
+**閰嶅閰嶇疆**锛堝崗鍚屽姙鍏�旀祦绋嬬鐞嗕笅鐨勫叚涓厤缃〉锛夛細
+
+| 閰嶇疆椤� | 浣滅敤 |
+|---|---|
+| 娴佺▼妯″瀷 | 鍦ㄧ嚎缁樺埗涓庡彂甯� BPMN 娴佺▼鍥� |
+| 娴佺▼琛ㄥ崟 | 閰嶇疆娴佺▼缁戝畾鐨勮〃鍗曪紱鏀寔"鑷畾涔夎〃鍗�"锛堝湪绾挎嫋鎷借璁★級涓�"涓氬姟琛ㄥ崟"锛堢洿鎺ョ粦瀹氫笟鍔$郴缁熼〉闈級涓ょ妯″紡 |
+| 娴佺▼鍒嗙被 | 鎸変笟鍔″煙褰掔被娴佺▼锛堝"璇鹃绔嬮」瀹℃壒""妗f鍊熼槄瀹℃壒"锛夛紝鏀寔鍋滅敤 |
+| 鐢ㄦ埛鍒嗙粍 | 灏嗗鎵逛汉缁存姢涓洪�昏緫鍒嗙粍锛堝"妗f绠$悊鍛樼粍""鍒嗙棰嗗缁�"锛夛紝娴佺▼涓寜鍒嗙粍娲惧彂浠诲姟 |
+| 娴佺▼鐩戝惉鍣� | 閫氳繃 Java 绫荤洃鍚櫒瀹炵幇"娴佺▼浜嬩欢 鈫� 涓氬姟鍥炲啓"锛屾槸鏈柟妗堜笟鍔¢泦鎴愮殑鏍稿績鎶�鏈偣锛堣瑙佷笅鑺傦級 |
+| 娴佺▼琛ㄨ揪寮� | 瀹氫箟鍙鐢ㄧ殑瀹℃壒浜鸿〃杈惧紡涓庢潯浠惰〃杈惧紡 |
+
+**涓氬姟闄勪欢閰嶇疆**锛氬彲閽堝鍏蜂綋娴佺▼涓庤妭鐐归厤缃檮浠朵笂浼犺姹傦紝瀹炵幇"鍝簺鐜妭蹇呴』涓婁紶鏉愭枡"鐨勬祦绋嬬骇绾︽潫銆�
+
+**瀹℃壒涓績**锛氭彁渚�"鎴戠殑寰呭姙""鎴戠殑宸插姙""鎴戝彂璧风殑""鎶勯�佹垜鐨�"鍥涚被瑙嗗浘銆傛瘡涓换鍔℃敮鎸侊細鍚屾剰銆侀┏鍥炪�侀��鍥炪�佸姞绛俱�佽浆娲俱�佽瘎璁恒�佹煡鐪嬫祦绋嬪浘涓庢祦杞建杩广��
+
+**娴佺▼瀹炰緥涓庝换鍔$鐞�**锛氶潰鍚戠鐞嗗憳锛屽彲鏌ヨ杩愯涓紡宸插畬鎴愬疄渚嬨�佸畾浣嶅綋鍓嶈妭鐐逛笌瀹℃壒浜恒�佹煡鐪嬪畬鏁村鎵硅褰曚笌娴佺▼杞ㄨ抗銆佹墽琛岀粓姝㈢瓑骞查鎿嶄綔銆�
+
+**娴佺▼瑙勬ā**锛氳繍琛屽簱宸查儴缃� **39 鏉℃祦绋嬪畾涔�**锛屽叾涓湰鏈熶笟鍔$洿鎺ョ浉鍏崇殑鍥涙潯涓猴細
+
+| 娴佺▼鍚嶇О | 娴佺▼瀹氫箟 Key | 鐗堟湰 | 瀹℃壒灞傜骇 |
+|---|---|---|---|
+| 鍏ヤ細瀹℃壒 | `ums_membership_approve` | 1 | 鎸夊叆浼氬鎵规祦绋嬮厤缃� |
+| 璇鹃绔嬮」瀹℃壒 | `research_topic_approve` | 1 | 澶氱骇瀹℃壒锛堢敵鎶ヤ功涓夌骇娴佽浆锛� |
+| 鎶ラ攢瀹℃壒 | `finance_reimbursement_approve` | 1 | 鎸夋姤閿�瀹℃壒娴佺▼閰嶇疆 |
+| 妗f鍊熼槄瀹℃壒 | `archive_borrow_approve` | 1 | **涓ょ骇**锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒 |
+
+**涓氬姟闆嗘垚鏈哄埗锛堟祦绋嬬洃鍚櫒鍥炲啓锛�**锛氳繖鏄湰鏂规鐨勫叧閿妧鏈璁°�備笟鍔″崟鎹彁浜ゅ鎵规椂锛岄�氳繃娴佺▼瀹炰緥鎺ュ彛鍒涘缓娴佺▼瀹炰緥骞朵互涓氬姟鍗曟嵁 ID 浣滀负"涓氬姟 Key"锛坄businessKey`锛夛紱娴佺▼鐘舵�佸彉鍖栨椂锛岀敱璇ヤ笟鍔℃ā鍧楁敞鍐岀殑**鐘舵�佷簨浠剁洃鍚櫒**鎺ユ敹浜嬩欢锛屾寜 `businessKey` 鍙嶆煡涓氬姟鍗曟嵁骞跺洖鍐欑姸鎬併�傛満鍒剁壒鐐癸細
+
+1. **澶氱洃鍚櫒骞惰**锛氫笉鍚屾祦绋� Key 娉ㄥ唽鍚勮嚜鐨勭洃鍚櫒锛屼簰涓嶅共鎵帮紙濡傛姤閿�鐩戝惉鍣ㄤ笌妗f鍊熼槄鐩戝惉鍣ㄨ闃呬笉鍚屾祦绋嬶級锛�
+2. **鍒嗘敮瀹归敊**锛氱洃鍚櫒鍐呴儴瀵�"瀹℃壒閫氳繃""瀹℃壒椹冲洖""鎾ゅ洖锛忓彇娑�"涓夌被缁撴灉鍒嗗埆澶勭悊锛屾瘡绫诲垎鏀嫭绔嬫崟鑾峰紓甯革紝鍗曟鍥炲啓澶辫触涓嶅奖鍝嶅叾浠栦笟鍔★紱
+3. **鍏堣В娴佺▼鍚庡缓鍗�**锛氭彁浜ゅ墠鍏堣В鏋愬彲鐢ㄧ殑娴佺▼瀹氫箟锛岃嫢鏈厤缃垯鐩存帴鎷掔粷骞剁粰鍑哄彲鎿嶄綔鐨勬彁绀猴紙鎸囧紩鍒�"娴佺▼瀹氫箟"椤甸潰鍙戝竷锛夛紝閬垮厤浜х敓鏃犳祦绋嬬殑瀛ゅ効鑽夌锛�
+4. **闃查噸澶嶅�熷嚭鐨勫苟鍙戞帶鍒�**锛堟。妗堝�熼槄鍦烘櫙锛夛細瀹℃壒閫氳繃鏃朵互**鏉′欢鏇存柊**鏂瑰紡灏嗘。妗堢姸鎬佺敱"鍦ㄥ簱"鏀逛负"鍊熷嚭涓�"锛坄UPDATE ... WHERE id = ? AND status = 10`锛夈�傝嫢妗f宸茶鍏朵粬鍊熼槄鍗曞崰鐢紝鏇存柊褰卞搷琛屾暟涓� 0锛屾鏃舵姏鍑烘槑纭笟鍔″紓甯稿苟鏁翠綋鍥炴粴鍊熼槄鍗曠殑鐘舵�佸洖鍐欙紝**淇濊瘉涓嶄細鍑虹幇"涓や唤鍊熼槄鍗曞悓鏃跺�熷嚭鍚屼竴妗f"鐨勮剰鏁版嵁锛屼笖澶辫触淇℃伅瀵圭敤鎴峰彲瑙�**锛堟彁绀烘。妗堝凡琚崰鐢ㄥ強鍗犵敤鐨勫�熼槄鍗曞彿锛夈��
+
+### 3.3 缁熶竴闄勪欢涓績
+
+鎵�鏈変笟鍔¢檮浠剁粺涓�璧扮郴缁熺鐞嗙殑闄勪欢涓績锛�**涓氬姟琛ㄩ浂鏂囦欢瀛楁**锛�
+
+| 姝ラ | 鎺ュ彛 | 璇存槑 |
+|---|---|---|
+| 1. 涓婁紶 | `POST /system/storage-blob/upload` | 涓婁紶鏂囦欢寰楀埌鏂囦欢 ID锛坄blobId`锛� |
+| 2. 缁戝畾 | `POST /system/storage-attachment/bind` | 浠� `recordType`锛堜笟鍔℃爣璇嗭級+ `recordId`锛堝崟鎹� ID锛�+ `blobId` 寤虹珛鍏宠仈 |
+| 3. 鏌ヨ | `GET /system/storage-attachment/list` | 鎸� `recordType` + `recordId` 鍙栧洖闄勪欢鍒楄〃 |
+| 4. 鍒犻櫎 | `DELETE /system/storage-attachment/delete` | 瑙i櫎鍏宠仈 |
+
+**recordType 鍛藉悕瑙勮寖**锛歚{妯″潡鍓嶇紑}_{涓氬姟琛ㄥ悕}`锛屾湰鏈熶娇鐢ㄥ涓嬶細
+
+| 涓氬姟瀵硅薄 | recordType |
+|---|---|
+| 妗f | `archive_document` |
+| 璐㈠姟鎶ラ攢鍗曪紙鍙戠エ锛� | `finance_reimbursement` |
+| 鍏ヤ細鐢宠锛堝叆浼氭潗鏂欙級 | `ums_application` |
+| 浼氬憳锛堜細鍛樻潗鏂欙級 | `ums_member` |
+| 璇鹃鎸囧崡 | `research_guideline` |
+| 璇鹃鐢虫姤涔� | `research_application` |
+| 璇鹃涓撳璇勫鏄庣粏 | `research_topic_review` |
+| 璇鹃缁忚垂鎷ㄤ粯鍑瘉 | `research_fund_record` |
+| 浼佷笟寰俊娲诲姩鎶ュ悕鏉愭枡 | `wxcp_activity_signup` |
+
+璇ユ満鍒剁殑浠峰�硷細涓�娆℃姇鍏ュ叏灞�澶嶇敤鈥斺�斿闄勪欢銆佸鐢ㄩ�斻�佸瓨鍌ㄤ粙璐ㄥ彲鍒囨崲銆佹潈闄愬彲鐙珛鎺у埗锛屼笖涓氬姟琛ㄧ粨鏋勪笉鍙楁枃浠跺瓨鍌ㄦ柟寮忓奖鍝嶃��
+
+### 3.4 缁熶竴缂栫爜瑙勫垯
+
+鍗曟嵁缂栧彿鐢辩郴缁熺鐞嗙殑"缂栫爜瑙勫垯"缁熶竴鐢熸垚锛坄/system/auto-code`锛夛紝閲囩敤"鍓嶇紑 + 鏃ユ湡 + 娴佹按鍙�"鏍煎紡锛屼繚璇佸敮涓�鎬т笌涓氬姟鍙鎬с�傛湰鏈熷悇鍗曟嵁缂栧彿鍓嶇紑濡備笅锛�
+
+| 鍗曟嵁 | 鍓嶇紑 | 绀轰緥 |
+|---|---|---|
+| 鍏ヤ細鐢宠鍗� | `SQ` | `SQ20260928000001` |
+| 浼氬憳 | `HY` | `HY20260928000001` |
+| 璇鹃鎸囧崡 | `GL` | `GL20260928000001` |
+| 璇鹃鐢虫姤涔� | `SB` | `SB20260928000001` |
+| 璇鹃绔嬮」缂栧彿 | `LX` | `LX20260928000001` |
+| 璐㈠姟鎶ラ攢鍗� | `BX` | `BX20260928000001` |
+| 妗f缂栧彿 | `DA` | `DA20260929000001` |
+| 妗f鍊熼槄鍗曞彿 | `JY` | `JY20260929000001` |
+
+### 3.5 缁熶竴娑堟伅涓庨�氱煡
+
+骞冲彴鎻愪緵涓夋潯瑙﹁揪閫氶亾锛屾寜鍦烘櫙閫夋嫨锛�
+
+| 閫氶亾 | 鎵胯浇浣嶇疆 | 鍏稿瀷鍦烘櫙 |
+|---|---|---|
+| 绔欏唴淇� | 绯荤粺绠$悊 鈫� 娑堟伅涓績 鈫� 绔欏唴淇$鐞� | 瀹℃壒寰呭姙鎻愰啋銆佺郴缁熼�氱煡 |
+| 鐭俊 | 绯荤粺绠$悊 鈫� 娑堟伅涓績 鈫� 鐭俊绠$悊 | 閲嶈鑺傜偣鎻愰啋锛堝彲瀵规帴杩愯惀鍟嗛�氶亾锛� |
+| 閭欢 | 绯荤粺绠$悊 鈫� 娑堟伅涓績 鈫� 閭绠$悊 | 姝e紡閫氱煡銆佹潗鏂欏彂閫� |
+| **浼佷笟寰俊鎺ㄩ��** | 浼佷笟寰俊 鈫� 閫氱煡绠$悊锛忔椿鍔ㄧ鐞� | 闈㈠悜鎴愬憳鐨勬椿鍔ㄤ笌閫氱煡鎺ㄩ�侊紝鏀寔"鍏ㄥ憳锛忔寚瀹氶儴闂紡鎸囧畾鎴愬憳"涓夌鑼冨洿 |
+
+**浼佷笟寰俊閫氶亾鑳藉姏**锛氫互瀹樻柟浼佷笟寰俊 SDK 瀵规帴锛屽疄鐜帮細
+
+- **閫氳褰曞悓姝�**锛氬疄鏃舵媺鍙栦紒涓氬井淇¢儴闂ㄦ爲涓庢垚鍛樺垪琛紙`/wxcp/member/department/tree`銆乣/wxcp/member/list`锛夛紝渚涙帹閫佹椂閫変汉锛�
+- **娑堟伅鎺ㄩ��**锛氭寜鑼冨洿鎺ㄩ�侀�氱煡鎴栨椿鍔紝杩斿洖鎺ㄩ�佺粨鏋滐紙鎴愬姛锛忓け璐ヤ汉鏁帮級锛�
+- **鍥炶皟鎺ユ敹**锛氭帴鏀朵紒涓氬井淇$殑 URL 楠岃瘉涓庢秷鎭紡浜嬩欢鎺ㄩ�侊紙杩涘叆搴旂敤銆佸叧娉ㄣ�侀�氳褰曞彉鏇淬�佹枃鏈秷鎭級锛屾敮鎸佸姞瀵嗙鍚嶆牎楠屼笌娑堟伅瑙e瘑鍥炴墽锛�
+- **鎶ュ悕浜岀淮鐮�**锛氫负娲诲姩鐢熸垚鎶ュ悕浜岀淮鐮侊紙PNG锛屽彲鐩存帴灞曠ず鎴栨墦鍗帮級锛屼簩缁寸爜鎸囧悜鍦ㄧ嚎鎶ュ悕椤碉紝鎴愬憳鎵爜鍗冲彲鎶ュ悕銆�
+
+### 3.6 璺ㄦā鍧楀綊妗h仈鍔紙鏈柟妗堟牳蹇冧寒鐐癸級
+
+**闂**锛氳棰樼敵鎶ユ潗鏂欍�佷細鍛樻潗鏂欍�佽储鍔″嚟璇佸ぉ鐒朵骇鐢熶簬鍚勮嚜涓氬姟妯″潡锛岃嫢鏃犲綊闆嗘満鍒讹紝蹇呯劧褰㈡垚"涓氬姟绯荤粺閲屾湁涓�浠姐�佹。妗堟煖閲屽彟涓�浠姐�佹绱㈡椂涓よ竟閮芥壘涓嶅埌"鐨勫垎瑁傚眬闈€��
+
+**瑙e喅鎬濊矾**锛氱敱妗f妯″潡瀵瑰鏆撮湶涓�缁勬爣鍑嗘帴鍙o紝涓氬姟妯″潡鍦ㄥ悎閫傜殑鏃剁偣璋冪敤锛屼竴娆℃�у畬鎴�"鐢熸垚妗f + 缁戝畾闄勪欢 + 鍥炲啓鏉ユ簮鏍囪"銆�
+
+**鎺ュ彛璁捐**锛堟。妗堟ā鍧楀澶� RPC 鎺ュ彛锛屽寘璺緞 `archive/api/document`锛夛細
+
+| 鎺ュ彛 | 璇箟 |
+|---|---|
+| 鎸夋潵婧愬綊妗� | 鍏ュ弬鍚潵婧愮被鍨嬨�佹潵婧愬崟鎹� ID銆佹潵婧愬崟鍙枫�佹潵婧愭爣棰樸�佺洰鏍囨。妗堝垎绫荤紪鐮併�佸瘑绾с�侀檮浠� ID 鍒楄〃绛夛紱杩斿洖鐢熸垚鐨勬。妗� ID |
+| 鏄惁宸插綊妗� | 鎸夋潵婧愮被鍨� + 鏉ユ簮鍗曟嵁 ID 鏌ヨ鏄惁宸插綊妗� |
+| 鎸夋潵婧愭煡璇㈡。妗� | 杩斿洖宸插綊妗f。妗堢殑缂栧彿銆佹爣棰樸�佸瘑绾с�佽浇浣撱�佺姸鎬併�佸綊妗f棩鏈熺瓑 |
+
+**褰掓。骞傜瓑淇濋殰锛堜笁绾ч槻鎶わ級**锛�
+
+1. **涓氬姟渚х煭璺�**锛氬厛鎸�"鏉ユ簮绫诲瀷 + 鏉ユ簮鍗曟嵁 ID"鏌ヨ鏄惁宸插瓨鍦ㄦ。妗堬紝鍛戒腑鍒欑洿鎺ヨ繑鍥炴棦鏈夋。妗� ID锛屼笉閲嶅鐢熸垚锛�
+2. **鏉ユ簮琛ㄥ洖鍐欐爣璁�**锛氬綊妗f垚鍔熷悗锛屽悜鏉ユ簮涓氬姟琛ㄥ洖鍐欐。妗� ID锛坄archive_document_id`锛夈�傚墠绔嵁姝ゆ樉绀�"宸插綊妗�"骞堕殣钘忓綊妗f寜閽紱
+3. **閲嶅褰掓。鎷︽埅**锛氳嫢缁曡繃鍓嶄袱绾ч槻鎶ら噸澶嶅綊妗o紝浠嶄細鎶涘嚭鏄庣‘寮傚父锛屾彁绀烘潵婧愬崟鍙蜂笌宸茬敓鎴愮殑妗f缂栧彿锛堜究浜庣敤鎴风洿鎺ュ畾浣嶅苟璺宠浆锛夈��
+
+**涓夋柟褰掓。鑱斿姩鏄庣粏**锛�
+
+| 鏉ユ簮妯″潡 | 瑙﹀彂鏉′欢 | 鐩爣妗f鍒嗙被 | 瀵嗙骇 | 甯﹀叆鍐呭 | 鏉ユ簮琛ㄥ洖鍐� |
+|---|---|---|---|---|---|
+| 璇鹃绠$悊 | 鐢虫姤涔︾姸鎬佷负"宸茬珛椤�" | 璇鹃妗f | 鍐呴儴锛�2锛� | 绔嬮」缂栧彿浣滀负鏉ユ簮鍗曞彿锛涚敵鎶ヤ功闄勪欢闅忔。甯﹀叆 | `research_application.archive_document_id` |
+| 浼氬憳绠$悊 | 浼氬憳鐘舵�佷负"姝e父" | 浼氬憳妗f | 鍐呴儴锛�2锛� | 浼氬憳缂栧彿浣滀负鏉ユ簮鍗曞彿锛涗細鍛樻潗鏂欓殢妗e甫鍏� | `ums_member.archive_document_id` |
+| 璐㈠姟鎶ラ攢 | 鎶ラ攢鍗曠姸鎬佷负"宸查�氳繃" | 璐㈠姟妗f | **淇濆瘑锛�3锛�** | 鎶ラ攢鍗曞彿浣滀负鏉ユ簮鍗曞彿锛涘彂绁ㄩ檮浠堕殢妗e甫鍏� | `finance_reimbursement.archive_document_id` |
+
+**璐㈠姟鍦烘櫙鐨勭壒娈婂鐞嗭紙鍙犲姞鑰岄潪鏇挎崲锛�**锛氳储鍔℃姤閿�鍘熸湁鐨�"褰掓。"鍔ㄤ綔璐熻矗灏嗘姤閿�鍗曡嚜韬姸鎬佺敱"宸查�氳繃"鏀逛负"宸插綊妗�"骞惰褰曞綊妗f椂闂达紱鏈柟妗堝湪姝ゅ熀纭�涓�**杩藉姞**鐢熸垚璐㈠姟妗f銆備袱鑰呭啓鍏ヤ笉鍚屾暟鎹〃銆佽涔夋浜わ紝涓斿湪鍚屼竴浜嬪姟鍐呭畬鎴愨�斺�斿嵆锛�**褰掓。鎴愬姛 = 鎶ラ攢鍗曠姸鎬佸凡褰掓。 + 璐㈠姟妗f宸茬敓鎴愶紝浜岃�呰涔堝悓鏃舵垚鍔燂紝瑕佷箞鍚屾椂鍥炴粴**锛屼笉浼氬嚭鐜�"鎶ラ攢鍗曞綊妗d簡浣嗘。妗堟病鐢熸垚"鐨勫崐鎴愬搧銆�
+
+**褰掓。甯︽潵鐨勪笟鍔′环鍊�**锛�
+
+- 褰掓。鍚庣殑鏉愭枡杩涘叆缁熶竴鐨勬。妗堟绱紙鎸夋爣棰樸�佸叧閿瘝銆佹潵婧愬崟鍙枫�佸垎绫汇�佸瘑绾с�佺姸鎬佸缁存绱級锛�
+- 璐㈠姟绫绘。妗堣嚜鍔ㄨ惤鍏�"淇濆瘑"瀵嗙骇锛屽ぉ鐒跺彈鏉冮檺闅旂淇濇姢锛�
+- 妗f鍙鍊熼槄骞惰蛋涓ょ骇瀹℃壒锛屽舰鎴�"褰掓。 鈥� 鍊熼槄 鈥� 褰掕繕"鐨勫畬鏁撮棴鐜紱
+- 妗f缁熻鍙疄鏃跺弽鏄犲悇绫绘。妗堢殑瀛橀噺涓庢祦杞��
+
+### 3.7 妯″潡闂存暟鎹祦鎬昏
+
+```
+                       鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+   鍏ヤ細鐢宠 鈹�鈹�瀹℃壒鈹�鈹�鈻�  鈹�      浼氬憳绠$悊         鈹�
+   (ums_application)   鈹�      (ums_member)    鈹�
+                       鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+                                  鈹� 褰掓。锛堜細鍛樻潗鏂欙級
+                       鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈻尖攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+   璇鹃鎸囧崡 鈹�鈻� 璇鹃鐢虫姤 鈹�                      鈹�
+   鈹�鈻� 涓撳璇勫 鈹�鈻� 绔嬮」  鈹�      妗f绠$悊         鈹�
+   (research_*)        鈹�   (archive_document) 鈹�
+        鈹�              鈹�                      鈹�
+        鈹� 褰掓。锛堣棰樻潗鏂欙級鈹�  鍒嗙被鏍� / 妗f涓昏〃    鈹�
+        鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈻垛攤  鍊熼槄鍗� / 缁熻        鈹�
+                       鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈻测攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+                                  鈹� 褰掓。锛堣储鍔″嚟璇� 鈫� 淇濆瘑锛�
+                       鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹粹攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+   鎶ラ攢鍗� 鈹�鈹�瀹℃壒鈹�鈹�鈻�     鈹�      璐㈠姟鎶ラ攢         鈹�
+   (finance_*)         鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+
+        鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+        鈹�  鍗忓悓鍔炲叕锛圔PM 瀹℃壒寮曟搸锛�              鈹�
+        鈹�  涓轰互涓婂洓绫讳笟鍔℃彁渚涚粺涓�鐨勫鎵规祦杞兘鍔�   鈹�
+        鈹�  鍏ヤ細瀹℃壒 / 璇鹃绔嬮」瀹℃壒 / 鎶ラ攢瀹℃壒 /   鈹�
+        鈹�  妗f鍊熼槄瀹℃壒                          鈹�
+        鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+
+        鈹屸攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+        鈹�  浼佷笟寰俊锛氬皢閫氱煡 / 娲诲姩鎺ㄩ�佽嚦鎴愬憳      鈹�
+        鈹�  绯荤粺绠$悊锛氳韩浠� / 鏉冮檺 / 瀛楀吀 / 闄勪欢 /   鈹�
+        鈹�  缂栫爜 / 娑堟伅 / 瀹¤锛屾敮鎾戜互涓婂叏閮�       鈹�
+        鈹斺攢鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+```
+
+**鍥涙潯璐�氶摼**锛屽彲鐩存帴浣滀负婕旂ず涓庨獙鏀朵富绾匡細
+
+| 閾捐矾 | 娴佽浆杩囩▼ |
+|---|---|
+| 浼氬憳閾� | 鎻愪氦鍏ヤ細鐢宠 鈫� BPM 鍏ヤ細瀹℃壒 鈫� 瀹℃壒閫氳繃鐢熸垚浼氬憳 鈫� 涓�閿綊妗g敓鎴愪細鍛樻。妗� 鈫� 鍊熼槄瀹℃壒 鈫� 褰掕繕 |
+| 璇鹃閾� | 鍙戝竷璇鹃鎸囧崡 鈫� 鎻愪氦璇鹃鐢虫姤涔� 鈫� 绔嬮」瀹℃壒锛堝绾э級鈫� 涓撳璇勫鎵撳垎 鈫� 绔嬮」 鈫� 缁忚垂鎷ㄤ粯锛堝彲鍏宠仈鎶ラ攢锛夆啋 鍙戝竷绔嬮」閫氱煡 鈫� 涓�閿綊妗g敓鎴愯棰樻。妗� |
+| 璐㈠姟閾� | 鍒涘缓鎶ラ攢鍗曪紙鍚鏉℃槑缁嗕笌鍙戠エ闄勪欢锛夆啋 鎻愪氦鎶ラ攢瀹℃壒 鈫� 瀹℃壒閫氳繃 鈫� 褰掓。锛堟姤閿�鍗曠姸鎬佺疆"宸插綊妗�" + 鐢熸垚淇濆瘑绾ц储鍔℃。妗堬級 |
+| 瑙﹁揪閾� | 鍒涘缓浼佷笟寰俊娲诲姩锛忛�氱煡 鈫� 閫夋嫨鎺ㄩ�佽寖鍥达紙鍏ㄥ憳锛忛儴闂紡鎴愬憳锛夆啋 鎺ㄩ�� 鈫� 浼氬憳鎵爜鎶ュ悕 鈫� 绛惧埌 鈫� 鏌ョ湅鎶ュ悕缁熻 |
+
+### 3.8 瀵瑰寮�鏀炬帴鍙h鑼�
+
+| 瑙勮寖椤� | 鍐呭 |
+|---|---|
+| 椋庢牸 | RESTful锛岀粺涓�鍓嶇紑 `/admin-api` |
+| 鏂规硶璇箟 | `GET` 鏌ヨ銆乣POST` 鏂板銆乣PUT` 鏇存柊銆乣DELETE` 鍒犻櫎 |
+| 缁熶竴杩斿洖浣� | `{ "code": 0, "data": ..., "msg": "..." }`锛沗code = 0` 琛ㄧず鎴愬姛锛岄潪 0 涓轰笟鍔¢敊璇爜骞堕檮鍙鎻愮ず |
+| 鍒嗛〉 | 缁熶竴 `pageNo` / `pageSize` 鍏ュ弬锛岃繑鍥� `list` + `total` |
+| 閴存潈 | 璇锋眰澶存惡甯� `Authorization: Bearer <token>` |
+| 鎺ュ彛鏂囨。 | 鎸夋ā鍧楀垎缁勮嚜鍔ㄧ敓鎴� OpenAPI 鏂囨。锛屽彲鍦ㄧ嚎璋冭瘯 |
+| 閿欒鎻愮ず | 閬靛惊"鍏蜂綋缁村害 + 鍙屾柟瀹為檯鍊� + 鍙墽琛屽姩浣�"鍘熷垯锛岀姝㈢缁熸彁绀猴紝渚夸簬杩愮淮涓庣敤鎴疯嚜鍔╂帓闅� |
+
+### 3.9 闆嗘垚娓呭崟姹囨��
+
+| 闆嗘垚瀵硅薄 | 闆嗘垚鏂瑰紡 | 璇存槑 |
+|---|---|---|
+| 浼佷笟寰俊 | 瀹樻柟 SDK锛堟湇鍔$ API + 鍥炶皟锛� | 閫氳褰曞悓姝ャ�佹秷鎭帹閫併�佹椿鍔ㄦ姤鍚嶄簩缁寸爜銆佸洖璋冩帴鏀� |
+| 鐭俊鏈嶅姟鍟� | 鍙厤缃煭淇¢�氶亾 | 鐭俊閫氱煡锛堟帴鍙i鐣欙紝鎸夐渶寮�閫氾級 |
+| 閭欢鏈嶅姟鍣� | SMTP | 閭欢閫氱煡 |
+| 瀵硅薄瀛樺偍 | 鏈湴锛廠3 鍏煎 | 闄勪欢浜岃繘鍒跺瓨鍌紝閰嶇疆鍒囨崲 |
+| 缁熶竴韬唤锛堝彲閫夛級 | OAuth2 / 涓夋柟鐧诲綍 | 鍙鎺ユ棦鏈夎处鍙蜂綋绯诲疄鐜板崟鐐圭櫥褰� |
+| 寮�鏀捐兘鍔� | OpenAPI + API 瀵嗛挜绠$悊 | 渚涚涓夋柟绯荤粺鎸夋潈闄愯皟鐢ㄥ钩鍙版帴鍙� |
+
+---
+
+## 鍥涖�佸姛鑳芥柟妗�
+
+浠ヤ笅閫愪釜瀛愮郴缁熺粰鍑哄姛鑳芥竻鍗曘�傛瘡鑺傚寘鍚細妯″潡瀹氫綅銆佸姛鑳芥竻鍗曘�佸叧閿暟鎹」涓庣姸鎬佹満銆佷笌鍏朵粬妯″潡鐨勫崗鍚屽叧绯汇��
+
+### 4.1 鍗忓悓鍔炲叕锛坄/bpm`锛�
+
+#### 4.1.1 妯″潡瀹氫綅
+
+鍏ㄥ钩鍙扮殑**瀹℃壒涓庢祦绋嬪簳搴�**銆傚畠涓嶆壙杞藉叿浣撲笟鍔℃暟鎹紝鑰屾槸涓鸿储鍔℃姤閿�銆佷細鍛樼鐞嗐�佽棰樼鐞嗐�佹。妗堝�熼槄绛変笟鍔℃彁渚�"鍙厤缃�佸彲杩芥函銆佸彲骞查"鐨勬祦绋嬫祦杞兘鍔涳紝骞舵彁渚涢�氱煡鍏憡涓庤交閲� OA 搴旂敤銆�
+
+#### 4.1.2 鍔熻兘娓呭崟
+
+**锛�1锛夋祦绋嬬鐞�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 娴佺▼妯″瀷 | 鍦ㄧ嚎鍙鍖栫粯鍒� BPMN 2.0 娴佺▼鍥惧苟鍙戝竷锛涙敮鎸佺敤鎴蜂换鍔°�佹潯浠跺垎鏀�佸苟琛岀綉鍏筹紱鏀寔浼氱锛堝浜哄悓鏃跺鎵癸級銆佹垨绛撅紙浠讳竴浜哄鎵癸級銆佷緷娆″鎵癸紙鎸夐『搴忛�愪竴瀹℃壒锛夌瓑澶氫汉瀹℃壒妯″紡 |
+| 娴佺▼琛ㄥ崟 | 閰嶇疆娴佺▼缁戝畾鐨勮〃鍗曪紝鏀寔涓ょ妯″紡锛氣憼 鑷畾涔夎〃鍗曗�斺�斿湪绾挎嫋鎷借璁″瓧娈碉紝鏃犻渶寮�鍙戯紱鈶� 涓氬姟琛ㄥ崟鈥斺�旂洿鎺ョ粦瀹氫笟鍔$郴缁熸棦鏈夐〉闈紝涓氬姟鏁版嵁涓庢祦绋嬫暟鎹悓灞忓睍绀� |
+| 娴佺▼鍒嗙被 | 鎸変笟鍔″煙瀵规祦绋嬪綊绫伙紙濡�"鍏ヤ細瀹℃壒""璇鹃绔嬮」瀹℃壒""鎶ラ攢瀹℃壒""妗f鍊熼槄瀹℃壒"锛夛紝鏀寔鍚敤锛忓仠鐢� |
+| 鐢ㄦ埛鍒嗙粍 | 灏嗗鎵逛汉缁存姢涓洪�昏緫鍒嗙粍锛屾祦绋嬩腑鎸夊垎缁勬淳鍙戜换鍔★紝浜哄憳鍙樺姩鏃跺彧闇�璋冩暣鍒嗙粍锛屾棤闇�閫愭潯淇敼娴佺▼ |
+| 娴佺▼鐩戝惉鍣� | 閰嶇疆娴佺▼浜嬩欢鐩戝惉鍣紙Java 绫伙紡浜嬩欢鐩戝惉锛夛紝瀹炵幇娴佺▼鐘舵�佸彉鍖栨椂鑷姩鍥炲啓涓氬姟鍗曟嵁鐘舵�侊紝鏄笟鍔¢泦鎴愮殑鏍稿績鏈哄埗 |
+| 娴佺▼琛ㄨ揪寮� | 瀹氫箟鍙鐢ㄧ殑瀹℃壒浜鸿〃杈惧紡涓庢潯浠惰〃杈惧紡 |
+| 涓氬姟闄勪欢閰嶇疆 | 閽堝娴佺▼涓庤妭鐐归厤缃檮浠朵笂浼犺姹傦紝瀹炵幇"鍝簺鐜妭蹇呴』涓婁紶鏉愭枡"鐨勬祦绋嬬骇绾︽潫 |
+| 娴佺▼瀹炰緥 | 鏌ヨ杩愯涓笌宸插畬鎴愮殑娴佺▼瀹炰緥锛屾煡鐪嬪綋鍓嶈妭鐐广�佸鎵逛汉銆佹祦杞建杩逛笌鍘嗗彶璁板綍锛涙敮鎸佺粓姝㈢瓑绠$悊骞查 |
+| 娴佺▼浠诲姟 | 鏌ヨ鍏ㄩ儴娴佺▼浠诲姟锛屾敮鎸佸鎵癸紙鍚屾剰锛忛┏鍥烇紡閫�鍥烇級銆佸姞绛俱�佽浆娲俱�佹妱閫佺瓑鎿嶄綔 |
+
+**锛�2锛夊鎵逛腑蹇�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鎴戠殑寰呭姙 | 鍒楀嚭褰撳墠鐢ㄦ埛寰呭鐞嗙殑浠诲姟锛屽彲鐩存帴瀹℃壒锛涙敮鎸佹壒閲忔搷浣� |
+| 鎴戠殑宸插姙 | 鍒楀嚭褰撳墠鐢ㄦ埛宸插鐞嗙殑浠诲姟锛屽彲鍥炴函鏌ョ湅瀹℃壒鎰忚涓庤�楁椂 |
+| 鎴戝彂璧风殑 | 鍒楀嚭褰撳墠鐢ㄦ埛鍙戣捣鐨勬祦绋嬶紝鍙窡韪繘搴︺�佹挙鍥炴湭瀹屾垚娴佺▼ |
+| 鎶勯�佹垜鐨� | 鍒楀嚭鎶勯�佺粰褰撳墠鐢ㄦ埛鐨勬祦绋嬶紝鍙煡闃呬絾涓嶅弬涓庡鎵� |
+| 娴佺▼璇︽儏 | 灞曠ず涓氬姟琛ㄥ崟鍐呭 + 娴佺▼鍥捐建杩� + 閫愯妭鐐瑰鎵硅褰曪紙瀹℃壒浜恒�佹椂闂淬�佹剰瑙併�佺粨鏋滐級 |
+
+**锛�3锛夐�氱煡鍏憡**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鍏憡绠$悊 | 鍏憡鐨勫垱寤恒�佺紪杈戙�佸彂甯冦�佹挙鍥烇紝鏀寔瀵屾枃鏈鏂囦笌闄勪欢 |
+| 闃呰鍥炴墽 | 璁板綍鍏憡鐨勯槄璇绘儏鍐碉紝渚夸簬纭鍏抽敭閫氱煡宸茶Е杈� |
+
+**锛�4锛塐A 搴旂敤**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 璇峰亣鐢宠 | 鎻愪緵閮ㄩ棬璇峰亣鐢宠涓庡鎵圭殑鏍囧噯绀轰緥锛岄獙璇佹祦绋嬪紩鎿庣殑閫氱敤鎬э紱鍙綔涓哄叾瀹冭交閲� OA 鍗曟嵁鐨勬ā鏉� |
+
+**锛�5锛夋櫤鑳借兘鍔涘叆鍙�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 澶фā鍨� API 瀵嗛挜绠$悊 | 缁存姢澶фā鍨嬫湇鍔″晢鐨勬帴鍏ュ瘑閽� |
+| 妯″瀷绠$悊 | 缁存姢鍙敤鐨勫ぇ妯″瀷娓呭崟涓庡弬鏁伴厤缃� |
+| 鐭ヨ瘑搴撶鐞� | 鏋勫缓涓氬姟鐭ヨ瘑搴擄紝鐢ㄤ簬鏅鸿兘闂瓟涓庢枃鏈緟鍔╃敓鎴� |
+
+> 璇存槑锛氫笂杩版櫤鑳借兘鍔涗负骞冲彴澧炲己椤癸紝鍙寜鎷涙爣浜鸿姹傚惎鐢ㄦ垨鍏抽棴锛屼笉褰卞搷涓冨ぇ瀛愮郴缁熺殑鏍稿績涓氬姟鍔熻兘銆�
+
+#### 4.1.3 鍏抽敭璁捐
+
+| 璁捐鐐� | 璇存槑 |
+|---|---|
+| 琛ㄥ崟鍙屾ā | 鑷畾涔夎〃鍗曢�傚悎绠�鍗曞鎵癸紙濡傝鍋囷級锛涗笟鍔¤〃鍗曢�傚悎澶嶆潅涓氬姟锛堝鎶ラ攢鍗曘�佺敵鎶ヤ功锛夛紝鐩存帴澶嶇敤涓氬姟椤甸潰锛岄伩鍏嶉噸澶嶅紑鍙戣〃鍗� |
+| 瀹℃壒浜虹瓥鐣� | 鏀寔瑙掕壊銆侀儴闂ㄣ�佺敤鎴枫�佺敤鎴风粍銆佸彂璧蜂汉鑷�夈�佷笂绾т富绠°�佽繛缁绾т富绠′竷绫荤瓥鐣ワ紝瑕嗙洊瀛︿細甯歌瀹℃壒鍏崇郴 |
+| 缁撴灉鍥炲啓 | 娴佺▼缁撴灉閫氳繃鐩戝惉鍣ㄥ洖鍐欎笟鍔″崟鎹紝涓氬姟妯″潡鏃犻渶杞锛岀姸鎬佸疄鏃朵竴鑷� |
+| 娴佺▼鍙共棰� | 绠$悊鍛樺彲鏌ョ湅鍏ㄩ儴瀹炰緥涓庝换鍔★紝蹇呰鏃剁粓姝㈡祦绋嬶紝閬垮厤娴佺▼鍗℃瀵艰嚧涓氬姟鍋滄粸 |
+
+#### 4.1.4 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+鍗忓悓鍔炲叕鏄�"琚緷璧栨柟"锛氳储鍔℃姤閿�銆佷細鍛樼鐞嗐�佽棰樼鐞嗐�佹。妗堝�熼槄鍧囧湪姝ょ櫥璁版祦绋嬪畾涔夊苟澶嶇敤鍏跺鎵硅兘鍔涖�傚凡閮ㄧ讲鐨勭浉鍏虫祦绋嬪畾涔夎 3.2 鑺傘��
+
+---
+
+### 4.2 璐㈠姟鎶ラ攢锛坄/finance`锛�
+
+#### 4.2.1 妯″潡瀹氫綅
+
+瀛︿細缁忚垂鏀嚭鐨�**鐢宠銆佸鎵逛笌褰掓。**闂幆銆傝В鍐崇焊璐ㄦ姤閿�"瀹℃壒灞傜骇闈犱汉宸ュ垽鏂�佸彂绁ㄦ棤娉曞叧鑱斻�佸嚟璇佹棤娉曞綊妗�"鐨勯棶棰樸��
+
+#### 4.2.2 鍔熻兘娓呭崟
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鎶ラ攢鍗曟柊澧� | 褰曞叆鎶ラ攢鏍囬銆佺敵璇锋棩鏈熴�佹姤閿�浜嬬敱锛涙坊鍔犲鏉℃姤閿�鏄庣粏锛堣垂鐢ㄧ被鍨嬨�侀噾棰濄�佸彂鐢熸棩鏈熴�佽鏄庯級锛岀郴缁熻嚜鍔ㄥ悎璁℃姤閿�鎬婚噾棰� |
+| 鎶ラ攢鏄庣粏 | 涓�鍗曞琛岃垂鐢ㄩ」锛岃垂鐢ㄧ被鍨嬬敱瀛楀吀椹卞姩锛氬樊鏃呫�佸姙鍏�佹嫑寰呫�佷氦閫氥�佸叾浠� |
+| 鍙戠エ闄勪欢涓婁紶 | 閫氳繃缁熶竴闄勪欢涓績涓婁紶鍙戠エ褰卞儚锛屾敮鎸佸寮狅紱鍒楄〃涓庤鎯呮樉绀�"鏄惁涓婁紶鍙戠エ"鏍囪瘑 |
+| 鎶ラ攢鍗曠紪杈� | 淇敼鍗曟嵁涓庢槑缁嗭紱鎸夌姸鎬佺害鏉熷彲缂栬緫鑼冨洿锛堝鎵逛腑锛忓凡閫氳繃锛忓凡褰掓。涓嶅厑璁哥紪杈戯級 |
+| 鎶ラ攢鍗曞垹闄� | 鎸夌姸鎬佺害鏉熷彲鍒犻櫎鑼冨洿锛岄伩鍏嶅凡娴佽浆鍗曟嵁琚鍒� |
+| 鍒嗛〉鏌ヨ涓庢绱� | 鎸夋姤閿�鍗曞彿銆佹爣棰樸�佺姸鎬併�佺敵璇蜂汉銆佺敵璇锋棩鏈熷尯闂存绱紱鍒嗛〉灞曠ず |
+| Excel 瀵煎嚭 | 鎸夊綋鍓嶆绱㈡潯浠跺鍑烘姤閿�鍗曟槑缁嗭紝瀛楁鍚崟鍙枫�佹爣棰樸�侀噾棰濄�佺姸鎬併�佺敵璇蜂汉銆佺敵璇锋棩鏈熴�佸綊妗f椂闂寸瓑锛涘鍑哄姩浣滆褰曟搷浣滄棩蹇� |
+| 鎻愪氦瀹℃壒 | 閫夋嫨鍙敤鐨勬姤閿�瀹℃壒娴佺▼骞舵彁浜わ紝娴佺▼瀹炰緥鍒涘缓鍚庡崟鎹繘鍏�"瀹℃壒涓�" |
+| 瀹℃壒缁撴灉鍥炲啓 | 瀹℃壒閫氳繃 鈫� "宸查�氳繃"锛涘鎵归┏鍥� 鈫� "宸查┏鍥�"锛堣褰曢┏鍥炲師鍥狅級锛涙挙鍥� 鈫� 鍥炲埌"鑽夌" |
+| 褰掓。 | 瀵�"宸查�氳繃"鐨勬姤閿�鍗曟墽琛屽綊妗o細**鎶ラ攢鍗曠姸鎬佺疆"宸插綊妗�"骞惰褰曞綊妗f椂闂�**锛屽悓鏃�**鐢熸垚淇濆瘑绾ц储鍔℃。妗�**骞舵妸鍙戠エ闄勪欢闅忔。甯﹀叆锛涙垚鍔熷悗鎻愮ず"宸插綊妗e苟鐢熸垚妗f銆愭。妗堢紪鍙枫��" |
+
+#### 4.2.3 鍏抽敭鏁版嵁椤逛笌鐘舵�佹満
+
+**鍏抽敭鏁版嵁椤�**锛氭姤閿�鍗曞彿銆佹姤閿�鏍囬銆佹姤閿�鎬婚噾棰濄�佺姸鎬併�佺敵璇蜂汉銆佺敵璇锋棩鏈熴�佹祦绋嬪疄渚� ID銆佸綊妗f椂闂淬�佸綊妗g敓鎴愮殑妗f ID銆佸娉ㄣ�佹姤閿�鏄庣粏鍒楄〃銆佸彂绁ㄩ檮浠跺垪琛ㄣ��
+
+**鐘舵�佹満**锛�
+
+```
+鑽夌(0) 鈹�鈹�鎻愪氦瀹℃壒鈹�鈹�鈻� 瀹℃壒涓�(15)
+   鈻�                    鈹溾攢鈹� 瀹℃壒閫氳繃 鈹�鈹�鈻� 宸查�氳繃(20) 鈹�鈹�褰掓。鈹�鈹�鈻� 宸插綊妗�(40)
+   鈹�                    鈹溾攢鈹� 瀹℃壒椹冲洖 鈹�鈹�鈻� 宸查┏鍥�(35)锛堝彲淇敼鍚庨噸鏂版彁浜わ級
+   鈹斺攢鈹�鎾ゅ洖鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+```
+
+| 鐘舵�佸�� | 鍚嶇О | 鍙墽琛屽姩浣� |
+|---|---|---|
+| 0 | 鑽夌 | 缂栬緫銆佸垹闄ゃ�佹彁浜ゅ鎵� |
+| 15 | 瀹℃壒涓� | 鎾ゅ洖銆佹煡鐪嬪鎵硅繘搴� |
+| 20 | 宸查�氳繃 | 褰掓。銆佹煡鐪嬨�佸鍑� |
+| 35 | 宸查┏鍥� | 缂栬緫銆佸垹闄ゃ�侀噸鏂版彁浜� |
+| 40 | 宸插綊妗� | 鏌ョ湅銆佸鍑猴紙涓嶅彲鍐嶄慨鏀癸級 |
+
+#### 4.2.4 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+| 鍗忓悓瀵硅薄 | 鍗忓悓鍐呭 |
+|---|---|
+| 鍗忓悓鍔炲叕 | 澶嶇敤鎶ラ攢瀹℃壒娴佺▼寮曟搸锛屽鎵圭粨鏋滅粡鐩戝惉鍣ㄥ洖鍐欏崟鎹姸鎬� |
+| 妗f绠$悊 | 褰掓。鏃剁敓鎴愪繚瀵嗙骇璐㈠姟妗f锛屽苟鍚戞姤閿�鍗曞洖鍐欐。妗� ID |
+| 绯荤粺绠$悊 | 鐢宠浜哄彇鑷韩浠戒綋绯伙紱鍙戠エ闄勪欢璧扮粺涓�闄勪欢涓績锛涢噾棰濅笌鍗曟嵁璁板綍鎿嶄綔鏃ュ織 |
+| 璇鹃绠$悊 | 璇鹃缁忚垂鎷ㄤ粯鍙叧鑱旀姤閿�娴佺▼锛屽舰鎴�"鎷ㄤ粯鐢宠 鈫� 鎶ラ攢瀹℃壒"鐨勬敮鍑哄嚟璇侀摼 |
+
+---
+
+### 4.3 浼氬憳绠$悊锛坄/ums`锛�
+
+#### 4.3.1 妯″潡瀹氫綅
+
+瀛︿細涓讳綋锛堜釜浜轰細鍛樹笌鍗曚綅浼氬憳锛夌殑**鍏ㄧ敓鍛藉懆鏈熺鐞�**锛氫粠鍏ヤ細鐢宠銆佸鎵广�佸缓妗e埌鍚嶅綍涓庨�氳褰曠淮鎶ゃ��
+
+#### 4.3.2 鍔熻兘娓呭崟
+
+**锛�1锛夊叆浼氱敵璇�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鍏ヤ細鐢宠鏂板 | 鎸変細鍛樼被鍨嬶紙涓汉浼氬憳锛忓崟浣嶄細鍛橈級鍔ㄦ�佸綍鍏ヤ笉鍚屽瓧娈电粍鍚� |
+| 宸紓鍖栧瓧娈� | 涓汉浼氬憳锛氬鍚嶃�佸伐浣滃崟浣嶃�佽亴绉般�佺爺绌舵柟鍚戯紱鍗曚綅浼氬憳锛氬崟浣嶅悕绉般�佹硶瀹氫唬琛ㄤ汉銆佺粺涓�绀句細淇$敤浠g爜銆佸崟浣嶇畝浠嬨�佽仈绯讳汉 |
+| 鍏叡瀛楁 | 鑱旂郴鐢佃瘽銆侀偖绠便�佺敵璇风瓑绾с�佹墍灞炲湴鍖恒�佹墍灞炶涓氥�佺敵璇疯鏄� |
+| 鐢宠鏉愭枡涓婁紶 | 閫氳繃缁熶竴闄勪欢涓績涓婁紶鍏ヤ細鏉愭枡锛堝鍗曚綅钀ヤ笟鎵х収銆佷釜浜鸿祫璐ㄨ瘉鏄庯級锛屾敮鎸佸闄勪欢 |
+| 缂栬緫涓庡垹闄� | 鎸夌姸鎬佺害鏉燂紙瀹℃壒涓笉鍙紪杈戯紝宸查�氳繃涓嶅彲鍒犻櫎锛� |
+| 鍒嗛〉妫�绱� | 鎸夌敵璇风紪鍙枫�佺敵璇蜂汉锛忓崟浣嶅悕绉般�佷細鍛樼被鍨嬨�佺姸鎬併�佺敵璇锋椂闂存绱� |
+| 鎻愪氦瀹℃壒 | 閫夋嫨鍏ヤ細瀹℃壒娴佺▼骞舵彁浜わ紝杩涘叆"瀹℃壒涓�" |
+| 瀹℃壒缁撴灉鍥炲啓 | 瀹℃壒閫氳繃 鈫� "宸查�氳繃"骞剁敓鎴愪細鍛橈紱椹冲洖 鈫� "宸查┏鍥�"锛堣褰曞師鍥狅級锛涙挙鍥� 鈫� 鍥�"鑽夌" |
+
+**锛�2锛変細鍛樺垪琛�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 浼氬憳寤烘。 | 鍏ヤ細鐢宠瀹℃壒閫氳繃鍚庤嚜鍔ㄧ敓鎴愪細鍛樻。妗堬紝璁板綍浼氬憳缂栧彿銆佷細鍛樼被鍨嬨�佷細鍛樼瓑绾с�佸叆浼氭棩鏈熴�佹湁鏁堟湡鑷� |
+| 浼氬憳绛夌骇 | 涓汉浼氬憳绛夌骇锛氭櫘閫氫細鍛樸�佺悊浜嬨�佸父鍔$悊浜嬨�佸壇鐞嗕簨闀裤�佺悊浜嬮暱锛涘崟浣嶄細鍛樼瓑绾э細鏅�氬崟浣嶃�佺悊浜嬪崟浣嶃�佸壇浼氶暱鍗曚綅銆佷細闀垮崟浣� |
+| 浼氬憳鐘舵�� | 姝e父銆佹殏鍋� |
+| 浼氬憳淇℃伅缁存姢 | 缁存姢鑱旂郴鏂瑰紡銆佺爺绌舵柟鍚戙�佸崟浣嶇畝浠嬨�佸娉ㄧ瓑锛涗細鍛樻潗鏂欓檮浠剁鐞� |
+| 鍒嗛〉妫�绱� | 鎸変細鍛樼紪鍙枫�佸鍚嶏紡鍗曚綅鍚嶇О銆佷細鍛樼被鍨嬨�佺瓑绾с�佺姸鎬併�佹墍灞炲湴鍖恒�佹墍灞炶涓氭绱� |
+| 鍏宠仈绯荤粺璐﹀彿 | 浼氬憳鍙叧鑱斿钩鍙扮敤鎴疯处鍙凤紝浼氬憳鐧诲綍鍚庡彲鏌ョ湅鑷韩淇℃伅 |
+| 褰掓。 | 瀵�"姝e父"鐘舵�佺殑浼氬憳涓�閿綊妗o紝鐢熸垚浼氬憳妗f骞跺皢浼氬憳鏉愭枡闅忔。甯﹀叆锛涘凡褰掓。鍚庢寜閽殣钘忥紝閬垮厤閲嶅褰掓。 |
+
+**锛�3锛変細鍛橀�氳褰�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 閫氳褰曡鍥� | 浠ラ�氳褰曞舰寮忓睍绀轰細鍛樺悕褰曪紝渚夸簬鍐呴儴鏌ラ槄涓庤仈缁� |
+| 鍒嗙骇鏌ヨ | 鎸変細鍛樼被鍨嬨�佺瓑绾с�佸湴鍖恒�佽涓氱瓫閫� |
+| 鑱旂郴鏂瑰紡灞曠ず | 灞曠ず鑱旂郴鐢佃瘽銆侀偖绠便�佸伐浣滃崟浣嶇瓑锛堝彈瑙掕壊鏉冮檺鎺у埗锛� |
+
+#### 4.3.3 鍏抽敭鏁版嵁椤逛笌鐘舵�佹満
+
+**鍏ヤ細鐢宠鐘舵��**锛氳崏绋�(0) 鈫� 瀹℃壒涓�(15) 鈫� 宸查�氳繃(20) / 宸查┏鍥�(35)銆�
+
+**浼氬憳鐘舵��**锛氭甯�(1) / 鏆傚仠(0)銆�
+
+**鍏抽敭鏁版嵁椤�**锛氱敵璇风紪鍙枫�佷細鍛樼被鍨嬨�佺敵璇蜂汉锛忓崟浣嶅悕绉般�佽仈绯荤數璇濄�侀偖绠便�佹硶瀹氫唬琛ㄤ汉銆佺粺涓�绀句細淇$敤浠g爜銆佺爺绌舵柟鍚戙�佸伐浣滃崟浣嶃�佽亴绉般�佺敵璇风瓑绾с�佸湴鍖虹紪鐮併�佽涓氥�佺姸鎬併�佹祦绋嬪疄渚� ID銆佸垱寤轰汉銆侀檮浠跺垪琛紱浼氬憳渚у彟鏈変細鍛樼紪鍙枫�佸叧鑱旂敤鎴� ID銆佹潵婧愮敵璇峰崟 ID銆佷細鍛樼瓑绾с�佸叆浼氭棩鏈熴�佹湁鏁堟湡鑷炽�佸綊妗g敓鎴愮殑妗f ID銆�
+
+#### 4.3.4 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+| 鍗忓悓瀵硅薄 | 鍗忓悓鍐呭 |
+|---|---|
+| 鍗忓悓鍔炲叕 | 澶嶇敤鍏ヤ細瀹℃壒娴佺▼锛涘鎵归�氳繃瑙﹀彂寤轰細鍛橀�昏緫 |
+| 妗f绠$悊 | 浼氬憳涓�閿綊妗g敓鎴愪細鍛樻。妗堬紱浼氬憳鏉愭枡鎴愪负鍙�熼槄鐨勬。妗堣祫浜� |
+| 璇鹃绠$悊 | 浼氬憳鏄棰樼敵鎶ョ殑涓讳綋锛堢敵鎶ヤ功鍏宠仈浼氬憳 ID锛� |
+| 浼佷笟寰俊 | 浼氬憳锛忔垚鍛樺彲閫氳繃浼佷笟寰俊鎺ユ敹娲诲姩涓庨�氱煡 |
+| 绯荤粺绠$悊 | 浼氬憳鍙叧鑱斿钩鍙扮敤鎴疯处鍙凤紝澶嶇敤缁熶竴韬唤涓庢潈闄愪綋绯� |
+
+---
+
+### 4.4 浼佷笟寰俊锛坄/wxcp`锛�
+
+#### 4.4.1 妯″潡瀹氫綅
+
+闈㈠悜鎴愬憳鐨�**绉诲姩绔Е杈句笌娲诲姩缁勭粐**鑳藉姏銆傛墦閫氫紒涓氬井淇★紝瀹炵幇"閫氱煡涓庢椿鍔ㄤ竴閿帹閫佽嚦鎵嬫満銆佹垚鍛樻壂鐮佹姤鍚嶃�佺幇鍦烘壂鐮佺鍒�"锛屾浛浠i�愪竴杞彂銆�
+
+#### 4.4.2 鍔熻兘娓呭崟
+
+**锛�1锛夋椿鍔ㄧ鐞�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 娲诲姩鏂板涓庣紪杈� | 褰曞叆娲诲姩鏍囬銆佽鎯咃紙瀵屾枃鏈級銆佸皝闈㈠浘銆佹椿鍔ㄥ湴鐐广�佹椿鍔ㄨ捣姝㈡椂闂淬�佹姤鍚嶈捣姝㈡椂闂淬�佹姤鍚嶄汉鏁颁笂闄愶紙0 琛ㄧず涓嶉檺锛夈�佸娉� |
+| 娲诲姩鍙戝竷 | 鑽夌 鈫� 宸插彂甯冿紝杩涘叆鍙姤鍚嶇姸鎬� |
+| 娲诲姩缁撴潫锛忓彇娑� | 娲诲姩缁撴潫鍚庣疆"宸茬粨鏉�"锛涘紓甯告儏鍐靛彲鍙栨秷锛岀疆"宸插彇娑�" |
+| 娲诲姩鍒犻櫎 | 鍒犻櫎涓嶅啀闇�瑕佺殑娲诲姩 |
+| 鎺ㄩ�佽嚦浼佷笟寰俊 | 灏嗘椿鍔ㄦ帹閫佺粰浼佷笟寰俊鎴愬憳锛屾敮鎸佷笁绉嶆帹閫佽寖鍥达細鍏ㄥ憳銆佹寚瀹氶儴闂ㄣ�佹寚瀹氭垚鍛橈紱杩斿洖鎺ㄩ�佺粨鏋滐紙鎴愬姛锛忓け璐ヤ汉鏁帮級锛涙敮鎸佽鐩栨椿鍔ㄤ笂宸查厤缃殑鎺ㄩ�佽寖鍥� |
+| 鎶ュ悕浜岀淮鐮� | 鐢熸垚娲诲姩鎶ュ悕浜岀淮鐮侊紙PNG 鍥剧墖锛屽彲鐩存帴灞曠ず鎴栨墦鍗帮級锛屾垚鍛樻壂鐮佽繘鍏ュ湪绾挎姤鍚嶉〉 |
+| 鎶ュ悕椤靛湴鍧� | 杩斿洖鎶ュ悕椤甸摼鎺ワ紝渚夸簬鍓嶇鑷鐢熸垚浜岀淮鐮佹垨澶嶅埗鍒嗕韩 |
+| 鎶ュ悕璁板綍绠$悊 | 鍒嗛〉鏌ヨ鎶ュ悕璁板綍锛堝惈娲诲姩鏍囬銆佹姤鍚嶄汉銆佺姸鎬侊級锛涙敮鎸佸彇娑堟姤鍚� |
+| 鎶ュ悕绛惧埌 | 瀵规姤鍚嶈褰曟墽琛岀鍒帮紝鐘舵�佺疆"宸茬鍒�" |
+| 鎶ュ悕鏉愭枡鏌ョ湅 | 鏌ョ湅鏌愭潯鎶ュ悕璁板綍涓婁紶鐨勫浘鐗囷紡闄勪欢 |
+| 鎶ュ悕缁熻 | 缁熻鎶ュ悕鎬绘暟銆佺姸鎬佸垎甯冦�佹寜閮ㄩ棬鍒嗗竷銆佹寜鏃ユ湡瓒嬪娍銆佺鍒扮巼 |
+
+**锛�2锛夐�氱煡绠$悊**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 閫氱煡鏂板涓庣紪杈� | 褰曞叆閫氱煡鏍囬銆佹鏂囷紙瀵屾枃鏈級銆佸娉� |
+| 閫氱煡鍙戝竷 | 鑽夌 鈫� 宸插彂甯� |
+| 閫氱煡鎾ゅ洖 | 宸插彂甯冮�氱煡鍙挙鍥烇紝缃�"宸叉挙鍥�" |
+| 閫氱煡鍒犻櫎 | 鍒犻櫎閫氱煡 |
+| 鎺ㄩ�佽嚦浼佷笟寰俊 | 鍚屾椿鍔ㄦ帹閫侊紝鏀寔鍏ㄥ憳锛忔寚瀹氶儴闂紡鎸囧畾鎴愬憳涓夌鑼冨洿锛岃繑鍥炴帹閫佺粨鏋� |
+
+**锛�3锛夐�氳褰曚笌鍥炶皟锛堟敮鎾戣兘鍔涳級**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 閮ㄩ棬鏍戞煡璇� | 瀹炴椂鑾峰彇浼佷笟寰俊閮ㄩ棬鏍戯紝渚涙帹閫侀�変汉浣跨敤 |
+| 閮ㄩ棬骞抽摵鍒楄〃 | 鎻愪緵宸叉媿骞崇殑閮ㄩ棬鍒楄〃锛屼究浜庡墠绔笅鎷夐�夋嫨 |
+| 鎴愬憳鍒楄〃鏌ヨ | 鎸夐儴闂ㄨ幏鍙栨垚鍛樺垪琛紝鍙�夋槸鍚﹀寘鍚瓙閮ㄩ棬鎴愬憳 |
+| 鍥炶皟 URL 楠岃瘉 | 鍝嶅簲浼佷笟寰俊鐨� URL 鏈夋晥鎬ч獙璇侊紙绛惧悕鏍¢獙 + 鍔犲瘑涓茶В瀵嗗洖鏄撅級 |
+| 娑堟伅锛忎簨浠舵帴鏀� | 鎺ユ敹骞惰В瀵嗕紒涓氬井淇℃帹閫佺殑娑堟伅涓庝簨浠讹紙杩涘叆搴旂敤銆佸叧娉ㄣ�侀�氳褰曞彉鏇淬�佹枃鏈秷鎭級锛屾寜绫诲瀷璺敱澶勭悊骞跺洖鎵� |
+
+#### 4.4.3 鍏抽敭鏁版嵁椤逛笌鐘舵�佹満
+
+**娲诲姩鐘舵��**锛氳崏绋�(0) 鈫� 宸插彂甯�(1) 鈫� 宸茬粨鏉�(2)锛涘紓甯稿彲缃� 宸插彇娑�(3)銆�
+
+**閫氱煡鐘舵��**锛氳崏绋�(0) 鈫� 宸插彂甯�(1) 鈫� 宸叉挙鍥�(2)銆�
+
+**鎶ュ悕鐘舵��**锛氬凡鎶ュ悕(0) / 宸插彇娑�(1) / 宸茬鍒�(2)銆�
+
+**鎺ㄩ�佽寖鍥�**锛氬叏鍛�(0) / 鎸囧畾閮ㄩ棬(1) / 鎸囧畾鎴愬憳(2)銆�
+
+**鍏抽敭鏁版嵁椤�**锛氭椿鍔ㄢ�斺�旀爣棰樸�佽鎯呫�佸皝闈㈠浘銆佸湴鐐广�佹椿鍔ㄨ捣姝㈡椂闂淬�佹姤鍚嶈捣姝㈡椂闂淬�佹姤鍚嶄笂闄愩�佸凡鎶ュ悕浜烘暟銆佺姸鎬併�佹帹閫佽寖鍥淬�佹帹閫佺洰鏍囥�佹帹閫佺姸鎬併�佹渶杩戞帹閫佹椂闂达紱閫氱煡鈥斺�旀爣棰樸�佹鏂囥�佺姸鎬併�佹帹閫佽寖鍥淬�佹帹閫佺洰鏍囥�佹帹閫佺姸鎬併�佹渶杩戞帹閫佹椂闂达紱鎶ュ悕璁板綍鈥斺�旀椿鍔� ID銆佹姤鍚嶄汉銆佺姸鎬併�佹彁浜ゆ潗鏂欍��
+
+#### 4.4.4 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+| 鍗忓悓瀵硅薄 | 鍗忓悓鍐呭 |
+|---|---|
+| 绯荤粺绠$悊 | 鎺ㄩ�佽褰曞苟鍏ョ粺涓�娑堟伅浣撶郴锛涢檮浠剁粡缁熶竴闄勪欢涓績瀛樺偍 |
+| 浼氬憳绠$悊 | 浼氬憳娲诲姩鎶ュ悕鍙洖娴佷负浼氬憳娲昏穬搴︽暟鎹� |
+| 妗f绠$悊 | 娲诲姩閫氱煡銆佹姤鍚嶆潗鏂欏彲浣滀负鏂囦功妗f鎵嬪伐褰曞叆褰掗泦锛堟湰鏈熶负鎵嬪伐锛屼笉鍚嚜鍔ㄥ綊妗o級 |
+
+---
+
+### 4.5 璇鹃绠$悊锛坄/research`锛�
+
+#### 4.5.1 妯″潡瀹氫綅
+
+瀛︿細瀛︽湳涓氬姟鐨�**涓荤嚎娴佺▼**锛氭寚鍗楀彂甯� 鈫� 璇鹃鐢虫姤 鈫� 涓撳璇勫 鈫� 绔嬮」 鈫� 缁忚垂鎷ㄤ粯 鈫� 绔嬮」閫氱煡锛屽叏閾捐矾鐣欑棔銆佸彲杩芥函銆�
+
+#### 4.5.2 鍔熻兘娓呭崟
+
+**锛�1锛夎棰樻寚鍗�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鎸囧崡鏂板涓庣紪杈� | 褰曞叆鎸囧崡缂栧彿銆佹寚鍗楀悕绉般�佽棰樼被鍒紙閲嶇偣璇鹃锛忎竴鑸棰橈級銆佺敵鎶ュ紑濮嬩笌鎴鏃堕棿銆佹寚鍗楁鏂囷紙瀵屾枃鏈級銆佸娉� |
+| 鎸囧崡闄勪欢 | 涓婁紶鎸囧崡鏂囦欢锛堝鐢虫姤妯℃澘銆佽瘎瀹℃爣鍑嗭級锛屾敮鎸佸闄勪欢 |
+| 鎸囧崡鍙戝竷 | 鑽夌 鈫� 宸插彂甯冿紝杩涘叆鍙敵鎶ョ姸鎬� |
+| 鎸囧崡鎴 | 宸插彂甯� 鈫� 宸叉埅姝紝鍋滄鎺ュ彈鐢虫姤 |
+| 宸插彂甯冩寚鍗楀垪琛� | 鎻愪緵宸插彂甯冩寚鍗楁竻鍗曪紝渚涚敵鎶ユ椂閫夋嫨鎵�灞炴寚鍗楋紝閬垮厤鎵嬪伐杈撳叆閿欐紡 |
+| 鎸囧崡鍒犻櫎 | 鍒犻櫎涓嶅啀闇�瑕佺殑鎸囧崡 |
+
+**锛�2锛夎棰樼敵鎶�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鐢虫姤涔︽柊澧� | 褰曞叆鎵�灞炶棰樻寚鍗椼�佽棰樺悕绉般�佽棰樼被鍒�佺敵鎶ヤ汉淇℃伅锛堝鍚嶏紡鍗曚綅鍚嶇О銆佸伐浣滃崟浣嶃�佽亴绉般�佽仈绯荤數璇濄�佽仈绯婚偖绠憋級銆佽棰樼粍鎴愬憳銆佺敵璇风粡璐广�佺敵鎶ヤ功姝f枃锛涚敵鎶ヤ汉鍙叧鑱斾細鍛� |
+| 鐢虫姤涔﹂檮浠� | 涓婁紶鐢虫姤涔︽鏂囨枃浠朵笌鏀拺鏉愭枡锛屾敮鎸佸闄勪欢 |
+| 鐢虫姤涔︾紪杈戯紡鍒犻櫎 | 鎸夌姸鎬佺害鏉燂紙瀹℃壒涓笉鍙紪杈戯紝宸茬珛椤逛笉鍙垹闄わ級 |
+| 鍒嗛〉妫�绱� | 鎸夌敵鎶ョ紪鍙枫�佽棰樺悕绉般�佹墍灞炴寚鍗椼�佺被鍒�佺姸鎬併�佺敵鎶ユ椂闂存绱� |
+| 鎻愪氦瀹℃壒 | 閫夋嫨璇鹃绔嬮」瀹℃壒娴佺▼骞舵彁浜わ紝杩涘叆"瀹℃壒涓�" |
+| 绔嬮」瀹℃壒 | 閫氳繃 BPM 澶氱骇瀹℃壒娴佽浆锛涘鎵归�氳繃 鈫� "宸茬珛椤�"骞剁敓鎴愮珛椤圭紪鍙枫�佽褰曠珛椤规椂闂达紱椹冲洖 鈫� "宸查┏鍥�"锛堣褰曞師鍥狅級 |
+| 涓撳璇勫鏄庣粏 | 涓烘煇璇鹃鐢虫姤涔﹀綍鍏ュ鍚嶄笓瀹剁殑璇勫鏄庣粏锛氳瘎瀹′笓瀹躲�佽瘎鍒嗐�佽瘎瀹℃剰瑙併�佽瘎瀹$粨璁猴紙鎺ㄨ崘绔嬮」锛忎笉鎺ㄨ崘绔嬮」锛夛紱绯荤粺璁$畻鍔犳潈骞冲潎鍒嗗苟鍥炲啓鐢虫姤涔� |
+| 绔嬮」閫氱煡鍙戝竷 | 绔嬮」鍚庡彂甯冪珛椤归�氱煡锛堢敓鎴愰�氱煡鍏憡骞惰褰曢�氱煡 ID锛夛紝瀹炵幇缁撴灉瀵瑰鍙戝竷 |
+| 缁忚垂鎷ㄤ粯鐧昏 | 涓哄凡绔嬮」璇鹃鐧昏缁忚垂鎷ㄤ粯璁板綍锛氭嫧浠橀噾棰濄�佹嫧浠樻棩鏈熴�佹嫧浠樿鏄庛�佸嚟璇侀檮浠讹紱鎷ㄤ粯鐘舵�佽窡韪� |
+| 褰掓。 | 瀵�"宸茬珛椤�"鐨勭敵鎶ュ崟涓�閿綊妗o紝鐢熸垚璇鹃妗f骞跺皢鐢虫姤涔﹂檮浠堕殢妗e甫鍏� |
+
+#### 4.5.3 鍏抽敭鏁版嵁椤逛笌鐘舵�佹満
+
+**鎸囧崡鐘舵��**锛氳崏绋�(0) 鈫� 宸插彂甯�(20) 鈫� 宸叉埅姝�(30)銆�
+
+**鐢虫姤涔︾姸鎬�**锛氳崏绋�(0) 鈫� 瀹℃壒涓�(15) 鈫� 宸茬珛椤�(20) / 宸查┏鍥�(35)銆�
+
+**缁忚垂鎷ㄤ粯鐘舵��**锛氬緟鎷ㄤ粯(0) 鈫� 鎶ラ攢瀹℃壒涓�(15) 鈫� 宸叉嫧浠�(20) / 宸查┏鍥�(30)銆�
+
+**璇勫缁撹**锛氭帹鑽愮珛椤�(1) / 涓嶆帹鑽愮珛椤�(2)銆�
+
+**璇鹃绫诲埆**锛氶噸鐐硅棰�(1) / 涓�鑸棰�(2)銆�
+
+**鐢虫姤涔﹀叧閿暟鎹」**锛氱敵鎶ョ紪鍙枫�佹墍灞炴寚鍗椼�佽棰樺悕绉般�佽棰樼被鍒�佺敵鎶ヤ細鍛樸�佺敵鎶ヤ汉鍚嶇О銆佸伐浣滃崟浣嶃�佽亴绉般�佽仈绯荤數璇濄�佽仈绯婚偖绠便�佽棰樼粍鎴愬憳銆佺敵璇风粡璐广�佺敵鎶ヤ功姝f枃銆佺姸鎬併�佹祦绋嬪疄渚� ID銆佷笓瀹惰瘎瀹″姞鏉冨潎鍒嗐�佽瘎瀹$粨璁恒�佺珛椤圭紪鍙枫�佺珛椤规椂闂淬�佺珛椤归�氱煡 ID銆佸綊妗g敓鎴愮殑妗f ID銆佸娉ㄣ�侀檮浠跺垪琛ㄣ��
+
+#### 4.5.4 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+| 鍗忓悓瀵硅薄 | 鍗忓悓鍐呭 |
+|---|---|
+| 鍗忓悓鍔炲叕 | 绔嬮」瀹℃壒澶嶇敤娴佺▼寮曟搸锛涚珛椤归�氱煡澶嶇敤閫氱煡鍏憡鑳藉姏 |
+| 浼氬憳绠$悊 | 鐢虫姤涔﹀叧鑱斾細鍛橈紝瀹炵幇"浼氬憳 鈥� 璇鹃"褰掑睘娓呮櫚 |
+| 璐㈠姟鎶ラ攢 | 缁忚垂鎷ㄤ粯鍙鎺ユ姤閿�娴佺▼锛屽舰鎴�"鎷ㄤ粯 鈫� 鎶ラ攢鏀嚭"鐨勮祫閲戦摼闂幆 |
+| 妗f绠$悊 | 鐢虫姤涔︿竴閿綊妗g敓鎴愯棰樻。妗堬紝璇勫涓庢嫧浠樺嚟璇佸彲闅忎箣褰掗泦 |
+| 绯荤粺绠$悊 | 闄勪欢璧扮粺涓�闄勪欢涓績锛涚紪鍙风敱缂栫爜瑙勫垯鐢熸垚 |
+
+---
+
+### 4.6 妗f绠$悊锛坄/archive`锛�
+
+#### 4.6.1 妯″潡瀹氫綅
+
+鍏ㄥ钩鍙扮殑**妗f褰掗泦涓庡�熼槄搴曞骇**銆傝鐩�"鍒嗙被寤烘爲 鈫� 妗f鐧昏锛堝惈瀹炰綋浣嶇疆锛夆啋 鍊熼槄瀹℃壒 鈫� 褰掕繕鐧昏 鈫� 缁熻"鍏ㄦ祦绋嬶紝骞跺澶栨彁渚涘綊妗h仈鍔ㄦ帴鍙o紙瑙� 3.6 鑺傦級銆傛湰妯″潡鐩存帴鍥炲簲鎷涙爣闇�姹備腑鐨�"涔︽灦锛堝垎绫荤鐞嗭級銆佹枃妗g鐞嗐�佸�熼槄鐧昏銆佸綊杩樼櫥璁般�佹。妗堢粺璁�"浜旈」鑳藉姏銆�
+
+#### 4.6.2 鍔熻兘娓呭崟
+
+**锛�1锛夋。妗堝垎绫伙紙涔︽灦锛忓垎绫荤鐞嗭級**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鍒嗙被鏍戠淮鎶� | 鏀寔澶氱骇鍒嗙被锛堢埗鍒嗙被 鈥� 瀛愬垎绫伙級锛屽疄鐜板垎灞傚垎鍒楃殑涔︽灦寮忕粍缁� |
+| 鍒濆鍒嗙被 | 棰勭疆鍏被锛氫細鍛樻。妗堛�佽棰樻。妗堛�佷細璁。妗堛�佽储鍔℃。妗堛�佹枃涔︽。妗堛�佸厷寤烘。妗� |
+| 鍒嗙被缂栫爜 | 姣忎釜鍒嗙被鏈夊敮涓�缂栫爜锛坢ember锛弐esearch锛弇eeting锛廸inance锛廳ocument锛弍arty锛夛紝褰掓。鑱斿姩鎸夌紪鐮佸畾浣嶇洰鏍囧垎绫� |
+| 榛樿瀵嗙骇 | 姣忎釜鍒嗙被鍙缃粯璁ゅ瘑绾э紝鏂板缓妗f鏃惰嚜鍔ㄥ甫鍑猴紱**璐㈠姟妗f鍒嗙被榛樿瀵嗙骇涓�"淇濆瘑"** |
+| 鎺掑簭涓庤鏄� | 鏀寔鏄剧ず鎺掑簭涓庡垎绫昏鏄庯紝渚夸簬鍓嶅彴鎸変笟鍔′範鎯帓鍒� |
+| 鍚敤锛忓仠鐢� | 鍋滅敤鍒嗙被鍚庝笉鍐嶅厑璁告柊寤烘。妗堬紝鍘嗗彶妗f淇濈暀 |
+| 鍒嗙被鍒犻櫎绾︽潫 | 瀛樺湪瀛愬垎绫绘垨宸叉寕妗f鐨勫垎绫讳笉鍏佽鍒犻櫎锛岄槻姝㈠鍎挎暟鎹� |
+
+**锛�2锛夋。妗堢鐞�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 妗f鐧昏 | 褰曞叆妗f鏍囬銆佹墍灞炲垎绫汇�佸瘑绾с�佽浇浣撶被鍨嬨�佹憳瑕併�佸叧閿瘝銆佸綊妗f棩鏈熴�佸綊妗d汉銆佸娉� |
+| 鐢靛瓙 + 瀹炰綋鍙岃浇浣� | 杞戒綋绫诲瀷鏀寔"鐢靛瓙锛忓疄浣擄紡鐢靛瓙+瀹炰綋"涓夐�夛紱姣忔潯妗f鏃㈠彲鎸傜數瀛愰檮浠讹紝涔熷彲鐧昏瀹炰綋瀛樻斁浣嶇疆 |
+| 瀹炰綋瀛樻斁浣嶇疆 | 鐧昏涔︽灦鍙枫�佸眰鍙枫�佸垪鍙枫�佸唽鍙凤紡妗f鐩掑彿锛屼互鍙婁綅缃弿杩帮紙濡�"3 鍙峰簱鎴� A 鏋� 2 灞�"锛夛紝瀹炵幇绾歌川妗f鐨勭簿纭绱� |
+| 鐢靛瓙闄勪欢 | 閫氳繃缁熶竴闄勪欢涓績涓婁紶鐢靛瓙鏂囦欢锛屾敮鎸佸闄勪欢 |
+| 鏉ユ簮鏍囪瘑 | 璁板綍鏉ユ簮绫诲瀷锛堟墜宸ュ綍鍏ワ紡璇鹃褰掓。锛忎細鍛樺綊妗o紡璐㈠姟褰掓。锛夈�佹潵婧愬崟鍙枫�佹潵婧愬崟鎹� ID 涓庢潵婧愭爣棰樺揩鐓э紝瀹炵幇"浠庢。妗堝弽鏌ヤ笟鍔″崟鎹�" |
+| 澶氱淮妫�绱� | 鎸夋爣棰樸�佸叧閿瘝銆佹潵婧愬崟鍙枫�佸垎绫汇�佸瘑绾с�佺姸鎬併�佸綊妗f棩鏈熸绱� |
+| 缂栬緫绾︽潫 | 妗f澶勪簬"鍊熷嚭涓�"鏃剁姝慨鏀癸紝闃叉鍊熷嚭鏈熼棿淇℃伅琚敼鍔� |
+| 鍒犻櫎绾︽潫 | 妗f澶勪簬"鍊熷嚭涓�"鎴栧瓨鍦ㄦ湭褰掕繕鍊熼槄鍗曟椂绂佹鍒犻櫎 |
+| 瀵煎嚭 | 鎸夋绱㈡潯浠跺鍑烘。妗堟竻鍗曪紱瀵煎嚭鍔ㄤ綔璁板綍鎿嶄綔鏃ュ織 |
+| 瀵嗙骇绠℃帶 | 淇濆瘑绾ф。妗堝鏃� `archive:document:sensitive` 鏉冮檺鐨勭敤鎴峰湪璇︽儏銆佸垪琛ㄣ�佸鍑轰笁澶勫潎涓嶅彲瑙侊紙瑙� 3.1.3锛� |
+
+**锛�3锛夊�熼槄鐧昏**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鍊熼槄鍗曠櫥璁� | 璁板綍鍊熼槄浜猴紙濮撳悕銆侀儴闂ㄣ�佽仈绯荤數璇濓級銆佸�熼槄鏃ユ湡銆佸�熼槄鐩殑銆佸綊杩樻湡闄愶紱妗f缂栧彿涓庢爣棰樹互蹇収鏂瑰紡鍐椾綑瀛樺偍 |
+| 鍊熼槄鍗曠紪杈戯紡鍒犻櫎 | 浠�"鑽夌锛忓凡椹冲洖"鍙紪杈戯紱浠�"鑽夌"鍙垹闄� |
+| 鎻愪氦瀹℃壒 | 閫夋嫨妗f鍊熼槄瀹℃壒娴佺▼骞舵彁浜わ紙**涓ょ骇瀹℃壒**锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒锛� |
+| 鍞竴鎬ф牎楠� | 鍚屼竴妗f鑻ュ凡瀛樺湪"瀹℃壒涓�"鎴�"鍊熷嚭涓�"鐨勫�熼槄鍗曪紝鎻愪氦鏃剁洿鎺ユ嫆缁濆苟鎻愮ず宸插瓨鍦ㄧ殑鍊熼槄鍗曞彿锛屼粠婧愬ご閬垮厤閲嶅鍊熷嚭 |
+| 瀹℃壒閫氳繃 | 鍊熼槄鍗曠疆"鍊熷嚭涓�"骞惰褰曞疄闄呭�熷嚭鏃堕棿锛�**鍚屾椂浠ユ潯浠舵洿鏂板皢妗f缃�"鍊熷嚭涓�"**锛涜嫢妗f宸茶鍗犵敤鍒欐湰娆″鎵瑰洖婊氬苟鎻愮ず锛堣 3.2 鑺傚苟鍙戞帶鍒讹級 |
+| 瀹℃壒椹冲洖 | 鍊熼槄鍗曠疆"宸查┏鍥�"锛岃褰曢┏鍥炲師鍥犱笌鏃堕棿锛涙。妗堢姸鎬佷繚鎸�"鍦ㄥ簱" |
+| 鎾ゅ洖锛忓彇娑� | 鍥炲埌"鑽夌"锛屽彲淇敼鍚庨噸鏂版彁浜� |
+| 閫炬湡瀹炴椂璁$畻 | 鍊熼槄鍗曞浜�"鍊熷嚭涓�"涓斿綊杩樻湡闄愭棭浜庡綋鍓嶆棩鏈熷嵆涓洪�炬湡锛涘垪琛ㄤ互绾㈣壊鏍囩鏄剧ず"閫炬湡 N 澶�"锛涙敮鎸佸彧绛涢�炬湡鍗曘��**閫炬湡鍦ㄦ煡璇㈡椂瀹炴椂璁$畻锛屼笉鍐欏叆鏁版嵁搴撱�佷笉渚濊禆瀹氭椂浠诲姟銆佷笉鍙戦�佺珯鍐呬俊**鈥斺�旈伩鍏嶅畾鏃朵换鍔″け璐ュ鑷存彁閱掑け鐪燂紝涔熼伩鍏嶆棤鐢ㄦ秷鎭爢绉� |
+| 閫炬湡娓呭崟 | 鎻愪緵鐙珛鐨勯�炬湡鍊熼槄鍒嗛〉鏌ヨ锛屼緵绠$悊鍛橀泦涓偓杩� |
+
+**锛�4锛夊綊杩樼櫥璁�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 褰掕繕纭 | 瀵�"鍊熷嚭涓�"鐨勫�熼槄鍗曟墽琛屽綊杩樼櫥璁帮細璁板綍瀹為檯褰掕繕鏃堕棿銆佸綊杩樼‘璁や汉銆佸綊杩樺娉� |
+| 鐘舵�佽仈鍔� | 鍊熼槄鍗曠疆"宸插綊杩�"锛�**鍚屾椂浠ユ潯浠舵洿鏂板皢妗f缃洖"鍦ㄥ簱"**锛屾。妗堟仮澶嶅彲鍊� |
+| 褰掕繕绾︽潫 | 浠�"鍊熷嚭涓�"鐨勫�熼槄鍗曞彲鐧昏褰掕繕锛岄噸澶嶅綊杩樿鎷掔粷骞剁粰鍑烘槑纭彁绀� |
+| 闂幆 | 褰掕繕鍚庢。妗堝洖鍒�"鍦ㄥ簱"锛屽彲鍐嶆琚�熼槄锛屽舰鎴愬畬鏁存祦杞棴鐜� |
+
+**锛�5锛夋。妗堢粺璁�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鎬婚噺鎸囨爣 | 鎬绘。妗堟暟閲忋�佸湪搴撴暟閲忋�佸�熷嚭鏁伴噺銆佸�熷嚭涓暟閲忋�侀�炬湡鏁伴噺 |
+| 鍒嗙被鍒嗗竷 | 鎸夋。妗堝垎绫荤粺璁℃暟閲忥紙楗煎浘锛� |
+| 瀵嗙骇鍒嗗竷 | 鎸夊瘑绾э紙鍏紑锛忓唴閮紡淇濆瘑锛夌粺璁℃暟閲忥紙鏌卞浘锛� |
+| 杞戒綋鍒嗗竷 | 鎸夎浇浣撶被鍨嬶紙鐢靛瓙锛忓疄浣擄紡鐢靛瓙+瀹炰綋锛夌粺璁℃暟閲� |
+| 瀹炴椂鎬� | 缁熻鏁版嵁鍙栬嚜瀹為檯妗f琛紝涓庡垪琛ㄦ暟鎹竴鑷� |
+
+#### 4.6.3 鍏抽敭鏁版嵁椤逛笌鐘舵�佹満
+
+**妗f鐘舵��**锛氬湪搴�(10) 鈬� 鍊熷嚭涓�(20)銆�
+- 鈫� 鍊熷嚭涓殑**鍞竴鍏ュ彛**锛氬�熼槄鍗曞鎵归�氳繃锛堢粡娴佺▼鐩戝惉鍣ㄥ洖鍐欙級锛�
+- 鈫� 鍦ㄥ簱鐨�**鍞竴鍏ュ彛**锛氬綊杩樼櫥璁般��
+璇�"鍗曚竴鍏ュ彛"璁捐淇濊瘉妗f鐘舵�佷笉浼氳鍏朵粬璺緞鎰忓绡℃敼銆�
+
+**鍊熼槄鍗曠姸鎬�**锛�
+
+```
+鑽夌(0) 鈹�鈹�鎻愪氦鈹�鈹�鈻� 瀹℃壒涓�(15)
+   鈻�                 鈹溾攢鈹� 瀹℃壒閫氳繃 鈹�鈹�鈻� 鍊熷嚭涓�(20) 鈹�鈹�褰掕繕鐧昏鈹�鈹�鈻� 宸插綊杩�(30)
+   鈹�                 鈹斺攢鈹� 瀹℃壒椹冲洖 鈹�鈹�鈻� 宸查┏鍥�(35)锛堝彲淇敼鍚庨噸鏂版彁浜わ級
+   鈹斺攢鈹�鎾ゅ洖鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+```
+
+**瀵嗙骇**锛氬叕寮�(1) / 鍐呴儴(2) / 淇濆瘑(3)銆�
+**杞戒綋绫诲瀷**锛氱數瀛�(1) / 瀹炰綋(2) / 鐢靛瓙+瀹炰綋(3)銆�
+**鏉ユ簮绫诲瀷**锛氭墜宸ュ綍鍏�(1) / 璇鹃褰掓。(2) / 浼氬憳褰掓。(3) / 璐㈠姟褰掓。(4)銆�
+**鍒嗙被鐘舵��**锛氬惎鐢�(0) / 鍋滅敤(1)銆�
+
+**妗f涓昏〃鍏抽敭鏁版嵁椤�**锛氭。妗堢紪鍙凤紙`DA` + 鏃ユ湡 + 娴佹按锛夈�佹爣棰樸�佸垎绫汇�佸瘑绾с�佽浇浣撶被鍨嬨�佷功鏋跺彿銆佸眰鍙枫�佸垪鍙枫�佸唽鍙凤紡妗f鐩掑彿銆佸瓨鏀句綅缃弿杩般�佹潵婧愮被鍨嬨�佹潵婧愬崟鍙枫�佹潵婧愬崟鎹� ID銆佹潵婧愭爣棰樸�佸綊妗f棩鏈熴�佸綊妗d汉銆佺姸鎬併�佹憳瑕併�佸叧閿瘝銆佸娉ㄣ�佺數瀛愰檮浠躲��
+
+**鍊熼槄鍗曞叧閿暟鎹」**锛氬�熼槄鍗曞彿锛坄JY` + 鏃ユ湡 + 娴佹按锛夈�佹。妗� ID銆佹。妗堢紪鍙枫�佹。妗堟爣棰樸�佸�熼槄浜虹敤鎴� ID銆佸�熼槄浜哄鍚嶃�侀儴闂ㄣ�佽仈绯荤數璇濄�佸�熼槄鏃ユ湡銆佸�熼槄鐩殑銆佸綊杩樻湡闄愩�佺姸鎬併�佹祦绋嬪疄渚� ID銆佸疄闄呭�熷嚭鏃堕棿銆佸疄闄呭綊杩樻椂闂淬�佸綊杩樼‘璁や汉銆佸綊杩樺娉ㄣ�侀┏鍥炲師鍥犮�侀┏鍥炴椂闂淬��
+
+#### 4.6.4 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+| 鍗忓悓瀵硅薄 | 鍗忓悓鍐呭 |
+|---|---|
+| **璇鹃绠$悊** | 鎺ユ敹璇鹃褰掓。璇锋眰锛岀敓鎴愯棰樻。妗堬紙瀵嗙骇锛氬唴閮級锛屽甫鍏ョ敵鎶ヤ功闄勪欢锛屽洖鍐欐潵婧愯〃妗f ID |
+| **浼氬憳绠$悊** | 鎺ユ敹浼氬憳褰掓。璇锋眰锛岀敓鎴愪細鍛樻。妗堬紙瀵嗙骇锛氬唴閮級锛屽甫鍏ヤ細鍛樻潗鏂欙紝鍥炲啓鏉ユ簮琛ㄦ。妗� ID |
+| **璐㈠姟鎶ラ攢** | 鎺ユ敹璐㈠姟褰掓。璇锋眰锛岀敓鎴愯储鍔℃。妗堬紙瀵嗙骇锛�**淇濆瘑**锛夛紝甯﹀叆鍙戠エ闄勪欢锛屼笌鎶ラ攢鍗曞綊妗e姩浣滃悓浜嬪姟鎻愪氦 |
+| 鍗忓悓鍔炲叕 | 鍊熼槄瀹℃壒澶嶇敤娴佺▼寮曟搸锛堜袱绾у鎵癸級锛涙祦绋嬬粨鏋滅粡鐩戝惉鍣ㄥ洖鍐欏�熼槄鍗曚笌妗f鐘舵�� |
+| 绯荤粺绠$悊 | 闄勪欢璧扮粺涓�闄勪欢涓績锛涙。妗堣鍙栧彈瀵嗙骇鏉冮檺鐐圭害鏉燂紱鎿嶄綔璁板綍瀹¤鏃ュ織 |
+
+**鏄庣‘鐨勮兘鍔涜竟鐣�**锛堟湰鏂规涓嶅惈浠ヤ笅鍐呭锛岄伩鍏嶉獙鏀朵簤璁級锛�
+
+| 杈圭晫椤� | 璇存槑 |
+|---|---|
+| 浼氳妗f銆佸厷寤烘。妗� | 绯荤粺鍐呮棤瀵瑰簲鐨勪笟鍔℃潵婧愭ā鍧楋紝鍒嗙被宸查缃紝**浠呮敮鎸佹墜宸ュ綍鍏�**锛屼笉鍚嚜鍔ㄥ綊妗� |
+| 閫炬湡鎻愰啋鏂瑰紡 | 浠呭湪椤甸潰鏌ヨ鏃跺疄鏃惰绠楀苟楂樹寒锛�**涓嶅缓绔嬪畾鏃朵换鍔°�佷笉鍙戦�佺珯鍐呬俊** |
+| 璇鹃缁撻」褰掓。 | 璇鹃绠$悊涓嶅惈缁撻」鍔熻兘锛屽綊妗i拡瀵�"宸茬珛椤�"鐨勭敵鎶ュ崟 |
+| 鍚堝悓妗f | 涓嶅湪鏈湡褰掓。鑱斿姩鑼冨洿 |
+| 妗f閿�姣併�侀�炬湡缃氭 | 鏈湡涓嶅惈锛屽彲浣滀负浜屾湡鎵╁睍 |
+
+---
+
+### 4.7 绯荤粺绠$悊锛坄/system`锛�
+
+#### 4.7.1 妯″潡瀹氫綅
+
+骞冲彴鐨�**鍩虹鏀拺涓庢不鐞嗕腑蹇�**锛屼负鍏朵綑鍏釜瀛愮郴缁熸彁渚涜韩浠姐�佹潈闄愩�佸瓧鍏搞�佺紪鐮併�侀檮浠躲�佹秷鎭笌瀹¤鑳藉姏銆�
+
+#### 4.7.2 鍔熻兘娓呭崟
+
+**锛�1锛夌粍缁囦笌韬唤**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鐢ㄦ埛绠$悊 | 鐢ㄦ埛鐨勬柊澧炪�佺紪杈戙�佸仠鐢ㄣ�佸垹闄わ紱閲嶇疆瀵嗙爜锛涘垎閰嶈鑹诧紱鍒嗛厤閮ㄩ棬涓庡矖浣� |
+| 瑙掕壊绠$悊 | 瑙掕壊鐨勬柊澧炰笌鏉冮檺鍒嗛厤锛涙敮鎸佹暟鎹寖鍥磋缃紙鍏ㄩ儴锛忔湰閮ㄩ棬鍙婁互涓嬶紡鏈儴闂紡浠呮湰浜猴紡鑷畾涔夛級 |
+| 鑿滃崟绠$悊 | 鑿滃崟涓庢寜閽潈闄愮殑缁熶竴缁存姢锛岃彍鍗曢┍鍔ㄥ墠绔矾鐢变笌渚ц竟鏍忥紝鏂板鍔熻兘鏃犻渶鍓嶇鎵嬪伐閰嶇疆璺敱 |
+| 閮ㄩ棬绠$悊 | 澶氱骇缁勭粐鏋舵瀯缁存姢 |
+| 宀椾綅绠$悊 | 宀椾綅缁存姢锛屼緵鐢ㄦ埛褰掑睘 |
+| 绉熸埛绠$悊 | 澶氱鎴疯兘鍔涘叆鍙o紙鏈湡涓氬姟鎸夊崟绉熸埛閮ㄧ讲锛屼繚鐣欓殧绂绘墿灞曡兘鍔涳級 |
+
+**锛�2锛夐厤缃笌鏁版嵁**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 瀛楀吀绠$悊 | 瀛楀吀绫诲瀷涓庡瓧鍏搁」鐨勭粺涓�缁存姢锛涘崟鎹姸鎬併�佸瘑绾с�佽垂鐢ㄧ被鍨嬨�佷細鍛樼瓑绾х瓑鍏ㄩ儴鏋氫妇鐢卞瓧鍏搁┍鍔紝鍓嶅彴鎸夊瓧鍏告覆鏌撳垪涓庝笅鎷夛紝**鏀瑰瓧鍏稿嵆鏀瑰墠鍙板睍鐜帮紝鏃犻渶鏀逛唬鐮�** |
+| 缂栫爜瑙勫垯 | 鍗曟嵁缂栧彿瑙勫垯缁存姢锛屾敮鎾戝悇绫诲崟鎹殑"鍓嶇紑 + 鏃ユ湡 + 娴佹按"缂栧彿 |
+| 鍦板尯绠$悊 | 琛屾斂鍖哄垝鏁版嵁缁存姢锛屾敮鎾戜細鍛樹笌涓氬姟鐨勫湴鍖哄綊灞� |
+| 鍏徃淇℃伅閰嶇疆 | 鍗曚綅鍚嶇О銆佹爣璇嗙瓑鍩虹淇℃伅閰嶇疆 |
+
+**锛�3锛夋枃浠朵笌娑堟伅**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| 鏂囦欢瀛樺偍 | 闄勪欢鍏冩暟鎹笌瀛樺偍閰嶇疆绠$悊锛涙敮鎸佹湰鍦扮鐩樹笌 S3 鍏煎瀵硅薄瀛樺偍鍒囨崲 |
+| 鐭俊绠$悊 | 鐭俊閫氶亾涓庢ā鏉跨鐞� |
+| 閭绠$悊 | 閭欢璐﹀彿涓庢ā鏉跨鐞� |
+| 绔欏唴淇$鐞� | 绔欏唴娑堟伅鍙戦�佷笌鏌ヨ锛屾敮鎾戝鎵瑰緟鍔炴彁閱� |
+| 閫氱煡鍏憡 | 闈㈠悜鍐呴儴鐢ㄦ埛鐨勫叕鍛婂彂甯冧笌闃呰鍥炴墽 |
+
+**锛�4锛夊畨鍏ㄤ笌寮�鏀�**
+
+| 鍔熻兘椤� | 鍔熻兘璇存槑 |
+|---|---|
+| OAuth 2.0 鈥� 搴旂敤绠$悊 | 缁存姢鎺ュ叆鐨勫鎴风搴旂敤锛堝鎴风 ID锛忓瘑閽ワ紡鍥炶皟鍦板潃锛夛紝鏀拺鍗曠偣鐧诲綍涓庣涓夋柟鎺ュ叆 |
+| OAuth 2.0 鈥� 浠ょ墝绠$悊 | 鏌ヨ鍦ㄧ嚎浠ょ墝锛屾敮鎸佸己鍒朵笅绾� |
+| 涓夋柟鐧诲綍 鈥� 涓夋柟搴旂敤 | 閰嶇疆绗笁鏂瑰钩鍙扮櫥褰曪紙濡傚井淇°�侀拤閽夌瓑锛� |
+| 涓夋柟鐧诲綍 鈥� 涓夋柟鐢ㄦ埛 | 缁存姢涓夋柟璐﹀彿涓庡钩鍙拌处鍙风殑缁戝畾鍏崇郴 |
+| 瀹¤鏃ュ織 鈥� 鎿嶄綔鏃ュ織 | 璁板綍鍏抽敭鍐欐搷浣滐紙鍚鍑虹瓑鏁忔劅鍔ㄤ綔锛夌殑鎿嶄綔浜恒�佹椂闂淬�佹帴鍙c�佸弬鏁版憳瑕佷笌缁撴灉 |
+| 瀹¤鏃ュ織 鈥� 鐧诲綍鏃ュ織 | 璁板綍鐧诲綍琛屼负锛堣处鍙枫�両P銆佹椂闂淬�佺粨鏋滐級锛屾敮鎾戝畨鍏ㄥ璁′笌寮傚父鎺掓煡 |
+
+#### 4.7.3 涓庡叾浠栨ā鍧楃殑鍗忓悓
+
+绯荤粺绠$悊鏄�**鍏ㄥ钩鍙扮殑琚緷璧栨柟**锛氭墍鏈夊瓙绯荤粺鐨勭櫥褰曢壌鏉冦�佽彍鍗曟覆鏌撱�佹潈闄愭牎楠屻�佸瓧鍏哥炕璇戙�佸崟鎹紪鍙枫�侀檮浠跺瓨鍙栥�佹秷鎭彂閫佷笌鎿嶄綔鐣欑棔锛屽潎寤虹珛鍦ㄦ湰妯″潡涔嬩笂銆傚叾"鑿滃崟 + 鏉冮檺鐐� + 瀛楀吀"涓夊紶閰嶇疆琛紝鍐冲畾浜嗗叾浣欏叚涓瓙绯荤粺鐨勫彲瑙佽寖鍥翠笌灞曠幇褰㈠紡銆�
+
+---
+
+## 浜斻�侀檮褰�
+
+### 闄勫綍 A 鏉冮檺鐐规竻鍗曪紙鍏ぇ涓氬姟瀛愮郴缁燂紝鍏� 68 涓級
+
+**璐㈠姟鎶ラ攢**
+
+| 鏉冮檺鐐� | 璇存槑 |
+|---|---|
+| `finance:reimbursement:create` | 鏂板鎶ラ攢鍗� |
+| `finance:reimbursement:update` | 淇敼鎶ラ攢鍗� |
+| `finance:reimbursement:delete` | 鍒犻櫎鎶ラ攢鍗� |
+| `finance:reimbursement:query` | 鏌ヨ鎶ラ攢鍗� |
+| `finance:reimbursement:export` | 瀵煎嚭鎶ラ攢鍗� |
+| `finance:reimbursement:update-status` | 鎻愪氦鎶ラ攢瀹℃壒锛堢姸鎬佹祦杞級 |
+| `finance:reimbursement:archive` | 褰掓。鎶ラ攢鍗曪紙骞剁敓鎴愯储鍔℃。妗堬級 |
+
+**浼氬憳绠$悊**
+
+| 鏉冮檺鐐� | 璇存槑 |
+|---|---|
+| `ums:application:create` | 鏂板鍏ヤ細鐢宠 |
+| `ums:application:update` | 淇敼鍏ヤ細鐢宠 |
+| `ums:application:delete` | 鍒犻櫎鍏ヤ細鐢宠 |
+| `ums:application:query` | 鏌ヨ鍏ヤ細鐢宠 |
+| `ums:application:submit` | 鎻愪氦鍏ヤ細瀹℃壒 |
+| `ums:member:create` | 鏂板浼氬憳 |
+| `ums:member:update` | 淇敼浼氬憳 |
+| `ums:member:delete` | 鍒犻櫎浼氬憳 |
+| `ums:member:query` | 鏌ヨ浼氬憳 |
+| `ums:member:directory` | 鏌ョ湅浼氬憳閫氳褰� |
+| `ums:member:archive` | 浼氬憳褰掓。锛堢敓鎴愪細鍛樻。妗堬級 |
+
+**璇鹃绠$悊**
+
+| 鏉冮檺鐐� | 璇存槑 |
+|---|---|
+| `research:guideline:create` | 鏂板璇鹃鎸囧崡 |
+| `research:guideline:update` | 淇敼璇鹃鎸囧崡 |
+| `research:guideline:delete` | 鍒犻櫎璇鹃鎸囧崡 |
+| `research:guideline:query` | 鏌ヨ璇鹃鎸囧崡 |
+| `research:guideline:publish` | 鍙戝竷锛忔埅姝㈣棰樻寚鍗� |
+| `research:application:create` | 鏂板璇鹃鐢虫姤涔� |
+| `research:application:update` | 淇敼璇鹃鐢虫姤涔� |
+| `research:application:delete` | 鍒犻櫎璇鹃鐢虫姤涔� |
+| `research:application:query` | 鏌ヨ璇鹃鐢虫姤涔� |
+| `research:application:submit` | 鎻愪氦璇鹃绔嬮」瀹℃壒 |
+| `research:application:notice` | 鍙戝竷绔嬮」閫氱煡 |
+| `research:application:archive` | 璇鹃褰掓。锛堢敓鎴愯棰樻。妗堬級 |
+| `research:review:create` | 褰曞叆涓撳璇勫鏄庣粏 |
+| `research:review:update` | 淇敼涓撳璇勫鏄庣粏 |
+| `research:review:delete` | 鍒犻櫎涓撳璇勫鏄庣粏 |
+| `research:review:query` | 鏌ヨ涓撳璇勫鏄庣粏 |
+| `research:fund:create` | 鐧昏缁忚垂鎷ㄤ粯 |
+| `research:fund:update` | 淇敼缁忚垂鎷ㄤ粯 |
+| `research:fund:delete` | 鍒犻櫎缁忚垂鎷ㄤ粯 |
+| `research:fund:query` | 鏌ヨ缁忚垂鎷ㄤ粯 |
+
+**妗f绠$悊**
+
+| 鏉冮檺鐐� | 璇存槑 |
+|---|---|
+| `archive:category:create` | 鏂板妗f鍒嗙被 |
+| `archive:category:update` | 淇敼妗f鍒嗙被 |
+| `archive:category:delete` | 鍒犻櫎妗f鍒嗙被 |
+| `archive:category:query` | 鏌ヨ妗f鍒嗙被 |
+| `archive:document:create` | 鏂板妗f |
+| `archive:document:update` | 淇敼妗f |
+| `archive:document:delete` | 鍒犻櫎妗f |
+| `archive:document:query` | 鏌ヨ妗f |
+| `archive:document:export` | 瀵煎嚭妗f |
+| **`archive:document:sensitive`** | **鏌ョ湅淇濆瘑绾ф。妗堬紙鏁忔劅鏉冮檺鐐癸級** |
+| `archive:borrow:create` | 鐧昏鍊熼槄鍗� |
+| `archive:borrow:update` | 淇敼鍊熼槄鍗� |
+| `archive:borrow:delete` | 鍒犻櫎鍊熼槄鍗� |
+| `archive:borrow:query` | 鏌ヨ鍊熼槄鍗� |
+| `archive:borrow:submit` | 鎻愪氦鍊熼槄瀹℃壒 |
+| `archive:borrow:return` | 褰掕繕鐧昏 |
+| `archive:stat:query` | 鏌ョ湅妗f缁熻 |
+
+**浼佷笟寰俊**
+
+| 鏉冮檺鐐� | 璇存槑 |
+|---|---|
+| `wxcp:activity:create` | 鏂板娲诲姩 |
+| `wxcp:activity:update` | 淇敼锛忓彂甯冿紡缁撴潫锛忓彇娑堟椿鍔� |
+| `wxcp:activity:delete` | 鍒犻櫎娲诲姩 |
+| `wxcp:activity:query` | 鏌ヨ娲诲姩 |
+| `wxcp:activity:push` | 鎺ㄩ�佹椿鍔ㄨ嚦浼佷笟寰俊 |
+| `wxcp:signup:query` | 鏌ヨ鎶ュ悕璁板綍 |
+| `wxcp:signup:update` | 鍙栨秷鎶ュ悕锛忔姤鍚嶇鍒� |
+| `wxcp:notice:create` | 鏂板閫氱煡 |
+| `wxcp:notice:update` | 淇敼锛忓彂甯冿紡鎾ゅ洖閫氱煡 |
+| `wxcp:notice:delete` | 鍒犻櫎閫氱煡 |
+| `wxcp:notice:query` | 鏌ヨ閫氱煡 |
+| `wxcp:notice:push` | 鎺ㄩ�侀�氱煡鑷充紒涓氬井淇� |
+| `wxcp:member:query` | 鏌ヨ浼佷笟寰俊閮ㄩ棬涓庢垚鍛� |
+
+### 闄勫綍 B 涓氬姟瀛楀吀娓呭崟锛堝叡 69 鏉″瓧鍏搁」锛�
+
+| 瀛楀吀绫诲瀷 | 鐢ㄩ�� | 瀛楀吀椤� |
+|---|---|---|
+| `finance_reimbursement_status` | 鎶ラ攢鍗曠姸鎬� | 鑽夌(0)銆佸鎵逛腑(15)銆佸凡閫氳繃(20)銆佸凡椹冲洖(35)銆佸凡褰掓。(40) |
+| `finance_expense_type` | 璐圭敤绫诲瀷 | 宸梾(1)銆佸姙鍏�(2)銆佹嫑寰�(3)銆佷氦閫�(4)銆佸叾浠�(5) |
+| `ums_application_status` | 鍏ヤ細鐢宠鐘舵�� | 鑽夌(0)銆佸鎵逛腑(15)銆佸凡閫氳繃(20)銆佸凡椹冲洖(35) |
+| `ums_member_type` | 浼氬憳绫诲瀷 | 涓汉浼氬憳(1)銆佸崟浣嶄細鍛�(2) |
+| `ums_member_status` | 浼氬憳鐘舵�� | 姝e父(1)銆佹殏鍋�(0) |
+| `ums_personal_grade` | 涓汉浼氬憳绛夌骇 | 鏅�氫細鍛�(1)銆佺悊浜�(2)銆佸父鍔$悊浜�(3)銆佸壇鐞嗕簨闀�(4)銆佺悊浜嬮暱(5) |
+| `ums_unit_grade` | 鍗曚綅浼氬憳绛夌骇 | 鏅�氬崟浣�(1)銆佺悊浜嬪崟浣�(2)銆佸壇浼氶暱鍗曚綅(3)銆佷細闀垮崟浣�(4) |
+| `ums_industry` | 鎵�灞炶涓� | 鏅鸿兘鍒堕�犮�佹柊鑳芥簮銆佺數瀛愪俊鎭�佺敓鐗╁尰鑽�佹柊鏉愭枡銆佽妭鑳界幆淇濄�佸挩璇㈡湇鍔°�佸叾浠栵紙1鈥�8锛� |
+| `research_guideline_category` | 璇鹃绫诲埆 | 閲嶇偣璇鹃(1)銆佷竴鑸棰�(2) |
+| `research_guideline_status` | 鎸囧崡鐘舵�� | 鑽夌(0)銆佸凡鍙戝竷(20)銆佸凡鎴(30) |
+| `research_application_status` | 鐢虫姤涔︾姸鎬� | 鑽夌(0)銆佸鎵逛腑(15)銆佸凡绔嬮」(20)銆佸凡椹冲洖(35) |
+| `research_review_conclusion` | 璇勫缁撹 | 鎺ㄨ崘绔嬮」(1)銆佷笉鎺ㄨ崘绔嬮」(2) |
+| `research_fund_status` | 缁忚垂鎷ㄤ粯鐘舵�� | 寰呮嫧浠�(0)銆佹姤閿�瀹℃壒涓�(15)銆佸凡鎷ㄤ粯(20)銆佸凡椹冲洖(30) |
+| `archive_category_status` | 妗f鍒嗙被鐘舵�� | 鍚敤(0)銆佸仠鐢�(1) |
+| `archive_document_status` | 妗f鐘舵�� | 鍦ㄥ簱(10)銆佸�熷嚭涓�(20) |
+| `archive_secret_level` | 妗f瀵嗙骇 | 鍏紑(1)銆佸唴閮�(2)銆佷繚瀵�(3) |
+| `archive_carrier_type` | 妗f杞戒綋 | 鐢靛瓙(1)銆佸疄浣�(2)銆佺數瀛�+瀹炰綋(3) |
+| `archive_source_type` | 妗f鏉ユ簮 | 鎵嬪伐褰曞叆(1)銆佽棰樺綊妗�(2)銆佷細鍛樺綊妗�(3)銆佽储鍔″綊妗�(4) |
+| `archive_borrow_status` | 鍊熼槄鍗曠姸鎬� | 鑽夌(0)銆佸鎵逛腑(15)銆佸�熷嚭涓�(20)銆佸凡褰掕繕(30)銆佸凡椹冲洖(35) |
+
+### 闄勫綍 C 娴佺▼瀹氫箟娓呭崟锛堟湰鏈熶笟鍔$浉鍏筹級
+
+| 娴佺▼鍚嶇О | 娴佺▼瀹氫箟 Key | 鐗堟湰 | 璇存槑 |
+|---|---|---|---|
+| 鍏ヤ細瀹℃壒 | `ums_membership_approve` | 1 | 浼氬憳鍏ヤ細鐢宠鐨勫绾у鎵� |
+| 璇鹃绔嬮」瀹℃壒 | `research_topic_approve` | 1 | 璇鹃鐢虫姤涔︾殑澶氱骇绔嬮」瀹℃壒 |
+| 鎶ラ攢瀹℃壒 | `finance_reimbursement_approve` | 1 | 鎶ラ攢鍗曞鎵� |
+| 妗f鍊熼槄瀹℃壒 | `archive_borrow_approve` | 1 | 涓ょ骇瀹℃壒锛氭。妗堢鐞嗗憳瀹℃牳 鈫� 鍒嗙棰嗗瀹℃壒 |
+
+> 杩愯搴撳綋鍓嶅叡閮ㄧ讲 39 鏉℃祦绋嬪畾涔夛紝瑕嗙洊鍏ヤ細銆佽棰樸�佹姤閿�銆佹。妗堝�熼槄浠ュ強宸ュ巶渚ч噰璐�侀攢鍞�佷粨鍌ㄣ�佷汉浜嬬瓑涓氬姟锛涙湰鏈熸柟妗堟秹鍙婄殑涓轰笂杩板洓鏉°��
+
+### 闄勫綍 D 鑿滃崟涓庢潈闄愭槧灏勶紙鏈湡涓冨ぇ瀛愮郴缁燂級
+
+| 涓�绾ц彍鍗� | ID | 璺緞 | 浜岀骇鍔熻兘椤� |
+|---|---|---|---|
+| 鍗忓悓鍔炲叕 | 1185 | `/bpm` | 娴佺▼绠$悊锛堝惈娴佺▼妯″瀷锛忚〃鍗曪紡鍒嗙被锛忕敤鎴峰垎缁勶紡鐩戝惉鍣紡琛ㄨ揪寮忥紡涓氬姟闄勪欢閰嶇疆锛忔祦绋嬪疄渚嬶紡娴佺▼浠诲姟锛夈�佸鎵逛腑蹇冦�侀�氱煡鍏憡銆丱A 搴旂敤 |
+| 璐㈠姟鎶ラ攢 | 1075425 | `/finance` | 鎶ラ攢鍗� |
+| 浼氬憳绠$悊 | 1075490 | `/ums` | 鍏ヤ細鐢宠銆佷細鍛樺垪琛ㄣ�佷細鍛橀�氳褰� |
+| 浼佷笟寰俊 | 6100000 | `/wxcp` | 娲诲姩绠$悊銆侀�氱煡绠$悊 |
+| 璇鹃绠$悊 | 1075510 | `/research` | 璇鹃鎸囧崡銆佽棰樼敵鎶� |
+| 妗f绠$悊 | 1075600 | `/archive` | 妗f鍒嗙被銆佹。妗堢鐞嗐�佸�熼槄鐧昏銆佹。妗堢粺璁� |
+| 绯荤粺绠$悊 | 1 | `/system` | 鐢ㄦ埛銆佽鑹层�佽彍鍗曘�侀儴闂ㄣ�佸矖浣嶃�佸瓧鍏搞�佺紪鐮佽鍒欍�佺鎴枫�佸璁℃棩蹇楋紙鎿嶄綔鏃ュ織锛忕櫥褰曟棩蹇楋級銆佹秷鎭腑蹇冿紙鐭俊锛忛偖绠憋紡绔欏唴淇★紡閫氱煡鍏憡锛夈�丱Auth 2.0锛堝簲鐢ㄧ鐞嗭紡浠ょ墝绠$悊锛夈�佷笁鏂圭櫥褰曪紙涓夋柟搴旂敤锛忎笁鏂圭敤鎴凤級銆佹枃浠跺瓨鍌ㄣ�佸湴鍖虹鐞嗐�佸叕鍙镐俊鎭厤缃� |
+
+---
+
+*锛堟枃妗e畬锛�*
diff --git a/pom.xml b/pom.xml
index 32b1e44..55d8a98 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,6 +58,9 @@
         <module>yudao-module-ums</module>
         <!-- 璇鹃绠$悊妯″潡 -->
         <module>yudao-module-research</module>
+        <!-- 妗f绠$悊妯″潡 -->
+        <module>yudao-module-archive</module>
+        <module>yudao-module-archive-api</module>
     </modules>
 
     <name>${project.artifactId}</name>
diff --git a/yudao-module-archive-api/pom.xml b/yudao-module-archive-api/pom.xml
new file mode 100644
index 0000000..1effad9
--- /dev/null
+++ b/yudao-module-archive-api/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>cn.iocoder.boot</groupId>
+        <artifactId>yudao</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>yudao-module-archive-api</artifactId>
+    <packaging>jar</packaging>
+
+    <name>${project.artifactId}</name>
+    <description>
+        archive 妯″潡涓嬶紝妗f褰掓。鐨� API 鎺ュ彛瀹氫箟锛屼緵鍏朵粬妯″潡寮曠敤
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-common</artifactId>
+        </dependency>
+
+        <!-- Swagger 娉ㄨВ -->
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApi.java b/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApi.java
new file mode 100644
index 0000000..4f75aa2
--- /dev/null
+++ b/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApi.java
@@ -0,0 +1,44 @@
+package cn.iocoder.yudao.module.archive.api.document;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentRespDTO;
+
+/**
+ * 妗f褰掓。 API 鎺ュ彛
+ *
+ * 渚涘叾浠栨ā鍧楋紙璇鹃/浼氬憳/璐㈠姟锛夋寜鏉ユ簮鍗曟嵁褰掓。锛岀敓鎴愭。妗堟潯鐩苟甯﹀叆鏉ユ簮闄勪欢銆�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface ArchiveDocumentApi {
+
+    String PREFIX = "/rpc-api/archive/document";
+
+    /**
+     * 鎸夋潵婧愬崟鎹綊妗o紱骞傜瓑锛氬悓 sourceType + sourceId 宸插綊妗e垯杩斿洖鏃㈡湁妗f缂栧彿
+     *
+     * @param reqDTO 褰掓。淇℃伅
+     * @return 妗f缂栧彿
+     */
+    CommonResult<Long> archiveBySource(ArchiveDocumentCreateReqDTO reqDTO);
+
+    /**
+     * 鍒ゆ柇鏉ユ簮鍗曟嵁鏄惁宸插綊妗�
+     *
+     * @param sourceType 鏉ユ簮绫诲瀷
+     * @param sourceId   鏉ユ簮鍗曟嵁缂栧彿
+     * @return 鏄惁宸插綊妗�
+     */
+    CommonResult<Boolean> isArchived(Integer sourceType, Long sourceId);
+
+    /**
+     * 鑾峰彇鏉ユ簮鍗曟嵁鐨勬。妗�
+     *
+     * @param sourceType 鏉ユ簮绫诲瀷
+     * @param sourceId   鏉ユ簮鍗曟嵁缂栧彿
+     * @return 妗f
+     */
+    CommonResult<ArchiveDocumentRespDTO> getBySource(Integer sourceType, Long sourceId);
+
+}
diff --git a/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentCreateReqDTO.java b/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentCreateReqDTO.java
new file mode 100644
index 0000000..3f7dc62
--- /dev/null
+++ b/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentCreateReqDTO.java
@@ -0,0 +1,54 @@
+package cn.iocoder.yudao.module.archive.api.document.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.util.List;
+
+@Schema(description = "RPC 鏈嶅姟 - 妗f褰掓。 Request DTO")
+@Data
+public class ArchiveDocumentCreateReqDTO {
+
+    @Schema(description = "鏉ユ簮绫诲瀷锛�2-璇鹃 3-浼氬憳 4-璐㈠姟", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    @NotNull(message = "鏉ユ簮绫诲瀷涓嶈兘涓虹┖")
+    private Integer sourceType;
+
+    @Schema(description = "鏉ユ簮鍗曟嵁缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    @NotNull(message = "鏉ユ簮鍗曟嵁缂栧彿涓嶈兘涓虹┖")
+    private Long sourceId;
+
+    @Schema(description = "鏉ユ簮鍗曞彿锛堣棰樼珛椤圭紪鍙�/浼氬憳缂栧彿/鎶ラ攢鍗曞彿锛�", example = "LX20260929000001")
+    private String sourceNo;
+
+    @Schema(description = "鏉ユ簮鍗曟嵁鏍囬", example = "XX鎶�鏈爺绌惰棰�")
+    private String sourceTitle;
+
+    @Schema(description = "鐩爣妗f鍒嗙被缂栫爜锛坮esearch/member/finance锛�", requiredMode = Schema.RequiredMode.REQUIRED, example = "research")
+    @NotEmpty(message = "鐩爣妗f鍒嗙被缂栫爜涓嶈兘涓虹┖")
+    private String categoryCode;
+
+    @Schema(description = "妗f鏍囬锛屼负绌烘椂鍙栨潵婧愬崟鎹爣棰�")
+    private String title;
+
+    @Schema(description = "瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑锛屼负绌烘椂鍙栧垎绫婚粯璁ゅ瘑绾�")
+    private Integer secretLevel;
+
+    @Schema(description = "鎽樿")
+    private String summary;
+
+    @Schema(description = "鍏抽敭璇嶏紝鑻辨枃閫楀彿鍒嗛殧")
+    private String tags;
+
+    @Schema(description = "鏉ユ簮闄勪欢 BlobId 鍒楄〃")
+    private List<Long> blobIds;
+
+    @Schema(description = "褰掓。鏃ユ湡锛屼负绌烘椂鍙栧綋澶�")
+    private LocalDate archiveDate;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+}
diff --git a/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentRespDTO.java b/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentRespDTO.java
new file mode 100644
index 0000000..f365518
--- /dev/null
+++ b/yudao-module-archive-api/src/main/java/cn/iocoder/yudao/module/archive/api/document/dto/ArchiveDocumentRespDTO.java
@@ -0,0 +1,52 @@
+package cn.iocoder.yudao.module.archive.api.document.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Schema(description = "RPC 鏈嶅姟 - 妗f Response DTO")
+@Data
+public class ArchiveDocumentRespDTO {
+
+    @Schema(description = "妗f缂栧彿", example = "1024")
+    private Long id;
+
+    @Schema(description = "妗f鍗曞彿", example = "DA20260929000001")
+    private String no;
+
+    @Schema(description = "妗f鏍囬", example = "XX鎶�鏈爺绌惰棰�")
+    private String title;
+
+    @Schema(description = "妗f鍒嗙被缂栧彿", example = "2")
+    private Long categoryId;
+
+    @Schema(description = "妗f鍒嗙被鍚嶇О", example = "璇鹃妗f")
+    private String categoryName;
+
+    @Schema(description = "瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑", example = "2")
+    private Integer secretLevel;
+
+    @Schema(description = "杞戒綋锛�1-鐢靛瓙 2-瀹炰綋 3-鐢靛瓙+瀹炰綋", example = "3")
+    private Integer carrierType;
+
+    @Schema(description = "妗f鐘舵�侊細10-鍦ㄥ簱 20-鍊熷嚭涓�", example = "10")
+    private Integer status;
+
+    @Schema(description = "鏉ユ簮绫诲瀷锛�1-鎵嬪伐 2-璇鹃 3-浼氬憳 4-璐㈠姟", example = "2")
+    private Integer sourceType;
+
+    @Schema(description = "鏉ユ簮鍗曞彿", example = "LX20260929000001")
+    private String sourceNo;
+
+    @Schema(description = "鏉ユ簮鍗曟嵁缂栧彿", example = "1024")
+    private Long sourceId;
+
+    @Schema(description = "褰掓。鏃ユ湡", example = "2026-09-29")
+    private LocalDate archiveDate;
+
+    @Schema(description = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+}
diff --git a/yudao-module-archive/pom.xml b/yudao-module-archive/pom.xml
new file mode 100644
index 0000000..27c341f
--- /dev/null
+++ b/yudao-module-archive/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>cn.iocoder.boot</groupId>
+        <artifactId>yudao</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>yudao-module-archive</artifactId>
+    <packaging>jar</packaging>
+
+    <name>${project.artifactId}</name>
+    <description>
+        archive 鍖呬笅锛屾。妗堢鐞嗘ā鍧楋紙瀛︿細/鍗忎細鍨嬫。妗堬細涔︽灦鍒嗙被銆佹枃妗g鐞嗐�佸�熼槄瀹℃壒銆佸綊杩樼櫥璁般�佹。妗堢粺璁★紝骞朵笌璇鹃/浼氬憳/璐㈠姟妯″潡褰掓。鑱斿姩锛夈��
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-system</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- BPM 宸ヤ綔娴侊紙妗f鍊熼槄 妗f绠$悊鍛樺鏍� 鈫� 鍒嗙棰嗗瀹℃壒 涓ょ骇瀹℃壒锛� -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-bpm</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- 妗f API锛堜緵璇鹃/浼氬憳/璐㈠姟妯″潡鎸夋潵婧愬崟鎹綊妗o級 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-archive-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- Web 鐩稿叧 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-security</artifactId>
+        </dependency>
+
+        <!-- DB 鐩稿叧 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-redis</artifactId>
+        </dependency>
+
+        <!-- 宸ュ叿绫荤浉鍏� -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-excel</artifactId>
+        </dependency>
+
+        <!-- Test 娴嬭瘯鐩稿叧 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-test</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApiImpl.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApiImpl.java
new file mode 100644
index 0000000..6d73d1e
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/api/document/ArchiveDocumentApiImpl.java
@@ -0,0 +1,64 @@
+package cn.iocoder.yudao.module.archive.api.document;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentRespDTO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO;
+import cn.iocoder.yudao.module.archive.service.category.ArchiveCategoryService;
+import cn.iocoder.yudao.module.archive.service.document.ArchiveDocumentService;
+import jakarta.annotation.Resource;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+/**
+ * 妗f褰掓。 API 瀹炵幇绫�
+ *
+ * 渚涘叾浠栨ā鍧楋紙璇鹃/浼氬憳/璐㈠姟锛夋寜鏉ユ簮鍗曟嵁褰掓。锛岀敓鎴愭。妗堟潯鐩苟甯﹀叆鏉ユ簮闄勪欢銆�
+ * 璇ュ疄鐜颁负鏈湴 Bean 璋冪敤锛堟棤 {@code @PreAuthorize}锛夛紝鏉冮檺鐢辫皟鐢ㄦ柟锛堟潵婧愭ā鍧楋級鐨勫綊妗f寜閽潈闄愮偣鎺у埗銆�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@RestController
+@RequestMapping(ArchiveDocumentApi.PREFIX)
+@Validated
+public class ArchiveDocumentApiImpl implements ArchiveDocumentApi {
+
+    @Resource
+    private ArchiveDocumentService archiveDocumentService;
+
+    @Resource
+    private ArchiveCategoryService archiveCategoryService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public CommonResult<Long> archiveBySource(ArchiveDocumentCreateReqDTO reqDTO) {
+        return success(archiveDocumentService.archiveBySource(reqDTO));
+    }
+
+    @Override
+    public CommonResult<Boolean> isArchived(Integer sourceType, Long sourceId) {
+        return success(archiveDocumentService.isArchived(sourceType, sourceId));
+    }
+
+    @Override
+    public CommonResult<ArchiveDocumentRespDTO> getBySource(Integer sourceType, Long sourceId) {
+        ArchiveDocumentDO document = archiveDocumentService.getBySource(sourceType, sourceId);
+        if (document == null) {
+            return success(null);
+        }
+        // 琛ュ厖鍒嗙被鍚嶇О锛屼究浜庢潵婧愭ā鍧楀垪琛ㄩ〉鐩存帴灞曠ず
+        ArchiveDocumentRespDTO respDTO = BeanUtils.toBean(document, ArchiveDocumentRespDTO.class);
+        ArchiveCategoryDO category = archiveCategoryService.getCategory(document.getCategoryId());
+        if (category != null) {
+            respDTO.setCategoryName(category.getName());
+        }
+        return success(respDTO);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/ArchiveBorrowController.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/ArchiveBorrowController.java
new file mode 100644
index 0000000..b24a66f
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/ArchiveBorrowController.java
@@ -0,0 +1,151 @@
+package cn.iocoder.yudao.module.archive.controller.admin.borrow;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowRespVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowReturnReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowSaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.borrow.ArchiveBorrowDO;
+import cn.iocoder.yudao.module.archive.enums.ArchiveBorrowStatusEnum;
+import cn.iocoder.yudao.module.archive.service.borrow.ArchiveBorrowService;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDate;
+import java.time.temporal.ChronoUnit;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen;
+
+@Tag(name = "绠$悊鍚庡彴 - 妗f鍊熼槄")
+@RestController
+@RequestMapping("/archive/borrow")
+@Validated
+public class ArchiveBorrowController {
+
+    @Resource
+    private ArchiveBorrowService borrowService;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @PostMapping("/create")
+    @Operation(summary = "鍒涘缓妗f鍊熼槄鍗曪紙鑽夌锛�")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:create')")
+    public CommonResult<Long> createBorrow(@Valid @RequestBody ArchiveBorrowSaveReqVO createReqVO) {
+        return success(borrowService.createBorrow(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "鏇存柊妗f鍊熼槄鍗曪紙浠呰崏绋挎垨宸查┏鍥炲彲淇敼锛�")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:update')")
+    public CommonResult<Boolean> updateBorrow(@Valid @RequestBody ArchiveBorrowSaveReqVO updateReqVO) {
+        borrowService.updateBorrow(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鍒犻櫎妗f鍊熼槄鍗曪紙浠呰崏绋垮彲鍒犻櫎锛�")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('archive:borrow:delete')")
+    public CommonResult<Boolean> deleteBorrow(@RequestParam("id") Long id) {
+        borrowService.deleteBorrow(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "鑾峰緱妗f鍊熼槄鍗�")
+    @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:query')")
+    public CommonResult<ArchiveBorrowRespVO> getBorrow(@RequestParam("id") Long id) {
+        return success(buildBorrowDetail(borrowService.getBorrow(id)));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "鑾峰緱妗f鍊熼槄鍗曞垎椤�")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:query')")
+    public CommonResult<PageResult<ArchiveBorrowRespVO>> getBorrowPage(@Valid ArchiveBorrowPageReqVO pageReqVO) {
+        PageResult<ArchiveBorrowDO> pageResult = borrowService.getBorrowPage(pageReqVO);
+        return success(new PageResult<>(buildBorrowDetailList(pageResult.getList()), pageResult.getTotal()));
+    }
+
+    @GetMapping("/overdue-page")
+    @Operation(summary = "鑾峰緱閫炬湡鏈繕鍊熼槄鍗曞垎椤碉紙鍊熷嚭涓� 涓� 褰掕繕鏈熼檺宸茶繃锛�")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:query')")
+    public CommonResult<PageResult<ArchiveBorrowRespVO>> getOverdueBorrowPage(
+            @Valid ArchiveBorrowPageReqVO pageReqVO) {
+        PageResult<ArchiveBorrowDO> pageResult = borrowService.getOverdueBorrowPage(pageReqVO);
+        return success(new PageResult<>(buildBorrowDetailList(pageResult.getList()), pageResult.getTotal()));
+    }
+
+    @PostMapping("/submit")
+    @Operation(summary = "鎻愪氦妗f鍊熼槄瀹℃壒")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:submit')")
+    public CommonResult<Boolean> submitBorrow(@RequestParam("id") Long id,
+                                              @RequestParam(value = "processDefinitionKey", required = false)
+                                              String processDefinitionKey) {
+        borrowService.submitBorrow(id, processDefinitionKey);
+        return success(true);
+    }
+
+    @GetMapping("/approve-process-list")
+    @Operation(summary = "鑾峰緱妗f鍊熼槄瀹℃壒鐨勬祦绋嬪畾涔夊垪琛�")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:query')")
+    public CommonResult<List<Map<String, Object>>> getApproveProcessDefinitionList() {
+        return success(borrowService.getApproveProcessDefinitionList());
+    }
+
+    @PostMapping("/return")
+    @Operation(summary = "褰掕繕鐧昏锛堜粎鍊熷嚭涓彲鐧昏锛屽綊杩樺悗妗f鍥炲埌鍦ㄥ簱锛�")
+    @PreAuthorize("@ss.hasPermission('archive:borrow:return')")
+    public CommonResult<Boolean> returnBorrow(@Valid @RequestBody ArchiveBorrowReturnReqVO returnReqVO) {
+        borrowService.returnBorrow(returnReqVO);
+        return success(true);
+    }
+
+    // ==================== 鍐呴儴鏂规硶 ====================
+
+    private ArchiveBorrowRespVO buildBorrowDetail(ArchiveBorrowDO borrow) {
+        if (borrow == null) {
+            return null;
+        }
+        return buildBorrowDetailList(Collections.singletonList(borrow)).get(0);
+    }
+
+    private List<ArchiveBorrowRespVO> buildBorrowDetailList(List<ArchiveBorrowDO> list) {
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+
+        // 1. 褰掕繕纭浜哄鍚�
+        Map<Long, AdminUserRespDTO> confirmUserMap = adminUserApi.getUserMap(
+                convertSet(list, ArchiveBorrowDO::getReturnConfirmUserId));
+
+        // 2. 鎷兼帴缁撴灉锛堥�炬湡鐘舵�佸疄鏃惰绠楋紝涓嶈惤搴擄級
+        LocalDate today = LocalDate.now();
+        return BeanUtils.toBean(list, ArchiveBorrowRespVO.class, vo -> {
+            findAndThen(confirmUserMap, vo.getReturnConfirmUserId(),
+                    user -> vo.setReturnConfirmUserName(user.getNickname()));
+            boolean overdue = ArchiveBorrowStatusEnum.BORROWED.getStatus().equals(vo.getStatus())
+                    && vo.getReturnDeadline() != null && vo.getReturnDeadline().isBefore(today);
+            vo.setOverdue(overdue);
+            vo.setOverdueDays(overdue ? ChronoUnit.DAYS.between(vo.getReturnDeadline(), today) : 0L);
+        });
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowPageReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowPageReqVO.java
new file mode 100644
index 0000000..6cb9138
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowPageReqVO.java
@@ -0,0 +1,41 @@
+package cn.iocoder.yudao.module.archive.controller.admin.borrow.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍊熼槄鍗曞垎椤� Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveBorrowPageReqVO extends PageParam {
+
+    @Schema(description = "鍊熼槄鍗曞彿", example = "JY20260929000001")
+    private String no;
+
+    @Schema(description = "妗f缂栧彿", example = "DA20260929000001")
+    private String documentNo;
+
+    @Schema(description = "妗f鏍囬", example = "2026骞村害瀛︿細宸ヤ綔鎬荤粨")
+    private String documentTitle;
+
+    @Schema(description = "鍊熼槄浜哄鍚�", example = "寮犱笁")
+    private String borrowerName;
+
+    @Schema(description = "鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-鍊熷嚭涓� 30-宸插綊杩� 35-宸查┏鍥�", example = "20")
+    private Integer status;
+
+    @Schema(description = "鍊熼槄鏃ユ湡")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    private LocalDate[] borrowDate;
+
+    @Schema(description = "褰掕繕鏈熼檺")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    private LocalDate[] returnDeadline;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowRespVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowRespVO.java
new file mode 100644
index 0000000..69a96fa
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowRespVO.java
@@ -0,0 +1,88 @@
+package cn.iocoder.yudao.module.archive.controller.admin.borrow.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍊熼槄鍗� Response VO")
+@Data
+public class ArchiveBorrowRespVO {
+
+    @Schema(description = "缂栧彿", example = "1")
+    private Long id;
+
+    @Schema(description = "鍊熼槄鍗曞彿", example = "JY20260929000001")
+    private String no;
+
+    @Schema(description = "妗f ID", example = "1")
+    private Long documentId;
+
+    @Schema(description = "妗f缂栧彿锛堝揩鐓э級", example = "DA20260929000001")
+    private String documentNo;
+
+    @Schema(description = "妗f鏍囬锛堝揩鐓э級", example = "2026骞村害瀛︿細宸ヤ綔鎬荤粨")
+    private String documentTitle;
+
+    @Schema(description = "鍊熼槄浜虹敤鎴� ID", example = "1")
+    private Long borrowerUserId;
+
+    @Schema(description = "鍊熼槄浜哄鍚�", example = "寮犱笁")
+    private String borrowerName;
+
+    @Schema(description = "鍊熼槄浜洪儴闂�", example = "绉樹功澶�")
+    private String borrowerDept;
+
+    @Schema(description = "鍊熼槄浜鸿仈绯荤數璇�", example = "13800138000")
+    private String borrowerPhone;
+
+    @Schema(description = "鍊熼槄鏃ユ湡", example = "2026-09-29")
+    private LocalDate borrowDate;
+
+    @Schema(description = "鍊熼槄鐩殑", example = "鎾板啓骞村害鎬荤粨寮曠敤鍘嗗彶鏁版嵁")
+    private String borrowPurpose;
+
+    @Schema(description = "褰掕繕鏈熼檺", example = "2026-10-15")
+    private LocalDate returnDeadline;
+
+    @Schema(description = "鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-鍊熷嚭涓� 30-宸插綊杩� 35-宸查┏鍥�", example = "20")
+    private Integer status;
+
+    @Schema(description = "娴佺▼瀹炰緥缂栧彿", example = "a1b2c3d4")
+    private String processInstanceId;
+
+    @Schema(description = "瀹℃壒閫氳繃锛堝疄闄呭�熷嚭锛夋椂闂�")
+    private LocalDateTime approveTime;
+
+    @Schema(description = "瀹為檯褰掕繕鏃堕棿")
+    private LocalDateTime returnTime;
+
+    @Schema(description = "褰掕繕纭浜虹敤鎴� ID", example = "1")
+    private Long returnConfirmUserId;
+
+    @Schema(description = "褰掕繕纭浜哄鍚�", example = "绠$悊鍛�")
+    private String returnConfirmUserName;
+
+    @Schema(description = "褰掕繕澶囨敞")
+    private String returnRemark;
+
+    @Schema(description = "椹冲洖鍘熷洜")
+    private String rejectReason;
+
+    @Schema(description = "椹冲洖鏃堕棿")
+    private LocalDateTime rejectTime;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+    @Schema(description = "鏄惁閫炬湡锛堝�熷嚭涓� 涓� 褰掕繕鏈熼檺宸茶繃锛屽疄鏃惰绠楋級", example = "false")
+    private Boolean overdue;
+
+    @Schema(description = "閫炬湡澶╂暟锛堟湭閫炬湡涓� 0锛�", example = "0")
+    private Long overdueDays;
+
+    @Schema(description = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowReturnReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowReturnReqVO.java
new file mode 100644
index 0000000..e4d996f
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowReturnReqVO.java
@@ -0,0 +1,18 @@
+package cn.iocoder.yudao.module.archive.controller.admin.borrow.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f褰掕繕鐧昏 Request VO")
+@Data
+public class ArchiveBorrowReturnReqVO {
+
+    @Schema(description = "鍊熼槄鍗曠紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "鍊熼槄鍗曠紪鍙蜂笉鑳戒负绌�")
+    private Long id;
+
+    @Schema(description = "褰掕繕澶囨敞", example = "妗f瀹屽ソ锛屾棤缂烘崯")
+    private String returnRemark;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowSaveReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowSaveReqVO.java
new file mode 100644
index 0000000..7744a5f
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/borrow/vo/ArchiveBorrowSaveReqVO.java
@@ -0,0 +1,53 @@
+package cn.iocoder.yudao.module.archive.controller.admin.borrow.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍊熼槄鍗曟柊澧�/淇敼 Request VO")
+@Data
+public class ArchiveBorrowSaveReqVO {
+
+    @Schema(description = "缂栧彿", example = "1")
+    private Long id;
+
+    @Schema(description = "妗f ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "鍊熼槄妗f涓嶈兘涓虹┖")
+    private Long documentId;
+
+    @Schema(description = "鍊熼槄浜虹敤鎴� ID", example = "1")
+    private Long borrowerUserId;
+
+    @Schema(description = "鍊熼槄浜哄鍚�", requiredMode = Schema.RequiredMode.REQUIRED, example = "寮犱笁")
+    @NotEmpty(message = "鍊熼槄浜哄鍚嶄笉鑳戒负绌�")
+    private String borrowerName;
+
+    @Schema(description = "鍊熼槄浜洪儴闂�", example = "绉樹功澶�")
+    private String borrowerDept;
+
+    @Schema(description = "鍊熼槄浜鸿仈绯荤數璇�", example = "13800138000")
+    private String borrowerPhone;
+
+    @Schema(description = "鍊熼槄鏃ユ湡", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-09-29")
+    @NotNull(message = "鍊熼槄鏃ユ湡涓嶈兘涓虹┖")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    private LocalDate borrowDate;
+
+    @Schema(description = "鍊熼槄鐩殑", example = "鎾板啓骞村害鎬荤粨寮曠敤鍘嗗彶鏁版嵁")
+    private String borrowPurpose;
+
+    @Schema(description = "褰掕繕鏈熼檺", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-10-15")
+    @NotNull(message = "褰掕繕鏈熼檺涓嶈兘涓虹┖")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    private LocalDate returnDeadline;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/ArchiveCategoryController.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/ArchiveCategoryController.java
new file mode 100644
index 0000000..cbc83e7
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/ArchiveCategoryController.java
@@ -0,0 +1,112 @@
+package cn.iocoder.yudao.module.archive.controller.admin.category;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategoryListReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategoryRespVO;
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategorySaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+import cn.iocoder.yudao.module.archive.service.category.ArchiveCategoryService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "绠$悊鍚庡彴 - 妗f鍒嗙被")
+@RestController
+@RequestMapping("/archive/category")
+@Validated
+public class ArchiveCategoryController {
+
+    /** 椤剁骇鍒嗙被鐨勭埗鍒嗙被缂栧彿 */
+    private static final Long ROOT_PARENT_ID = 0L;
+
+    @Resource
+    private ArchiveCategoryService categoryService;
+
+    @PostMapping("/create")
+    @Operation(summary = "鍒涘缓妗f鍒嗙被")
+    @PreAuthorize("@ss.hasPermission('archive:category:create')")
+    public CommonResult<Long> createCategory(@Valid @RequestBody ArchiveCategorySaveReqVO createReqVO) {
+        return success(categoryService.createCategory(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "鏇存柊妗f鍒嗙被")
+    @PreAuthorize("@ss.hasPermission('archive:category:update')")
+    public CommonResult<Boolean> updateCategory(@Valid @RequestBody ArchiveCategorySaveReqVO updateReqVO) {
+        categoryService.updateCategory(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鍒犻櫎妗f鍒嗙被")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('archive:category:delete')")
+    public CommonResult<Boolean> deleteCategory(@RequestParam("id") Long id) {
+        categoryService.deleteCategory(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "鑾峰緱妗f鍒嗙被")
+    @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('archive:category:query')")
+    public CommonResult<ArchiveCategoryRespVO> getCategory(@RequestParam("id") Long id) {
+        ArchiveCategoryDO category = categoryService.getCategory(id);
+        return success(BeanUtils.toBean(category, ArchiveCategoryRespVO.class));
+    }
+
+    @GetMapping("/list")
+    @Operation(summary = "鑾峰緱妗f鍒嗙被鍒楄〃锛堜笉鍒嗛〉锛�")
+    @PreAuthorize("@ss.hasPermission('archive:category:query')")
+    public CommonResult<List<ArchiveCategoryRespVO>> getCategoryList(@Valid ArchiveCategoryListReqVO reqVO) {
+        return success(BeanUtils.toBean(categoryService.getCategoryList(reqVO), ArchiveCategoryRespVO.class));
+    }
+
+    @GetMapping("/tree")
+    @Operation(summary = "鑾峰緱妗f鍒嗙被鏍戯紙渚涘乏鏍戝彸琛ㄤ笌妗f鍒嗙被涓嬫媺浣跨敤锛�")
+    @PreAuthorize("@ss.hasPermission('archive:category:query')")
+    public CommonResult<List<ArchiveCategoryRespVO>> getCategoryTree() {
+        return success(buildTree(BeanUtils.toBean(categoryService.getCategoryList(), ArchiveCategoryRespVO.class)));
+    }
+
+    // ==================== 鍐呴儴鏂规硶 ====================
+
+    private List<ArchiveCategoryRespVO> buildTree(List<ArchiveCategoryRespVO> categoryList) {
+        if (CollUtil.isEmpty(categoryList)) {
+            return Collections.emptyList();
+        }
+        // 1. 寤虹珛銆岀紪鍙� -> 鑺傜偣銆嶇储寮曪紝骞跺垵濮嬪寲 children
+        Map<Long, ArchiveCategoryRespVO> nodeMap = new LinkedHashMap<>();
+        for (ArchiveCategoryRespVO category : categoryList) {
+            category.setChildren(new ArrayList<>());
+            nodeMap.put(category.getId(), category);
+        }
+        // 2. 鎸傝浇瀛愯妭鐐癸紱鐖惰妭鐐逛笉瀛樺湪鏃惰涓洪《绾э紝閬垮厤鍒嗙被琚殣钘�
+        List<ArchiveCategoryRespVO> roots = new ArrayList<>();
+        for (ArchiveCategoryRespVO category : categoryList) {
+            ArchiveCategoryRespVO parent = nodeMap.get(category.getParentId());
+            if (parent == null || ROOT_PARENT_ID.equals(category.getParentId())) {
+                roots.add(category);
+            } else {
+                parent.getChildren().add(category);
+            }
+        }
+        return roots;
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryListReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryListReqVO.java
new file mode 100644
index 0000000..5a475a1
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryListReqVO.java
@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.archive.controller.admin.category.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍒嗙被鍒楄〃 Request VO")
+@Data
+public class ArchiveCategoryListReqVO {
+
+    @Schema(description = "鍒嗙被鍚嶇О锛堟ā绯婂尮閰嶏級", example = "璇鹃")
+    private String name;
+
+    @Schema(description = "鐘舵�侊細0-鍚敤 1-鍋滅敤", example = "0")
+    private Integer status;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryRespVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryRespVO.java
new file mode 100644
index 0000000..abbd2fe
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategoryRespVO.java
@@ -0,0 +1,46 @@
+package cn.iocoder.yudao.module.archive.controller.admin.category.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍒嗙被 Response VO")
+@Data
+public class ArchiveCategoryRespVO {
+
+    @Schema(description = "缂栧彿", example = "1")
+    private Long id;
+
+    @Schema(description = "鐖跺垎绫� ID锛�0=椤剁骇", example = "0")
+    private Long parentId;
+
+    @Schema(description = "鍒嗙被鍚嶇О", example = "璇鹃妗f")
+    private String name;
+
+    @Schema(description = "鍒嗙被缂栫爜锛屽敮涓�", example = "research")
+    private String code;
+
+    @Schema(description = "鏄剧ず鎺掑簭", example = "2")
+    private Integer sort;
+
+    @Schema(description = "鍒嗙被璇存槑", example = "璇鹃绔嬮」銆佺粨椤广�佹垚鏋滄潗鏂�")
+    private String description;
+
+    @Schema(description = "璇ュ垎绫讳笅妗f榛樿瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑", example = "2")
+    private Integer defaultSecretLevel;
+
+    @Schema(description = "鐘舵�侊細0-鍚敤 1-鍋滅敤", example = "0")
+    private Integer status;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+    @Schema(description = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+    @Schema(description = "瀛愬垎绫�")
+    private List<ArchiveCategoryRespVO> children;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategorySaveReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategorySaveReqVO.java
new file mode 100644
index 0000000..91dd2e3
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/category/vo/ArchiveCategorySaveReqVO.java
@@ -0,0 +1,42 @@
+package cn.iocoder.yudao.module.archive.controller.admin.category.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍒嗙被鏂板/淇敼 Request VO")
+@Data
+public class ArchiveCategorySaveReqVO {
+
+    @Schema(description = "缂栧彿", example = "1")
+    private Long id;
+
+    @Schema(description = "鐖跺垎绫� ID锛�0=椤剁骇", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
+    @NotNull(message = "鐖跺垎绫讳笉鑳戒负绌�")
+    private Long parentId;
+
+    @Schema(description = "鍒嗙被鍚嶇О", requiredMode = Schema.RequiredMode.REQUIRED, example = "璇鹃妗f")
+    @NotEmpty(message = "鍒嗙被鍚嶇О涓嶈兘涓虹┖")
+    private String name;
+
+    @Schema(description = "鍒嗙被缂栫爜锛屽敮涓�", requiredMode = Schema.RequiredMode.REQUIRED, example = "research")
+    @NotEmpty(message = "鍒嗙被缂栫爜涓嶈兘涓虹┖")
+    private String code;
+
+    @Schema(description = "鏄剧ず鎺掑簭", example = "2")
+    private Integer sort;
+
+    @Schema(description = "鍒嗙被璇存槑", example = "璇鹃绔嬮」銆佺粨椤广�佹垚鏋滄潗鏂�")
+    private String description;
+
+    @Schema(description = "璇ュ垎绫讳笅妗f榛樿瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑", example = "2")
+    private Integer defaultSecretLevel;
+
+    @Schema(description = "鐘舵�侊細0-鍚敤 1-鍋滅敤", example = "0")
+    private Integer status;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/ArchiveDocumentController.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/ArchiveDocumentController.java
new file mode 100644
index 0000000..00a4cc4
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/ArchiveDocumentController.java
@@ -0,0 +1,157 @@
+package cn.iocoder.yudao.module.archive.controller.admin.document;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentRespVO;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentSaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO;
+import cn.iocoder.yudao.module.archive.service.category.ArchiveCategoryService;
+import cn.iocoder.yudao.module.archive.service.document.ArchiveDocumentService;
+import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
+import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen;
+import static cn.iocoder.yudao.module.archive.service.document.ArchiveDocumentService.DOCUMENT_RECORD_TYPE;
+
+@Tag(name = "绠$悊鍚庡彴 - 妗f")
+@RestController
+@RequestMapping("/archive/document")
+@Validated
+public class ArchiveDocumentController {
+
+    @Resource
+    private ArchiveDocumentService documentService;
+
+    @Resource
+    private ArchiveCategoryService categoryService;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Resource
+    private StorageAttachmentApi storageAttachmentApi;
+
+    @PostMapping("/create")
+    @Operation(summary = "鍒涘缓妗f")
+    @PreAuthorize("@ss.hasPermission('archive:document:create')")
+    public CommonResult<Long> createDocument(@Valid @RequestBody ArchiveDocumentSaveReqVO createReqVO) {
+        return success(documentService.createDocument(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "鏇存柊妗f锛堝�熷嚭涓殑妗f涓嶅厑璁镐慨鏀癸級")
+    @PreAuthorize("@ss.hasPermission('archive:document:update')")
+    public CommonResult<Boolean> updateDocument(@Valid @RequestBody ArchiveDocumentSaveReqVO updateReqVO) {
+        documentService.updateDocument(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鍒犻櫎妗f")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('archive:document:delete')")
+    public CommonResult<Boolean> deleteDocument(@RequestParam("id") Long id) {
+        documentService.deleteDocument(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "鑾峰緱妗f锛堜繚瀵嗙骇妗f闇�瑕� archive:document:sensitive 鏉冮檺锛�")
+    @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('archive:document:query')")
+    public CommonResult<ArchiveDocumentRespVO> getDocument(@RequestParam("id") Long id) {
+        ArchiveDocumentDO document = documentService.getDocument(id);
+        return success(buildDocumentDetail(document));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "鑾峰緱妗f鍒嗛〉锛堟棤鏁忔劅妗f鏉冮檺鏃惰嚜鍔ㄨ繃婊や繚瀵嗘。妗堬級")
+    @PreAuthorize("@ss.hasPermission('archive:document:query')")
+    public CommonResult<PageResult<ArchiveDocumentRespVO>> getDocumentPage(
+            @Valid ArchiveDocumentPageReqVO pageReqVO) {
+        PageResult<ArchiveDocumentDO> pageResult = documentService.getDocumentPage(pageReqVO);
+        return success(new PageResult<>(buildDocumentDetailList(pageResult.getList()), pageResult.getTotal()));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "瀵煎嚭妗f Excel")
+    @PreAuthorize("@ss.hasPermission('archive:document:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportDocumentExcel(@Valid ArchiveDocumentPageReqVO pageReqVO,
+                                    HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PAGE_SIZE_NONE);
+        List<ArchiveDocumentDO> list = documentService.getDocumentList(pageReqVO);
+        ExcelUtils.write(response, "妗f.xls", "鏁版嵁", ArchiveDocumentRespVO.class, buildDocumentDetailList(list));
+    }
+
+    // ==================== 鍐呴儴鏂规硶 ====================
+
+    private ArchiveDocumentRespVO buildDocumentDetail(ArchiveDocumentDO document) {
+        if (document == null) {
+            return null;
+        }
+        return buildDocumentDetailList(Collections.singletonList(document)).get(0);
+    }
+
+    private List<ArchiveDocumentRespVO> buildDocumentDetailList(List<ArchiveDocumentDO> list) {
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+
+        // 1.1 鍒嗙被鍚嶇О
+        Set<Long> categoryIds = convertSet(list, ArchiveDocumentDO::getCategoryId);
+        Map<Long, ArchiveCategoryDO> categoryMap = categoryIds.isEmpty() ? Collections.emptyMap()
+                : categoryService.getCategoryList().stream()
+                        .filter(category -> categoryIds.contains(category.getId()))
+                        .collect(Collectors.toMap(ArchiveCategoryDO::getId, Function.identity(), (a, b) -> a));
+        // 1.2 褰掓。浜哄鍚�
+        Set<Long> archivistIds = convertSet(list, ArchiveDocumentDO::getArchivistUserId);
+        Map<Long, AdminUserRespDTO> archivistMap = adminUserApi.getUserMap(archivistIds);
+        // 1.3 闄勪欢
+        Map<Long, List<StorageBlobRespDTO>> attachmentMap = list.stream()
+                .collect(Collectors.toMap(ArchiveDocumentDO::getId,
+                        document -> storageAttachmentApi.listAttachments(DOCUMENT_RECORD_TYPE, document.getId())));
+
+        // 2. 鎷兼帴缁撴灉
+        return BeanUtils.toBean(list, ArchiveDocumentRespVO.class, vo -> {
+            ArchiveCategoryDO category = categoryMap.get(vo.getCategoryId());
+            if (category != null) {
+                vo.setCategoryName(category.getName());
+            }
+            findAndThen(archivistMap, vo.getArchivistUserId(), user -> vo.setArchivistName(user.getNickname()));
+            List<StorageBlobRespDTO> attachments = attachmentMap.getOrDefault(vo.getId(), Collections.emptyList());
+            vo.setAttachmentList(attachments);
+            vo.setHasAttachment(CollUtil.isNotEmpty(attachments));
+        });
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentPageReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentPageReqVO.java
new file mode 100644
index 0000000..cc184eb
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentPageReqVO.java
@@ -0,0 +1,49 @@
+package cn.iocoder.yudao.module.archive.controller.admin.document.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鍒嗛〉 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveDocumentPageReqVO extends PageParam {
+
+    @Schema(description = "妗f缂栧彿", example = "DA20260929000001")
+    private String no;
+
+    @Schema(description = "妗f鏍囬", example = "2026骞村害瀛︿細宸ヤ綔鎬荤粨")
+    private String title;
+
+    @Schema(description = "妗f鍒嗙被 ID", example = "1")
+    private Long categoryId;
+
+    @Schema(description = "瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑", example = "2")
+    private Integer secretLevel;
+
+    @Schema(description = "杞戒綋锛�1-鐢靛瓙 2-瀹炰綋 3-鐢靛瓙+瀹炰綋", example = "3")
+    private Integer carrierType;
+
+    @Schema(description = "鏉ユ簮绫诲瀷锛�1-鎵嬪伐 2-璇鹃 3-浼氬憳 4-璐㈠姟", example = "2")
+    private Integer sourceType;
+
+    @Schema(description = "鏉ユ簮鍗曞彿", example = "LX20260928000001")
+    private String sourceNo;
+
+    @Schema(description = "鍏抽敭璇嶏紙妯$硦鍖归厤 tags 瀛楁锛�", example = "宸ヤ綔鎬荤粨")
+    private String tags;
+
+    @Schema(description = "妗f鐘舵�侊細10-鍦ㄥ簱 20-鍊熷嚭涓�", example = "10")
+    private Integer status;
+
+    @Schema(description = "褰掓。鏃ユ湡")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    private LocalDate[] archiveDate;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentRespVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentRespVO.java
new file mode 100644
index 0000000..5d8a862
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentRespVO.java
@@ -0,0 +1,121 @@
+package cn.iocoder.yudao.module.archive.controller.admin.document.vo;
+
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
+import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
+import cn.iocoder.yudao.module.archive.enums.DictTypeConstants;
+import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class ArchiveDocumentRespVO {
+
+    @Schema(description = "缂栧彿", example = "1")
+    private Long id;
+
+    @Schema(description = "妗f缂栧彿", example = "DA20260929000001")
+    @ExcelProperty("妗f缂栧彿")
+    private String no;
+
+    @Schema(description = "妗f鏍囬", example = "2026骞村害瀛︿細宸ヤ綔鎬荤粨")
+    @ExcelProperty("妗f鏍囬")
+    private String title;
+
+    @Schema(description = "妗f鍒嗙被 ID", example = "1")
+    private Long categoryId;
+
+    @Schema(description = "妗f鍒嗙被鍚嶇О", example = "鏂囦功妗f")
+    @ExcelProperty("妗f鍒嗙被")
+    private String categoryName;
+
+    @Schema(description = "瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑", example = "2")
+    @ExcelProperty(value = "瀵嗙骇", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.SECRET_LEVEL)
+    private Integer secretLevel;
+
+    @Schema(description = "杞戒綋锛�1-鐢靛瓙 2-瀹炰綋 3-鐢靛瓙+瀹炰綋", example = "3")
+    @ExcelProperty(value = "杞戒綋", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.CARRIER_TYPE)
+    private Integer carrierType;
+
+    @Schema(description = "瀹炰綋-涔︽灦鍙�", example = "A")
+    @ExcelProperty("涔︽灦鍙�")
+    private String shelfNo;
+
+    @Schema(description = "瀹炰綋-灞傚彿", example = "2")
+    @ExcelProperty("灞傚彿")
+    private String layerNo;
+
+    @Schema(description = "瀹炰綋-鍒楀彿", example = "3")
+    @ExcelProperty("鍒楀彿")
+    private String columnNo;
+
+    @Schema(description = "瀹炰綋-鍐屽彿/妗f鐩掑彿", example = "B-03")
+    @ExcelProperty("鍐屽彿/妗f鐩掑彿")
+    private String boxNo;
+
+    @Schema(description = "瀹炰綋瀛樻斁浣嶇疆鎻忚堪", example = "3鍙峰簱鎴緼鏋�2灞�")
+    @ExcelProperty("瀛樻斁浣嶇疆")
+    private String storePlace;
+
+    @Schema(description = "鏉ユ簮绫诲瀷锛�1-鎵嬪伐 2-璇鹃 3-浼氬憳 4-璐㈠姟", example = "1")
+    @ExcelProperty(value = "鏉ユ簮绫诲瀷", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.SOURCE_TYPE)
+    private Integer sourceType;
+
+    @Schema(description = "鏉ユ簮鍗曞彿", example = "LX20260929000001")
+    @ExcelProperty("鏉ユ簮鍗曞彿")
+    private String sourceNo;
+
+    @Schema(description = "鏉ユ簮鍗曟嵁 ID", example = "1024")
+    private Long sourceId;
+
+    @Schema(description = "鏉ユ簮鍗曟嵁鏍囬锛堝啑浣欏揩鐓э級", example = "XX鎶�鏈爺绌惰棰�")
+    @ExcelProperty("鏉ユ簮鍗曟嵁鏍囬")
+    private String sourceTitle;
+
+    @Schema(description = "褰掓。鏃ユ湡", example = "2026-09-29")
+    @ExcelProperty("褰掓。鏃ユ湡")
+    private LocalDate archiveDate;
+
+    @Schema(description = "褰掓。浜虹敤鎴� ID", example = "1")
+    private Long archivistUserId;
+
+    @Schema(description = "褰掓。浜哄鍚�", example = "绠$悊鍛�")
+    @ExcelProperty("褰掓。浜�")
+    private String archivistName;
+
+    @Schema(description = "妗f鐘舵�侊細10-鍦ㄥ簱 20-鍊熷嚭涓�", example = "10")
+    @ExcelProperty(value = "妗f鐘舵��", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.DOCUMENT_STATUS)
+    private Integer status;
+
+    @Schema(description = "鎽樿")
+    @ExcelProperty("鎽樿")
+    private String summary;
+
+    @Schema(description = "鍏抽敭璇嶏紝鑻辨枃閫楀彿鍒嗛殧", example = "宸ヤ綔鎬荤粨,骞村害璁″垝")
+    @ExcelProperty("鍏抽敭璇�")
+    private String tags;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+    @Schema(description = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+    @Schema(description = "闄勪欢鍒楄〃")
+    private List<StorageBlobRespDTO> attachmentList;
+
+    @Schema(description = "鏄惁鏈夐檮浠�")
+    private Boolean hasAttachment;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentSaveReqVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentSaveReqVO.java
new file mode 100644
index 0000000..26e21d0
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/document/vo/ArchiveDocumentSaveReqVO.java
@@ -0,0 +1,66 @@
+package cn.iocoder.yudao.module.archive.controller.admin.document.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f鏂板/淇敼 Request VO")
+@Data
+public class ArchiveDocumentSaveReqVO {
+
+    @Schema(description = "缂栧彿", example = "1")
+    private Long id;
+
+    @Schema(description = "妗f鏍囬", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026骞村害瀛︿細宸ヤ綔鎬荤粨")
+    @NotEmpty(message = "妗f鏍囬涓嶈兘涓虹┖")
+    private String title;
+
+    @Schema(description = "妗f鍒嗙被 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "妗f鍒嗙被涓嶈兘涓虹┖")
+    private Long categoryId;
+
+    @Schema(description = "瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑锛屼负绌烘椂鍙栧垎绫婚粯璁ゅ瘑绾�", example = "2")
+    private Integer secretLevel;
+
+    @Schema(description = "杞戒綋锛�1-鐢靛瓙 2-瀹炰綋 3-鐢靛瓙+瀹炰綋锛屼负绌烘椂鍙栭粯璁ゅ�� 3", example = "3")
+    private Integer carrierType;
+
+    @Schema(description = "瀹炰綋-涔︽灦鍙�", example = "A")
+    private String shelfNo;
+
+    @Schema(description = "瀹炰綋-灞傚彿", example = "2")
+    private String layerNo;
+
+    @Schema(description = "瀹炰綋-鍒楀彿", example = "3")
+    private String columnNo;
+
+    @Schema(description = "瀹炰綋-鍐屽彿/妗f鐩掑彿", example = "B-03")
+    private String boxNo;
+
+    @Schema(description = "瀹炰綋瀛樻斁浣嶇疆鎻忚堪", example = "3鍙峰簱鎴緼鏋�2灞�")
+    private String storePlace;
+
+    @Schema(description = "褰掓。鏃ユ湡锛屼负绌烘椂鍙栧綋澶�", example = "2026-09-29")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    private LocalDate archiveDate;
+
+    @Schema(description = "鎽樿", example = "2026骞村害瀛︿細宸ヤ綔鎬荤粨鍙婁笅涓�骞村害璁″垝")
+    private String summary;
+
+    @Schema(description = "鍏抽敭璇嶏紝鑻辨枃閫楀彿鍒嗛殧", example = "宸ヤ綔鎬荤粨,骞村害璁″垝")
+    private String tags;
+
+    @Schema(description = "澶囨敞")
+    private String remark;
+
+    @Schema(description = "闄勪欢 BlobId 鍒楄〃")
+    private List<Long> blobIds;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/ArchiveStatController.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/ArchiveStatController.java
new file mode 100644
index 0000000..cb4f489
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/ArchiveStatController.java
@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.archive.controller.admin.stat;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.archive.controller.admin.stat.vo.ArchiveStatRespVO;
+import cn.iocoder.yudao.module.archive.service.stat.ArchiveStatService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "绠$悊鍚庡彴 - 妗f缁熻")
+@RestController
+@RequestMapping("/archive/stat")
+@Validated
+public class ArchiveStatController {
+
+    @Resource
+    private ArchiveStatService statService;
+
+    @GetMapping("/overview")
+    @Operation(summary = "鑾峰緱妗f缁熻鎬昏锛堝瓨閲� + 娴佽浆 + 鍒嗙被/瀵嗙骇/杞戒綋鍒嗗竷锛�")
+    @PreAuthorize("@ss.hasPermission('archive:stat:query')")
+    public CommonResult<ArchiveStatRespVO> getOverview() {
+        return success(statService.getOverview());
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatCategoryVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatCategoryVO.java
new file mode 100644
index 0000000..f3c1e91
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatCategoryVO.java
@@ -0,0 +1,19 @@
+package cn.iocoder.yudao.module.archive.controller.admin.stat.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f缁熻-鍒嗙被鍒嗗竷")
+@Data
+public class ArchiveStatCategoryVO {
+
+    @Schema(description = "鍒嗙被缂栧彿", example = "2")
+    private Long categoryId;
+
+    @Schema(description = "鍒嗙被鍚嶇О", example = "璇鹃妗f")
+    private String name;
+
+    @Schema(description = "妗f鏁伴噺", example = "12")
+    private Long total;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatRespVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatRespVO.java
new file mode 100644
index 0000000..518ad96
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatRespVO.java
@@ -0,0 +1,36 @@
+package cn.iocoder.yudao.module.archive.controller.admin.stat.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f缁熻 Response VO")
+@Data
+public class ArchiveStatRespVO {
+
+    @Schema(description = "妗f鎬绘暟", example = "128")
+    private Long totalCount;
+
+    @Schema(description = "鍦ㄥ簱妗f鏁伴噺", example = "120")
+    private Long inStockCount;
+
+    @Schema(description = "鍊熷嚭涓。妗堟暟閲�", example = "8")
+    private Long borrowedCount;
+
+    @Schema(description = "鍊熷嚭涓�熼槄鍗曟暟閲�", example = "8")
+    private Long borrowingCount;
+
+    @Schema(description = "閫炬湡鏈繕鍊熼槄鍗曟暟閲�", example = "2")
+    private Long overdueCount;
+
+    @Schema(description = "鎸夊垎绫诲垎甯�")
+    private List<ArchiveStatCategoryVO> byCategory;
+
+    @Schema(description = "鎸夊瘑绾у垎甯�")
+    private List<ArchiveStatValueVO> bySecretLevel;
+
+    @Schema(description = "鎸夎浇浣撳垎甯�")
+    private List<ArchiveStatValueVO> byCarrierType;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatValueVO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatValueVO.java
new file mode 100644
index 0000000..aa6ae3a
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/controller/admin/stat/vo/ArchiveStatValueVO.java
@@ -0,0 +1,19 @@
+package cn.iocoder.yudao.module.archive.controller.admin.stat.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 妗f缁熻-鏋氫妇鍊煎垎甯冿紙瀵嗙骇 / 杞戒綋锛�")
+@Data
+public class ArchiveStatValueVO {
+
+    @Schema(description = "鏋氫妇鍊�", example = "3")
+    private Integer value;
+
+    @Schema(description = "鏋氫妇鍚嶇О", example = "淇濆瘑")
+    private String name;
+
+    @Schema(description = "妗f鏁伴噺", example = "5")
+    private Long total;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/borrow/ArchiveBorrowDO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/borrow/ArchiveBorrowDO.java
new file mode 100644
index 0000000..56cc820
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/borrow/ArchiveBorrowDO.java
@@ -0,0 +1,90 @@
+package cn.iocoder.yudao.module.archive.dal.dataobject.borrow;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 妗f-鍊熼槄鍗� DO锛堝�熼槄鐧昏 + 褰掕繕鐧昏鍚堜竴锛�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@TableName("archive_borrow")
+@KeySequence("archive_borrow_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ArchiveBorrowDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 鍊熼槄鍗曞彿 JY+yyyyMMdd+6浣嶆祦姘� */
+    private String no;
+
+    /** 妗f ID */
+    private Long documentId;
+
+    /** 妗f缂栧彿锛堝揩鐓э級 */
+    private String documentNo;
+
+    /** 妗f鏍囬锛堝揩鐓э級 */
+    private String documentTitle;
+
+    /** 鍊熼槄浜虹敤鎴� ID */
+    private Long borrowerUserId;
+
+    /** 鍊熼槄浜哄鍚� */
+    private String borrowerName;
+
+    /** 鍊熼槄浜洪儴闂� */
+    private String borrowerDept;
+
+    /** 鍊熼槄浜鸿仈绯荤數璇� */
+    private String borrowerPhone;
+
+    /** 鍊熼槄鏃ユ湡 */
+    private LocalDate borrowDate;
+
+    /** 鍊熼槄鐩殑 */
+    private String borrowPurpose;
+
+    /** 褰掕繕鏈熼檺锛堥�炬湡瀹炴椂璁$畻鍩哄噯锛� */
+    private LocalDate returnDeadline;
+
+    /** 鐘舵�侊細0-鑽夌 15-瀹℃壒涓� 20-鍊熷嚭涓� 30-宸插綊杩� 35-宸查┏鍥� */
+    private Integer status;
+
+    /** BPM 娴佺▼瀹炰緥 ID */
+    private String processInstanceId;
+
+    /** 瀹℃壒閫氳繃锛堝疄闄呭�熷嚭锛夋椂闂� */
+    private LocalDateTime approveTime;
+
+    /** 瀹為檯褰掕繕鏃堕棿 */
+    private LocalDateTime returnTime;
+
+    /** 褰掕繕纭浜虹敤鎴� ID */
+    private Long returnConfirmUserId;
+
+    /** 褰掕繕澶囨敞 */
+    private String returnRemark;
+
+    /** 椹冲洖鍘熷洜锛圔PM 鍥炲啓锛� */
+    private String rejectReason;
+
+    /** 椹冲洖鏃堕棿 */
+    private LocalDateTime rejectTime;
+
+    /** 澶囨敞 */
+    private String remark;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/category/ArchiveCategoryDO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/category/ArchiveCategoryDO.java
new file mode 100644
index 0000000..ed13460
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/category/ArchiveCategoryDO.java
@@ -0,0 +1,51 @@
+package cn.iocoder.yudao.module.archive.dal.dataobject.category;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 妗f-鍒嗙被 DO锛堜功鏋跺垎绫伙紝鍒嗗眰锛�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@TableName("archive_category")
+@KeySequence("archive_category_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ArchiveCategoryDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 鐖跺垎绫� ID锛�0=椤剁骇 */
+    private Long parentId;
+
+    /** 鍒嗙被鍚嶇О */
+    private String name;
+
+    /** 鍒嗙被缂栫爜锛屽敮涓� */
+    private String code;
+
+    /** 鏄剧ず鎺掑簭 */
+    private Integer sort;
+
+    /** 鍒嗙被璇存槑 */
+    private String description;
+
+    /** 璇ュ垎绫讳笅妗f榛樿瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑 */
+    private Integer defaultSecretLevel;
+
+    /** 鐘舵�侊細0-鍚敤 1-鍋滅敤 */
+    private Integer status;
+
+    /** 澶囨敞 */
+    private String remark;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/document/ArchiveDocumentDO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/document/ArchiveDocumentDO.java
new file mode 100644
index 0000000..9c9bd64
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/dataobject/document/ArchiveDocumentDO.java
@@ -0,0 +1,89 @@
+package cn.iocoder.yudao.module.archive.dal.dataobject.document;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDate;
+
+/**
+ * 妗f-妗f涓昏〃 DO
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@TableName("archive_document")
+@KeySequence("archive_document_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ArchiveDocumentDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 妗f缂栧彿 DA+yyyyMMdd+6浣嶆祦姘� */
+    private String no;
+
+    /** 妗f鏍囬 */
+    private String title;
+
+    /** 妗f鍒嗙被 ID */
+    private Long categoryId;
+
+    /** 瀵嗙骇锛�1-鍏紑 2-鍐呴儴 3-淇濆瘑 */
+    private Integer secretLevel;
+
+    /** 杞戒綋锛�1-鐢靛瓙 2-瀹炰綋 3-鐢靛瓙+瀹炰綋 */
+    private Integer carrierType;
+
+    /** 瀹炰綋-涔︽灦鍙� */
+    private String shelfNo;
+
+    /** 瀹炰綋-灞傚彿 */
+    private String layerNo;
+
+    /** 瀹炰綋-鍒楀彿 */
+    private String columnNo;
+
+    /** 瀹炰綋-鍐屽彿/妗f鐩掑彿 */
+    private String boxNo;
+
+    /** 瀹炰綋瀛樻斁浣嶇疆鎻忚堪 */
+    private String storePlace;
+
+    /** 鏉ユ簮绫诲瀷锛�1-鎵嬪伐 2-璇鹃 3-浼氬憳 4-璐㈠姟 */
+    private Integer sourceType;
+
+    /** 鏉ユ簮鍗曞彿 */
+    private String sourceNo;
+
+    /** 鏉ユ簮鍗曟嵁 ID */
+    private Long sourceId;
+
+    /** 鏉ユ簮鍗曟嵁鏍囬锛堝啑浣欏揩鐓э級 */
+    private String sourceTitle;
+
+    /** 褰掓。鏃ユ湡 */
+    private LocalDate archiveDate;
+
+    /** 褰掓。浜虹敤鎴� ID */
+    private Long archivistUserId;
+
+    /** 妗f鐘舵�侊細10-鍦ㄥ簱 20-鍊熷嚭涓� */
+    private Integer status;
+
+    /** 鎽樿 */
+    private String summary;
+
+    /** 鍏抽敭璇嶏紝鑻辨枃閫楀彿鍒嗛殧 */
+    private String tags;
+
+    /** 澶囨敞 */
+    private String remark;
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/borrow/ArchiveBorrowMapper.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/borrow/ArchiveBorrowMapper.java
new file mode 100644
index 0000000..eee5598
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/borrow/ArchiveBorrowMapper.java
@@ -0,0 +1,84 @@
+package cn.iocoder.yudao.module.archive.dal.mysql.borrow;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowPageReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.borrow.ArchiveBorrowDO;
+import cn.iocoder.yudao.module.archive.enums.ArchiveBorrowStatusEnum;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.time.LocalDate;
+import java.util.Collection;
+import java.util.List;
+
+@Mapper
+public interface ArchiveBorrowMapper extends BaseMapperX<ArchiveBorrowDO> {
+
+    /** 鍊熼槄鍗曞垎椤垫煡璇� */
+    default PageResult<ArchiveBorrowDO> selectPage(ArchiveBorrowPageReqVO reqVO) {
+        return selectPage(reqVO, buildQuery(reqVO, false));
+    }
+
+    /** 閫炬湡鍊熼槄鍗曞垎椤垫煡璇細鍊熷嚭涓� 涓� 褰掕繕鏈熼檺宸茶繃 */
+    default PageResult<ArchiveBorrowDO> selectOverduePage(ArchiveBorrowPageReqVO reqVO) {
+        return selectPage(reqVO, buildQuery(reqVO, true));
+    }
+
+    /** 閫炬湡鍊熼槄鍗曞垪琛紙涓嶅垎椤碉紝缁熻涓庡鍑虹敤锛� */
+    default List<ArchiveBorrowDO> selectOverdueList() {
+        return selectList(new LambdaQueryWrapperX<ArchiveBorrowDO>()
+                .eq(ArchiveBorrowDO::getStatus, ArchiveBorrowStatusEnum.BORROWED.getStatus())
+                .lt(ArchiveBorrowDO::getReturnDeadline, LocalDate.now()));
+    }
+
+    /**
+     * 鏋勫缓鍊熼槄鍗曟煡璇㈡潯浠�
+     *
+     * @param overdueOnly true=浠呮煡璇㈤�炬湡锛堝�熷嚭涓� 涓� 褰掕繕鏈熼檺 < 浠婂ぉ锛�
+     */
+    default LambdaQueryWrapperX<ArchiveBorrowDO> buildQuery(ArchiveBorrowPageReqVO reqVO, boolean overdueOnly) {
+        LambdaQueryWrapperX<ArchiveBorrowDO> query = new LambdaQueryWrapperX<ArchiveBorrowDO>()
+                .likeIfPresent(ArchiveBorrowDO::getNo, reqVO.getNo())
+                .likeIfPresent(ArchiveBorrowDO::getDocumentNo, reqVO.getDocumentNo())
+                .likeIfPresent(ArchiveBorrowDO::getDocumentTitle, reqVO.getDocumentTitle())
+                .likeIfPresent(ArchiveBorrowDO::getBorrowerName, reqVO.getBorrowerName())
+                .eqIfPresent(ArchiveBorrowDO::getStatus, reqVO.getStatus())
+                .betweenIfPresent(ArchiveBorrowDO::getBorrowDate, reqVO.getBorrowDate())
+                .betweenIfPresent(ArchiveBorrowDO::getReturnDeadline, reqVO.getReturnDeadline())
+                .orderByDesc(ArchiveBorrowDO::getId);
+        if (overdueOnly) {
+            query.eq(ArchiveBorrowDO::getStatus, ArchiveBorrowStatusEnum.BORROWED.getStatus())
+                    .lt(ArchiveBorrowDO::getReturnDeadline, LocalDate.now());
+        }
+        return query;
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾妗f澶勪簬鏈綊杩橈紙瀹℃壒涓� / 鍊熷嚭涓級鐘舵�佺殑鍊熼槄鍗�
+     * 鐢ㄤ簬銆屽悓涓�妗f鍚屼竴鏃堕棿鍙兘鏈変竴鏉℃湭褰掕繕鍊熼槄鍗曘�嶇殑鍞竴鎬ф牎楠�
+     */
+    default List<ArchiveBorrowDO> selectListByDocumentIdAndStatusIn(Long documentId, Collection<Integer> statuses) {
+        return selectList(new LambdaQueryWrapperX<ArchiveBorrowDO>()
+                .eq(ArchiveBorrowDO::getDocumentId, documentId)
+                .inIfPresent(ArchiveBorrowDO::getStatus, statuses));
+    }
+
+    /** 鎸夌姸鎬佺粺璁″�熼槄鍗曟暟閲� */
+    default Long selectCountByStatus(Integer status) {
+        return selectCount(ArchiveBorrowDO::getStatus, status);
+    }
+
+    /** 鍊熷嚭涓�熼槄鍗曟暟閲� */
+    default Long selectBorrowingCount() {
+        return selectCountByStatus(ArchiveBorrowStatusEnum.BORROWED.getStatus());
+    }
+
+    /** 閫炬湡鍊熼槄鍗曟暟閲� */
+    default Long selectOverdueCount() {
+        return selectCount(new LambdaQueryWrapperX<ArchiveBorrowDO>()
+                .eq(ArchiveBorrowDO::getStatus, ArchiveBorrowStatusEnum.BORROWED.getStatus())
+                .lt(ArchiveBorrowDO::getReturnDeadline, LocalDate.now()));
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/category/ArchiveCategoryMapper.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/category/ArchiveCategoryMapper.java
new file mode 100644
index 0000000..263d14e
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/category/ArchiveCategoryMapper.java
@@ -0,0 +1,51 @@
+package cn.iocoder.yudao.module.archive.dal.mysql.category;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface ArchiveCategoryMapper extends BaseMapperX<ArchiveCategoryDO> {
+
+    /** 鎸夋帓搴忓�� + 缂栧彿鍗囧簭鍙栧叏閮ㄥ垎绫伙紝鐢ㄤ簬鏋勫缓鍒嗙被鏍� */
+    default List<ArchiveCategoryDO> selectListOrdered() {
+        return selectList(new LambdaQueryWrapperX<ArchiveCategoryDO>()
+                .orderByAsc(ArchiveCategoryDO::getSort)
+                .orderByAsc(ArchiveCategoryDO::getId));
+    }
+
+    default List<ArchiveCategoryDO> selectListByParentId(Long parentId) {
+        return selectList(ArchiveCategoryDO::getParentId, parentId);
+    }
+
+    default ArchiveCategoryDO selectByCode(String code) {
+        return selectOne(ArchiveCategoryDO::getCode, code);
+    }
+
+    /**
+     * 缁熻鍚岀骇涓嬪悓鍚嶅垎绫绘暟閲忥紙鏍¢獙鍞竴鎬х敤锛�
+     *
+     * @param excludeId 闇�瑕佹帓闄ょ殑鍒嗙被 ID锛堟洿鏂板満鏅紶鑷韩 ID锛屾柊澧炲満鏅紶 null锛�
+     */
+    default Long selectCountByName(String name, Long parentId, Long excludeId) {
+        return selectCount(new LambdaQueryWrapperX<ArchiveCategoryDO>()
+                .eq(ArchiveCategoryDO::getName, name)
+                .eq(ArchiveCategoryDO::getParentId, parentId)
+                .neIfPresent(ArchiveCategoryDO::getId, excludeId));
+    }
+
+    /**
+     * 缁熻缂栫爜閲嶅鏁伴噺锛堟牎楠屽敮涓�鎬х敤锛�
+     *
+     * @param excludeId 闇�瑕佹帓闄ょ殑鍒嗙被 ID锛堟洿鏂板満鏅紶鑷韩 ID锛屾柊澧炲満鏅紶 null锛�
+     */
+    default Long selectCountByCode(String code, Long excludeId) {
+        return selectCount(new LambdaQueryWrapperX<ArchiveCategoryDO>()
+                .eq(ArchiveCategoryDO::getCode, code)
+                .neIfPresent(ArchiveCategoryDO::getId, excludeId));
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/document/ArchiveDocumentMapper.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/document/ArchiveDocumentMapper.java
new file mode 100644
index 0000000..87155c8
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/mysql/document/ArchiveDocumentMapper.java
@@ -0,0 +1,111 @@
+package cn.iocoder.yudao.module.archive.dal.mysql.document;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.stat.vo.ArchiveStatCategoryVO;
+import cn.iocoder.yudao.module.archive.controller.admin.stat.vo.ArchiveStatValueVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO;
+import cn.iocoder.yudao.module.archive.enums.ArchiveDocumentStatusEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveSecretLevelEnum;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface ArchiveDocumentMapper extends BaseMapperX<ArchiveDocumentDO> {
+
+    /**
+     * 鎸夋潵婧愬崟鎹煡璇㈡。妗堬紙褰掓。鑱斿姩骞傜瓑鍒ゆ柇鐢級
+     */
+    default ArchiveDocumentDO selectBySource(Integer sourceType, Long sourceId) {
+        return selectFirstOne(ArchiveDocumentDO::getSourceType, sourceType,
+                ArchiveDocumentDO::getSourceId, sourceId);
+    }
+
+    /** 鍒嗙被涓嬫。妗堟暟閲忥紙鍒嗙被鍒犻櫎瀹堝崼鐢級 */
+    default Long selectCountByCategoryId(Long categoryId) {
+        return selectCount(ArchiveDocumentDO::getCategoryId, categoryId);
+    }
+
+    /**
+     * 妗f鍒嗛〉鏌ヨ
+     *
+     * @param excludeSensitive true=褰撳墠鐢ㄦ埛鏃犳晱鎰熸。妗堟潈闄愶紝寮哄埗鎺掗櫎銆屼繚瀵嗐�嶆。妗�
+     */
+    default PageResult<ArchiveDocumentDO> selectPage(ArchiveDocumentPageReqVO reqVO, boolean excludeSensitive) {
+        return selectPage(reqVO, buildQuery(reqVO, excludeSensitive));
+    }
+
+    /**
+     * 妗f鍒楄〃鏌ヨ锛堝鍑虹敤锛屼笉鍒嗛〉锛�
+     *
+     * @param excludeSensitive true=褰撳墠鐢ㄦ埛鏃犳晱鎰熸。妗堟潈闄愶紝寮哄埗鎺掗櫎銆屼繚瀵嗐�嶆。妗�
+     */
+    default List<ArchiveDocumentDO> selectList(ArchiveDocumentPageReqVO reqVO, boolean excludeSensitive) {
+        return selectList(buildQuery(reqVO, excludeSensitive));
+    }
+
+    /**
+     * 鏋勫缓妗f鏌ヨ鏉′欢銆傛晱鎰熸。妗堣繃婊ょ粺涓�璧版鏂规硶锛岀姝㈠湪鍏跺畠鍏ュ彛閲嶅鎷兼帴銆�
+     */
+    default LambdaQueryWrapperX<ArchiveDocumentDO> buildQuery(ArchiveDocumentPageReqVO reqVO, boolean excludeSensitive) {
+        LambdaQueryWrapperX<ArchiveDocumentDO> query = new LambdaQueryWrapperX<ArchiveDocumentDO>()
+                .likeIfPresent(ArchiveDocumentDO::getNo, reqVO.getNo())
+                .likeIfPresent(ArchiveDocumentDO::getTitle, reqVO.getTitle())
+                .eqIfPresent(ArchiveDocumentDO::getCategoryId, reqVO.getCategoryId())
+                .eqIfPresent(ArchiveDocumentDO::getSecretLevel, reqVO.getSecretLevel())
+                .eqIfPresent(ArchiveDocumentDO::getCarrierType, reqVO.getCarrierType())
+                .eqIfPresent(ArchiveDocumentDO::getSourceType, reqVO.getSourceType())
+                .likeIfPresent(ArchiveDocumentDO::getSourceNo, reqVO.getSourceNo())
+                .likeIfPresent(ArchiveDocumentDO::getTags, reqVO.getTags())
+                .eqIfPresent(ArchiveDocumentDO::getStatus, reqVO.getStatus())
+                .betweenIfPresent(ArchiveDocumentDO::getArchiveDate, reqVO.getArchiveDate())
+                .orderByDesc(ArchiveDocumentDO::getId);
+        if (excludeSensitive) {
+            query.ne(ArchiveDocumentDO::getSecretLevel, ArchiveSecretLevelEnum.SECRET.getLevel());
+        }
+        return query;
+    }
+
+    /** 妗f鎬绘暟 */
+    default Long selectTotalCount() {
+        return selectCount();
+    }
+
+    /** 鎸夋。妗堢姸鎬佺粺璁℃暟閲� */
+    default Long selectCountByStatus(Integer status) {
+        return selectCount(ArchiveDocumentDO::getStatus, status);
+    }
+
+    /** 鍦ㄥ簱妗f鏁伴噺 */
+    default Long selectInStockCount() {
+        return selectCountByStatus(ArchiveDocumentStatusEnum.IN_STOCK.getStatus());
+    }
+
+    /** 鍊熷嚭涓。妗堟暟閲� */
+    default Long selectBorrowedCount() {
+        return selectCountByStatus(ArchiveDocumentStatusEnum.BORROWED.getStatus());
+    }
+
+    /**
+     * 鎸夊垎绫昏仛鍚堟。妗堟暟閲忥紙鍚� 0 鏉$殑鍒嗙被锛屼究浜庡墠绔睍绀哄叏閮ㄥ垎绫伙級
+     */
+    @Select("SELECT c.id AS categoryId, c.name AS name, COUNT(d.id) AS total "
+            + "FROM archive_category c LEFT JOIN archive_document d ON d.category_id = c.id AND d.deleted = 0 "
+            + "WHERE c.deleted = 0 GROUP BY c.id, c.name ORDER BY c.sort ASC, c.id ASC")
+    List<ArchiveStatCategoryVO> selectCountGroupByCategory();
+
+    /** 鎸夊瘑绾ц仛鍚堟。妗堟暟閲� */
+    @Select("SELECT secret_level AS value, COUNT(id) AS total FROM archive_document WHERE deleted = 0 "
+            + "GROUP BY secret_level ORDER BY secret_level ASC")
+    List<ArchiveStatValueVO> selectCountGroupBySecretLevel();
+
+    /** 鎸夎浇浣撹仛鍚堟。妗堟暟閲� */
+    @Select("SELECT carrier_type AS value, COUNT(id) AS total FROM archive_document WHERE deleted = 0 "
+            + "GROUP BY carrier_type ORDER BY carrier_type ASC")
+    List<ArchiveStatValueVO> selectCountGroupByCarrierType();
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/ArchiveNoRedisDAO.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/ArchiveNoRedisDAO.java
new file mode 100644
index 0000000..8b55047
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/ArchiveNoRedisDAO.java
@@ -0,0 +1,41 @@
+package cn.iocoder.yudao.module.archive.dal.redis;
+
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
+import jakarta.annotation.Resource;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Repository;
+
+import java.time.Duration;
+import java.time.LocalDateTime;
+
+/**
+ * Archive 缂栧彿 Redis DAO
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Repository
+public class ArchiveNoRedisDAO {
+
+    /**
+     * 妗f缂栧彿 {@link cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO}
+     */
+    public static final String DOCUMENT_NO_PREFIX = "DA";
+
+    /**
+     * 鍊熼槄鍗曞彿 {@link cn.iocoder.yudao.module.archive.dal.dataobject.borrow.ArchiveBorrowDO}
+     */
+    public static final String BORROW_NO_PREFIX = "JY";
+
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+
+    public String generate(String prefix) {
+        String noPrefix = prefix + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATE_PATTERN);
+        String key = RedisKeyConstants.NO + noPrefix;
+        Long no = stringRedisTemplate.opsForValue().increment(key);
+        stringRedisTemplate.expire(key, Duration.ofDays(1L));
+        return noPrefix + String.format("%06d", no);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/RedisKeyConstants.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/RedisKeyConstants.java
new file mode 100644
index 0000000..52c81ae
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/dal/redis/RedisKeyConstants.java
@@ -0,0 +1,12 @@
+package cn.iocoder.yudao.module.archive.dal.redis;
+
+/**
+ * Archive Redis Key 甯搁噺
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface RedisKeyConstants {
+
+    String NO = "archive:seq_no:";
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveBorrowStatusEnum.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveBorrowStatusEnum.java
new file mode 100644
index 0000000..23939e7
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveBorrowStatusEnum.java
@@ -0,0 +1,36 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.hutool.core.util.ArrayUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 妗f鍊熼槄鍗曠姸鎬佹灇涓�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum ArchiveBorrowStatusEnum {
+
+    DRAFT(0, "鑽夌"),
+    APPROVING(15, "瀹℃壒涓�"),
+    BORROWED(20, "鍊熷嚭涓�"),
+    RETURNED(30, "宸插綊杩�"),
+    REJECTED(35, "宸查┏鍥�"),
+    ;
+
+    private final Integer status;
+    private final String name;
+
+    public static ArchiveBorrowStatusEnum valueOf(Integer status) {
+        return ArrayUtil.firstMatch(e -> e.getStatus().equals(status), values());
+    }
+
+    /** 鎸夌姸鎬佸�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��鍘熷鍊硷紝渚夸簬閿欒鎻愮ず鍙 */
+    public static String nameOf(Integer status) {
+        ArchiveBorrowStatusEnum item = valueOf(status);
+        return item != null ? item.getName() : String.valueOf(status);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCarrierTypeEnum.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCarrierTypeEnum.java
new file mode 100644
index 0000000..b90a328
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCarrierTypeEnum.java
@@ -0,0 +1,34 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.hutool.core.util.ArrayUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 妗f杞戒綋绫诲瀷鏋氫妇
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum ArchiveCarrierTypeEnum {
+
+    ELECTRONIC(1, "鐢靛瓙"),
+    PHYSICAL(2, "瀹炰綋"),
+    BOTH(3, "鐢靛瓙+瀹炰綋"),
+    ;
+
+    private final Integer type;
+    private final String name;
+
+    public static ArchiveCarrierTypeEnum valueOf(Integer type) {
+        return ArrayUtil.firstMatch(e -> e.getType().equals(type), values());
+    }
+
+    /** 鎸夎浇浣撳�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��鍘熷鍊硷紝渚夸簬閿欒鎻愮ず鍙 */
+    public static String nameOf(Integer type) {
+        ArchiveCarrierTypeEnum item = valueOf(type);
+        return item != null ? item.getName() : String.valueOf(type);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCategoryStatusEnum.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCategoryStatusEnum.java
new file mode 100644
index 0000000..3fcb8d2
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveCategoryStatusEnum.java
@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.hutool.core.util.ArrayUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 妗f鍒嗙被鐘舵�佹灇涓�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum ArchiveCategoryStatusEnum {
+
+    ENABLE(0, "鍚敤"),
+    DISABLE(1, "鍋滅敤"),
+    ;
+
+    private final Integer status;
+    private final String name;
+
+    public static ArchiveCategoryStatusEnum valueOf(Integer status) {
+        return ArrayUtil.firstMatch(e -> e.getStatus().equals(status), values());
+    }
+
+    /** 鎸夌姸鎬佸�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��鍘熷鍊硷紝渚夸簬閿欒鎻愮ず鍙 */
+    public static String nameOf(Integer status) {
+        ArchiveCategoryStatusEnum item = valueOf(status);
+        return item != null ? item.getName() : String.valueOf(status);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveDocumentStatusEnum.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveDocumentStatusEnum.java
new file mode 100644
index 0000000..631d9f5
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveDocumentStatusEnum.java
@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.hutool.core.util.ArrayUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 妗f鐘舵�佹灇涓�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum ArchiveDocumentStatusEnum {
+
+    IN_STOCK(10, "鍦ㄥ簱"),
+    BORROWED(20, "鍊熷嚭涓�"),
+    ;
+
+    private final Integer status;
+    private final String name;
+
+    public static ArchiveDocumentStatusEnum valueOf(Integer status) {
+        return ArrayUtil.firstMatch(e -> e.getStatus().equals(status), values());
+    }
+
+    /** 鎸夌姸鎬佸�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��鍘熷鍊硷紝渚夸簬閿欒鎻愮ず鍙 */
+    public static String nameOf(Integer status) {
+        ArchiveDocumentStatusEnum item = valueOf(status);
+        return item != null ? item.getName() : String.valueOf(status);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSecretLevelEnum.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSecretLevelEnum.java
new file mode 100644
index 0000000..82b1822
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSecretLevelEnum.java
@@ -0,0 +1,34 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.hutool.core.util.ArrayUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 妗f瀵嗙骇鏋氫妇
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum ArchiveSecretLevelEnum {
+
+    PUBLIC(1, "鍏紑"),
+    INTERNAL(2, "鍐呴儴"),
+    SECRET(3, "淇濆瘑"),
+    ;
+
+    private final Integer level;
+    private final String name;
+
+    public static ArchiveSecretLevelEnum valueOf(Integer level) {
+        return ArrayUtil.firstMatch(e -> e.getLevel().equals(level), values());
+    }
+
+    /** 鎸夊瘑绾у�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��鍘熷鍊硷紝渚夸簬閿欒鎻愮ず鍙 */
+    public static String nameOf(Integer level) {
+        ArchiveSecretLevelEnum item = valueOf(level);
+        return item != null ? item.getName() : String.valueOf(level);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSourceTypeEnum.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSourceTypeEnum.java
new file mode 100644
index 0000000..3457985
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ArchiveSourceTypeEnum.java
@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.hutool.core.util.ArrayUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 妗f鏉ユ簮绫诲瀷鏋氫妇
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum ArchiveSourceTypeEnum {
+
+    MANUAL(1, "鎵嬪伐褰曞叆"),
+    RESEARCH(2, "璇鹃"),
+    MEMBER(3, "浼氬憳"),
+    FINANCE(4, "璐㈠姟"),
+    ;
+
+    private final Integer type;
+    private final String name;
+
+    public static ArchiveSourceTypeEnum valueOf(Integer type) {
+        return ArrayUtil.firstMatch(e -> e.getType().equals(type), values());
+    }
+
+    /** 鎸夋潵婧愬�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��鍘熷鍊硷紝渚夸簬閿欒鎻愮ず鍙 */
+    public static String nameOf(Integer type) {
+        ArchiveSourceTypeEnum item = valueOf(type);
+        return item != null ? item.getName() : String.valueOf(type);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/DictTypeConstants.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/DictTypeConstants.java
new file mode 100644
index 0000000..d418d7b
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/DictTypeConstants.java
@@ -0,0 +1,28 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+/**
+ * Archive 瀛楀吀绫诲瀷甯搁噺
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface DictTypeConstants {
+
+    /** 妗f鍒嗙被鐘舵�� */
+    String CATEGORY_STATUS = "archive_category_status";
+
+    /** 妗f鐘舵�� */
+    String DOCUMENT_STATUS = "archive_document_status";
+
+    /** 妗f瀵嗙骇 */
+    String SECRET_LEVEL = "archive_secret_level";
+
+    /** 妗f杞戒綋 */
+    String CARRIER_TYPE = "archive_carrier_type";
+
+    /** 妗f鏉ユ簮绫诲瀷 */
+    String SOURCE_TYPE = "archive_source_type";
+
+    /** 鍊熼槄鍗曠姸鎬� */
+    String BORROW_STATUS = "archive_borrow_status";
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ErrorCodeConstants.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ErrorCodeConstants.java
new file mode 100644
index 0000000..b4f1856
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/enums/ErrorCodeConstants.java
@@ -0,0 +1,53 @@
+package cn.iocoder.yudao.module.archive.enums;
+
+import cn.iocoder.yudao.framework.common.exception.ErrorCode;
+
+/**
+ * Archive 閿欒鐮佸父閲�
+ *
+ * archive 妯″潡锛屼娇鐢� 1-030-110-000 娈�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface ErrorCodeConstants {
+
+    // ========== 妗f鍒嗙被 1_030_110_000 ==========
+    ErrorCode CATEGORY_NOT_EXISTS = new ErrorCode(1_030_110_000, "妗f鍒嗙被涓嶅瓨鍦紝璇峰埛鏂伴〉闈㈠悗閲嶆柊閫夋嫨妗f鍒嗙被");
+    ErrorCode CATEGORY_NAME_DUPLICATE = new ErrorCode(1_030_110_001, "淇濆瓨澶辫触锛氬悓绾у垎绫讳笅宸插瓨鍦ㄥ悕涓恒�攞}銆曠殑妗f鍒嗙被锛岃鏇存崲鍒嗙被鍚嶇О");
+    ErrorCode CATEGORY_CODE_DUPLICATE = new ErrorCode(1_030_110_002, "淇濆瓨澶辫触锛氬垎绫荤紪鐮�({})宸茶鍒嗙被銆攞}銆曚娇鐢紝璇锋洿鎹㈠垎绫荤紪鐮�");
+    ErrorCode CATEGORY_HAS_CHILDREN = new ErrorCode(1_030_110_003, "鍒犻櫎澶辫触锛氭。妗堝垎绫汇�攞}銆曚笅杩樻湁 {} 涓瓙鍒嗙被锛岃鍏堝垹闄ゆ垨杩佺Щ杩欎簺瀛愬垎绫诲悗鍐嶅垹闄�");
+    ErrorCode CATEGORY_HAS_DOCUMENT = new ErrorCode(1_030_110_004, "鍒犻櫎澶辫触锛氭。妗堝垎绫汇�攞}銆曚笅杩樻湁 {} 鏉℃。妗堬紝璇峰厛灏嗚繖浜涙。妗堣縼绉诲埌鍏朵粬鍒嗙被鍚庡啀鍒犻櫎");
+    ErrorCode CATEGORY_PARENT_INVALID = new ErrorCode(1_030_110_005, "淇濆瓨澶辫触锛氫笉鑳芥妸鍒嗙被銆攞}銆曠殑涓婄骇璁剧疆涓哄畠鑷繁鎴栧叾瀛愬垎绫伙紝璇烽噸鏂伴�夋嫨涓婄骇鍒嗙被");
+    ErrorCode CATEGORY_DISABLED = new ErrorCode(1_030_110_006, "淇濆瓨澶辫触锛氭墍閫夋。妗堝垎绫汇�攞}銆曞綋鍓嶇姸鎬佷负銆斿仠鐢ㄣ�曪紝璇烽�夋嫨宸插惎鐢ㄧ殑妗f鍒嗙被");
+
+    // ========== 妗f 1_030_110_100 ==========
+    ErrorCode DOCUMENT_NOT_EXISTS = new ErrorCode(1_030_110_100, "妗f涓嶅瓨鍦紝璇峰埛鏂伴〉闈㈠悗閲嶈瘯");
+    ErrorCode DOCUMENT_NO_EXISTS = new ErrorCode(1_030_110_101, "鐢熸垚妗f缂栧彿澶辫触锛岃閲嶆柊鎻愪氦");
+    ErrorCode DOCUMENT_UPDATE_FAIL_BORROWED = new ErrorCode(1_030_110_102, "鏇存柊澶辫触锛氭。妗堛�攞}銆曞綋鍓嶇姸鎬佷负銆斿�熷嚭涓�曪紝璇风瓑寰呭綊杩樺悗鍐嶄慨鏀�");
+    ErrorCode DOCUMENT_DELETE_FAIL_STATUS = new ErrorCode(1_030_110_103, "鍒犻櫎澶辫触锛氭。妗堛�攞}銆曞綋鍓嶇姸鎬佷负銆攞}銆曟垨瀛樺湪鏈綊杩樼殑鍊熼槄鍗曪紝鍙湁銆屽湪搴撱�嶄笖鏃犳湭褰掕繕鍊熼槄鍗曠殑妗f鎵嶈兘鍒犻櫎");
+    ErrorCode DOCUMENT_SENSITIVE_NO_PERMISSION = new ErrorCode(1_030_110_104, "鏌ョ湅澶辫触锛氭。妗堛�攞}銆曚负銆斾繚瀵嗐�曠骇锛屾偍娌℃湁璁块棶淇濆瘑妗f鐨勬潈闄愶紝璇疯仈绯绘。妗堢鐞嗗憳寮�閫氥�宎rchive:document:sensitive銆嶆潈闄�");
+    ErrorCode DOCUMENT_SOURCE_NOT_EXISTS = new ErrorCode(1_030_110_105, "褰掓。澶辫触锛氭潵婧愬崟鎹紙{}锛変笉瀛樺湪鎴栧凡琚垹闄わ紝璇峰埛鏂板垪琛ㄥ悗閲嶈瘯");
+    ErrorCode DOCUMENT_SOURCE_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_110_106, "褰掓。澶辫触锛氭。妗堝垎绫荤紪鐮�({})涓嶅瓨鍦紝璇峰厛鎵ц妗f妯″潡鍒濆鍖栬剼鏈垱寤哄搴旀。妗堝垎绫诲悗閲嶈瘯");
+    ErrorCode DOCUMENT_SOURCE_TYPE_UNSUPPORTED = new ErrorCode(1_030_110_107, "褰掓。澶辫触锛氫笉鏀寔鐨勬潵婧愮被鍨�({})锛岃浣跨敤璇鹃/浼氬憳/璐㈠姟妯″潡鍒楄〃椤电殑銆屽綊妗c�嶅叆鍙�");
+    ErrorCode DOCUMENT_ARCHIVE_FAIL_SOURCE_STATUS = new ErrorCode(1_030_110_108, "褰掓。澶辫触锛氭潵婧愬崟鎹�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁宸查�氳繃/宸插畬缁撶殑鍗曟嵁鎵嶈兘褰掓。");
+    ErrorCode DOCUMENT_DUPLICATE_SOURCE = new ErrorCode(1_030_110_109, "閲嶅褰掓。锛氭潵婧愬崟鎹�攞}銆曞凡鐢熸垚妗f銆攞}銆曪紝璇峰嬁閲嶅褰掓。");
+    ErrorCode DOCUMENT_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_110_110, "淇濆瓨澶辫触锛氭墍閫夋。妗堝垎绫讳笉瀛樺湪锛岃鍒锋柊椤甸潰鍚庨噸鏂伴�夋嫨妗f鍒嗙被");
+    ErrorCode DOCUMENT_BORROWED_CANNOT_BORROW = new ErrorCode(1_030_110_111, "鎿嶄綔澶辫触锛氭。妗堛�攞}銆曞綋鍓嶇姸鎬佷负銆斿�熷嚭涓�曪紝璇风瓑寰呭綊杩樺悗鍐嶆搷浣�");
+
+    // ========== 鍊熼槄 1_030_110_200 ==========
+    ErrorCode BORROW_NOT_EXISTS = new ErrorCode(1_030_110_200, "鍊熼槄鍗曚笉瀛樺湪锛岃鍒锋柊椤甸潰鍚庨噸璇�");
+    ErrorCode BORROW_NO_EXISTS = new ErrorCode(1_030_110_201, "鐢熸垚鍊熼槄鍗曞彿澶辫触锛岃閲嶆柊鎻愪氦");
+    ErrorCode BORROW_UPDATE_FAIL_STATUS = new ErrorCode(1_030_110_202, "鏇存柊澶辫触锛氬�熼槄鍗�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆岃崏绋裤�嶆垨銆屽凡椹冲洖銆嶇殑鍊熼槄鍗曟墠鑳戒慨鏀�");
+    ErrorCode BORROW_DELETE_FAIL_STATUS = new ErrorCode(1_030_110_203, "鍒犻櫎澶辫触锛氬�熼槄鍗�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆岃崏绋裤�嶇姸鎬佺殑鍊熼槄鍗曟墠鑳藉垹闄�");
+    ErrorCode BORROW_SUBMIT_FAIL_STATUS = new ErrorCode(1_030_110_204, "鎻愪氦瀹℃壒澶辫触锛氬�熼槄鍗�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆岃崏绋裤�嶆垨銆屽凡椹冲洖銆嶇殑鍊熼槄鍗曟墠鑳芥彁浜�");
+    ErrorCode BORROW_DEADLINE_BEFORE_DATE = new ErrorCode(1_030_110_205, "淇濆瓨澶辫触锛氬綊杩樻湡闄�({})涓嶈兘鏃╀簬鍊熼槄鏃ユ湡({})锛岃閲嶆柊閫夋嫨褰掕繕鏈熼檺");
+    ErrorCode BORROW_DOCUMENT_NOT_IN_STOCK = new ErrorCode(1_030_110_206, "鎻愪氦澶辫触锛氭。妗堛�攞}銆曞綋鍓嶇姸鎬佷负銆攞}銆曪紝鍙湁銆屽湪搴撱�嶇殑妗f鎵嶈兘鍊熼槄");
+    ErrorCode BORROW_DOCUMENT_ALREADY_BORROWED = new ErrorCode(1_030_110_207, "鎻愪氦澶辫触锛氭。妗堛�攞}銆曞凡瀛樺湪鏈綊杩樼殑鍊熼槄鍗�({})锛岃绛夊緟鍏跺綊杩樺悗鍐嶅�熼槄");
+    ErrorCode BORROW_RETURN_FAIL_STATUS = new ErrorCode(1_030_110_208, "褰掕繕澶辫触锛氬�熼槄鍗�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆屽�熷嚭涓�嶇殑鍊熼槄鍗曟墠鑳界櫥璁板綊杩�");
+    ErrorCode BORROW_DOCUMENT_LOCKED = new ErrorCode(1_030_110_209, "鎿嶄綔澶辫触锛氭。妗堛�攞}銆曟鍦ㄨ鍏朵粬鍊熼槄娴佺▼澶勭悊锛岃绋嶅悗閲嶈瘯锛涜嫢鎸佺画澶辫触璇疯仈绯绘。妗堢鐞嗗憳鏍稿鍊熼槄璁板綍");
+    ErrorCode BORROW_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_110_210, "妗f鍊熼槄瀹℃壒鍒嗙被涓嶅瓨鍦紝璇峰厛鍦˙PM妯″潡鍒涘缓妗f鍊熼槄瀹℃壒娴佺▼鍒嗙被");
+    ErrorCode BORROW_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_030_110_211, "妗f鍊熼槄瀹℃壒鍒嗙被锛坅rchive_borrow_approve锛変笅娌℃湁宸插彂甯冪殑娴佺▼锛屾棤娉曟彁浜ゅ�熼槄瀹℃壒銆傝鍏堝湪銆孊PM 鈫� 娴佺▼瀹氫箟銆嶄腑鍒涘缓骞跺彂甯冩。妗堝�熼槄瀹℃壒娴佺▼鍚庨噸璇�");
+    ErrorCode BORROW_DOCUMENT_NOT_EXISTS = new ErrorCode(1_030_110_212, "淇濆瓨澶辫触锛氭墍閫夋。妗堜笉瀛樺湪鎴栧凡琚垹闄わ紝璇峰埛鏂板垪琛ㄥ悗閲嶆柊閫夋嫨妗f");
+    ErrorCode BORROW_BORROWER_REQUIRED = new ErrorCode(1_030_110_213, "淇濆瓨澶辫触锛氬�熼槄浜轰笉鑳戒负绌猴紝璇峰~鍐欐垨閫夋嫨鍊熼槄浜哄悗鍐嶄繚瀛�");
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/framework/web/config/ArchiveWebConfiguration.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/framework/web/config/ArchiveWebConfiguration.java
new file mode 100644
index 0000000..fd16767
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/framework/web/config/ArchiveWebConfiguration.java
@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.archive.framework.web.config;
+
+import cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration;
+import org.springdoc.core.models.GroupedOpenApi;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration(proxyBeanMethods = false)
+public class ArchiveWebConfiguration {
+
+    @Bean
+    public GroupedOpenApi archiveGroupedOpenApi() {
+        return YudaoSwaggerAutoConfiguration.buildGroupedOpenApi("archive");
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowService.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowService.java
new file mode 100644
index 0000000..7dfc1ed
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowService.java
@@ -0,0 +1,96 @@
+package cn.iocoder.yudao.module.archive.service.borrow;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowReturnReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowSaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.borrow.ArchiveBorrowDO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 妗f鍊熼槄鍗� Service 鎺ュ彛
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface ArchiveBorrowService {
+
+    /**
+     * 鍒涘缓鍊熼槄鍗曪紙鑽夌锛�
+     *
+     * @param createReqVO 鍒涘缓淇℃伅
+     * @return 鍊熼槄鍗曠紪鍙�
+     */
+    Long createBorrow(ArchiveBorrowSaveReqVO createReqVO);
+
+    /**
+     * 鏇存柊鍊熼槄鍗曪紙浠呰崏绋挎垨宸查┏鍥炲彲淇敼锛�
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    void updateBorrow(ArchiveBorrowSaveReqVO updateReqVO);
+
+    /**
+     * 鍒犻櫎鍊熼槄鍗曪紙浠呰崏绋垮彲鍒犻櫎锛�
+     *
+     * @param id 鍊熼槄鍗曠紪鍙�
+     */
+    void deleteBorrow(Long id);
+
+    /**
+     * 鑾峰緱鍊熼槄鍗�
+     *
+     * @param id 鍊熼槄鍗曠紪鍙�
+     * @return 鍊熼槄鍗�
+     */
+    ArchiveBorrowDO getBorrow(Long id);
+
+    /**
+     * 鑾峰緱鍊熼槄鍗曞垎椤�
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 鍊熼槄鍗曞垎椤�
+     */
+    PageResult<ArchiveBorrowDO> getBorrowPage(ArchiveBorrowPageReqVO reqVO);
+
+    /**
+     * 鑾峰緱閫炬湡鍊熼槄鍗曞垎椤碉紙鍊熷嚭涓� 涓� 褰掕繕鏈熼檺宸茶繃锛�
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 鍊熼槄鍗曞垎椤�
+     */
+    PageResult<ArchiveBorrowDO> getOverdueBorrowPage(ArchiveBorrowPageReqVO reqVO);
+
+    /**
+     * 鎻愪氦鍊熼槄瀹℃壒
+     *
+     * @param id                   鍊熼槄鍗曠紪鍙�
+     * @param processDefinitionKey 娴佺▼瀹氫箟 key锛屼负绌烘椂鑷姩鍙栨。妗堝�熼槄瀹℃壒鍒嗙被涓嬫渶鏂扮殑宸插彂甯冩祦绋�
+     */
+    void submitBorrow(Long id, String processDefinitionKey);
+
+    /**
+     * 鑾峰緱妗f鍊熼槄瀹℃壒鍙敤鐨勬祦绋嬪畾涔夊垪琛�
+     *
+     * @return 娴佺▼瀹氫箟鍒楄〃锛坘ey / name锛�
+     */
+    List<Map<String, Object>> getApproveProcessDefinitionList();
+
+    /**
+     * 褰掕繕鐧昏锛堜粎鍊熷嚭涓彲鐧昏锛�
+     *
+     * @param returnReqVO 褰掕繕淇℃伅
+     */
+    void returnBorrow(ArchiveBorrowReturnReqVO returnReqVO);
+
+    /**
+     * 鍥炲啓鍊熼槄鍗曞鎵圭粨鏋滐紙BPM 鐩戝惉鍣ㄨ皟鐢級
+     *
+     * @param id        鍊熼槄鍗曠紪鍙�
+     * @param bpmResult BPM 瀹℃壒缁撴灉
+     * @param reason    椹冲洖鍘熷洜
+     */
+    void updateBorrowAuditStatus(Long id, Integer bpmResult, String reason);
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowServiceImpl.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowServiceImpl.java
new file mode 100644
index 0000000..888bd11
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/ArchiveBorrowServiceImpl.java
@@ -0,0 +1,351 @@
+package cn.iocoder.yudao.module.archive.service.borrow;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowReturnReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.borrow.vo.ArchiveBorrowSaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.borrow.ArchiveBorrowDO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO;
+import cn.iocoder.yudao.module.archive.dal.mysql.borrow.ArchiveBorrowMapper;
+import cn.iocoder.yudao.module.archive.dal.redis.ArchiveNoRedisDAO;
+import cn.iocoder.yudao.module.archive.enums.ArchiveBorrowStatusEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveDocumentStatusEnum;
+import cn.iocoder.yudao.module.archive.service.document.ArchiveDocumentService;
+import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
+import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO;
+import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
+import cn.iocoder.yudao.module.bpm.service.definition.BpmCategoryService;
+import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.flowable.engine.repository.ProcessDefinition;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import static cn.iocoder.yudao.module.archive.enums.ErrorCodeConstants.*;
+
+/**
+ * 妗f鍊熼槄鍗� Service 瀹炵幇绫�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+@Slf4j
+public class ArchiveBorrowServiceImpl implements ArchiveBorrowService {
+
+    /** 妗f鍊熼槄瀹℃壒鐨� BPM 娴佺▼鍒嗙被缂栫爜 */
+    public static final String BORROW_APPROVE_CATEGORY_CODE = "archive_borrow_approve";
+
+    @Resource
+    private ArchiveBorrowMapper borrowMapper;
+
+    @Resource
+    private ArchiveDocumentService documentService;
+
+    @Resource
+    private ArchiveNoRedisDAO archiveNoRedisDAO;
+
+    @Resource
+    private BpmProcessInstanceApi processInstanceApi;
+
+    @Resource
+    private BpmCategoryService bpmCategoryService;
+
+    @Resource
+    private BpmProcessDefinitionService bpmProcessDefinitionService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long createBorrow(ArchiveBorrowSaveReqVO createReqVO) {
+        // 1. 鏍¢獙鍊熼槄浜恒�佸綊杩樻湡闄愩�佹。妗堝彲鍊�
+        validateBorrower(createReqVO.getBorrowerName());
+        validateReturnDeadline(createReqVO);
+        ArchiveDocumentDO document = validateDocumentBorrowable(createReqVO.getDocumentId(), null);
+
+        // 2. 缁勮鍊熼槄鍗曪紙妗f缂栧彿/鏍囬鍙栧揩鐓э紝閬垮厤妗f鏀瑰悕鍚庡巻鍙插崟鎹け鐪燂級
+        ArchiveBorrowDO borrow = BeanUtils.toBean(createReqVO, ArchiveBorrowDO.class);
+        borrow.setId(null);
+        borrow.setNo(archiveNoRedisDAO.generate(ArchiveNoRedisDAO.BORROW_NO_PREFIX));
+        borrow.setDocumentNo(document.getNo());
+        borrow.setDocumentTitle(document.getTitle());
+        borrow.setStatus(ArchiveBorrowStatusEnum.DRAFT.getStatus());
+        borrowMapper.insert(borrow);
+        return borrow.getId();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateBorrow(ArchiveBorrowSaveReqVO updateReqVO) {
+        // 1.1 鏍¢獙鍊熼槄鍗曞瓨鍦ㄤ笖鐘舵�佸厑璁镐慨鏀�
+        ArchiveBorrowDO oldBorrow = validateBorrowExists(updateReqVO.getId());
+        if (!ArchiveBorrowStatusEnum.DRAFT.getStatus().equals(oldBorrow.getStatus())
+                && !ArchiveBorrowStatusEnum.REJECTED.getStatus().equals(oldBorrow.getStatus())) {
+            throw exception(BORROW_UPDATE_FAIL_STATUS, oldBorrow.getNo(),
+                    ArchiveBorrowStatusEnum.nameOf(oldBorrow.getStatus()));
+        }
+        // 1.2 鏍¢獙鍊熼槄浜恒�佸綊杩樻湡闄愩�佹。妗堝彲鍊燂紙鎺掗櫎鑷韩锛�
+        validateBorrower(updateReqVO.getBorrowerName());
+        validateReturnDeadline(updateReqVO);
+        ArchiveDocumentDO document = validateDocumentBorrowable(updateReqVO.getDocumentId(), updateReqVO.getId());
+
+        // 2. 鏇存柊锛堟。妗堢紪鍙�/鏍囬鍒锋柊涓烘渶鏂板揩鐓э級
+        ArchiveBorrowDO updateObj = BeanUtils.toBean(updateReqVO, ArchiveBorrowDO.class);
+        updateObj.setDocumentNo(document.getNo());
+        updateObj.setDocumentTitle(document.getTitle());
+        borrowMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteBorrow(Long id) {
+        // 1. 鏍¢獙鍊熼槄鍗曞瓨鍦ㄤ笖涓鸿崏绋�
+        ArchiveBorrowDO borrow = validateBorrowExists(id);
+        if (!ArchiveBorrowStatusEnum.DRAFT.getStatus().equals(borrow.getStatus())) {
+            throw exception(BORROW_DELETE_FAIL_STATUS, borrow.getNo(),
+                    ArchiveBorrowStatusEnum.nameOf(borrow.getStatus()));
+        }
+
+        borrowMapper.deleteById(id);
+    }
+
+    @Override
+    public ArchiveBorrowDO getBorrow(Long id) {
+        return borrowMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<ArchiveBorrowDO> getBorrowPage(ArchiveBorrowPageReqVO reqVO) {
+        return borrowMapper.selectPage(reqVO);
+    }
+
+    @Override
+    public PageResult<ArchiveBorrowDO> getOverdueBorrowPage(ArchiveBorrowPageReqVO reqVO) {
+        return borrowMapper.selectOverduePage(reqVO);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void submitBorrow(Long id, String processDefinitionKey) {
+        // 1.1 鏍¢獙鍊熼槄鍗曞瓨鍦ㄤ笖鐘舵�佸厑璁告彁浜�
+        ArchiveBorrowDO borrow = validateBorrowExists(id);
+        if (!ArchiveBorrowStatusEnum.DRAFT.getStatus().equals(borrow.getStatus())
+                && !ArchiveBorrowStatusEnum.REJECTED.getStatus().equals(borrow.getStatus())) {
+            throw exception(BORROW_SUBMIT_FAIL_STATUS, borrow.getNo(),
+                    ArchiveBorrowStatusEnum.nameOf(borrow.getStatus()));
+        }
+        // 1.2 鏍¢獙妗f浠嶅彲鍊燂紙鎻愪氦鍓嶄簩娆℃牎楠岋紝閬垮厤鑽夌鏈熼棿琚粬浜哄�熻蛋锛�
+        validateDocumentBorrowable(borrow.getDocumentId(), borrow.getId());
+        // 1.3 鍏堣В鏋愬彲鐢ㄦ祦绋嬶細娌℃湁宸插彂甯冩祦绋嬫椂鐩存帴澶辫触锛岄伩鍏嶇暀涓嬫棤娉曟彁浜ょ殑瀛ゅ効鑽夌
+        String definitionKey = resolveProcessDefinitionKey(processDefinitionKey);
+
+        // 2. 鍙戣捣娴佺▼骞跺洖鍐欑姸鎬�
+        String processInstanceId = processInstanceApi.createProcessInstance(getLoginUserId(),
+                new BpmProcessInstanceCreateReqDTO()
+                        .setProcessDefinitionKey(definitionKey)
+                        .setBusinessKey(String.valueOf(id)));
+        borrowMapper.updateById(new ArchiveBorrowDO()
+                .setId(id)
+                .setStatus(ArchiveBorrowStatusEnum.APPROVING.getStatus())
+                .setProcessInstanceId(processInstanceId)
+                // 閲嶆柊鎻愪氦鏃舵竻绌轰笂涓�娆$殑椹冲洖淇℃伅
+                .setRejectReason("")
+                .setRejectTime(null));
+    }
+
+    @Override
+    public List<Map<String, Object>> getApproveProcessDefinitionList() {
+        validateApproveCategory();
+
+        List<BpmProcessDefinitionInfoDO> definitionInfoList =
+                bpmProcessDefinitionService.getProcessDefinitionInfoListByCategory(BORROW_APPROVE_CATEGORY_CODE);
+        if (CollUtil.isEmpty(definitionInfoList)) {
+            return Collections.emptyList();
+        }
+
+        Map<String, ProcessDefinition> latestVersionMap = new HashMap<>();
+        for (BpmProcessDefinitionInfoDO info : definitionInfoList) {
+            ProcessDefinition pd = bpmProcessDefinitionService.getProcessDefinition(info.getProcessDefinitionId());
+            if (pd == null || pd.isSuspended()) {
+                continue;
+            }
+            ProcessDefinition existing = latestVersionMap.get(pd.getKey());
+            if (existing == null || pd.getVersion() > existing.getVersion()) {
+                latestVersionMap.put(pd.getKey(), pd);
+            }
+        }
+
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (ProcessDefinition pd : latestVersionMap.values()) {
+            Map<String, Object> item = new HashMap<>();
+            item.put("id", pd.getId());
+            item.put("key", pd.getKey());
+            item.put("name", pd.getName());
+            result.add(item);
+        }
+        return result;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void returnBorrow(ArchiveBorrowReturnReqVO returnReqVO) {
+        // 1. 鏍¢獙鍊熼槄鍗曞瓨鍦ㄤ笖涓哄�熷嚭涓�
+        ArchiveBorrowDO borrow = validateBorrowExists(returnReqVO.getId());
+        if (!ArchiveBorrowStatusEnum.BORROWED.getStatus().equals(borrow.getStatus())) {
+            throw exception(BORROW_RETURN_FAIL_STATUS, borrow.getNo(),
+                    ArchiveBorrowStatusEnum.nameOf(borrow.getStatus()));
+        }
+
+        // 2. 鏉′欢鏇存柊鍊熼槄鍗曚负宸插綊杩橈紝閬垮厤骞跺彂閲嶅褰掕繕
+        int rows = borrowMapper.update(null, new LambdaUpdateWrapper<ArchiveBorrowDO>()
+                .eq(ArchiveBorrowDO::getId, borrow.getId())
+                .eq(ArchiveBorrowDO::getStatus, ArchiveBorrowStatusEnum.BORROWED.getStatus())
+                .set(ArchiveBorrowDO::getStatus, ArchiveBorrowStatusEnum.RETURNED.getStatus())
+                .set(ArchiveBorrowDO::getReturnTime, LocalDateTime.now())
+                .set(ArchiveBorrowDO::getReturnConfirmUserId, getLoginUserId())
+                .set(ArchiveBorrowDO::getReturnRemark, returnReqVO.getReturnRemark()));
+        if (rows == 0) {
+            throw exception(BORROW_RETURN_FAIL_STATUS, borrow.getNo(),
+                    ArchiveBorrowStatusEnum.nameOf(borrow.getStatus()));
+        }
+
+        // 3. 妗f鐘舵�佸洖鍒般�屽湪搴撱��
+        if (!documentService.updateDocumentStatusToInStock(borrow.getDocumentId())) {
+            log.warn("[returnBorrow] 鍊熼槄鍗�({}) 褰掕繕鎴愬姛锛屼絾妗f({}) 鐘舵�佹湭浠庛�屽�熷嚭涓�嶆洿鏂颁负銆屽湪搴撱�嶏紝璇蜂汉宸ユ牳瀵�",
+                    borrow.getNo(), borrow.getDocumentNo());
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateBorrowAuditStatus(Long id, Integer bpmResult, String reason) {
+        ArchiveBorrowDO borrow = borrowMapper.selectById(id);
+        if (borrow == null) {
+            log.warn("[updateBorrowAuditStatus] 鍊熼槄鍗�({}) 涓嶅瓨鍦紝蹇界暐 BPM 缁撴灉鍥炲啓", id);
+            return;
+        }
+        if (!ArchiveBorrowStatusEnum.APPROVING.getStatus().equals(borrow.getStatus())) {
+            log.warn("[updateBorrowAuditStatus] 鍊熼槄鍗�({}) 涓嶅浜庡鎵逛腑鐘舵�侊紝蹇界暐 BPM 缁撴灉鍥炲啓", borrow.getNo());
+            return;
+        }
+
+        // 瀹℃壒閫氳繃锛氭。妗堟潯浠舵洿鏂颁负銆屽�熷嚭涓�嶏紱鑻ユ。妗堝凡琚粬浜哄�熷嚭锛屾潯浠舵洿鏂板け璐ュ垯鏁翠綋鍥炴粴锛岄伩鍏嶅嚭鐜般�屽�熼槄鍗曞凡鍊熷嚭浣嗘。妗堟湭閿佸畾銆嶇殑鑴忕姸鎬�
+        if (BpmTaskStatusEnum.APPROVE.getStatus().equals(bpmResult)) {
+            if (!documentService.updateDocumentStatusToBorrowed(borrow.getDocumentId())) {
+                throw exception(BORROW_DOCUMENT_LOCKED, borrow.getDocumentNo());
+            }
+            borrowMapper.updateById(new ArchiveBorrowDO()
+                    .setId(id)
+                    .setStatus(ArchiveBorrowStatusEnum.BORROWED.getStatus())
+                    .setApproveTime(LocalDateTime.now()));
+            return;
+        }
+
+        // 椹冲洖
+        if (BpmTaskStatusEnum.REJECT.getStatus().equals(bpmResult)) {
+            borrowMapper.updateById(new ArchiveBorrowDO()
+                    .setId(id)
+                    .setStatus(ArchiveBorrowStatusEnum.REJECTED.getStatus())
+                    .setRejectReason(reason)
+                    .setRejectTime(LocalDateTime.now()));
+            return;
+        }
+
+        // 鎾ゅ洖 / 鍙栨秷锛氬洖鍒拌崏绋匡紝娓呯┖娴佺▼瀹炰緥
+        borrowMapper.updateById(new ArchiveBorrowDO()
+                .setId(id)
+                .setStatus(ArchiveBorrowStatusEnum.DRAFT.getStatus())
+                .setProcessInstanceId("")
+                .setRejectReason("")
+                .setRejectTime(null));
+    }
+
+    // ==================== 鏍¢獙閫昏緫 ====================
+
+    private ArchiveBorrowDO validateBorrowExists(Long id) {
+        ArchiveBorrowDO borrow = id != null ? borrowMapper.selectById(id) : null;
+        if (borrow == null) {
+            throw exception(BORROW_NOT_EXISTS);
+        }
+        return borrow;
+    }
+
+    private void validateBorrower(String borrowerName) {
+        if (StrUtil.isBlank(borrowerName)) {
+            throw exception(BORROW_BORROWER_REQUIRED);
+        }
+    }
+
+    private void validateReturnDeadline(ArchiveBorrowSaveReqVO reqVO) {
+        if (reqVO.getReturnDeadline() != null && reqVO.getBorrowDate() != null
+                && reqVO.getReturnDeadline().isBefore(reqVO.getBorrowDate())) {
+            throw exception(BORROW_DEADLINE_BEFORE_DATE, reqVO.getReturnDeadline(), reqVO.getBorrowDate());
+        }
+    }
+
+    /**
+     * 鏍¢獙妗f鍙�燂細妗f瀛樺湪銆佸浜庡湪搴撱�佷笖娌℃湁鏈綊杩樼殑鍊熼槄鍗�
+     *
+     * @param excludeBorrowId 闇�瑕佹帓闄ょ殑鍊熼槄鍗曠紪鍙凤紙鏇存柊 / 閲嶆柊鎻愪氦鏃朵紶鑷韩锛�
+     */
+    private ArchiveDocumentDO validateDocumentBorrowable(Long documentId, Long excludeBorrowId) {
+        ArchiveDocumentDO document = documentId != null
+                ? documentService.getDocumentWithoutPermissionCheck(documentId) : null;
+        if (document == null) {
+            throw exception(BORROW_DOCUMENT_NOT_EXISTS);
+        }
+        if (!ArchiveDocumentStatusEnum.IN_STOCK.getStatus().equals(document.getStatus())) {
+            throw exception(BORROW_DOCUMENT_NOT_IN_STOCK, document.getNo(),
+                    ArchiveDocumentStatusEnum.nameOf(document.getStatus()));
+        }
+        List<ArchiveBorrowDO> openBorrows = borrowMapper.selectListByDocumentIdAndStatusIn(documentId,
+                List.of(ArchiveBorrowStatusEnum.APPROVING.getStatus(), ArchiveBorrowStatusEnum.BORROWED.getStatus()));
+        for (ArchiveBorrowDO openBorrow : openBorrows) {
+            if (excludeBorrowId != null && excludeBorrowId.equals(openBorrow.getId())) {
+                continue;
+            }
+            throw exception(BORROW_DOCUMENT_ALREADY_BORROWED, document.getNo(), openBorrow.getNo());
+        }
+        return document;
+    }
+
+    private void validateApproveCategory() {
+        List<BpmCategoryDO> categories = bpmCategoryService.getCategoryListByCode(
+                Collections.singletonList(BORROW_APPROVE_CATEGORY_CODE));
+        if (CollUtil.isEmpty(categories)) {
+            throw exception(BORROW_BPM_CATEGORY_NOT_EXISTS);
+        }
+    }
+
+    /** 瑙f瀽鍙敤鐨勬祦绋嬪畾涔� key锛氫紭鍏堜娇鐢ㄥ墠绔紶鍏ヤ笖纭疄宸插彂甯冪殑鏈�鏂版祦绋嬶紝鍚﹀垯鍙栧垎绫讳笅鏈�鏂板凡鍙戝竷娴佺▼ */
+    private String resolveProcessDefinitionKey(String processDefinitionKey) {
+        List<Map<String, Object>> definitionList = getApproveProcessDefinitionList();
+        if (CollUtil.isEmpty(definitionList)) {
+            throw exception(BORROW_BPM_PROCESS_DEFINITION_NOT_EXISTS);
+        }
+        if (StrUtil.isNotBlank(processDefinitionKey)) {
+            for (Map<String, Object> item : definitionList) {
+                if (processDefinitionKey.equals(String.valueOf(item.get("key")))) {
+                    return processDefinitionKey;
+                }
+            }
+        }
+        return String.valueOf(definitionList.get(0).get("key"));
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/listener/ArchiveBorrowStatusListener.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/listener/ArchiveBorrowStatusListener.java
new file mode 100644
index 0000000..1d85908
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/borrow/listener/ArchiveBorrowStatusListener.java
@@ -0,0 +1,51 @@
+package cn.iocoder.yudao.module.archive.service.borrow.listener;
+
+import cn.iocoder.yudao.module.archive.service.borrow.ArchiveBorrowService;
+import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEvent;
+import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEventListener;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 妗f鍊熼槄鍗曞鎵圭姸鎬佺洃鍚櫒
+ *
+ * 鐩戝惉 BPM 娴佺▼瀹炰緥鐘舵�佸彉鏇翠簨浠讹紝鍥炲啓鍊熼槄鍗曠姸鎬侊細瀹℃壒閫氳繃鈫掑�熷嚭涓紙骞堕攣瀹氭。妗堬級锛岄┏鍥炩啋宸查┏鍥烇紝鎾ゅ洖鈫掕崏绋�
+ */
+@Component
+@Slf4j
+public class ArchiveBorrowStatusListener extends BpmProcessInstanceStatusEventListener {
+
+    /** 妗f鍊熼槄瀹℃壒娴佺▼瀹氫箟 key锛岄渶涓� {@code docs/sql/archive_borrow_approve.bpmn} 淇濇寔涓�鑷� */
+    private static final String BORROW_PROCESS_DEFINITION_KEY = "archive_borrow_approve";
+
+    @Resource
+    private ArchiveBorrowService borrowService;
+
+    @Override
+    protected String getProcessDefinitionKey() {
+        return BORROW_PROCESS_DEFINITION_KEY;
+    }
+
+    @Override
+    protected void onEvent(BpmProcessInstanceStatusEvent event) {
+        Long borrowId;
+        try {
+            borrowId = Long.parseLong(event.getBusinessKey());
+        } catch (NumberFormatException e) {
+            log.warn("[onEvent] businessKey({}) 涓嶆槸鏈夋晥鐨勬。妗堝�熼槄鍗曠紪鍙�", event.getBusinessKey());
+            return;
+        }
+
+        log.info("[onEvent] 鏀跺埌BPM瀹℃壒浜嬩欢锛宐orrowId={}, status={}", borrowId, event.getStatus());
+
+        // 鍥炲啓鍊熼槄鍗曠姸鎬侊紱瀹℃壒閫氳繃鏃惰嫢妗f宸茶浠栦汉鍊熷嚭锛屼細鎶涘嚭寮傚父骞跺洖婊氭湰娆″洖鍐欙紝閬垮厤鑴忕姸鎬�
+        try {
+            borrowService.updateBorrowAuditStatus(borrowId, event.getStatus(), event.getReason());
+            log.info("[onEvent] 妗f鍊熼槄鍗�({}) 瀹℃壒缁撴灉鍥炲啓瀹屾垚", borrowId);
+        } catch (Exception e) {
+            log.error("[onEvent] 鍥炲啓妗f鍊熼槄鍗�({}) 瀹℃壒缁撴灉澶辫触", borrowId, e);
+        }
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryService.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryService.java
new file mode 100644
index 0000000..e435488
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryService.java
@@ -0,0 +1,69 @@
+package cn.iocoder.yudao.module.archive.service.category;
+
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategoryListReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategorySaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+
+import java.util.List;
+
+/**
+ * 妗f鍒嗙被 Service 鎺ュ彛
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface ArchiveCategoryService {
+
+    /**
+     * 鍒涘缓妗f鍒嗙被
+     *
+     * @param createReqVO 鍒涘缓淇℃伅
+     * @return 鍒嗙被缂栧彿
+     */
+    Long createCategory(ArchiveCategorySaveReqVO createReqVO);
+
+    /**
+     * 鏇存柊妗f鍒嗙被
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    void updateCategory(ArchiveCategorySaveReqVO updateReqVO);
+
+    /**
+     * 鍒犻櫎妗f鍒嗙被锛堝瓨鍦ㄥ瓙鍒嗙被鎴栨。妗堟椂涓嶅厑璁稿垹闄わ級
+     *
+     * @param id 鍒嗙被缂栧彿
+     */
+    void deleteCategory(Long id);
+
+    /**
+     * 鑾峰緱妗f鍒嗙被
+     *
+     * @param id 鍒嗙被缂栧彿
+     * @return 鍒嗙被
+     */
+    ArchiveCategoryDO getCategory(Long id);
+
+    /**
+     * 鑾峰緱妗f鍒嗙被鍒楄〃锛堟寜鎺掑簭鍊煎崌搴忥級
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 鍒嗙被鍒楄〃
+     */
+    List<ArchiveCategoryDO> getCategoryList(ArchiveCategoryListReqVO reqVO);
+
+    /**
+     * 鑾峰緱鍏ㄩ儴妗f鍒嗙被锛堟瀯寤哄垎绫绘爲鐢級
+     *
+     * @return 鍒嗙被鍒楄〃
+     */
+    List<ArchiveCategoryDO> getCategoryList();
+
+    /**
+     * 鎸夌紪鐮佽幏寰楁。妗堝垎绫�
+     *
+     * @param code 鍒嗙被缂栫爜
+     * @return 鍒嗙被
+     */
+    ArchiveCategoryDO getCategoryByCode(String code);
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryServiceImpl.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryServiceImpl.java
new file mode 100644
index 0000000..1bacc8c
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/category/ArchiveCategoryServiceImpl.java
@@ -0,0 +1,194 @@
+package cn.iocoder.yudao.module.archive.service.category;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategoryListReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.category.vo.ArchiveCategorySaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+import cn.iocoder.yudao.module.archive.dal.mysql.category.ArchiveCategoryMapper;
+import cn.iocoder.yudao.module.archive.dal.mysql.document.ArchiveDocumentMapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.archive.enums.ErrorCodeConstants.*;
+
+/**
+ * 妗f鍒嗙被 Service 瀹炵幇绫�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+public class ArchiveCategoryServiceImpl implements ArchiveCategoryService {
+
+    /** 椤剁骇鍒嗙被鐨勭埗鍒嗙被缂栧彿 */
+    private static final Long ROOT_PARENT_ID = 0L;
+
+    @Resource
+    private ArchiveCategoryMapper categoryMapper;
+
+    @Resource
+    private ArchiveDocumentMapper documentMapper;
+
+    @Override
+    public Long createCategory(ArchiveCategorySaveReqVO createReqVO) {
+        // 1.1 鏍¢獙鐖跺垎绫诲瓨鍦�
+        validateParentCategory(createReqVO.getParentId(), createReqVO.getName());
+        // 1.2 鏍¢獙鍚岀骇鍒嗙被鍚嶇О涓嶉噸澶嶃�佸垎绫荤紪鐮佷笉閲嶅
+        validateNameUnique(createReqVO.getName(), createReqVO.getParentId(), null);
+        validateCodeUnique(createReqVO.getCode(), null);
+
+        // 2. 鎻掑叆锛堣ˉ榛樿鍊硷級
+        ArchiveCategoryDO category = BeanUtils.toBean(createReqVO, ArchiveCategoryDO.class);
+        category.setId(null);
+        if (category.getSort() == null) {
+            category.setSort(0);
+        }
+        if (category.getDefaultSecretLevel() == null) {
+            category.setDefaultSecretLevel(1);
+        }
+        if (category.getStatus() == null) {
+            category.setStatus(0);
+        }
+        categoryMapper.insert(category);
+        return category.getId();
+    }
+
+    @Override
+    public void updateCategory(ArchiveCategorySaveReqVO updateReqVO) {
+        // 1.1 鏍¢獙鍒嗙被瀛樺湪
+        ArchiveCategoryDO oldCategory = validateCategoryExists(updateReqVO.getId());
+        // 1.2 鏍¢獙鐖跺垎绫诲瓨鍦紝涓斾笉鑳芥妸鍒嗙被鎸傚埌鑷韩鎴栧叾瀛愬瓩涓嬶紙閬垮厤褰㈡垚鐜級
+        validateParentCategory(updateReqVO.getParentId(), updateReqVO.getName());
+        validateParentNotSelfOrDescendant(oldCategory, updateReqVO.getParentId());
+        // 1.3 鏍¢獙鍚岀骇鍚嶇О涓嶉噸澶嶃�佺紪鐮佷笉閲嶅
+        validateNameUnique(updateReqVO.getName(), updateReqVO.getParentId(), updateReqVO.getId());
+        validateCodeUnique(updateReqVO.getCode(), updateReqVO.getId());
+
+        // 2. 鏇存柊
+        ArchiveCategoryDO updateObj = BeanUtils.toBean(updateReqVO, ArchiveCategoryDO.class);
+        categoryMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteCategory(Long id) {
+        // 1.1 鏍¢獙鍒嗙被瀛樺湪
+        ArchiveCategoryDO category = validateCategoryExists(id);
+        // 1.2 瀛樺湪瀛愬垎绫绘椂涓嶅厑璁稿垹闄�
+        List<ArchiveCategoryDO> children = categoryMapper.selectListByParentId(id);
+        if (CollUtil.isNotEmpty(children)) {
+            throw exception(CATEGORY_HAS_CHILDREN, category.getName(), children.size());
+        }
+        // 1.3 鍒嗙被涓嬪瓨鍦ㄦ。妗堟椂涓嶅厑璁稿垹闄�
+        Long documentCount = documentMapper.selectCountByCategoryId(id);
+        if (documentCount != null && documentCount > 0) {
+            throw exception(CATEGORY_HAS_DOCUMENT, category.getName(), documentCount);
+        }
+
+        categoryMapper.deleteById(id);
+    }
+
+    @Override
+    public ArchiveCategoryDO getCategory(Long id) {
+        return categoryMapper.selectById(id);
+    }
+
+    @Override
+    public List<ArchiveCategoryDO> getCategoryList(ArchiveCategoryListReqVO reqVO) {
+        return categoryMapper.selectList(new LambdaQueryWrapperX<ArchiveCategoryDO>()
+                .likeIfPresent(ArchiveCategoryDO::getName, reqVO.getName())
+                .eqIfPresent(ArchiveCategoryDO::getStatus, reqVO.getStatus())
+                .orderByAsc(ArchiveCategoryDO::getSort)
+                .orderByAsc(ArchiveCategoryDO::getId));
+    }
+
+    @Override
+    public List<ArchiveCategoryDO> getCategoryList() {
+        return categoryMapper.selectListOrdered();
+    }
+
+    @Override
+    public ArchiveCategoryDO getCategoryByCode(String code) {
+        if (StrUtil.isBlank(code)) {
+            return null;
+        }
+        return categoryMapper.selectByCode(code);
+    }
+
+    // ==================== 鏍¢獙閫昏緫 ====================
+
+    /** 鏍¢獙鍒嗙被瀛樺湪锛屼笉瀛樺湪鏃舵姏鍑虹簿纭彁绀� */
+    private ArchiveCategoryDO validateCategoryExists(Long id) {
+        ArchiveCategoryDO category = id != null ? categoryMapper.selectById(id) : null;
+        if (category == null) {
+            throw exception(CATEGORY_NOT_EXISTS);
+        }
+        return category;
+    }
+
+    /** 鏍¢獙鐖跺垎绫伙細0 琛ㄧず椤剁骇锛涢潪 0 鏃跺繀椤诲瓨鍦� */
+    private void validateParentCategory(Long parentId, String categoryName) {
+        if (parentId == null) {
+            throw exception(CATEGORY_PARENT_INVALID, categoryName);
+        }
+        if (Objects.equals(parentId, ROOT_PARENT_ID)) {
+            return;
+        }
+        if (categoryMapper.selectById(parentId) == null) {
+            throw exception(CATEGORY_PARENT_INVALID, categoryName);
+        }
+    }
+
+    /** 鏍¢獙鐖跺垎绫讳笉鑳芥槸鑷韩锛屼篃涓嶈兘鏄嚜宸辩殑瀛愬瓩鍒嗙被 */
+    private void validateParentNotSelfOrDescendant(ArchiveCategoryDO category, Long parentId) {
+        if (Objects.equals(category.getId(), parentId)) {
+            throw exception(CATEGORY_PARENT_INVALID, category.getName());
+        }
+        Set<Long> descendantIds = collectDescendantIds(category.getId());
+        if (descendantIds.contains(parentId)) {
+            throw exception(CATEGORY_PARENT_INVALID, category.getName());
+        }
+    }
+
+    /** 鏀堕泦鍒嗙被鐨勫叏閮ㄥ瓙瀛欏垎绫荤紪鍙凤紙鍚嚜韬級 */
+    private Set<Long> collectDescendantIds(Long id) {
+        List<ArchiveCategoryDO> all = categoryMapper.selectListOrdered();
+        Set<Long> result = new HashSet<>();
+        result.add(id);
+        boolean changed = true;
+        while (changed) {
+            changed = false;
+            for (ArchiveCategoryDO category : all) {
+                if (result.contains(category.getParentId()) && result.add(category.getId())) {
+                    changed = true;
+                }
+            }
+        }
+        return result;
+    }
+
+    private void validateNameUnique(String name, Long parentId, Long excludeId) {
+        Long count = categoryMapper.selectCountByName(name, parentId, excludeId);
+        if (count != null && count > 0) {
+            throw exception(CATEGORY_NAME_DUPLICATE, name);
+        }
+    }
+
+    private void validateCodeUnique(String code, Long excludeId) {
+        Long count = categoryMapper.selectCountByCode(code, excludeId);
+        if (count != null && count > 0) {
+            ArchiveCategoryDO exists = categoryMapper.selectByCode(code);
+            throw exception(CATEGORY_CODE_DUPLICATE, code, exists != null ? exists.getName() : code);
+        }
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentService.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentService.java
new file mode 100644
index 0000000..6576473
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentService.java
@@ -0,0 +1,117 @@
+package cn.iocoder.yudao.module.archive.service.document;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentSaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO;
+
+import java.util.List;
+
+/**
+ * 妗f Service 鎺ュ彛
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface ArchiveDocumentService {
+
+    /** 妗f闄勪欢鐨勪笟鍔¤褰曠被鍨嬶紙{@code system_storage_attachment.record_type}锛� */
+    String DOCUMENT_RECORD_TYPE = "archive_document";
+
+    /**
+     * 鍒涘缓妗f
+     *
+     * @param createReqVO 鍒涘缓淇℃伅
+     * @return 妗f缂栧彿
+     */
+    Long createDocument(ArchiveDocumentSaveReqVO createReqVO);
+
+    /**
+     * 鏇存柊妗f锛堝�熷嚭涓殑妗f涓嶅厑璁镐慨鏀癸級
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    void updateDocument(ArchiveDocumentSaveReqVO updateReqVO);
+
+    /**
+     * 鍒犻櫎妗f锛堝�熷嚭涓垨瀛樺湪鏈綊杩樺�熼槄鍗曟椂涓嶅厑璁稿垹闄わ級
+     *
+     * @param id 妗f缂栧彿
+     */
+    void deleteDocument(Long id);
+
+    /**
+     * 鑾峰緱妗f锛堝惈鏁忔劅妗f鏉冮檺鏍¢獙锛�
+     *
+     * @param id 妗f缂栧彿
+     * @return 妗f
+     */
+    ArchiveDocumentDO getDocument(Long id);
+
+    /**
+     * 鑾峰緱妗f锛堣烦杩囨晱鎰熸。妗堟潈闄愭牎楠岋紝渚涙ā鍧楀唴閮ㄤ笌 RPC 璋冪敤浣跨敤锛�
+     *
+     * @param id 妗f缂栧彿
+     * @return 妗f
+     */
+    ArchiveDocumentDO getDocumentWithoutPermissionCheck(Long id);
+
+    /**
+     * 鑾峰緱妗f鍒嗛〉
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 妗f鍒嗛〉
+     */
+    PageResult<ArchiveDocumentDO> getDocumentPage(ArchiveDocumentPageReqVO reqVO);
+
+    /**
+     * 鑾峰緱妗f鍒楄〃锛堝鍑虹敤锛屼笉鍒嗛〉锛�
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 妗f鍒楄〃
+     */
+    List<ArchiveDocumentDO> getDocumentList(ArchiveDocumentPageReqVO reqVO);
+
+    /**
+     * 鎸夋潵婧愬崟鎹綊妗o紙骞傜瓑澶辫触璇箟锛氶噸澶嶅綊妗f姏銆岄噸澶嶅綊妗c�嶅紓甯革紝骞跺洖鏄惧凡鐢熸垚鐨勬。妗堢紪鍙凤級
+     *
+     * @param reqDTO 褰掓。淇℃伅
+     * @return 妗f缂栧彿
+     */
+    Long archiveBySource(ArchiveDocumentCreateReqDTO reqDTO);
+
+    /**
+     * 鍒ゆ柇鏉ユ簮鍗曟嵁鏄惁宸插綊妗�
+     *
+     * @param sourceType 鏉ユ簮绫诲瀷
+     * @param sourceId   鏉ユ簮鍗曟嵁缂栧彿
+     * @return 鏄惁宸插綊妗�
+     */
+    Boolean isArchived(Integer sourceType, Long sourceId);
+
+    /**
+     * 鎸夋潵婧愬崟鎹幏寰楁。妗�
+     *
+     * @param sourceType 鏉ユ簮绫诲瀷
+     * @param sourceId   鏉ユ簮鍗曟嵁缂栧彿
+     * @return 妗f
+     */
+    ArchiveDocumentDO getBySource(Integer sourceType, Long sourceId);
+
+    /**
+     * 鏉′欢鏇存柊妗f鐘舵�佷负銆屽�熷嚭涓�嶏紙浠呭綋褰撳墠涓恒�屽湪搴撱�嶆椂鐢熸晥锛�
+     *
+     * @param documentId 妗f缂栧彿
+     * @return 鏄惁鏇存柊鎴愬姛锛沠alse 琛ㄧず妗f宸茶鍏跺畠娴佺▼鍊熷嚭鎴栫姸鎬佸紓甯�
+     */
+    boolean updateDocumentStatusToBorrowed(Long documentId);
+
+    /**
+     * 鏉′欢鏇存柊妗f鐘舵�佷负銆屽湪搴撱�嶏紙浠呭綋褰撳墠涓恒�屽�熷嚭涓�嶆椂鐢熸晥锛�
+     *
+     * @param documentId 妗f缂栧彿
+     * @return 鏄惁鏇存柊鎴愬姛
+     */
+    boolean updateDocumentStatusToInStock(Long documentId);
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentServiceImpl.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentServiceImpl.java
new file mode 100644
index 0000000..b89d800
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/document/ArchiveDocumentServiceImpl.java
@@ -0,0 +1,269 @@
+package cn.iocoder.yudao.module.archive.service.document;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentPageReqVO;
+import cn.iocoder.yudao.module.archive.controller.admin.document.vo.ArchiveDocumentSaveReqVO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.category.ArchiveCategoryDO;
+import cn.iocoder.yudao.module.archive.dal.dataobject.document.ArchiveDocumentDO;
+import cn.iocoder.yudao.module.archive.dal.mysql.borrow.ArchiveBorrowMapper;
+import cn.iocoder.yudao.module.archive.dal.mysql.document.ArchiveDocumentMapper;
+import cn.iocoder.yudao.module.archive.dal.redis.ArchiveNoRedisDAO;
+import cn.iocoder.yudao.module.archive.enums.ArchiveBorrowStatusEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveCategoryStatusEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveDocumentStatusEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveSecretLevelEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveSourceTypeEnum;
+import cn.iocoder.yudao.module.archive.service.category.ArchiveCategoryService;
+import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+
+import java.time.LocalDate;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import static cn.iocoder.yudao.module.archive.enums.ErrorCodeConstants.*;
+
+/**
+ * 妗f Service 瀹炵幇绫�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+public class ArchiveDocumentServiceImpl implements ArchiveDocumentService {
+
+    /** 鏁忔劅妗f锛堜繚瀵嗙骇锛夋煡鐪嬫潈闄愮偣 */
+    public static final String SENSITIVE_PERMISSION = "archive:document:sensitive";
+
+    @Resource
+    private ArchiveDocumentMapper documentMapper;
+
+    @Resource
+    private ArchiveBorrowMapper borrowMapper;
+
+    @Resource
+    private ArchiveCategoryService categoryService;
+
+    @Resource
+    private ArchiveNoRedisDAO archiveNoRedisDAO;
+
+    @Resource
+    private StorageAttachmentApi storageAttachmentApi;
+
+    @Resource(name = "ss")
+    private SecurityFrameworkService securityFrameworkService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long createDocument(ArchiveDocumentSaveReqVO createReqVO) {
+        // 1. 鏍¢獙鍒嗙被
+        ArchiveCategoryDO category = validateCategory(createReqVO.getCategoryId());
+
+        // 2. 缁勮妗f锛堝瘑绾�/杞戒綋/褰掓。鏃ユ湡/褰掓。浜鸿ˉ榛樿鍊硷級
+        ArchiveDocumentDO document = BeanUtils.toBean(createReqVO, ArchiveDocumentDO.class);
+        document.setId(null);
+        document.setNo(archiveNoRedisDAO.generate(ArchiveNoRedisDAO.DOCUMENT_NO_PREFIX));
+        document.setSecretLevel(createReqVO.getSecretLevel() != null ? createReqVO.getSecretLevel()
+                : category.getDefaultSecretLevel());
+        document.setCarrierType(createReqVO.getCarrierType() != null ? createReqVO.getCarrierType() : 3);
+        document.setSourceType(ArchiveSourceTypeEnum.MANUAL.getType());
+        document.setArchiveDate(createReqVO.getArchiveDate() != null ? createReqVO.getArchiveDate() : LocalDate.now());
+        document.setArchivistUserId(getLoginUserId());
+        document.setStatus(ArchiveDocumentStatusEnum.IN_STOCK.getStatus());
+        documentMapper.insert(document);
+
+        // 3. 缁戝畾闄勪欢
+        storageAttachmentApi.bindAttachments("file", DOCUMENT_RECORD_TYPE, document.getId(), createReqVO.getBlobIds());
+        return document.getId();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateDocument(ArchiveDocumentSaveReqVO updateReqVO) {
+        // 1.1 鏍¢獙妗f瀛樺湪
+        ArchiveDocumentDO oldDocument = validateDocumentExists(updateReqVO.getId());
+        // 1.2 鍊熷嚭涓殑妗f涓嶅厑璁镐慨鏀�
+        if (ArchiveDocumentStatusEnum.BORROWED.getStatus().equals(oldDocument.getStatus())) {
+            throw exception(DOCUMENT_UPDATE_FAIL_BORROWED, oldDocument.getNo());
+        }
+        // 1.3 鏁忔劅妗f闇�瑕佹湁鏁忔劅妗f鏉冮檺鎵嶈兘淇敼
+        validateSecretLevelVisible(oldDocument);
+        // 1.4 鏍¢獙鍒嗙被
+        validateCategory(updateReqVO.getCategoryId());
+
+        // 2. 鏇存柊锛堝瘑绾т负绌烘椂淇濈暀鍘熷�硷紝閬垮厤琚疆绌猴級
+        ArchiveDocumentDO updateObj = BeanUtils.toBean(updateReqVO, ArchiveDocumentDO.class);
+        if (updateObj.getSecretLevel() == null) {
+            updateObj.setSecretLevel(oldDocument.getSecretLevel());
+        }
+        documentMapper.updateById(updateObj);
+
+        // 3. 澧為噺鏇存柊闄勪欢
+        storageAttachmentApi.updateAttachments("file", DOCUMENT_RECORD_TYPE, updateReqVO.getId(),
+                updateReqVO.getBlobIds());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteDocument(Long id) {
+        // 1.1 鏍¢獙妗f瀛樺湪
+        ArchiveDocumentDO document = validateDocumentExists(id);
+        // 1.2 鍊熷嚭涓垨瀛樺湪鏈綊杩樺�熼槄鍗曟椂涓嶅厑璁稿垹闄�
+        boolean hasOpenBorrow = CollUtil.isNotEmpty(borrowMapper.selectListByDocumentIdAndStatusIn(id,
+                List.of(ArchiveBorrowStatusEnum.APPROVING.getStatus(), ArchiveBorrowStatusEnum.BORROWED.getStatus())));
+        if (ArchiveDocumentStatusEnum.BORROWED.getStatus().equals(document.getStatus()) || hasOpenBorrow) {
+            throw exception(DOCUMENT_DELETE_FAIL_STATUS, document.getNo(),
+                    ArchiveDocumentStatusEnum.nameOf(document.getStatus()));
+        }
+
+        // 2. 鍒犻櫎妗f涓庨檮浠�
+        documentMapper.deleteById(id);
+        storageAttachmentApi.deleteAttachmentsByRecord(DOCUMENT_RECORD_TYPE, id);
+    }
+
+    @Override
+    public ArchiveDocumentDO getDocument(Long id) {
+        ArchiveDocumentDO document = validateDocumentExists(id);
+        validateSecretLevelVisible(document);
+        return document;
+    }
+
+    @Override
+    public ArchiveDocumentDO getDocumentWithoutPermissionCheck(Long id) {
+        return documentMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<ArchiveDocumentDO> getDocumentPage(ArchiveDocumentPageReqVO reqVO) {
+        return documentMapper.selectPage(reqVO, !hasSensitivePermission());
+    }
+
+    @Override
+    public List<ArchiveDocumentDO> getDocumentList(ArchiveDocumentPageReqVO reqVO) {
+        return documentMapper.selectList(reqVO, !hasSensitivePermission());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long archiveBySource(ArchiveDocumentCreateReqDTO reqDTO) {
+        // 1. 鏍¢獙鏉ユ簮绫诲瀷锛堝彧鍏佽璇鹃/浼氬憳/璐㈠姟锛�
+        ArchiveSourceTypeEnum sourceType = ArchiveSourceTypeEnum.valueOf(reqDTO.getSourceType());
+        if (sourceType == null || sourceType == ArchiveSourceTypeEnum.MANUAL) {
+            throw exception(DOCUMENT_SOURCE_TYPE_UNSUPPORTED, reqDTO.getSourceType());
+        }
+
+        // 2. 閲嶅褰掓。鏍¢獙锛氬悓涓�鏉ユ簮鍗曟嵁鍙厑璁哥敓鎴愪竴浠芥。妗�
+        ArchiveDocumentDO exists = documentMapper.selectBySource(reqDTO.getSourceType(), reqDTO.getSourceId());
+        if (exists != null) {
+            throw exception(DOCUMENT_DUPLICATE_SOURCE,
+                    StrUtil.blankToDefault(reqDTO.getSourceNo(), String.valueOf(reqDTO.getSourceId())),
+                    exists.getNo());
+        }
+
+        // 3. 鎸夊垎绫荤紪鐮佸畾浣嶆。妗堝垎绫�
+        ArchiveCategoryDO category = categoryService.getCategoryByCode(reqDTO.getCategoryCode());
+        if (category == null) {
+            throw exception(DOCUMENT_SOURCE_CATEGORY_NOT_EXISTS, reqDTO.getCategoryCode());
+        }
+
+        // 4. 缁勮骞惰惤搴撴。妗堬紙鏍囬銆佸瘑绾т负绌烘椂鍒嗗埆鍙栨潵婧愭爣棰樸�佸垎绫婚粯璁ゅ瘑绾э級
+        ArchiveDocumentDO document = new ArchiveDocumentDO();
+        document.setNo(archiveNoRedisDAO.generate(ArchiveNoRedisDAO.DOCUMENT_NO_PREFIX));
+        document.setTitle(StrUtil.blankToDefault(reqDTO.getTitle(), reqDTO.getSourceTitle()));
+        document.setCategoryId(category.getId());
+        document.setSecretLevel(reqDTO.getSecretLevel() != null ? reqDTO.getSecretLevel()
+                : category.getDefaultSecretLevel());
+        // 鑱斿姩褰掓。榛樿鍚屾椂淇濈暀鐢靛瓙浠朵笌鏉ユ簮鍏宠仈锛岃浇浣撳彇銆岀數瀛�+瀹炰綋銆嶏紝鐢辨。妗堢鐞嗗憳鍚庣画琛ュ厖瀹炰綋浣嶇疆
+        document.setCarrierType(3);
+        document.setSourceType(reqDTO.getSourceType());
+        document.setSourceNo(reqDTO.getSourceNo());
+        document.setSourceId(reqDTO.getSourceId());
+        document.setSourceTitle(reqDTO.getSourceTitle());
+        document.setArchiveDate(reqDTO.getArchiveDate() != null ? reqDTO.getArchiveDate() : LocalDate.now());
+        document.setArchivistUserId(getLoginUserId());
+        document.setStatus(ArchiveDocumentStatusEnum.IN_STOCK.getStatus());
+        document.setSummary(reqDTO.getSummary());
+        document.setTags(reqDTO.getTags());
+        document.setRemark(reqDTO.getRemark());
+        documentMapper.insert(document);
+
+        // 5. 缁戝畾鏉ユ簮鍗曟嵁鐨勯檮浠�
+        storageAttachmentApi.bindAttachments("file", DOCUMENT_RECORD_TYPE, document.getId(), reqDTO.getBlobIds());
+        return document.getId();
+    }
+
+    @Override
+    public Boolean isArchived(Integer sourceType, Long sourceId) {
+        return documentMapper.selectBySource(sourceType, sourceId) != null;
+    }
+
+    @Override
+    public ArchiveDocumentDO getBySource(Integer sourceType, Long sourceId) {
+        if (sourceType == null || sourceId == null) {
+            return null;
+        }
+        return documentMapper.selectBySource(sourceType, sourceId);
+    }
+
+    @Override
+    public boolean updateDocumentStatusToBorrowed(Long documentId) {
+        int rows = documentMapper.update(null, new LambdaUpdateWrapper<ArchiveDocumentDO>()
+                .eq(ArchiveDocumentDO::getId, documentId)
+                .eq(ArchiveDocumentDO::getStatus, ArchiveDocumentStatusEnum.IN_STOCK.getStatus())
+                .set(ArchiveDocumentDO::getStatus, ArchiveDocumentStatusEnum.BORROWED.getStatus()));
+        return rows > 0;
+    }
+
+    @Override
+    public boolean updateDocumentStatusToInStock(Long documentId) {
+        int rows = documentMapper.update(null, new LambdaUpdateWrapper<ArchiveDocumentDO>()
+                .eq(ArchiveDocumentDO::getId, documentId)
+                .eq(ArchiveDocumentDO::getStatus, ArchiveDocumentStatusEnum.BORROWED.getStatus())
+                .set(ArchiveDocumentDO::getStatus, ArchiveDocumentStatusEnum.IN_STOCK.getStatus()));
+        return rows > 0;
+    }
+
+    // ==================== 鏍¢獙閫昏緫 ====================
+
+    private ArchiveDocumentDO validateDocumentExists(Long id) {
+        ArchiveDocumentDO document = id != null ? documentMapper.selectById(id) : null;
+        if (document == null) {
+            throw exception(DOCUMENT_NOT_EXISTS);
+        }
+        return document;
+    }
+
+    /** 鏍¢獙鍒嗙被瀛樺湪涓斿惎鐢� */
+    private ArchiveCategoryDO validateCategory(Long categoryId) {
+        ArchiveCategoryDO category = categoryService.getCategory(categoryId);
+        if (category == null) {
+            throw exception(DOCUMENT_CATEGORY_NOT_EXISTS);
+        }
+        if (ArchiveCategoryStatusEnum.DISABLE.getStatus().equals(category.getStatus())) {
+            throw exception(CATEGORY_DISABLED, category.getName());
+        }
+        return category;
+    }
+
+    /** 鏁忔劅妗f鍙鎬ф牎楠岋細淇濆瘑绾ф。妗堥渶瑕� {@code archive:document:sensitive} 鏉冮檺 */
+    private void validateSecretLevelVisible(ArchiveDocumentDO document) {
+        if (ArchiveSecretLevelEnum.SECRET.getLevel().equals(document.getSecretLevel()) && !hasSensitivePermission()) {
+            throw exception(DOCUMENT_SENSITIVE_NO_PERMISSION, document.getTitle());
+        }
+    }
+
+    private boolean hasSensitivePermission() {
+        return securityFrameworkService.hasPermission(SENSITIVE_PERMISSION);
+    }
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatService.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatService.java
new file mode 100644
index 0000000..4c0d37c
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatService.java
@@ -0,0 +1,19 @@
+package cn.iocoder.yudao.module.archive.service.stat;
+
+import cn.iocoder.yudao.module.archive.controller.admin.stat.vo.ArchiveStatRespVO;
+
+/**
+ * 妗f缁熻 Service 鎺ュ彛
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface ArchiveStatService {
+
+    /**
+     * 鑾峰緱妗f缁熻鎬昏锛堝瓨閲� + 娴佽浆 + 鍒嗙被/瀵嗙骇/杞戒綋鍒嗗竷锛�
+     *
+     * @return 缁熻缁撴灉
+     */
+    ArchiveStatRespVO getOverview();
+
+}
diff --git a/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatServiceImpl.java b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatServiceImpl.java
new file mode 100644
index 0000000..bc26dff
--- /dev/null
+++ b/yudao-module-archive/src/main/java/cn/iocoder/yudao/module/archive/service/stat/ArchiveStatServiceImpl.java
@@ -0,0 +1,60 @@
+package cn.iocoder.yudao.module.archive.service.stat;
+
+import cn.iocoder.yudao.module.archive.controller.admin.stat.vo.ArchiveStatRespVO;
+import cn.iocoder.yudao.module.archive.controller.admin.stat.vo.ArchiveStatValueVO;
+import cn.iocoder.yudao.module.archive.dal.mysql.borrow.ArchiveBorrowMapper;
+import cn.iocoder.yudao.module.archive.dal.mysql.document.ArchiveDocumentMapper;
+import cn.iocoder.yudao.module.archive.enums.ArchiveCarrierTypeEnum;
+import cn.iocoder.yudao.module.archive.enums.ArchiveSecretLevelEnum;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.List;
+
+/**
+ * 妗f缁熻 Service 瀹炵幇绫�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+public class ArchiveStatServiceImpl implements ArchiveStatService {
+
+    @Resource
+    private ArchiveDocumentMapper documentMapper;
+
+    @Resource
+    private ArchiveBorrowMapper borrowMapper;
+
+    @Override
+    public ArchiveStatRespVO getOverview() {
+        ArchiveStatRespVO respVO = new ArchiveStatRespVO();
+
+        // 1. 妗f瀛橀噺
+        respVO.setTotalCount(documentMapper.selectTotalCount());
+        respVO.setInStockCount(documentMapper.selectInStockCount());
+        respVO.setBorrowedCount(documentMapper.selectBorrowedCount());
+
+        // 2. 鍊熼槄娴佽浆锛堝�熷嚭涓� / 閫炬湡鏈繕锛岄�炬湡瀹炴椂璁$畻锛�
+        respVO.setBorrowingCount(borrowMapper.selectBorrowingCount());
+        respVO.setOverdueCount(borrowMapper.selectOverdueCount());
+
+        // 3. 鍒嗗竷缁熻锛堝瘑绾� / 杞戒綋琛ユ灇涓惧悕绉帮紝渚夸簬鍓嶇鐩存帴娓叉煋锛�
+        respVO.setByCategory(documentMapper.selectCountGroupByCategory());
+        respVO.setBySecretLevel(fillSecretLevelName(documentMapper.selectCountGroupBySecretLevel()));
+        respVO.setByCarrierType(fillCarrierTypeName(documentMapper.selectCountGroupByCarrierType()));
+        return respVO;
+    }
+
+    private List<ArchiveStatValueVO> fillSecretLevelName(List<ArchiveStatValueVO> list) {
+        list.forEach(item -> item.setName(ArchiveSecretLevelEnum.nameOf(item.getValue())));
+        return list;
+    }
+
+    private List<ArchiveStatValueVO> fillCarrierTypeName(List<ArchiveStatValueVO> list) {
+        list.forEach(item -> item.setName(ArchiveCarrierTypeEnum.nameOf(item.getValue())));
+        return list;
+    }
+
+}
diff --git a/yudao-module-finance/pom.xml b/yudao-module-finance/pom.xml
index a9eaef4..956b000 100644
--- a/yudao-module-finance/pom.xml
+++ b/yudao-module-finance/pom.xml
@@ -36,6 +36,13 @@
             <version>${revision}</version>
         </dependency>
 
+        <!-- 妗f妯″潡 API锛堟姤閿�鍑瘉鎸夋潵婧愬崟鎹綊妗o級 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-archive-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
         <!-- Web 鐩稿叧 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/FinanceReimbursementController.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/FinanceReimbursementController.java
index 053f955..b9d4722 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/FinanceReimbursementController.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/FinanceReimbursementController.java
@@ -121,12 +121,11 @@
     }
 
     @PostMapping("/archive")
-    @Operation(summary = "褰掓。鎶ラ攢鍗�")
+    @Operation(summary = "褰掓。鎶ラ攢鍗曪紙鍚屾椂鐢熸垚璐㈠姟妗f锛�")
     @Parameter(name = "id", description = "缂栧彿", required = true)
     @PreAuthorize("@ss.hasPermission('finance:reimbursement:archive')")
-    public CommonResult<Boolean> archiveReimbursement(@RequestParam("id") Long id) {
-        reimbursementService.archiveReimbursement(id);
-        return success(true);
+    public CommonResult<String> archiveReimbursement(@RequestParam("id") Long id) {
+        return success(reimbursementService.archiveReimbursement(id));
     }
 
     @GetMapping("/approve-process-list")
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/vo/FinanceReimbursementRespVO.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/vo/FinanceReimbursementRespVO.java
index e811e3b..35361ab 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/vo/FinanceReimbursementRespVO.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/controller/admin/reimbursement/vo/FinanceReimbursementRespVO.java
@@ -58,6 +58,12 @@
     @ExcelProperty("褰掓。鏃堕棿")
     private LocalDateTime archiveTime;
 
+    @Schema(description = "褰掓。鐢熸垚鐨勬。妗� ID锛堥潪绌鸿〃绀哄凡褰掓。锛�", example = "1024")
+    private Long archiveDocumentId;
+
+    @Schema(description = "鏄惁宸插綊妗o紙archiveDocumentId 闈炵┖鍗充负 true锛�", example = "false")
+    private Boolean archived;
+
     @Schema(description = "澶囨敞", example = "鍑哄樊鍖椾含")
     @ExcelProperty("澶囨敞")
     private String remark;
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/dal/dataobject/reimbursement/FinanceReimbursementDO.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/dal/dataobject/reimbursement/FinanceReimbursementDO.java
index f5bdb01..3ea1f10 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/dal/dataobject/reimbursement/FinanceReimbursementDO.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/dal/dataobject/reimbursement/FinanceReimbursementDO.java
@@ -52,6 +52,9 @@
     /** 褰掓。鏃堕棿 */
     private LocalDateTime archiveTime;
 
+    /** 褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級 */
+    private Long archiveDocumentId;
+
     /** 澶囨敞 */
     private String remark;
 
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/ErrorCodeConstants.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/ErrorCodeConstants.java
index 24fd0cb..6039626 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/ErrorCodeConstants.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/ErrorCodeConstants.java
@@ -16,11 +16,12 @@
     ErrorCode REIMBURSEMENT_UPDATE_FAIL_NOT_DRAFT = new ErrorCode(1_030_107_003, "鎶ラ攢鍗�({})涓嶆槸鑽夌鎴栧凡椹冲洖鐘舵�侊紝鏃犳硶淇敼锛屽彧鏈夎崏绋垮拰宸查┏鍥炵殑鎶ラ攢鍗曞彲浠ョ紪杈�");
     ErrorCode REIMBURSEMENT_SUBMIT_FAIL_STATUS = new ErrorCode(1_030_107_004, "鎻愪氦瀹℃壒澶辫触锛屽彧鏈夎崏绋挎垨宸查┏鍥炵姸鎬佺殑鎶ラ攢鍗曟墠鑳芥彁浜�");
     ErrorCode REIMBURSEMENT_SUBMIT_FAIL_ITEM_EMPTY = new ErrorCode(1_030_107_005, "鎻愪氦瀹℃壒澶辫触锛屾姤閿�鍗曟病鏈夋槑缁嗚锛屾棤娉曟彁浜�");
-    ErrorCode REIMBURSEMENT_ARCHIVE_FAIL_STATUS = new ErrorCode(1_030_107_006, "褰掓。澶辫触锛屽彧鏈夊凡閫氳繃鐘舵�佺殑鎶ラ攢鍗曟墠鑳藉綊妗�");
+    ErrorCode REIMBURSEMENT_ARCHIVE_FAIL_STATUS = new ErrorCode(1_030_107_006, "褰掓。澶辫触锛氭姤閿�鍗�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆屽凡閫氳繃銆嶇姸鎬佺殑鎶ラ攢鍗曟墠鑳藉綊妗e埌妗f绠$悊");
     ErrorCode REIMBURSEMENT_UPDATE_AUDIT_STATUS_FAIL_NOT_PROCESS = new ErrorCode(1_030_107_007, "鏇存柊瀹℃壒鐘舵�佸け璐ワ紝鍙湁瀹℃壒涓殑鎶ラ攢鍗曟墠鑳芥洿鏂�");
     ErrorCode REIMBURSEMENT_BPM_CATEGORY_NOT_EXISTS = new ErrorCode(1_030_107_008, "鎶ラ攢瀹℃壒鍒嗙被涓嶅瓨鍦紝璇峰厛鍦˙PM妯″潡鍒涘缓鎶ラ攢瀹℃壒娴佺▼鍒嗙被");
     ErrorCode REIMBURSEMENT_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_030_107_009, "鎶ラ攢瀹℃壒鍒嗙被锛坒inance_reimbursement_approve锛変笅娌℃湁宸插彂甯冪殑娴佺▼锛屾棤娉曟彁浜ゆ姤閿�瀹℃壒銆傝鍏堝湪銆孊PM 鈫� 娴佺▼瀹氫箟銆嶄腑鍒涘缓骞跺彂甯冩姤閿�瀹℃壒娴佺▼鍚庨噸璇�");
     ErrorCode REIMBURSEMENT_CUSTOM_NO_EXISTS = new ErrorCode(1_030_107_010, "鎶ラ攢鍗曞彿({})宸茶鍏朵粬鎶ラ攢鍗曚娇鐢紝璇锋洿鎹㈠叾浠栧崟鍙凤紝鎴栨竻绌鸿瀛楁鐢辩郴缁熻嚜鍔ㄧ敓鎴�");
     ErrorCode REIMBURSEMENT_CUSTOM_NO_INVALID = new ErrorCode(1_030_107_011, "鎶ラ攢鍗曞彿({})涓棿涓嶈兘鍖呭惈绌烘牸锛岃鍘绘帀绌烘牸鍚庨噸鏂拌緭鍏ワ紝鎴栨竻绌鸿瀛楁鐢辩郴缁熻嚜鍔ㄧ敓鎴�");
+    ErrorCode REIMBURSEMENT_ALREADY_ARCHIVED = new ErrorCode(1_030_107_012, "閲嶅褰掓。锛氭姤閿�鍗�({})宸蹭簬姝ゅ墠褰掓。骞剁敓鎴愭。妗�(缂栧彿={})锛岃鍕块噸澶嶅綊妗o紝濡傞渶鏌ョ湅璇峰墠寰�妗f绠$悊妯″潡");
 
 }
\ No newline at end of file
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/FinanceReimbursementStatusEnum.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/FinanceReimbursementStatusEnum.java
index 215d14c..d6a65db 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/FinanceReimbursementStatusEnum.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/enums/FinanceReimbursementStatusEnum.java
@@ -21,4 +21,17 @@
     private final Integer status;
     private final String name;
 
+    /** 鎸夌姸鎬佸�煎彇涓枃鍚嶏紝鏈尮閰嶆椂鍥為��涓恒�屾湭鐭ャ�� */
+    public static String nameOf(Integer status) {
+        if (status == null) {
+            return "鏈煡";
+        }
+        for (FinanceReimbursementStatusEnum item : values()) {
+            if (item.getStatus().equals(status)) {
+                return item.getName();
+            }
+        }
+        return "鏈煡";
+    }
+
 }
\ No newline at end of file
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementService.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementService.java
index 04083bb..456eb68 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementService.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementService.java
@@ -30,7 +30,13 @@
 
     void submitReimbursement(Long id, String processDefinitionKey, Long userId);
 
-    void archiveReimbursement(Long id);
+    /**
+     * 褰掓。鎶ラ攢鍗曪紙鐘舵�佺疆涓哄凡褰掓。 + 鐢熸垚妗f鏉$洰骞跺洖鍐欐。妗� ID锛�
+     *
+     * @param id 鎶ラ攢鍗曠紪鍙�
+     * @return 鐢熸垚鐨勬。妗堢紪鍙凤紙鐢ㄤ簬鍓嶇鎻愮ず锛�
+     */
+    String archiveReimbursement(Long id);
 
     List<Map<String, Object>> getReimbursementApproveProcessDefinitionList();
 
diff --git a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementServiceImpl.java b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementServiceImpl.java
index 82a4924..60e4b10 100644
--- a/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementServiceImpl.java
+++ b/yudao-module-finance/src/main/java/cn/iocoder/yudao/module/finance/service/reimbursement/FinanceReimbursementServiceImpl.java
@@ -4,6 +4,9 @@
 import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.api.document.ArchiveDocumentApi;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentRespDTO;
 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;
@@ -20,6 +23,7 @@
 import cn.iocoder.yudao.module.finance.dal.redis.FinanceNoRedisDAO;
 import cn.iocoder.yudao.module.finance.enums.FinanceReimbursementStatusEnum;
 import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
+import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.flowable.engine.repository.ProcessDefinition;
@@ -57,6 +61,15 @@
      */
     public static final String REIMBURSEMENT_RECORD_TYPE = "finance_reimbursement";
 
+    /** 褰掓。鏉ユ簮绫诲瀷锛�4-璐㈠姟锛堝搴� archive 妯″潡 source_type锛� */
+    private static final Integer ARCHIVE_SOURCE_TYPE_FINANCE = 4;
+
+    /** 褰掓。瀵嗙骇锛�3-淇濆瘑锛堣储鍔℃。妗堥粯璁や繚瀵嗭級 */
+    private static final Integer ARCHIVE_SECRET_LEVEL_SECRET = 3;
+
+    /** 璐㈠姟妗f鍒嗙被缂栫爜锛堝搴� archive_category.code锛� */
+    private static final String ARCHIVE_CATEGORY_CODE_FINANCE = "finance";
+
     @Resource
     private FinanceReimbursementMapper reimbursementMapper;
     @Resource
@@ -67,6 +80,9 @@
 
     @Resource
     private StorageAttachmentApi storageAttachmentApi;
+
+    @Resource
+    private ArchiveDocumentApi archiveDocumentApi;
 
     @Resource
     private BpmProcessInstanceApi processInstanceApi;
@@ -204,18 +220,44 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void archiveReimbursement(Long id) {
-        // 1. 鏍¢獙瀛樺湪 + 宸查�氳繃鐘舵��
+    public String archiveReimbursement(Long id) {
+        // 1. 鏍¢獙瀛樺湪 + 鐘舵��
         FinanceReimbursementDO reimbursement = validateReimbursementExists(id);
-        if (!FinanceReimbursementStatusEnum.APPROVED.getStatus().equals(reimbursement.getStatus())) {
-            throw exception(REIMBURSEMENT_ARCHIVE_FAIL_STATUS);
+        boolean archived = FinanceReimbursementStatusEnum.ARCHIVED.getStatus().equals(reimbursement.getStatus());
+        if (archived && reimbursement.getArchiveDocumentId() != null) {
+            throw exception(REIMBURSEMENT_ALREADY_ARCHIVED, reimbursement.getNo(),
+                    StrUtil.blankToDefault(archiveNo(id), "鏈煡"));
+        }
+        if (!archived && !FinanceReimbursementStatusEnum.APPROVED.getStatus().equals(reimbursement.getStatus())) {
+            throw exception(REIMBURSEMENT_ARCHIVE_FAIL_STATUS, reimbursement.getNo(),
+                    FinanceReimbursementStatusEnum.nameOf(reimbursement.getStatus()));
         }
 
-        // 2. 鏇存柊涓哄凡褰掓。
+        // 2. 鏇存柊涓哄凡褰掓。锛堝巻鍙插凡褰掓。浣嗗皻鏈敓鎴愭。妗堟潯鐩殑锛岃烦杩囩姸鎬佹洿鏂帮紝浠呰ˉ鐢熸垚妗f锛�
+        if (!archived) {
+            reimbursementMapper.updateById(new FinanceReimbursementDO()
+                    .setId(id)
+                    .setStatus(FinanceReimbursementStatusEnum.ARCHIVED.getStatus())
+                    .setArchiveTime(LocalDateTime.now()));
+        }
+
+        // 3. 鎸夋潵婧愬崟鎹敓鎴愭。妗堟潯鐩紙璐㈠姟妗f榛樿銆屼繚瀵嗐�嶇骇锛夛紝骞跺洖鍐欐。妗� ID
+        List<Long> blobIds = storageAttachmentApi.listAttachments(REIMBURSEMENT_RECORD_TYPE, id).stream()
+                .map(StorageBlobRespDTO::getId).collect(Collectors.toList());
+        Long archiveDocumentId = archiveDocumentApi.archiveBySource(new ArchiveDocumentCreateReqDTO()
+                .setSourceType(ARCHIVE_SOURCE_TYPE_FINANCE)
+                .setSourceId(id)
+                .setSourceNo(reimbursement.getNo())
+                .setSourceTitle(reimbursement.getTitle())
+                .setCategoryCode(ARCHIVE_CATEGORY_CODE_FINANCE)
+                .setSecretLevel(ARCHIVE_SECRET_LEVEL_SECRET)
+                .setSummary("璐㈠姟鎶ラ攢鍑瘉褰掓。")
+                .setBlobIds(blobIds)).getCheckedData();
+
         reimbursementMapper.updateById(new FinanceReimbursementDO()
                 .setId(id)
-                .setStatus(FinanceReimbursementStatusEnum.ARCHIVED.getStatus())
-                .setArchiveTime(LocalDateTime.now()));
+                .setArchiveDocumentId(archiveDocumentId));
+        return StrUtil.blankToDefault(archiveNo(id), "鏈煡");
     }
 
     @Override
@@ -283,6 +325,13 @@
         return reimbursement;
     }
 
+    /** 鏌ヨ鏉ユ簮鍗曟嵁宸茬敓鎴愮殑妗f缂栧彿锛堟湭褰掓。鏃惰繑鍥� null锛� */
+    private String archiveNo(Long reimbursementId) {
+        ArchiveDocumentRespDTO archive = archiveDocumentApi
+                .getBySource(ARCHIVE_SOURCE_TYPE_FINANCE, reimbursementId).getCheckedData();
+        return archive != null ? archive.getNo() : null;
+    }
+
     /**
      * 瑙f瀽鏂板鏃剁殑鎶ラ攢鍗曞彿锛氬幓鎺夐灏剧┖鏍煎悗鑻ヤ负绌猴紝鍒欑敱绯荤粺鎸� BX + 鏃ユ湡 + 6 浣嶆祦姘寸敓鎴愶紝
      * 鍚﹀垯浣跨敤鐢ㄦ埛鑷畾涔夊崟鍙枫��
diff --git a/yudao-module-research/pom.xml b/yudao-module-research/pom.xml
index d557f4c..ff26409 100644
--- a/yudao-module-research/pom.xml
+++ b/yudao-module-research/pom.xml
@@ -44,6 +44,13 @@
             <version>${revision}</version>
         </dependency>
 
+        <!-- 妗f妯″潡 API锛堣棰樼敵鎶ヤ功鎸夋潵婧愬崟鎹綊妗o級 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-archive-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
         <!-- Web 鐩稿叧 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
diff --git a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/ResearchApplicationController.java b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/ResearchApplicationController.java
index f275114..63f150d 100644
--- a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/ResearchApplicationController.java
+++ b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/ResearchApplicationController.java
@@ -120,6 +120,14 @@
         return success(true);
     }
 
+    @PostMapping("/archive")
+    @Operation(summary = "璇鹃鐢虫姤涔﹀綊妗e埌妗f绠$悊")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('research:application:archive')")
+    public CommonResult<String> archiveApplication(@RequestParam("id") Long id) {
+        return success(applicationService.archiveApplication(id));
+    }
+
     // ==================== 鍐呴儴鏂规硶 ====================
 
     private ResearchApplicationRespVO buildApplicationDetail(ResearchApplicationDO application) {
diff --git a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/vo/ResearchApplicationRespVO.java b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/vo/ResearchApplicationRespVO.java
index 4d511e5..6d461eb 100644
--- a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/vo/ResearchApplicationRespVO.java
+++ b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/controller/admin/application/vo/ResearchApplicationRespVO.java
@@ -81,6 +81,12 @@
     @Schema(description = "绔嬮」閫氱煡鍏憡 ID")
     private Long noticeId;
 
+    @Schema(description = "褰掓。鐢熸垚鐨勬。妗� ID锛堥潪绌鸿〃绀哄凡褰掓。锛�", example = "1024")
+    private Long archiveDocumentId;
+
+    @Schema(description = "鏄惁宸插綊妗o紙archiveDocumentId 闈炵┖鍗充负 true锛�", example = "false")
+    private Boolean archived;
+
     @Schema(description = "澶囨敞")
     private String remark;
 
diff --git a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/dal/dataobject/application/ResearchApplicationDO.java b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/dal/dataobject/application/ResearchApplicationDO.java
index 2d576fb..96a7a4e 100644
--- a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/dal/dataobject/application/ResearchApplicationDO.java
+++ b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/dal/dataobject/application/ResearchApplicationDO.java
@@ -90,6 +90,9 @@
     /** 宸插彂甯冪殑绔嬮」閫氱煡鍏憡 ID */
     private Long noticeId;
 
+    /** 褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級 */
+    private Long archiveDocumentId;
+
     /** 澶囨敞 */
     private String remark;
 
diff --git a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/enums/ErrorCodeConstants.java b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/enums/ErrorCodeConstants.java
index 143c2e5..6a7779b 100644
--- a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/enums/ErrorCodeConstants.java
+++ b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/enums/ErrorCodeConstants.java
@@ -34,6 +34,8 @@
     ErrorCode APPLICATION_PUBLISH_NOTICE_FAIL_STATUS = new ErrorCode(1_030_109_109, "鍙戝竷绔嬮」閫氱煡澶辫触锛氳棰樼敵鎶ヤ功({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁宸茬珛椤圭殑璇鹃鎵嶈兘鍙戝竷绔嬮」閫氱煡");
     ErrorCode APPLICATION_NOTICE_EXISTS = new ErrorCode(1_030_109_110, "鍙戝竷澶辫触锛氳璇鹃({})鐨勭珛椤归�氱煡宸蹭簬 {} 鍙戝竷锛岃鍕块噸澶嶅彂甯�");
     ErrorCode APPLICATION_MEMBER_NOT_EXISTS = new ErrorCode(1_030_109_111, "淇濆瓨澶辫触锛氭墍閫夌敵鎶ヤ細鍛�(ID={})宸蹭笉瀛樺湪锛岃閲嶆柊浠庝細鍛樺垪琛ㄩ�夋嫨鐢虫姤浜�");
+    ErrorCode APPLICATION_ARCHIVE_FAIL_STATUS = new ErrorCode(1_030_109_112, "褰掓。澶辫触锛氳棰樼敵鎶ヤ功({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆屽凡绔嬮」銆嶇殑璇鹃鎵嶈兘褰掓。鍒版。妗堢鐞�");
+    ErrorCode APPLICATION_ALREADY_ARCHIVED = new ErrorCode(1_030_109_113, "閲嶅褰掓。锛氳棰樼敵鎶ヤ功({})宸蹭簬姝ゅ墠褰掓。骞剁敓鎴愭。妗�(缂栧彿={})锛岃鍕块噸澶嶅綊妗o紝濡傞渶鏌ョ湅璇峰墠寰�妗f绠$悊妯″潡");
 
     // ========== 涓撳璇勫鏄庣粏 1_030_109_200 ==========
     ErrorCode REVIEW_NOT_EXISTS = new ErrorCode(1_030_109_200, "涓撳璇勫璁板綍涓嶅瓨鍦�");
diff --git a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationService.java b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationService.java
index e9ae687..fa5393a 100644
--- a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationService.java
+++ b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationService.java
@@ -34,6 +34,14 @@
     /** 鍙戝竷绔嬮」閫氱煡锛堢敓鎴愮郴缁熷叕鍛婏紝闃查噸澶嶏級 */
     void publishNotice(Long id);
 
+    /**
+     * 灏嗐�屽凡绔嬮」銆嶇殑璇鹃鐢虫姤涔﹀綊妗e埌妗f绠$悊锛屽苟鍥炲啓褰掓。妗f ID
+     *
+     * @param id 鐢虫姤涔︾紪鍙�
+     * @return 鐢熸垚鐨勬。妗堢紪鍙凤紙鐢ㄤ簬鍓嶇鎻愮ず锛�
+     */
+    String archiveApplication(Long id);
+
     /** 涓撳璇勫姹囨�荤粨鏋滃洖鍐欎富鍗曪紙鐢辫瘎瀹℃湇鍔¤皟鐢級 */
     void updateReviewSummary(Long id, BigDecimal reviewAvgScore, Integer reviewPass);
 
diff --git a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationServiceImpl.java b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationServiceImpl.java
index 655f24a..827d337 100644
--- a/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationServiceImpl.java
+++ b/yudao-module-research/src/main/java/cn/iocoder/yudao/module/research/service/application/ResearchApplicationServiceImpl.java
@@ -7,6 +7,9 @@
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.api.document.ArchiveDocumentApi;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentRespDTO;
 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;
@@ -24,6 +27,7 @@
 import cn.iocoder.yudao.module.research.enums.ResearchGuidelineStatusEnum;
 import cn.iocoder.yudao.module.research.service.guideline.ResearchGuidelineService;
 import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
+import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO;
 import cn.iocoder.yudao.module.system.controller.admin.notice.vo.NoticeSaveReqVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.notice.NoticeDO;
 import cn.iocoder.yudao.module.system.service.notice.NoticeService;
@@ -40,6 +44,7 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -54,6 +59,15 @@
     private static final String APPLICATION_APPROVE_CATEGORY_CODE = "research_topic_approve";
     public static final String APPLICATION_RECORD_TYPE = "research_application";
 
+    /** 褰掓。鏉ユ簮绫诲瀷锛�2-璇鹃锛堝搴� archive 妯″潡 source_type锛� */
+    private static final Integer ARCHIVE_SOURCE_TYPE_RESEARCH = 2;
+
+    /** 褰掓。瀵嗙骇锛�2-鍐呴儴 */
+    private static final Integer ARCHIVE_SECRET_LEVEL_INTERNAL = 2;
+
+    /** 璇鹃妗f鍒嗙被缂栫爜锛堝搴� archive_category.code锛� */
+    private static final String ARCHIVE_CATEGORY_CODE_RESEARCH = "research";
+
     /** 绔嬮」閫氱煡浣跨敤銆屽叕鍛娿�嶇被鍨嬶紙system_notice_type: 1-閫氱煡 2-鍏憡锛� */
     private static final Integer NOTICE_TYPE_ANNOUNCEMENT = 2;
 
@@ -62,6 +76,9 @@
 
     @Resource
     private ResearchApplicationMapper applicationMapper;
+
+    @Resource
+    private ArchiveDocumentApi archiveDocumentApi;
 
     @Resource
     private ResearchNoRedisDAO noRedisDAO;
@@ -275,6 +292,42 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public String archiveApplication(Long id) {
+        // 1.1 鏍¢獙瀛樺湪
+        ResearchApplicationDO application = validateApplicationExists(id);
+        // 1.2 鍙湁銆屽凡绔嬮」銆嶇殑璇鹃鎵嶈兘褰掓。
+        if (!ResearchApplicationStatusEnum.APPROVED.getStatus().equals(application.getStatus())) {
+            throw exception(APPLICATION_ARCHIVE_FAIL_STATUS,
+                    application.getNo(), ResearchApplicationStatusEnum.nameOf(application.getStatus()));
+        }
+        // 1.3 閲嶅褰掓。鏍¢獙
+        if (application.getArchiveDocumentId() != null) {
+            throw exception(APPLICATION_ALREADY_ARCHIVED, application.getNo(),
+                    StrUtil.blankToDefault(archiveNo(id), "鏈煡"));
+        }
+
+        // 2. 甯﹀叆鐢虫姤涔﹂檮浠讹紝鎸夋潵婧愬崟鎹綊妗o紙鏉ユ簮鍗曞彿鍙栫珛椤圭紪鍙凤紝鏈敓鎴愭椂鍥為��鐢虫姤缂栧彿锛�
+        String sourceNo = StrUtil.blankToDefault(application.getResearchNo(), application.getNo());
+        List<Long> blobIds = storageAttachmentApi.listAttachments(APPLICATION_RECORD_TYPE, id).stream()
+                .map(StorageBlobRespDTO::getId).collect(Collectors.toList());
+        Long archiveDocumentId = archiveDocumentApi.archiveBySource(new ArchiveDocumentCreateReqDTO()
+                .setSourceType(ARCHIVE_SOURCE_TYPE_RESEARCH)
+                .setSourceId(id)
+                .setSourceNo(sourceNo)
+                .setSourceTitle(application.getTitle())
+                .setCategoryCode(ARCHIVE_CATEGORY_CODE_RESEARCH)
+                .setSecretLevel(ARCHIVE_SECRET_LEVEL_INTERNAL)
+                .setSummary("璇鹃鐢虫姤涔﹀綊妗�")
+                .setBlobIds(blobIds)).getCheckedData();
+
+        // 3. 鍥炲啓褰掓。妗f ID锛堜綔涓哄凡褰掓。纭爣璁帮級
+        applicationMapper.updateById(new ResearchApplicationDO()
+                .setId(id).setArchiveDocumentId(archiveDocumentId));
+        return StrUtil.blankToDefault(archiveNo(id), "鏈煡");
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public void updateReviewSummary(Long id, BigDecimal reviewAvgScore, Integer reviewPass) {
         // 鐢� UpdateWrapper 鏄惧紡 set锛屼繚璇併�岃瘎瀹℃槑缁嗚鍒犵┖銆嶆椂鑳芥妸姹囨�诲�兼竻鎴� null
         applicationMapper.update(null, new LambdaUpdateWrapper<ResearchApplicationDO>()
@@ -293,6 +346,13 @@
         return application;
     }
 
+    /** 鏌ヨ鏉ユ簮鍗曟嵁宸茬敓鎴愮殑妗f缂栧彿锛堟湭褰掓。鏃惰繑鍥� null锛� */
+    private String archiveNo(Long applicationId) {
+        ArchiveDocumentRespDTO archive = archiveDocumentApi
+                .getBySource(ARCHIVE_SOURCE_TYPE_RESEARCH, applicationId).getCheckedData();
+        return archive != null ? archive.getNo() : null;
+    }
+
     /** 淇濆瓨锛堣崏绋匡級闃舵鏍¢獙鎸囧崡锛氬繀椤诲瓨鍦ㄤ笖宸插彂甯� */
     private ResearchGuidelineDO validateGuidelineForSave(Long guidelineId) {
         ResearchGuidelineDO guideline = guidelineService.getGuideline(guidelineId);
diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java
index cd5c94d..0126606 100644
--- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java
+++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java
@@ -81,6 +81,10 @@
     RESEARCH_APPLICATION("research_application", "璇鹃鐢虫姤涔�"),
     RESEARCH_FUND_RECORD("research_fund_record", "缁忚垂鎷ㄤ粯鍑瘉"),
 
+    // ===== 妗f绠$悊 =====
+    ARCHIVE_DOCUMENT("archive_document", "妗f"),
+    RESEARCH_FUND_RECORD("research_fund_record", "缁忚垂鎷ㄤ粯鍑瘉"),
+
     // ===== 浼佷笟寰俊娲诲姩 =====
     WXCP_ACTIVITY_SIGNUP("wxcp_activity_signup", "浼佷笟寰俊娲诲姩鎶ュ悕");
 
diff --git a/yudao-module-ums/pom.xml b/yudao-module-ums/pom.xml
index 2c4f7d7..9168d82 100644
--- a/yudao-module-ums/pom.xml
+++ b/yudao-module-ums/pom.xml
@@ -30,6 +30,13 @@
             <version>${revision}</version>
         </dependency>
 
+        <!-- 妗f妯″潡 API锛堜細鍛樻潗鏂欐寜鏉ユ簮鍗曟嵁褰掓。锛� -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-archive-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
         <!-- Web 鐩稿叧 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/UmsMemberController.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/UmsMemberController.java
index a5ec61e..9833736 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/UmsMemberController.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/UmsMemberController.java
@@ -102,6 +102,14 @@
         return success(new PageResult<>(buildMemberDetailList(pageResult.getList()), pageResult.getTotal()));
     }
 
+    @PostMapping("/archive")
+    @Operation(summary = "浼氬憳鏉愭枡褰掓。鍒版。妗堢鐞�")
+    @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('ums:member:archive')")
+    public CommonResult<String> archiveMember(@RequestParam("id") Long id) {
+        return success(memberService.archiveMember(id));
+    }
+
     // ==================== 鍐呴儴鏂规硶 ====================
 
     private UmsMemberRespVO buildMemberDetail(UmsMemberDO member) {
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/vo/UmsMemberRespVO.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/vo/UmsMemberRespVO.java
index 5ae0ff4..58b4baa 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/vo/UmsMemberRespVO.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/controller/admin/member/vo/UmsMemberRespVO.java
@@ -78,6 +78,12 @@
     @Schema(description = "鐘舵��", example = "1")
     private Integer status;
 
+    @Schema(description = "褰掓。鐢熸垚鐨勬。妗� ID锛堥潪绌鸿〃绀哄凡褰掓。锛�", example = "1024")
+    private Long archiveDocumentId;
+
+    @Schema(description = "鏄惁宸插綊妗o紙archiveDocumentId 闈炵┖鍗充负 true锛�", example = "false")
+    private Boolean archived;
+
     @Schema(description = "澶囨敞", example = "")
     private String remark;
 
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/dal/dataobject/member/UmsMemberDO.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/dal/dataobject/member/UmsMemberDO.java
index b81648a..db74a6b 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/dal/dataobject/member/UmsMemberDO.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/dal/dataobject/member/UmsMemberDO.java
@@ -86,6 +86,9 @@
     /** 鐘舵�侊細1-姝e父 0-鏆傚仠 */
     private Integer status;
 
+    /** 褰掓。鐢熸垚鐨勬。妗� ID锛坅rchive_document.id锛屽綊妗h仈鍔ㄥ洖鍐欙級 */
+    private Long archiveDocumentId;
+
     /** 澶囨敞 */
     private String remark;
 
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/enums/ErrorCodeConstants.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/enums/ErrorCodeConstants.java
index 2cadcdf..4763ecd 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/enums/ErrorCodeConstants.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/enums/ErrorCodeConstants.java
@@ -23,5 +23,7 @@
     ErrorCode MEMBER_USER_CREATE_FAIL = new ErrorCode(1_030_108_102, "鍒涘缓浼氬憳绯荤粺璐﹀彿澶辫触锛岃鑱旂郴绠$悊鍛�");
     ErrorCode MEMBER_USER_MOBILE_EXISTS = new ErrorCode(1_030_108_103, "璇ユ墜鏈哄彿宸茶鍏朵粬浼氬憳璐﹀彿浣跨敤");
     ErrorCode MEMBER_GRADE_NOT_MATCH_TYPE = new ErrorCode(1_030_108_104, "浼氬憳绛夌骇涓庝細鍛樼被鍨嬩笉鍖归厤锛氫釜浜轰細鍛樹笉鑳介�夋嫨鍗曚綅绛夌骇锛屽崟浣嶄細鍛樹笉鑳介�夋嫨涓汉绛夌骇");
+    ErrorCode MEMBER_ARCHIVE_FAIL_STATUS = new ErrorCode(1_030_108_105, "褰掓。澶辫触锛氫細鍛�({})褰撳墠鐘舵�佷负銆攞}銆曪紝鍙湁銆屾甯搞�嶇姸鎬佺殑浼氬憳鎵嶈兘褰掓。鍒版。妗堢鐞嗭紝璇峰厛鍚敤璇ヤ細鍛�");
+    ErrorCode MEMBER_ALREADY_ARCHIVED = new ErrorCode(1_030_108_106, "閲嶅褰掓。锛氫細鍛�({})宸蹭簬姝ゅ墠褰掓。骞剁敓鎴愭。妗�(缂栧彿={})锛岃鍕块噸澶嶅綊妗o紝濡傞渶鏌ョ湅璇峰墠寰�妗f绠$悊妯″潡");
 
 }
\ No newline at end of file
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberService.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberService.java
index bcb4d7e..e12aff0 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberService.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberService.java
@@ -27,4 +27,12 @@
 
     PageResult<UmsMemberDO> getMemberPage(UmsMemberPageReqVO pageReqVO);
 
+    /**
+     * 灏嗐�屾甯搞�嶇姸鎬佺殑浼氬憳鎸夋潵婧愬崟鎹綊妗e埌妗f绠$悊锛屽苟鍥炲啓褰掓。妗f ID
+     *
+     * @param id 浼氬憳缂栧彿
+     * @return 鐢熸垚鐨勬。妗堢紪鍙凤紙鐢ㄤ簬鍓嶇鎻愮ず锛�
+     */
+    String archiveMember(Long id);
+
 }
\ No newline at end of file
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberServiceImpl.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberServiceImpl.java
index c84cefe..aa99b99 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberServiceImpl.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberServiceImpl.java
@@ -3,7 +3,11 @@
 import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.archive.api.document.ArchiveDocumentApi;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentCreateReqDTO;
+import cn.iocoder.yudao.module.archive.api.document.dto.ArchiveDocumentRespDTO;
 import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
+import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserCreateReqDTO;
 import cn.iocoder.yudao.module.ums.controller.admin.member.vo.UmsMemberPageReqVO;
@@ -20,7 +24,9 @@
 
 import java.time.LocalDate;
 import java.util.Collections;
+import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.ums.enums.ErrorCodeConstants.*;
@@ -37,6 +43,18 @@
 
     public static final String MEMBER_RECORD_TYPE = "ums_member";
 
+    /** 浼氬憳鐘舵�侊細姝e父锛堝彲褰掓。锛� */
+    private static final Integer MEMBER_STATUS_NORMAL = 1;
+
+    /** 褰掓。鏉ユ簮绫诲瀷锛�3-浼氬憳锛堝搴� archive 妯″潡 source_type锛� */
+    private static final Integer ARCHIVE_SOURCE_TYPE_MEMBER = 3;
+
+    /** 褰掓。瀵嗙骇锛�2-鍐呴儴 */
+    private static final Integer ARCHIVE_SECRET_LEVEL_INTERNAL = 2;
+
+    /** 浼氬憳妗f鍒嗙被缂栫爜锛堝搴� archive_category.code锛� */
+    private static final String ARCHIVE_CATEGORY_CODE_MEMBER = "member";
+
     @Resource
     private UmsMemberMapper memberMapper;
 
@@ -48,6 +66,9 @@
 
     @Resource
     private StorageAttachmentApi storageAttachmentApi;
+
+    @Resource
+    private ArchiveDocumentApi archiveDocumentApi;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -145,6 +166,39 @@
         return memberMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String archiveMember(Long id) {
+        // 1.1 鏍¢獙浼氬憳瀛樺湪
+        UmsMemberDO member = validateMemberExists(id);
+        // 1.2 鍙湁銆屾甯搞�嶇姸鎬佺殑浼氬憳鎵嶈兘褰掓。
+        if (!MEMBER_STATUS_NORMAL.equals(member.getStatus())) {
+            throw exception(MEMBER_ARCHIVE_FAIL_STATUS, member.getNo(), memberStatusName(member.getStatus()));
+        }
+        // 1.3 閲嶅褰掓。鏍¢獙
+        if (member.getArchiveDocumentId() != null) {
+            throw exception(MEMBER_ALREADY_ARCHIVED, member.getNo(),
+                    StrUtil.blankToDefault(archiveNo(id), "鏈煡"));
+        }
+
+        // 2. 甯﹀叆浼氬憳鏉愭枡闄勪欢锛屾寜鏉ユ簮鍗曟嵁褰掓。
+        List<Long> blobIds = storageAttachmentApi.listAttachments(MEMBER_RECORD_TYPE, id).stream()
+                .map(StorageBlobRespDTO::getId).collect(Collectors.toList());
+        Long archiveDocumentId = archiveDocumentApi.archiveBySource(new ArchiveDocumentCreateReqDTO()
+                .setSourceType(ARCHIVE_SOURCE_TYPE_MEMBER)
+                .setSourceId(id)
+                .setSourceNo(member.getNo())
+                .setSourceTitle(member.getName())
+                .setCategoryCode(ARCHIVE_CATEGORY_CODE_MEMBER)
+                .setSecretLevel(ARCHIVE_SECRET_LEVEL_INTERNAL)
+                .setSummary("浼氬憳鏉愭枡褰掓。")
+                .setBlobIds(blobIds)).getCheckedData();
+
+        // 3. 鍥炲啓褰掓。妗f ID锛堜綔涓哄凡褰掓。纭爣璁帮級
+        memberMapper.updateById(new UmsMemberDO().setId(id).setArchiveDocumentId(archiveDocumentId));
+        return StrUtil.blankToDefault(archiveNo(id), "鏈煡");
+    }
+
     // =================== 鍐呴儴鏂规硶 ===================
 
     private Long createSystemUser(UmsApplicationDO application) {
@@ -193,4 +247,19 @@
         return member;
     }
 
+    /** 浼氬憳鐘舵�佷腑鏂囧悕锛�1-姝e父 0-鏆傚仠锛堢敤浜庡綊妗eけ璐ユ彁绀猴級 */
+    private String memberStatusName(Integer status) {
+        if (status == null) {
+            return "鏈煡";
+        }
+        return MEMBER_STATUS_NORMAL.equals(status) ? "姝e父" : "鏆傚仠";
+    }
+
+    /** 鏌ヨ鏉ユ簮鍗曟嵁宸茬敓鎴愮殑妗f缂栧彿锛堟湭褰掓。鏃惰繑鍥� null锛� */
+    private String archiveNo(Long memberId) {
+        ArchiveDocumentRespDTO archive = archiveDocumentApi
+                .getBySource(ARCHIVE_SOURCE_TYPE_MEMBER, memberId).getCheckedData();
+        return archive != null ? archive.getNo() : null;
+    }
+
 }
\ No newline at end of file
diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml
index 3e1f1c3..cc28bf8 100644
--- a/yudao-server/pom.xml
+++ b/yudao-server/pom.xml
@@ -199,6 +199,13 @@
             <version>${revision}</version>
         </dependency>
 
+        <!-- 妗f绠$悊妯″潡 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-archive</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
         <!-- spring boot 閰嶇疆鎵�闇�渚濊禆 -->
         <dependency>
             <groupId>org.springframework.boot</groupId>

--
Gitblit v1.9.3